--- /dev/fd/63	2012-05-05 15:41:47.000000000 +0200
+++ /dev/fd/62	2012-05-05 15:41:47.000000000 +0200
@@ -1,5 +1,5 @@
 
-../build-tree.good/kfreebsd-amd64-i386/stdio-common/perror.o:     file format elf32-i386-freebsd
+build-tree/kfreebsd-amd64-i386/stdio-common/perror.o:     file format elf32-i386-freebsd
 
 
 Disassembly of section .text:
@@ -38,8 +38,8 @@
   65:	5d                   	pop    %ebp
   66:	c3                   	ret    
   67:	90                   	nop
-  68:	bf 03 00 00 00       	mov    $0x3,%edi
-  6d:	89 fe                	mov    %edi,%esi
+  68:	be 03 00 00 00       	mov    $0x3,%esi
+  6d:	89 f7                	mov    %esi,%edi
   6f:	eb b3                	jmp    0x24
   71:	eb 0d                	jmp    0x80
   73:	90                   	nop
--- /dev/fd/63	2012-05-05 15:41:47.000000000 +0200
+++ /dev/fd/62	2012-05-05 15:41:47.000000000 +0200
@@ -1,5 +1,5 @@
 
-../build-tree.good/kfreebsd-amd64-i386/libio/libc_fatal.o:     file format elf32-i386-freebsd
+build-tree/kfreebsd-amd64-i386/libio/libc_fatal.o:     file format elf32-i386-freebsd
 
 
 Disassembly of section .text:
@@ -91,17 +91,16 @@
   fd:	8d 76 00             	lea    0x0(%esi),%esi
  100:	8d 04 cd 10 00 00 00 	lea    0x10(,%ecx,8),%eax
  107:	89 cf                	mov    %ecx,%edi
- 109:	8b 4d f0             	mov    -0x10(%ebp),%ecx
- 10c:	29 c4                	sub    %eax,%esp
- 10e:	8b 45 f0             	mov    -0x10(%ebp),%eax
- 111:	31 f6                	xor    %esi,%esi
- 113:	8d 5c 24 1b          	lea    0x1b(%esp),%ebx
- 117:	83 e3 f0             	and    $0xfffffff0,%ebx
- 11a:	89 7d f0             	mov    %edi,-0x10(%ebp)
- 11d:	8d 14 c3             	lea    (%ebx,%eax,8),%edx
- 120:	8b 45 ec             	mov    -0x14(%ebp),%eax
- 123:	90                   	nop
- 124:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+ 109:	29 c4                	sub    %eax,%esp
+ 10b:	8b 45 f0             	mov    -0x10(%ebp),%eax
+ 10e:	31 f6                	xor    %esi,%esi
+ 110:	8d 5c 24 1b          	lea    0x1b(%esp),%ebx
+ 114:	83 e3 f0             	and    $0xfffffff0,%ebx
+ 117:	89 7d f0             	mov    %edi,-0x10(%ebp)
+ 11a:	8d 14 c3             	lea    (%ebx,%eax,8),%edx
+ 11d:	89 c1                	mov    %eax,%ecx
+ 11f:	8b 45 ec             	mov    -0x14(%ebp),%eax
+ 122:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
  128:	8b 38                	mov    (%eax),%edi
  12a:	83 e9 01             	sub    $0x1,%ecx
  12d:	89 3a                	mov    %edi,(%edx)
--- /dev/fd/63	2012-05-05 15:41:47.000000000 +0200
+++ /dev/fd/62	2012-05-05 15:41:47.000000000 +0200
@@ -1,5 +1,5 @@
 
-../build-tree.good/kfreebsd-amd64-i386/time/offtime.o:     file format elf32-i386-freebsd
+build-tree/kfreebsd-amd64-i386/time/offtime.o:     file format elf32-i386-freebsd
 
 
 Disassembly of section .text:
@@ -96,8 +96,8 @@
  105:	39 d6                	cmp    %edx,%esi
  107:	0f 85 42 01 00 00    	jne    0x24f
  10d:	b8 6e 01 00 00       	mov    $0x16e,%eax
- 112:	39 c8                	cmp    %ecx,%eax
- 114:	0f 8f 42 01 00 00    	jg     0x25c
+ 112:	39 c1                	cmp    %eax,%ecx
+ 114:	0f 8c 42 01 00 00    	jl     0x25c
  11a:	89 c8                	mov    %ecx,%eax
  11c:	ba b1 f9 8c b3       	mov    $0xb38cf9b1,%edx
  121:	f7 ea                	imul   %edx
@@ -208,8 +208,8 @@
  246:	83 e3 03             	and    $0x3,%ebx
  249:	0f 84 91 fe ff ff    	je     0xe0
  24f:	b8 6d 01 00 00       	mov    $0x16d,%eax
- 254:	39 c8                	cmp    %ecx,%eax
- 256:	0f 8e be fe ff ff    	jle    0x11a
+ 254:	39 c1                	cmp    %eax,%ecx
+ 256:	0f 8d be fe ff ff    	jge    0x11a
  25c:	8b 55 10             	mov    0x10(%ebp),%edx
  25f:	8d 86 94 f8 ff ff    	lea    -0x76c(%esi),%eax
  265:	85 db                	test   %ebx,%ebx
--- /dev/fd/63	2012-05-05 15:41:47.000000000 +0200
+++ /dev/fd/62	2012-05-05 15:41:47.000000000 +0200
@@ -1,5 +1,5 @@
 
-../build-tree.good/kfreebsd-amd64-i386/elf/chroot_canon.o:     file format elf32-i386-freebsd
+build-tree/kfreebsd-amd64-i386/elf/chroot_canon.o:     file format elf32-i386-freebsd
 
 
 Disassembly of section .text:
@@ -36,8 +36,8 @@
   59:	89 95 7c ff ff ff    	mov    %edx,-0x84(%ebp)
   5f:	89 7d 88             	mov    %edi,-0x78(%ebp)
   62:	89 d7                	mov    %edx,%edi
-  64:	c7 45 80 00 00 00 00 	movl   $0x0,-0x80(%ebp)
-  6b:	c7 45 84 00 00 00 00 	movl   $0x0,-0x7c(%ebp)
+  64:	c7 45 84 00 00 00 00 	movl   $0x0,-0x7c(%ebp)
+  6b:	c7 45 80 00 00 00 00 	movl   $0x0,-0x80(%ebp)
   72:	0f b6 03             	movzbl (%ebx),%eax
   75:	84 c0                	test   %al,%al
   77:	0f 84 0b 01 00 00    	je     0x188
--- /dev/fd/63	2012-05-05 15:41:47.000000000 +0200
+++ /dev/fd/62	2012-05-05 15:41:47.000000000 +0200
@@ -1,5 +1,5 @@
 
-../build-tree.good/kfreebsd-amd64-i386/wcsmbs/wcstoul_l.o:     file format elf32-i386-freebsd
+build-tree/kfreebsd-amd64-i386/wcsmbs/wcstoul_l.o:     file format elf32-i386-freebsd
 
 
 Disassembly of section .text:
@@ -85,8 +85,8 @@
  115:	8d 46 d0             	lea    -0x30(%esi),%eax
  118:	83 f8 09             	cmp    $0x9,%eax
  11b:	77 d3                	ja     0xf0
- 11d:	3b 45 10             	cmp    0x10(%ebp),%eax
- 120:	7d 2e                	jge    0x150
+ 11d:	39 45 10             	cmp    %eax,0x10(%ebp)
+ 120:	7e 2e                	jle    0x150
  122:	39 7d f0             	cmp    %edi,-0x10(%ebp)
  125:	0f 82 ad 00 00 00    	jb     0x1d8
  12b:	3b 45 e0             	cmp    -0x20(%ebp),%eax
--- /dev/fd/63	2012-05-05 15:41:47.000000000 +0200
+++ /dev/fd/62	2012-05-05 15:41:47.000000000 +0200
@@ -1,5 +1,5 @@
 
-../build-tree.good/kfreebsd-amd64-i386/linuxthreads/spinlock.o:     file format elf32-i386-freebsd
+build-tree/kfreebsd-amd64-i386/linuxthreads/spinlock.o:     file format elf32-i386-freebsd
 
 
 Disassembly of section .text:
@@ -248,8 +248,8 @@
  264:	0f 85 7a ff ff ff    	jne    0x1e4
  26a:	f3 90                	pause  
  26c:	83 c2 01             	add    $0x1,%edx
- 26f:	39 fa                	cmp    %edi,%edx
- 271:	7c dd                	jl     0x250
+ 26f:	39 d7                	cmp    %edx,%edi
+ 271:	7f dd                	jg     0x250
  273:	8b 43 04             	mov    0x4(%ebx),%eax
  276:	29 c2                	sub    %eax,%edx
  278:	85 d2                	test   %edx,%edx
--- /dev/fd/63	2012-05-05 15:41:47.000000000 +0200
+++ /dev/fd/62	2012-05-05 15:41:47.000000000 +0200
@@ -1,5 +1,5 @@
 
-../build-tree.good/kfreebsd-amd64-i386/inet/ifaddrs.o:     file format elf32-i386-freebsd
+build-tree/kfreebsd-amd64-i386/inet/ifaddrs.o:     file format elf32-i386-freebsd
 
 
 Disassembly of section .text:
@@ -60,8 +60,8 @@
   c7:	8b 5d f0             	mov    -0x10(%ebp),%ebx
   ca:	89 fa                	mov    %edi,%edx
   cc:	01 fb                	add    %edi,%ebx
-  ce:	39 df                	cmp    %ebx,%edi
-  d0:	0f 83 3a 05 00 00    	jae    0x610
+  ce:	39 fb                	cmp    %edi,%ebx
+  d0:	0f 86 3a 05 00 00    	jbe    0x610
   d6:	89 f8                	mov    %edi,%eax
   d8:	31 f6                	xor    %esi,%esi
   da:	c7 45 cc 00 00 00 00 	movl   $0x0,-0x34(%ebp)
@@ -73,8 +73,8 @@
   f8:	89 f2                	mov    %esi,%edx
   fa:	0f b7 08             	movzwl (%eax),%ecx
   fd:	01 c8                	add    %ecx,%eax
-  ff:	39 d8                	cmp    %ebx,%eax
- 101:	73 6d                	jae    0x170
+  ff:	39 c3                	cmp    %eax,%ebx
+ 101:	76 6d                	jbe    0x170
  103:	80 78 02 05          	cmpb   $0x5,0x2(%eax)
  107:	89 d6                	mov    %edx,%esi
  109:	75 ed                	jne    0xf8
@@ -104,14 +104,14 @@
  15d:	0f b7 08             	movzwl (%eax),%ecx
  160:	89 75 cc             	mov    %esi,-0x34(%ebp)
  163:	01 c8                	add    %ecx,%eax
- 165:	39 d8                	cmp    %ebx,%eax
- 167:	72 9a                	jb     0x103
+ 165:	39 c3                	cmp    %eax,%ebx
+ 167:	77 9a                	ja     0x103
  169:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
- 170:	8b 45 cc             	mov    -0x34(%ebp),%eax
- 173:	8b 5d d0             	mov    -0x30(%ebp),%ebx
- 176:	03 45 d4             	add    -0x2c(%ebp),%eax
+ 170:	8b 45 d4             	mov    -0x2c(%ebp),%eax
+ 173:	8b 75 d0             	mov    -0x30(%ebp),%esi
+ 176:	03 45 cc             	add    -0x34(%ebp),%eax
  179:	8b 55 c0             	mov    -0x40(%ebp),%edx
- 17c:	8d 0c 18             	lea    (%eax,%ebx,1),%ecx
+ 17c:	8d 0c 30             	lea    (%eax,%esi,1),%ecx
  17f:	83 f9 01             	cmp    $0x1,%ecx
  182:	0f 84 88 04 00 00    	je     0x610
  188:	6b 5d d0 1c          	imul   $0x1c,-0x30(%ebp),%ebx
@@ -122,19 +122,19 @@
  199:	8b 55 b0             	mov    -0x50(%ebp),%edx
  19c:	85 c0                	test   %eax,%eax
  19e:	89 45 cc             	mov    %eax,-0x34(%ebp)
- 1a1:	0f 84 ca 04 00 00    	je     0x671
+ 1a1:	0f 84 cb 04 00 00    	je     0x672
  1a7:	89 5c 24 08          	mov    %ebx,0x8(%esp)
  1ab:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
  1b2:	00 
- 1b3:	8b 45 cc             	mov    -0x34(%ebp),%eax
- 1b6:	89 04 24             	mov    %eax,(%esp)
+ 1b3:	8b 4d cc             	mov    -0x34(%ebp),%ecx
+ 1b6:	89 0c 24             	mov    %ecx,(%esp)
  1b9:	89 55 b0             	mov    %edx,-0x50(%ebp)
  1bc:	e8 fc ff ff ff       	call   0x1bd
  1c1:	8b 55 b0             	mov    -0x50(%ebp),%edx
  1c4:	8b 45 f0             	mov    -0x10(%ebp),%eax
  1c7:	01 d0                	add    %edx,%eax
  1c9:	39 c2                	cmp    %eax,%edx
- 1cb:	0f 83 98 04 00 00    	jae    0x669
+ 1cb:	0f 83 99 04 00 00    	jae    0x66a
  1d1:	03 5d cc             	add    -0x34(%ebp),%ebx
  1d4:	31 c0                	xor    %eax,%eax
  1d6:	8b 4d cc             	mov    -0x34(%ebp),%ecx
@@ -147,8 +147,8 @@
  1ee:	89 ca                	mov    %ecx,%edx
  1f0:	eb 25                	jmp    0x217
  1f2:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
- 1f8:	66 89 45 d4          	mov    %ax,-0x2c(%ebp)
- 1fc:	89 d6                	mov    %edx,%esi
+ 1f8:	89 d6                	mov    %edx,%esi
+ 1fa:	66 89 45 d4          	mov    %ax,-0x2c(%ebp)
  1fe:	0f b7 03             	movzwl (%ebx),%eax
  201:	01 c3                	add    %eax,%ebx
  203:	8b 45 d0             	mov    -0x30(%ebp),%eax
@@ -169,12 +169,12 @@
  235:	66 c7 45 d4 00 00    	movw   $0x0,-0x2c(%ebp)
  23b:	74 c1                	je     0x1fe
  23d:	8b 45 c0             	mov    -0x40(%ebp),%eax
- 240:	8d 73 60             	lea    0x60(%ebx),%esi
- 243:	0f b7 4b 0c          	movzwl 0xc(%ebx),%ecx
+ 240:	8d 4b 68             	lea    0x68(%ebx),%ecx
+ 243:	0f b7 73 0c          	movzwl 0xc(%ebx),%esi
  247:	89 42 04             	mov    %eax,0x4(%edx)
  24a:	8b 43 08             	mov    0x8(%ebx),%eax
- 24d:	66 89 4d d4          	mov    %cx,-0x2c(%ebp)
- 251:	8d 4b 68             	lea    0x68(%ebx),%ecx
+ 24d:	66 89 75 d4          	mov    %si,-0x2c(%ebp)
+ 251:	8d 73 60             	lea    0x60(%ebx),%esi
  254:	89 42 08             	mov    %eax,0x8(%edx)
  257:	0f b6 46 05          	movzbl 0x5(%esi),%eax
  25b:	89 4c 24 04          	mov    %ecx,0x4(%esp)
@@ -244,10 +244,10 @@
  32f:	c3                   	ret    
  330:	a1 00 00 00 00       	mov    0x0,%eax
  335:	65 83 38 0c          	cmpl   $0xc,%gs:(%eax)
- 339:	0f 85 02 03 00 00    	jne    0x641
+ 339:	0f 85 03 03 00 00    	jne    0x642
  33f:	83 45 d4 01          	addl   $0x1,-0x2c(%ebp)
  343:	83 7d d4 05          	cmpl   $0x5,-0x2c(%ebp)
- 347:	0f 84 f4 02 00 00    	je     0x641
+ 347:	0f 84 f5 02 00 00    	je     0x642
  34d:	89 3c 24             	mov    %edi,(%esp)
  350:	e8 fc ff ff ff       	call   0x351
  355:	e9 f4 fc ff ff       	jmp    0x4e
@@ -256,7 +256,7 @@
  363:	0f 84 8f fd ff ff    	je     0xf8
  369:	0f b7 50 0c          	movzwl 0xc(%eax),%edx
  36d:	66 39 f2             	cmp    %si,%dx
- 370:	0f 85 dd 02 00 00    	jne    0x653
+ 370:	0f 85 de 02 00 00    	jne    0x654
  376:	8b 78 04             	mov    0x4(%eax),%edi
  379:	81 e7 a4 00 00 00    	and    $0xa4,%edi
  37f:	0f 84 75 fd ff ff    	je     0xfa
@@ -264,50 +264,50 @@
  388:	89 4d c4             	mov    %ecx,-0x3c(%ebp)
  38b:	89 4d c8             	mov    %ecx,-0x38(%ebp)
  38e:	31 c9                	xor    %ecx,%ecx
- 390:	89 5d bc             	mov    %ebx,-0x44(%ebp)
- 393:	0f a3 cf             	bt     %ecx,%edi
- 396:	73 24                	jae    0x3bc
- 398:	8b 75 c8             	mov    -0x38(%ebp),%esi
- 39b:	0f b6 1e             	movzbl (%esi),%ebx
- 39e:	be 04 00 00 00       	mov    $0x4,%esi
- 3a3:	84 db                	test   %bl,%bl
- 3a5:	74 09                	je     0x3b0
- 3a7:	0f b6 db             	movzbl %bl,%ebx
- 3aa:	8d 73 03             	lea    0x3(%ebx),%esi
- 3ad:	83 e6 fc             	and    $0xfffffffc,%esi
- 3b0:	83 f9 05             	cmp    $0x5,%ecx
- 3b3:	0f 84 72 02 00 00    	je     0x62b
- 3b9:	01 75 c8             	add    %esi,-0x38(%ebp)
- 3bc:	83 c1 01             	add    $0x1,%ecx
- 3bf:	83 f9 08             	cmp    $0x8,%ecx
- 3c2:	75 cf                	jne    0x393
- 3c4:	8b 5d bc             	mov    -0x44(%ebp),%ebx
- 3c7:	c7 45 bc 00 00 00 00 	movl   $0x0,-0x44(%ebp)
- 3ce:	89 5d c8             	mov    %ebx,-0x38(%ebp)
- 3d1:	31 c9                	xor    %ecx,%ecx
- 3d3:	8b 5d c4             	mov    -0x3c(%ebp),%ebx
- 3d6:	89 c6                	mov    %eax,%esi
- 3d8:	66 89 55 c4          	mov    %dx,-0x3c(%ebp)
- 3dc:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+ 390:	66 89 55 bc          	mov    %dx,-0x44(%ebp)
+ 394:	0f a3 cf             	bt     %ecx,%edi
+ 397:	73 24                	jae    0x3bd
+ 399:	8b 75 c8             	mov    -0x38(%ebp),%esi
+ 39c:	0f b6 16             	movzbl (%esi),%edx
+ 39f:	be 04 00 00 00       	mov    $0x4,%esi
+ 3a4:	84 d2                	test   %dl,%dl
+ 3a6:	74 09                	je     0x3b1
+ 3a8:	0f b6 d2             	movzbl %dl,%edx
+ 3ab:	8d 72 03             	lea    0x3(%edx),%esi
+ 3ae:	83 e6 fc             	and    $0xfffffffc,%esi
+ 3b1:	83 f9 05             	cmp    $0x5,%ecx
+ 3b4:	0f 84 71 02 00 00    	je     0x62b
+ 3ba:	01 75 c8             	add    %esi,-0x38(%ebp)
+ 3bd:	83 c1 01             	add    $0x1,%ecx
+ 3c0:	83 f9 08             	cmp    $0x8,%ecx
+ 3c3:	75 cf                	jne    0x394
+ 3c5:	0f b7 55 bc          	movzwl -0x44(%ebp),%edx
+ 3c9:	c7 45 bc 00 00 00 00 	movl   $0x0,-0x44(%ebp)
+ 3d0:	66 89 55 c8          	mov    %dx,-0x38(%ebp)
+ 3d4:	31 c9                	xor    %ecx,%ecx
+ 3d6:	8b 55 c4             	mov    -0x3c(%ebp),%edx
+ 3d9:	89 de                	mov    %ebx,%esi
+ 3db:	89 45 c4             	mov    %eax,-0x3c(%ebp)
+ 3de:	66 90                	xchg   %ax,%ax
  3e0:	0f a3 cf             	bt     %ecx,%edi
  3e3:	73 23                	jae    0x408
- 3e5:	0f b6 03             	movzbl (%ebx),%eax
- 3e8:	ba 04 00 00 00       	mov    $0x4,%edx
- 3ed:	84 c0                	test   %al,%al
+ 3e5:	0f b6 1a             	movzbl (%edx),%ebx
+ 3e8:	b8 04 00 00 00       	mov    $0x4,%eax
+ 3ed:	84 db                	test   %bl,%bl
  3ef:	74 09                	je     0x3fa
- 3f1:	0f b6 d0             	movzbl %al,%edx
- 3f4:	83 c2 03             	add    $0x3,%edx
- 3f7:	83 e2 fc             	and    $0xfffffffc,%edx
+ 3f1:	0f b6 c3             	movzbl %bl,%eax
+ 3f4:	83 c0 03             	add    $0x3,%eax
+ 3f7:	83 e0 fc             	and    $0xfffffffc,%eax
  3fa:	83 f9 02             	cmp    $0x2,%ecx
  3fd:	0f 84 4d 01 00 00    	je     0x550
- 403:	01 55 d4             	add    %edx,-0x2c(%ebp)
- 406:	01 d3                	add    %edx,%ebx
+ 403:	01 45 d4             	add    %eax,-0x2c(%ebp)
+ 406:	01 c2                	add    %eax,%edx
  408:	83 c1 01             	add    $0x1,%ecx
  40b:	83 f9 08             	cmp    $0x8,%ecx
  40e:	75 d0                	jne    0x3e0
- 410:	8b 5d c8             	mov    -0x38(%ebp),%ebx
- 413:	89 f0                	mov    %esi,%eax
- 415:	0f b7 55 c4          	movzwl -0x3c(%ebp),%edx
+ 410:	0f b7 55 c8          	movzwl -0x38(%ebp),%edx
+ 414:	89 f3                	mov    %esi,%ebx
+ 416:	8b 45 c4             	mov    -0x3c(%ebp),%eax
  419:	83 45 d0 01          	addl   $0x1,-0x30(%ebp)
  41d:	e9 d8 fc ff ff       	jmp    0xfa
  422:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
@@ -316,7 +316,7 @@
  431:	0f b7 73 0c          	movzwl 0xc(%ebx),%esi
  435:	66 39 c6             	cmp    %ax,%si
  438:	66 89 75 d4          	mov    %si,-0x2c(%ebp)
- 43c:	0f 85 11 02 00 00    	jne    0x653
+ 43c:	0f 85 12 02 00 00    	jne    0x654
  442:	f6 43 04 a4          	testb  $0xa4,0x4(%ebx)
  446:	89 d6                	mov    %edx,%esi
  448:	0f 84 b0 fd ff ff    	je     0x1fe
@@ -324,7 +324,7 @@
  451:	8d 73 14             	lea    0x14(%ebx),%esi
  454:	c7 42 18 00 00 00 00 	movl   $0x0,0x18(%edx)
  45b:	89 75 b4             	mov    %esi,-0x4c(%ebp)
- 45e:	89 5d b8             	mov    %ebx,-0x48(%ebp)
+ 45e:	89 55 b8             	mov    %edx,-0x48(%ebp)
  461:	8b 41 04             	mov    0x4(%ecx),%eax
  464:	89 42 04             	mov    %eax,0x4(%edx)
  467:	8b 41 08             	mov    0x8(%ecx),%eax
@@ -334,23 +334,23 @@
  472:	25 a4 00 00 00       	and    $0xa4,%eax
  477:	89 45 c4             	mov    %eax,-0x3c(%ebp)
  47a:	31 c0                	xor    %eax,%eax
- 47c:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
- 47f:	0f a3 c1             	bt     %eax,%ecx
+ 47c:	8b 55 c4             	mov    -0x3c(%ebp),%edx
+ 47f:	0f a3 c2             	bt     %eax,%edx
  482:	73 20                	jae    0x4a4
- 484:	0f b6 1e             	movzbl (%esi),%ebx
+ 484:	0f b6 16             	movzbl (%esi),%edx
  487:	b9 04 00 00 00       	mov    $0x4,%ecx
- 48c:	84 db                	test   %bl,%bl
+ 48c:	84 d2                	test   %dl,%dl
  48e:	74 09                	je     0x499
- 490:	0f b6 cb             	movzbl %bl,%ecx
- 493:	83 c1 03             	add    $0x3,%ecx
+ 490:	0f b6 d2             	movzbl %dl,%edx
+ 493:	8d 4a 03             	lea    0x3(%edx),%ecx
  496:	83 e1 fc             	and    $0xfffffffc,%ecx
  499:	83 f8 05             	cmp    $0x5,%eax
- 49c:	0f 84 94 01 00 00    	je     0x636
+ 49c:	0f 84 95 01 00 00    	je     0x637
  4a2:	01 ce                	add    %ecx,%esi
  4a4:	83 c0 01             	add    $0x1,%eax
  4a7:	83 f8 08             	cmp    $0x8,%eax
  4aa:	75 d0                	jne    0x47c
- 4ac:	8b 5d b8             	mov    -0x48(%ebp),%ebx
+ 4ac:	8b 55 b8             	mov    -0x48(%ebp),%edx
  4af:	c7 45 b8 00 00 00 00 	movl   $0x0,-0x48(%ebp)
  4b6:	89 55 c4             	mov    %edx,-0x3c(%ebp)
  4b9:	8b 4d c8             	mov    -0x38(%ebp),%ecx
@@ -403,10 +403,10 @@
  54c:	5d                   	pop    %ebp
  54d:	c3                   	ret    
  54e:	66 90                	xchg   %ax,%ax
- 550:	84 c0                	test   %al,%al
+ 550:	84 db                	test   %bl,%bl
  552:	0f 85 ab fe ff ff    	jne    0x403
- 558:	8b 45 bc             	mov    -0x44(%ebp),%eax
- 55b:	01 45 d4             	add    %eax,-0x2c(%ebp)
+ 558:	8b 5d bc             	mov    -0x44(%ebp),%ebx
+ 55b:	01 5d d4             	add    %ebx,-0x2c(%ebp)
  55e:	e9 a3 fe ff ff       	jmp    0x406
  563:	90                   	nop
  564:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
@@ -463,8 +463,8 @@
  603:	89 32                	mov    %esi,(%edx)
  605:	e9 f4 fb ff ff       	jmp    0x1fe
  60a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
- 610:	8b 75 08             	mov    0x8(%ebp),%esi
- 613:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
+ 610:	8b 45 08             	mov    0x8(%ebp),%eax
+ 613:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
  619:	89 14 24             	mov    %edx,(%esp)
  61c:	e8 fc ff ff ff       	call   0x61d
  621:	83 c4 60             	add    $0x60,%esp
@@ -474,23 +474,23 @@
  628:	5f                   	pop    %edi
  629:	5d                   	pop    %ebp
  62a:	c3                   	ret    
- 62b:	8b 5d bc             	mov    -0x44(%ebp),%ebx
- 62e:	89 75 bc             	mov    %esi,-0x44(%ebp)
- 631:	e9 98 fd ff ff       	jmp    0x3ce
- 636:	8b 5d b8             	mov    -0x48(%ebp),%ebx
- 639:	89 4d b8             	mov    %ecx,-0x48(%ebp)
- 63c:	e9 75 fe ff ff       	jmp    0x4b6
- 641:	89 3c 24             	mov    %edi,(%esp)
- 644:	e8 fc ff ff ff       	call   0x645
- 649:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
- 64e:	e9 d5 fc ff ff       	jmp    0x328
- 653:	a1 00 00 00 00       	mov    0x0,%eax
- 658:	65 c7 00 16 00 00 00 	movl   $0x16,%gs:(%eax)
- 65f:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
- 664:	e9 bf fc ff ff       	jmp    0x328
- 669:	8b 75 cc             	mov    -0x34(%ebp),%esi
- 66c:	e9 92 fc ff ff       	jmp    0x303
- 671:	89 14 24             	mov    %edx,(%esp)
- 674:	e8 fc ff ff ff       	call   0x675
- 679:	83 c8 ff             	or     $0xffffffff,%eax
- 67c:	e9 a7 fc ff ff       	jmp    0x328
+ 62b:	0f b7 55 bc          	movzwl -0x44(%ebp),%edx
+ 62f:	89 75 bc             	mov    %esi,-0x44(%ebp)
+ 632:	e9 99 fd ff ff       	jmp    0x3d0
+ 637:	8b 55 b8             	mov    -0x48(%ebp),%edx
+ 63a:	89 4d b8             	mov    %ecx,-0x48(%ebp)
+ 63d:	e9 74 fe ff ff       	jmp    0x4b6
+ 642:	89 3c 24             	mov    %edi,(%esp)
+ 645:	e8 fc ff ff ff       	call   0x646
+ 64a:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
+ 64f:	e9 d4 fc ff ff       	jmp    0x328
+ 654:	a1 00 00 00 00       	mov    0x0,%eax
+ 659:	65 c7 00 16 00 00 00 	movl   $0x16,%gs:(%eax)
+ 660:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
+ 665:	e9 be fc ff ff       	jmp    0x328
+ 66a:	8b 75 cc             	mov    -0x34(%ebp),%esi
+ 66d:	e9 91 fc ff ff       	jmp    0x303
+ 672:	89 14 24             	mov    %edx,(%esp)
+ 675:	e8 fc ff ff ff       	call   0x676
+ 67a:	83 c8 ff             	or     $0xffffffff,%eax
+ 67d:	e9 a6 fc ff ff       	jmp    0x328
--- /dev/fd/63	2012-05-05 15:41:47.000000000 +0200
+++ /dev/fd/62	2012-05-05 15:41:47.000000000 +0200
@@ -1,5 +1,5 @@
 
-../build-tree.good/kfreebsd-amd64-i386/posix/sysconf.o:     file format elf32-i386-freebsd
+build-tree/kfreebsd-amd64-i386/posix/sysconf.o:     file format elf32-i386-freebsd
 
 
 Disassembly of section .text:
@@ -105,121 +105,123 @@
  13d:	c9                   	leave  
  13e:	66 90                	xchg   %ax,%ax
  140:	c3                   	ret    
- 141:	b8 14 00 00 00       	mov    $0x14,%eax
+ 141:	b8 04 00 00 00       	mov    $0x4,%eax
  146:	c9                   	leave  
  147:	c3                   	ret    
- 148:	b8 63 00 00 00       	mov    $0x63,%eax
+ 148:	b8 ff 00 00 00       	mov    $0xff,%eax
  14d:	c9                   	leave  
  14e:	66 90                	xchg   %ax,%ax
  150:	c3                   	ret    
  151:	b8 80 ff ff ff       	mov    $0xffffff80,%eax
  156:	c9                   	leave  
  157:	c3                   	ret    
- 158:	b8 7f 00 00 00       	mov    $0x7f,%eax
+ 158:	b8 63 00 00 00       	mov    $0x63,%eax
  15d:	c9                   	leave  
  15e:	66 90                	xchg   %ax,%ax
  160:	c3                   	ret    
- 161:	b8 ff 00 00 00       	mov    $0xff,%eax
+ 161:	b8 7f 00 00 00       	mov    $0x7f,%eax
  166:	c9                   	leave  
  167:	c3                   	ret    
- 168:	b8 04 00 00 00       	mov    $0x4,%eax
- 16d:	c9                   	leave  
- 16e:	66 90                	xchg   %ax,%ax
- 170:	c3                   	ret    
- 171:	b8 3f 00 00 00       	mov    $0x3f,%eax
- 176:	c9                   	leave  
- 177:	c3                   	ret    
- 178:	e8 fc ff ff ff       	call   0x179
- 17d:	89 c2                	mov    %eax,%edx
- 17f:	b8 06 00 00 00       	mov    $0x6,%eax
- 184:	83 fa 06             	cmp    $0x6,%edx
- 187:	0f 8e 9e fe ff ff    	jle    0x2b
- 18d:	e8 fc ff ff ff       	call   0x18e
- 192:	c9                   	leave  
- 193:	c3                   	ret    
- 194:	b8 e8 03 00 00       	mov    $0x3e8,%eax
- 199:	c9                   	leave  
- 19a:	c3                   	ret    
- 19b:	b8 10 00 00 00       	mov    $0x10,%eax
- 1a0:	c9                   	leave  
- 1a1:	c3                   	ret    
- 1a2:	b8 00 00 00 80       	mov    $0x80000000,%eax
- 1a7:	c9                   	leave  
- 1a8:	c3                   	ret    
- 1a9:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
- 1b0:	e8 fc ff ff ff       	call   0x1b1
- 1b5:	c9                   	leave  
- 1b6:	c3                   	ret    
- 1b7:	90                   	nop
- 1b8:	e8 fc ff ff ff       	call   0x1b9
+ 168:	31 c0                	xor    %eax,%eax
+ 16a:	c9                   	leave  
+ 16b:	c3                   	ret    
+ 16c:	b8 00 10 00 00       	mov    $0x1000,%eax
+ 171:	c9                   	leave  
+ 172:	c3                   	ret    
+ 173:	b8 00 01 00 00       	mov    $0x100,%eax
+ 178:	c9                   	leave  
+ 179:	c3                   	ret    
+ 17a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
+ 180:	e8 fc ff ff ff       	call   0x181
+ 185:	c9                   	leave  
+ 186:	c3                   	ret    
+ 187:	b8 10 00 00 00       	mov    $0x10,%eax
+ 18c:	c9                   	leave  
+ 18d:	8d 76 00             	lea    0x0(%esi),%esi
+ 190:	c3                   	ret    
+ 191:	b8 e8 03 00 00       	mov    $0x3e8,%eax
+ 196:	c9                   	leave  
+ 197:	c3                   	ret    
+ 198:	b8 00 40 00 00       	mov    $0x4000,%eax
+ 19d:	c9                   	leave  
+ 19e:	66 90                	xchg   %ax,%ax
+ 1a0:	c3                   	ret    
+ 1a1:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
+ 1a8:	e8 fc ff ff ff       	call   0x1a9
+ 1ad:	c9                   	leave  
+ 1ae:	66 90                	xchg   %ax,%ax
+ 1b0:	c3                   	ret    
+ 1b1:	b8 00 20 00 00       	mov    $0x2000,%eax
+ 1b6:	c9                   	leave  
+ 1b7:	c3                   	ret    
+ 1b8:	b8 bc 02 00 00       	mov    $0x2bc,%eax
  1bd:	c9                   	leave  
  1be:	66 90                	xchg   %ax,%ax
  1c0:	c3                   	ret    
- 1c1:	b8 ff ff 00 00       	mov    $0xffff,%eax
+ 1c1:	b8 14 00 00 00       	mov    $0x14,%eax
  1c6:	c9                   	leave  
  1c7:	c3                   	ret    
- 1c8:	b8 00 10 00 00       	mov    $0x1000,%eax
+ 1c8:	b8 3f 00 00 00       	mov    $0x3f,%eax
  1cd:	c9                   	leave  
  1ce:	66 90                	xchg   %ax,%ax
  1d0:	c3                   	ret    
- 1d1:	b8 00 01 00 00       	mov    $0x100,%eax
- 1d6:	c9                   	leave  
- 1d7:	c3                   	ret    
- 1d8:	b8 00 80 ff ff       	mov    $0xffff8000,%eax
+ 1d1:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
+ 1d8:	e8 fc ff ff ff       	call   0x1d9
  1dd:	c9                   	leave  
  1de:	66 90                	xchg   %ax,%ax
  1e0:	c3                   	ret    
- 1e1:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
- 1e8:	e8 fc ff ff ff       	call   0x1e9
- 1ed:	c9                   	leave  
- 1ee:	66 90                	xchg   %ax,%ax
- 1f0:	c3                   	ret    
- 1f1:	31 c0                	xor    %eax,%eax
- 1f3:	c9                   	leave  
- 1f4:	c3                   	ret    
- 1f5:	b8 ff 03 00 00       	mov    $0x3ff,%eax
- 1fa:	c9                   	leave  
- 1fb:	90                   	nop
- 1fc:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+ 1e1:	b8 00 00 00 80       	mov    $0x80000000,%eax
+ 1e6:	c9                   	leave  
+ 1e7:	c3                   	ret    
+ 1e8:	90                   	nop
+ 1e9:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
+ 1f0:	e8 fc ff ff ff       	call   0x1f1
+ 1f5:	c9                   	leave  
+ 1f6:	c3                   	ret    
+ 1f7:	90                   	nop
+ 1f8:	e8 fc ff ff ff       	call   0x1f9
+ 1fd:	c9                   	leave  
+ 1fe:	66 90                	xchg   %ax,%ax
  200:	c3                   	ret    
- 201:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
- 208:	e8 fc ff ff ff       	call   0x209
+ 201:	b8 08 00 00 00       	mov    $0x8,%eax
+ 206:	c9                   	leave  
+ 207:	c3                   	ret    
+ 208:	b8 ff ff 00 00       	mov    $0xffff,%eax
  20d:	c9                   	leave  
  20e:	66 90                	xchg   %ax,%ax
  210:	c3                   	ret    
- 211:	b8 28 00 00 00       	mov    $0x28,%eax
+ 211:	b8 00 80 ff ff       	mov    $0xffff8000,%eax
  216:	c9                   	leave  
  217:	c3                   	ret    
- 218:	b8 00 00 04 00       	mov    $0x40000,%eax
- 21d:	c9                   	leave  
- 21e:	66 90                	xchg   %ax,%ax
- 220:	c3                   	ret    
- 221:	b8 40 00 00 00       	mov    $0x40,%eax
- 226:	c9                   	leave  
- 227:	c3                   	ret    
- 228:	e8 fc ff ff ff       	call   0x229
- 22d:	c9                   	leave  
- 22e:	66 90                	xchg   %ax,%ax
- 230:	c3                   	ret    
- 231:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
- 238:	e8 fc ff ff ff       	call   0x239
- 23d:	c9                   	leave  
- 23e:	66 90                	xchg   %ax,%ax
- 240:	c3                   	ret    
- 241:	b8 bc 02 00 00       	mov    $0x2bc,%eax
- 246:	c9                   	leave  
- 247:	c3                   	ret    
- 248:	b8 00 40 00 00       	mov    $0x4000,%eax
- 24d:	c9                   	leave  
- 24e:	66 90                	xchg   %ax,%ax
+ 218:	e8 fc ff ff ff       	call   0x219
+ 21d:	89 c2                	mov    %eax,%edx
+ 21f:	b8 06 00 00 00       	mov    $0x6,%eax
+ 224:	83 fa 06             	cmp    $0x6,%edx
+ 227:	0f 8e fe fd ff ff    	jle    0x2b
+ 22d:	e8 fc ff ff ff       	call   0x22e
+ 232:	c9                   	leave  
+ 233:	c3                   	ret    
+ 234:	b8 40 00 00 00       	mov    $0x40,%eax
+ 239:	c9                   	leave  
+ 23a:	c3                   	ret    
+ 23b:	90                   	nop
+ 23c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+ 240:	e8 fc ff ff ff       	call   0x241
+ 245:	c9                   	leave  
+ 246:	c3                   	ret    
+ 247:	b8 ff 03 00 00       	mov    $0x3ff,%eax
+ 24c:	c9                   	leave  
+ 24d:	8d 76 00             	lea    0x0(%esi),%esi
  250:	c3                   	ret    
- 251:	b8 00 20 00 00       	mov    $0x2000,%eax
- 256:	c9                   	leave  
- 257:	c3                   	ret    
+ 251:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
  258:	e8 fc ff ff ff       	call   0x259
  25d:	c9                   	leave  
  25e:	66 90                	xchg   %ax,%ax
  260:	c3                   	ret    
- 261:	b8 08 00 00 00       	mov    $0x8,%eax
+ 261:	b8 28 00 00 00       	mov    $0x28,%eax
  266:	c9                   	leave  
  267:	c3                   	ret    
+ 268:	b8 00 00 04 00       	mov    $0x40000,%eax
+ 26d:	c9                   	leave  
+ 26e:	66 90                	xchg   %ax,%ax
+ 270:	c3                   	ret    
--- /dev/fd/63	2012-05-05 15:41:47.000000000 +0200
+++ /dev/fd/62	2012-05-05 15:41:47.000000000 +0200
@@ -1,5 +1,5 @@
 
-../build-tree.good/kfreebsd-amd64-i386/stdio-common/tempname.o:     file format elf32-i386-freebsd
+build-tree/kfreebsd-amd64-i386/stdio-common/tempname.o:     file format elf32-i386-freebsd
 
 
 Disassembly of section .text:
@@ -306,8 +306,8 @@
  473:	80 3e 00             	cmpb   $0x0,(%esi)
  476:	0f 85 8c 00 00 00    	jne    0x508
  47c:	8b 45 18             	mov    0x18(%ebp),%eax
- 47f:	bf 04 00 00 00       	mov    $0x4,%edi
- 484:	be 23 00 00 00       	mov    $0x23,%esi
+ 47f:	be 23 00 00 00       	mov    $0x23,%esi
+ 484:	bf 04 00 00 00       	mov    $0x4,%edi
  489:	85 c0                	test   %eax,%eax
  48b:	0f 85 97 00 00 00    	jne    0x528
  491:	85 db                	test   %ebx,%ebx
--- /dev/fd/63	2012-05-05 15:41:47.000000000 +0200
+++ /dev/fd/62	2012-05-05 15:41:47.000000000 +0200
@@ -1,5 +1,5 @@
 
-../build-tree.good/kfreebsd-amd64-i386/elf/dl-support.o:     file format elf32-i386-freebsd
+build-tree/kfreebsd-amd64-i386/elf/dl-support.o:     file format elf32-i386-freebsd
 
 
 Disassembly of section .text:
@@ -13,7 +13,7 @@
    6:	83 ec 20             	sub    $0x20,%esp
    9:	8b 10                	mov    (%eax),%edx
    b:	85 d2                	test   %edx,%edx
-   d:	0f 84 ea 00 00 00    	je     0xfd
+   d:	0f 84 e3 00 00 00    	je     0xf6
   13:	8b 0d 00 00 00 00    	mov    0x0,%ecx
   19:	31 f6                	xor    %esi,%esi
   1b:	8b 1d 00 00 00 00    	mov    0x0,%ebx
@@ -66,97 +66,96 @@
   cf:	8b 55 f0             	mov    -0x10(%ebp),%edx
   d2:	a3 00 00 00 00       	mov    %eax,0x0
   d7:	89 15 00 00 00 00    	mov    %edx,0x0
-  dd:	75 1e                	jne    0xfd
-  df:	85 f6                	test   %esi,%esi
+  dd:	75 17                	jne    0xf6
+  df:	09 de                	or     %ebx,%esi
   e1:	0f 95 c0             	setne  %al
-  e4:	85 db                	test   %ebx,%ebx
-  e6:	0f 95 c2             	setne  %dl
-  e9:	09 d0                	or     %edx,%eax
-  eb:	83 e0 01             	and    $0x1,%eax
-  ee:	a3 00 00 00 00       	mov    %eax,0x0
-  f3:	c7 05 00 00 00 00 01 	movl   $0x1,0x0
-  fa:	00 00 00 
-  fd:	83 c4 20             	add    $0x20,%esp
- 100:	5b                   	pop    %ebx
- 101:	5e                   	pop    %esi
- 102:	5f                   	pop    %edi
- 103:	5d                   	pop    %ebp
- 104:	c3                   	ret    
- 105:	8d 76 00             	lea    0x0(%esi),%esi
- 108:	8b 50 04             	mov    0x4(%eax),%edx
- 10b:	83 c0 08             	add    $0x8,%eax
- 10e:	89 55 f0             	mov    %edx,-0x10(%ebp)
- 111:	8b 10                	mov    (%eax),%edx
- 113:	85 d2                	test   %edx,%edx
- 115:	0f 85 4d ff ff ff    	jne    0x68
- 11b:	e9 70 ff ff ff       	jmp    0x90
- 120:	8b 50 04             	mov    0x4(%eax),%edx
- 123:	83 c0 08             	add    $0x8,%eax
- 126:	b9 ff ff ff ff       	mov    $0xffffffff,%ecx
- 12b:	c7 45 ec 01 00 00 00 	movl   $0x1,-0x14(%ebp)
- 132:	89 55 e8             	mov    %edx,-0x18(%ebp)
- 135:	8b 10                	mov    (%eax),%edx
- 137:	85 d2                	test   %edx,%edx
- 139:	0f 85 29 ff ff ff    	jne    0x68
- 13f:	e9 4c ff ff ff       	jmp    0x90
- 144:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
- 148:	8b 50 04             	mov    0x4(%eax),%edx
- 14b:	83 c0 08             	add    $0x8,%eax
- 14e:	89 55 d4             	mov    %edx,-0x2c(%ebp)
- 151:	8b 10                	mov    (%eax),%edx
- 153:	85 d2                	test   %edx,%edx
- 155:	0f 85 0d ff ff ff    	jne    0x68
- 15b:	e9 30 ff ff ff       	jmp    0x90
- 160:	66 0f 6e 40 04       	movd   0x4(%eax),%xmm0
- 165:	83 c0 08             	add    $0x8,%eax
- 168:	66 0f d6 45 e0       	movq   %xmm0,-0x20(%ebp)
- 16d:	8b 10                	mov    (%eax),%edx
- 16f:	85 d2                	test   %edx,%edx
- 171:	0f 85 f1 fe ff ff    	jne    0x68
- 177:	e9 14 ff ff ff       	jmp    0x90
- 17c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
- 180:	33 70 04             	xor    0x4(%eax),%esi
- 183:	83 c0 08             	add    $0x8,%eax
- 186:	8b 10                	mov    (%eax),%edx
- 188:	83 c9 08             	or     $0x8,%ecx
- 18b:	85 d2                	test   %edx,%edx
- 18d:	0f 85 d5 fe ff ff    	jne    0x68
- 193:	e9 f8 fe ff ff       	jmp    0x90
- 198:	33 70 04             	xor    0x4(%eax),%esi
- 19b:	83 c0 08             	add    $0x8,%eax
- 19e:	8b 10                	mov    (%eax),%edx
- 1a0:	83 c9 04             	or     $0x4,%ecx
- 1a3:	85 d2                	test   %edx,%edx
- 1a5:	0f 85 bd fe ff ff    	jne    0x68
- 1ab:	e9 e0 fe ff ff       	jmp    0x90
- 1b0:	33 58 04             	xor    0x4(%eax),%ebx
- 1b3:	83 c0 08             	add    $0x8,%eax
- 1b6:	8b 10                	mov    (%eax),%edx
- 1b8:	83 c9 02             	or     $0x2,%ecx
- 1bb:	85 d2                	test   %edx,%edx
- 1bd:	0f 85 a5 fe ff ff    	jne    0x68
- 1c3:	e9 c8 fe ff ff       	jmp    0x90
- 1c8:	33 58 04             	xor    0x4(%eax),%ebx
- 1cb:	83 c0 08             	add    $0x8,%eax
- 1ce:	8b 10                	mov    (%eax),%edx
- 1d0:	83 c9 01             	or     $0x1,%ecx
- 1d3:	85 d2                	test   %edx,%edx
- 1d5:	0f 85 8d fe ff ff    	jne    0x68
- 1db:	e9 b0 fe ff ff       	jmp    0x90
- 1e0:	8b 50 04             	mov    0x4(%eax),%edx
- 1e3:	83 c0 08             	add    $0x8,%eax
- 1e6:	89 55 dc             	mov    %edx,-0x24(%ebp)
- 1e9:	8b 10                	mov    (%eax),%edx
- 1eb:	85 d2                	test   %edx,%edx
- 1ed:	0f 85 75 fe ff ff    	jne    0x68
- 1f3:	e9 98 fe ff ff       	jmp    0x90
- 1f8:	8b 50 04             	mov    0x4(%eax),%edx
- 1fb:	83 c0 08             	add    $0x8,%eax
- 1fe:	89 55 d8             	mov    %edx,-0x28(%ebp)
- 201:	8b 10                	mov    (%eax),%edx
- 203:	85 d2                	test   %edx,%edx
- 205:	0f 85 5d fe ff ff    	jne    0x68
- 20b:	e9 80 fe ff ff       	jmp    0x90
+  e4:	0f b6 c0             	movzbl %al,%eax
+  e7:	a3 00 00 00 00       	mov    %eax,0x0
+  ec:	c7 05 00 00 00 00 01 	movl   $0x1,0x0
+  f3:	00 00 00 
+  f6:	83 c4 20             	add    $0x20,%esp
+  f9:	5b                   	pop    %ebx
+  fa:	5e                   	pop    %esi
+  fb:	5f                   	pop    %edi
+  fc:	5d                   	pop    %ebp
+  fd:	c3                   	ret    
+  fe:	66 90                	xchg   %ax,%ax
+ 100:	8b 50 04             	mov    0x4(%eax),%edx
+ 103:	83 c0 08             	add    $0x8,%eax
+ 106:	89 55 f0             	mov    %edx,-0x10(%ebp)
+ 109:	8b 10                	mov    (%eax),%edx
+ 10b:	85 d2                	test   %edx,%edx
+ 10d:	0f 85 55 ff ff ff    	jne    0x68
+ 113:	e9 78 ff ff ff       	jmp    0x90
+ 118:	8b 50 04             	mov    0x4(%eax),%edx
+ 11b:	83 c0 08             	add    $0x8,%eax
+ 11e:	b9 ff ff ff ff       	mov    $0xffffffff,%ecx
+ 123:	c7 45 ec 01 00 00 00 	movl   $0x1,-0x14(%ebp)
+ 12a:	89 55 e8             	mov    %edx,-0x18(%ebp)
+ 12d:	8b 10                	mov    (%eax),%edx
+ 12f:	85 d2                	test   %edx,%edx
+ 131:	0f 85 31 ff ff ff    	jne    0x68
+ 137:	e9 54 ff ff ff       	jmp    0x90
+ 13c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+ 140:	8b 50 04             	mov    0x4(%eax),%edx
+ 143:	83 c0 08             	add    $0x8,%eax
+ 146:	89 55 d4             	mov    %edx,-0x2c(%ebp)
+ 149:	8b 10                	mov    (%eax),%edx
+ 14b:	85 d2                	test   %edx,%edx
+ 14d:	0f 85 15 ff ff ff    	jne    0x68
+ 153:	e9 38 ff ff ff       	jmp    0x90
+ 158:	66 0f 6e 40 04       	movd   0x4(%eax),%xmm0
+ 15d:	83 c0 08             	add    $0x8,%eax
+ 160:	66 0f d6 45 e0       	movq   %xmm0,-0x20(%ebp)
+ 165:	8b 10                	mov    (%eax),%edx
+ 167:	85 d2                	test   %edx,%edx
+ 169:	0f 85 f9 fe ff ff    	jne    0x68
+ 16f:	e9 1c ff ff ff       	jmp    0x90
+ 174:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+ 178:	33 70 04             	xor    0x4(%eax),%esi
+ 17b:	83 c0 08             	add    $0x8,%eax
+ 17e:	8b 10                	mov    (%eax),%edx
+ 180:	83 c9 08             	or     $0x8,%ecx
+ 183:	85 d2                	test   %edx,%edx
+ 185:	0f 85 dd fe ff ff    	jne    0x68
+ 18b:	e9 00 ff ff ff       	jmp    0x90
+ 190:	33 70 04             	xor    0x4(%eax),%esi
+ 193:	83 c0 08             	add    $0x8,%eax
+ 196:	8b 10                	mov    (%eax),%edx
+ 198:	83 c9 04             	or     $0x4,%ecx
+ 19b:	85 d2                	test   %edx,%edx
+ 19d:	0f 85 c5 fe ff ff    	jne    0x68
+ 1a3:	e9 e8 fe ff ff       	jmp    0x90
+ 1a8:	33 58 04             	xor    0x4(%eax),%ebx
+ 1ab:	83 c0 08             	add    $0x8,%eax
+ 1ae:	8b 10                	mov    (%eax),%edx
+ 1b0:	83 c9 02             	or     $0x2,%ecx
+ 1b3:	85 d2                	test   %edx,%edx
+ 1b5:	0f 85 ad fe ff ff    	jne    0x68
+ 1bb:	e9 d0 fe ff ff       	jmp    0x90
+ 1c0:	33 58 04             	xor    0x4(%eax),%ebx
+ 1c3:	83 c0 08             	add    $0x8,%eax
+ 1c6:	8b 10                	mov    (%eax),%edx
+ 1c8:	83 c9 01             	or     $0x1,%ecx
+ 1cb:	85 d2                	test   %edx,%edx
+ 1cd:	0f 85 95 fe ff ff    	jne    0x68
+ 1d3:	e9 b8 fe ff ff       	jmp    0x90
+ 1d8:	8b 50 04             	mov    0x4(%eax),%edx
+ 1db:	83 c0 08             	add    $0x8,%eax
+ 1de:	89 55 dc             	mov    %edx,-0x24(%ebp)
+ 1e1:	8b 10                	mov    (%eax),%edx
+ 1e3:	85 d2                	test   %edx,%edx
+ 1e5:	0f 85 7d fe ff ff    	jne    0x68
+ 1eb:	e9 a0 fe ff ff       	jmp    0x90
+ 1f0:	8b 50 04             	mov    0x4(%eax),%edx
+ 1f3:	83 c0 08             	add    $0x8,%eax
+ 1f6:	89 55 d8             	mov    %edx,-0x28(%ebp)
+ 1f9:	8b 10                	mov    (%eax),%edx
+ 1fb:	85 d2                	test   %edx,%edx
+ 1fd:	0f 85 65 fe ff ff    	jne    0x68
+ 203:	e9 88 fe ff ff       	jmp    0x90
+ 208:	90                   	nop
+ 209:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
  210:	55                   	push   %ebp
  211:	b8 14 00 00 00       	mov    $0x14,%eax
  216:	89 e5                	mov    %esp,%ebp
--- /dev/fd/63	2012-05-05 15:41:47.000000000 +0200
+++ /dev/fd/62	2012-05-05 15:41:47.000000000 +0200
@@ -1,5 +1,5 @@
 
-../build-tree.good/kfreebsd-amd64-i386/string/strxfrm_l.o:     file format elf32-i386-freebsd
+build-tree/kfreebsd-amd64-i386/string/strxfrm_l.o:     file format elf32-i386-freebsd
 
 
 Disassembly of section .text:
@@ -366,8 +366,8 @@
  448:	0f 84 b9 04 00 00    	je     0x907
  44e:	8b 55 b4             	mov    -0x4c(%ebp),%edx
  451:	8b 4d b0             	mov    -0x50(%ebp),%ecx
- 454:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
- 45b:	c7 45 e0 ff ff ff ff 	movl   $0xffffffff,-0x20(%ebp)
+ 454:	c7 45 e0 ff ff ff ff 	movl   $0xffffffff,-0x20(%ebp)
+ 45b:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
  462:	83 ea 04             	sub    $0x4,%edx
  465:	a8 01                	test   $0x1,%al
  467:	89 55 d4             	mov    %edx,-0x2c(%ebp)
@@ -376,9 +376,9 @@
  472:	0f 84 24 01 00 00    	je     0x59c
  478:	83 7d e0 ff          	cmpl   $0xffffffff,-0x20(%ebp)
  47c:	0f 84 c6 00 00 00    	je     0x548
- 482:	8b 5d d8             	mov    -0x28(%ebp),%ebx
- 485:	39 5d e0             	cmp    %ebx,-0x20(%ebp)
- 488:	0f 83 ba 00 00 00    	jae    0x548
+ 482:	8b 5d e0             	mov    -0x20(%ebp),%ebx
+ 485:	39 5d d8             	cmp    %ebx,-0x28(%ebp)
+ 488:	0f 86 ba 00 00 00    	jbe    0x548
  48e:	8b 7d d8             	mov    -0x28(%ebp),%edi
  491:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
  494:	89 7d e8             	mov    %edi,-0x18(%ebp)
@@ -519,9 +519,9 @@
  632:	0f 84 cf 02 00 00    	je     0x907
  638:	8b 55 b4             	mov    -0x4c(%ebp),%edx
  63b:	8b 4d b0             	mov    -0x50(%ebp),%ecx
- 63e:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
+ 63e:	c7 45 e0 ff ff ff ff 	movl   $0xffffffff,-0x20(%ebp)
  645:	8b 7d dc             	mov    -0x24(%ebp),%edi
- 648:	c7 45 e0 ff ff ff ff 	movl   $0xffffffff,-0x20(%ebp)
+ 648:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
  64f:	83 ea 04             	sub    $0x4,%edx
  652:	a8 01                	test   $0x1,%al
  654:	89 55 d4             	mov    %edx,-0x2c(%ebp)
--- /dev/fd/63	2012-05-05 15:41:47.000000000 +0200
+++ /dev/fd/62	2012-05-05 15:41:47.000000000 +0200
@@ -1,5 +1,5 @@
 
-../build-tree.good/kfreebsd-amd64-i386/stdlib/fmtmsg.o:     file format elf32-i386-freebsd
+build-tree/kfreebsd-amd64-i386/stdlib/fmtmsg.o:     file format elf32-i386-freebsd
 
 
 Disassembly of section .text:
@@ -325,8 +325,8 @@
  3a2:	c7 45 1c 12 00 00 00 	movl   $0x12,0x1c(%ebp)
  3a9:	85 d2                	test   %edx,%edx
  3ab:	0f 85 5e 03 00 00    	jne    0x70f
- 3b1:	c7 45 18 12 00 00 00 	movl   $0x12,0x18(%ebp)
- 3b8:	c7 45 e8 12 00 00 00 	movl   $0x12,-0x18(%ebp)
+ 3b1:	c7 45 e8 12 00 00 00 	movl   $0x12,-0x18(%ebp)
+ 3b8:	c7 45 18 12 00 00 00 	movl   $0x12,0x18(%ebp)
  3bf:	c7 45 dc 12 00 00 00 	movl   $0x12,-0x24(%ebp)
  3c6:	8b 4d d8             	mov    -0x28(%ebp),%ecx
  3c9:	85 c9                	test   %ecx,%ecx
--- /dev/fd/63	2012-05-05 15:41:47.000000000 +0200
+++ /dev/fd/62	2012-05-05 15:41:47.000000000 +0200
@@ -1,5 +1,5 @@
 
-../build-tree.good/kfreebsd-amd64-i386/nscd/servicescache.o:     file format elf32-i386-freebsd
+build-tree/kfreebsd-amd64-i386/nscd/servicescache.o:     file format elf32-i386-freebsd
 
 
 Disassembly of section .text:
@@ -647,9 +647,9 @@
  a1c:	85 db                	test   %ebx,%ebx
  a1e:	89 45 c0             	mov    %eax,-0x40(%ebp)
  a21:	0f 8f fc 00 00 00    	jg     0xb23
- a27:	c6 45 d3 00          	movb   $0x0,-0x2d(%ebp)
- a2b:	bb 00 04 00 00       	mov    $0x400,%ebx
- a30:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
+ a27:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
+ a2e:	bb 00 04 00 00       	mov    $0x400,%ebx
+ a33:	c6 45 d3 00          	movb   $0x0,-0x2d(%ebp)
  a37:	90                   	nop
  a38:	8d 55 ec             	lea    -0x14(%ebp),%edx
  a3b:	8b 47 04             	mov    0x4(%edi),%eax
--- /dev/fd/63	2012-05-05 15:41:47.000000000 +0200
+++ /dev/fd/62	2012-05-05 15:41:47.000000000 +0200
@@ -1,5 +1,5 @@
 
-../build-tree.good/kfreebsd-amd64-i386/nscd/nscd_stat.o:     file format elf32-i386-freebsd
+build-tree/kfreebsd-amd64-i386/nscd/nscd_stat.o:     file format elf32-i386-freebsd
 
 
 Disassembly of section .text:
--- /dev/fd/63	2012-05-05 15:41:47.000000000 +0200
+++ /dev/fd/62	2012-05-05 15:41:47.000000000 +0200
@@ -1,5 +1,5 @@
 
-../build-tree.good/kfreebsd-amd64-i386/iconv/gconv_db.o:     file format elf32-i386-freebsd
+build-tree/kfreebsd-amd64-i386/iconv/gconv_db.o:     file format elf32-i386-freebsd
 
 
 Disassembly of section .text:
@@ -277,7 +277,7 @@
  310:	e8 fc ff ff ff       	call   0x311
  315:	85 c0                	test   %eax,%eax
  317:	89 43 f8             	mov    %eax,-0x8(%ebx)
- 31a:	0f 84 ad 06 00 00    	je     0x9cd
+ 31a:	0f 84 b5 06 00 00    	je     0x9d5
  320:	8b 50 0c             	mov    0xc(%eax),%edx
  323:	c7 43 10 00 00 00 00 	movl   $0x0,0x10(%ebx)
  32a:	89 53 0c             	mov    %edx,0xc(%ebx)
@@ -329,7 +329,7 @@
  3a8:	c2 0c 00             	ret    $0xc
  3ab:	8b 7d 08             	mov    0x8(%ebp),%edi
  3ae:	85 ff                	test   %edi,%edi
- 3b0:	0f 84 e5 06 00 00    	je     0xa9b
+ 3b0:	0f 84 ed 06 00 00    	je     0xaa3
  3b6:	8b 4d 08             	mov    0x8(%ebp),%ecx
  3b9:	83 ec 2c             	sub    $0x2c,%esp
  3bc:	8d 5c 24 1b          	lea    0x1b(%esp),%ebx
@@ -363,16 +363,16 @@
  43c:	8b 55 bc             	mov    -0x44(%ebp),%edx
  43f:	31 db                	xor    %ebx,%ebx
  441:	c7 45 d0 ff ff ff 7f 	movl   $0x7fffffff,-0x30(%ebp)
- 448:	c7 45 d8 ff ff ff 7f 	movl   $0x7fffffff,-0x28(%ebp)
+ 448:	c7 45 dc ff ff ff 7f 	movl   $0x7fffffff,-0x24(%ebp)
  44f:	89 5d c8             	mov    %ebx,-0x38(%ebp)
  452:	89 55 e0             	mov    %edx,-0x20(%ebp)
  455:	8d 76 00             	lea    0x0(%esi),%esi
  458:	8b 4d e0             	mov    -0x20(%ebp),%ecx
  45b:	8b 59 0c             	mov    0xc(%ecx),%ebx
- 45e:	3b 5d d8             	cmp    -0x28(%ebp),%ebx
+ 45e:	3b 5d dc             	cmp    -0x24(%ebp),%ebx
  461:	7f 45                	jg     0x4a8
- 463:	39 5d d8             	cmp    %ebx,-0x28(%ebp)
- 466:	0f 84 91 02 00 00    	je     0x6fd
+ 463:	39 5d dc             	cmp    %ebx,-0x24(%ebp)
+ 466:	0f 84 99 02 00 00    	je     0x705
  46c:	8b 3d 00 00 00 00    	mov    0x0,%edi
  472:	85 ff                	test   %edi,%edi
  474:	74 32                	je     0x4a8
@@ -395,14 +395,14 @@
  4a5:	75 e0                	jne    0x487
  4a7:	90                   	nop
  4a8:	8b 55 d0             	mov    -0x30(%ebp),%edx
- 4ab:	8b 45 d8             	mov    -0x28(%ebp),%eax
+ 4ab:	8b 45 dc             	mov    -0x24(%ebp),%eax
  4ae:	8b 4d e0             	mov    -0x20(%ebp),%ecx
  4b1:	8b 49 18             	mov    0x18(%ecx),%ecx
  4b4:	85 c9                	test   %ecx,%ecx
  4b6:	89 4d e0             	mov    %ecx,-0x20(%ebp)
- 4b9:	0f 84 56 02 00 00    	je     0x715
+ 4b9:	0f 84 5d 02 00 00    	je     0x71c
  4bf:	89 55 d0             	mov    %edx,-0x30(%ebp)
- 4c2:	89 45 d8             	mov    %eax,-0x28(%ebp)
+ 4c2:	89 45 dc             	mov    %eax,-0x24(%ebp)
  4c5:	eb 91                	jmp    0x458
  4c7:	8b 55 e0             	mov    -0x20(%ebp),%edx
  4ca:	8b 47 0c             	mov    0xc(%edi),%eax
@@ -411,16 +411,16 @@
  4d3:	8b 52 08             	mov    0x8(%edx),%edx
  4d6:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
  4d9:	01 d0                	add    %edx,%eax
- 4db:	89 45 dc             	mov    %eax,-0x24(%ebp)
+ 4db:	89 45 d8             	mov    %eax,-0x28(%ebp)
  4de:	66 90                	xchg   %ax,%ax
  4e0:	8b 5d c8             	mov    -0x38(%ebp),%ebx
  4e3:	85 db                	test   %ebx,%ebx
  4e5:	75 14                	jne    0x4fb
- 4e7:	e9 94 04 00 00       	jmp    0x980
+ 4e7:	e9 9c 04 00 00       	jmp    0x988
  4ec:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
  4f0:	8b 5b 18             	mov    0x18(%ebx),%ebx
  4f3:	85 db                	test   %ebx,%ebx
- 4f5:	0f 84 85 04 00 00    	je     0x980
+ 4f5:	0f 84 8d 04 00 00    	je     0x988
  4fb:	8b 03                	mov    (%ebx),%eax
  4fd:	89 34 24             	mov    %esi,(%esp)
  500:	89 44 24 04          	mov    %eax,0x4(%esp)
@@ -429,27 +429,27 @@
  50b:	75 e3                	jne    0x4f0
  50d:	8b 43 0c             	mov    0xc(%ebx),%eax
  510:	3b 45 d4             	cmp    -0x2c(%ebp),%eax
- 513:	0f 8f b3 01 00 00    	jg     0x6cc
+ 513:	0f 8f bb 01 00 00    	jg     0x6d4
  519:	39 45 d4             	cmp    %eax,-0x2c(%ebp)
- 51c:	0f 84 9e 01 00 00    	je     0x6c0
+ 51c:	0f 84 a6 01 00 00    	je     0x6c8
  522:	8b 45 d4             	mov    -0x2c(%ebp),%eax
- 525:	39 45 d8             	cmp    %eax,-0x28(%ebp)
- 528:	8b 55 dc             	mov    -0x24(%ebp),%edx
+ 525:	39 45 dc             	cmp    %eax,-0x24(%ebp)
+ 528:	8b 55 d8             	mov    -0x28(%ebp),%edx
  52b:	7f 19                	jg     0x546
  52d:	8b 4d d0             	mov    -0x30(%ebp),%ecx
  530:	39 ca                	cmp    %ecx,%edx
  532:	7d 0c                	jge    0x540
- 534:	3b 45 d8             	cmp    -0x28(%ebp),%eax
+ 534:	3b 45 dc             	cmp    -0x24(%ebp),%eax
  537:	74 0d                	je     0x546
  539:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
  540:	8b 55 d0             	mov    -0x30(%ebp),%edx
- 543:	8b 45 d8             	mov    -0x28(%ebp),%eax
+ 543:	8b 45 dc             	mov    -0x24(%ebp),%eax
  546:	8b 7f 18             	mov    0x18(%edi),%edi
  549:	85 ff                	test   %edi,%edi
  54b:	0f 84 5d ff ff ff    	je     0x4ae
  551:	8b 4d e0             	mov    -0x20(%ebp),%ecx
  554:	89 55 d0             	mov    %edx,-0x30(%ebp)
- 557:	89 45 d8             	mov    %eax,-0x28(%ebp)
+ 557:	89 45 dc             	mov    %eax,-0x24(%ebp)
  55a:	8b 59 0c             	mov    0xc(%ecx),%ebx
  55d:	8b 77 04             	mov    0x4(%edi),%esi
  560:	0f b6 06             	movzbl (%esi),%eax
@@ -469,7 +469,7 @@
  591:	8b 49 08             	mov    0x8(%ecx),%ecx
  594:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
  597:	01 c1                	add    %eax,%ecx
- 599:	89 4d dc             	mov    %ecx,-0x24(%ebp)
+ 599:	89 4d d8             	mov    %ecx,-0x28(%ebp)
  59c:	89 54 24 04          	mov    %edx,0x4(%esp)
  5a0:	89 34 24             	mov    %esi,(%esp)
  5a3:	e8 fc ff ff ff       	call   0x5a4
@@ -485,20 +485,20 @@
  5c6:	85 c0                	test   %eax,%eax
  5c8:	0f 84 12 ff ff ff    	je     0x4e0
  5ce:	8b 45 d4             	mov    -0x2c(%ebp),%eax
- 5d1:	39 45 d8             	cmp    %eax,-0x28(%ebp)
+ 5d1:	39 45 dc             	cmp    %eax,-0x24(%ebp)
  5d4:	7f 17                	jg     0x5ed
- 5d6:	8b 55 d8             	mov    -0x28(%ebp),%edx
+ 5d6:	8b 55 dc             	mov    -0x24(%ebp),%edx
  5d9:	39 d0                	cmp    %edx,%eax
  5db:	0f 85 5f ff ff ff    	jne    0x540
  5e1:	8b 4d d0             	mov    -0x30(%ebp),%ecx
- 5e4:	39 4d dc             	cmp    %ecx,-0x24(%ebp)
+ 5e4:	39 4d d8             	cmp    %ecx,-0x28(%ebp)
  5e7:	0f 8d 53 ff ff ff    	jge    0x540
  5ed:	8b 5d bc             	mov    -0x44(%ebp),%ebx
  5f0:	eb 11                	jmp    0x603
  5f2:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
  5f8:	8b 5b 18             	mov    0x18(%ebx),%ebx
  5fb:	85 db                	test   %ebx,%ebx
- 5fd:	0f 84 25 04 00 00    	je     0xa28
+ 5fd:	0f 84 2d 04 00 00    	je     0xa30
  603:	8b 03                	mov    (%ebx),%eax
  605:	89 34 24             	mov    %esi,(%esp)
  608:	89 44 24 04          	mov    %eax,0x4(%esp)
@@ -507,7 +507,7 @@
  613:	75 e3                	jne    0x5f8
  615:	8b 45 d4             	mov    -0x2c(%ebp),%eax
  618:	3b 43 0c             	cmp    0xc(%ebx),%eax
- 61b:	0f 8d c5 00 00 00    	jge    0x6e6
+ 61b:	0f 8d cd 00 00 00    	jge    0x6ee
  621:	8b 45 e0             	mov    -0x20(%ebp),%eax
  624:	8b 75 bc             	mov    -0x44(%ebp),%esi
  627:	89 7b 10             	mov    %edi,0x10(%ebx)
@@ -537,17 +537,17 @@
  665:	8b 4d c8             	mov    -0x38(%ebp),%ecx
  668:	85 c9                	test   %ecx,%ecx
  66a:	0f 84 d0 fe ff ff    	je     0x540
- 670:	89 7d dc             	mov    %edi,-0x24(%ebp)
+ 670:	8b 75 dc             	mov    -0x24(%ebp),%esi
  673:	8b 4d c8             	mov    -0x38(%ebp),%ecx
- 676:	8b 7d d0             	mov    -0x30(%ebp),%edi
- 679:	8b 75 d8             	mov    -0x28(%ebp),%esi
+ 676:	89 7d dc             	mov    %edi,-0x24(%ebp)
+ 679:	8b 7d d0             	mov    -0x30(%ebp),%edi
  67c:	eb 11                	jmp    0x68f
  67e:	66 90                	xchg   %ax,%ax
  680:	89 fa                	mov    %edi,%edx
  682:	89 f0                	mov    %esi,%eax
  684:	8b 49 18             	mov    0x18(%ecx),%ecx
  687:	85 c9                	test   %ecx,%ecx
- 689:	74 2d                	je     0x6b8
+ 689:	74 35                	je     0x6c0
  68b:	89 d7                	mov    %edx,%edi
  68d:	89 c6                	mov    %eax,%esi
  68f:	8b 51 14             	mov    0x14(%ecx),%edx
@@ -557,504 +557,518 @@
  69b:	8b 52 08             	mov    0x8(%edx),%edx
  69e:	89 41 0c             	mov    %eax,0xc(%ecx)
  6a1:	03 53 0c             	add    0xc(%ebx),%edx
- 6a4:	39 c6                	cmp    %eax,%esi
+ 6a4:	39 f0                	cmp    %esi,%eax
  6a6:	89 51 08             	mov    %edx,0x8(%ecx)
- 6a9:	7f d9                	jg     0x684
- 6ab:	75 d3                	jne    0x680
- 6ad:	39 fa                	cmp    %edi,%edx
- 6af:	7d cf                	jge    0x680
- 6b1:	8b 49 18             	mov    0x18(%ecx),%ecx
- 6b4:	85 c9                	test   %ecx,%ecx
- 6b6:	75 d3                	jne    0x68b
- 6b8:	8b 7d dc             	mov    -0x24(%ebp),%edi
- 6bb:	e9 86 fe ff ff       	jmp    0x546
- 6c0:	8b 55 dc             	mov    -0x24(%ebp),%edx
- 6c3:	39 53 08             	cmp    %edx,0x8(%ebx)
- 6c6:	0f 8e 56 fe ff ff    	jle    0x522
- 6cc:	8b 4d e0             	mov    -0x20(%ebp),%ecx
- 6cf:	8b 45 d4             	mov    -0x2c(%ebp),%eax
- 6d2:	8b 55 dc             	mov    -0x24(%ebp),%edx
- 6d5:	89 7b 10             	mov    %edi,0x10(%ebx)
- 6d8:	89 4b 14             	mov    %ecx,0x14(%ebx)
- 6db:	89 43 0c             	mov    %eax,0xc(%ebx)
- 6de:	89 53 08             	mov    %edx,0x8(%ebx)
- 6e1:	e9 3c fe ff ff       	jmp    0x522
- 6e6:	0f 85 54 fe ff ff    	jne    0x540
- 6ec:	8b 4d dc             	mov    -0x24(%ebp),%ecx
- 6ef:	3b 4b 08             	cmp    0x8(%ebx),%ecx
- 6f2:	0f 8d 48 fe ff ff    	jge    0x540
- 6f8:	e9 24 ff ff ff       	jmp    0x621
- 6fd:	8b 45 d0             	mov    -0x30(%ebp),%eax
- 700:	39 41 08             	cmp    %eax,0x8(%ecx)
- 703:	0f 8c 63 fd ff ff    	jl     0x46c
- 709:	8b 55 d0             	mov    -0x30(%ebp),%edx
- 70c:	8b 45 d8             	mov    -0x28(%ebp),%eax
- 70f:	90                   	nop
- 710:	e9 99 fd ff ff       	jmp    0x4ae
- 715:	8b 5d c8             	mov    -0x38(%ebp),%ebx
- 718:	85 db                	test   %ebx,%ebx
- 71a:	0f 84 51 03 00 00    	je     0xa71
- 720:	8b 43 18             	mov    0x18(%ebx),%eax
- 723:	85 c0                	test   %eax,%eax
- 725:	74 12                	je     0x739
- 727:	8b 53 0c             	mov    0xc(%ebx),%edx
- 72a:	39 50 0c             	cmp    %edx,0xc(%eax)
- 72d:	0f 8c 93 02 00 00    	jl     0x9c6
- 733:	0f 84 81 02 00 00    	je     0x9ba
- 739:	8b 55 08             	mov    0x8(%ebp),%edx
- 73c:	8b 45 c0             	mov    -0x40(%ebp),%eax
- 73f:	85 d2                	test   %edx,%edx
- 741:	0f 45 45 08          	cmovne 0x8(%ebp),%eax
- 745:	31 d2                	xor    %edx,%edx
- 747:	31 c9                	xor    %ecx,%ecx
- 749:	89 45 d8             	mov    %eax,-0x28(%ebp)
- 74c:	8b 43 14             	mov    0x14(%ebx),%eax
- 74f:	85 c0                	test   %eax,%eax
- 751:	74 12                	je     0x765
- 753:	90                   	nop
- 754:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
- 758:	8b 40 14             	mov    0x14(%eax),%eax
- 75b:	83 c2 01             	add    $0x1,%edx
- 75e:	85 c0                	test   %eax,%eax
- 760:	75 f6                	jne    0x758
- 762:	6b ca 3c             	imul   $0x3c,%edx,%ecx
- 765:	89 0c 24             	mov    %ecx,(%esp)
- 768:	89 55 b4             	mov    %edx,-0x4c(%ebp)
- 76b:	e8 fc ff ff ff       	call   0x76c
- 770:	8b 55 b4             	mov    -0x4c(%ebp),%edx
- 773:	85 c0                	test   %eax,%eax
- 775:	89 45 dc             	mov    %eax,-0x24(%ebp)
- 778:	0f 84 8c 02 00 00    	je     0xa0a
- 77e:	8b 4d 10             	mov    0x10(%ebp),%ecx
- 781:	85 d2                	test   %edx,%edx
- 783:	89 11                	mov    %edx,(%ecx)
- 785:	0f 84 18 01 00 00    	je     0x8a3
- 78b:	6b fa 3c             	imul   $0x3c,%edx,%edi
- 78e:	8d 72 ff             	lea    -0x1(%edx),%esi
- 791:	01 c7                	add    %eax,%edi
- 793:	eb 53                	jmp    0x7e8
- 795:	8d 76 00             	lea    0x0(%esi),%esi
- 798:	8b 43 14             	mov    0x14(%ebx),%eax
- 79b:	8b 00                	mov    (%eax),%eax
- 79d:	89 47 d0             	mov    %eax,-0x30(%edi)
- 7a0:	8b 45 10             	mov    0x10(%ebp),%eax
- 7a3:	39 10                	cmp    %edx,(%eax)
- 7a5:	74 66                	je     0x80d
- 7a7:	6b d2 3c             	imul   $0x3c,%edx,%edx
- 7aa:	8b 4d dc             	mov    -0x24(%ebp),%ecx
- 7ad:	8b 44 11 0c          	mov    0xc(%ecx,%edx,1),%eax
- 7b1:	89 47 d4             	mov    %eax,-0x2c(%edi)
- 7b4:	8b 43 10             	mov    0x10(%ebx),%eax
- 7b7:	c7 47 cc 01 00 00 00 	movl   $0x1,-0x34(%edi)
- 7be:	c7 47 fc 00 00 00 00 	movl   $0x0,-0x4(%edi)
- 7c5:	8b 40 10             	mov    0x10(%eax),%eax
- 7c8:	80 38 2f             	cmpb   $0x2f,(%eax)
- 7cb:	74 53                	je     0x820
- 7cd:	8b 55 e0             	mov    -0x20(%ebp),%edx
- 7d0:	e8 fc ff ff ff       	call   0x7d1
- 7d5:	85 f6                	test   %esi,%esi
- 7d7:	8b 5b 14             	mov    0x14(%ebx),%ebx
- 7da:	8b 7d e0             	mov    -0x20(%ebp),%edi
- 7dd:	0f 84 c0 00 00 00    	je     0x8a3
- 7e3:	89 f2                	mov    %esi,%edx
- 7e5:	83 ee 01             	sub    $0x1,%esi
- 7e8:	8d 47 c4             	lea    -0x3c(%edi),%eax
- 7eb:	85 f6                	test   %esi,%esi
- 7ed:	89 45 e0             	mov    %eax,-0x20(%ebp)
- 7f0:	75 a6                	jne    0x798
- 7f2:	8b 4d d8             	mov    -0x28(%ebp),%ecx
- 7f5:	89 0c 24             	mov    %ecx,(%esp)
- 7f8:	89 55 b4             	mov    %edx,-0x4c(%ebp)
- 7fb:	e8 fc ff ff ff       	call   0x7fc
- 800:	8b 55 b4             	mov    -0x4c(%ebp),%edx
- 803:	89 47 d0             	mov    %eax,-0x30(%edi)
- 806:	8b 45 10             	mov    0x10(%ebp),%eax
- 809:	39 10                	cmp    %edx,(%eax)
- 80b:	75 9a                	jne    0x7a7
- 80d:	8b 03                	mov    (%ebx),%eax
- 80f:	89 04 24             	mov    %eax,(%esp)
- 812:	e8 fc ff ff ff       	call   0x813
- 817:	eb 98                	jmp    0x7b1
- 819:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
- 820:	e8 fc ff ff ff       	call   0x821
- 825:	85 c0                	test   %eax,%eax
- 827:	0f 84 c0 02 00 00    	je     0xaed
- 82d:	8b 10                	mov    (%eax),%edx
- 82f:	89 47 c4             	mov    %eax,-0x3c(%edi)
- 832:	c7 47 dc 00 00 00 00 	movl   $0x0,-0x24(%edi)
- 839:	89 57 c8             	mov    %edx,-0x38(%edi)
- 83c:	8b 50 0c             	mov    0xc(%eax),%edx
- 83f:	89 57 d8             	mov    %edx,-0x28(%edi)
- 842:	8b 50 10             	mov    0x10(%eax),%edx
- 845:	8b 40 14             	mov    0x14(%eax),%eax
- 848:	85 d2                	test   %edx,%edx
- 84a:	89 57 e0             	mov    %edx,-0x20(%edi)
- 84d:	89 47 e4             	mov    %eax,-0x1c(%edi)
- 850:	74 83                	je     0x7d5
- 852:	c1 ca 09             	ror    $0x9,%edx
- 855:	65 33 15 18 00 00 00 	xor    %gs:0x18,%edx
- 85c:	89 14 24             	mov    %edx,(%esp)
- 85f:	89 55 b4             	mov    %edx,-0x4c(%ebp)
- 862:	e8 fc ff ff ff       	call   0x863
- 867:	8b 45 e0             	mov    -0x20(%ebp),%eax
- 86a:	89 04 24             	mov    %eax,(%esp)
- 86d:	8b 55 b4             	mov    -0x4c(%ebp),%edx
- 870:	ff d2                	call   *%edx
- 872:	85 c0                	test   %eax,%eax
- 874:	0f 85 98 02 00 00    	jne    0xb12
- 87a:	8b 47 dc             	mov    -0x24(%edi),%eax
- 87d:	85 c0                	test   %eax,%eax
- 87f:	0f 84 50 ff ff ff    	je     0x7d5
- 885:	8b 55 e0             	mov    -0x20(%ebp),%edx
- 888:	65 33 05 18 00 00 00 	xor    %gs:0x18,%eax
- 88f:	c1 c0 09             	rol    $0x9,%eax
- 892:	85 f6                	test   %esi,%esi
- 894:	8b 5b 14             	mov    0x14(%ebx),%ebx
- 897:	8b 7d e0             	mov    -0x20(%ebp),%edi
- 89a:	89 42 18             	mov    %eax,0x18(%edx)
- 89d:	0f 85 40 ff ff ff    	jne    0x7e3
- 8a3:	8b 45 dc             	mov    -0x24(%ebp),%eax
- 8a6:	31 d2                	xor    %edx,%edx
- 8a8:	8b 4d 0c             	mov    0xc(%ebp),%ecx
- 8ab:	89 01                	mov    %eax,(%ecx)
- 8ad:	8b 45 10             	mov    0x10(%ebp),%eax
- 8b0:	8b 4d 0c             	mov    0xc(%ebp),%ecx
- 8b3:	8b 00                	mov    (%eax),%eax
- 8b5:	8b 09                	mov    (%ecx),%ecx
- 8b7:	89 45 dc             	mov    %eax,-0x24(%ebp)
- 8ba:	89 4d e0             	mov    %ecx,-0x20(%ebp)
- 8bd:	8b 45 cc             	mov    -0x34(%ebp),%eax
- 8c0:	8b 7d 08             	mov    0x8(%ebp),%edi
- 8c3:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
- 8c6:	85 c0                	test   %eax,%eax
- 8c8:	8b 45 c0             	mov    -0x40(%ebp),%eax
- 8cb:	0f 45 4d cc          	cmovne -0x34(%ebp),%ecx
- 8cf:	85 ff                	test   %edi,%edi
- 8d1:	0f 45 45 08          	cmovne 0x8(%ebp),%eax
- 8d5:	89 4d cc             	mov    %ecx,-0x34(%ebp)
- 8d8:	89 45 08             	mov    %eax,0x8(%ebp)
- 8db:	89 04 24             	mov    %eax,(%esp)
- 8de:	89 55 b4             	mov    %edx,-0x4c(%ebp)
- 8e1:	e8 fc ff ff ff       	call   0x8e2
- 8e6:	8b 4d cc             	mov    -0x34(%ebp),%ecx
- 8e9:	89 0c 24             	mov    %ecx,(%esp)
- 8ec:	8d 70 01             	lea    0x1(%eax),%esi
- 8ef:	e8 fc ff ff ff       	call   0x8f0
- 8f4:	8d 78 01             	lea    0x1(%eax),%edi
- 8f7:	8d 44 3e 10          	lea    0x10(%esi,%edi,1),%eax
- 8fb:	89 04 24             	mov    %eax,(%esp)
- 8fe:	e8 fc ff ff ff       	call   0x8ff
- 903:	8b 55 b4             	mov    -0x4c(%ebp),%edx
- 906:	85 c0                	test   %eax,%eax
- 908:	89 c3                	mov    %eax,%ebx
- 90a:	0f 84 8f fa ff ff    	je     0x39f
- 910:	8d 40 10             	lea    0x10(%eax),%eax
- 913:	89 03                	mov    %eax,(%ebx)
- 915:	89 74 24 08          	mov    %esi,0x8(%esp)
- 919:	8b 4d 08             	mov    0x8(%ebp),%ecx
- 91c:	89 04 24             	mov    %eax,(%esp)
- 91f:	89 4c 24 04          	mov    %ecx,0x4(%esp)
- 923:	e8 fc ff ff ff       	call   0x924
- 928:	89 7c 24 08          	mov    %edi,0x8(%esp)
- 92c:	8b 4d cc             	mov    -0x34(%ebp),%ecx
- 92f:	89 4c 24 04          	mov    %ecx,0x4(%esp)
- 933:	89 04 24             	mov    %eax,(%esp)
- 936:	e8 fc ff ff ff       	call   0x937
- 93b:	8b 4d dc             	mov    -0x24(%ebp),%ecx
- 93e:	89 4b 0c             	mov    %ecx,0xc(%ebx)
- 941:	89 43 04             	mov    %eax,0x4(%ebx)
- 944:	8b 45 e0             	mov    -0x20(%ebp),%eax
- 947:	89 43 08             	mov    %eax,0x8(%ebx)
- 94a:	c7 44 24 08 20 00 00 	movl   $0x20,0x8(%esp)
- 951:	00 
- 952:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
- 959:	00 
- 95a:	89 1c 24             	mov    %ebx,(%esp)
- 95d:	e8 fc ff ff ff       	call   0x95e
- 962:	8b 55 b4             	mov    -0x4c(%ebp),%edx
- 965:	85 c0                	test   %eax,%eax
- 967:	0f 85 32 fa ff ff    	jne    0x39f
- 96d:	89 1c 24             	mov    %ebx,(%esp)
- 970:	e8 fc ff ff ff       	call   0x971
- 975:	8b 55 b4             	mov    -0x4c(%ebp),%edx
- 978:	e9 22 fa ff ff       	jmp    0x39f
- 97d:	8d 76 00             	lea    0x0(%esi),%esi
- 980:	83 ec 2c             	sub    $0x2c,%esp
- 983:	8d 5c 24 1b          	lea    0x1b(%esp),%ebx
- 987:	83 e3 f0             	and    $0xfffffff0,%ebx
- 98a:	89 33                	mov    %esi,(%ebx)
- 98c:	89 34 24             	mov    %esi,(%esp)
- 98f:	e8 fc ff ff ff       	call   0x990
- 994:	8b 55 dc             	mov    -0x24(%ebp),%edx
- 997:	8b 4d e0             	mov    -0x20(%ebp),%ecx
- 99a:	89 7b 10             	mov    %edi,0x10(%ebx)
- 99d:	89 53 08             	mov    %edx,0x8(%ebx)
- 9a0:	89 4b 14             	mov    %ecx,0x14(%ebx)
- 9a3:	89 43 04             	mov    %eax,0x4(%ebx)
- 9a6:	8b 45 d4             	mov    -0x2c(%ebp),%eax
- 9a9:	89 43 0c             	mov    %eax,0xc(%ebx)
- 9ac:	8b 45 c8             	mov    -0x38(%ebp),%eax
- 9af:	89 5d c8             	mov    %ebx,-0x38(%ebp)
- 9b2:	89 43 18             	mov    %eax,0x18(%ebx)
- 9b5:	e9 68 fb ff ff       	jmp    0x522
- 9ba:	8b 50 08             	mov    0x8(%eax),%edx
- 9bd:	3b 53 08             	cmp    0x8(%ebx),%edx
- 9c0:	0f 8d 73 fd ff ff    	jge    0x739
- 9c6:	89 c3                	mov    %eax,%ebx
- 9c8:	e9 6c fd ff ff       	jmp    0x739
- 9cd:	8b 55 e0             	mov    -0x20(%ebp),%edx
- 9d0:	83 6a 08 01          	subl   $0x1,0x8(%edx)
- 9d4:	39 75 dc             	cmp    %esi,-0x24(%ebp)
- 9d7:	76 20                	jbe    0x9f9
- 9d9:	6b de 3c             	imul   $0x3c,%esi,%ebx
- 9dc:	8b 7d dc             	mov    -0x24(%ebp),%edi
- 9df:	03 5d d8             	add    -0x28(%ebp),%ebx
- 9e2:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
- 9e8:	89 d8                	mov    %ebx,%eax
- 9ea:	83 c6 01             	add    $0x1,%esi
- 9ed:	e8 fc ff ff ff       	call   0x9ee
- 9f2:	83 c3 3c             	add    $0x3c,%ebx
- 9f5:	39 f7                	cmp    %esi,%edi
- 9f7:	77 ef                	ja     0x9e8
- 9f9:	ba 01 00 00 00       	mov    $0x1,%edx
- 9fe:	8d 65 f4             	lea    -0xc(%ebp),%esp
- a01:	89 d0                	mov    %edx,%eax
- a03:	5b                   	pop    %ebx
- a04:	5e                   	pop    %esi
- a05:	5f                   	pop    %edi
- a06:	5d                   	pop    %ebp
- a07:	c2 0c 00             	ret    $0xc
- a0a:	8b 55 10             	mov    0x10(%ebp),%edx
- a0d:	8b 4d 0c             	mov    0xc(%ebp),%ecx
- a10:	c7 02 00 00 00 00    	movl   $0x0,(%edx)
- a16:	ba 03 00 00 00       	mov    $0x3,%edx
- a1b:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
- a21:	e9 87 fe ff ff       	jmp    0x8ad
- a26:	66 90                	xchg   %ax,%ax
- a28:	83 ec 2c             	sub    $0x2c,%esp
- a2b:	8d 5c 24 1b          	lea    0x1b(%esp),%ebx
- a2f:	83 e3 f0             	and    $0xfffffff0,%ebx
- a32:	89 33                	mov    %esi,(%ebx)
- a34:	89 34 24             	mov    %esi,(%esp)
- a37:	e8 fc ff ff ff       	call   0xa38
- a3c:	8b 55 d4             	mov    -0x2c(%ebp),%edx
- a3f:	8b 4d dc             	mov    -0x24(%ebp),%ecx
- a42:	c7 43 18 00 00 00 00 	movl   $0x0,0x18(%ebx)
- a49:	89 7b 10             	mov    %edi,0x10(%ebx)
- a4c:	89 53 0c             	mov    %edx,0xc(%ebx)
- a4f:	8b 55 b8             	mov    -0x48(%ebp),%edx
- a52:	89 4b 08             	mov    %ecx,0x8(%ebx)
- a55:	89 43 04             	mov    %eax,0x4(%ebx)
- a58:	8b 45 e0             	mov    -0x20(%ebp),%eax
- a5b:	89 43 14             	mov    %eax,0x14(%ebx)
- a5e:	8b 45 d8             	mov    -0x28(%ebp),%eax
- a61:	89 1a                	mov    %ebx,(%edx)
- a63:	83 c3 18             	add    $0x18,%ebx
- a66:	8b 55 d0             	mov    -0x30(%ebp),%edx
- a69:	89 5d b8             	mov    %ebx,-0x48(%ebp)
- a6c:	e9 d5 fa ff ff       	jmp    0x546
- a71:	8b 55 10             	mov    0x10(%ebp),%edx
- a74:	8b 45 0c             	mov    0xc(%ebp),%eax
- a77:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
- a7e:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
- a85:	c7 02 00 00 00 00    	movl   $0x0,(%edx)
- a8b:	ba 01 00 00 00       	mov    $0x1,%edx
- a90:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
- a96:	e9 22 fe ff ff       	jmp    0x8bd
- a9b:	8b 4d c0             	mov    -0x40(%ebp),%ecx
- a9e:	83 ec 2c             	sub    $0x2c,%esp
- aa1:	31 c0                	xor    %eax,%eax
- aa3:	8b 7d c0             	mov    -0x40(%ebp),%edi
- aa6:	8d 54 24 1b          	lea    0x1b(%esp),%edx
- aaa:	83 e2 f0             	and    $0xfffffff0,%edx
- aad:	89 0a                	mov    %ecx,(%edx)
- aaf:	83 c9 ff             	or     $0xffffffff,%ecx
- ab2:	f2 ae                	repnz scas %es:(%edi),%al
- ab4:	8d 42 18             	lea    0x18(%edx),%eax
- ab7:	c7 42 0c 00 00 00 00 	movl   $0x0,0xc(%edx)
- abe:	c7 42 08 00 00 00 00 	movl   $0x0,0x8(%edx)
- ac5:	c7 42 10 00 00 00 00 	movl   $0x0,0x10(%edx)
- acc:	c7 42 14 00 00 00 00 	movl   $0x0,0x14(%edx)
- ad3:	c7 42 18 00 00 00 00 	movl   $0x0,0x18(%edx)
- ada:	f7 d1                	not    %ecx
- adc:	83 e9 01             	sub    $0x1,%ecx
- adf:	89 4a 04             	mov    %ecx,0x4(%edx)
- ae2:	89 45 b8             	mov    %eax,-0x48(%ebp)
- ae5:	89 55 bc             	mov    %edx,-0x44(%ebp)
- ae8:	e9 4f f9 ff ff       	jmp    0x43c
- aed:	31 d2                	xor    %edx,%edx
- aef:	83 c6 01             	add    $0x1,%esi
- af2:	8b 5d dc             	mov    -0x24(%ebp),%ebx
- af5:	89 d7                	mov    %edx,%edi
- af7:	6b c6 3c             	imul   $0x3c,%esi,%eax
- afa:	01 c3                	add    %eax,%ebx
- afc:	8b 4d 10             	mov    0x10(%ebp),%ecx
- aff:	3b 31                	cmp    (%ecx),%esi
- b01:	73 24                	jae    0xb27
- b03:	89 d8                	mov    %ebx,%eax
- b05:	83 c6 01             	add    $0x1,%esi
- b08:	e8 fc ff ff ff       	call   0xb09
- b0d:	83 c3 3c             	add    $0x3c,%ebx
- b10:	eb ea                	jmp    0xafc
- b12:	83 ee 01             	sub    $0x1,%esi
- b15:	89 c2                	mov    %eax,%edx
- b17:	8b 4d dc             	mov    -0x24(%ebp),%ecx
- b1a:	6b c6 3c             	imul   $0x3c,%esi,%eax
- b1d:	c7 44 01 20 00 00 00 	movl   $0x0,0x20(%ecx,%eax,1)
- b24:	00 
- b25:	eb c8                	jmp    0xaef
- b27:	8b 45 dc             	mov    -0x24(%ebp),%eax
- b2a:	89 04 24             	mov    %eax,(%esp)
- b2d:	89 7d b4             	mov    %edi,-0x4c(%ebp)
- b30:	e8 fc ff ff ff       	call   0xb31
- b35:	8b 45 0c             	mov    0xc(%ebp),%eax
- b38:	8b 55 b4             	mov    -0x4c(%ebp),%edx
- b3b:	8b 4d 10             	mov    0x10(%ebp),%ecx
- b3e:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
- b44:	b8 01 00 00 00       	mov    $0x1,%eax
- b49:	85 d2                	test   %edx,%edx
- b4b:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
- b51:	0f 44 d0             	cmove  %eax,%edx
- b54:	e9 54 fd ff ff       	jmp    0x8ad
- b59:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
- b60:	55                   	push   %ebp
- b61:	89 e5                	mov    %esp,%ebp
- b63:	83 ec 20             	sub    $0x20,%esp
- b66:	89 75 f8             	mov    %esi,-0x8(%ebp)
- b69:	89 c6                	mov    %eax,%esi
- b6b:	b8 00 00 00 00       	mov    $0x0,%eax
- b70:	85 c0                	test   %eax,%eax
- b72:	89 5d f4             	mov    %ebx,-0xc(%ebp)
- b75:	89 d3                	mov    %edx,%ebx
- b77:	89 7d fc             	mov    %edi,-0x4(%ebp)
- b7a:	89 cf                	mov    %ecx,%edi
- b7c:	0f 84 15 01 00 00    	je     0xc97
- b82:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
- b89:	00 
- b8a:	c7 04 24 04 00 00 00 	movl   $0x4,(%esp)
- b91:	e8 fc ff ff ff       	call   0xb92
- b96:	b8 00 00 00 00       	mov    $0x0,%eax
- b9b:	85 c0                	test   %eax,%eax
- b9d:	74 0c                	je     0xbab
- b9f:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
- ba6:	e8 fc ff ff ff       	call   0xba7
- bab:	8b 45 0c             	mov    0xc(%ebp),%eax
- bae:	89 da                	mov    %ebx,%edx
- bb0:	89 f9                	mov    %edi,%ecx
- bb2:	89 44 24 04          	mov    %eax,0x4(%esp)
- bb6:	8b 45 08             	mov    0x8(%ebp),%eax
- bb9:	89 04 24             	mov    %eax,(%esp)
- bbc:	89 f0                	mov    %esi,%eax
- bbe:	e8 fc ff ff ff       	call   0xbbf
- bc3:	83 ec 08             	sub    $0x8,%esp
- bc6:	83 f8 02             	cmp    $0x2,%eax
- bc9:	89 c2                	mov    %eax,%edx
- bcb:	74 33                	je     0xc00
- bcd:	b8 00 00 00 00       	mov    $0x0,%eax
- bd2:	85 c0                	test   %eax,%eax
- bd4:	74 12                	je     0xbe8
- bd6:	89 55 ec             	mov    %edx,-0x14(%ebp)
- bd9:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
- be0:	e8 fc ff ff ff       	call   0xbe1
- be5:	8b 55 ec             	mov    -0x14(%ebp),%edx
- be8:	8b 5d f4             	mov    -0xc(%ebp),%ebx
- beb:	89 d0                	mov    %edx,%eax
- bed:	8b 75 f8             	mov    -0x8(%ebp),%esi
- bf0:	8b 7d fc             	mov    -0x4(%ebp),%edi
- bf3:	89 ec                	mov    %ebp,%esp
- bf5:	5d                   	pop    %ebp
- bf6:	c2 08 00             	ret    $0x8
- bf9:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
- c00:	8b 0d 00 00 00 00    	mov    0x0,%ecx
- c06:	85 c9                	test   %ecx,%ecx
- c08:	74 6e                	je     0xc78
- c0a:	89 d8                	mov    %ebx,%eax
- c0c:	e8 7f f4 ff ff       	call   0x90
- c11:	89 45 f0             	mov    %eax,-0x10(%ebp)
- c14:	89 f0                	mov    %esi,%eax
- c16:	e8 75 f4 ff ff       	call   0x90
- c1b:	f6 45 0c 01          	testb  $0x1,0xc(%ebp)
- c1f:	89 c2                	mov    %eax,%edx
- c21:	0f 85 91 00 00 00    	jne    0xcb8
- c27:	8b 45 08             	mov    0x8(%ebp),%eax
- c2a:	89 d9                	mov    %ebx,%ecx
- c2c:	89 7c 24 04          	mov    %edi,0x4(%esp)
- c30:	89 44 24 08          	mov    %eax,0x8(%esp)
- c34:	8b 45 f0             	mov    -0x10(%ebp),%eax
- c37:	89 04 24             	mov    %eax,(%esp)
- c3a:	89 f0                	mov    %esi,%eax
- c3c:	e8 4f f6 ff ff       	call   0x290
- c41:	89 c2                	mov    %eax,%edx
- c43:	b8 00 00 00 00       	mov    $0x0,%eax
- c48:	83 ec 0c             	sub    $0xc,%esp
- c4b:	85 c0                	test   %eax,%eax
- c4d:	74 12                	je     0xc61
- c4f:	89 55 ec             	mov    %edx,-0x14(%ebp)
- c52:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
- c59:	e8 fc ff ff ff       	call   0xc5a
- c5e:	8b 55 ec             	mov    -0x14(%ebp),%edx
- c61:	85 d2                	test   %edx,%edx
- c63:	75 83                	jne    0xbe8
- c65:	31 d2                	xor    %edx,%edx
- c67:	83 3f 00             	cmpl   $0x0,(%edi)
- c6a:	0f 94 c2             	sete   %dl
- c6d:	e9 76 ff ff ff       	jmp    0xbe8
- c72:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
- c78:	b8 00 00 00 00       	mov    $0x0,%eax
- c7d:	85 c0                	test   %eax,%eax
- c7f:	74 0c                	je     0xc8d
- c81:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
- c88:	e8 fc ff ff ff       	call   0xc89
- c8d:	ba 01 00 00 00       	mov    $0x1,%edx
- c92:	e9 51 ff ff ff       	jmp    0xbe8
- c97:	83 3d 04 00 00 00 00 	cmpl   $0x0,0x4
- c9e:	0f 85 f2 fe ff ff    	jne    0xb96
- ca4:	e8 fc ff ff ff       	call   0xca5
- ca9:	c7 05 04 00 00 00 02 	movl   $0x2,0x4
- cb0:	00 00 00 
- cb3:	e9 de fe ff ff       	jmp    0xb96
- cb8:	89 5c 24 04          	mov    %ebx,0x4(%esp)
- cbc:	89 34 24             	mov    %esi,(%esp)
- cbf:	89 45 ec             	mov    %eax,-0x14(%ebp)
- cc2:	e8 fc ff ff ff       	call   0xcc3
- cc7:	8b 55 ec             	mov    -0x14(%ebp),%edx
- cca:	85 c0                	test   %eax,%eax
- ccc:	74 5c                	je     0xd2a
- cce:	85 d2                	test   %edx,%edx
- cd0:	74 13                	je     0xce5
- cd2:	89 14 24             	mov    %edx,(%esp)
- cd5:	89 5c 24 04          	mov    %ebx,0x4(%esp)
- cd9:	e8 fc ff ff ff       	call   0xcda
- cde:	8b 55 ec             	mov    -0x14(%ebp),%edx
- ce1:	85 c0                	test   %eax,%eax
- ce3:	74 45                	je     0xd2a
- ce5:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
- ce9:	0f 84 38 ff ff ff    	je     0xc27
- cef:	8b 45 f0             	mov    -0x10(%ebp),%eax
- cf2:	89 34 24             	mov    %esi,(%esp)
- cf5:	89 55 ec             	mov    %edx,-0x14(%ebp)
- cf8:	89 44 24 04          	mov    %eax,0x4(%esp)
- cfc:	e8 fc ff ff ff       	call   0xcfd
- d01:	8b 55 ec             	mov    -0x14(%ebp),%edx
- d04:	85 c0                	test   %eax,%eax
- d06:	74 22                	je     0xd2a
- d08:	85 d2                	test   %edx,%edx
- d0a:	0f 84 17 ff ff ff    	je     0xc27
- d10:	8b 45 f0             	mov    -0x10(%ebp),%eax
- d13:	89 14 24             	mov    %edx,(%esp)
- d16:	89 44 24 04          	mov    %eax,0x4(%esp)
- d1a:	e8 fc ff ff ff       	call   0xd1b
- d1f:	8b 55 ec             	mov    -0x14(%ebp),%edx
- d22:	85 c0                	test   %eax,%eax
- d24:	0f 85 fd fe ff ff    	jne    0xc27
- d2a:	b8 00 00 00 00       	mov    $0x0,%eax
- d2f:	83 ca ff             	or     $0xffffffff,%edx
+ 6a9:	7c d9                	jl     0x684
+ 6ab:	39 c6                	cmp    %eax,%esi
+ 6ad:	75 d1                	jne    0x680
+ 6af:	39 fa                	cmp    %edi,%edx
+ 6b1:	7d cd                	jge    0x680
+ 6b3:	8b 49 18             	mov    0x18(%ecx),%ecx
+ 6b6:	85 c9                	test   %ecx,%ecx
+ 6b8:	75 d1                	jne    0x68b
+ 6ba:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
+ 6c0:	8b 7d dc             	mov    -0x24(%ebp),%edi
+ 6c3:	e9 7e fe ff ff       	jmp    0x546
+ 6c8:	8b 55 d8             	mov    -0x28(%ebp),%edx
+ 6cb:	39 53 08             	cmp    %edx,0x8(%ebx)
+ 6ce:	0f 8e 4e fe ff ff    	jle    0x522
+ 6d4:	8b 4d e0             	mov    -0x20(%ebp),%ecx
+ 6d7:	8b 45 d4             	mov    -0x2c(%ebp),%eax
+ 6da:	8b 55 d8             	mov    -0x28(%ebp),%edx
+ 6dd:	89 7b 10             	mov    %edi,0x10(%ebx)
+ 6e0:	89 4b 14             	mov    %ecx,0x14(%ebx)
+ 6e3:	89 43 0c             	mov    %eax,0xc(%ebx)
+ 6e6:	89 53 08             	mov    %edx,0x8(%ebx)
+ 6e9:	e9 34 fe ff ff       	jmp    0x522
+ 6ee:	0f 85 4c fe ff ff    	jne    0x540
+ 6f4:	8b 4d d8             	mov    -0x28(%ebp),%ecx
+ 6f7:	3b 4b 08             	cmp    0x8(%ebx),%ecx
+ 6fa:	0f 8d 40 fe ff ff    	jge    0x540
+ 700:	e9 1c ff ff ff       	jmp    0x621
+ 705:	8b 45 d0             	mov    -0x30(%ebp),%eax
+ 708:	39 41 08             	cmp    %eax,0x8(%ecx)
+ 70b:	0f 8c 5b fd ff ff    	jl     0x46c
+ 711:	8b 55 d0             	mov    -0x30(%ebp),%edx
+ 714:	8b 45 dc             	mov    -0x24(%ebp),%eax
+ 717:	e9 92 fd ff ff       	jmp    0x4ae
+ 71c:	8b 5d c8             	mov    -0x38(%ebp),%ebx
+ 71f:	85 db                	test   %ebx,%ebx
+ 721:	0f 84 52 03 00 00    	je     0xa79
+ 727:	8b 43 18             	mov    0x18(%ebx),%eax
+ 72a:	85 c0                	test   %eax,%eax
+ 72c:	74 12                	je     0x740
+ 72e:	8b 53 0c             	mov    0xc(%ebx),%edx
+ 731:	39 50 0c             	cmp    %edx,0xc(%eax)
+ 734:	0f 8c 94 02 00 00    	jl     0x9ce
+ 73a:	0f 84 82 02 00 00    	je     0x9c2
+ 740:	8b 55 08             	mov    0x8(%ebp),%edx
+ 743:	8b 45 c0             	mov    -0x40(%ebp),%eax
+ 746:	85 d2                	test   %edx,%edx
+ 748:	0f 45 45 08          	cmovne 0x8(%ebp),%eax
+ 74c:	31 d2                	xor    %edx,%edx
+ 74e:	31 c9                	xor    %ecx,%ecx
+ 750:	89 45 d8             	mov    %eax,-0x28(%ebp)
+ 753:	8b 43 14             	mov    0x14(%ebx),%eax
+ 756:	85 c0                	test   %eax,%eax
+ 758:	74 13                	je     0x76d
+ 75a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
+ 760:	8b 40 14             	mov    0x14(%eax),%eax
+ 763:	83 c2 01             	add    $0x1,%edx
+ 766:	85 c0                	test   %eax,%eax
+ 768:	75 f6                	jne    0x760
+ 76a:	6b ca 3c             	imul   $0x3c,%edx,%ecx
+ 76d:	89 0c 24             	mov    %ecx,(%esp)
+ 770:	89 55 b4             	mov    %edx,-0x4c(%ebp)
+ 773:	e8 fc ff ff ff       	call   0x774
+ 778:	8b 55 b4             	mov    -0x4c(%ebp),%edx
+ 77b:	85 c0                	test   %eax,%eax
+ 77d:	89 45 dc             	mov    %eax,-0x24(%ebp)
+ 780:	0f 84 8c 02 00 00    	je     0xa12
+ 786:	8b 4d 10             	mov    0x10(%ebp),%ecx
+ 789:	85 d2                	test   %edx,%edx
+ 78b:	89 11                	mov    %edx,(%ecx)
+ 78d:	0f 84 19 01 00 00    	je     0x8ac
+ 793:	6b fa 3c             	imul   $0x3c,%edx,%edi
+ 796:	8d 72 ff             	lea    -0x1(%edx),%esi
+ 799:	01 c7                	add    %eax,%edi
+ 79b:	eb 53                	jmp    0x7f0
+ 79d:	8d 76 00             	lea    0x0(%esi),%esi
+ 7a0:	8b 43 14             	mov    0x14(%ebx),%eax
+ 7a3:	8b 00                	mov    (%eax),%eax
+ 7a5:	89 47 d0             	mov    %eax,-0x30(%edi)
+ 7a8:	8b 45 10             	mov    0x10(%ebp),%eax
+ 7ab:	39 10                	cmp    %edx,(%eax)
+ 7ad:	74 66                	je     0x815
+ 7af:	6b d2 3c             	imul   $0x3c,%edx,%edx
+ 7b2:	8b 4d dc             	mov    -0x24(%ebp),%ecx
+ 7b5:	8b 44 11 0c          	mov    0xc(%ecx,%edx,1),%eax
+ 7b9:	89 47 d4             	mov    %eax,-0x2c(%edi)
+ 7bc:	8b 43 10             	mov    0x10(%ebx),%eax
+ 7bf:	c7 47 cc 01 00 00 00 	movl   $0x1,-0x34(%edi)
+ 7c6:	c7 47 fc 00 00 00 00 	movl   $0x0,-0x4(%edi)
+ 7cd:	8b 40 10             	mov    0x10(%eax),%eax
+ 7d0:	80 38 2f             	cmpb   $0x2f,(%eax)
+ 7d3:	74 53                	je     0x828
+ 7d5:	8b 55 e0             	mov    -0x20(%ebp),%edx
+ 7d8:	e8 fc ff ff ff       	call   0x7d9
+ 7dd:	85 f6                	test   %esi,%esi
+ 7df:	8b 5b 14             	mov    0x14(%ebx),%ebx
+ 7e2:	8b 7d e0             	mov    -0x20(%ebp),%edi
+ 7e5:	0f 84 c1 00 00 00    	je     0x8ac
+ 7eb:	89 f2                	mov    %esi,%edx
+ 7ed:	83 ee 01             	sub    $0x1,%esi
+ 7f0:	8d 47 c4             	lea    -0x3c(%edi),%eax
+ 7f3:	85 f6                	test   %esi,%esi
+ 7f5:	89 45 e0             	mov    %eax,-0x20(%ebp)
+ 7f8:	75 a6                	jne    0x7a0
+ 7fa:	8b 4d d8             	mov    -0x28(%ebp),%ecx
+ 7fd:	89 0c 24             	mov    %ecx,(%esp)
+ 800:	89 55 b4             	mov    %edx,-0x4c(%ebp)
+ 803:	e8 fc ff ff ff       	call   0x804
+ 808:	8b 55 b4             	mov    -0x4c(%ebp),%edx
+ 80b:	89 47 d0             	mov    %eax,-0x30(%edi)
+ 80e:	8b 45 10             	mov    0x10(%ebp),%eax
+ 811:	39 10                	cmp    %edx,(%eax)
+ 813:	75 9a                	jne    0x7af
+ 815:	8b 03                	mov    (%ebx),%eax
+ 817:	89 04 24             	mov    %eax,(%esp)
+ 81a:	e8 fc ff ff ff       	call   0x81b
+ 81f:	eb 98                	jmp    0x7b9
+ 821:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
+ 828:	e8 fc ff ff ff       	call   0x829
+ 82d:	85 c0                	test   %eax,%eax
+ 82f:	90                   	nop
+ 830:	0f 84 bf 02 00 00    	je     0xaf5
+ 836:	8b 10                	mov    (%eax),%edx
+ 838:	89 47 c4             	mov    %eax,-0x3c(%edi)
+ 83b:	c7 47 dc 00 00 00 00 	movl   $0x0,-0x24(%edi)
+ 842:	89 57 c8             	mov    %edx,-0x38(%edi)
+ 845:	8b 50 0c             	mov    0xc(%eax),%edx
+ 848:	89 57 d8             	mov    %edx,-0x28(%edi)
+ 84b:	8b 50 10             	mov    0x10(%eax),%edx
+ 84e:	8b 40 14             	mov    0x14(%eax),%eax
+ 851:	85 d2                	test   %edx,%edx
+ 853:	89 57 e0             	mov    %edx,-0x20(%edi)
+ 856:	89 47 e4             	mov    %eax,-0x1c(%edi)
+ 859:	74 82                	je     0x7dd
+ 85b:	c1 ca 09             	ror    $0x9,%edx
+ 85e:	65 33 15 18 00 00 00 	xor    %gs:0x18,%edx
+ 865:	89 14 24             	mov    %edx,(%esp)
+ 868:	89 55 b4             	mov    %edx,-0x4c(%ebp)
+ 86b:	e8 fc ff ff ff       	call   0x86c
+ 870:	8b 45 e0             	mov    -0x20(%ebp),%eax
+ 873:	89 04 24             	mov    %eax,(%esp)
+ 876:	8b 55 b4             	mov    -0x4c(%ebp),%edx
+ 879:	ff d2                	call   *%edx
+ 87b:	85 c0                	test   %eax,%eax
+ 87d:	0f 85 97 02 00 00    	jne    0xb1a
+ 883:	8b 47 dc             	mov    -0x24(%edi),%eax
+ 886:	85 c0                	test   %eax,%eax
+ 888:	0f 84 4f ff ff ff    	je     0x7dd
+ 88e:	8b 55 e0             	mov    -0x20(%ebp),%edx
+ 891:	65 33 05 18 00 00 00 	xor    %gs:0x18,%eax
+ 898:	c1 c0 09             	rol    $0x9,%eax
+ 89b:	85 f6                	test   %esi,%esi
+ 89d:	8b 5b 14             	mov    0x14(%ebx),%ebx
+ 8a0:	8b 7d e0             	mov    -0x20(%ebp),%edi
+ 8a3:	89 42 18             	mov    %eax,0x18(%edx)
+ 8a6:	0f 85 3f ff ff ff    	jne    0x7eb
+ 8ac:	8b 45 dc             	mov    -0x24(%ebp),%eax
+ 8af:	31 d2                	xor    %edx,%edx
+ 8b1:	8b 4d 0c             	mov    0xc(%ebp),%ecx
+ 8b4:	89 01                	mov    %eax,(%ecx)
+ 8b6:	8b 45 10             	mov    0x10(%ebp),%eax
+ 8b9:	8b 4d 0c             	mov    0xc(%ebp),%ecx
+ 8bc:	8b 00                	mov    (%eax),%eax
+ 8be:	8b 09                	mov    (%ecx),%ecx
+ 8c0:	89 45 dc             	mov    %eax,-0x24(%ebp)
+ 8c3:	89 4d e0             	mov    %ecx,-0x20(%ebp)
+ 8c6:	8b 45 cc             	mov    -0x34(%ebp),%eax
+ 8c9:	8b 7d 08             	mov    0x8(%ebp),%edi
+ 8cc:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
+ 8cf:	85 c0                	test   %eax,%eax
+ 8d1:	8b 45 c0             	mov    -0x40(%ebp),%eax
+ 8d4:	0f 45 4d cc          	cmovne -0x34(%ebp),%ecx
+ 8d8:	85 ff                	test   %edi,%edi
+ 8da:	0f 45 45 08          	cmovne 0x8(%ebp),%eax
+ 8de:	89 4d cc             	mov    %ecx,-0x34(%ebp)
+ 8e1:	89 45 08             	mov    %eax,0x8(%ebp)
+ 8e4:	89 04 24             	mov    %eax,(%esp)
+ 8e7:	89 55 b4             	mov    %edx,-0x4c(%ebp)
+ 8ea:	e8 fc ff ff ff       	call   0x8eb
+ 8ef:	8b 4d cc             	mov    -0x34(%ebp),%ecx
+ 8f2:	89 0c 24             	mov    %ecx,(%esp)
+ 8f5:	8d 70 01             	lea    0x1(%eax),%esi
+ 8f8:	e8 fc ff ff ff       	call   0x8f9
+ 8fd:	8d 78 01             	lea    0x1(%eax),%edi
+ 900:	8d 44 3e 10          	lea    0x10(%esi,%edi,1),%eax
+ 904:	89 04 24             	mov    %eax,(%esp)
+ 907:	e8 fc ff ff ff       	call   0x908
+ 90c:	8b 55 b4             	mov    -0x4c(%ebp),%edx
+ 90f:	85 c0                	test   %eax,%eax
+ 911:	89 c3                	mov    %eax,%ebx
+ 913:	0f 84 86 fa ff ff    	je     0x39f
+ 919:	8d 40 10             	lea    0x10(%eax),%eax
+ 91c:	89 03                	mov    %eax,(%ebx)
+ 91e:	89 74 24 08          	mov    %esi,0x8(%esp)
+ 922:	8b 4d 08             	mov    0x8(%ebp),%ecx
+ 925:	89 04 24             	mov    %eax,(%esp)
+ 928:	89 4c 24 04          	mov    %ecx,0x4(%esp)
+ 92c:	e8 fc ff ff ff       	call   0x92d
+ 931:	89 7c 24 08          	mov    %edi,0x8(%esp)
+ 935:	8b 4d cc             	mov    -0x34(%ebp),%ecx
+ 938:	89 4c 24 04          	mov    %ecx,0x4(%esp)
+ 93c:	89 04 24             	mov    %eax,(%esp)
+ 93f:	e8 fc ff ff ff       	call   0x940
+ 944:	8b 4d dc             	mov    -0x24(%ebp),%ecx
+ 947:	89 4b 0c             	mov    %ecx,0xc(%ebx)
+ 94a:	89 43 04             	mov    %eax,0x4(%ebx)
+ 94d:	8b 45 e0             	mov    -0x20(%ebp),%eax
+ 950:	89 43 08             	mov    %eax,0x8(%ebx)
+ 953:	c7 44 24 08 20 00 00 	movl   $0x20,0x8(%esp)
+ 95a:	00 
+ 95b:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
+ 962:	00 
+ 963:	89 1c 24             	mov    %ebx,(%esp)
+ 966:	e8 fc ff ff ff       	call   0x967
+ 96b:	8b 55 b4             	mov    -0x4c(%ebp),%edx
+ 96e:	85 c0                	test   %eax,%eax
+ 970:	0f 85 29 fa ff ff    	jne    0x39f
+ 976:	89 1c 24             	mov    %ebx,(%esp)
+ 979:	e8 fc ff ff ff       	call   0x97a
+ 97e:	8b 55 b4             	mov    -0x4c(%ebp),%edx
+ 981:	e9 19 fa ff ff       	jmp    0x39f
+ 986:	66 90                	xchg   %ax,%ax
+ 988:	83 ec 2c             	sub    $0x2c,%esp
+ 98b:	8d 5c 24 1b          	lea    0x1b(%esp),%ebx
+ 98f:	83 e3 f0             	and    $0xfffffff0,%ebx
+ 992:	89 33                	mov    %esi,(%ebx)
+ 994:	89 34 24             	mov    %esi,(%esp)
+ 997:	e8 fc ff ff ff       	call   0x998
+ 99c:	8b 55 d8             	mov    -0x28(%ebp),%edx
+ 99f:	8b 4d e0             	mov    -0x20(%ebp),%ecx
+ 9a2:	89 7b 10             	mov    %edi,0x10(%ebx)
+ 9a5:	89 53 08             	mov    %edx,0x8(%ebx)
+ 9a8:	89 4b 14             	mov    %ecx,0x14(%ebx)
+ 9ab:	89 43 04             	mov    %eax,0x4(%ebx)
+ 9ae:	8b 45 d4             	mov    -0x2c(%ebp),%eax
+ 9b1:	89 43 0c             	mov    %eax,0xc(%ebx)
+ 9b4:	8b 45 c8             	mov    -0x38(%ebp),%eax
+ 9b7:	89 5d c8             	mov    %ebx,-0x38(%ebp)
+ 9ba:	89 43 18             	mov    %eax,0x18(%ebx)
+ 9bd:	e9 60 fb ff ff       	jmp    0x522
+ 9c2:	8b 50 08             	mov    0x8(%eax),%edx
+ 9c5:	3b 53 08             	cmp    0x8(%ebx),%edx
+ 9c8:	0f 8d 72 fd ff ff    	jge    0x740
+ 9ce:	89 c3                	mov    %eax,%ebx
+ 9d0:	e9 6b fd ff ff       	jmp    0x740
+ 9d5:	8b 55 e0             	mov    -0x20(%ebp),%edx
+ 9d8:	83 6a 08 01          	subl   $0x1,0x8(%edx)
+ 9dc:	39 75 dc             	cmp    %esi,-0x24(%ebp)
+ 9df:	76 20                	jbe    0xa01
+ 9e1:	6b de 3c             	imul   $0x3c,%esi,%ebx
+ 9e4:	8b 7d dc             	mov    -0x24(%ebp),%edi
+ 9e7:	03 5d d8             	add    -0x28(%ebp),%ebx
+ 9ea:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
+ 9f0:	89 d8                	mov    %ebx,%eax
+ 9f2:	83 c6 01             	add    $0x1,%esi
+ 9f5:	e8 fc ff ff ff       	call   0x9f6
+ 9fa:	83 c3 3c             	add    $0x3c,%ebx
+ 9fd:	39 f7                	cmp    %esi,%edi
+ 9ff:	77 ef                	ja     0x9f0
+ a01:	ba 01 00 00 00       	mov    $0x1,%edx
+ a06:	8d 65 f4             	lea    -0xc(%ebp),%esp
+ a09:	89 d0                	mov    %edx,%eax
+ a0b:	5b                   	pop    %ebx
+ a0c:	5e                   	pop    %esi
+ a0d:	5f                   	pop    %edi
+ a0e:	5d                   	pop    %ebp
+ a0f:	c2 0c 00             	ret    $0xc
+ a12:	8b 55 10             	mov    0x10(%ebp),%edx
+ a15:	8b 4d 0c             	mov    0xc(%ebp),%ecx
+ a18:	c7 02 00 00 00 00    	movl   $0x0,(%edx)
+ a1e:	ba 03 00 00 00       	mov    $0x3,%edx
+ a23:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
+ a29:	e9 88 fe ff ff       	jmp    0x8b6
+ a2e:	66 90                	xchg   %ax,%ax
+ a30:	83 ec 2c             	sub    $0x2c,%esp
+ a33:	8d 5c 24 1b          	lea    0x1b(%esp),%ebx
+ a37:	83 e3 f0             	and    $0xfffffff0,%ebx
+ a3a:	89 33                	mov    %esi,(%ebx)
+ a3c:	89 34 24             	mov    %esi,(%esp)
+ a3f:	e8 fc ff ff ff       	call   0xa40
+ a44:	8b 55 d4             	mov    -0x2c(%ebp),%edx
+ a47:	8b 4d d8             	mov    -0x28(%ebp),%ecx
+ a4a:	c7 43 18 00 00 00 00 	movl   $0x0,0x18(%ebx)
+ a51:	89 7b 10             	mov    %edi,0x10(%ebx)
+ a54:	89 53 0c             	mov    %edx,0xc(%ebx)
+ a57:	8b 55 b8             	mov    -0x48(%ebp),%edx
+ a5a:	89 4b 08             	mov    %ecx,0x8(%ebx)
+ a5d:	89 43 04             	mov    %eax,0x4(%ebx)
+ a60:	8b 45 e0             	mov    -0x20(%ebp),%eax
+ a63:	89 43 14             	mov    %eax,0x14(%ebx)
+ a66:	8b 45 dc             	mov    -0x24(%ebp),%eax
+ a69:	89 1a                	mov    %ebx,(%edx)
+ a6b:	83 c3 18             	add    $0x18,%ebx
+ a6e:	8b 55 d0             	mov    -0x30(%ebp),%edx
+ a71:	89 5d b8             	mov    %ebx,-0x48(%ebp)
+ a74:	e9 cd fa ff ff       	jmp    0x546
+ a79:	8b 55 10             	mov    0x10(%ebp),%edx
+ a7c:	8b 45 0c             	mov    0xc(%ebp),%eax
+ a7f:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
+ a86:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
+ a8d:	c7 02 00 00 00 00    	movl   $0x0,(%edx)
+ a93:	ba 01 00 00 00       	mov    $0x1,%edx
+ a98:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
+ a9e:	e9 23 fe ff ff       	jmp    0x8c6
+ aa3:	8b 4d c0             	mov    -0x40(%ebp),%ecx
+ aa6:	83 ec 2c             	sub    $0x2c,%esp
+ aa9:	31 c0                	xor    %eax,%eax
+ aab:	8b 7d c0             	mov    -0x40(%ebp),%edi
+ aae:	8d 54 24 1b          	lea    0x1b(%esp),%edx
+ ab2:	83 e2 f0             	and    $0xfffffff0,%edx
+ ab5:	89 0a                	mov    %ecx,(%edx)
+ ab7:	83 c9 ff             	or     $0xffffffff,%ecx
+ aba:	f2 ae                	repnz scas %es:(%edi),%al
+ abc:	8d 42 18             	lea    0x18(%edx),%eax
+ abf:	c7 42 0c 00 00 00 00 	movl   $0x0,0xc(%edx)
+ ac6:	c7 42 08 00 00 00 00 	movl   $0x0,0x8(%edx)
+ acd:	c7 42 10 00 00 00 00 	movl   $0x0,0x10(%edx)
+ ad4:	c7 42 14 00 00 00 00 	movl   $0x0,0x14(%edx)
+ adb:	c7 42 18 00 00 00 00 	movl   $0x0,0x18(%edx)
+ ae2:	f7 d1                	not    %ecx
+ ae4:	83 e9 01             	sub    $0x1,%ecx
+ ae7:	89 4a 04             	mov    %ecx,0x4(%edx)
+ aea:	89 45 b8             	mov    %eax,-0x48(%ebp)
+ aed:	89 55 bc             	mov    %edx,-0x44(%ebp)
+ af0:	e9 47 f9 ff ff       	jmp    0x43c
+ af5:	31 d2                	xor    %edx,%edx
+ af7:	83 c6 01             	add    $0x1,%esi
+ afa:	8b 5d dc             	mov    -0x24(%ebp),%ebx
+ afd:	89 d7                	mov    %edx,%edi
+ aff:	6b c6 3c             	imul   $0x3c,%esi,%eax
+ b02:	01 c3                	add    %eax,%ebx
+ b04:	8b 4d 10             	mov    0x10(%ebp),%ecx
+ b07:	3b 31                	cmp    (%ecx),%esi
+ b09:	73 24                	jae    0xb2f
+ b0b:	89 d8                	mov    %ebx,%eax
+ b0d:	83 c6 01             	add    $0x1,%esi
+ b10:	e8 fc ff ff ff       	call   0xb11
+ b15:	83 c3 3c             	add    $0x3c,%ebx
+ b18:	eb ea                	jmp    0xb04
+ b1a:	83 ee 01             	sub    $0x1,%esi
+ b1d:	89 c2                	mov    %eax,%edx
+ b1f:	8b 4d dc             	mov    -0x24(%ebp),%ecx
+ b22:	6b c6 3c             	imul   $0x3c,%esi,%eax
+ b25:	c7 44 01 20 00 00 00 	movl   $0x0,0x20(%ecx,%eax,1)
+ b2c:	00 
+ b2d:	eb c8                	jmp    0xaf7
+ b2f:	8b 45 dc             	mov    -0x24(%ebp),%eax
+ b32:	89 04 24             	mov    %eax,(%esp)
+ b35:	89 7d b4             	mov    %edi,-0x4c(%ebp)
+ b38:	e8 fc ff ff ff       	call   0xb39
+ b3d:	8b 45 0c             	mov    0xc(%ebp),%eax
+ b40:	8b 55 b4             	mov    -0x4c(%ebp),%edx
+ b43:	8b 4d 10             	mov    0x10(%ebp),%ecx
+ b46:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
+ b4c:	b8 01 00 00 00       	mov    $0x1,%eax
+ b51:	85 d2                	test   %edx,%edx
+ b53:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
+ b59:	0f 44 d0             	cmove  %eax,%edx
+ b5c:	e9 55 fd ff ff       	jmp    0x8b6
+ b61:	eb 0d                	jmp    0xb70
+ b63:	90                   	nop
+ b64:	90                   	nop
+ b65:	90                   	nop
+ b66:	90                   	nop
+ b67:	90                   	nop
+ b68:	90                   	nop
+ b69:	90                   	nop
+ b6a:	90                   	nop
+ b6b:	90                   	nop
+ b6c:	90                   	nop
+ b6d:	90                   	nop
+ b6e:	90                   	nop
+ b6f:	90                   	nop
+ b70:	55                   	push   %ebp
+ b71:	89 e5                	mov    %esp,%ebp
+ b73:	83 ec 20             	sub    $0x20,%esp
+ b76:	89 75 f8             	mov    %esi,-0x8(%ebp)
+ b79:	89 c6                	mov    %eax,%esi
+ b7b:	b8 00 00 00 00       	mov    $0x0,%eax
+ b80:	85 c0                	test   %eax,%eax
+ b82:	89 5d f4             	mov    %ebx,-0xc(%ebp)
+ b85:	89 d3                	mov    %edx,%ebx
+ b87:	89 7d fc             	mov    %edi,-0x4(%ebp)
+ b8a:	89 cf                	mov    %ecx,%edi
+ b8c:	0f 84 15 01 00 00    	je     0xca7
+ b92:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
+ b99:	00 
+ b9a:	c7 04 24 04 00 00 00 	movl   $0x4,(%esp)
+ ba1:	e8 fc ff ff ff       	call   0xba2
+ ba6:	b8 00 00 00 00       	mov    $0x0,%eax
+ bab:	85 c0                	test   %eax,%eax
+ bad:	74 0c                	je     0xbbb
+ baf:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
+ bb6:	e8 fc ff ff ff       	call   0xbb7
+ bbb:	8b 45 0c             	mov    0xc(%ebp),%eax
+ bbe:	89 da                	mov    %ebx,%edx
+ bc0:	89 f9                	mov    %edi,%ecx
+ bc2:	89 44 24 04          	mov    %eax,0x4(%esp)
+ bc6:	8b 45 08             	mov    0x8(%ebp),%eax
+ bc9:	89 04 24             	mov    %eax,(%esp)
+ bcc:	89 f0                	mov    %esi,%eax
+ bce:	e8 fc ff ff ff       	call   0xbcf
+ bd3:	83 ec 08             	sub    $0x8,%esp
+ bd6:	83 f8 02             	cmp    $0x2,%eax
+ bd9:	89 c2                	mov    %eax,%edx
+ bdb:	74 33                	je     0xc10
+ bdd:	b8 00 00 00 00       	mov    $0x0,%eax
+ be2:	85 c0                	test   %eax,%eax
+ be4:	74 12                	je     0xbf8
+ be6:	89 55 ec             	mov    %edx,-0x14(%ebp)
+ be9:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
+ bf0:	e8 fc ff ff ff       	call   0xbf1
+ bf5:	8b 55 ec             	mov    -0x14(%ebp),%edx
+ bf8:	8b 5d f4             	mov    -0xc(%ebp),%ebx
+ bfb:	89 d0                	mov    %edx,%eax
+ bfd:	8b 75 f8             	mov    -0x8(%ebp),%esi
+ c00:	8b 7d fc             	mov    -0x4(%ebp),%edi
+ c03:	89 ec                	mov    %ebp,%esp
+ c05:	5d                   	pop    %ebp
+ c06:	c2 08 00             	ret    $0x8
+ c09:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
+ c10:	8b 0d 00 00 00 00    	mov    0x0,%ecx
+ c16:	85 c9                	test   %ecx,%ecx
+ c18:	74 6e                	je     0xc88
+ c1a:	89 d8                	mov    %ebx,%eax
+ c1c:	e8 6f f4 ff ff       	call   0x90
+ c21:	89 45 f0             	mov    %eax,-0x10(%ebp)
+ c24:	89 f0                	mov    %esi,%eax
+ c26:	e8 65 f4 ff ff       	call   0x90
+ c2b:	f6 45 0c 01          	testb  $0x1,0xc(%ebp)
+ c2f:	89 c2                	mov    %eax,%edx
+ c31:	0f 85 91 00 00 00    	jne    0xcc8
+ c37:	8b 45 08             	mov    0x8(%ebp),%eax
+ c3a:	89 d9                	mov    %ebx,%ecx
+ c3c:	89 7c 24 04          	mov    %edi,0x4(%esp)
+ c40:	89 44 24 08          	mov    %eax,0x8(%esp)
+ c44:	8b 45 f0             	mov    -0x10(%ebp),%eax
+ c47:	89 04 24             	mov    %eax,(%esp)
+ c4a:	89 f0                	mov    %esi,%eax
+ c4c:	e8 3f f6 ff ff       	call   0x290
+ c51:	89 c2                	mov    %eax,%edx
+ c53:	b8 00 00 00 00       	mov    $0x0,%eax
+ c58:	83 ec 0c             	sub    $0xc,%esp
+ c5b:	85 c0                	test   %eax,%eax
+ c5d:	74 12                	je     0xc71
+ c5f:	89 55 ec             	mov    %edx,-0x14(%ebp)
+ c62:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
+ c69:	e8 fc ff ff ff       	call   0xc6a
+ c6e:	8b 55 ec             	mov    -0x14(%ebp),%edx
+ c71:	85 d2                	test   %edx,%edx
+ c73:	75 83                	jne    0xbf8
+ c75:	31 d2                	xor    %edx,%edx
+ c77:	83 3f 00             	cmpl   $0x0,(%edi)
+ c7a:	0f 94 c2             	sete   %dl
+ c7d:	e9 76 ff ff ff       	jmp    0xbf8
+ c82:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
+ c88:	b8 00 00 00 00       	mov    $0x0,%eax
+ c8d:	85 c0                	test   %eax,%eax
+ c8f:	74 0c                	je     0xc9d
+ c91:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
+ c98:	e8 fc ff ff ff       	call   0xc99
+ c9d:	ba 01 00 00 00       	mov    $0x1,%edx
+ ca2:	e9 51 ff ff ff       	jmp    0xbf8
+ ca7:	83 3d 04 00 00 00 00 	cmpl   $0x0,0x4
+ cae:	0f 85 f2 fe ff ff    	jne    0xba6
+ cb4:	e8 fc ff ff ff       	call   0xcb5
+ cb9:	c7 05 04 00 00 00 02 	movl   $0x2,0x4
+ cc0:	00 00 00 
+ cc3:	e9 de fe ff ff       	jmp    0xba6
+ cc8:	89 5c 24 04          	mov    %ebx,0x4(%esp)
+ ccc:	89 34 24             	mov    %esi,(%esp)
+ ccf:	89 45 ec             	mov    %eax,-0x14(%ebp)
+ cd2:	e8 fc ff ff ff       	call   0xcd3
+ cd7:	8b 55 ec             	mov    -0x14(%ebp),%edx
+ cda:	85 c0                	test   %eax,%eax
+ cdc:	74 5c                	je     0xd3a
+ cde:	85 d2                	test   %edx,%edx
+ ce0:	74 13                	je     0xcf5
+ ce2:	89 14 24             	mov    %edx,(%esp)
+ ce5:	89 5c 24 04          	mov    %ebx,0x4(%esp)
+ ce9:	e8 fc ff ff ff       	call   0xcea
+ cee:	8b 55 ec             	mov    -0x14(%ebp),%edx
+ cf1:	85 c0                	test   %eax,%eax
+ cf3:	74 45                	je     0xd3a
+ cf5:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
+ cf9:	0f 84 38 ff ff ff    	je     0xc37
+ cff:	8b 45 f0             	mov    -0x10(%ebp),%eax
+ d02:	89 34 24             	mov    %esi,(%esp)
+ d05:	89 55 ec             	mov    %edx,-0x14(%ebp)
+ d08:	89 44 24 04          	mov    %eax,0x4(%esp)
+ d0c:	e8 fc ff ff ff       	call   0xd0d
+ d11:	8b 55 ec             	mov    -0x14(%ebp),%edx
+ d14:	85 c0                	test   %eax,%eax
+ d16:	74 22                	je     0xd3a
+ d18:	85 d2                	test   %edx,%edx
+ d1a:	0f 84 17 ff ff ff    	je     0xc37
+ d20:	8b 45 f0             	mov    -0x10(%ebp),%eax
+ d23:	89 14 24             	mov    %edx,(%esp)
+ d26:	89 44 24 04          	mov    %eax,0x4(%esp)
+ d2a:	e8 fc ff ff ff       	call   0xd2b
+ d2f:	8b 55 ec             	mov    -0x14(%ebp),%edx
  d32:	85 c0                	test   %eax,%eax
- d34:	0f 84 ae fe ff ff    	je     0xbe8
- d3a:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
- d41:	e8 fc ff ff ff       	call   0xd42
- d46:	83 ca ff             	or     $0xffffffff,%edx
- d49:	e9 9a fe ff ff       	jmp    0xbe8
+ d34:	0f 85 fd fe ff ff    	jne    0xc37
+ d3a:	b8 00 00 00 00       	mov    $0x0,%eax
+ d3f:	83 ca ff             	or     $0xffffffff,%edx
+ d42:	85 c0                	test   %eax,%eax
+ d44:	0f 84 ae fe ff ff    	je     0xbf8
+ d4a:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
+ d51:	e8 fc ff ff ff       	call   0xd52
+ d56:	83 ca ff             	or     $0xffffffff,%edx
+ d59:	e9 9a fe ff ff       	jmp    0xbf8
 
 Disassembly of section __libc_freeres_fn:
 
--- /dev/fd/63	2012-05-05 15:41:47.000000000 +0200
+++ /dev/fd/62	2012-05-05 15:41:47.000000000 +0200
@@ -1,5 +1,5 @@
 
-../build-tree.good/kfreebsd-amd64-i386/stdlib/strfmon_l.o:     file format elf32-i386-freebsd
+build-tree/kfreebsd-amd64-i386/stdlib/strfmon_l.o:     file format elf32-i386-freebsd
 
 
 Disassembly of section .text:
@@ -1007,8 +1007,8 @@
      f70:	84 c0                	test   %al,%al
      f72:	88 44 24 40          	mov    %al,0x40(%esp)
      f76:	74 4f                	je     0xfc7
-     f78:	39 b4 24 80 00 00 00 	cmp    %esi,0x80(%esp)
-     f7f:	0f 86 13 f4 ff ff    	jbe    0x398
+     f78:	3b b4 24 80 00 00 00 	cmp    0x80(%esp),%esi
+     f7f:	0f 83 13 f4 ff ff    	jae    0x398
      f85:	8b 44 24 38          	mov    0x38(%esp),%eax
      f89:	89 54 24 64          	mov    %edx,0x64(%esp)
      f8d:	89 4c 24 48          	mov    %ecx,0x48(%esp)
--- /dev/fd/63	2012-05-05 15:41:47.000000000 +0200
+++ /dev/fd/62	2012-05-05 15:41:47.000000000 +0200
@@ -1,5 +1,5 @@
 
-../build-tree.good/kfreebsd-amd64-i386/resolv/ns_name.o:     file format elf32-i386-freebsd
+build-tree/kfreebsd-amd64-i386/resolv/ns_name.o:     file format elf32-i386-freebsd
 
 
 Disassembly of section .text:
@@ -156,15 +156,15 @@
      17c:	8b 45 0c             	mov    0xc(%ebp),%eax
      17f:	03 45 10             	add    0x10(%ebp),%eax
      182:	85 ff                	test   %edi,%edi
-     184:	89 45 d8             	mov    %eax,-0x28(%ebp)
-     187:	0f 84 03 03 00 00    	je     0x490
+     184:	89 45 d4             	mov    %eax,-0x2c(%ebp)
+     187:	0f 84 13 03 00 00    	je     0x4a0
      18d:	8b 55 14             	mov    0x14(%ebp),%edx
      190:	31 ff                	xor    %edi,%edi
      192:	83 45 14 04          	addl   $0x4,0x14(%ebp)
-     196:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
+     196:	c7 45 cc 00 00 00 00 	movl   $0x0,-0x34(%ebp)
      19d:	8b 12                	mov    (%edx),%edx
      19f:	85 d2                	test   %edx,%edx
-     1a1:	89 55 dc             	mov    %edx,-0x24(%ebp)
+     1a1:	89 55 d8             	mov    %edx,-0x28(%ebp)
      1a4:	74 16                	je     0x1bc
      1a6:	8b 7d 14             	mov    0x14(%ebp),%edi
      1a9:	8b 37                	mov    (%edi),%esi
@@ -175,7 +175,7 @@
      1b3:	8b 1f                	mov    (%edi),%ebx
      1b5:	85 db                	test   %ebx,%ebx
      1b7:	75 f7                	jne    0x1b0
-     1b9:	89 7d d0             	mov    %edi,-0x30(%ebp)
+     1b9:	89 7d cc             	mov    %edi,-0x34(%ebp)
      1bc:	31 f6                	xor    %esi,%esi
      1be:	8b 5d 08             	mov    0x8(%ebp),%ebx
      1c1:	89 7d f0             	mov    %edi,-0x10(%ebp)
@@ -186,27 +186,27 @@
      1cd:	89 f0                	mov    %esi,%eax
      1cf:	25 c0 00 00 00       	and    $0xc0,%eax
      1d4:	3d c0 00 00 00       	cmp    $0xc0,%eax
-     1d9:	0f 84 98 02 00 00    	je     0x477
+     1d9:	0f 84 a8 02 00 00    	je     0x487
      1df:	89 d8                	mov    %ebx,%eax
      1e1:	e8 7a fe ff ff       	call   0x60
      1e6:	85 c0                	test   %eax,%eax
-     1e8:	0f 88 ba 02 00 00    	js     0x4a8
+     1e8:	0f 88 ca 02 00 00    	js     0x4b8
      1ee:	83 c0 01             	add    $0x1,%eax
      1f1:	01 c7                	add    %eax,%edi
      1f3:	81 ff ff 00 00 00    	cmp    $0xff,%edi
-     1f9:	0f 8f 78 02 00 00    	jg     0x477
+     1f9:	0f 8f 88 02 00 00    	jg     0x487
      1ff:	85 f6                	test   %esi,%esi
      201:	75 c5                	jne    0x1c8
-     203:	8b 45 0c             	mov    0xc(%ebp),%eax
-     206:	8b 4d dc             	mov    -0x24(%ebp),%ecx
+     203:	8b 45 08             	mov    0x8(%ebp),%eax
+     206:	8b 4d d8             	mov    -0x28(%ebp),%ecx
      209:	8b 7d f0             	mov    -0x10(%ebp),%edi
-     20c:	8b 55 08             	mov    0x8(%ebp),%edx
-     20f:	89 45 e8             	mov    %eax,-0x18(%ebp)
+     20c:	8b 55 0c             	mov    0xc(%ebp),%edx
+     20f:	89 45 ec             	mov    %eax,-0x14(%ebp)
      212:	8b 45 18             	mov    0x18(%ebp),%eax
      215:	85 c9                	test   %ecx,%ecx
      217:	0f 95 45 c3          	setne  -0x3d(%ebp)
      21b:	83 e8 04             	sub    $0x4,%eax
-     21e:	89 55 ec             	mov    %edx,-0x14(%ebp)
+     21e:	89 55 e8             	mov    %edx,-0x18(%ebp)
      221:	c7 45 b8 01 00 00 00 	movl   $0x1,-0x48(%ebp)
      228:	89 45 bc             	mov    %eax,-0x44(%ebp)
      22b:	89 7d c4             	mov    %edi,-0x3c(%ebp)
@@ -214,15 +214,15 @@
      230:	8b 45 e4             	mov    -0x1c(%ebp),%eax
      233:	25 c0 00 00 00       	and    $0xc0,%eax
      238:	3d c0 00 00 00       	cmp    $0xc0,%eax
-     23d:	0f 84 25 02 00 00    	je     0x468
+     23d:	0f 84 35 02 00 00    	je     0x478
      243:	8b 45 ec             	mov    -0x14(%ebp),%eax
      246:	e8 15 fe ff ff       	call   0x60
      24b:	8b 7d e8             	mov    -0x18(%ebp),%edi
      24e:	8d 58 01             	lea    0x1(%eax),%ebx
      251:	89 c6                	mov    %eax,%esi
      253:	01 df                	add    %ebx,%edi
-     255:	39 7d d8             	cmp    %edi,-0x28(%ebp)
-     258:	0f 86 0a 02 00 00    	jbe    0x468
+     255:	39 7d d4             	cmp    %edi,-0x2c(%ebp)
+     258:	0f 86 1a 02 00 00    	jbe    0x478
      25e:	89 5c 24 08          	mov    %ebx,0x8(%esp)
      262:	8b 45 ec             	mov    -0x14(%ebp),%eax
      265:	89 44 24 04          	mov    %eax,0x4(%esp)
@@ -230,7 +230,7 @@
      26c:	89 14 24             	mov    %edx,(%esp)
      26f:	e8 fc ff ff ff       	call   0x270
      274:	85 f6                	test   %esi,%esi
-     276:	0f 84 dc 01 00 00    	je     0x458
+     276:	0f 84 ec 01 00 00    	je     0x468
      27c:	01 5d ec             	add    %ebx,-0x14(%ebp)
      27f:	89 7d e8             	mov    %edi,-0x18(%ebp)
      282:	8b 55 ec             	mov    -0x14(%ebp),%edx
@@ -240,47 +240,47 @@
      28d:	74 a1                	je     0x230
      28f:	80 7d c3 00          	cmpb   $0x0,-0x3d(%ebp)
      293:	74 9b                	je     0x230
-     295:	8b 45 d0             	mov    -0x30(%ebp),%eax
+     295:	8b 45 cc             	mov    -0x34(%ebp),%eax
      298:	39 45 14             	cmp    %eax,0x14(%ebp)
-     29b:	0f 83 d7 00 00 00    	jae    0x378
+     29b:	0f 83 e7 00 00 00    	jae    0x388
      2a1:	8b 55 14             	mov    0x14(%ebp),%edx
      2a4:	89 55 c8             	mov    %edx,-0x38(%ebp)
-     2a7:	8b 55 c8             	mov    -0x38(%ebp),%edx
-     2aa:	8b 02                	mov    (%edx),%eax
-     2ac:	0f b6 10             	movzbl (%eax),%edx
-     2af:	84 d2                	test   %dl,%dl
-     2b1:	88 55 e3             	mov    %dl,-0x1d(%ebp)
-     2b4:	0f 84 ae 00 00 00    	je     0x368
-     2ba:	81 e2 c0 00 00 00    	and    $0xc0,%edx
-     2c0:	0f 85 a2 00 00 00    	jne    0x368
-     2c6:	89 c2                	mov    %eax,%edx
-     2c8:	2b 55 dc             	sub    -0x24(%ebp),%edx
-     2cb:	81 fa ff 3f 00 00    	cmp    $0x3fff,%edx
-     2d1:	89 55 d4             	mov    %edx,-0x2c(%ebp)
-     2d4:	0f 8f 8e 00 00 00    	jg     0x368
-     2da:	8b 75 ec             	mov    -0x14(%ebp),%esi
-     2dd:	89 45 cc             	mov    %eax,-0x34(%ebp)
+     2a7:	8b 45 c8             	mov    -0x38(%ebp),%eax
+     2aa:	8b 00                	mov    (%eax),%eax
+     2ac:	89 45 e0             	mov    %eax,-0x20(%ebp)
+     2af:	0f b6 10             	movzbl (%eax),%edx
+     2b2:	84 d2                	test   %dl,%dl
+     2b4:	88 55 df             	mov    %dl,-0x21(%ebp)
+     2b7:	0f 84 bb 00 00 00    	je     0x378
+     2bd:	81 e2 c0 00 00 00    	and    $0xc0,%edx
+     2c3:	0f 85 af 00 00 00    	jne    0x378
+     2c9:	2b 45 d8             	sub    -0x28(%ebp),%eax
+     2cc:	3d ff 3f 00 00       	cmp    $0x3fff,%eax
+     2d1:	89 45 d0             	mov    %eax,-0x30(%ebp)
+     2d4:	0f 8f 9e 00 00 00    	jg     0x378
+     2da:	8b 45 e0             	mov    -0x20(%ebp),%eax
+     2dd:	8b 75 ec             	mov    -0x14(%ebp),%esi
      2e0:	0f b6 10             	movzbl (%eax),%edx
      2e3:	85 d2                	test   %edx,%edx
      2e5:	74 63                	je     0x34a
      2e7:	89 d1                	mov    %edx,%ecx
      2e9:	81 e1 c0 00 00 00    	and    $0xc0,%ecx
      2ef:	8d 58 01             	lea    0x1(%eax),%ebx
-     2f2:	0f 85 90 00 00 00    	jne    0x388
+     2f2:	0f 85 a0 00 00 00    	jne    0x398
      2f8:	e8 63 fd ff ff       	call   0x60
      2fd:	0f b6 16             	movzbl (%esi),%edx
      300:	39 d0                	cmp    %edx,%eax
      302:	75 46                	jne    0x34a
      304:	83 c6 01             	add    $0x1,%esi
      307:	85 c0                	test   %eax,%eax
-     309:	0f 84 01 01 00 00    	je     0x410
+     309:	0f 84 11 01 00 00    	je     0x420
      30f:	89 45 f0             	mov    %eax,-0x10(%ebp)
      312:	eb 14                	jmp    0x328
      314:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
      318:	83 c6 01             	add    $0x1,%esi
      31b:	83 c3 01             	add    $0x1,%ebx
      31e:	83 6d f0 01          	subl   $0x1,-0x10(%ebp)
-     322:	0f 84 e8 00 00 00    	je     0x410
+     322:	0f 84 f8 00 00 00    	je     0x420
      328:	0f b6 16             	movzbl (%esi),%edx
      32b:	8d 4a bf             	lea    -0x41(%edx),%ecx
      32e:	83 f9 19             	cmp    $0x19,%ecx
@@ -293,979 +293,984 @@
      343:	0f 46 c1             	cmovbe %ecx,%eax
      346:	39 c2                	cmp    %eax,%edx
      348:	74 ce                	je     0x318
-     34a:	0f b6 45 e3          	movzbl -0x1d(%ebp),%eax
-     34e:	8b 55 cc             	mov    -0x34(%ebp),%edx
-     351:	8d 44 02 01          	lea    0x1(%edx,%eax,1),%eax
-     355:	0f b6 10             	movzbl (%eax),%edx
-     358:	84 d2                	test   %dl,%dl
-     35a:	88 55 e3             	mov    %dl,-0x1d(%ebp)
-     35d:	0f 85 57 ff ff ff    	jne    0x2ba
-     363:	90                   	nop
-     364:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-     368:	83 45 c8 04          	addl   $0x4,-0x38(%ebp)
-     36c:	8b 45 c8             	mov    -0x38(%ebp),%eax
-     36f:	39 45 d0             	cmp    %eax,-0x30(%ebp)
-     372:	0f 87 2f ff ff ff    	ja     0x2a7
-     378:	e8 fc ff ff ff       	call   0x379
-     37d:	c7 00 02 00 00 00    	movl   $0x2,(%eax)
-     383:	eb 1e                	jmp    0x3a3
-     385:	8d 76 00             	lea    0x0(%esi),%esi
-     388:	81 f9 c0 00 00 00    	cmp    $0xc0,%ecx
-     38e:	66 90                	xchg   %ax,%ax
-     390:	74 66                	je     0x3f8
-     392:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
-     398:	e8 fc ff ff ff       	call   0x399
-     39d:	c7 00 28 00 00 00    	movl   $0x28,(%eax)
-     3a3:	8b 55 18             	mov    0x18(%ebp),%edx
-     3a6:	85 d2                	test   %edx,%edx
-     3a8:	0f 84 82 fe ff ff    	je     0x230
-     3ae:	8b 55 bc             	mov    -0x44(%ebp),%edx
-     3b1:	39 55 c4             	cmp    %edx,-0x3c(%ebp)
-     3b4:	0f 83 76 fe ff ff    	jae    0x230
-     3ba:	8b 45 e8             	mov    -0x18(%ebp),%eax
-     3bd:	2b 45 dc             	sub    -0x24(%ebp),%eax
-     3c0:	3d ff 3f 00 00       	cmp    $0x3fff,%eax
-     3c5:	0f 8f 65 fe ff ff    	jg     0x230
-     3cb:	8b 45 b8             	mov    -0x48(%ebp),%eax
-     3ce:	85 c0                	test   %eax,%eax
-     3d0:	0f 84 5a fe ff ff    	je     0x230
-     3d6:	8b 45 c4             	mov    -0x3c(%ebp),%eax
-     3d9:	8b 55 e8             	mov    -0x18(%ebp),%edx
-     3dc:	c7 45 b8 00 00 00 00 	movl   $0x0,-0x48(%ebp)
-     3e3:	89 10                	mov    %edx,(%eax)
-     3e5:	83 c0 04             	add    $0x4,%eax
-     3e8:	89 45 c4             	mov    %eax,-0x3c(%ebp)
-     3eb:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
-     3f1:	e9 3a fe ff ff       	jmp    0x230
-     3f6:	66 90                	xchg   %ax,%ax
-     3f8:	0f b6 03             	movzbl (%ebx),%eax
-     3fb:	83 e2 3f             	and    $0x3f,%edx
-     3fe:	8b 5d dc             	mov    -0x24(%ebp),%ebx
-     401:	c1 e2 08             	shl    $0x8,%edx
-     404:	09 c2                	or     %eax,%edx
-     406:	01 d3                	add    %edx,%ebx
-     408:	89 d8                	mov    %ebx,%eax
-     40a:	e9 d1 fe ff ff       	jmp    0x2e0
-     40f:	90                   	nop
-     410:	80 3e 00             	cmpb   $0x0,(%esi)
-     413:	75 f3                	jne    0x408
-     415:	80 3b 00             	cmpb   $0x0,(%ebx)
-     418:	0f 85 2c ff ff ff    	jne    0x34a
-     41e:	83 7d d4 00          	cmpl   $0x0,-0x2c(%ebp)
-     422:	0f 88 7b ff ff ff    	js     0x3a3
-     428:	8b 45 e8             	mov    -0x18(%ebp),%eax
-     42b:	83 c0 01             	add    $0x1,%eax
-     42e:	39 45 d8             	cmp    %eax,-0x28(%ebp)
-     431:	76 3b                	jbe    0x46e
-     433:	8b 45 d4             	mov    -0x2c(%ebp),%eax
-     436:	8b 55 e8             	mov    -0x18(%ebp),%edx
-     439:	c1 f8 08             	sar    $0x8,%eax
-     43c:	83 c8 c0             	or     $0xffffffc0,%eax
-     43f:	88 02                	mov    %al,(%edx)
-     441:	0f b6 45 d4          	movzbl -0x2c(%ebp),%eax
-     445:	88 42 01             	mov    %al,0x1(%edx)
-     448:	89 d0                	mov    %edx,%eax
-     44a:	83 c0 02             	add    $0x2,%eax
-     44d:	2b 45 0c             	sub    0xc(%ebp),%eax
-     450:	eb 0b                	jmp    0x45d
-     452:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
-     458:	89 f8                	mov    %edi,%eax
-     45a:	2b 45 0c             	sub    0xc(%ebp),%eax
-     45d:	83 c4 48             	add    $0x48,%esp
-     460:	5b                   	pop    %ebx
-     461:	5e                   	pop    %esi
-     462:	5f                   	pop    %edi
-     463:	5d                   	pop    %ebp
-     464:	c3                   	ret    
-     465:	8d 76 00             	lea    0x0(%esi),%esi
-     468:	80 7d c3 00          	cmpb   $0x0,-0x3d(%ebp)
-     46c:	74 09                	je     0x477
-     46e:	8b 45 d0             	mov    -0x30(%ebp),%eax
-     471:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
-     477:	e8 fc ff ff ff       	call   0x478
-     47c:	c7 00 28 00 00 00    	movl   $0x28,(%eax)
-     482:	83 c4 48             	add    $0x48,%esp
-     485:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
-     48a:	5b                   	pop    %ebx
-     48b:	5e                   	pop    %esi
-     48c:	5f                   	pop    %edi
-     48d:	5d                   	pop    %ebp
-     48e:	c3                   	ret    
-     48f:	90                   	nop
-     490:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
-     497:	31 ff                	xor    %edi,%edi
-     499:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
-     4a0:	e9 17 fd ff ff       	jmp    0x1bc
-     4a5:	8d 76 00             	lea    0x0(%esi),%esi
-     4a8:	e8 fc ff ff ff       	call   0x4a9
-     4ad:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
-     4b3:	83 c4 48             	add    $0x48,%esp
-     4b6:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
-     4bb:	5b                   	pop    %ebx
-     4bc:	5e                   	pop    %esi
-     4bd:	5f                   	pop    %edi
-     4be:	5d                   	pop    %ebp
-     4bf:	c3                   	ret    
-     4c0:	55                   	push   %ebp
-     4c1:	89 e5                	mov    %esp,%ebp
-     4c3:	57                   	push   %edi
-     4c4:	56                   	push   %esi
-     4c5:	53                   	push   %ebx
-     4c6:	83 ec 28             	sub    $0x28,%esp
-     4c9:	8b 45 14             	mov    0x14(%ebp),%eax
-     4cc:	8b 55 18             	mov    0x18(%ebp),%edx
-     4cf:	8b 5d 0c             	mov    0xc(%ebp),%ebx
-     4d2:	01 c2                	add    %eax,%edx
-     4d4:	39 5d 10             	cmp    %ebx,0x10(%ebp)
-     4d7:	89 55 e4             	mov    %edx,-0x1c(%ebp)
-     4da:	0f 83 28 01 00 00    	jae    0x608
-     4e0:	8b 55 08             	mov    0x8(%ebp),%edx
-     4e3:	39 55 10             	cmp    %edx,0x10(%ebp)
-     4e6:	0f 82 1c 01 00 00    	jb     0x608
-     4ec:	89 45 f0             	mov    %eax,-0x10(%ebp)
-     4ef:	8b 45 0c             	mov    0xc(%ebp),%eax
-     4f2:	31 c9                	xor    %ecx,%ecx
-     4f4:	8b 5d 10             	mov    0x10(%ebp),%ebx
-     4f7:	c7 45 e8 01 00 00 00 	movl   $0x1,-0x18(%ebp)
-     4fe:	29 5d e8             	sub    %ebx,-0x18(%ebp)
-     501:	29 d0                	sub    %edx,%eax
-     503:	c7 45 ec ff ff ff ff 	movl   $0xffffffff,-0x14(%ebp)
-     50a:	89 45 e0             	mov    %eax,-0x20(%ebp)
-     50d:	0f b6 13             	movzbl (%ebx),%edx
-     510:	8d 73 01             	lea    0x1(%ebx),%esi
-     513:	0f b6 c2             	movzbl %dl,%eax
-     516:	85 c0                	test   %eax,%eax
-     518:	0f 84 9c 00 00 00    	je     0x5ba
-     51e:	89 c7                	mov    %eax,%edi
-     520:	81 e7 c0 00 00 00    	and    $0xc0,%edi
-     526:	83 ff 40             	cmp    $0x40,%edi
-     529:	74 14                	je     0x53f
-     52b:	81 ff c0 00 00 00    	cmp    $0xc0,%edi
-     531:	0f 84 99 00 00 00    	je     0x5d0
-     537:	85 ff                	test   %edi,%edi
-     539:	0f 85 c9 00 00 00    	jne    0x608
-     53f:	89 d8                	mov    %ebx,%eax
-     541:	88 55 dc             	mov    %dl,-0x24(%ebp)
-     544:	89 4d d8             	mov    %ecx,-0x28(%ebp)
-     547:	e8 14 fb ff ff       	call   0x60
-     54c:	0f b6 55 dc          	movzbl -0x24(%ebp),%edx
-     550:	8b 4d d8             	mov    -0x28(%ebp),%ecx
-     553:	85 c0                	test   %eax,%eax
-     555:	89 c7                	mov    %eax,%edi
-     557:	0f 88 ab 00 00 00    	js     0x608
-     55d:	8b 5d f0             	mov    -0x10(%ebp),%ebx
-     560:	8d 44 03 01          	lea    0x1(%ebx,%eax,1),%eax
-     564:	39 45 e4             	cmp    %eax,-0x1c(%ebp)
-     567:	0f 86 9b 00 00 00    	jbe    0x608
-     56d:	8d 1c 3e             	lea    (%esi,%edi,1),%ebx
-     570:	39 5d 0c             	cmp    %ebx,0xc(%ebp)
-     573:	0f 86 8f 00 00 00    	jbe    0x608
-     579:	8b 45 f0             	mov    -0x10(%ebp),%eax
-     57c:	8d 4c 0f 01          	lea    0x1(%edi,%ecx,1),%ecx
-     580:	88 10                	mov    %dl,(%eax)
-     582:	89 c2                	mov    %eax,%edx
-     584:	83 c2 01             	add    $0x1,%edx
-     587:	89 7c 24 08          	mov    %edi,0x8(%esp)
-     58b:	89 74 24 04          	mov    %esi,0x4(%esp)
-     58f:	8d 73 01             	lea    0x1(%ebx),%esi
-     592:	89 14 24             	mov    %edx,(%esp)
-     595:	89 55 dc             	mov    %edx,-0x24(%ebp)
-     598:	89 4d d8             	mov    %ecx,-0x28(%ebp)
-     59b:	e8 fc ff ff ff       	call   0x59c
-     5a0:	8b 55 dc             	mov    -0x24(%ebp),%edx
-     5a3:	8b 4d d8             	mov    -0x28(%ebp),%ecx
-     5a6:	8d 3c 3a             	lea    (%edx,%edi,1),%edi
-     5a9:	89 7d f0             	mov    %edi,-0x10(%ebp)
-     5ac:	0f b6 13             	movzbl (%ebx),%edx
-     5af:	0f b6 c2             	movzbl %dl,%eax
-     5b2:	85 c0                	test   %eax,%eax
-     5b4:	0f 85 64 ff ff ff    	jne    0x51e
-     5ba:	8b 5d f0             	mov    -0x10(%ebp),%ebx
-     5bd:	c6 03 00             	movb   $0x0,(%ebx)
-     5c0:	8b 45 ec             	mov    -0x14(%ebp),%eax
-     5c3:	85 c0                	test   %eax,%eax
-     5c5:	79 53                	jns    0x61a
-     5c7:	2b 75 10             	sub    0x10(%ebp),%esi
-     5ca:	89 75 ec             	mov    %esi,-0x14(%ebp)
-     5cd:	eb 4b                	jmp    0x61a
-     5cf:	90                   	nop
-     5d0:	39 75 0c             	cmp    %esi,0xc(%ebp)
-     5d3:	76 33                	jbe    0x608
-     5d5:	8b 55 ec             	mov    -0x14(%ebp),%edx
-     5d8:	85 d2                	test   %edx,%edx
-     5da:	78 4c                	js     0x628
-     5dc:	89 c3                	mov    %eax,%ebx
-     5de:	0f b6 06             	movzbl (%esi),%eax
-     5e1:	83 e3 3f             	and    $0x3f,%ebx
-     5e4:	c1 e3 08             	shl    $0x8,%ebx
-     5e7:	09 c3                	or     %eax,%ebx
-     5e9:	03 5d 08             	add    0x8(%ebp),%ebx
-     5ec:	3b 5d 0c             	cmp    0xc(%ebp),%ebx
-     5ef:	73 17                	jae    0x608
-     5f1:	3b 5d 08             	cmp    0x8(%ebp),%ebx
-     5f4:	72 12                	jb     0x608
-     5f6:	83 c1 02             	add    $0x2,%ecx
-     5f9:	3b 4d e0             	cmp    -0x20(%ebp),%ecx
-     5fc:	0f 8c 0b ff ff ff    	jl     0x50d
-     602:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
-     608:	e8 fc ff ff ff       	call   0x609
-     60d:	c7 45 ec ff ff ff ff 	movl   $0xffffffff,-0x14(%ebp)
-     614:	c7 00 28 00 00 00    	movl   $0x28,(%eax)
-     61a:	8b 45 ec             	mov    -0x14(%ebp),%eax
-     61d:	83 c4 28             	add    $0x28,%esp
-     620:	5b                   	pop    %ebx
-     621:	5e                   	pop    %esi
-     622:	5f                   	pop    %edi
-     623:	5d                   	pop    %ebp
-     624:	c3                   	ret    
-     625:	8d 76 00             	lea    0x0(%esi),%esi
-     628:	8b 55 e8             	mov    -0x18(%ebp),%edx
-     62b:	01 f2                	add    %esi,%edx
-     62d:	89 55 ec             	mov    %edx,-0x14(%ebp)
-     630:	eb aa                	jmp    0x5dc
-     632:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
-     639:	8d bc 27 00 00 00 00 	lea    0x0(%edi,%eiz,1),%edi
-     640:	55                   	push   %ebp
-     641:	89 e5                	mov    %esp,%ebp
-     643:	57                   	push   %edi
-     644:	56                   	push   %esi
-     645:	53                   	push   %ebx
-     646:	83 ec 1c             	sub    $0x1c,%esp
-     649:	8b 45 0c             	mov    0xc(%ebp),%eax
-     64c:	8b 7d 0c             	mov    0xc(%ebp),%edi
-     64f:	03 45 10             	add    0x10(%ebp),%eax
-     652:	8b 75 08             	mov    0x8(%ebp),%esi
-     655:	39 c7                	cmp    %eax,%edi
-     657:	89 45 f0             	mov    %eax,-0x10(%ebp)
-     65a:	0f 83 d0 00 00 00    	jae    0x730
-     660:	0f b6 16             	movzbl (%esi),%edx
-     663:	0f b6 c2             	movzbl %dl,%eax
-     666:	85 c0                	test   %eax,%eax
-     668:	74 47                	je     0x6b1
-     66a:	25 c0 00 00 00       	and    $0xc0,%eax
-     66f:	3d c0 00 00 00       	cmp    $0xc0,%eax
-     674:	0f 84 b6 00 00 00    	je     0x730
-     67a:	88 17                	mov    %dl,(%edi)
-     67c:	89 f0                	mov    %esi,%eax
-     67e:	e8 dd f9 ff ff       	call   0x60
-     683:	85 c0                	test   %eax,%eax
-     685:	89 c3                	mov    %eax,%ebx
-     687:	0f 88 a3 00 00 00    	js     0x730
-     68d:	8d 47 01             	lea    0x1(%edi),%eax
-     690:	8d 14 18             	lea    (%eax,%ebx,1),%edx
-     693:	39 55 f0             	cmp    %edx,-0x10(%ebp)
-     696:	0f 86 94 00 00 00    	jbe    0x730
-     69c:	85 db                	test   %ebx,%ebx
-     69e:	8d 56 01             	lea    0x1(%esi),%edx
-     6a1:	75 25                	jne    0x6c8
-     6a3:	89 d6                	mov    %edx,%esi
-     6a5:	89 c7                	mov    %eax,%edi
-     6a7:	0f b6 16             	movzbl (%esi),%edx
-     6aa:	0f b6 c2             	movzbl %dl,%eax
-     6ad:	85 c0                	test   %eax,%eax
-     6af:	75 b9                	jne    0x66a
-     6b1:	c6 07 00             	movb   $0x0,(%edi)
-     6b4:	8d 47 01             	lea    0x1(%edi),%eax
-     6b7:	2b 45 0c             	sub    0xc(%ebp),%eax
-     6ba:	83 c4 1c             	add    $0x1c,%esp
-     6bd:	5b                   	pop    %ebx
-     6be:	5e                   	pop    %esi
-     6bf:	5f                   	pop    %edi
-     6c0:	5d                   	pop    %ebp
-     6c1:	c3                   	ret    
-     6c2:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
-     6c8:	89 55 e0             	mov    %edx,-0x20(%ebp)
-     6cb:	e8 fc ff ff ff       	call   0x6cc
-     6d0:	8b 55 e0             	mov    -0x20(%ebp),%edx
-     6d3:	8d 4f 02             	lea    0x2(%edi),%ecx
-     6d6:	89 f7                	mov    %esi,%edi
-     6d8:	89 55 d8             	mov    %edx,-0x28(%ebp)
-     6db:	89 45 e4             	mov    %eax,-0x1c(%ebp)
-     6de:	8d 04 1e             	lea    (%esi,%ebx,1),%eax
-     6e1:	89 ce                	mov    %ecx,%esi
-     6e3:	89 45 e8             	mov    %eax,-0x18(%ebp)
-     6e6:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
-     6e9:	0f b6 47 01          	movzbl 0x1(%edi),%eax
-     6ed:	8b 09                	mov    (%ecx),%ecx
-     6ef:	0f b6 d0             	movzbl %al,%edx
-     6f2:	89 55 ec             	mov    %edx,-0x14(%ebp)
-     6f5:	f6 44 51 01 01       	testb  $0x1,0x1(%ecx,%edx,2)
-     6fa:	74 2c                	je     0x728
-     6fc:	e8 fc ff ff ff       	call   0x6fd
-     701:	8b 55 ec             	mov    -0x14(%ebp),%edx
-     704:	8b 00                	mov    (%eax),%eax
-     706:	8b 04 90             	mov    (%eax,%edx,4),%eax
-     709:	88 46 ff             	mov    %al,-0x1(%esi)
-     70c:	89 f0                	mov    %esi,%eax
-     70e:	83 c7 01             	add    $0x1,%edi
-     711:	83 c6 01             	add    $0x1,%esi
-     714:	3b 7d e8             	cmp    -0x18(%ebp),%edi
-     717:	75 cd                	jne    0x6e6
-     719:	8b 55 d8             	mov    -0x28(%ebp),%edx
-     71c:	89 c7                	mov    %eax,%edi
-     71e:	8d 34 1a             	lea    (%edx,%ebx,1),%esi
-     721:	e9 3a ff ff ff       	jmp    0x660
-     726:	66 90                	xchg   %ax,%ax
-     728:	88 46 ff             	mov    %al,-0x1(%esi)
-     72b:	89 f0                	mov    %esi,%eax
-     72d:	eb df                	jmp    0x70e
-     72f:	90                   	nop
-     730:	e8 fc ff ff ff       	call   0x731
-     735:	c7 00 28 00 00 00    	movl   $0x28,(%eax)
-     73b:	83 c4 1c             	add    $0x1c,%esp
-     73e:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
-     743:	5b                   	pop    %ebx
-     744:	5e                   	pop    %esi
-     745:	5f                   	pop    %edi
-     746:	5d                   	pop    %ebp
-     747:	c3                   	ret    
-     748:	90                   	nop
-     749:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
-     750:	55                   	push   %ebp
-     751:	89 e5                	mov    %esp,%ebp
-     753:	57                   	push   %edi
-     754:	56                   	push   %esi
-     755:	53                   	push   %ebx
-     756:	83 ec 3c             	sub    $0x3c,%esp
-     759:	8b 7d 08             	mov    0x8(%ebp),%edi
-     75c:	8b 45 0c             	mov    0xc(%ebp),%eax
-     75f:	03 45 10             	add    0x10(%ebp),%eax
-     762:	8b 55 0c             	mov    0xc(%ebp),%edx
-     765:	8b 5d 0c             	mov    0xc(%ebp),%ebx
-     768:	89 45 e8             	mov    %eax,-0x18(%ebp)
-     76b:	0f b6 07             	movzbl (%edi),%eax
-     76e:	89 55 e4             	mov    %edx,-0x1c(%ebp)
-     771:	31 d2                	xor    %edx,%edx
-     773:	83 c3 01             	add    $0x1,%ebx
-     776:	0f be f0             	movsbl %al,%esi
-     779:	85 f6                	test   %esi,%esi
-     77b:	0f 84 c5 00 00 00    	je     0x846
-     781:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
-     788:	83 c7 01             	add    $0x1,%edi
-     78b:	85 d2                	test   %edx,%edx
-     78d:	0f 84 05 01 00 00    	je     0x898
-     793:	83 fe 5b             	cmp    $0x5b,%esi
-     796:	0f 84 5c 01 00 00    	je     0x8f8
-     79c:	89 74 24 04          	mov    %esi,0x4(%esp)
-     7a0:	c7 04 24 0e 00 00 00 	movl   $0xe,(%esp)
-     7a7:	e8 fc ff ff ff       	call   0x7a8
-     7ac:	85 c0                	test   %eax,%eax
-     7ae:	89 45 ec             	mov    %eax,-0x14(%ebp)
-     7b1:	74 75                	je     0x828
-     7b3:	0f be 07             	movsbl (%edi),%eax
-     7b6:	85 c0                	test   %eax,%eax
-     7b8:	0f 84 c2 00 00 00    	je     0x880
-     7be:	89 44 24 04          	mov    %eax,0x4(%esp)
-     7c2:	c7 04 24 0e 00 00 00 	movl   $0xe,(%esp)
-     7c9:	e8 fc ff ff ff       	call   0x7ca
-     7ce:	85 c0                	test   %eax,%eax
-     7d0:	89 c6                	mov    %eax,%esi
-     7d2:	0f 84 a8 00 00 00    	je     0x880
-     7d8:	0f be 47 01          	movsbl 0x1(%edi),%eax
-     7dc:	85 c0                	test   %eax,%eax
-     7de:	0f 84 9c 00 00 00    	je     0x880
-     7e4:	89 44 24 04          	mov    %eax,0x4(%esp)
-     7e8:	c7 04 24 0e 00 00 00 	movl   $0xe,(%esp)
-     7ef:	e8 fc ff ff ff       	call   0x7f0
-     7f4:	85 c0                	test   %eax,%eax
-     7f6:	0f 84 84 00 00 00    	je     0x880
-     7fc:	8b 55 ec             	mov    -0x14(%ebp),%edx
-     7ff:	81 ee 0e 00 00 00    	sub    $0xe,%esi
-     805:	8d 0c b6             	lea    (%esi,%esi,4),%ecx
-     808:	81 ea 0e 00 00 00    	sub    $0xe,%edx
-     80e:	6b d2 64             	imul   $0x64,%edx,%edx
-     811:	81 ea 0e 00 00 00    	sub    $0xe,%edx
-     817:	8d 34 4a             	lea    (%edx,%ecx,2),%esi
-     81a:	8d 34 30             	lea    (%eax,%esi,1),%esi
-     81d:	81 fe ff 00 00 00    	cmp    $0xff,%esi
-     823:	7f 5b                	jg     0x880
-     825:	83 c7 02             	add    $0x2,%edi
-     828:	39 5d e8             	cmp    %ebx,-0x18(%ebp)
-     82b:	76 53                	jbe    0x880
-     82d:	89 f2                	mov    %esi,%edx
-     82f:	88 13                	mov    %dl,(%ebx)
-     831:	0f b6 07             	movzbl (%edi),%eax
-     834:	8d 4b 01             	lea    0x1(%ebx),%ecx
-     837:	31 d2                	xor    %edx,%edx
-     839:	89 cb                	mov    %ecx,%ebx
-     83b:	0f be f0             	movsbl %al,%esi
-     83e:	85 f6                	test   %esi,%esi
-     840:	0f 85 42 ff ff ff    	jne    0x788
-     846:	8d 43 ff             	lea    -0x1(%ebx),%eax
-     849:	2b 45 e4             	sub    -0x1c(%ebp),%eax
-     84c:	a8 c0                	test   $0xc0,%al
-     84e:	75 30                	jne    0x880
-     850:	8b 7d e4             	mov    -0x1c(%ebp),%edi
-     853:	39 7d e8             	cmp    %edi,-0x18(%ebp)
-     856:	76 28                	jbe    0x880
-     858:	8b 55 e4             	mov    -0x1c(%ebp),%edx
-     85b:	85 c0                	test   %eax,%eax
-     85d:	88 02                	mov    %al,(%edx)
-     85f:	74 0b                	je     0x86c
-     861:	39 5d e8             	cmp    %ebx,-0x18(%ebp)
-     864:	76 1a                	jbe    0x880
-     866:	c6 03 00             	movb   $0x0,(%ebx)
-     869:	83 c3 01             	add    $0x1,%ebx
-     86c:	2b 5d 0c             	sub    0xc(%ebp),%ebx
-     86f:	31 c0                	xor    %eax,%eax
-     871:	81 fb ff 00 00 00    	cmp    $0xff,%ebx
-     877:	7e 17                	jle    0x890
-     879:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
-     880:	e8 fc ff ff ff       	call   0x881
-     885:	c7 00 28 00 00 00    	movl   $0x28,(%eax)
-     88b:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
-     890:	83 c4 3c             	add    $0x3c,%esp
-     893:	5b                   	pop    %ebx
-     894:	5e                   	pop    %esi
-     895:	5f                   	pop    %edi
-     896:	5d                   	pop    %ebp
-     897:	c3                   	ret    
-     898:	83 fe 5c             	cmp    $0x5c,%esi
-     89b:	74 43                	je     0x8e0
-     89d:	83 fe 2e             	cmp    $0x2e,%esi
-     8a0:	75 86                	jne    0x828
-     8a2:	8d 4b ff             	lea    -0x1(%ebx),%ecx
-     8a5:	89 de                	mov    %ebx,%esi
-     8a7:	2b 4d e4             	sub    -0x1c(%ebp),%ecx
-     8aa:	f6 c1 c0             	test   $0xc0,%cl
-     8ad:	75 d1                	jne    0x880
-     8af:	8b 45 e4             	mov    -0x1c(%ebp),%eax
-     8b2:	39 45 e8             	cmp    %eax,-0x18(%ebp)
-     8b5:	76 c9                	jbe    0x880
-     8b7:	8b 45 e4             	mov    -0x1c(%ebp),%eax
-     8ba:	88 08                	mov    %cl,(%eax)
-     8bc:	0f b6 07             	movzbl (%edi),%eax
-     8bf:	84 c0                	test   %al,%al
-     8c1:	0f 84 df 02 00 00    	je     0xba6
-     8c7:	85 c9                	test   %ecx,%ecx
-     8c9:	74 b5                	je     0x880
-     8cb:	3c 2e                	cmp    $0x2e,%al
-     8cd:	74 b1                	je     0x880
-     8cf:	8d 4b 01             	lea    0x1(%ebx),%ecx
-     8d2:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
-     8d5:	89 cb                	mov    %ecx,%ebx
-     8d7:	e9 5f ff ff ff       	jmp    0x83b
-     8dc:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-     8e0:	89 d9                	mov    %ebx,%ecx
-     8e2:	0f b6 07             	movzbl (%edi),%eax
-     8e5:	ba 01 00 00 00       	mov    $0x1,%edx
-     8ea:	89 cb                	mov    %ecx,%ebx
-     8ec:	e9 4a ff ff ff       	jmp    0x83b
-     8f1:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
-     8f8:	c7 44 24 04 5d 00 00 	movl   $0x5d,0x4(%esp)
-     8ff:	00 
-     900:	89 3c 24             	mov    %edi,(%esp)
-     903:	e8 fc ff ff ff       	call   0x904
-     908:	85 c0                	test   %eax,%eax
-     90a:	0f 84 68 02 00 00    	je     0xb78
-     910:	8d 50 02             	lea    0x2(%eax),%edx
-     913:	89 d0                	mov    %edx,%eax
-     915:	29 f8                	sub    %edi,%eax
-     917:	83 f8 01             	cmp    $0x1,%eax
-     91a:	7e 0c                	jle    0x928
-     91c:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
-     923:	80 3f 78             	cmpb   $0x78,(%edi)
-     926:	74 20                	je     0x948
-     928:	bb 16 00 00 00       	mov    $0x16,%ebx
-     92d:	e8 fc ff ff ff       	call   0x92e
-     932:	89 18                	mov    %ebx,(%eax)
-     934:	83 c4 3c             	add    $0x3c,%esp
-     937:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
-     93c:	5b                   	pop    %ebx
-     93d:	5e                   	pop    %esi
-     93e:	5f                   	pop    %edi
-     93f:	5d                   	pop    %ebp
-     940:	c3                   	ret    
-     941:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
-     948:	89 55 c8             	mov    %edx,-0x38(%ebp)
-     94b:	8d 77 01             	lea    0x1(%edi),%esi
-     94e:	e8 fc ff ff ff       	call   0x94f
-     953:	0f b6 4f 01          	movzbl 0x1(%edi),%ecx
-     957:	8b 55 c8             	mov    -0x38(%ebp),%edx
-     95a:	0f b6 f9             	movzbl %cl,%edi
-     95d:	88 4d e0             	mov    %cl,-0x20(%ebp)
-     960:	8b 08                	mov    (%eax),%ecx
-     962:	f6 44 79 01 10       	testb  $0x10,0x1(%ecx,%edi,2)
-     967:	74 bf                	je     0x928
-     969:	8d 7b 01             	lea    0x1(%ebx),%edi
-     96c:	39 f2                	cmp    %esi,%edx
-     96e:	89 7d ec             	mov    %edi,-0x14(%ebp)
-     971:	0f 86 70 02 00 00    	jbe    0xbe7
-     977:	39 7d e8             	cmp    %edi,-0x18(%ebp)
-     97a:	0f 86 67 02 00 00    	jbe    0xbe7
-     980:	0f b6 4d e0          	movzbl -0x20(%ebp),%ecx
-     984:	31 ff                	xor    %edi,%edi
-     986:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
-     98d:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
-     994:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
-     99b:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
-     9a2:	89 5d c4             	mov    %ebx,-0x3c(%ebp)
-     9a5:	80 f9 2f             	cmp    $0x2f,%cl
-     9a8:	0f 84 9b 00 00 00    	je     0xa49
-     9ae:	80 f9 5d             	cmp    $0x5d,%cl
-     9b1:	0f 84 b9 00 00 00    	je     0xa70
-     9b7:	85 ff                	test   %edi,%edi
-     9b9:	75 6d                	jne    0xa28
-     9bb:	8b 18                	mov    (%eax),%ebx
-     9bd:	0f be c9             	movsbl %cl,%ecx
-     9c0:	89 4d e0             	mov    %ecx,-0x20(%ebp)
-     9c3:	81 e1 ff 00 00 00    	and    $0xff,%ecx
-     9c9:	89 4d cc             	mov    %ecx,-0x34(%ebp)
-     9cc:	f6 44 4b 01 10       	testb  $0x10,0x1(%ebx,%ecx,2)
-     9d1:	0f 84 51 ff ff ff    	je     0x928
-     9d7:	8b 4d e0             	mov    -0x20(%ebp),%ecx
-     9da:	83 45 d8 04          	addl   $0x4,-0x28(%ebp)
-     9de:	81 7d d8 00 01 00 00 	cmpl   $0x100,-0x28(%ebp)
-     9e5:	0f b6 99 00 00 00 00 	movzbl 0x0(%ecx),%ebx
-     9ec:	0f 8f 36 ff ff ff    	jg     0x928
-     9f2:	8b 4d dc             	mov    -0x24(%ebp),%ecx
-     9f5:	83 45 d4 04          	addl   $0x4,-0x2c(%ebp)
-     9f9:	c1 e1 04             	shl    $0x4,%ecx
-     9fc:	89 4d dc             	mov    %ecx,-0x24(%ebp)
-     9ff:	0f be cb             	movsbl %bl,%ecx
-     a02:	03 4d dc             	add    -0x24(%ebp),%ecx
-     a05:	83 7d d4 08          	cmpl   $0x8,-0x2c(%ebp)
-     a09:	89 4d dc             	mov    %ecx,-0x24(%ebp)
-     a0c:	75 40                	jne    0xa4e
-     a0e:	8b 5d ec             	mov    -0x14(%ebp),%ebx
-     a11:	88 0b                	mov    %cl,(%ebx)
-     a13:	83 c3 01             	add    $0x1,%ebx
-     a16:	89 5d ec             	mov    %ebx,-0x14(%ebp)
-     a19:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
-     a20:	eb 2c                	jmp    0xa4e
-     a22:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
-     a28:	0f b6 d9             	movzbl %cl,%ebx
-     a2b:	89 5d e0             	mov    %ebx,-0x20(%ebp)
-     a2e:	8b 18                	mov    (%eax),%ebx
-     a30:	8b 7d e0             	mov    -0x20(%ebp),%edi
-     a33:	f6 44 7b 01 08       	testb  $0x8,0x1(%ebx,%edi,2)
-     a38:	0f 84 ea fe ff ff    	je     0x928
-     a3e:	8b 5d d0             	mov    -0x30(%ebp),%ebx
-     a41:	85 db                	test   %ebx,%ebx
-     a43:	0f 84 47 01 00 00    	je     0xb90
-     a49:	bf 01 00 00 00       	mov    $0x1,%edi
-     a4e:	8b 4d ec             	mov    -0x14(%ebp),%ecx
-     a51:	83 c6 01             	add    $0x1,%esi
-     a54:	39 4d e8             	cmp    %ecx,-0x18(%ebp)
-     a57:	0f 86 7b 01 00 00    	jbe    0xbd8
-     a5d:	39 f2                	cmp    %esi,%edx
-     a5f:	0f 86 73 01 00 00    	jbe    0xbd8
-     a65:	0f b6 0e             	movzbl (%esi),%ecx
-     a68:	e9 38 ff ff ff       	jmp    0x9a5
-     a6d:	8d 76 00             	lea    0x0(%esi),%esi
-     a70:	85 ff                	test   %edi,%edi
-     a72:	8b 5d c4             	mov    -0x3c(%ebp),%ebx
-     a75:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
-     a7c:	74 3a                	je     0xab8
-     a7e:	8b 45 d0             	mov    -0x30(%ebp),%eax
-     a81:	85 c0                	test   %eax,%eax
-     a83:	0f 84 9f fe ff ff    	je     0x928
-     a89:	8d 45 f0             	lea    -0x10(%ebp),%eax
-     a8c:	c7 44 24 08 0a 00 00 	movl   $0xa,0x8(%esp)
-     a93:	00 
-     a94:	89 44 24 04          	mov    %eax,0x4(%esp)
-     a98:	8b 4d d0             	mov    -0x30(%ebp),%ecx
-     a9b:	89 0c 24             	mov    %ecx,(%esp)
-     a9e:	89 55 c8             	mov    %edx,-0x38(%ebp)
-     aa1:	e8 fc ff ff ff       	call   0xaa2
-     aa6:	8b 55 c8             	mov    -0x38(%ebp),%edx
-     aa9:	89 45 e0             	mov    %eax,-0x20(%ebp)
-     aac:	8b 45 f0             	mov    -0x10(%ebp),%eax
-     aaf:	80 38 5d             	cmpb   $0x5d,(%eax)
-     ab2:	0f 85 70 fe ff ff    	jne    0x928
-     ab8:	8b 7d d4             	mov    -0x2c(%ebp),%edi
-     abb:	85 ff                	test   %edi,%edi
-     abd:	0f 85 8f 00 00 00    	jne    0xb52
-     ac3:	83 c6 01             	add    $0x1,%esi
-     ac6:	8b 7d ec             	mov    -0x14(%ebp),%edi
-     ac9:	39 7d e8             	cmp    %edi,-0x18(%ebp)
-     acc:	0f 86 96 00 00 00    	jbe    0xb68
-     ad2:	39 f2                	cmp    %esi,%edx
-     ad4:	0f 86 8e 00 00 00    	jbe    0xb68
-     ada:	8b 4d e0             	mov    -0x20(%ebp),%ecx
-     add:	85 c9                	test   %ecx,%ecx
-     adf:	7e 2e                	jle    0xb0f
-     ae1:	8b 45 e0             	mov    -0x20(%ebp),%eax
-     ae4:	83 c0 03             	add    $0x3,%eax
-     ae7:	83 e0 fc             	and    $0xfffffffc,%eax
-     aea:	39 45 d8             	cmp    %eax,-0x28(%ebp)
-     aed:	0f 85 35 fe ff ff    	jne    0x928
-     af3:	8b 45 e0             	mov    -0x20(%ebp),%eax
-     af6:	2b 45 d8             	sub    -0x28(%ebp),%eax
-     af9:	8d 48 08             	lea    0x8(%eax),%ecx
-     afc:	8b 45 dc             	mov    -0x24(%ebp),%eax
-     aff:	d3 e0                	shl    %cl,%eax
-     b01:	84 c0                	test   %al,%al
-     b03:	0f 85 1f fe ff ff    	jne    0x928
-     b09:	8b 55 e0             	mov    -0x20(%ebp),%edx
-     b0c:	89 55 d8             	mov    %edx,-0x28(%ebp)
-     b0f:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
-     b12:	31 c0                	xor    %eax,%eax
-     b14:	81 7d d8 00 01 00 00 	cmpl   $0x100,-0x28(%ebp)
-     b1b:	0f 45 45 d8          	cmovne -0x28(%ebp),%eax
-     b1f:	c6 01 41             	movb   $0x41,(%ecx)
-     b22:	88 03                	mov    %al,(%ebx)
-     b24:	8b 5d ec             	mov    -0x14(%ebp),%ebx
-     b27:	0f be 06             	movsbl (%esi),%eax
-     b2a:	83 c3 01             	add    $0x1,%ebx
-     b2d:	85 c0                	test   %eax,%eax
-     b2f:	0f 84 cc 00 00 00    	je     0xc01
-     b35:	83 f8 2e             	cmp    $0x2e,%eax
-     b38:	75 3e                	jne    0xb78
-     b3a:	89 d9                	mov    %ebx,%ecx
-     b3c:	8b 5d ec             	mov    -0x14(%ebp),%ebx
-     b3f:	31 d2                	xor    %edx,%edx
-     b41:	0f b6 46 01          	movzbl 0x1(%esi),%eax
-     b45:	8d 7e 01             	lea    0x1(%esi),%edi
-     b48:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
-     b4b:	89 cb                	mov    %ecx,%ebx
-     b4d:	e9 e9 fc ff ff       	jmp    0x83b
-     b52:	8b 45 dc             	mov    -0x24(%ebp),%eax
-     b55:	8b 7d ec             	mov    -0x14(%ebp),%edi
-     b58:	c1 e0 04             	shl    $0x4,%eax
-     b5b:	88 07                	mov    %al,(%edi)
-     b5d:	83 c7 01             	add    $0x1,%edi
-     b60:	89 7d ec             	mov    %edi,-0x14(%ebp)
-     b63:	e9 5b ff ff ff       	jmp    0xac3
-     b68:	bb 28 00 00 00       	mov    $0x28,%ebx
-     b6d:	e9 bb fd ff ff       	jmp    0x92d
-     b72:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
-     b78:	e8 fc ff ff ff       	call   0xb79
-     b7d:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
-     b83:	83 c4 3c             	add    $0x3c,%esp
-     b86:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
-     b8b:	5b                   	pop    %ebx
-     b8c:	5e                   	pop    %esi
-     b8d:	5f                   	pop    %edi
-     b8e:	5d                   	pop    %ebp
-     b8f:	c3                   	ret    
-     b90:	80 f9 30             	cmp    $0x30,%cl
-     b93:	0f 84 8f fd ff ff    	je     0x928
-     b99:	89 75 d0             	mov    %esi,-0x30(%ebp)
-     b9c:	bf 01 00 00 00       	mov    $0x1,%edi
-     ba1:	e9 a8 fe ff ff       	jmp    0xa4e
-     ba6:	85 c9                	test   %ecx,%ecx
-     ba8:	74 12                	je     0xbbc
-     baa:	39 5d e8             	cmp    %ebx,-0x18(%ebp)
-     bad:	8d 76 00             	lea    0x0(%esi),%esi
-     bb0:	0f 86 ca fc ff ff    	jbe    0x880
-     bb6:	c6 03 00             	movb   $0x0,(%ebx)
-     bb9:	83 c6 01             	add    $0x1,%esi
-     bbc:	2b 75 0c             	sub    0xc(%ebp),%esi
-     bbf:	b8 01 00 00 00       	mov    $0x1,%eax
-     bc4:	81 fe ff 00 00 00    	cmp    $0xff,%esi
-     bca:	0f 8e c0 fc ff ff    	jle    0x890
-     bd0:	e9 ab fc ff ff       	jmp    0x880
-     bd5:	8d 76 00             	lea    0x0(%esi),%esi
-     bd8:	8b 5d c4             	mov    -0x3c(%ebp),%ebx
-     bdb:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
-     be2:	e9 df fe ff ff       	jmp    0xac6
-     be7:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
-     bee:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
-     bf5:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
-     bfc:	e9 c5 fe ff ff       	jmp    0xac6
-     c01:	8b 4d ec             	mov    -0x14(%ebp),%ecx
-     c04:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
-     c07:	e9 44 fc ff ff       	jmp    0x850
-     c0c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-     c10:	55                   	push   %ebp
-     c11:	89 e5                	mov    %esp,%ebp
-     c13:	53                   	push   %ebx
-     c14:	81 ec 14 01 00 00    	sub    $0x114,%esp
-     c1a:	8b 45 08             	mov    0x8(%ebp),%eax
-     c1d:	8d 9d fd fe ff ff    	lea    -0x103(%ebp),%ebx
-     c23:	c7 44 24 08 ff 00 00 	movl   $0xff,0x8(%esp)
-     c2a:	00 
-     c2b:	89 5c 24 04          	mov    %ebx,0x4(%esp)
-     c2f:	89 04 24             	mov    %eax,(%esp)
-     c32:	e8 fc ff ff ff       	call   0xc33
-     c37:	89 c2                	mov    %eax,%edx
-     c39:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
-     c3e:	83 fa ff             	cmp    $0xffffffff,%edx
-     c41:	74 24                	je     0xc67
-     c43:	8b 45 18             	mov    0x18(%ebp),%eax
-     c46:	89 1c 24             	mov    %ebx,(%esp)
-     c49:	89 44 24 10          	mov    %eax,0x10(%esp)
-     c4d:	8b 45 14             	mov    0x14(%ebp),%eax
-     c50:	89 44 24 0c          	mov    %eax,0xc(%esp)
-     c54:	8b 45 10             	mov    0x10(%ebp),%eax
-     c57:	89 44 24 08          	mov    %eax,0x8(%esp)
-     c5b:	8b 45 0c             	mov    0xc(%ebp),%eax
-     c5e:	89 44 24 04          	mov    %eax,0x4(%esp)
-     c62:	e8 fc ff ff ff       	call   0xc63
-     c67:	81 c4 14 01 00 00    	add    $0x114,%esp
-     c6d:	5b                   	pop    %ebx
-     c6e:	5d                   	pop    %ebp
-     c6f:	c3                   	ret    
-     c70:	55                   	push   %ebp
-     c71:	89 e5                	mov    %esp,%ebp
-     c73:	57                   	push   %edi
-     c74:	56                   	push   %esi
-     c75:	53                   	push   %ebx
-     c76:	83 ec 1c             	sub    $0x1c,%esp
-     c79:	8b 45 0c             	mov    0xc(%ebp),%eax
-     c7c:	03 45 10             	add    0x10(%ebp),%eax
-     c7f:	8b 75 08             	mov    0x8(%ebp),%esi
-     c82:	8b 5d 0c             	mov    0xc(%ebp),%ebx
-     c85:	89 45 f0             	mov    %eax,-0x10(%ebp)
-     c88:	0f b6 3e             	movzbl (%esi),%edi
-     c8b:	85 ff                	test   %edi,%edi
-     c8d:	0f 84 8b 02 00 00    	je     0xf1e
-     c93:	89 fa                	mov    %edi,%edx
-     c95:	81 e2 c0 00 00 00    	and    $0xc0,%edx
-     c9b:	81 fa c0 00 00 00    	cmp    $0xc0,%edx
-     ca1:	0f 84 81 01 00 00    	je     0xe28
-     ca7:	3b 5d 0c             	cmp    0xc(%ebp),%ebx
-     caa:	74 0f                	je     0xcbb
-     cac:	3b 5d f0             	cmp    -0x10(%ebp),%ebx
-     caf:	0f 83 73 01 00 00    	jae    0xe28
-     cb5:	c6 03 2e             	movb   $0x2e,(%ebx)
-     cb8:	83 c3 01             	add    $0x1,%ebx
-     cbb:	89 f0                	mov    %esi,%eax
-     cbd:	89 55 e4             	mov    %edx,-0x1c(%ebp)
-     cc0:	e8 9b f3 ff ff       	call   0x60
-     cc5:	8b 55 e4             	mov    -0x1c(%ebp),%edx
-     cc8:	85 c0                	test   %eax,%eax
-     cca:	89 c1                	mov    %eax,%ecx
-     ccc:	0f 88 56 01 00 00    	js     0xe28
-     cd2:	8d 04 03             	lea    (%ebx,%eax,1),%eax
-     cd5:	39 45 f0             	cmp    %eax,-0x10(%ebp)
-     cd8:	0f 86 4a 01 00 00    	jbe    0xe28
-     cde:	83 c6 01             	add    $0x1,%esi
-     ce1:	83 fa 40             	cmp    $0x40,%edx
-     ce4:	0f 84 56 01 00 00    	je     0xe40
-     cea:	85 c9                	test   %ecx,%ecx
-     cec:	74 9a                	je     0xc88
-     cee:	89 4d e8             	mov    %ecx,-0x18(%ebp)
-     cf1:	eb 32                	jmp    0xd25
-     cf3:	90                   	nop
-     cf4:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-     cf8:	8b 0c bd 00 01 00 00 	mov    0x100(,%edi,4),%ecx
-     cff:	85 c9                	test   %ecx,%ecx
-     d01:	74 30                	je     0xd33
-     d03:	8d 43 01             	lea    0x1(%ebx),%eax
-     d06:	39 45 f0             	cmp    %eax,-0x10(%ebp)
-     d09:	0f 86 19 01 00 00    	jbe    0xe28
-     d0f:	c6 03 5c             	movb   $0x5c,(%ebx)
-     d12:	88 53 01             	mov    %dl,0x1(%ebx)
-     d15:	83 c3 02             	add    $0x2,%ebx
-     d18:	83 c6 01             	add    $0x1,%esi
-     d1b:	83 6d e8 01          	subl   $0x1,-0x18(%ebp)
-     d1f:	0f 84 63 ff ff ff    	je     0xc88
-     d25:	0f b6 16             	movzbl (%esi),%edx
-     d28:	0f b6 c2             	movzbl %dl,%eax
-     d2b:	8d 78 de             	lea    -0x22(%eax),%edi
-     d2e:	83 ff 3a             	cmp    $0x3a,%edi
-     d31:	76 c5                	jbe    0xcf8
-     d33:	83 e8 21             	sub    $0x21,%eax
-     d36:	83 f8 5d             	cmp    $0x5d,%eax
-     d39:	0f 86 89 00 00 00    	jbe    0xdc8
-     d3f:	8d 43 03             	lea    0x3(%ebx),%eax
-     d42:	39 45 f0             	cmp    %eax,-0x10(%ebp)
-     d45:	0f 86 dd 00 00 00    	jbe    0xe28
-     d4b:	b8 29 00 00 00       	mov    $0x29,%eax
-     d50:	f6 e2                	mul    %dl
-     d52:	c6 03 5c             	movb   $0x5c,(%ebx)
-     d55:	66 c1 e8 08          	shr    $0x8,%ax
-     d59:	89 c1                	mov    %eax,%ecx
-     d5b:	c0 e9 04             	shr    $0x4,%cl
-     d5e:	0f b6 f9             	movzbl %cl,%edi
-     d61:	0f b6 bf 0e 00 00 00 	movzbl 0xe(%edi),%edi
-     d68:	89 f8                	mov    %edi,%eax
-     d6a:	bf cd ff ff ff       	mov    $0xffffffcd,%edi
-     d6f:	88 43 01             	mov    %al,0x1(%ebx)
-     d72:	b8 64 00 00 00       	mov    $0x64,%eax
-     d77:	0f af c1             	imul   %ecx,%eax
-     d7a:	89 d1                	mov    %edx,%ecx
-     d7c:	28 c1                	sub    %al,%cl
-     d7e:	89 f8                	mov    %edi,%eax
-     d80:	f6 e1                	mul    %cl
-     d82:	88 4d ec             	mov    %cl,-0x14(%ebp)
-     d85:	89 c1                	mov    %eax,%ecx
-     d87:	66 c1 e9 08          	shr    $0x8,%cx
-     d8b:	89 c8                	mov    %ecx,%eax
-     d8d:	c0 e8 03             	shr    $0x3,%al
-     d90:	0f b6 c0             	movzbl %al,%eax
-     d93:	0f b6 80 0e 00 00 00 	movzbl 0xe(%eax),%eax
-     d9a:	88 43 02             	mov    %al,0x2(%ebx)
-     d9d:	89 f8                	mov    %edi,%eax
-     d9f:	f6 e2                	mul    %dl
-     da1:	66 c1 e8 08          	shr    $0x8,%ax
-     da5:	c0 e8 03             	shr    $0x3,%al
-     da8:	8d 04 80             	lea    (%eax,%eax,4),%eax
-     dab:	01 c0                	add    %eax,%eax
-     dad:	28 c2                	sub    %al,%dl
-     daf:	0f b6 d2             	movzbl %dl,%edx
-     db2:	0f b6 82 0e 00 00 00 	movzbl 0xe(%edx),%eax
-     db9:	88 43 03             	mov    %al,0x3(%ebx)
-     dbc:	83 c3 04             	add    $0x4,%ebx
-     dbf:	e9 54 ff ff ff       	jmp    0xd18
-     dc4:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-     dc8:	39 5d f0             	cmp    %ebx,-0x10(%ebp)
-     dcb:	76 5b                	jbe    0xe28
-     dcd:	88 13                	mov    %dl,(%ebx)
-     dcf:	83 c3 01             	add    $0x1,%ebx
-     dd2:	e9 41 ff ff ff       	jmp    0xd18
-     dd7:	89 da                	mov    %ebx,%edx
-     dd9:	8b 5d e8             	mov    -0x18(%ebp),%ebx
-     ddc:	83 ff 04             	cmp    $0x4,%edi
-     ddf:	0f 8f 7e 01 00 00    	jg     0xf63
-     de5:	85 ff                	test   %edi,%edi
-     de7:	0f 8e fa 00 00 00    	jle    0xee7
-     ded:	0f b6 06             	movzbl (%esi),%eax
-     df0:	b9 04 00 00 00       	mov    $0x4,%ecx
-     df5:	29 f9                	sub    %edi,%ecx
-     df7:	bf 0f 00 00 00       	mov    $0xf,%edi
-     dfc:	d3 e7                	shl    %cl,%edi
-     dfe:	c7 44 24 04 05 00 00 	movl   $0x5,0x4(%esp)
-     e05:	00 
-     e06:	c0 e8 04             	shr    $0x4,%al
-     e09:	0f be c0             	movsbl %al,%eax
-     e0c:	21 f8                	and    %edi,%eax
-     e0e:	89 44 24 08          	mov    %eax,0x8(%esp)
-     e12:	89 14 24             	mov    %edx,(%esp)
-     e15:	89 55 e4             	mov    %edx,-0x1c(%ebp)
-     e18:	e8 fc ff ff ff       	call   0xe19
-     e1d:	8b 55 e4             	mov    -0x1c(%ebp),%edx
-     e20:	85 c0                	test   %eax,%eax
-     e22:	0f 89 ba 00 00 00    	jns    0xee2
+     34a:	0f b6 45 df          	movzbl -0x21(%ebp),%eax
+     34e:	8b 55 e0             	mov    -0x20(%ebp),%edx
+     351:	8d 54 02 01          	lea    0x1(%edx,%eax,1),%edx
+     355:	89 55 e0             	mov    %edx,-0x20(%ebp)
+     358:	0f b6 02             	movzbl (%edx),%eax
+     35b:	84 c0                	test   %al,%al
+     35d:	88 45 df             	mov    %al,-0x21(%ebp)
+     360:	74 16                	je     0x378
+     362:	a8 c0                	test   $0xc0,%al
+     364:	75 12                	jne    0x378
+     366:	2b 55 d8             	sub    -0x28(%ebp),%edx
+     369:	81 fa ff 3f 00 00    	cmp    $0x3fff,%edx
+     36f:	89 55 d0             	mov    %edx,-0x30(%ebp)
+     372:	0f 8e 62 ff ff ff    	jle    0x2da
+     378:	83 45 c8 04          	addl   $0x4,-0x38(%ebp)
+     37c:	8b 55 c8             	mov    -0x38(%ebp),%edx
+     37f:	39 55 cc             	cmp    %edx,-0x34(%ebp)
+     382:	0f 87 1f ff ff ff    	ja     0x2a7
+     388:	e8 fc ff ff ff       	call   0x389
+     38d:	c7 00 02 00 00 00    	movl   $0x2,(%eax)
+     393:	eb 1e                	jmp    0x3b3
+     395:	8d 76 00             	lea    0x0(%esi),%esi
+     398:	81 f9 c0 00 00 00    	cmp    $0xc0,%ecx
+     39e:	66 90                	xchg   %ax,%ax
+     3a0:	74 66                	je     0x408
+     3a2:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
+     3a8:	e8 fc ff ff ff       	call   0x3a9
+     3ad:	c7 00 28 00 00 00    	movl   $0x28,(%eax)
+     3b3:	8b 55 18             	mov    0x18(%ebp),%edx
+     3b6:	85 d2                	test   %edx,%edx
+     3b8:	0f 84 72 fe ff ff    	je     0x230
+     3be:	8b 55 bc             	mov    -0x44(%ebp),%edx
+     3c1:	39 55 c4             	cmp    %edx,-0x3c(%ebp)
+     3c4:	0f 83 66 fe ff ff    	jae    0x230
+     3ca:	8b 45 e8             	mov    -0x18(%ebp),%eax
+     3cd:	2b 45 d8             	sub    -0x28(%ebp),%eax
+     3d0:	3d ff 3f 00 00       	cmp    $0x3fff,%eax
+     3d5:	0f 8f 55 fe ff ff    	jg     0x230
+     3db:	8b 45 b8             	mov    -0x48(%ebp),%eax
+     3de:	85 c0                	test   %eax,%eax
+     3e0:	0f 84 4a fe ff ff    	je     0x230
+     3e6:	8b 45 c4             	mov    -0x3c(%ebp),%eax
+     3e9:	8b 55 e8             	mov    -0x18(%ebp),%edx
+     3ec:	c7 45 b8 00 00 00 00 	movl   $0x0,-0x48(%ebp)
+     3f3:	89 10                	mov    %edx,(%eax)
+     3f5:	83 c0 04             	add    $0x4,%eax
+     3f8:	89 45 c4             	mov    %eax,-0x3c(%ebp)
+     3fb:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
+     401:	e9 2a fe ff ff       	jmp    0x230
+     406:	66 90                	xchg   %ax,%ax
+     408:	0f b6 03             	movzbl (%ebx),%eax
+     40b:	83 e2 3f             	and    $0x3f,%edx
+     40e:	8b 5d d8             	mov    -0x28(%ebp),%ebx
+     411:	c1 e2 08             	shl    $0x8,%edx
+     414:	09 c2                	or     %eax,%edx
+     416:	01 d3                	add    %edx,%ebx
+     418:	89 d8                	mov    %ebx,%eax
+     41a:	e9 c1 fe ff ff       	jmp    0x2e0
+     41f:	90                   	nop
+     420:	80 3e 00             	cmpb   $0x0,(%esi)
+     423:	75 f3                	jne    0x418
+     425:	80 3b 00             	cmpb   $0x0,(%ebx)
+     428:	0f 85 1c ff ff ff    	jne    0x34a
+     42e:	83 7d d0 00          	cmpl   $0x0,-0x30(%ebp)
+     432:	0f 88 7b ff ff ff    	js     0x3b3
+     438:	8b 45 e8             	mov    -0x18(%ebp),%eax
+     43b:	83 c0 01             	add    $0x1,%eax
+     43e:	39 45 d4             	cmp    %eax,-0x2c(%ebp)
+     441:	76 3b                	jbe    0x47e
+     443:	8b 45 d0             	mov    -0x30(%ebp),%eax
+     446:	8b 55 e8             	mov    -0x18(%ebp),%edx
+     449:	c1 f8 08             	sar    $0x8,%eax
+     44c:	83 c8 c0             	or     $0xffffffc0,%eax
+     44f:	88 02                	mov    %al,(%edx)
+     451:	0f b6 45 d0          	movzbl -0x30(%ebp),%eax
+     455:	88 42 01             	mov    %al,0x1(%edx)
+     458:	89 d0                	mov    %edx,%eax
+     45a:	83 c0 02             	add    $0x2,%eax
+     45d:	2b 45 0c             	sub    0xc(%ebp),%eax
+     460:	eb 0b                	jmp    0x46d
+     462:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
+     468:	89 f8                	mov    %edi,%eax
+     46a:	2b 45 0c             	sub    0xc(%ebp),%eax
+     46d:	83 c4 48             	add    $0x48,%esp
+     470:	5b                   	pop    %ebx
+     471:	5e                   	pop    %esi
+     472:	5f                   	pop    %edi
+     473:	5d                   	pop    %ebp
+     474:	c3                   	ret    
+     475:	8d 76 00             	lea    0x0(%esi),%esi
+     478:	80 7d c3 00          	cmpb   $0x0,-0x3d(%ebp)
+     47c:	74 09                	je     0x487
+     47e:	8b 45 cc             	mov    -0x34(%ebp),%eax
+     481:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
+     487:	e8 fc ff ff ff       	call   0x488
+     48c:	c7 00 28 00 00 00    	movl   $0x28,(%eax)
+     492:	83 c4 48             	add    $0x48,%esp
+     495:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
+     49a:	5b                   	pop    %ebx
+     49b:	5e                   	pop    %esi
+     49c:	5f                   	pop    %edi
+     49d:	5d                   	pop    %ebp
+     49e:	c3                   	ret    
+     49f:	90                   	nop
+     4a0:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
+     4a7:	31 ff                	xor    %edi,%edi
+     4a9:	c7 45 cc 00 00 00 00 	movl   $0x0,-0x34(%ebp)
+     4b0:	e9 07 fd ff ff       	jmp    0x1bc
+     4b5:	8d 76 00             	lea    0x0(%esi),%esi
+     4b8:	e8 fc ff ff ff       	call   0x4b9
+     4bd:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
+     4c3:	83 c4 48             	add    $0x48,%esp
+     4c6:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
+     4cb:	5b                   	pop    %ebx
+     4cc:	5e                   	pop    %esi
+     4cd:	5f                   	pop    %edi
+     4ce:	5d                   	pop    %ebp
+     4cf:	c3                   	ret    
+     4d0:	55                   	push   %ebp
+     4d1:	89 e5                	mov    %esp,%ebp
+     4d3:	57                   	push   %edi
+     4d4:	56                   	push   %esi
+     4d5:	53                   	push   %ebx
+     4d6:	83 ec 28             	sub    $0x28,%esp
+     4d9:	8b 45 14             	mov    0x14(%ebp),%eax
+     4dc:	8b 55 18             	mov    0x18(%ebp),%edx
+     4df:	8b 5d 0c             	mov    0xc(%ebp),%ebx
+     4e2:	01 c2                	add    %eax,%edx
+     4e4:	39 5d 10             	cmp    %ebx,0x10(%ebp)
+     4e7:	89 55 e4             	mov    %edx,-0x1c(%ebp)
+     4ea:	0f 83 28 01 00 00    	jae    0x618
+     4f0:	8b 55 08             	mov    0x8(%ebp),%edx
+     4f3:	39 55 10             	cmp    %edx,0x10(%ebp)
+     4f6:	0f 82 1c 01 00 00    	jb     0x618
+     4fc:	89 45 f0             	mov    %eax,-0x10(%ebp)
+     4ff:	8b 45 0c             	mov    0xc(%ebp),%eax
+     502:	31 c9                	xor    %ecx,%ecx
+     504:	8b 5d 10             	mov    0x10(%ebp),%ebx
+     507:	c7 45 e8 01 00 00 00 	movl   $0x1,-0x18(%ebp)
+     50e:	29 5d e8             	sub    %ebx,-0x18(%ebp)
+     511:	29 d0                	sub    %edx,%eax
+     513:	c7 45 ec ff ff ff ff 	movl   $0xffffffff,-0x14(%ebp)
+     51a:	89 45 e0             	mov    %eax,-0x20(%ebp)
+     51d:	0f b6 13             	movzbl (%ebx),%edx
+     520:	8d 73 01             	lea    0x1(%ebx),%esi
+     523:	0f b6 c2             	movzbl %dl,%eax
+     526:	85 c0                	test   %eax,%eax
+     528:	0f 84 9c 00 00 00    	je     0x5ca
+     52e:	89 c7                	mov    %eax,%edi
+     530:	81 e7 c0 00 00 00    	and    $0xc0,%edi
+     536:	83 ff 40             	cmp    $0x40,%edi
+     539:	74 14                	je     0x54f
+     53b:	81 ff c0 00 00 00    	cmp    $0xc0,%edi
+     541:	0f 84 99 00 00 00    	je     0x5e0
+     547:	85 ff                	test   %edi,%edi
+     549:	0f 85 c9 00 00 00    	jne    0x618
+     54f:	89 d8                	mov    %ebx,%eax
+     551:	88 55 dc             	mov    %dl,-0x24(%ebp)
+     554:	89 4d d8             	mov    %ecx,-0x28(%ebp)
+     557:	e8 04 fb ff ff       	call   0x60
+     55c:	0f b6 55 dc          	movzbl -0x24(%ebp),%edx
+     560:	8b 4d d8             	mov    -0x28(%ebp),%ecx
+     563:	85 c0                	test   %eax,%eax
+     565:	89 c7                	mov    %eax,%edi
+     567:	0f 88 ab 00 00 00    	js     0x618
+     56d:	8b 5d f0             	mov    -0x10(%ebp),%ebx
+     570:	8d 44 03 01          	lea    0x1(%ebx,%eax,1),%eax
+     574:	39 45 e4             	cmp    %eax,-0x1c(%ebp)
+     577:	0f 86 9b 00 00 00    	jbe    0x618
+     57d:	8d 1c 3e             	lea    (%esi,%edi,1),%ebx
+     580:	39 5d 0c             	cmp    %ebx,0xc(%ebp)
+     583:	0f 86 8f 00 00 00    	jbe    0x618
+     589:	8b 45 f0             	mov    -0x10(%ebp),%eax
+     58c:	8d 4c 0f 01          	lea    0x1(%edi,%ecx,1),%ecx
+     590:	88 10                	mov    %dl,(%eax)
+     592:	89 c2                	mov    %eax,%edx
+     594:	83 c2 01             	add    $0x1,%edx
+     597:	89 7c 24 08          	mov    %edi,0x8(%esp)
+     59b:	89 74 24 04          	mov    %esi,0x4(%esp)
+     59f:	8d 73 01             	lea    0x1(%ebx),%esi
+     5a2:	89 14 24             	mov    %edx,(%esp)
+     5a5:	89 55 dc             	mov    %edx,-0x24(%ebp)
+     5a8:	89 4d d8             	mov    %ecx,-0x28(%ebp)
+     5ab:	e8 fc ff ff ff       	call   0x5ac
+     5b0:	8b 55 dc             	mov    -0x24(%ebp),%edx
+     5b3:	8b 4d d8             	mov    -0x28(%ebp),%ecx
+     5b6:	8d 3c 3a             	lea    (%edx,%edi,1),%edi
+     5b9:	89 7d f0             	mov    %edi,-0x10(%ebp)
+     5bc:	0f b6 13             	movzbl (%ebx),%edx
+     5bf:	0f b6 c2             	movzbl %dl,%eax
+     5c2:	85 c0                	test   %eax,%eax
+     5c4:	0f 85 64 ff ff ff    	jne    0x52e
+     5ca:	8b 5d f0             	mov    -0x10(%ebp),%ebx
+     5cd:	c6 03 00             	movb   $0x0,(%ebx)
+     5d0:	8b 45 ec             	mov    -0x14(%ebp),%eax
+     5d3:	85 c0                	test   %eax,%eax
+     5d5:	79 53                	jns    0x62a
+     5d7:	2b 75 10             	sub    0x10(%ebp),%esi
+     5da:	89 75 ec             	mov    %esi,-0x14(%ebp)
+     5dd:	eb 4b                	jmp    0x62a
+     5df:	90                   	nop
+     5e0:	39 75 0c             	cmp    %esi,0xc(%ebp)
+     5e3:	76 33                	jbe    0x618
+     5e5:	8b 55 ec             	mov    -0x14(%ebp),%edx
+     5e8:	85 d2                	test   %edx,%edx
+     5ea:	78 4c                	js     0x638
+     5ec:	89 c3                	mov    %eax,%ebx
+     5ee:	0f b6 06             	movzbl (%esi),%eax
+     5f1:	83 e3 3f             	and    $0x3f,%ebx
+     5f4:	c1 e3 08             	shl    $0x8,%ebx
+     5f7:	09 c3                	or     %eax,%ebx
+     5f9:	03 5d 08             	add    0x8(%ebp),%ebx
+     5fc:	3b 5d 0c             	cmp    0xc(%ebp),%ebx
+     5ff:	73 17                	jae    0x618
+     601:	3b 5d 08             	cmp    0x8(%ebp),%ebx
+     604:	72 12                	jb     0x618
+     606:	83 c1 02             	add    $0x2,%ecx
+     609:	3b 4d e0             	cmp    -0x20(%ebp),%ecx
+     60c:	0f 8c 0b ff ff ff    	jl     0x51d
+     612:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
+     618:	e8 fc ff ff ff       	call   0x619
+     61d:	c7 45 ec ff ff ff ff 	movl   $0xffffffff,-0x14(%ebp)
+     624:	c7 00 28 00 00 00    	movl   $0x28,(%eax)
+     62a:	8b 45 ec             	mov    -0x14(%ebp),%eax
+     62d:	83 c4 28             	add    $0x28,%esp
+     630:	5b                   	pop    %ebx
+     631:	5e                   	pop    %esi
+     632:	5f                   	pop    %edi
+     633:	5d                   	pop    %ebp
+     634:	c3                   	ret    
+     635:	8d 76 00             	lea    0x0(%esi),%esi
+     638:	8b 55 e8             	mov    -0x18(%ebp),%edx
+     63b:	01 f2                	add    %esi,%edx
+     63d:	89 55 ec             	mov    %edx,-0x14(%ebp)
+     640:	eb aa                	jmp    0x5ec
+     642:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
+     649:	8d bc 27 00 00 00 00 	lea    0x0(%edi,%eiz,1),%edi
+     650:	55                   	push   %ebp
+     651:	89 e5                	mov    %esp,%ebp
+     653:	57                   	push   %edi
+     654:	56                   	push   %esi
+     655:	53                   	push   %ebx
+     656:	83 ec 1c             	sub    $0x1c,%esp
+     659:	8b 45 0c             	mov    0xc(%ebp),%eax
+     65c:	8b 7d 0c             	mov    0xc(%ebp),%edi
+     65f:	03 45 10             	add    0x10(%ebp),%eax
+     662:	8b 75 08             	mov    0x8(%ebp),%esi
+     665:	39 c7                	cmp    %eax,%edi
+     667:	89 45 f0             	mov    %eax,-0x10(%ebp)
+     66a:	0f 83 d0 00 00 00    	jae    0x740
+     670:	0f b6 16             	movzbl (%esi),%edx
+     673:	0f b6 c2             	movzbl %dl,%eax
+     676:	85 c0                	test   %eax,%eax
+     678:	74 47                	je     0x6c1
+     67a:	25 c0 00 00 00       	and    $0xc0,%eax
+     67f:	3d c0 00 00 00       	cmp    $0xc0,%eax
+     684:	0f 84 b6 00 00 00    	je     0x740
+     68a:	88 17                	mov    %dl,(%edi)
+     68c:	89 f0                	mov    %esi,%eax
+     68e:	e8 cd f9 ff ff       	call   0x60
+     693:	85 c0                	test   %eax,%eax
+     695:	89 c3                	mov    %eax,%ebx
+     697:	0f 88 a3 00 00 00    	js     0x740
+     69d:	8d 47 01             	lea    0x1(%edi),%eax
+     6a0:	8d 14 18             	lea    (%eax,%ebx,1),%edx
+     6a3:	39 55 f0             	cmp    %edx,-0x10(%ebp)
+     6a6:	0f 86 94 00 00 00    	jbe    0x740
+     6ac:	85 db                	test   %ebx,%ebx
+     6ae:	8d 56 01             	lea    0x1(%esi),%edx
+     6b1:	75 25                	jne    0x6d8
+     6b3:	89 d6                	mov    %edx,%esi
+     6b5:	89 c7                	mov    %eax,%edi
+     6b7:	0f b6 16             	movzbl (%esi),%edx
+     6ba:	0f b6 c2             	movzbl %dl,%eax
+     6bd:	85 c0                	test   %eax,%eax
+     6bf:	75 b9                	jne    0x67a
+     6c1:	c6 07 00             	movb   $0x0,(%edi)
+     6c4:	8d 47 01             	lea    0x1(%edi),%eax
+     6c7:	2b 45 0c             	sub    0xc(%ebp),%eax
+     6ca:	83 c4 1c             	add    $0x1c,%esp
+     6cd:	5b                   	pop    %ebx
+     6ce:	5e                   	pop    %esi
+     6cf:	5f                   	pop    %edi
+     6d0:	5d                   	pop    %ebp
+     6d1:	c3                   	ret    
+     6d2:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
+     6d8:	89 55 e0             	mov    %edx,-0x20(%ebp)
+     6db:	e8 fc ff ff ff       	call   0x6dc
+     6e0:	8b 55 e0             	mov    -0x20(%ebp),%edx
+     6e3:	8d 4f 02             	lea    0x2(%edi),%ecx
+     6e6:	89 f7                	mov    %esi,%edi
+     6e8:	89 55 d8             	mov    %edx,-0x28(%ebp)
+     6eb:	89 45 e4             	mov    %eax,-0x1c(%ebp)
+     6ee:	8d 04 1e             	lea    (%esi,%ebx,1),%eax
+     6f1:	89 ce                	mov    %ecx,%esi
+     6f3:	89 45 e8             	mov    %eax,-0x18(%ebp)
+     6f6:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
+     6f9:	0f b6 47 01          	movzbl 0x1(%edi),%eax
+     6fd:	8b 09                	mov    (%ecx),%ecx
+     6ff:	0f b6 d0             	movzbl %al,%edx
+     702:	89 55 ec             	mov    %edx,-0x14(%ebp)
+     705:	f6 44 51 01 01       	testb  $0x1,0x1(%ecx,%edx,2)
+     70a:	74 2c                	je     0x738
+     70c:	e8 fc ff ff ff       	call   0x70d
+     711:	8b 55 ec             	mov    -0x14(%ebp),%edx
+     714:	8b 00                	mov    (%eax),%eax
+     716:	8b 04 90             	mov    (%eax,%edx,4),%eax
+     719:	88 46 ff             	mov    %al,-0x1(%esi)
+     71c:	89 f0                	mov    %esi,%eax
+     71e:	83 c7 01             	add    $0x1,%edi
+     721:	83 c6 01             	add    $0x1,%esi
+     724:	3b 7d e8             	cmp    -0x18(%ebp),%edi
+     727:	75 cd                	jne    0x6f6
+     729:	8b 55 d8             	mov    -0x28(%ebp),%edx
+     72c:	89 c7                	mov    %eax,%edi
+     72e:	8d 34 1a             	lea    (%edx,%ebx,1),%esi
+     731:	e9 3a ff ff ff       	jmp    0x670
+     736:	66 90                	xchg   %ax,%ax
+     738:	88 46 ff             	mov    %al,-0x1(%esi)
+     73b:	89 f0                	mov    %esi,%eax
+     73d:	eb df                	jmp    0x71e
+     73f:	90                   	nop
+     740:	e8 fc ff ff ff       	call   0x741
+     745:	c7 00 28 00 00 00    	movl   $0x28,(%eax)
+     74b:	83 c4 1c             	add    $0x1c,%esp
+     74e:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
+     753:	5b                   	pop    %ebx
+     754:	5e                   	pop    %esi
+     755:	5f                   	pop    %edi
+     756:	5d                   	pop    %ebp
+     757:	c3                   	ret    
+     758:	90                   	nop
+     759:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
+     760:	55                   	push   %ebp
+     761:	89 e5                	mov    %esp,%ebp
+     763:	57                   	push   %edi
+     764:	56                   	push   %esi
+     765:	53                   	push   %ebx
+     766:	83 ec 3c             	sub    $0x3c,%esp
+     769:	8b 7d 08             	mov    0x8(%ebp),%edi
+     76c:	8b 45 0c             	mov    0xc(%ebp),%eax
+     76f:	03 45 10             	add    0x10(%ebp),%eax
+     772:	8b 55 0c             	mov    0xc(%ebp),%edx
+     775:	8b 5d 0c             	mov    0xc(%ebp),%ebx
+     778:	89 45 e8             	mov    %eax,-0x18(%ebp)
+     77b:	0f b6 07             	movzbl (%edi),%eax
+     77e:	89 55 e4             	mov    %edx,-0x1c(%ebp)
+     781:	31 d2                	xor    %edx,%edx
+     783:	83 c3 01             	add    $0x1,%ebx
+     786:	0f be f0             	movsbl %al,%esi
+     789:	85 f6                	test   %esi,%esi
+     78b:	0f 84 c5 00 00 00    	je     0x856
+     791:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
+     798:	83 c7 01             	add    $0x1,%edi
+     79b:	85 d2                	test   %edx,%edx
+     79d:	0f 84 05 01 00 00    	je     0x8a8
+     7a3:	83 fe 5b             	cmp    $0x5b,%esi
+     7a6:	0f 84 5c 01 00 00    	je     0x908
+     7ac:	89 74 24 04          	mov    %esi,0x4(%esp)
+     7b0:	c7 04 24 0e 00 00 00 	movl   $0xe,(%esp)
+     7b7:	e8 fc ff ff ff       	call   0x7b8
+     7bc:	85 c0                	test   %eax,%eax
+     7be:	89 45 ec             	mov    %eax,-0x14(%ebp)
+     7c1:	74 75                	je     0x838
+     7c3:	0f be 07             	movsbl (%edi),%eax
+     7c6:	85 c0                	test   %eax,%eax
+     7c8:	0f 84 c2 00 00 00    	je     0x890
+     7ce:	89 44 24 04          	mov    %eax,0x4(%esp)
+     7d2:	c7 04 24 0e 00 00 00 	movl   $0xe,(%esp)
+     7d9:	e8 fc ff ff ff       	call   0x7da
+     7de:	85 c0                	test   %eax,%eax
+     7e0:	89 c6                	mov    %eax,%esi
+     7e2:	0f 84 a8 00 00 00    	je     0x890
+     7e8:	0f be 47 01          	movsbl 0x1(%edi),%eax
+     7ec:	85 c0                	test   %eax,%eax
+     7ee:	0f 84 9c 00 00 00    	je     0x890
+     7f4:	89 44 24 04          	mov    %eax,0x4(%esp)
+     7f8:	c7 04 24 0e 00 00 00 	movl   $0xe,(%esp)
+     7ff:	e8 fc ff ff ff       	call   0x800
+     804:	85 c0                	test   %eax,%eax
+     806:	0f 84 84 00 00 00    	je     0x890
+     80c:	8b 55 ec             	mov    -0x14(%ebp),%edx
+     80f:	81 ee 0e 00 00 00    	sub    $0xe,%esi
+     815:	8d 0c b6             	lea    (%esi,%esi,4),%ecx
+     818:	81 ea 0e 00 00 00    	sub    $0xe,%edx
+     81e:	6b d2 64             	imul   $0x64,%edx,%edx
+     821:	81 ea 0e 00 00 00    	sub    $0xe,%edx
+     827:	8d 34 4a             	lea    (%edx,%ecx,2),%esi
+     82a:	8d 34 30             	lea    (%eax,%esi,1),%esi
+     82d:	81 fe ff 00 00 00    	cmp    $0xff,%esi
+     833:	7f 5b                	jg     0x890
+     835:	83 c7 02             	add    $0x2,%edi
+     838:	39 5d e8             	cmp    %ebx,-0x18(%ebp)
+     83b:	76 53                	jbe    0x890
+     83d:	89 f2                	mov    %esi,%edx
+     83f:	88 13                	mov    %dl,(%ebx)
+     841:	0f b6 07             	movzbl (%edi),%eax
+     844:	8d 4b 01             	lea    0x1(%ebx),%ecx
+     847:	31 d2                	xor    %edx,%edx
+     849:	89 cb                	mov    %ecx,%ebx
+     84b:	0f be f0             	movsbl %al,%esi
+     84e:	85 f6                	test   %esi,%esi
+     850:	0f 85 42 ff ff ff    	jne    0x798
+     856:	8d 43 ff             	lea    -0x1(%ebx),%eax
+     859:	2b 45 e4             	sub    -0x1c(%ebp),%eax
+     85c:	a8 c0                	test   $0xc0,%al
+     85e:	75 30                	jne    0x890
+     860:	8b 7d e4             	mov    -0x1c(%ebp),%edi
+     863:	39 7d e8             	cmp    %edi,-0x18(%ebp)
+     866:	76 28                	jbe    0x890
+     868:	8b 55 e4             	mov    -0x1c(%ebp),%edx
+     86b:	85 c0                	test   %eax,%eax
+     86d:	88 02                	mov    %al,(%edx)
+     86f:	74 0b                	je     0x87c
+     871:	39 5d e8             	cmp    %ebx,-0x18(%ebp)
+     874:	76 1a                	jbe    0x890
+     876:	c6 03 00             	movb   $0x0,(%ebx)
+     879:	83 c3 01             	add    $0x1,%ebx
+     87c:	2b 5d 0c             	sub    0xc(%ebp),%ebx
+     87f:	31 c0                	xor    %eax,%eax
+     881:	81 fb ff 00 00 00    	cmp    $0xff,%ebx
+     887:	7e 17                	jle    0x8a0
+     889:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
+     890:	e8 fc ff ff ff       	call   0x891
+     895:	c7 00 28 00 00 00    	movl   $0x28,(%eax)
+     89b:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
+     8a0:	83 c4 3c             	add    $0x3c,%esp
+     8a3:	5b                   	pop    %ebx
+     8a4:	5e                   	pop    %esi
+     8a5:	5f                   	pop    %edi
+     8a6:	5d                   	pop    %ebp
+     8a7:	c3                   	ret    
+     8a8:	83 fe 5c             	cmp    $0x5c,%esi
+     8ab:	74 43                	je     0x8f0
+     8ad:	83 fe 2e             	cmp    $0x2e,%esi
+     8b0:	75 86                	jne    0x838
+     8b2:	8d 4b ff             	lea    -0x1(%ebx),%ecx
+     8b5:	89 de                	mov    %ebx,%esi
+     8b7:	2b 4d e4             	sub    -0x1c(%ebp),%ecx
+     8ba:	f6 c1 c0             	test   $0xc0,%cl
+     8bd:	75 d1                	jne    0x890
+     8bf:	8b 45 e4             	mov    -0x1c(%ebp),%eax
+     8c2:	39 45 e8             	cmp    %eax,-0x18(%ebp)
+     8c5:	76 c9                	jbe    0x890
+     8c7:	8b 45 e4             	mov    -0x1c(%ebp),%eax
+     8ca:	88 08                	mov    %cl,(%eax)
+     8cc:	0f b6 07             	movzbl (%edi),%eax
+     8cf:	84 c0                	test   %al,%al
+     8d1:	0f 84 df 02 00 00    	je     0xbb6
+     8d7:	85 c9                	test   %ecx,%ecx
+     8d9:	74 b5                	je     0x890
+     8db:	3c 2e                	cmp    $0x2e,%al
+     8dd:	74 b1                	je     0x890
+     8df:	8d 4b 01             	lea    0x1(%ebx),%ecx
+     8e2:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
+     8e5:	89 cb                	mov    %ecx,%ebx
+     8e7:	e9 5f ff ff ff       	jmp    0x84b
+     8ec:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+     8f0:	89 d9                	mov    %ebx,%ecx
+     8f2:	0f b6 07             	movzbl (%edi),%eax
+     8f5:	ba 01 00 00 00       	mov    $0x1,%edx
+     8fa:	89 cb                	mov    %ecx,%ebx
+     8fc:	e9 4a ff ff ff       	jmp    0x84b
+     901:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
+     908:	c7 44 24 04 5d 00 00 	movl   $0x5d,0x4(%esp)
+     90f:	00 
+     910:	89 3c 24             	mov    %edi,(%esp)
+     913:	e8 fc ff ff ff       	call   0x914
+     918:	85 c0                	test   %eax,%eax
+     91a:	0f 84 68 02 00 00    	je     0xb88
+     920:	8d 50 02             	lea    0x2(%eax),%edx
+     923:	89 d0                	mov    %edx,%eax
+     925:	29 f8                	sub    %edi,%eax
+     927:	83 f8 01             	cmp    $0x1,%eax
+     92a:	7e 0c                	jle    0x938
+     92c:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
+     933:	80 3f 78             	cmpb   $0x78,(%edi)
+     936:	74 20                	je     0x958
+     938:	bb 16 00 00 00       	mov    $0x16,%ebx
+     93d:	e8 fc ff ff ff       	call   0x93e
+     942:	89 18                	mov    %ebx,(%eax)
+     944:	83 c4 3c             	add    $0x3c,%esp
+     947:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
+     94c:	5b                   	pop    %ebx
+     94d:	5e                   	pop    %esi
+     94e:	5f                   	pop    %edi
+     94f:	5d                   	pop    %ebp
+     950:	c3                   	ret    
+     951:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
+     958:	89 55 c8             	mov    %edx,-0x38(%ebp)
+     95b:	8d 77 01             	lea    0x1(%edi),%esi
+     95e:	e8 fc ff ff ff       	call   0x95f
+     963:	0f b6 4f 01          	movzbl 0x1(%edi),%ecx
+     967:	8b 55 c8             	mov    -0x38(%ebp),%edx
+     96a:	0f b6 f9             	movzbl %cl,%edi
+     96d:	88 4d e0             	mov    %cl,-0x20(%ebp)
+     970:	8b 08                	mov    (%eax),%ecx
+     972:	f6 44 79 01 10       	testb  $0x10,0x1(%ecx,%edi,2)
+     977:	74 bf                	je     0x938
+     979:	8d 7b 01             	lea    0x1(%ebx),%edi
+     97c:	39 f2                	cmp    %esi,%edx
+     97e:	89 7d ec             	mov    %edi,-0x14(%ebp)
+     981:	0f 86 70 02 00 00    	jbe    0xbf7
+     987:	39 7d e8             	cmp    %edi,-0x18(%ebp)
+     98a:	0f 86 67 02 00 00    	jbe    0xbf7
+     990:	0f b6 4d e0          	movzbl -0x20(%ebp),%ecx
+     994:	31 ff                	xor    %edi,%edi
+     996:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
+     99d:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
+     9a4:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
+     9ab:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
+     9b2:	89 5d c4             	mov    %ebx,-0x3c(%ebp)
+     9b5:	80 f9 2f             	cmp    $0x2f,%cl
+     9b8:	0f 84 9b 00 00 00    	je     0xa59
+     9be:	80 f9 5d             	cmp    $0x5d,%cl
+     9c1:	0f 84 b9 00 00 00    	je     0xa80
+     9c7:	85 ff                	test   %edi,%edi
+     9c9:	75 6d                	jne    0xa38
+     9cb:	8b 18                	mov    (%eax),%ebx
+     9cd:	0f be c9             	movsbl %cl,%ecx
+     9d0:	89 4d e0             	mov    %ecx,-0x20(%ebp)
+     9d3:	81 e1 ff 00 00 00    	and    $0xff,%ecx
+     9d9:	89 4d cc             	mov    %ecx,-0x34(%ebp)
+     9dc:	f6 44 4b 01 10       	testb  $0x10,0x1(%ebx,%ecx,2)
+     9e1:	0f 84 51 ff ff ff    	je     0x938
+     9e7:	8b 4d e0             	mov    -0x20(%ebp),%ecx
+     9ea:	83 45 d8 04          	addl   $0x4,-0x28(%ebp)
+     9ee:	81 7d d8 00 01 00 00 	cmpl   $0x100,-0x28(%ebp)
+     9f5:	0f b6 99 00 00 00 00 	movzbl 0x0(%ecx),%ebx
+     9fc:	0f 8f 36 ff ff ff    	jg     0x938
+     a02:	8b 4d dc             	mov    -0x24(%ebp),%ecx
+     a05:	83 45 d4 04          	addl   $0x4,-0x2c(%ebp)
+     a09:	c1 e1 04             	shl    $0x4,%ecx
+     a0c:	89 4d dc             	mov    %ecx,-0x24(%ebp)
+     a0f:	0f be cb             	movsbl %bl,%ecx
+     a12:	03 4d dc             	add    -0x24(%ebp),%ecx
+     a15:	83 7d d4 08          	cmpl   $0x8,-0x2c(%ebp)
+     a19:	89 4d dc             	mov    %ecx,-0x24(%ebp)
+     a1c:	75 40                	jne    0xa5e
+     a1e:	8b 5d ec             	mov    -0x14(%ebp),%ebx
+     a21:	88 0b                	mov    %cl,(%ebx)
+     a23:	83 c3 01             	add    $0x1,%ebx
+     a26:	89 5d ec             	mov    %ebx,-0x14(%ebp)
+     a29:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
+     a30:	eb 2c                	jmp    0xa5e
+     a32:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
+     a38:	0f b6 d9             	movzbl %cl,%ebx
+     a3b:	89 5d e0             	mov    %ebx,-0x20(%ebp)
+     a3e:	8b 18                	mov    (%eax),%ebx
+     a40:	8b 7d e0             	mov    -0x20(%ebp),%edi
+     a43:	f6 44 7b 01 08       	testb  $0x8,0x1(%ebx,%edi,2)
+     a48:	0f 84 ea fe ff ff    	je     0x938
+     a4e:	8b 5d d0             	mov    -0x30(%ebp),%ebx
+     a51:	85 db                	test   %ebx,%ebx
+     a53:	0f 84 47 01 00 00    	je     0xba0
+     a59:	bf 01 00 00 00       	mov    $0x1,%edi
+     a5e:	8b 4d ec             	mov    -0x14(%ebp),%ecx
+     a61:	83 c6 01             	add    $0x1,%esi
+     a64:	39 4d e8             	cmp    %ecx,-0x18(%ebp)
+     a67:	0f 86 7b 01 00 00    	jbe    0xbe8
+     a6d:	39 f2                	cmp    %esi,%edx
+     a6f:	0f 86 73 01 00 00    	jbe    0xbe8
+     a75:	0f b6 0e             	movzbl (%esi),%ecx
+     a78:	e9 38 ff ff ff       	jmp    0x9b5
+     a7d:	8d 76 00             	lea    0x0(%esi),%esi
+     a80:	85 ff                	test   %edi,%edi
+     a82:	8b 5d c4             	mov    -0x3c(%ebp),%ebx
+     a85:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
+     a8c:	74 3a                	je     0xac8
+     a8e:	8b 45 d0             	mov    -0x30(%ebp),%eax
+     a91:	85 c0                	test   %eax,%eax
+     a93:	0f 84 9f fe ff ff    	je     0x938
+     a99:	8d 45 f0             	lea    -0x10(%ebp),%eax
+     a9c:	c7 44 24 08 0a 00 00 	movl   $0xa,0x8(%esp)
+     aa3:	00 
+     aa4:	89 44 24 04          	mov    %eax,0x4(%esp)
+     aa8:	8b 4d d0             	mov    -0x30(%ebp),%ecx
+     aab:	89 0c 24             	mov    %ecx,(%esp)
+     aae:	89 55 c8             	mov    %edx,-0x38(%ebp)
+     ab1:	e8 fc ff ff ff       	call   0xab2
+     ab6:	8b 55 c8             	mov    -0x38(%ebp),%edx
+     ab9:	89 45 e0             	mov    %eax,-0x20(%ebp)
+     abc:	8b 45 f0             	mov    -0x10(%ebp),%eax
+     abf:	80 38 5d             	cmpb   $0x5d,(%eax)
+     ac2:	0f 85 70 fe ff ff    	jne    0x938
+     ac8:	8b 7d d4             	mov    -0x2c(%ebp),%edi
+     acb:	85 ff                	test   %edi,%edi
+     acd:	0f 85 8f 00 00 00    	jne    0xb62
+     ad3:	83 c6 01             	add    $0x1,%esi
+     ad6:	8b 7d ec             	mov    -0x14(%ebp),%edi
+     ad9:	39 7d e8             	cmp    %edi,-0x18(%ebp)
+     adc:	0f 86 96 00 00 00    	jbe    0xb78
+     ae2:	39 f2                	cmp    %esi,%edx
+     ae4:	0f 86 8e 00 00 00    	jbe    0xb78
+     aea:	8b 4d e0             	mov    -0x20(%ebp),%ecx
+     aed:	85 c9                	test   %ecx,%ecx
+     aef:	7e 2e                	jle    0xb1f
+     af1:	8b 45 e0             	mov    -0x20(%ebp),%eax
+     af4:	83 c0 03             	add    $0x3,%eax
+     af7:	83 e0 fc             	and    $0xfffffffc,%eax
+     afa:	39 45 d8             	cmp    %eax,-0x28(%ebp)
+     afd:	0f 85 35 fe ff ff    	jne    0x938
+     b03:	8b 45 e0             	mov    -0x20(%ebp),%eax
+     b06:	2b 45 d8             	sub    -0x28(%ebp),%eax
+     b09:	8d 48 08             	lea    0x8(%eax),%ecx
+     b0c:	8b 45 dc             	mov    -0x24(%ebp),%eax
+     b0f:	d3 e0                	shl    %cl,%eax
+     b11:	84 c0                	test   %al,%al
+     b13:	0f 85 1f fe ff ff    	jne    0x938
+     b19:	8b 55 e0             	mov    -0x20(%ebp),%edx
+     b1c:	89 55 d8             	mov    %edx,-0x28(%ebp)
+     b1f:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
+     b22:	31 c0                	xor    %eax,%eax
+     b24:	81 7d d8 00 01 00 00 	cmpl   $0x100,-0x28(%ebp)
+     b2b:	0f 45 45 d8          	cmovne -0x28(%ebp),%eax
+     b2f:	c6 01 41             	movb   $0x41,(%ecx)
+     b32:	88 03                	mov    %al,(%ebx)
+     b34:	8b 5d ec             	mov    -0x14(%ebp),%ebx
+     b37:	0f be 06             	movsbl (%esi),%eax
+     b3a:	83 c3 01             	add    $0x1,%ebx
+     b3d:	85 c0                	test   %eax,%eax
+     b3f:	0f 84 cc 00 00 00    	je     0xc11
+     b45:	83 f8 2e             	cmp    $0x2e,%eax
+     b48:	75 3e                	jne    0xb88
+     b4a:	89 d9                	mov    %ebx,%ecx
+     b4c:	8b 5d ec             	mov    -0x14(%ebp),%ebx
+     b4f:	31 d2                	xor    %edx,%edx
+     b51:	0f b6 46 01          	movzbl 0x1(%esi),%eax
+     b55:	8d 7e 01             	lea    0x1(%esi),%edi
+     b58:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
+     b5b:	89 cb                	mov    %ecx,%ebx
+     b5d:	e9 e9 fc ff ff       	jmp    0x84b
+     b62:	8b 45 dc             	mov    -0x24(%ebp),%eax
+     b65:	8b 7d ec             	mov    -0x14(%ebp),%edi
+     b68:	c1 e0 04             	shl    $0x4,%eax
+     b6b:	88 07                	mov    %al,(%edi)
+     b6d:	83 c7 01             	add    $0x1,%edi
+     b70:	89 7d ec             	mov    %edi,-0x14(%ebp)
+     b73:	e9 5b ff ff ff       	jmp    0xad3
+     b78:	bb 28 00 00 00       	mov    $0x28,%ebx
+     b7d:	e9 bb fd ff ff       	jmp    0x93d
+     b82:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
+     b88:	e8 fc ff ff ff       	call   0xb89
+     b8d:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
+     b93:	83 c4 3c             	add    $0x3c,%esp
+     b96:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
+     b9b:	5b                   	pop    %ebx
+     b9c:	5e                   	pop    %esi
+     b9d:	5f                   	pop    %edi
+     b9e:	5d                   	pop    %ebp
+     b9f:	c3                   	ret    
+     ba0:	80 f9 30             	cmp    $0x30,%cl
+     ba3:	0f 84 8f fd ff ff    	je     0x938
+     ba9:	89 75 d0             	mov    %esi,-0x30(%ebp)
+     bac:	bf 01 00 00 00       	mov    $0x1,%edi
+     bb1:	e9 a8 fe ff ff       	jmp    0xa5e
+     bb6:	85 c9                	test   %ecx,%ecx
+     bb8:	74 12                	je     0xbcc
+     bba:	39 5d e8             	cmp    %ebx,-0x18(%ebp)
+     bbd:	8d 76 00             	lea    0x0(%esi),%esi
+     bc0:	0f 86 ca fc ff ff    	jbe    0x890
+     bc6:	c6 03 00             	movb   $0x0,(%ebx)
+     bc9:	83 c6 01             	add    $0x1,%esi
+     bcc:	2b 75 0c             	sub    0xc(%ebp),%esi
+     bcf:	b8 01 00 00 00       	mov    $0x1,%eax
+     bd4:	81 fe ff 00 00 00    	cmp    $0xff,%esi
+     bda:	0f 8e c0 fc ff ff    	jle    0x8a0
+     be0:	e9 ab fc ff ff       	jmp    0x890
+     be5:	8d 76 00             	lea    0x0(%esi),%esi
+     be8:	8b 5d c4             	mov    -0x3c(%ebp),%ebx
+     beb:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
+     bf2:	e9 df fe ff ff       	jmp    0xad6
+     bf7:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
+     bfe:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
+     c05:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
+     c0c:	e9 c5 fe ff ff       	jmp    0xad6
+     c11:	8b 4d ec             	mov    -0x14(%ebp),%ecx
+     c14:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
+     c17:	e9 44 fc ff ff       	jmp    0x860
+     c1c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+     c20:	55                   	push   %ebp
+     c21:	89 e5                	mov    %esp,%ebp
+     c23:	53                   	push   %ebx
+     c24:	81 ec 14 01 00 00    	sub    $0x114,%esp
+     c2a:	8b 45 08             	mov    0x8(%ebp),%eax
+     c2d:	8d 9d fd fe ff ff    	lea    -0x103(%ebp),%ebx
+     c33:	c7 44 24 08 ff 00 00 	movl   $0xff,0x8(%esp)
+     c3a:	00 
+     c3b:	89 5c 24 04          	mov    %ebx,0x4(%esp)
+     c3f:	89 04 24             	mov    %eax,(%esp)
+     c42:	e8 fc ff ff ff       	call   0xc43
+     c47:	89 c2                	mov    %eax,%edx
+     c49:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
+     c4e:	83 fa ff             	cmp    $0xffffffff,%edx
+     c51:	74 24                	je     0xc77
+     c53:	8b 45 18             	mov    0x18(%ebp),%eax
+     c56:	89 1c 24             	mov    %ebx,(%esp)
+     c59:	89 44 24 10          	mov    %eax,0x10(%esp)
+     c5d:	8b 45 14             	mov    0x14(%ebp),%eax
+     c60:	89 44 24 0c          	mov    %eax,0xc(%esp)
+     c64:	8b 45 10             	mov    0x10(%ebp),%eax
+     c67:	89 44 24 08          	mov    %eax,0x8(%esp)
+     c6b:	8b 45 0c             	mov    0xc(%ebp),%eax
+     c6e:	89 44 24 04          	mov    %eax,0x4(%esp)
+     c72:	e8 fc ff ff ff       	call   0xc73
+     c77:	81 c4 14 01 00 00    	add    $0x114,%esp
+     c7d:	5b                   	pop    %ebx
+     c7e:	5d                   	pop    %ebp
+     c7f:	c3                   	ret    
+     c80:	55                   	push   %ebp
+     c81:	89 e5                	mov    %esp,%ebp
+     c83:	57                   	push   %edi
+     c84:	56                   	push   %esi
+     c85:	53                   	push   %ebx
+     c86:	83 ec 1c             	sub    $0x1c,%esp
+     c89:	8b 45 0c             	mov    0xc(%ebp),%eax
+     c8c:	03 45 10             	add    0x10(%ebp),%eax
+     c8f:	8b 75 08             	mov    0x8(%ebp),%esi
+     c92:	8b 5d 0c             	mov    0xc(%ebp),%ebx
+     c95:	89 45 f0             	mov    %eax,-0x10(%ebp)
+     c98:	0f b6 3e             	movzbl (%esi),%edi
+     c9b:	85 ff                	test   %edi,%edi
+     c9d:	0f 84 8b 02 00 00    	je     0xf2e
+     ca3:	89 fa                	mov    %edi,%edx
+     ca5:	81 e2 c0 00 00 00    	and    $0xc0,%edx
+     cab:	81 fa c0 00 00 00    	cmp    $0xc0,%edx
+     cb1:	0f 84 81 01 00 00    	je     0xe38
+     cb7:	3b 5d 0c             	cmp    0xc(%ebp),%ebx
+     cba:	74 0f                	je     0xccb
+     cbc:	3b 5d f0             	cmp    -0x10(%ebp),%ebx
+     cbf:	0f 83 73 01 00 00    	jae    0xe38
+     cc5:	c6 03 2e             	movb   $0x2e,(%ebx)
+     cc8:	83 c3 01             	add    $0x1,%ebx
+     ccb:	89 f0                	mov    %esi,%eax
+     ccd:	89 55 e4             	mov    %edx,-0x1c(%ebp)
+     cd0:	e8 8b f3 ff ff       	call   0x60
+     cd5:	8b 55 e4             	mov    -0x1c(%ebp),%edx
+     cd8:	85 c0                	test   %eax,%eax
+     cda:	89 c1                	mov    %eax,%ecx
+     cdc:	0f 88 56 01 00 00    	js     0xe38
+     ce2:	8d 04 03             	lea    (%ebx,%eax,1),%eax
+     ce5:	39 45 f0             	cmp    %eax,-0x10(%ebp)
+     ce8:	0f 86 4a 01 00 00    	jbe    0xe38
+     cee:	83 c6 01             	add    $0x1,%esi
+     cf1:	83 fa 40             	cmp    $0x40,%edx
+     cf4:	0f 84 56 01 00 00    	je     0xe50
+     cfa:	85 c9                	test   %ecx,%ecx
+     cfc:	74 9a                	je     0xc98
+     cfe:	89 4d e8             	mov    %ecx,-0x18(%ebp)
+     d01:	eb 32                	jmp    0xd35
+     d03:	90                   	nop
+     d04:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+     d08:	8b 0c bd 00 01 00 00 	mov    0x100(,%edi,4),%ecx
+     d0f:	85 c9                	test   %ecx,%ecx
+     d11:	74 30                	je     0xd43
+     d13:	8d 43 01             	lea    0x1(%ebx),%eax
+     d16:	39 45 f0             	cmp    %eax,-0x10(%ebp)
+     d19:	0f 86 19 01 00 00    	jbe    0xe38
+     d1f:	c6 03 5c             	movb   $0x5c,(%ebx)
+     d22:	88 53 01             	mov    %dl,0x1(%ebx)
+     d25:	83 c3 02             	add    $0x2,%ebx
+     d28:	83 c6 01             	add    $0x1,%esi
+     d2b:	83 6d e8 01          	subl   $0x1,-0x18(%ebp)
+     d2f:	0f 84 63 ff ff ff    	je     0xc98
+     d35:	0f b6 16             	movzbl (%esi),%edx
+     d38:	0f b6 c2             	movzbl %dl,%eax
+     d3b:	8d 78 de             	lea    -0x22(%eax),%edi
+     d3e:	83 ff 3a             	cmp    $0x3a,%edi
+     d41:	76 c5                	jbe    0xd08
+     d43:	83 e8 21             	sub    $0x21,%eax
+     d46:	83 f8 5d             	cmp    $0x5d,%eax
+     d49:	0f 86 89 00 00 00    	jbe    0xdd8
+     d4f:	8d 43 03             	lea    0x3(%ebx),%eax
+     d52:	39 45 f0             	cmp    %eax,-0x10(%ebp)
+     d55:	0f 86 dd 00 00 00    	jbe    0xe38
+     d5b:	b8 29 00 00 00       	mov    $0x29,%eax
+     d60:	f6 e2                	mul    %dl
+     d62:	c6 03 5c             	movb   $0x5c,(%ebx)
+     d65:	66 c1 e8 08          	shr    $0x8,%ax
+     d69:	89 c1                	mov    %eax,%ecx
+     d6b:	c0 e9 04             	shr    $0x4,%cl
+     d6e:	0f b6 f9             	movzbl %cl,%edi
+     d71:	0f b6 bf 0e 00 00 00 	movzbl 0xe(%edi),%edi
+     d78:	89 f8                	mov    %edi,%eax
+     d7a:	bf cd ff ff ff       	mov    $0xffffffcd,%edi
+     d7f:	88 43 01             	mov    %al,0x1(%ebx)
+     d82:	b8 64 00 00 00       	mov    $0x64,%eax
+     d87:	0f af c1             	imul   %ecx,%eax
+     d8a:	89 d1                	mov    %edx,%ecx
+     d8c:	28 c1                	sub    %al,%cl
+     d8e:	89 f8                	mov    %edi,%eax
+     d90:	f6 e1                	mul    %cl
+     d92:	88 4d ec             	mov    %cl,-0x14(%ebp)
+     d95:	89 c1                	mov    %eax,%ecx
+     d97:	66 c1 e9 08          	shr    $0x8,%cx
+     d9b:	89 c8                	mov    %ecx,%eax
+     d9d:	c0 e8 03             	shr    $0x3,%al
+     da0:	0f b6 c0             	movzbl %al,%eax
+     da3:	0f b6 80 0e 00 00 00 	movzbl 0xe(%eax),%eax
+     daa:	88 43 02             	mov    %al,0x2(%ebx)
+     dad:	89 f8                	mov    %edi,%eax
+     daf:	f6 e2                	mul    %dl
+     db1:	66 c1 e8 08          	shr    $0x8,%ax
+     db5:	c0 e8 03             	shr    $0x3,%al
+     db8:	8d 04 80             	lea    (%eax,%eax,4),%eax
+     dbb:	01 c0                	add    %eax,%eax
+     dbd:	28 c2                	sub    %al,%dl
+     dbf:	0f b6 d2             	movzbl %dl,%edx
+     dc2:	0f b6 82 0e 00 00 00 	movzbl 0xe(%edx),%eax
+     dc9:	88 43 03             	mov    %al,0x3(%ebx)
+     dcc:	83 c3 04             	add    $0x4,%ebx
+     dcf:	e9 54 ff ff ff       	jmp    0xd28
+     dd4:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+     dd8:	39 5d f0             	cmp    %ebx,-0x10(%ebp)
+     ddb:	76 5b                	jbe    0xe38
+     ddd:	88 13                	mov    %dl,(%ebx)
+     ddf:	83 c3 01             	add    $0x1,%ebx
+     de2:	e9 41 ff ff ff       	jmp    0xd28
+     de7:	89 da                	mov    %ebx,%edx
+     de9:	8b 5d e8             	mov    -0x18(%ebp),%ebx
+     dec:	83 ff 04             	cmp    $0x4,%edi
+     def:	0f 8f 7e 01 00 00    	jg     0xf73
+     df5:	85 ff                	test   %edi,%edi
+     df7:	0f 8e fa 00 00 00    	jle    0xef7
+     dfd:	0f b6 06             	movzbl (%esi),%eax
+     e00:	b9 04 00 00 00       	mov    $0x4,%ecx
+     e05:	29 f9                	sub    %edi,%ecx
+     e07:	bf 0f 00 00 00       	mov    $0xf,%edi
+     e0c:	d3 e7                	shl    %cl,%edi
+     e0e:	c7 44 24 04 05 00 00 	movl   $0x5,0x4(%esp)
+     e15:	00 
+     e16:	c0 e8 04             	shr    $0x4,%al
+     e19:	0f be c0             	movsbl %al,%eax
+     e1c:	21 f8                	and    %edi,%eax
+     e1e:	89 44 24 08          	mov    %eax,0x8(%esp)
+     e22:	89 14 24             	mov    %edx,(%esp)
+     e25:	89 55 e4             	mov    %edx,-0x1c(%ebp)
      e28:	e8 fc ff ff ff       	call   0xe29
-     e2d:	c7 00 28 00 00 00    	movl   $0x28,(%eax)
-     e33:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
-     e38:	83 c4 1c             	add    $0x1c,%esp
-     e3b:	5b                   	pop    %ebx
-     e3c:	5e                   	pop    %esi
-     e3d:	5f                   	pop    %edi
-     e3e:	5d                   	pop    %ebp
-     e3f:	c3                   	ret    
-     e40:	83 ff 41             	cmp    $0x41,%edi
-     e43:	0f 85 02 01 00 00    	jne    0xf4b
-     e49:	0f b6 0e             	movzbl (%esi),%ecx
-     e4c:	85 c9                	test   %ecx,%ecx
-     e4e:	89 4d ec             	mov    %ecx,-0x14(%ebp)
-     e51:	74 7e                	je     0xed1
-     e53:	8b 55 ec             	mov    -0x14(%ebp),%edx
-     e56:	83 c2 03             	add    $0x3,%edx
-     e59:	c1 fa 02             	sar    $0x2,%edx
-     e5c:	83 7d ec 63          	cmpl   $0x63,-0x14(%ebp)
-     e60:	0f 8f 21 01 00 00    	jg     0xf87
-     e66:	8d 42 07             	lea    0x7(%edx),%eax
-     e69:	83 c2 08             	add    $0x8,%edx
-     e6c:	83 7d ec 09          	cmpl   $0x9,-0x14(%ebp)
-     e70:	0f 4f c2             	cmovg  %edx,%eax
-     e73:	8d 04 03             	lea    (%ebx,%eax,1),%eax
-     e76:	39 45 f0             	cmp    %eax,-0x10(%ebp)
-     e79:	76 ad                	jbe    0xe28
-     e7b:	c7 03 5c 5b 78 00    	movl   $0x785b5c,(%ebx)
-     e81:	8b 7d ec             	mov    -0x14(%ebp),%edi
-     e84:	83 c6 01             	add    $0x1,%esi
-     e87:	8d 53 03             	lea    0x3(%ebx),%edx
-     e8a:	83 ff 07             	cmp    $0x7,%edi
-     e8d:	0f 8e 49 ff ff ff    	jle    0xddc
-     e93:	89 5d e8             	mov    %ebx,-0x18(%ebp)
-     e96:	89 d3                	mov    %edx,%ebx
-     e98:	eb 17                	jmp    0xeb1
-     e9a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
-     ea0:	83 ef 08             	sub    $0x8,%edi
-     ea3:	01 c3                	add    %eax,%ebx
-     ea5:	83 c6 01             	add    $0x1,%esi
-     ea8:	83 ff 07             	cmp    $0x7,%edi
-     eab:	0f 8e 26 ff ff ff    	jle    0xdd7
-     eb1:	0f b6 06             	movzbl (%esi),%eax
-     eb4:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
-     ebb:	00 
-     ebc:	89 1c 24             	mov    %ebx,(%esp)
-     ebf:	89 44 24 08          	mov    %eax,0x8(%esp)
-     ec3:	e8 fc ff ff ff       	call   0xec4
-     ec8:	85 c0                	test   %eax,%eax
-     eca:	79 d4                	jns    0xea0
-     ecc:	e9 57 ff ff ff       	jmp    0xe28
-     ed1:	b8 49 00 00 00       	mov    $0x49,%eax
-     ed6:	c7 45 ec 00 01 00 00 	movl   $0x100,-0x14(%ebp)
-     edd:	8d 76 00             	lea    0x0(%esi),%esi
-     ee0:	eb 91                	jmp    0xe73
-     ee2:	83 c6 01             	add    $0x1,%esi
-     ee5:	01 c2                	add    %eax,%edx
-     ee7:	8b 45 ec             	mov    -0x14(%ebp),%eax
-     eea:	89 14 24             	mov    %edx,(%esp)
-     eed:	89 55 e4             	mov    %edx,-0x1c(%ebp)
-     ef0:	c7 44 24 04 09 00 00 	movl   $0x9,0x4(%esp)
-     ef7:	00 
-     ef8:	89 44 24 08          	mov    %eax,0x8(%esp)
-     efc:	e8 fc ff ff ff       	call   0xefd
-     f01:	8b 55 e4             	mov    -0x1c(%ebp),%edx
-     f04:	85 c0                	test   %eax,%eax
-     f06:	0f 88 1c ff ff ff    	js     0xe28
-     f0c:	8d 04 02             	lea    (%edx,%eax,1),%eax
-     f0f:	29 d8                	sub    %ebx,%eax
-     f11:	0f 88 11 ff ff ff    	js     0xe28
-     f17:	01 c3                	add    %eax,%ebx
-     f19:	e9 6a fd ff ff       	jmp    0xc88
-     f1e:	3b 5d 0c             	cmp    0xc(%ebp),%ebx
-     f21:	74 17                	je     0xf3a
-     f23:	3b 5d f0             	cmp    -0x10(%ebp),%ebx
-     f26:	0f 83 fc fe ff ff    	jae    0xe28
-     f2c:	c6 03 00             	movb   $0x0,(%ebx)
-     f2f:	8d 43 01             	lea    0x1(%ebx),%eax
-     f32:	2b 45 0c             	sub    0xc(%ebp),%eax
-     f35:	e9 fe fe ff ff       	jmp    0xe38
-     f3a:	39 5d f0             	cmp    %ebx,-0x10(%ebp)
-     f3d:	0f 86 e5 fe ff ff    	jbe    0xe28
-     f43:	c6 03 2e             	movb   $0x2e,(%ebx)
-     f46:	83 c3 01             	add    $0x1,%ebx
-     f49:	eb d8                	jmp    0xf23
-     f4b:	90                   	nop
-     f4c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-     f50:	e8 fc ff ff ff       	call   0xf51
-     f55:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
-     f5b:	83 c8 ff             	or     $0xffffffff,%eax
-     f5e:	e9 d5 fe ff ff       	jmp    0xe38
-     f63:	0f be 06             	movsbl (%esi),%eax
-     f66:	b9 08 00 00 00       	mov    $0x8,%ecx
-     f6b:	29 f9                	sub    %edi,%ecx
-     f6d:	bf ff 00 00 00       	mov    $0xff,%edi
-     f72:	d3 e7                	shl    %cl,%edi
-     f74:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
-     f7b:	00 
-     f7c:	21 f8                	and    %edi,%eax
-     f7e:	89 44 24 08          	mov    %eax,0x8(%esp)
-     f82:	e9 8b fe ff ff       	jmp    0xe12
-     f87:	8d 42 09             	lea    0x9(%edx),%eax
-     f8a:	e9 e4 fe ff ff       	jmp    0xe73
-     f8f:	90                   	nop
-     f90:	55                   	push   %ebp
-     f91:	89 e5                	mov    %esp,%ebp
-     f93:	81 ec 1c 01 00 00    	sub    $0x11c,%esp
-     f99:	8b 45 10             	mov    0x10(%ebp),%eax
-     f9c:	89 75 fc             	mov    %esi,-0x4(%ebp)
-     f9f:	8d b5 f9 fe ff ff    	lea    -0x107(%ebp),%esi
-     fa5:	89 5d f8             	mov    %ebx,-0x8(%ebp)
-     fa8:	c7 44 24 10 ff 00 00 	movl   $0xff,0x10(%esp)
-     faf:	00 
-     fb0:	89 44 24 08          	mov    %eax,0x8(%esp)
-     fb4:	8b 45 0c             	mov    0xc(%ebp),%eax
-     fb7:	89 74 24 0c          	mov    %esi,0xc(%esp)
-     fbb:	89 44 24 04          	mov    %eax,0x4(%esp)
-     fbf:	8b 45 08             	mov    0x8(%ebp),%eax
-     fc2:	89 04 24             	mov    %eax,(%esp)
-     fc5:	e8 fc ff ff ff       	call   0xfc6
-     fca:	83 f8 ff             	cmp    $0xffffffff,%eax
-     fcd:	89 c3                	mov    %eax,%ebx
-     fcf:	75 0f                	jne    0xfe0
-     fd1:	89 d8                	mov    %ebx,%eax
-     fd3:	8b 75 fc             	mov    -0x4(%ebp),%esi
-     fd6:	8b 5d f8             	mov    -0x8(%ebp),%ebx
-     fd9:	89 ec                	mov    %ebp,%esp
-     fdb:	5d                   	pop    %ebp
-     fdc:	c3                   	ret    
-     fdd:	8d 76 00             	lea    0x0(%esi),%esi
-     fe0:	8b 45 18             	mov    0x18(%ebp),%eax
-     fe3:	89 34 24             	mov    %esi,(%esp)
-     fe6:	89 44 24 08          	mov    %eax,0x8(%esp)
-     fea:	8b 45 14             	mov    0x14(%ebp),%eax
-     fed:	89 44 24 04          	mov    %eax,0x4(%esp)
-     ff1:	e8 fc ff ff ff       	call   0xff2
-     ff6:	83 f8 ff             	cmp    $0xffffffff,%eax
-     ff9:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
-     ffe:	0f 44 d8             	cmove  %eax,%ebx
-    1001:	eb ce                	jmp    0xfd1
+     e2d:	8b 55 e4             	mov    -0x1c(%ebp),%edx
+     e30:	85 c0                	test   %eax,%eax
+     e32:	0f 89 ba 00 00 00    	jns    0xef2
+     e38:	e8 fc ff ff ff       	call   0xe39
+     e3d:	c7 00 28 00 00 00    	movl   $0x28,(%eax)
+     e43:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
+     e48:	83 c4 1c             	add    $0x1c,%esp
+     e4b:	5b                   	pop    %ebx
+     e4c:	5e                   	pop    %esi
+     e4d:	5f                   	pop    %edi
+     e4e:	5d                   	pop    %ebp
+     e4f:	c3                   	ret    
+     e50:	83 ff 41             	cmp    $0x41,%edi
+     e53:	0f 85 02 01 00 00    	jne    0xf5b
+     e59:	0f b6 0e             	movzbl (%esi),%ecx
+     e5c:	85 c9                	test   %ecx,%ecx
+     e5e:	89 4d ec             	mov    %ecx,-0x14(%ebp)
+     e61:	74 7e                	je     0xee1
+     e63:	8b 55 ec             	mov    -0x14(%ebp),%edx
+     e66:	83 c2 03             	add    $0x3,%edx
+     e69:	c1 fa 02             	sar    $0x2,%edx
+     e6c:	83 7d ec 63          	cmpl   $0x63,-0x14(%ebp)
+     e70:	0f 8f 21 01 00 00    	jg     0xf97
+     e76:	8d 42 07             	lea    0x7(%edx),%eax
+     e79:	83 c2 08             	add    $0x8,%edx
+     e7c:	83 7d ec 09          	cmpl   $0x9,-0x14(%ebp)
+     e80:	0f 4f c2             	cmovg  %edx,%eax
+     e83:	8d 04 03             	lea    (%ebx,%eax,1),%eax
+     e86:	39 45 f0             	cmp    %eax,-0x10(%ebp)
+     e89:	76 ad                	jbe    0xe38
+     e8b:	c7 03 5c 5b 78 00    	movl   $0x785b5c,(%ebx)
+     e91:	8b 7d ec             	mov    -0x14(%ebp),%edi
+     e94:	83 c6 01             	add    $0x1,%esi
+     e97:	8d 53 03             	lea    0x3(%ebx),%edx
+     e9a:	83 ff 07             	cmp    $0x7,%edi
+     e9d:	0f 8e 49 ff ff ff    	jle    0xdec
+     ea3:	89 5d e8             	mov    %ebx,-0x18(%ebp)
+     ea6:	89 d3                	mov    %edx,%ebx
+     ea8:	eb 17                	jmp    0xec1
+     eaa:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
+     eb0:	83 ef 08             	sub    $0x8,%edi
+     eb3:	01 c3                	add    %eax,%ebx
+     eb5:	83 c6 01             	add    $0x1,%esi
+     eb8:	83 ff 07             	cmp    $0x7,%edi
+     ebb:	0f 8e 26 ff ff ff    	jle    0xde7
+     ec1:	0f b6 06             	movzbl (%esi),%eax
+     ec4:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
+     ecb:	00 
+     ecc:	89 1c 24             	mov    %ebx,(%esp)
+     ecf:	89 44 24 08          	mov    %eax,0x8(%esp)
+     ed3:	e8 fc ff ff ff       	call   0xed4
+     ed8:	85 c0                	test   %eax,%eax
+     eda:	79 d4                	jns    0xeb0
+     edc:	e9 57 ff ff ff       	jmp    0xe38
+     ee1:	b8 49 00 00 00       	mov    $0x49,%eax
+     ee6:	c7 45 ec 00 01 00 00 	movl   $0x100,-0x14(%ebp)
+     eed:	8d 76 00             	lea    0x0(%esi),%esi
+     ef0:	eb 91                	jmp    0xe83
+     ef2:	83 c6 01             	add    $0x1,%esi
+     ef5:	01 c2                	add    %eax,%edx
+     ef7:	8b 45 ec             	mov    -0x14(%ebp),%eax
+     efa:	89 14 24             	mov    %edx,(%esp)
+     efd:	89 55 e4             	mov    %edx,-0x1c(%ebp)
+     f00:	c7 44 24 04 09 00 00 	movl   $0x9,0x4(%esp)
+     f07:	00 
+     f08:	89 44 24 08          	mov    %eax,0x8(%esp)
+     f0c:	e8 fc ff ff ff       	call   0xf0d
+     f11:	8b 55 e4             	mov    -0x1c(%ebp),%edx
+     f14:	85 c0                	test   %eax,%eax
+     f16:	0f 88 1c ff ff ff    	js     0xe38
+     f1c:	8d 04 02             	lea    (%edx,%eax,1),%eax
+     f1f:	29 d8                	sub    %ebx,%eax
+     f21:	0f 88 11 ff ff ff    	js     0xe38
+     f27:	01 c3                	add    %eax,%ebx
+     f29:	e9 6a fd ff ff       	jmp    0xc98
+     f2e:	3b 5d 0c             	cmp    0xc(%ebp),%ebx
+     f31:	74 17                	je     0xf4a
+     f33:	3b 5d f0             	cmp    -0x10(%ebp),%ebx
+     f36:	0f 83 fc fe ff ff    	jae    0xe38
+     f3c:	c6 03 00             	movb   $0x0,(%ebx)
+     f3f:	8d 43 01             	lea    0x1(%ebx),%eax
+     f42:	2b 45 0c             	sub    0xc(%ebp),%eax
+     f45:	e9 fe fe ff ff       	jmp    0xe48
+     f4a:	39 5d f0             	cmp    %ebx,-0x10(%ebp)
+     f4d:	0f 86 e5 fe ff ff    	jbe    0xe38
+     f53:	c6 03 2e             	movb   $0x2e,(%ebx)
+     f56:	83 c3 01             	add    $0x1,%ebx
+     f59:	eb d8                	jmp    0xf33
+     f5b:	90                   	nop
+     f5c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+     f60:	e8 fc ff ff ff       	call   0xf61
+     f65:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
+     f6b:	83 c8 ff             	or     $0xffffffff,%eax
+     f6e:	e9 d5 fe ff ff       	jmp    0xe48
+     f73:	0f be 06             	movsbl (%esi),%eax
+     f76:	b9 08 00 00 00       	mov    $0x8,%ecx
+     f7b:	29 f9                	sub    %edi,%ecx
+     f7d:	bf ff 00 00 00       	mov    $0xff,%edi
+     f82:	d3 e7                	shl    %cl,%edi
+     f84:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
+     f8b:	00 
+     f8c:	21 f8                	and    %edi,%eax
+     f8e:	89 44 24 08          	mov    %eax,0x8(%esp)
+     f92:	e9 8b fe ff ff       	jmp    0xe22
+     f97:	8d 42 09             	lea    0x9(%edx),%eax
+     f9a:	e9 e4 fe ff ff       	jmp    0xe83
+     f9f:	90                   	nop
+     fa0:	55                   	push   %ebp
+     fa1:	89 e5                	mov    %esp,%ebp
+     fa3:	81 ec 1c 01 00 00    	sub    $0x11c,%esp
+     fa9:	8b 45 10             	mov    0x10(%ebp),%eax
+     fac:	89 75 fc             	mov    %esi,-0x4(%ebp)
+     faf:	8d b5 f9 fe ff ff    	lea    -0x107(%ebp),%esi
+     fb5:	89 5d f8             	mov    %ebx,-0x8(%ebp)
+     fb8:	c7 44 24 10 ff 00 00 	movl   $0xff,0x10(%esp)
+     fbf:	00 
+     fc0:	89 44 24 08          	mov    %eax,0x8(%esp)
+     fc4:	8b 45 0c             	mov    0xc(%ebp),%eax
+     fc7:	89 74 24 0c          	mov    %esi,0xc(%esp)
+     fcb:	89 44 24 04          	mov    %eax,0x4(%esp)
+     fcf:	8b 45 08             	mov    0x8(%ebp),%eax
+     fd2:	89 04 24             	mov    %eax,(%esp)
+     fd5:	e8 fc ff ff ff       	call   0xfd6
+     fda:	83 f8 ff             	cmp    $0xffffffff,%eax
+     fdd:	89 c3                	mov    %eax,%ebx
+     fdf:	75 0f                	jne    0xff0
+     fe1:	89 d8                	mov    %ebx,%eax
+     fe3:	8b 75 fc             	mov    -0x4(%ebp),%esi
+     fe6:	8b 5d f8             	mov    -0x8(%ebp),%ebx
+     fe9:	89 ec                	mov    %ebp,%esp
+     feb:	5d                   	pop    %ebp
+     fec:	c3                   	ret    
+     fed:	8d 76 00             	lea    0x0(%esi),%esi
+     ff0:	8b 45 18             	mov    0x18(%ebp),%eax
+     ff3:	89 34 24             	mov    %esi,(%esp)
+     ff6:	89 44 24 08          	mov    %eax,0x8(%esp)
+     ffa:	8b 45 14             	mov    0x14(%ebp),%eax
+     ffd:	89 44 24 04          	mov    %eax,0x4(%esp)
+    1001:	e8 fc ff ff ff       	call   0x1002
+    1006:	83 f8 ff             	cmp    $0xffffffff,%eax
+    1009:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
+    100e:	0f 44 d8             	cmove  %eax,%ebx
+    1011:	eb ce                	jmp    0xfe1
--- /dev/fd/63	2012-05-05 15:41:47.000000000 +0200
+++ /dev/fd/62	2012-05-05 15:41:47.000000000 +0200
@@ -1,5 +1,5 @@
 
-../build-tree.good/kfreebsd-amd64-i386/iconv/gconv_conf.o:     file format elf32-i386-freebsd
+build-tree/kfreebsd-amd64-i386/iconv/gconv_conf.o:     file format elf32-i386-freebsd
 
 
 Disassembly of section .text:
@@ -650,283 +650,300 @@
  80f:	89 45 bc             	mov    %eax,-0x44(%ebp)
  812:	e8 fc ff ff ff       	call   0x813
  817:	85 c0                	test   %eax,%eax
- 819:	0f 84 2e 02 00 00    	je     0xa4d
+ 819:	0f 84 d9 03 00 00    	je     0xbf8
  81f:	a1 00 00 00 00       	mov    0x0,%eax
  824:	85 c0                	test   %eax,%eax
- 826:	0f 84 bf 03 00 00    	je     0xbeb
+ 826:	0f 84 dd 03 00 00    	je     0xc09
  82c:	8b 18                	mov    (%eax),%ebx
  82e:	85 db                	test   %ebx,%ebx
- 830:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
- 833:	0f 84 89 01 00 00    	je     0x9c2
+ 830:	89 5d d8             	mov    %ebx,-0x28(%ebp)
+ 833:	0f 84 83 01 00 00    	je     0x9bc
  839:	8b 15 34 00 00 00    	mov    0x34,%edx
- 83f:	c7 45 cc 08 00 00 00 	movl   $0x8,-0x34(%ebp)
- 846:	89 55 c0             	mov    %edx,-0x40(%ebp)
+ 83f:	c7 45 d0 08 00 00 00 	movl   $0x8,-0x30(%ebp)
+ 846:	89 55 c4             	mov    %edx,-0x3c(%ebp)
  849:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
  850:	8b 40 04             	mov    0x4(%eax),%eax
- 853:	89 45 d0             	mov    %eax,-0x30(%ebp)
+ 853:	89 45 d4             	mov    %eax,-0x2c(%ebp)
  856:	83 c0 20             	add    $0x20,%eax
- 859:	8b 4d d0             	mov    -0x30(%ebp),%ecx
+ 859:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
  85c:	83 e0 fc             	and    $0xfffffffc,%eax
  85f:	29 c4                	sub    %eax,%esp
- 861:	8b 45 d4             	mov    -0x2c(%ebp),%eax
+ 861:	8b 45 d8             	mov    -0x28(%ebp),%eax
  864:	8d 5c 24 1f          	lea    0x1f(%esp),%ebx
  868:	83 e3 f0             	and    $0xfffffff0,%ebx
  86b:	89 4c 24 08          	mov    %ecx,0x8(%esp)
- 86f:	89 44 24 04          	mov    %eax,0x4(%esp)
- 873:	89 1c 24             	mov    %ebx,(%esp)
+ 86f:	89 1c 24             	mov    %ebx,(%esp)
+ 872:	89 44 24 04          	mov    %eax,0x4(%esp)
  876:	e8 fc ff ff ff       	call   0x877
  87b:	c7 00 67 63 6f 6e    	movl   $0x6e6f6367,(%eax)
  881:	c7 40 04 76 2d 6d 6f 	movl   $0x6f6d2d76,0x4(%eax)
  888:	c7 40 08 64 75 6c 65 	movl   $0x656c7564,0x8(%eax)
  88f:	66 c7 40 0c 73 00    	movw   $0x73,0xc(%eax)
- 895:	c7 44 24 04 34 00 00 	movl   $0x34,0x4(%esp)
- 89c:	00 
- 89d:	89 1c 24             	mov    %ebx,(%esp)
+ 895:	89 1c 24             	mov    %ebx,(%esp)
+ 898:	c7 44 24 04 34 00 00 	movl   $0x34,0x4(%esp)
+ 89f:	00 
  8a0:	e8 fc ff ff ff       	call   0x8a1
  8a5:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
  8ac:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
  8b3:	85 c0                	test   %eax,%eax
- 8b5:	89 45 d8             	mov    %eax,-0x28(%ebp)
- 8b8:	0f 84 ea 00 00 00    	je     0x9a8
- 8be:	89 c2                	mov    %eax,%edx
- 8c0:	8b 00                	mov    (%eax),%eax
- 8c2:	80 cc 80             	or     $0x80,%ah
- 8c5:	a8 10                	test   $0x10,%al
- 8c7:	89 02                	mov    %eax,(%edx)
- 8c9:	0f 85 c3 00 00 00    	jne    0x992
- 8cf:	90                   	nop
- 8d0:	8b 4d d8             	mov    -0x28(%ebp),%ecx
- 8d3:	8d 5d e4             	lea    -0x1c(%ebp),%ebx
- 8d6:	8d 45 e8             	lea    -0x18(%ebp),%eax
- 8d9:	89 5c 24 04          	mov    %ebx,0x4(%esp)
- 8dd:	c7 44 24 08 0a 00 00 	movl   $0xa,0x8(%esp)
- 8e4:	00 
- 8e5:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
- 8e9:	89 04 24             	mov    %eax,(%esp)
- 8ec:	e8 fc ff ff ff       	call   0x8ed
- 8f1:	85 c0                	test   %eax,%eax
- 8f3:	89 c3                	mov    %eax,%ebx
- 8f5:	0f 88 97 00 00 00    	js     0x992
- 8fb:	8b 75 e8             	mov    -0x18(%ebp),%esi
- 8fe:	c7 44 24 04 23 00 00 	movl   $0x23,0x4(%esp)
- 905:	00 
- 906:	89 34 24             	mov    %esi,(%esp)
- 909:	e8 fc ff ff ff       	call   0x90a
- 90e:	85 c0                	test   %eax,%eax
- 910:	0f 84 b2 02 00 00    	je     0xbc8
- 916:	c6 00 00             	movb   $0x0,(%eax)
- 919:	8b 15 34 00 00 00    	mov    0x34,%edx
- 91f:	0f be 0e             	movsbl (%esi),%ecx
- 922:	f6 44 4a 01 20       	testb  $0x20,0x1(%edx,%ecx,2)
- 927:	74 14                	je     0x93d
- 929:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
- 930:	83 c6 01             	add    $0x1,%esi
- 933:	0f be 0e             	movsbl (%esi),%ecx
- 936:	f6 44 4a 01 20       	testb  $0x20,0x1(%edx,%ecx,2)
- 93b:	75 f3                	jne    0x930
- 93d:	39 f0                	cmp    %esi,%eax
- 93f:	74 44                	je     0x985
- 941:	0f b6 06             	movzbl (%esi),%eax
- 944:	84 c0                	test   %al,%al
- 946:	74 3d                	je     0x985
- 948:	0f be c0             	movsbl %al,%eax
- 94b:	f6 44 42 01 20       	testb  $0x20,0x1(%edx,%eax,2)
- 950:	75 33                	jne    0x985
- 952:	89 f3                	mov    %esi,%ebx
- 954:	eb 0c                	jmp    0x962
- 956:	66 90                	xchg   %ax,%ax
- 958:	0f be c8             	movsbl %al,%ecx
+ 8b5:	89 c3                	mov    %eax,%ebx
+ 8b7:	0f 84 e5 00 00 00    	je     0x9a2
+ 8bd:	8b 00                	mov    (%eax),%eax
+ 8bf:	80 cc 80             	or     $0x80,%ah
+ 8c2:	a8 10                	test   $0x10,%al
+ 8c4:	89 03                	mov    %eax,(%ebx)
+ 8c6:	0f 85 c3 00 00 00    	jne    0x98f
+ 8cc:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+ 8d0:	8d 55 e4             	lea    -0x1c(%ebp),%edx
+ 8d3:	8d 45 e8             	lea    -0x18(%ebp),%eax
+ 8d6:	89 5c 24 0c          	mov    %ebx,0xc(%esp)
+ 8da:	c7 44 24 08 0a 00 00 	movl   $0xa,0x8(%esp)
+ 8e1:	00 
+ 8e2:	89 54 24 04          	mov    %edx,0x4(%esp)
+ 8e6:	89 04 24             	mov    %eax,(%esp)
+ 8e9:	e8 fc ff ff ff       	call   0x8ea
+ 8ee:	85 c0                	test   %eax,%eax
+ 8f0:	89 c7                	mov    %eax,%edi
+ 8f2:	0f 88 97 00 00 00    	js     0x98f
+ 8f8:	8b 75 e8             	mov    -0x18(%ebp),%esi
+ 8fb:	c7 44 24 04 23 00 00 	movl   $0x23,0x4(%esp)
+ 902:	00 
+ 903:	89 34 24             	mov    %esi,(%esp)
+ 906:	e8 fc ff ff ff       	call   0x907
+ 90b:	85 c0                	test   %eax,%eax
+ 90d:	0f 84 15 02 00 00    	je     0xb28
+ 913:	c6 00 00             	movb   $0x0,(%eax)
+ 916:	8b 15 34 00 00 00    	mov    0x34,%edx
+ 91c:	0f be 0e             	movsbl (%esi),%ecx
+ 91f:	f6 44 4a 01 20       	testb  $0x20,0x1(%edx,%ecx,2)
+ 924:	74 0f                	je     0x935
+ 926:	66 90                	xchg   %ax,%ax
+ 928:	83 c6 01             	add    $0x1,%esi
+ 92b:	0f be 0e             	movsbl (%esi),%ecx
+ 92e:	f6 44 4a 01 20       	testb  $0x20,0x1(%edx,%ecx,2)
+ 933:	75 f3                	jne    0x928
+ 935:	39 f0                	cmp    %esi,%eax
+ 937:	74 4c                	je     0x985
+ 939:	0f b6 06             	movzbl (%esi),%eax
+ 93c:	84 c0                	test   %al,%al
+ 93e:	74 45                	je     0x985
+ 940:	0f be c0             	movsbl %al,%eax
+ 943:	f6 44 42 01 20       	testb  $0x20,0x1(%edx,%eax,2)
+ 948:	75 3b                	jne    0x985
+ 94a:	89 75 b8             	mov    %esi,-0x48(%ebp)
+ 94d:	89 f0                	mov    %esi,%eax
+ 94f:	eb 11                	jmp    0x962
+ 951:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
+ 958:	0f be c9             	movsbl %cl,%ecx
  95b:	f6 44 4a 01 20       	testb  $0x20,0x1(%edx,%ecx,2)
  960:	75 0a                	jne    0x96c
- 962:	83 c3 01             	add    $0x1,%ebx
- 965:	0f b6 03             	movzbl (%ebx),%eax
- 968:	84 c0                	test   %al,%al
+ 962:	83 c0 01             	add    $0x1,%eax
+ 965:	0f b6 08             	movzbl (%eax),%ecx
+ 968:	84 c9                	test   %cl,%cl
  96a:	75 ec                	jne    0x958
- 96c:	89 d9                	mov    %ebx,%ecx
+ 96c:	89 c1                	mov    %eax,%ecx
  96e:	29 f1                	sub    %esi,%ecx
  970:	83 f9 05             	cmp    $0x5,%ecx
- 973:	88 45 bb             	mov    %al,-0x45(%ebp)
- 976:	0f 84 ec 00 00 00    	je     0xa68
+ 973:	89 45 b8             	mov    %eax,-0x48(%ebp)
+ 976:	0f 84 24 01 00 00    	je     0xaa0
  97c:	83 f9 06             	cmp    $0x6,%ecx
- 97f:	0f 84 fb 01 00 00    	je     0xb80
- 985:	8b 55 d8             	mov    -0x28(%ebp),%edx
- 988:	8b 02                	mov    (%edx),%eax
- 98a:	a8 10                	test   $0x10,%al
- 98c:	0f 84 3e ff ff ff    	je     0x8d0
- 992:	8b 45 e8             	mov    -0x18(%ebp),%eax
- 995:	89 04 24             	mov    %eax,(%esp)
- 998:	e8 fc ff ff ff       	call   0x999
- 99d:	8b 4d d8             	mov    -0x28(%ebp),%ecx
- 9a0:	89 0c 24             	mov    %ecx,(%esp)
- 9a3:	e8 fc ff ff ff       	call   0x9a4
- 9a8:	8b 45 cc             	mov    -0x34(%ebp),%eax
- 9ab:	03 05 00 00 00 00    	add    0x0,%eax
- 9b1:	83 45 cc 08          	addl   $0x8,-0x34(%ebp)
- 9b5:	8b 18                	mov    (%eax),%ebx
- 9b7:	85 db                	test   %ebx,%ebx
- 9b9:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
- 9bc:	0f 85 8e fe ff ff    	jne    0x850
- 9c2:	bb 00 00 00 00       	mov    $0x0,%ebx
- 9c7:	8d 75 dc             	lea    -0x24(%ebp),%esi
- 9ca:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
- 9d0:	8b 03                	mov    (%ebx),%eax
- 9d2:	c7 44 24 08 00 00 00 	movl   $0x0,0x8(%esp)
+ 97f:	0f 84 d3 00 00 00    	je     0xa58
+ 985:	8b 03                	mov    (%ebx),%eax
+ 987:	a8 10                	test   $0x10,%al
+ 989:	0f 84 41 ff ff ff    	je     0x8d0
+ 98f:	8b 45 e8             	mov    -0x18(%ebp),%eax
+ 992:	89 04 24             	mov    %eax,(%esp)
+ 995:	e8 fc ff ff ff       	call   0x996
+ 99a:	89 1c 24             	mov    %ebx,(%esp)
+ 99d:	e8 fc ff ff ff       	call   0x99e
+ 9a2:	8b 45 d0             	mov    -0x30(%ebp),%eax
+ 9a5:	03 05 00 00 00 00    	add    0x0,%eax
+ 9ab:	83 45 d0 08          	addl   $0x8,-0x30(%ebp)
+ 9af:	8b 10                	mov    (%eax),%edx
+ 9b1:	85 d2                	test   %edx,%edx
+ 9b3:	89 55 d8             	mov    %edx,-0x28(%ebp)
+ 9b6:	0f 85 94 fe ff ff    	jne    0x850
+ 9bc:	bb 00 00 00 00       	mov    $0x0,%ebx
+ 9c1:	8d 75 dc             	lea    -0x24(%ebp),%esi
+ 9c4:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+ 9c8:	8b 03                	mov    (%ebx),%eax
+ 9ca:	c7 44 24 08 00 00 00 	movl   $0x0,0x8(%esp)
+ 9d1:	00 
+ 9d2:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
  9d9:	00 
- 9da:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
- 9e1:	00 
- 9e2:	89 34 24             	mov    %esi,(%esp)
- 9e5:	89 45 dc             	mov    %eax,-0x24(%ebp)
- 9e8:	e8 fc ff ff ff       	call   0x9e9
- 9ed:	85 c0                	test   %eax,%eax
- 9ef:	0f 84 e8 01 00 00    	je     0xbdd
- 9f5:	83 c3 20             	add    $0x20,%ebx
- 9f8:	81 fb 80 01 00 00    	cmp    $0x180,%ebx
- 9fe:	75 d0                	jne    0x9d0
- a00:	bf 20 00 00 00       	mov    $0x20,%edi
- a05:	eb 03                	jmp    0xa0a
- a07:	8b 7d d8             	mov    -0x28(%ebp),%edi
- a0a:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
- a11:	00 
- a12:	89 3c 24             	mov    %edi,(%esp)
- a15:	e8 fc ff ff ff       	call   0xa16
- a1a:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
- a21:	00 
- a22:	8d 70 01             	lea    0x1(%eax),%esi
- a25:	89 34 24             	mov    %esi,(%esp)
- a28:	e8 fc ff ff ff       	call   0xa29
- a2d:	89 f2                	mov    %esi,%edx
- a2f:	89 c3                	mov    %eax,%ebx
- a31:	8d 40 01             	lea    0x1(%eax),%eax
- a34:	89 45 d8             	mov    %eax,-0x28(%ebp)
- a37:	8b 45 f0             	mov    -0x10(%ebp),%eax
- a3a:	8b 4d d8             	mov    -0x28(%ebp),%ecx
- a3d:	89 04 24             	mov    %eax,(%esp)
- a40:	89 f8                	mov    %edi,%eax
- a42:	e8 c9 f9 ff ff       	call   0x410
- a47:	80 7b 01 00          	cmpb   $0x0,0x1(%ebx)
- a4b:	75 ba                	jne    0xa07
- a4d:	8b 4d bc             	mov    -0x44(%ebp),%ecx
- a50:	8b 15 00 00 00 00    	mov    0x0,%edx
- a56:	65 89 0a             	mov    %ecx,%gs:(%edx)
- a59:	8d 65 f4             	lea    -0xc(%ebp),%esp
- a5c:	5b                   	pop    %ebx
- a5d:	5e                   	pop    %esi
- a5e:	5f                   	pop    %edi
- a5f:	5d                   	pop    %ebp
- a60:	c3                   	ret    
- a61:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
- a68:	bf 37 00 00 00       	mov    $0x37,%edi
- a6d:	f3 a6                	repz cmpsb %es:(%edi),%ds:(%esi)
- a6f:	0f 85 10 ff ff ff    	jne    0x985
- a75:	8b 45 f0             	mov    -0x10(%ebp),%eax
- a78:	89 45 c4             	mov    %eax,-0x3c(%ebp)
- a7b:	0f be 0b             	movsbl (%ebx),%ecx
- a7e:	f6 44 4a 01 20       	testb  $0x20,0x1(%edx,%ecx,2)
- a83:	74 16                	je     0xa9b
- a85:	8d 76 00             	lea    0x0(%esi),%esi
- a88:	83 c3 01             	add    $0x1,%ebx
- a8b:	0f be 03             	movsbl (%ebx),%eax
- a8e:	f6 44 42 01 20       	testb  $0x20,0x1(%edx,%eax,2)
- a93:	75 f3                	jne    0xa88
- a95:	0f b6 0b             	movzbl (%ebx),%ecx
- a98:	88 4d bb             	mov    %cl,-0x45(%ebp)
- a9b:	80 7d bb 00          	cmpb   $0x0,-0x45(%ebp)
- a9f:	89 d9                	mov    %ebx,%ecx
- aa1:	89 5d c8             	mov    %ebx,-0x38(%ebp)
- aa4:	0f 84 db fe ff ff    	je     0x985
- aaa:	0f be 45 bb          	movsbl -0x45(%ebp),%eax
- aae:	f6 44 42 01 20       	testb  $0x20,0x1(%edx,%eax,2)
- ab3:	75 35                	jne    0xaea
- ab5:	89 da                	mov    %ebx,%edx
- ab7:	8b 35 3c 00 00 00    	mov    0x3c,%esi
- abd:	8b 7d c0             	mov    -0x40(%ebp),%edi
- ac0:	eb 0a                	jmp    0xacc
- ac2:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
- ac8:	89 ca                	mov    %ecx,%edx
- aca:	89 cb                	mov    %ecx,%ebx
- acc:	8b 04 86             	mov    (%esi,%eax,4),%eax
- acf:	8d 4b 01             	lea    0x1(%ebx),%ecx
- ad2:	88 02                	mov    %al,(%edx)
- ad4:	0f b6 43 01          	movzbl 0x1(%ebx),%eax
- ad8:	84 c0                	test   %al,%al
- ada:	0f 84 a5 fe ff ff    	je     0x985
- ae0:	0f be c0             	movsbl %al,%eax
- ae3:	f6 44 47 01 20       	testb  $0x20,0x1(%edi,%eax,2)
- ae8:	74 de                	je     0xac8
- aea:	0f b6 59 01          	movzbl 0x1(%ecx),%ebx
- aee:	8d 79 01             	lea    0x1(%ecx),%edi
- af1:	8b 15 34 00 00 00    	mov    0x34,%edx
- af7:	89 f8                	mov    %edi,%eax
- af9:	c6 01 00             	movb   $0x0,(%ecx)
- afc:	0f be cb             	movsbl %bl,%ecx
- aff:	f6 44 4a 01 20       	testb  $0x20,0x1(%edx,%ecx,2)
- b04:	74 12                	je     0xb18
- b06:	66 90                	xchg   %ax,%ax
- b08:	83 c0 01             	add    $0x1,%eax
- b0b:	0f b6 18             	movzbl (%eax),%ebx
- b0e:	0f be cb             	movsbl %bl,%ecx
- b11:	f6 44 4a 01 20       	testb  $0x20,0x1(%edx,%ecx,2)
- b16:	75 f0                	jne    0xb08
- b18:	84 db                	test   %bl,%bl
- b1a:	0f 84 65 fe ff ff    	je     0x985
- b20:	f6 44 4a 01 20       	testb  $0x20,0x1(%edx,%ecx,2)
- b25:	0f 85 5a fe ff ff    	jne    0x985
- b2b:	89 fa                	mov    %edi,%edx
- b2d:	8b 35 3c 00 00 00    	mov    0x3c,%esi
- b33:	eb 13                	jmp    0xb48
- b35:	8d 76 00             	lea    0x0(%esi),%esi
- b38:	8b 1d 34 00 00 00    	mov    0x34,%ebx
- b3e:	0f be c9             	movsbl %cl,%ecx
- b41:	f6 44 4b 01 20       	testb  $0x20,0x1(%ebx,%ecx,2)
- b46:	75 12                	jne    0xb5a
- b48:	8b 0c 8e             	mov    (%esi,%ecx,4),%ecx
- b4b:	83 c0 01             	add    $0x1,%eax
- b4e:	88 0a                	mov    %cl,(%edx)
- b50:	0f b6 08             	movzbl (%eax),%ecx
- b53:	83 c2 01             	add    $0x1,%edx
- b56:	84 c9                	test   %cl,%cl
- b58:	75 de                	jne    0xb38
- b5a:	39 d7                	cmp    %edx,%edi
- b5c:	0f 84 23 fe ff ff    	je     0x985
- b62:	c6 02 00             	movb   $0x0,(%edx)
- b65:	8b 45 c4             	mov    -0x3c(%ebp),%eax
- b68:	8d 4a 01             	lea    0x1(%edx),%ecx
- b6b:	89 fa                	mov    %edi,%edx
- b6d:	89 04 24             	mov    %eax,(%esp)
- b70:	8b 45 c8             	mov    -0x38(%ebp),%eax
- b73:	e8 98 f8 ff ff       	call   0x410
- b78:	e9 08 fe ff ff       	jmp    0x985
- b7d:	8d 76 00             	lea    0x0(%esi),%esi
- b80:	bf 3d 00 00 00       	mov    $0x3d,%edi
- b85:	f3 a6                	repz cmpsb %es:(%edi),%ds:(%esi)
- b87:	0f 85 f8 fd ff ff    	jne    0x985
- b8d:	a1 00 00 00 00       	mov    0x0,%eax
- b92:	8b 4d d0             	mov    -0x30(%ebp),%ecx
- b95:	8d 50 01             	lea    0x1(%eax),%edx
- b98:	89 15 00 00 00 00    	mov    %edx,0x0
- b9e:	8b 55 d4             	mov    -0x2c(%ebp),%edx
- ba1:	89 44 24 08          	mov    %eax,0x8(%esp)
- ba5:	8d 45 ec             	lea    -0x14(%ebp),%eax
- ba8:	89 44 24 04          	mov    %eax,0x4(%esp)
- bac:	8d 45 f0             	lea    -0x10(%ebp),%eax
- baf:	89 04 24             	mov    %eax,(%esp)
- bb2:	89 d8                	mov    %ebx,%eax
- bb4:	e8 37 f5 ff ff       	call   0xf0
- bb9:	83 ec 0c             	sub    $0xc,%esp
- bbc:	e9 c4 fd ff ff       	jmp    0x985
- bc1:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
- bc8:	8d 54 1e ff          	lea    -0x1(%esi,%ebx,1),%edx
- bcc:	80 3a 0a             	cmpb   $0xa,(%edx)
- bcf:	0f 85 44 fd ff ff    	jne    0x919
- bd5:	c6 02 00             	movb   $0x0,(%edx)
- bd8:	e9 3c fd ff ff       	jmp    0x919
- bdd:	31 d2                	xor    %edx,%edx
- bdf:	89 d8                	mov    %ebx,%eax
- be1:	e8 1a f4 ff ff       	call   0x0
- be6:	e9 0a fe ff ff       	jmp    0x9f5
- beb:	e8 fc ff ff ff       	call   0xbec
- bf0:	a1 00 00 00 00       	mov    0x0,%eax
- bf5:	e9 32 fc ff ff       	jmp    0x82c
+ 9da:	89 34 24             	mov    %esi,(%esp)
+ 9dd:	89 45 dc             	mov    %eax,-0x24(%ebp)
+ 9e0:	e8 fc ff ff ff       	call   0x9e1
+ 9e5:	85 c0                	test   %eax,%eax
+ 9e7:	0f 84 fd 01 00 00    	je     0xbea
+ 9ed:	83 c3 20             	add    $0x20,%ebx
+ 9f0:	81 fb 80 01 00 00    	cmp    $0x180,%ebx
+ 9f6:	75 d0                	jne    0x9c8
+ 9f8:	bf 20 00 00 00       	mov    $0x20,%edi
+ 9fd:	eb 03                	jmp    0xa02
+ 9ff:	8b 7d d8             	mov    -0x28(%ebp),%edi
+ a02:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
+ a09:	00 
+ a0a:	89 3c 24             	mov    %edi,(%esp)
+ a0d:	e8 fc ff ff ff       	call   0xa0e
+ a12:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
+ a19:	00 
+ a1a:	8d 70 01             	lea    0x1(%eax),%esi
+ a1d:	89 34 24             	mov    %esi,(%esp)
+ a20:	e8 fc ff ff ff       	call   0xa21
+ a25:	89 f2                	mov    %esi,%edx
+ a27:	8d 48 01             	lea    0x1(%eax),%ecx
+ a2a:	89 c3                	mov    %eax,%ebx
+ a2c:	8b 45 f0             	mov    -0x10(%ebp),%eax
+ a2f:	89 4d d8             	mov    %ecx,-0x28(%ebp)
+ a32:	89 04 24             	mov    %eax,(%esp)
+ a35:	89 f8                	mov    %edi,%eax
+ a37:	e8 d4 f9 ff ff       	call   0x410
+ a3c:	80 7b 01 00          	cmpb   $0x0,0x1(%ebx)
+ a40:	75 bd                	jne    0x9ff
+ a42:	8b 45 bc             	mov    -0x44(%ebp),%eax
+ a45:	8b 1d 00 00 00 00    	mov    0x0,%ebx
+ a4b:	65 89 03             	mov    %eax,%gs:(%ebx)
+ a4e:	8d 65 f4             	lea    -0xc(%ebp),%esp
+ a51:	5b                   	pop    %ebx
+ a52:	5e                   	pop    %esi
+ a53:	5f                   	pop    %edi
+ a54:	5d                   	pop    %ebp
+ a55:	c3                   	ret    
+ a56:	66 90                	xchg   %ax,%ax
+ a58:	bf 3d 00 00 00       	mov    $0x3d,%edi
+ a5d:	f3 a6                	repz cmpsb %es:(%edi),%ds:(%esi)
+ a5f:	0f 85 20 ff ff ff    	jne    0x985
+ a65:	8b 15 00 00 00 00    	mov    0x0,%edx
+ a6b:	8b 45 b8             	mov    -0x48(%ebp),%eax
+ a6e:	8d 4a 01             	lea    0x1(%edx),%ecx
+ a71:	89 54 24 08          	mov    %edx,0x8(%esp)
+ a75:	8d 55 ec             	lea    -0x14(%ebp),%edx
+ a78:	89 54 24 04          	mov    %edx,0x4(%esp)
+ a7c:	8d 55 f0             	lea    -0x10(%ebp),%edx
+ a7f:	89 0d 00 00 00 00    	mov    %ecx,0x0
+ a85:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
+ a88:	89 14 24             	mov    %edx,(%esp)
+ a8b:	8b 55 d8             	mov    -0x28(%ebp),%edx
+ a8e:	e8 5d f6 ff ff       	call   0xf0
+ a93:	8b 03                	mov    (%ebx),%eax
+ a95:	83 ec 0c             	sub    $0xc,%esp
+ a98:	e9 ea fe ff ff       	jmp    0x987
+ a9d:	8d 76 00             	lea    0x0(%esi),%esi
+ aa0:	bf 37 00 00 00       	mov    $0x37,%edi
+ aa5:	f3 a6                	repz cmpsb %es:(%edi),%ds:(%esi)
+ aa7:	0f 85 d8 fe ff ff    	jne    0x985
+ aad:	8b 4d f0             	mov    -0x10(%ebp),%ecx
+ ab0:	8b 45 b8             	mov    -0x48(%ebp),%eax
+ ab3:	89 4d c8             	mov    %ecx,-0x38(%ebp)
+ ab6:	0f be 08             	movsbl (%eax),%ecx
+ ab9:	f6 44 4a 01 20       	testb  $0x20,0x1(%edx,%ecx,2)
+ abe:	74 10                	je     0xad0
+ ac0:	83 c0 01             	add    $0x1,%eax
+ ac3:	0f be 08             	movsbl (%eax),%ecx
+ ac6:	f6 44 4a 01 20       	testb  $0x20,0x1(%edx,%ecx,2)
+ acb:	75 f3                	jne    0xac0
+ acd:	89 45 b8             	mov    %eax,-0x48(%ebp)
+ ad0:	8b 4d b8             	mov    -0x48(%ebp),%ecx
+ ad3:	89 4d cc             	mov    %ecx,-0x34(%ebp)
+ ad6:	89 c8                	mov    %ecx,%eax
+ ad8:	0f b6 09             	movzbl (%ecx),%ecx
+ adb:	84 c9                	test   %cl,%cl
+ add:	0f 84 a2 fe ff ff    	je     0x985
+ ae3:	0f be f1             	movsbl %cl,%esi
+ ae6:	f6 44 72 01 20       	testb  $0x20,0x1(%edx,%esi,2)
+ aeb:	75 56                	jne    0xb43
+ aed:	89 c2                	mov    %eax,%edx
+ aef:	8b 0d 3c 00 00 00    	mov    0x3c,%ecx
+ af5:	89 5d c0             	mov    %ebx,-0x40(%ebp)
+ af8:	8b 7d c4             	mov    -0x3c(%ebp),%edi
+ afb:	eb 0f                	jmp    0xb0c
+ afd:	8d 76 00             	lea    0x0(%esi),%esi
+ b00:	0f be f2             	movsbl %dl,%esi
+ b03:	f6 44 77 01 20       	testb  $0x20,0x1(%edi,%esi,2)
+ b08:	75 33                	jne    0xb3d
+ b0a:	89 c2                	mov    %eax,%edx
+ b0c:	8b 34 b1             	mov    (%ecx,%esi,4),%esi
+ b0f:	83 c0 01             	add    $0x1,%eax
+ b12:	89 f3                	mov    %esi,%ebx
+ b14:	88 1a                	mov    %bl,(%edx)
+ b16:	0f b6 10             	movzbl (%eax),%edx
+ b19:	84 d2                	test   %dl,%dl
+ b1b:	75 e3                	jne    0xb00
+ b1d:	8b 5d c0             	mov    -0x40(%ebp),%ebx
+ b20:	8b 03                	mov    (%ebx),%eax
+ b22:	e9 60 fe ff ff       	jmp    0x987
+ b27:	90                   	nop
+ b28:	8d 54 3e ff          	lea    -0x1(%esi,%edi,1),%edx
+ b2c:	80 3a 0a             	cmpb   $0xa,(%edx)
+ b2f:	0f 85 e1 fd ff ff    	jne    0x916
+ b35:	c6 02 00             	movb   $0x0,(%edx)
+ b38:	e9 d9 fd ff ff       	jmp    0x916
+ b3d:	8b 5d c0             	mov    -0x40(%ebp),%ebx
+ b40:	89 45 b8             	mov    %eax,-0x48(%ebp)
+ b43:	8b 55 b8             	mov    -0x48(%ebp),%edx
+ b46:	c6 02 00             	movb   $0x0,(%edx)
+ b49:	8b 45 b8             	mov    -0x48(%ebp),%eax
+ b4c:	89 d7                	mov    %edx,%edi
+ b4e:	8b 15 34 00 00 00    	mov    0x34,%edx
+ b54:	83 c7 01             	add    $0x1,%edi
+ b57:	0f b6 48 01          	movzbl 0x1(%eax),%ecx
+ b5b:	89 f8                	mov    %edi,%eax
+ b5d:	0f be f1             	movsbl %cl,%esi
+ b60:	f6 44 72 01 20       	testb  $0x20,0x1(%edx,%esi,2)
+ b65:	74 11                	je     0xb78
+ b67:	90                   	nop
+ b68:	83 c0 01             	add    $0x1,%eax
+ b6b:	0f b6 08             	movzbl (%eax),%ecx
+ b6e:	0f be f1             	movsbl %cl,%esi
+ b71:	f6 44 72 01 20       	testb  $0x20,0x1(%edx,%esi,2)
+ b76:	75 f0                	jne    0xb68
+ b78:	84 c9                	test   %cl,%cl
+ b7a:	0f 84 05 fe ff ff    	je     0x985
+ b80:	f6 44 72 01 20       	testb  $0x20,0x1(%edx,%esi,2)
+ b85:	0f 85 fa fd ff ff    	jne    0x985
+ b8b:	8b 0d 3c 00 00 00    	mov    0x3c,%ecx
+ b91:	89 fa                	mov    %edi,%edx
+ b93:	89 5d b8             	mov    %ebx,-0x48(%ebp)
+ b96:	89 cb                	mov    %ecx,%ebx
+ b98:	89 f1                	mov    %esi,%ecx
+ b9a:	89 de                	mov    %ebx,%esi
+ b9c:	eb 12                	jmp    0xbb0
+ b9e:	66 90                	xchg   %ax,%ax
+ ba0:	8b 1d 34 00 00 00    	mov    0x34,%ebx
+ ba6:	0f be c9             	movsbl %cl,%ecx
+ ba9:	f6 44 4b 01 20       	testb  $0x20,0x1(%ebx,%ecx,2)
+ bae:	75 12                	jne    0xbc2
+ bb0:	8b 0c 8e             	mov    (%esi,%ecx,4),%ecx
+ bb3:	83 c0 01             	add    $0x1,%eax
+ bb6:	88 0a                	mov    %cl,(%edx)
+ bb8:	0f b6 08             	movzbl (%eax),%ecx
+ bbb:	83 c2 01             	add    $0x1,%edx
+ bbe:	84 c9                	test   %cl,%cl
+ bc0:	75 de                	jne    0xba0
+ bc2:	39 d7                	cmp    %edx,%edi
+ bc4:	8b 5d b8             	mov    -0x48(%ebp),%ebx
+ bc7:	0f 84 b8 fd ff ff    	je     0x985
+ bcd:	c6 02 00             	movb   $0x0,(%edx)
+ bd0:	8b 45 c8             	mov    -0x38(%ebp),%eax
+ bd3:	8d 4a 01             	lea    0x1(%edx),%ecx
+ bd6:	89 fa                	mov    %edi,%edx
+ bd8:	89 04 24             	mov    %eax,(%esp)
+ bdb:	8b 45 cc             	mov    -0x34(%ebp),%eax
+ bde:	e8 2d f8 ff ff       	call   0x410
+ be3:	8b 03                	mov    (%ebx),%eax
+ be5:	e9 9d fd ff ff       	jmp    0x987
+ bea:	31 d2                	xor    %edx,%edx
+ bec:	89 d8                	mov    %ebx,%eax
+ bee:	e8 0d f4 ff ff       	call   0x0
+ bf3:	e9 f5 fd ff ff       	jmp    0x9ed
+ bf8:	8b 4d bc             	mov    -0x44(%ebp),%ecx
+ bfb:	8b 15 00 00 00 00    	mov    0x0,%edx
+ c01:	65 89 0a             	mov    %ecx,%gs:(%edx)
+ c04:	e9 45 fe ff ff       	jmp    0xa4e
+ c09:	e8 fc ff ff ff       	call   0xc0a
+ c0e:	a1 00 00 00 00       	mov    0x0,%eax
+ c13:	e9 14 fc ff ff       	jmp    0x82c
 
 Disassembly of section __libc_freeres_fn:
 
--- /dev/fd/63	2012-05-05 15:41:47.000000000 +0200
+++ /dev/fd/62	2012-05-05 15:41:47.000000000 +0200
@@ -1,5 +1,5 @@
 
-../build-tree.good/kfreebsd-amd64-i386/nis/nis_defaults.o:     file format elf32-i386-freebsd
+build-tree/kfreebsd-amd64-i386/nis/nis_defaults.o:     file format elf32-i386-freebsd
 
 
 Disassembly of section .text:
@@ -52,7 +52,7 @@
   79:	c6 04 16 00          	movb   $0x0,(%esi,%edx,1)
   7d:	0f b6 16             	movzbl (%esi),%edx
   80:	80 fa 2c             	cmp    $0x2c,%dl
-  83:	0f 84 6f 03 00 00    	je     0x3f8
+  83:	0f 84 67 03 00 00    	je     0x3f0
   89:	89 f8                	mov    %edi,%eax
   8b:	31 f6                	xor    %esi,%esi
   8d:	31 ff                	xor    %edi,%edi
@@ -82,714 +82,712 @@
   c8:	0f b6 d2             	movzbl %dl,%edx
   cb:	ff 24 95 00 00 00 00 	jmp    *0x0(,%edx,4)
   d2:	bf 01 00 00 00       	mov    $0x1,%edi
-  d7:	be 01 00 00 00       	mov    $0x1,%esi
-  dc:	b9 01 00 00 00       	mov    $0x1,%ecx
-  e1:	83 c3 01             	add    $0x1,%ebx
-  e4:	0f b6 13             	movzbl (%ebx),%edx
-  e7:	eb af                	jmp    0x98
-  e9:	89 c2                	mov    %eax,%edx
-  eb:	83 c3 01             	add    $0x1,%ebx
-  ee:	81 e2 ff ff ff f0    	and    $0xf0ffffff,%edx
-  f4:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
-  f8:	0f 45 c2             	cmovne %edx,%eax
-  fb:	89 c2                	mov    %eax,%edx
-  fd:	81 e2 ff ff f0 ff    	and    $0xfff0ffff,%edx
- 103:	85 ff                	test   %edi,%edi
- 105:	0f 45 c2             	cmovne %edx,%eax
- 108:	89 c2                	mov    %eax,%edx
- 10a:	80 e6 f0             	and    $0xf0,%dh
- 10d:	85 c9                	test   %ecx,%ecx
- 10f:	0f 45 c2             	cmovne %edx,%eax
- 112:	89 c2                	mov    %eax,%edx
- 114:	83 e2 f0             	and    $0xfffffff0,%edx
- 117:	85 f6                	test   %esi,%esi
- 119:	0f 45 c2             	cmovne %edx,%eax
- 11c:	0f b6 13             	movzbl (%ebx),%edx
- 11f:	84 d2                	test   %dl,%dl
- 121:	74 6e                	je     0x191
- 123:	80 fa 2c             	cmp    $0x2c,%dl
- 126:	0f 84 ae 03 00 00    	je     0x4da
- 12c:	80 fa 64             	cmp    $0x64,%dl
- 12f:	0f 84 3b 03 00 00    	je     0x470
- 135:	8d 76 00             	lea    0x0(%esi),%esi
- 138:	0f 8f ea 01 00 00    	jg     0x328
- 13e:	80 fa 63             	cmp    $0x63,%dl
- 141:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
- 148:	0f 85 56 ff ff ff    	jne    0xa4
- 14e:	89 c2                	mov    %eax,%edx
- 150:	81 ca 00 00 00 04    	or     $0x4000000,%edx
- 156:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
- 15a:	0f 45 c2             	cmovne %edx,%eax
- 15d:	89 c2                	mov    %eax,%edx
- 15f:	81 ca 00 00 04 00    	or     $0x40000,%edx
- 165:	85 ff                	test   %edi,%edi
- 167:	0f 45 c2             	cmovne %edx,%eax
- 16a:	89 c2                	mov    %eax,%edx
- 16c:	80 ce 04             	or     $0x4,%dh
- 16f:	85 c9                	test   %ecx,%ecx
- 171:	0f 45 c2             	cmovne %edx,%eax
- 174:	89 c2                	mov    %eax,%edx
- 176:	83 ca 04             	or     $0x4,%edx
- 179:	85 f6                	test   %esi,%esi
- 17b:	0f 45 c2             	cmovne %edx,%eax
- 17e:	83 c3 01             	add    $0x1,%ebx
- 181:	0f b6 13             	movzbl (%ebx),%edx
- 184:	80 fa 2c             	cmp    $0x2c,%dl
- 187:	0f 84 4d 03 00 00    	je     0x4da
- 18d:	84 d2                	test   %dl,%dl
- 18f:	75 9b                	jne    0x12c
- 191:	31 ff                	xor    %edi,%edi
- 193:	31 f6                	xor    %esi,%esi
- 195:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
- 19c:	31 c9                	xor    %ecx,%ecx
- 19e:	e9 f5 fe ff ff       	jmp    0x98
- 1a3:	83 c3 01             	add    $0x1,%ebx
- 1a6:	0f b6 13             	movzbl (%ebx),%edx
- 1a9:	84 d2                	test   %dl,%dl
- 1ab:	74 e4                	je     0x191
- 1ad:	80 fa 2c             	cmp    $0x2c,%dl
- 1b0:	0f 84 24 03 00 00    	je     0x4da
- 1b6:	80 fa 64             	cmp    $0x64,%dl
- 1b9:	74 67                	je     0x222
- 1bb:	90                   	nop
- 1bc:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
- 1c0:	0f 8f aa 01 00 00    	jg     0x370
- 1c6:	80 fa 63             	cmp    $0x63,%dl
- 1c9:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
- 1d0:	0f 85 ce fe ff ff    	jne    0xa4
- 1d6:	89 c2                	mov    %eax,%edx
- 1d8:	81 e2 ff ff ff fb    	and    $0xfbffffff,%edx
- 1de:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
- 1e2:	0f 45 c2             	cmovne %edx,%eax
- 1e5:	89 c2                	mov    %eax,%edx
- 1e7:	81 e2 ff ff fb ff    	and    $0xfffbffff,%edx
- 1ed:	85 ff                	test   %edi,%edi
- 1ef:	0f 45 c2             	cmovne %edx,%eax
- 1f2:	89 c2                	mov    %eax,%edx
- 1f4:	80 e6 fb             	and    $0xfb,%dh
- 1f7:	85 c9                	test   %ecx,%ecx
- 1f9:	0f 45 c2             	cmovne %edx,%eax
- 1fc:	89 c2                	mov    %eax,%edx
- 1fe:	83 e2 fb             	and    $0xfffffffb,%edx
- 201:	85 f6                	test   %esi,%esi
- 203:	0f 45 c2             	cmovne %edx,%eax
- 206:	83 c3 01             	add    $0x1,%ebx
- 209:	0f b6 13             	movzbl (%ebx),%edx
- 20c:	80 fa 2c             	cmp    $0x2c,%dl
- 20f:	0f 84 c5 02 00 00    	je     0x4da
- 215:	84 d2                	test   %dl,%dl
- 217:	0f 84 74 ff ff ff    	je     0x191
- 21d:	80 fa 64             	cmp    $0x64,%dl
- 220:	75 99                	jne    0x1bb
- 222:	89 c2                	mov    %eax,%edx
- 224:	81 e2 ff ff ff f7    	and    $0xf7ffffff,%edx
- 22a:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
- 22e:	0f 45 c2             	cmovne %edx,%eax
- 231:	89 c2                	mov    %eax,%edx
- 233:	81 e2 ff ff f7 ff    	and    $0xfff7ffff,%edx
- 239:	85 ff                	test   %edi,%edi
- 23b:	0f 45 c2             	cmovne %edx,%eax
- 23e:	89 c2                	mov    %eax,%edx
- 240:	80 e6 f7             	and    $0xf7,%dh
- 243:	85 c9                	test   %ecx,%ecx
- 245:	0f 45 c2             	cmovne %edx,%eax
- 248:	89 c2                	mov    %eax,%edx
- 24a:	83 e2 f7             	and    $0xfffffff7,%edx
- 24d:	85 f6                	test   %esi,%esi
- 24f:	0f 45 c2             	cmovne %edx,%eax
- 252:	eb b2                	jmp    0x206
- 254:	83 c3 01             	add    $0x1,%ebx
- 257:	0f b6 13             	movzbl (%ebx),%edx
- 25a:	84 d2                	test   %dl,%dl
- 25c:	0f 84 2f ff ff ff    	je     0x191
- 262:	80 fa 2c             	cmp    $0x2c,%dl
- 265:	0f 84 6f 02 00 00    	je     0x4da
- 26b:	80 fa 64             	cmp    $0x64,%dl
- 26e:	74 62                	je     0x2d2
- 270:	0f 8f 42 01 00 00    	jg     0x3b8
- 276:	80 fa 63             	cmp    $0x63,%dl
- 279:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
- 280:	0f 85 1e fe ff ff    	jne    0xa4
- 286:	89 c2                	mov    %eax,%edx
- 288:	81 ca 00 00 00 04    	or     $0x4000000,%edx
- 28e:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
- 292:	0f 45 c2             	cmovne %edx,%eax
- 295:	89 c2                	mov    %eax,%edx
- 297:	81 ca 00 00 04 00    	or     $0x40000,%edx
- 29d:	85 ff                	test   %edi,%edi
- 29f:	0f 45 c2             	cmovne %edx,%eax
- 2a2:	89 c2                	mov    %eax,%edx
- 2a4:	80 ce 04             	or     $0x4,%dh
- 2a7:	85 c9                	test   %ecx,%ecx
- 2a9:	0f 45 c2             	cmovne %edx,%eax
- 2ac:	89 c2                	mov    %eax,%edx
- 2ae:	83 ca 04             	or     $0x4,%edx
- 2b1:	85 f6                	test   %esi,%esi
- 2b3:	0f 45 c2             	cmovne %edx,%eax
- 2b6:	83 c3 01             	add    $0x1,%ebx
- 2b9:	0f b6 13             	movzbl (%ebx),%edx
- 2bc:	80 fa 2c             	cmp    $0x2c,%dl
- 2bf:	0f 84 15 02 00 00    	je     0x4da
- 2c5:	84 d2                	test   %dl,%dl
- 2c7:	0f 84 c4 fe ff ff    	je     0x191
- 2cd:	80 fa 64             	cmp    $0x64,%dl
- 2d0:	75 9e                	jne    0x270
- 2d2:	89 c2                	mov    %eax,%edx
- 2d4:	81 ca 00 00 00 08    	or     $0x8000000,%edx
- 2da:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
- 2de:	0f 45 c2             	cmovne %edx,%eax
- 2e1:	89 c2                	mov    %eax,%edx
- 2e3:	81 ca 00 00 08 00    	or     $0x80000,%edx
- 2e9:	85 ff                	test   %edi,%edi
- 2eb:	0f 45 c2             	cmovne %edx,%eax
- 2ee:	89 c2                	mov    %eax,%edx
- 2f0:	80 ce 08             	or     $0x8,%dh
- 2f3:	85 c9                	test   %ecx,%ecx
- 2f5:	0f 45 c2             	cmovne %edx,%eax
- 2f8:	89 c2                	mov    %eax,%edx
- 2fa:	83 ca 08             	or     $0x8,%edx
- 2fd:	85 f6                	test   %esi,%esi
- 2ff:	0f 45 c2             	cmovne %edx,%eax
- 302:	eb b2                	jmp    0x2b6
- 304:	be 01 00 00 00       	mov    $0x1,%esi
- 309:	e9 d3 fd ff ff       	jmp    0xe1
- 30e:	bf 01 00 00 00       	mov    $0x1,%edi
- 313:	e9 c9 fd ff ff       	jmp    0xe1
- 318:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
- 31f:	90                   	nop
- 320:	e9 bc fd ff ff       	jmp    0xe1
- 325:	8d 76 00             	lea    0x0(%esi),%esi
+  d7:	83 c3 01             	add    $0x1,%ebx
+  da:	0f b6 13             	movzbl (%ebx),%edx
+  dd:	eb b9                	jmp    0x98
+  df:	b9 01 00 00 00       	mov    $0x1,%ecx
+  e4:	eb f1                	jmp    0xd7
+  e6:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
+  ed:	eb e8                	jmp    0xd7
+  ef:	be 01 00 00 00       	mov    $0x1,%esi
+  f4:	eb e1                	jmp    0xd7
+  f6:	bf 01 00 00 00       	mov    $0x1,%edi
+  fb:	be 01 00 00 00       	mov    $0x1,%esi
+ 100:	b9 01 00 00 00       	mov    $0x1,%ecx
+ 105:	eb d0                	jmp    0xd7
+ 107:	89 c2                	mov    %eax,%edx
+ 109:	83 c3 01             	add    $0x1,%ebx
+ 10c:	81 e2 ff ff ff f0    	and    $0xf0ffffff,%edx
+ 112:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
+ 116:	0f 45 c2             	cmovne %edx,%eax
+ 119:	89 c2                	mov    %eax,%edx
+ 11b:	81 e2 ff ff f0 ff    	and    $0xfff0ffff,%edx
+ 121:	85 c9                	test   %ecx,%ecx
+ 123:	0f 45 c2             	cmovne %edx,%eax
+ 126:	89 c2                	mov    %eax,%edx
+ 128:	80 e6 f0             	and    $0xf0,%dh
+ 12b:	85 f6                	test   %esi,%esi
+ 12d:	0f 45 c2             	cmovne %edx,%eax
+ 130:	89 c2                	mov    %eax,%edx
+ 132:	83 e2 f0             	and    $0xfffffff0,%edx
+ 135:	85 ff                	test   %edi,%edi
+ 137:	0f 45 c2             	cmovne %edx,%eax
+ 13a:	0f b6 13             	movzbl (%ebx),%edx
+ 13d:	84 d2                	test   %dl,%dl
+ 13f:	74 70                	je     0x1b1
+ 141:	80 fa 2c             	cmp    $0x2c,%dl
+ 144:	0f 84 88 03 00 00    	je     0x4d2
+ 14a:	80 fa 64             	cmp    $0x64,%dl
+ 14d:	0f 84 15 03 00 00    	je     0x468
+ 153:	90                   	nop
+ 154:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+ 158:	0f 8f ca 01 00 00    	jg     0x328
+ 15e:	80 fa 63             	cmp    $0x63,%dl
+ 161:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
+ 168:	0f 85 36 ff ff ff    	jne    0xa4
+ 16e:	89 c2                	mov    %eax,%edx
+ 170:	81 ca 00 00 00 04    	or     $0x4000000,%edx
+ 176:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
+ 17a:	0f 45 c2             	cmovne %edx,%eax
+ 17d:	89 c2                	mov    %eax,%edx
+ 17f:	81 ca 00 00 04 00    	or     $0x40000,%edx
+ 185:	85 c9                	test   %ecx,%ecx
+ 187:	0f 45 c2             	cmovne %edx,%eax
+ 18a:	89 c2                	mov    %eax,%edx
+ 18c:	80 ce 04             	or     $0x4,%dh
+ 18f:	85 f6                	test   %esi,%esi
+ 191:	0f 45 c2             	cmovne %edx,%eax
+ 194:	89 c2                	mov    %eax,%edx
+ 196:	83 ca 04             	or     $0x4,%edx
+ 199:	85 ff                	test   %edi,%edi
+ 19b:	0f 45 c2             	cmovne %edx,%eax
+ 19e:	83 c3 01             	add    $0x1,%ebx
+ 1a1:	0f b6 13             	movzbl (%ebx),%edx
+ 1a4:	80 fa 2c             	cmp    $0x2c,%dl
+ 1a7:	0f 84 25 03 00 00    	je     0x4d2
+ 1ad:	84 d2                	test   %dl,%dl
+ 1af:	75 99                	jne    0x14a
+ 1b1:	31 ff                	xor    %edi,%edi
+ 1b3:	31 f6                	xor    %esi,%esi
+ 1b5:	31 c9                	xor    %ecx,%ecx
+ 1b7:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
+ 1be:	e9 d5 fe ff ff       	jmp    0x98
+ 1c3:	83 c3 01             	add    $0x1,%ebx
+ 1c6:	0f b6 13             	movzbl (%ebx),%edx
+ 1c9:	84 d2                	test   %dl,%dl
+ 1cb:	74 e4                	je     0x1b1
+ 1cd:	80 fa 2c             	cmp    $0x2c,%dl
+ 1d0:	0f 84 fc 02 00 00    	je     0x4d2
+ 1d6:	80 fa 64             	cmp    $0x64,%dl
+ 1d9:	74 67                	je     0x242
+ 1db:	90                   	nop
+ 1dc:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+ 1e0:	0f 8f c2 01 00 00    	jg     0x3a8
+ 1e6:	80 fa 63             	cmp    $0x63,%dl
+ 1e9:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
+ 1f0:	0f 85 ae fe ff ff    	jne    0xa4
+ 1f6:	89 c2                	mov    %eax,%edx
+ 1f8:	81 e2 ff ff ff fb    	and    $0xfbffffff,%edx
+ 1fe:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
+ 202:	0f 45 c2             	cmovne %edx,%eax
+ 205:	89 c2                	mov    %eax,%edx
+ 207:	81 e2 ff ff fb ff    	and    $0xfffbffff,%edx
+ 20d:	85 c9                	test   %ecx,%ecx
+ 20f:	0f 45 c2             	cmovne %edx,%eax
+ 212:	89 c2                	mov    %eax,%edx
+ 214:	80 e6 fb             	and    $0xfb,%dh
+ 217:	85 f6                	test   %esi,%esi
+ 219:	0f 45 c2             	cmovne %edx,%eax
+ 21c:	89 c2                	mov    %eax,%edx
+ 21e:	83 e2 fb             	and    $0xfffffffb,%edx
+ 221:	85 ff                	test   %edi,%edi
+ 223:	0f 45 c2             	cmovne %edx,%eax
+ 226:	83 c3 01             	add    $0x1,%ebx
+ 229:	0f b6 13             	movzbl (%ebx),%edx
+ 22c:	80 fa 2c             	cmp    $0x2c,%dl
+ 22f:	0f 84 9d 02 00 00    	je     0x4d2
+ 235:	84 d2                	test   %dl,%dl
+ 237:	0f 84 74 ff ff ff    	je     0x1b1
+ 23d:	80 fa 64             	cmp    $0x64,%dl
+ 240:	75 99                	jne    0x1db
+ 242:	89 c2                	mov    %eax,%edx
+ 244:	81 e2 ff ff ff f7    	and    $0xf7ffffff,%edx
+ 24a:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
+ 24e:	0f 45 c2             	cmovne %edx,%eax
+ 251:	89 c2                	mov    %eax,%edx
+ 253:	81 e2 ff ff f7 ff    	and    $0xfff7ffff,%edx
+ 259:	85 c9                	test   %ecx,%ecx
+ 25b:	0f 45 c2             	cmovne %edx,%eax
+ 25e:	89 c2                	mov    %eax,%edx
+ 260:	80 e6 f7             	and    $0xf7,%dh
+ 263:	85 f6                	test   %esi,%esi
+ 265:	0f 45 c2             	cmovne %edx,%eax
+ 268:	89 c2                	mov    %eax,%edx
+ 26a:	83 e2 f7             	and    $0xfffffff7,%edx
+ 26d:	85 ff                	test   %edi,%edi
+ 26f:	0f 45 c2             	cmovne %edx,%eax
+ 272:	eb b2                	jmp    0x226
+ 274:	83 c3 01             	add    $0x1,%ebx
+ 277:	0f b6 13             	movzbl (%ebx),%edx
+ 27a:	84 d2                	test   %dl,%dl
+ 27c:	0f 84 2f ff ff ff    	je     0x1b1
+ 282:	80 fa 2c             	cmp    $0x2c,%dl
+ 285:	0f 84 47 02 00 00    	je     0x4d2
+ 28b:	80 fa 64             	cmp    $0x64,%dl
+ 28e:	74 62                	je     0x2f2
+ 290:	0f 8f d2 00 00 00    	jg     0x368
+ 296:	80 fa 63             	cmp    $0x63,%dl
+ 299:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
+ 2a0:	0f 85 fe fd ff ff    	jne    0xa4
+ 2a6:	89 c2                	mov    %eax,%edx
+ 2a8:	81 ca 00 00 00 04    	or     $0x4000000,%edx
+ 2ae:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
+ 2b2:	0f 45 c2             	cmovne %edx,%eax
+ 2b5:	89 c2                	mov    %eax,%edx
+ 2b7:	81 ca 00 00 04 00    	or     $0x40000,%edx
+ 2bd:	85 c9                	test   %ecx,%ecx
+ 2bf:	0f 45 c2             	cmovne %edx,%eax
+ 2c2:	89 c2                	mov    %eax,%edx
+ 2c4:	80 ce 04             	or     $0x4,%dh
+ 2c7:	85 f6                	test   %esi,%esi
+ 2c9:	0f 45 c2             	cmovne %edx,%eax
+ 2cc:	89 c2                	mov    %eax,%edx
+ 2ce:	83 ca 04             	or     $0x4,%edx
+ 2d1:	85 ff                	test   %edi,%edi
+ 2d3:	0f 45 c2             	cmovne %edx,%eax
+ 2d6:	83 c3 01             	add    $0x1,%ebx
+ 2d9:	0f b6 13             	movzbl (%ebx),%edx
+ 2dc:	80 fa 2c             	cmp    $0x2c,%dl
+ 2df:	0f 84 ed 01 00 00    	je     0x4d2
+ 2e5:	84 d2                	test   %dl,%dl
+ 2e7:	0f 84 c4 fe ff ff    	je     0x1b1
+ 2ed:	80 fa 64             	cmp    $0x64,%dl
+ 2f0:	75 9e                	jne    0x290
+ 2f2:	89 c2                	mov    %eax,%edx
+ 2f4:	81 ca 00 00 00 08    	or     $0x8000000,%edx
+ 2fa:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
+ 2fe:	0f 45 c2             	cmovne %edx,%eax
+ 301:	89 c2                	mov    %eax,%edx
+ 303:	81 ca 00 00 08 00    	or     $0x80000,%edx
+ 309:	85 c9                	test   %ecx,%ecx
+ 30b:	0f 45 c2             	cmovne %edx,%eax
+ 30e:	89 c2                	mov    %eax,%edx
+ 310:	80 ce 08             	or     $0x8,%dh
+ 313:	85 f6                	test   %esi,%esi
+ 315:	0f 45 c2             	cmovne %edx,%eax
+ 318:	89 c2                	mov    %eax,%edx
+ 31a:	83 ca 08             	or     $0x8,%edx
+ 31d:	85 ff                	test   %edi,%edi
+ 31f:	0f 45 c2             	cmovne %edx,%eax
+ 322:	eb b2                	jmp    0x2d6
+ 324:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
  328:	80 fa 6d             	cmp    $0x6d,%dl
- 32b:	90                   	nop
- 32c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
- 330:	0f 84 ce 00 00 00    	je     0x404
- 336:	80 fa 72             	cmp    $0x72,%dl
- 339:	0f 85 65 fd ff ff    	jne    0xa4
- 33f:	89 c2                	mov    %eax,%edx
- 341:	81 ca 00 00 00 01    	or     $0x1000000,%edx
- 347:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
- 34b:	0f 45 c2             	cmovne %edx,%eax
- 34e:	89 c2                	mov    %eax,%edx
- 350:	81 ca 00 00 01 00    	or     $0x10000,%edx
- 356:	85 ff                	test   %edi,%edi
- 358:	0f 45 c2             	cmovne %edx,%eax
- 35b:	89 c2                	mov    %eax,%edx
- 35d:	80 ce 01             	or     $0x1,%dh
- 360:	85 c9                	test   %ecx,%ecx
- 362:	0f 45 c2             	cmovne %edx,%eax
- 365:	09 f0                	or     %esi,%eax
- 367:	e9 12 fe ff ff       	jmp    0x17e
- 36c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
- 370:	80 fa 6d             	cmp    $0x6d,%dl
- 373:	0f 84 2c 01 00 00    	je     0x4a5
- 379:	80 fa 72             	cmp    $0x72,%dl
- 37c:	0f 85 22 fd ff ff    	jne    0xa4
- 382:	89 c2                	mov    %eax,%edx
- 384:	81 e2 ff ff ff fe    	and    $0xfeffffff,%edx
- 38a:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
- 38e:	0f 45 c2             	cmovne %edx,%eax
- 391:	89 c2                	mov    %eax,%edx
- 393:	81 e2 ff ff fe ff    	and    $0xfffeffff,%edx
- 399:	85 ff                	test   %edi,%edi
- 39b:	0f 45 c2             	cmovne %edx,%eax
- 39e:	89 c2                	mov    %eax,%edx
- 3a0:	80 e6 fe             	and    $0xfe,%dh
- 3a3:	85 c9                	test   %ecx,%ecx
- 3a5:	0f 45 c2             	cmovne %edx,%eax
- 3a8:	89 c2                	mov    %eax,%edx
- 3aa:	83 e2 fe             	and    $0xfffffffe,%edx
- 3ad:	85 f6                	test   %esi,%esi
- 3af:	0f 45 c2             	cmovne %edx,%eax
- 3b2:	e9 4f fe ff ff       	jmp    0x206
- 3b7:	90                   	nop
- 3b8:	80 fa 6d             	cmp    $0x6d,%dl
- 3bb:	74 7c                	je     0x439
- 3bd:	80 fa 72             	cmp    $0x72,%dl
- 3c0:	0f 85 de fc ff ff    	jne    0xa4
- 3c6:	89 c2                	mov    %eax,%edx
- 3c8:	81 ca 00 00 00 01    	or     $0x1000000,%edx
- 3ce:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
- 3d2:	0f 45 c2             	cmovne %edx,%eax
- 3d5:	89 c2                	mov    %eax,%edx
- 3d7:	81 ca 00 00 01 00    	or     $0x10000,%edx
- 3dd:	85 ff                	test   %edi,%edi
- 3df:	0f 45 c2             	cmovne %edx,%eax
- 3e2:	89 c2                	mov    %eax,%edx
- 3e4:	80 ce 01             	or     $0x1,%dh
- 3e7:	85 c9                	test   %ecx,%ecx
- 3e9:	0f 45 c2             	cmovne %edx,%eax
- 3ec:	09 f0                	or     %esi,%eax
- 3ee:	e9 c3 fe ff ff       	jmp    0x2b6
- 3f3:	90                   	nop
- 3f4:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
- 3f8:	83 c3 01             	add    $0x1,%ebx
- 3fb:	0f b6 56 01          	movzbl 0x1(%esi),%edx
- 3ff:	e9 85 fc ff ff       	jmp    0x89
- 404:	89 c2                	mov    %eax,%edx
- 406:	81 ca 00 00 00 02    	or     $0x2000000,%edx
- 40c:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
- 410:	0f 45 c2             	cmovne %edx,%eax
- 413:	89 c2                	mov    %eax,%edx
- 415:	81 ca 00 00 02 00    	or     $0x20000,%edx
- 41b:	85 ff                	test   %edi,%edi
- 41d:	0f 45 c2             	cmovne %edx,%eax
- 420:	89 c2                	mov    %eax,%edx
- 422:	80 ce 02             	or     $0x2,%dh
- 425:	85 c9                	test   %ecx,%ecx
- 427:	0f 45 c2             	cmovne %edx,%eax
- 42a:	89 c2                	mov    %eax,%edx
- 42c:	83 ca 02             	or     $0x2,%edx
- 42f:	85 f6                	test   %esi,%esi
- 431:	0f 45 c2             	cmovne %edx,%eax
- 434:	e9 45 fd ff ff       	jmp    0x17e
- 439:	89 c2                	mov    %eax,%edx
- 43b:	81 ca 00 00 00 02    	or     $0x2000000,%edx
- 441:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
- 445:	0f 45 c2             	cmovne %edx,%eax
- 448:	89 c2                	mov    %eax,%edx
- 44a:	81 ca 00 00 02 00    	or     $0x20000,%edx
- 450:	85 ff                	test   %edi,%edi
- 452:	0f 45 c2             	cmovne %edx,%eax
- 455:	89 c2                	mov    %eax,%edx
- 457:	80 ce 02             	or     $0x2,%dh
- 45a:	85 c9                	test   %ecx,%ecx
- 45c:	0f 45 c2             	cmovne %edx,%eax
- 45f:	89 c2                	mov    %eax,%edx
- 461:	83 ca 02             	or     $0x2,%edx
- 464:	85 f6                	test   %esi,%esi
- 466:	0f 45 c2             	cmovne %edx,%eax
- 469:	e9 48 fe ff ff       	jmp    0x2b6
- 46e:	66 90                	xchg   %ax,%ax
- 470:	89 c2                	mov    %eax,%edx
- 472:	81 ca 00 00 00 08    	or     $0x8000000,%edx
- 478:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
- 47c:	0f 45 c2             	cmovne %edx,%eax
- 47f:	89 c2                	mov    %eax,%edx
- 481:	81 ca 00 00 08 00    	or     $0x80000,%edx
- 487:	85 ff                	test   %edi,%edi
- 489:	0f 45 c2             	cmovne %edx,%eax
- 48c:	89 c2                	mov    %eax,%edx
- 48e:	80 ce 08             	or     $0x8,%dh
- 491:	85 c9                	test   %ecx,%ecx
- 493:	0f 45 c2             	cmovne %edx,%eax
- 496:	89 c2                	mov    %eax,%edx
- 498:	83 ca 08             	or     $0x8,%edx
- 49b:	85 f6                	test   %esi,%esi
- 49d:	0f 45 c2             	cmovne %edx,%eax
- 4a0:	e9 d9 fc ff ff       	jmp    0x17e
- 4a5:	89 c2                	mov    %eax,%edx
- 4a7:	81 e2 ff ff ff fd    	and    $0xfdffffff,%edx
- 4ad:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
- 4b1:	0f 45 c2             	cmovne %edx,%eax
- 4b4:	89 c2                	mov    %eax,%edx
- 4b6:	81 e2 ff ff fd ff    	and    $0xfffdffff,%edx
- 4bc:	85 ff                	test   %edi,%edi
- 4be:	0f 45 c2             	cmovne %edx,%eax
- 4c1:	89 c2                	mov    %eax,%edx
- 4c3:	80 e6 fd             	and    $0xfd,%dh
- 4c6:	85 c9                	test   %ecx,%ecx
- 4c8:	0f 45 c2             	cmovne %edx,%eax
- 4cb:	89 c2                	mov    %eax,%edx
- 4cd:	83 e2 fd             	and    $0xfffffffd,%edx
- 4d0:	85 f6                	test   %esi,%esi
- 4d2:	0f 45 c2             	cmovne %edx,%eax
- 4d5:	e9 2c fd ff ff       	jmp    0x206
- 4da:	84 d2                	test   %dl,%dl
- 4dc:	0f 84 af fc ff ff    	je     0x191
- 4e2:	31 ff                	xor    %edi,%edi
- 4e4:	31 f6                	xor    %esi,%esi
- 4e6:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
- 4ed:	31 c9                	xor    %ecx,%ecx
- 4ef:	e9 ed fb ff ff       	jmp    0xe1
- 4f4:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
- 4fa:	8d bf 00 00 00 00    	lea    0x0(%edi),%edi
- 500:	55                   	push   %ebp
- 501:	89 e5                	mov    %esp,%ebp
- 503:	56                   	push   %esi
- 504:	be 01 01 0f 00       	mov    $0xf0101,%esi
- 509:	53                   	push   %ebx
- 50a:	83 ec 08             	sub    $0x8,%esp
- 50d:	8b 45 0c             	mov    0xc(%ebp),%eax
- 510:	8b 5d 08             	mov    0x8(%ebp),%ebx
- 513:	85 c0                	test   %eax,%eax
- 515:	0f 45 f0             	cmovne %eax,%esi
- 518:	85 db                	test   %ebx,%ebx
- 51a:	74 24                	je     0x540
- 51c:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
- 523:	00 
- 524:	89 1c 24             	mov    %ebx,(%esp)
- 527:	e8 fc ff ff ff       	call   0x528
- 52c:	85 c0                	test   %eax,%eax
- 52e:	74 10                	je     0x540
- 530:	83 c4 08             	add    $0x8,%esp
- 533:	89 f2                	mov    %esi,%edx
- 535:	89 d8                	mov    %ebx,%eax
- 537:	5b                   	pop    %ebx
- 538:	5e                   	pop    %esi
- 539:	5d                   	pop    %ebp
- 53a:	e9 c1 fa ff ff       	jmp    0x0
- 53f:	90                   	nop
- 540:	c7 04 24 08 00 00 00 	movl   $0x8,(%esp)
- 547:	e8 fc ff ff ff       	call   0x548
- 54c:	85 c0                	test   %eax,%eax
- 54e:	89 c3                	mov    %eax,%ebx
- 550:	74 14                	je     0x566
- 552:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
- 559:	00 
- 55a:	89 04 24             	mov    %eax,(%esp)
- 55d:	e8 fc ff ff ff       	call   0x55e
- 562:	85 c0                	test   %eax,%eax
- 564:	75 ca                	jne    0x530
- 566:	83 c4 08             	add    $0x8,%esp
- 569:	89 f0                	mov    %esi,%eax
- 56b:	5b                   	pop    %ebx
- 56c:	5e                   	pop    %esi
- 56d:	5d                   	pop    %ebp
- 56e:	c3                   	ret    
- 56f:	90                   	nop
- 570:	55                   	push   %ebp
- 571:	89 e5                	mov    %esp,%ebp
- 573:	57                   	push   %edi
- 574:	56                   	push   %esi
- 575:	53                   	push   %ebx
- 576:	89 c3                	mov    %eax,%ebx
- 578:	83 ec 0c             	sub    $0xc,%esp
- 57b:	89 04 24             	mov    %eax,(%esp)
- 57e:	e8 fc ff ff ff       	call   0x57f
- 583:	83 c0 13             	add    $0x13,%eax
- 586:	83 e0 fc             	and    $0xfffffffc,%eax
- 589:	29 c4                	sub    %eax,%esp
- 58b:	c7 44 24 04 15 00 00 	movl   $0x15,0x4(%esp)
- 592:	00 
- 593:	8d 74 24 1b          	lea    0x1b(%esp),%esi
- 597:	89 1c 24             	mov    %ebx,(%esp)
- 59a:	83 e6 f0             	and    $0xfffffff0,%esi
- 59d:	e8 fc ff ff ff       	call   0x59e
- 5a2:	85 c0                	test   %eax,%eax
- 5a4:	0f 84 2e 01 00 00    	je     0x6d8
- 5aa:	0f b6 50 04          	movzbl 0x4(%eax),%edx
- 5ae:	8d 48 04             	lea    0x4(%eax),%ecx
- 5b1:	84 d2                	test   %dl,%dl
- 5b3:	0f 84 1f 01 00 00    	je     0x6d8
- 5b9:	80 fa 3a             	cmp    $0x3a,%dl
- 5bc:	0f 84 16 01 00 00    	je     0x6d8
- 5c2:	31 db                	xor    %ebx,%ebx
- 5c4:	eb 06                	jmp    0x5cc
- 5c6:	66 90                	xchg   %ax,%ax
- 5c8:	84 d2                	test   %dl,%dl
- 5ca:	74 0d                	je     0x5d9
- 5cc:	83 c3 01             	add    $0x1,%ebx
- 5cf:	0f b6 54 18 04       	movzbl 0x4(%eax,%ebx,1),%edx
- 5d4:	80 fa 3a             	cmp    $0x3a,%dl
- 5d7:	75 ef                	jne    0x5c8
- 5d9:	89 5c 24 08          	mov    %ebx,0x8(%esp)
- 5dd:	89 4c 24 04          	mov    %ecx,0x4(%esp)
- 5e1:	89 34 24             	mov    %esi,(%esp)
- 5e4:	e8 fc ff ff ff       	call   0x5e5
- 5e9:	c6 04 1e 00          	movb   $0x0,(%esi,%ebx,1)
- 5ed:	31 db                	xor    %ebx,%ebx
- 5ef:	c7 44 24 04 64 00 00 	movl   $0x64,0x4(%esp)
- 5f6:	00 
- 5f7:	89 34 24             	mov    %esi,(%esp)
- 5fa:	e8 fc ff ff ff       	call   0x5fb
- 5ff:	85 c0                	test   %eax,%eax
- 601:	74 26                	je     0x629
- 603:	c6 00 00             	movb   $0x0,(%eax)
- 606:	8d 78 01             	lea    0x1(%eax),%edi
- 609:	89 34 24             	mov    %esi,(%esp)
- 60c:	89 fe                	mov    %edi,%esi
- 60e:	c7 44 24 08 0a 00 00 	movl   $0xa,0x8(%esp)
- 615:	00 
- 616:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
- 61d:	00 
- 61e:	e8 fc ff ff ff       	call   0x61f
- 623:	69 d8 80 51 01 00    	imul   $0x15180,%eax,%ebx
- 629:	c7 44 24 04 68 00 00 	movl   $0x68,0x4(%esp)
- 630:	00 
- 631:	89 34 24             	mov    %esi,(%esp)
- 634:	e8 fc ff ff ff       	call   0x635
- 639:	85 c0                	test   %eax,%eax
- 63b:	74 28                	je     0x665
- 63d:	c6 00 00             	movb   $0x0,(%eax)
- 640:	8d 78 01             	lea    0x1(%eax),%edi
- 643:	89 34 24             	mov    %esi,(%esp)
- 646:	89 fe                	mov    %edi,%esi
- 648:	c7 44 24 08 0a 00 00 	movl   $0xa,0x8(%esp)
- 64f:	00 
- 650:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
- 657:	00 
- 658:	e8 fc ff ff ff       	call   0x659
- 65d:	69 c0 10 0e 00 00    	imul   $0xe10,%eax,%eax
- 663:	01 c3                	add    %eax,%ebx
- 665:	c7 44 24 04 6d 00 00 	movl   $0x6d,0x4(%esp)
- 66c:	00 
- 66d:	89 34 24             	mov    %esi,(%esp)
- 670:	e8 fc ff ff ff       	call   0x671
- 675:	85 c0                	test   %eax,%eax
- 677:	74 25                	je     0x69e
- 679:	c6 00 00             	movb   $0x0,(%eax)
- 67c:	8d 78 01             	lea    0x1(%eax),%edi
- 67f:	89 34 24             	mov    %esi,(%esp)
- 682:	89 fe                	mov    %edi,%esi
- 684:	c7 44 24 08 0a 00 00 	movl   $0xa,0x8(%esp)
- 68b:	00 
- 68c:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
- 693:	00 
- 694:	e8 fc ff ff ff       	call   0x695
- 699:	6b c0 3c             	imul   $0x3c,%eax,%eax
- 69c:	01 c3                	add    %eax,%ebx
- 69e:	c7 44 24 04 73 00 00 	movl   $0x73,0x4(%esp)
- 6a5:	00 
- 6a6:	89 34 24             	mov    %esi,(%esp)
- 6a9:	e8 fc ff ff ff       	call   0x6aa
- 6ae:	85 c0                	test   %eax,%eax
- 6b0:	74 03                	je     0x6b5
- 6b2:	c6 00 00             	movb   $0x0,(%eax)
- 6b5:	89 34 24             	mov    %esi,(%esp)
- 6b8:	c7 44 24 08 0a 00 00 	movl   $0xa,0x8(%esp)
- 6bf:	00 
- 6c0:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
- 6c7:	00 
- 6c8:	e8 fc ff ff ff       	call   0x6c9
- 6cd:	8d 65 f4             	lea    -0xc(%ebp),%esp
- 6d0:	01 d8                	add    %ebx,%eax
- 6d2:	5b                   	pop    %ebx
- 6d3:	5e                   	pop    %esi
- 6d4:	5f                   	pop    %edi
- 6d5:	5d                   	pop    %ebp
- 6d6:	c3                   	ret    
- 6d7:	90                   	nop
- 6d8:	8d 65 f4             	lea    -0xc(%ebp),%esp
- 6db:	b8 c0 a8 00 00       	mov    $0xa8c0,%eax
- 6e0:	5b                   	pop    %ebx
- 6e1:	5e                   	pop    %esi
- 6e2:	5f                   	pop    %edi
- 6e3:	5d                   	pop    %ebp
- 6e4:	c3                   	ret    
- 6e5:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
- 6e9:	8d bc 27 00 00 00 00 	lea    0x0(%edi,%eiz,1),%edi
- 6f0:	55                   	push   %ebp
- 6f1:	89 e5                	mov    %esp,%ebp
- 6f3:	53                   	push   %ebx
- 6f4:	83 ec 08             	sub    $0x8,%esp
- 6f7:	8b 5d 08             	mov    0x8(%ebp),%ebx
- 6fa:	85 db                	test   %ebx,%ebx
- 6fc:	74 22                	je     0x720
- 6fe:	c7 44 24 04 15 00 00 	movl   $0x15,0x4(%esp)
- 705:	00 
- 706:	89 1c 24             	mov    %ebx,(%esp)
- 709:	e8 fc ff ff ff       	call   0x70a
- 70e:	85 c0                	test   %eax,%eax
- 710:	74 0e                	je     0x720
- 712:	83 c4 08             	add    $0x8,%esp
- 715:	89 d8                	mov    %ebx,%eax
- 717:	5b                   	pop    %ebx
- 718:	5d                   	pop    %ebp
- 719:	e9 52 fe ff ff       	jmp    0x570
- 71e:	66 90                	xchg   %ax,%ax
- 720:	c7 04 24 08 00 00 00 	movl   $0x8,(%esp)
- 727:	e8 fc ff ff ff       	call   0x728
- 72c:	85 c0                	test   %eax,%eax
- 72e:	89 c3                	mov    %eax,%ebx
- 730:	74 14                	je     0x746
- 732:	c7 44 24 04 15 00 00 	movl   $0x15,0x4(%esp)
- 739:	00 
- 73a:	89 04 24             	mov    %eax,(%esp)
- 73d:	e8 fc ff ff ff       	call   0x73e
- 742:	85 c0                	test   %eax,%eax
- 744:	75 cc                	jne    0x712
- 746:	83 c4 08             	add    $0x8,%esp
- 749:	b8 c0 a8 00 00       	mov    $0xa8c0,%eax
- 74e:	5b                   	pop    %ebx
- 74f:	5d                   	pop    %ebp
- 750:	c3                   	ret    
- 751:	eb 0d                	jmp    0x760
- 753:	90                   	nop
- 754:	90                   	nop
- 755:	90                   	nop
- 756:	90                   	nop
- 757:	90                   	nop
- 758:	90                   	nop
- 759:	90                   	nop
- 75a:	90                   	nop
- 75b:	90                   	nop
- 75c:	90                   	nop
- 75d:	90                   	nop
- 75e:	90                   	nop
- 75f:	90                   	nop
- 760:	55                   	push   %ebp
- 761:	89 e5                	mov    %esp,%ebp
- 763:	56                   	push   %esi
- 764:	89 d6                	mov    %edx,%esi
- 766:	53                   	push   %ebx
- 767:	89 c3                	mov    %eax,%ebx
- 769:	83 ec 10             	sub    $0x10,%esp
- 76c:	89 14 24             	mov    %edx,(%esp)
- 76f:	e8 fc ff ff ff       	call   0x770
- 774:	83 f8 06             	cmp    $0x6,%eax
- 777:	0f 85 92 00 00 00    	jne    0x80f
- 77d:	c7 44 24 08 06 00 00 	movl   $0x6,0x8(%esp)
- 784:	00 
- 785:	89 74 24 04          	mov    %esi,0x4(%esp)
- 789:	89 1c 24             	mov    %ebx,(%esp)
- 78c:	e8 fc ff ff ff       	call   0x78d
- 791:	85 c0                	test   %eax,%eax
- 793:	75 56                	jne    0x7eb
- 795:	0f b6 43 06          	movzbl 0x6(%ebx),%eax
- 799:	8d 4b 06             	lea    0x6(%ebx),%ecx
- 79c:	3c 3a                	cmp    $0x3a,%al
- 79e:	74 30                	je     0x7d0
- 7a0:	84 c0                	test   %al,%al
- 7a2:	74 2c                	je     0x7d0
- 7a4:	31 c0                	xor    %eax,%eax
- 7a6:	eb 04                	jmp    0x7ac
- 7a8:	84 d2                	test   %dl,%dl
- 7aa:	74 0d                	je     0x7b9
- 7ac:	83 c0 01             	add    $0x1,%eax
- 7af:	0f b6 54 03 06       	movzbl 0x6(%ebx,%eax,1),%edx
- 7b4:	80 fa 3a             	cmp    $0x3a,%dl
- 7b7:	75 ef                	jne    0x7a8
- 7b9:	89 44 24 04          	mov    %eax,0x4(%esp)
- 7bd:	89 0c 24             	mov    %ecx,(%esp)
- 7c0:	e8 fc ff ff ff       	call   0x7c1
- 7c5:	83 c4 10             	add    $0x10,%esp
- 7c8:	5b                   	pop    %ebx
- 7c9:	5e                   	pop    %esi
- 7ca:	5d                   	pop    %ebp
- 7cb:	c3                   	ret    
- 7cc:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
- 7d0:	c7 44 24 04 01 00 00 	movl   $0x1,0x4(%esp)
- 7d7:	00 
- 7d8:	c7 04 24 01 00 00 00 	movl   $0x1,(%esp)
- 7df:	e8 fc ff ff ff       	call   0x7e0
- 7e4:	83 c4 10             	add    $0x10,%esp
- 7e7:	5b                   	pop    %ebx
- 7e8:	5e                   	pop    %esi
- 7e9:	5d                   	pop    %ebp
- 7ea:	c3                   	ret    
- 7eb:	c7 44 24 0c 4a 00 00 	movl   $0x4a,0xc(%esp)
+ 32b:	0f 84 cb 00 00 00    	je     0x3fc
+ 331:	80 fa 72             	cmp    $0x72,%dl
+ 334:	0f 85 6a fd ff ff    	jne    0xa4
+ 33a:	89 c2                	mov    %eax,%edx
+ 33c:	81 ca 00 00 00 01    	or     $0x1000000,%edx
+ 342:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
+ 346:	0f 45 c2             	cmovne %edx,%eax
+ 349:	89 c2                	mov    %eax,%edx
+ 34b:	81 ca 00 00 01 00    	or     $0x10000,%edx
+ 351:	85 c9                	test   %ecx,%ecx
+ 353:	0f 45 c2             	cmovne %edx,%eax
+ 356:	89 c2                	mov    %eax,%edx
+ 358:	80 ce 01             	or     $0x1,%dh
+ 35b:	85 f6                	test   %esi,%esi
+ 35d:	0f 45 c2             	cmovne %edx,%eax
+ 360:	09 f8                	or     %edi,%eax
+ 362:	e9 37 fe ff ff       	jmp    0x19e
+ 367:	90                   	nop
+ 368:	80 fa 6d             	cmp    $0x6d,%dl
+ 36b:	0f 84 2c 01 00 00    	je     0x49d
+ 371:	80 fa 72             	cmp    $0x72,%dl
+ 374:	0f 85 2a fd ff ff    	jne    0xa4
+ 37a:	89 c2                	mov    %eax,%edx
+ 37c:	81 ca 00 00 00 01    	or     $0x1000000,%edx
+ 382:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
+ 386:	0f 45 c2             	cmovne %edx,%eax
+ 389:	89 c2                	mov    %eax,%edx
+ 38b:	81 ca 00 00 01 00    	or     $0x10000,%edx
+ 391:	85 c9                	test   %ecx,%ecx
+ 393:	0f 45 c2             	cmovne %edx,%eax
+ 396:	89 c2                	mov    %eax,%edx
+ 398:	80 ce 01             	or     $0x1,%dh
+ 39b:	85 f6                	test   %esi,%esi
+ 39d:	0f 45 c2             	cmovne %edx,%eax
+ 3a0:	09 f8                	or     %edi,%eax
+ 3a2:	e9 2f ff ff ff       	jmp    0x2d6
+ 3a7:	90                   	nop
+ 3a8:	80 fa 6d             	cmp    $0x6d,%dl
+ 3ab:	0f 84 80 00 00 00    	je     0x431
+ 3b1:	80 fa 72             	cmp    $0x72,%dl
+ 3b4:	0f 85 ea fc ff ff    	jne    0xa4
+ 3ba:	89 c2                	mov    %eax,%edx
+ 3bc:	81 e2 ff ff ff fe    	and    $0xfeffffff,%edx
+ 3c2:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
+ 3c6:	0f 45 c2             	cmovne %edx,%eax
+ 3c9:	89 c2                	mov    %eax,%edx
+ 3cb:	81 e2 ff ff fe ff    	and    $0xfffeffff,%edx
+ 3d1:	85 c9                	test   %ecx,%ecx
+ 3d3:	0f 45 c2             	cmovne %edx,%eax
+ 3d6:	89 c2                	mov    %eax,%edx
+ 3d8:	80 e6 fe             	and    $0xfe,%dh
+ 3db:	85 f6                	test   %esi,%esi
+ 3dd:	0f 45 c2             	cmovne %edx,%eax
+ 3e0:	89 c2                	mov    %eax,%edx
+ 3e2:	83 e2 fe             	and    $0xfffffffe,%edx
+ 3e5:	85 ff                	test   %edi,%edi
+ 3e7:	0f 45 c2             	cmovne %edx,%eax
+ 3ea:	e9 37 fe ff ff       	jmp    0x226
+ 3ef:	90                   	nop
+ 3f0:	83 c3 01             	add    $0x1,%ebx
+ 3f3:	0f b6 56 01          	movzbl 0x1(%esi),%edx
+ 3f7:	e9 8d fc ff ff       	jmp    0x89
+ 3fc:	89 c2                	mov    %eax,%edx
+ 3fe:	81 ca 00 00 00 02    	or     $0x2000000,%edx
+ 404:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
+ 408:	0f 45 c2             	cmovne %edx,%eax
+ 40b:	89 c2                	mov    %eax,%edx
+ 40d:	81 ca 00 00 02 00    	or     $0x20000,%edx
+ 413:	85 c9                	test   %ecx,%ecx
+ 415:	0f 45 c2             	cmovne %edx,%eax
+ 418:	89 c2                	mov    %eax,%edx
+ 41a:	80 ce 02             	or     $0x2,%dh
+ 41d:	85 f6                	test   %esi,%esi
+ 41f:	0f 45 c2             	cmovne %edx,%eax
+ 422:	89 c2                	mov    %eax,%edx
+ 424:	83 ca 02             	or     $0x2,%edx
+ 427:	85 ff                	test   %edi,%edi
+ 429:	0f 45 c2             	cmovne %edx,%eax
+ 42c:	e9 6d fd ff ff       	jmp    0x19e
+ 431:	89 c2                	mov    %eax,%edx
+ 433:	81 e2 ff ff ff fd    	and    $0xfdffffff,%edx
+ 439:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
+ 43d:	0f 45 c2             	cmovne %edx,%eax
+ 440:	89 c2                	mov    %eax,%edx
+ 442:	81 e2 ff ff fd ff    	and    $0xfffdffff,%edx
+ 448:	85 c9                	test   %ecx,%ecx
+ 44a:	0f 45 c2             	cmovne %edx,%eax
+ 44d:	89 c2                	mov    %eax,%edx
+ 44f:	80 e6 fd             	and    $0xfd,%dh
+ 452:	85 f6                	test   %esi,%esi
+ 454:	0f 45 c2             	cmovne %edx,%eax
+ 457:	89 c2                	mov    %eax,%edx
+ 459:	83 e2 fd             	and    $0xfffffffd,%edx
+ 45c:	85 ff                	test   %edi,%edi
+ 45e:	0f 45 c2             	cmovne %edx,%eax
+ 461:	e9 c0 fd ff ff       	jmp    0x226
+ 466:	66 90                	xchg   %ax,%ax
+ 468:	89 c2                	mov    %eax,%edx
+ 46a:	81 ca 00 00 00 08    	or     $0x8000000,%edx
+ 470:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
+ 474:	0f 45 c2             	cmovne %edx,%eax
+ 477:	89 c2                	mov    %eax,%edx
+ 479:	81 ca 00 00 08 00    	or     $0x80000,%edx
+ 47f:	85 c9                	test   %ecx,%ecx
+ 481:	0f 45 c2             	cmovne %edx,%eax
+ 484:	89 c2                	mov    %eax,%edx
+ 486:	80 ce 08             	or     $0x8,%dh
+ 489:	85 f6                	test   %esi,%esi
+ 48b:	0f 45 c2             	cmovne %edx,%eax
+ 48e:	89 c2                	mov    %eax,%edx
+ 490:	83 ca 08             	or     $0x8,%edx
+ 493:	85 ff                	test   %edi,%edi
+ 495:	0f 45 c2             	cmovne %edx,%eax
+ 498:	e9 01 fd ff ff       	jmp    0x19e
+ 49d:	89 c2                	mov    %eax,%edx
+ 49f:	81 ca 00 00 00 02    	or     $0x2000000,%edx
+ 4a5:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
+ 4a9:	0f 45 c2             	cmovne %edx,%eax
+ 4ac:	89 c2                	mov    %eax,%edx
+ 4ae:	81 ca 00 00 02 00    	or     $0x20000,%edx
+ 4b4:	85 c9                	test   %ecx,%ecx
+ 4b6:	0f 45 c2             	cmovne %edx,%eax
+ 4b9:	89 c2                	mov    %eax,%edx
+ 4bb:	80 ce 02             	or     $0x2,%dh
+ 4be:	85 f6                	test   %esi,%esi
+ 4c0:	0f 45 c2             	cmovne %edx,%eax
+ 4c3:	89 c2                	mov    %eax,%edx
+ 4c5:	83 ca 02             	or     $0x2,%edx
+ 4c8:	85 ff                	test   %edi,%edi
+ 4ca:	0f 45 c2             	cmovne %edx,%eax
+ 4cd:	e9 04 fe ff ff       	jmp    0x2d6
+ 4d2:	84 d2                	test   %dl,%dl
+ 4d4:	0f 84 d7 fc ff ff    	je     0x1b1
+ 4da:	31 ff                	xor    %edi,%edi
+ 4dc:	31 f6                	xor    %esi,%esi
+ 4de:	31 c9                	xor    %ecx,%ecx
+ 4e0:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
+ 4e7:	e9 eb fb ff ff       	jmp    0xd7
+ 4ec:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+ 4f0:	55                   	push   %ebp
+ 4f1:	89 e5                	mov    %esp,%ebp
+ 4f3:	56                   	push   %esi
+ 4f4:	be 01 01 0f 00       	mov    $0xf0101,%esi
+ 4f9:	53                   	push   %ebx
+ 4fa:	83 ec 08             	sub    $0x8,%esp
+ 4fd:	8b 45 0c             	mov    0xc(%ebp),%eax
+ 500:	8b 5d 08             	mov    0x8(%ebp),%ebx
+ 503:	85 c0                	test   %eax,%eax
+ 505:	0f 45 f0             	cmovne %eax,%esi
+ 508:	85 db                	test   %ebx,%ebx
+ 50a:	74 24                	je     0x530
+ 50c:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
+ 513:	00 
+ 514:	89 1c 24             	mov    %ebx,(%esp)
+ 517:	e8 fc ff ff ff       	call   0x518
+ 51c:	85 c0                	test   %eax,%eax
+ 51e:	74 10                	je     0x530
+ 520:	83 c4 08             	add    $0x8,%esp
+ 523:	89 f2                	mov    %esi,%edx
+ 525:	89 d8                	mov    %ebx,%eax
+ 527:	5b                   	pop    %ebx
+ 528:	5e                   	pop    %esi
+ 529:	5d                   	pop    %ebp
+ 52a:	e9 d1 fa ff ff       	jmp    0x0
+ 52f:	90                   	nop
+ 530:	c7 04 24 08 00 00 00 	movl   $0x8,(%esp)
+ 537:	e8 fc ff ff ff       	call   0x538
+ 53c:	85 c0                	test   %eax,%eax
+ 53e:	89 c3                	mov    %eax,%ebx
+ 540:	74 14                	je     0x556
+ 542:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
+ 549:	00 
+ 54a:	89 04 24             	mov    %eax,(%esp)
+ 54d:	e8 fc ff ff ff       	call   0x54e
+ 552:	85 c0                	test   %eax,%eax
+ 554:	75 ca                	jne    0x520
+ 556:	83 c4 08             	add    $0x8,%esp
+ 559:	89 f0                	mov    %esi,%eax
+ 55b:	5b                   	pop    %ebx
+ 55c:	5e                   	pop    %esi
+ 55d:	5d                   	pop    %ebp
+ 55e:	c3                   	ret    
+ 55f:	90                   	nop
+ 560:	55                   	push   %ebp
+ 561:	89 e5                	mov    %esp,%ebp
+ 563:	57                   	push   %edi
+ 564:	56                   	push   %esi
+ 565:	53                   	push   %ebx
+ 566:	89 c3                	mov    %eax,%ebx
+ 568:	83 ec 0c             	sub    $0xc,%esp
+ 56b:	89 04 24             	mov    %eax,(%esp)
+ 56e:	e8 fc ff ff ff       	call   0x56f
+ 573:	83 c0 13             	add    $0x13,%eax
+ 576:	83 e0 fc             	and    $0xfffffffc,%eax
+ 579:	29 c4                	sub    %eax,%esp
+ 57b:	c7 44 24 04 15 00 00 	movl   $0x15,0x4(%esp)
+ 582:	00 
+ 583:	8d 74 24 1b          	lea    0x1b(%esp),%esi
+ 587:	89 1c 24             	mov    %ebx,(%esp)
+ 58a:	83 e6 f0             	and    $0xfffffff0,%esi
+ 58d:	e8 fc ff ff ff       	call   0x58e
+ 592:	85 c0                	test   %eax,%eax
+ 594:	0f 84 2e 01 00 00    	je     0x6c8
+ 59a:	0f b6 50 04          	movzbl 0x4(%eax),%edx
+ 59e:	8d 48 04             	lea    0x4(%eax),%ecx
+ 5a1:	84 d2                	test   %dl,%dl
+ 5a3:	0f 84 1f 01 00 00    	je     0x6c8
+ 5a9:	80 fa 3a             	cmp    $0x3a,%dl
+ 5ac:	0f 84 16 01 00 00    	je     0x6c8
+ 5b2:	31 db                	xor    %ebx,%ebx
+ 5b4:	eb 06                	jmp    0x5bc
+ 5b6:	66 90                	xchg   %ax,%ax
+ 5b8:	84 d2                	test   %dl,%dl
+ 5ba:	74 0d                	je     0x5c9
+ 5bc:	83 c3 01             	add    $0x1,%ebx
+ 5bf:	0f b6 54 18 04       	movzbl 0x4(%eax,%ebx,1),%edx
+ 5c4:	80 fa 3a             	cmp    $0x3a,%dl
+ 5c7:	75 ef                	jne    0x5b8
+ 5c9:	89 5c 24 08          	mov    %ebx,0x8(%esp)
+ 5cd:	89 4c 24 04          	mov    %ecx,0x4(%esp)
+ 5d1:	89 34 24             	mov    %esi,(%esp)
+ 5d4:	e8 fc ff ff ff       	call   0x5d5
+ 5d9:	c6 04 1e 00          	movb   $0x0,(%esi,%ebx,1)
+ 5dd:	31 db                	xor    %ebx,%ebx
+ 5df:	c7 44 24 04 64 00 00 	movl   $0x64,0x4(%esp)
+ 5e6:	00 
+ 5e7:	89 34 24             	mov    %esi,(%esp)
+ 5ea:	e8 fc ff ff ff       	call   0x5eb
+ 5ef:	85 c0                	test   %eax,%eax
+ 5f1:	74 26                	je     0x619
+ 5f3:	c6 00 00             	movb   $0x0,(%eax)
+ 5f6:	8d 78 01             	lea    0x1(%eax),%edi
+ 5f9:	89 34 24             	mov    %esi,(%esp)
+ 5fc:	89 fe                	mov    %edi,%esi
+ 5fe:	c7 44 24 08 0a 00 00 	movl   $0xa,0x8(%esp)
+ 605:	00 
+ 606:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
+ 60d:	00 
+ 60e:	e8 fc ff ff ff       	call   0x60f
+ 613:	69 d8 80 51 01 00    	imul   $0x15180,%eax,%ebx
+ 619:	c7 44 24 04 68 00 00 	movl   $0x68,0x4(%esp)
+ 620:	00 
+ 621:	89 34 24             	mov    %esi,(%esp)
+ 624:	e8 fc ff ff ff       	call   0x625
+ 629:	85 c0                	test   %eax,%eax
+ 62b:	74 28                	je     0x655
+ 62d:	c6 00 00             	movb   $0x0,(%eax)
+ 630:	8d 78 01             	lea    0x1(%eax),%edi
+ 633:	89 34 24             	mov    %esi,(%esp)
+ 636:	89 fe                	mov    %edi,%esi
+ 638:	c7 44 24 08 0a 00 00 	movl   $0xa,0x8(%esp)
+ 63f:	00 
+ 640:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
+ 647:	00 
+ 648:	e8 fc ff ff ff       	call   0x649
+ 64d:	69 c0 10 0e 00 00    	imul   $0xe10,%eax,%eax
+ 653:	01 c3                	add    %eax,%ebx
+ 655:	c7 44 24 04 6d 00 00 	movl   $0x6d,0x4(%esp)
+ 65c:	00 
+ 65d:	89 34 24             	mov    %esi,(%esp)
+ 660:	e8 fc ff ff ff       	call   0x661
+ 665:	85 c0                	test   %eax,%eax
+ 667:	74 25                	je     0x68e
+ 669:	c6 00 00             	movb   $0x0,(%eax)
+ 66c:	8d 78 01             	lea    0x1(%eax),%edi
+ 66f:	89 34 24             	mov    %esi,(%esp)
+ 672:	89 fe                	mov    %edi,%esi
+ 674:	c7 44 24 08 0a 00 00 	movl   $0xa,0x8(%esp)
+ 67b:	00 
+ 67c:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
+ 683:	00 
+ 684:	e8 fc ff ff ff       	call   0x685
+ 689:	6b c0 3c             	imul   $0x3c,%eax,%eax
+ 68c:	01 c3                	add    %eax,%ebx
+ 68e:	c7 44 24 04 73 00 00 	movl   $0x73,0x4(%esp)
+ 695:	00 
+ 696:	89 34 24             	mov    %esi,(%esp)
+ 699:	e8 fc ff ff ff       	call   0x69a
+ 69e:	85 c0                	test   %eax,%eax
+ 6a0:	74 03                	je     0x6a5
+ 6a2:	c6 00 00             	movb   $0x0,(%eax)
+ 6a5:	89 34 24             	mov    %esi,(%esp)
+ 6a8:	c7 44 24 08 0a 00 00 	movl   $0xa,0x8(%esp)
+ 6af:	00 
+ 6b0:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
+ 6b7:	00 
+ 6b8:	e8 fc ff ff ff       	call   0x6b9
+ 6bd:	8d 65 f4             	lea    -0xc(%ebp),%esp
+ 6c0:	01 d8                	add    %ebx,%eax
+ 6c2:	5b                   	pop    %ebx
+ 6c3:	5e                   	pop    %esi
+ 6c4:	5f                   	pop    %edi
+ 6c5:	5d                   	pop    %ebp
+ 6c6:	c3                   	ret    
+ 6c7:	90                   	nop
+ 6c8:	8d 65 f4             	lea    -0xc(%ebp),%esp
+ 6cb:	b8 c0 a8 00 00       	mov    $0xa8c0,%eax
+ 6d0:	5b                   	pop    %ebx
+ 6d1:	5e                   	pop    %esi
+ 6d2:	5f                   	pop    %edi
+ 6d3:	5d                   	pop    %ebp
+ 6d4:	c3                   	ret    
+ 6d5:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+ 6d9:	8d bc 27 00 00 00 00 	lea    0x0(%edi,%eiz,1),%edi
+ 6e0:	55                   	push   %ebp
+ 6e1:	89 e5                	mov    %esp,%ebp
+ 6e3:	53                   	push   %ebx
+ 6e4:	83 ec 08             	sub    $0x8,%esp
+ 6e7:	8b 5d 08             	mov    0x8(%ebp),%ebx
+ 6ea:	85 db                	test   %ebx,%ebx
+ 6ec:	74 22                	je     0x710
+ 6ee:	c7 44 24 04 15 00 00 	movl   $0x15,0x4(%esp)
+ 6f5:	00 
+ 6f6:	89 1c 24             	mov    %ebx,(%esp)
+ 6f9:	e8 fc ff ff ff       	call   0x6fa
+ 6fe:	85 c0                	test   %eax,%eax
+ 700:	74 0e                	je     0x710
+ 702:	83 c4 08             	add    $0x8,%esp
+ 705:	89 d8                	mov    %ebx,%eax
+ 707:	5b                   	pop    %ebx
+ 708:	5d                   	pop    %ebp
+ 709:	e9 52 fe ff ff       	jmp    0x560
+ 70e:	66 90                	xchg   %ax,%ax
+ 710:	c7 04 24 08 00 00 00 	movl   $0x8,(%esp)
+ 717:	e8 fc ff ff ff       	call   0x718
+ 71c:	85 c0                	test   %eax,%eax
+ 71e:	89 c3                	mov    %eax,%ebx
+ 720:	74 14                	je     0x736
+ 722:	c7 44 24 04 15 00 00 	movl   $0x15,0x4(%esp)
+ 729:	00 
+ 72a:	89 04 24             	mov    %eax,(%esp)
+ 72d:	e8 fc ff ff ff       	call   0x72e
+ 732:	85 c0                	test   %eax,%eax
+ 734:	75 cc                	jne    0x702
+ 736:	83 c4 08             	add    $0x8,%esp
+ 739:	b8 c0 a8 00 00       	mov    $0xa8c0,%eax
+ 73e:	5b                   	pop    %ebx
+ 73f:	5d                   	pop    %ebp
+ 740:	c3                   	ret    
+ 741:	eb 0d                	jmp    0x750
+ 743:	90                   	nop
+ 744:	90                   	nop
+ 745:	90                   	nop
+ 746:	90                   	nop
+ 747:	90                   	nop
+ 748:	90                   	nop
+ 749:	90                   	nop
+ 74a:	90                   	nop
+ 74b:	90                   	nop
+ 74c:	90                   	nop
+ 74d:	90                   	nop
+ 74e:	90                   	nop
+ 74f:	90                   	nop
+ 750:	55                   	push   %ebp
+ 751:	89 e5                	mov    %esp,%ebp
+ 753:	56                   	push   %esi
+ 754:	89 d6                	mov    %edx,%esi
+ 756:	53                   	push   %ebx
+ 757:	89 c3                	mov    %eax,%ebx
+ 759:	83 ec 10             	sub    $0x10,%esp
+ 75c:	89 14 24             	mov    %edx,(%esp)
+ 75f:	e8 fc ff ff ff       	call   0x760
+ 764:	83 f8 06             	cmp    $0x6,%eax
+ 767:	0f 85 92 00 00 00    	jne    0x7ff
+ 76d:	c7 44 24 08 06 00 00 	movl   $0x6,0x8(%esp)
+ 774:	00 
+ 775:	89 74 24 04          	mov    %esi,0x4(%esp)
+ 779:	89 1c 24             	mov    %ebx,(%esp)
+ 77c:	e8 fc ff ff ff       	call   0x77d
+ 781:	85 c0                	test   %eax,%eax
+ 783:	75 56                	jne    0x7db
+ 785:	0f b6 43 06          	movzbl 0x6(%ebx),%eax
+ 789:	8d 4b 06             	lea    0x6(%ebx),%ecx
+ 78c:	3c 3a                	cmp    $0x3a,%al
+ 78e:	74 30                	je     0x7c0
+ 790:	84 c0                	test   %al,%al
+ 792:	74 2c                	je     0x7c0
+ 794:	31 c0                	xor    %eax,%eax
+ 796:	eb 04                	jmp    0x79c
+ 798:	84 d2                	test   %dl,%dl
+ 79a:	74 0d                	je     0x7a9
+ 79c:	83 c0 01             	add    $0x1,%eax
+ 79f:	0f b6 54 03 06       	movzbl 0x6(%ebx,%eax,1),%edx
+ 7a4:	80 fa 3a             	cmp    $0x3a,%dl
+ 7a7:	75 ef                	jne    0x798
+ 7a9:	89 44 24 04          	mov    %eax,0x4(%esp)
+ 7ad:	89 0c 24             	mov    %ecx,(%esp)
+ 7b0:	e8 fc ff ff ff       	call   0x7b1
+ 7b5:	83 c4 10             	add    $0x10,%esp
+ 7b8:	5b                   	pop    %ebx
+ 7b9:	5e                   	pop    %esi
+ 7ba:	5d                   	pop    %ebp
+ 7bb:	c3                   	ret    
+ 7bc:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+ 7c0:	c7 44 24 04 01 00 00 	movl   $0x1,0x4(%esp)
+ 7c7:	00 
+ 7c8:	c7 04 24 01 00 00 00 	movl   $0x1,(%esp)
+ 7cf:	e8 fc ff ff ff       	call   0x7d0
+ 7d4:	83 c4 10             	add    $0x10,%esp
+ 7d7:	5b                   	pop    %ebx
+ 7d8:	5e                   	pop    %esi
+ 7d9:	5d                   	pop    %ebp
+ 7da:	c3                   	ret    
+ 7db:	c7 44 24 0c 4a 00 00 	movl   $0x4a,0xc(%esp)
+ 7e2:	00 
+ 7e3:	c7 44 24 08 25 00 00 	movl   $0x25,0x8(%esp)
+ 7ea:	00 
+ 7eb:	c7 44 24 04 1a 00 00 	movl   $0x1a,0x4(%esp)
  7f2:	00 
- 7f3:	c7 44 24 08 25 00 00 	movl   $0x25,0x8(%esp)
- 7fa:	00 
- 7fb:	c7 44 24 04 1a 00 00 	movl   $0x1a,0x4(%esp)
- 802:	00 
- 803:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
- 80a:	e8 fc ff ff ff       	call   0x80b
- 80f:	c7 44 24 0c 4a 00 00 	movl   $0x4a,0xc(%esp)
+ 7f3:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
+ 7fa:	e8 fc ff ff ff       	call   0x7fb
+ 7ff:	c7 44 24 0c 4a 00 00 	movl   $0x4a,0xc(%esp)
+ 806:	00 
+ 807:	c7 44 24 08 24 00 00 	movl   $0x24,0x8(%esp)
+ 80e:	00 
+ 80f:	c7 44 24 04 1a 00 00 	movl   $0x1a,0x4(%esp)
  816:	00 
- 817:	c7 44 24 08 24 00 00 	movl   $0x24,0x8(%esp)
- 81e:	00 
- 81f:	c7 44 24 04 1a 00 00 	movl   $0x1a,0x4(%esp)
- 826:	00 
- 827:	c7 04 24 29 00 00 00 	movl   $0x29,(%esp)
- 82e:	e8 fc ff ff ff       	call   0x82f
- 833:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
- 839:	8d bc 27 00 00 00 00 	lea    0x0(%edi,%eiz,1),%edi
- 840:	55                   	push   %ebp
- 841:	89 e5                	mov    %esp,%ebp
- 843:	83 ec 14             	sub    $0x14,%esp
- 846:	8b 45 08             	mov    0x8(%ebp),%eax
- 849:	89 5d f8             	mov    %ebx,-0x8(%ebp)
- 84c:	89 75 fc             	mov    %esi,-0x4(%ebp)
- 84f:	85 c0                	test   %eax,%eax
- 851:	74 7d                	je     0x8d0
- 853:	c7 44 24 04 3c 00 00 	movl   $0x3c,0x4(%esp)
- 85a:	00 
- 85b:	89 04 24             	mov    %eax,(%esp)
- 85e:	e8 fc ff ff ff       	call   0x85f
- 863:	85 c0                	test   %eax,%eax
- 865:	75 19                	jne    0x880
- 867:	e8 fc ff ff ff       	call   0x868
- 86c:	89 c6                	mov    %eax,%esi
- 86e:	89 34 24             	mov    %esi,(%esp)
- 871:	e8 fc ff ff ff       	call   0x872
- 876:	8b 5d f8             	mov    -0x8(%ebp),%ebx
- 879:	8b 75 fc             	mov    -0x4(%ebp),%esi
- 87c:	89 ec                	mov    %ebp,%esp
- 87e:	5d                   	pop    %ebp
- 87f:	c3                   	ret    
- 880:	ba 3c 00 00 00       	mov    $0x3c,%edx
- 885:	e8 d6 fe ff ff       	call   0x760
- 88a:	89 c3                	mov    %eax,%ebx
- 88c:	31 c0                	xor    %eax,%eax
- 88e:	85 db                	test   %ebx,%ebx
- 890:	74 e4                	je     0x876
- 892:	89 1c 24             	mov    %ebx,(%esp)
- 895:	e8 fc ff ff ff       	call   0x896
- 89a:	8d 50 01             	lea    0x1(%eax),%edx
- 89d:	83 c0 13             	add    $0x13,%eax
- 8a0:	83 e0 fc             	and    $0xfffffffc,%eax
- 8a3:	29 c4                	sub    %eax,%esp
- 8a5:	8d 44 24 1b          	lea    0x1b(%esp),%eax
- 8a9:	83 e0 f0             	and    $0xfffffff0,%eax
- 8ac:	89 54 24 08          	mov    %edx,0x8(%esp)
- 8b0:	89 5c 24 04          	mov    %ebx,0x4(%esp)
- 8b4:	89 04 24             	mov    %eax,(%esp)
- 8b7:	e8 fc ff ff ff       	call   0x8b8
- 8bc:	89 1c 24             	mov    %ebx,(%esp)
- 8bf:	89 c6                	mov    %eax,%esi
- 8c1:	e8 fc ff ff ff       	call   0x8c2
- 8c6:	85 f6                	test   %esi,%esi
- 8c8:	75 a4                	jne    0x86e
- 8ca:	eb 9b                	jmp    0x867
- 8cc:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
- 8d0:	c7 04 24 08 00 00 00 	movl   $0x8,(%esp)
- 8d7:	e8 fc ff ff ff       	call   0x8d8
- 8dc:	85 c0                	test   %eax,%eax
- 8de:	74 87                	je     0x867
- 8e0:	e9 6e ff ff ff       	jmp    0x853
- 8e5:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
- 8e9:	8d bc 27 00 00 00 00 	lea    0x0(%edi,%eiz,1),%edi
- 8f0:	55                   	push   %ebp
- 8f1:	89 e5                	mov    %esp,%ebp
- 8f3:	83 ec 14             	sub    $0x14,%esp
- 8f6:	8b 45 08             	mov    0x8(%ebp),%eax
- 8f9:	89 5d f8             	mov    %ebx,-0x8(%ebp)
- 8fc:	89 75 fc             	mov    %esi,-0x4(%ebp)
- 8ff:	85 c0                	test   %eax,%eax
- 901:	74 7d                	je     0x980
- 903:	c7 44 24 04 43 00 00 	movl   $0x43,0x4(%esp)
- 90a:	00 
- 90b:	89 04 24             	mov    %eax,(%esp)
- 90e:	e8 fc ff ff ff       	call   0x90f
- 913:	85 c0                	test   %eax,%eax
- 915:	75 19                	jne    0x930
- 917:	e8 fc ff ff ff       	call   0x918
- 91c:	89 c6                	mov    %eax,%esi
- 91e:	89 34 24             	mov    %esi,(%esp)
- 921:	e8 fc ff ff ff       	call   0x922
- 926:	8b 5d f8             	mov    -0x8(%ebp),%ebx
- 929:	8b 75 fc             	mov    -0x4(%ebp),%esi
- 92c:	89 ec                	mov    %ebp,%esp
- 92e:	5d                   	pop    %ebp
- 92f:	c3                   	ret    
- 930:	ba 43 00 00 00       	mov    $0x43,%edx
- 935:	e8 26 fe ff ff       	call   0x760
- 93a:	89 c3                	mov    %eax,%ebx
- 93c:	31 c0                	xor    %eax,%eax
- 93e:	85 db                	test   %ebx,%ebx
- 940:	74 e4                	je     0x926
- 942:	89 1c 24             	mov    %ebx,(%esp)
- 945:	e8 fc ff ff ff       	call   0x946
- 94a:	8d 50 01             	lea    0x1(%eax),%edx
- 94d:	83 c0 13             	add    $0x13,%eax
- 950:	83 e0 fc             	and    $0xfffffffc,%eax
- 953:	29 c4                	sub    %eax,%esp
- 955:	8d 44 24 1b          	lea    0x1b(%esp),%eax
- 959:	83 e0 f0             	and    $0xfffffff0,%eax
- 95c:	89 54 24 08          	mov    %edx,0x8(%esp)
- 960:	89 5c 24 04          	mov    %ebx,0x4(%esp)
- 964:	89 04 24             	mov    %eax,(%esp)
- 967:	e8 fc ff ff ff       	call   0x968
- 96c:	89 1c 24             	mov    %ebx,(%esp)
- 96f:	89 c6                	mov    %eax,%esi
- 971:	e8 fc ff ff ff       	call   0x972
- 976:	85 f6                	test   %esi,%esi
- 978:	75 a4                	jne    0x91e
- 97a:	eb 9b                	jmp    0x917
- 97c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
- 980:	c7 04 24 08 00 00 00 	movl   $0x8,(%esp)
- 987:	e8 fc ff ff ff       	call   0x988
- 98c:	85 c0                	test   %eax,%eax
- 98e:	74 87                	je     0x917
- 990:	e9 6e ff ff ff       	jmp    0x903
+ 817:	c7 04 24 29 00 00 00 	movl   $0x29,(%esp)
+ 81e:	e8 fc ff ff ff       	call   0x81f
+ 823:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
+ 829:	8d bc 27 00 00 00 00 	lea    0x0(%edi,%eiz,1),%edi
+ 830:	55                   	push   %ebp
+ 831:	89 e5                	mov    %esp,%ebp
+ 833:	83 ec 14             	sub    $0x14,%esp
+ 836:	8b 45 08             	mov    0x8(%ebp),%eax
+ 839:	89 5d f8             	mov    %ebx,-0x8(%ebp)
+ 83c:	89 75 fc             	mov    %esi,-0x4(%ebp)
+ 83f:	85 c0                	test   %eax,%eax
+ 841:	74 7d                	je     0x8c0
+ 843:	c7 44 24 04 3c 00 00 	movl   $0x3c,0x4(%esp)
+ 84a:	00 
+ 84b:	89 04 24             	mov    %eax,(%esp)
+ 84e:	e8 fc ff ff ff       	call   0x84f
+ 853:	85 c0                	test   %eax,%eax
+ 855:	75 19                	jne    0x870
+ 857:	e8 fc ff ff ff       	call   0x858
+ 85c:	89 c6                	mov    %eax,%esi
+ 85e:	89 34 24             	mov    %esi,(%esp)
+ 861:	e8 fc ff ff ff       	call   0x862
+ 866:	8b 5d f8             	mov    -0x8(%ebp),%ebx
+ 869:	8b 75 fc             	mov    -0x4(%ebp),%esi
+ 86c:	89 ec                	mov    %ebp,%esp
+ 86e:	5d                   	pop    %ebp
+ 86f:	c3                   	ret    
+ 870:	ba 3c 00 00 00       	mov    $0x3c,%edx
+ 875:	e8 d6 fe ff ff       	call   0x750
+ 87a:	89 c3                	mov    %eax,%ebx
+ 87c:	31 c0                	xor    %eax,%eax
+ 87e:	85 db                	test   %ebx,%ebx
+ 880:	74 e4                	je     0x866
+ 882:	89 1c 24             	mov    %ebx,(%esp)
+ 885:	e8 fc ff ff ff       	call   0x886
+ 88a:	8d 50 01             	lea    0x1(%eax),%edx
+ 88d:	83 c0 13             	add    $0x13,%eax
+ 890:	83 e0 fc             	and    $0xfffffffc,%eax
+ 893:	29 c4                	sub    %eax,%esp
+ 895:	8d 44 24 1b          	lea    0x1b(%esp),%eax
+ 899:	83 e0 f0             	and    $0xfffffff0,%eax
+ 89c:	89 54 24 08          	mov    %edx,0x8(%esp)
+ 8a0:	89 5c 24 04          	mov    %ebx,0x4(%esp)
+ 8a4:	89 04 24             	mov    %eax,(%esp)
+ 8a7:	e8 fc ff ff ff       	call   0x8a8
+ 8ac:	89 1c 24             	mov    %ebx,(%esp)
+ 8af:	89 c6                	mov    %eax,%esi
+ 8b1:	e8 fc ff ff ff       	call   0x8b2
+ 8b6:	85 f6                	test   %esi,%esi
+ 8b8:	75 a4                	jne    0x85e
+ 8ba:	eb 9b                	jmp    0x857
+ 8bc:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+ 8c0:	c7 04 24 08 00 00 00 	movl   $0x8,(%esp)
+ 8c7:	e8 fc ff ff ff       	call   0x8c8
+ 8cc:	85 c0                	test   %eax,%eax
+ 8ce:	74 87                	je     0x857
+ 8d0:	e9 6e ff ff ff       	jmp    0x843
+ 8d5:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+ 8d9:	8d bc 27 00 00 00 00 	lea    0x0(%edi,%eiz,1),%edi
+ 8e0:	55                   	push   %ebp
+ 8e1:	89 e5                	mov    %esp,%ebp
+ 8e3:	83 ec 14             	sub    $0x14,%esp
+ 8e6:	8b 45 08             	mov    0x8(%ebp),%eax
+ 8e9:	89 5d f8             	mov    %ebx,-0x8(%ebp)
+ 8ec:	89 75 fc             	mov    %esi,-0x4(%ebp)
+ 8ef:	85 c0                	test   %eax,%eax
+ 8f1:	74 7d                	je     0x970
+ 8f3:	c7 44 24 04 43 00 00 	movl   $0x43,0x4(%esp)
+ 8fa:	00 
+ 8fb:	89 04 24             	mov    %eax,(%esp)
+ 8fe:	e8 fc ff ff ff       	call   0x8ff
+ 903:	85 c0                	test   %eax,%eax
+ 905:	75 19                	jne    0x920
+ 907:	e8 fc ff ff ff       	call   0x908
+ 90c:	89 c6                	mov    %eax,%esi
+ 90e:	89 34 24             	mov    %esi,(%esp)
+ 911:	e8 fc ff ff ff       	call   0x912
+ 916:	8b 5d f8             	mov    -0x8(%ebp),%ebx
+ 919:	8b 75 fc             	mov    -0x4(%ebp),%esi
+ 91c:	89 ec                	mov    %ebp,%esp
+ 91e:	5d                   	pop    %ebp
+ 91f:	c3                   	ret    
+ 920:	ba 43 00 00 00       	mov    $0x43,%edx
+ 925:	e8 26 fe ff ff       	call   0x750
+ 92a:	89 c3                	mov    %eax,%ebx
+ 92c:	31 c0                	xor    %eax,%eax
+ 92e:	85 db                	test   %ebx,%ebx
+ 930:	74 e4                	je     0x916
+ 932:	89 1c 24             	mov    %ebx,(%esp)
+ 935:	e8 fc ff ff ff       	call   0x936
+ 93a:	8d 50 01             	lea    0x1(%eax),%edx
+ 93d:	83 c0 13             	add    $0x13,%eax
+ 940:	83 e0 fc             	and    $0xfffffffc,%eax
+ 943:	29 c4                	sub    %eax,%esp
+ 945:	8d 44 24 1b          	lea    0x1b(%esp),%eax
+ 949:	83 e0 f0             	and    $0xfffffff0,%eax
+ 94c:	89 54 24 08          	mov    %edx,0x8(%esp)
+ 950:	89 5c 24 04          	mov    %ebx,0x4(%esp)
+ 954:	89 04 24             	mov    %eax,(%esp)
+ 957:	e8 fc ff ff ff       	call   0x958
+ 95c:	89 1c 24             	mov    %ebx,(%esp)
+ 95f:	89 c6                	mov    %eax,%esi
+ 961:	e8 fc ff ff ff       	call   0x962
+ 966:	85 f6                	test   %esi,%esi
+ 968:	75 a4                	jne    0x90e
+ 96a:	eb 9b                	jmp    0x907
+ 96c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+ 970:	c7 04 24 08 00 00 00 	movl   $0x8,(%esp)
+ 977:	e8 fc ff ff ff       	call   0x978
+ 97c:	85 c0                	test   %eax,%eax
+ 97e:	74 87                	je     0x907
+ 980:	e9 6e ff ff ff       	jmp    0x8f3
--- /dev/fd/63	2012-05-05 15:41:47.000000000 +0200
+++ /dev/fd/62	2012-05-05 15:41:47.000000000 +0200
@@ -1,5 +1,5 @@
 
-../build-tree.good/kfreebsd-amd64-i386/string/strcasestr.o:     file format elf32-i386-freebsd
+build-tree/kfreebsd-amd64-i386/string/strcasestr.o:     file format elf32-i386-freebsd
 
 
 Disassembly of section .text:
@@ -42,34 +42,34 @@
       6d:	8b 7d e8             	mov    -0x18(%ebp),%edi
       70:	01 c7                	add    %eax,%edi
       72:	89 7d ec             	mov    %edi,-0x14(%ebp)
-      75:	0f b6 1f             	movzbl (%edi),%ebx
-      78:	0f b6 cb             	movzbl %bl,%ecx
-      7b:	f6 44 4a 01 01       	testb  $0x1,0x1(%edx,%ecx,2)
+      75:	0f b6 0f             	movzbl (%edi),%ecx
+      78:	0f b6 d9             	movzbl %cl,%ebx
+      7b:	f6 44 5a 01 01       	testb  $0x1,0x1(%edx,%ebx,2)
       80:	74 15                	je     0x97
-      82:	8b 1d 00 00 00 00    	mov    0x0,%ebx
-      88:	65 8b 3b             	mov    %gs:(%ebx),%edi
+      82:	8b 0d 00 00 00 00    	mov    0x0,%ecx
+      88:	65 8b 39             	mov    %gs:(%ecx),%edi
       8b:	85 ff                	test   %edi,%edi
       8d:	0f 84 25 02 00 00    	je     0x2b8
-      93:	0f b6 1c 8f          	movzbl (%edi,%ecx,4),%ebx
+      93:	0f b6 0c 9f          	movzbl (%edi,%ebx,4),%ecx
       97:	85 d2                	test   %edx,%edx
       99:	0f 84 de 01 00 00    	je     0x27d
-      9f:	8b 4d dc             	mov    -0x24(%ebp),%ecx
-      a2:	8d 3c 0e             	lea    (%esi,%ecx,1),%edi
+      9f:	8b 5d dc             	mov    -0x24(%ebp),%ebx
+      a2:	8d 3c 1e             	lea    (%esi,%ebx,1),%edi
       a5:	03 7d e8             	add    -0x18(%ebp),%edi
       a8:	89 7d ec             	mov    %edi,-0x14(%ebp)
-      ab:	0f b6 0f             	movzbl (%edi),%ecx
-      ae:	0f b6 f9             	movzbl %cl,%edi
+      ab:	0f b6 1f             	movzbl (%edi),%ebx
+      ae:	0f b6 fb             	movzbl %bl,%edi
       b1:	f6 44 7a 01 01       	testb  $0x1,0x1(%edx,%edi,2)
       b6:	89 7d f0             	mov    %edi,-0x10(%ebp)
       b9:	74 18                	je     0xd3
-      bb:	8b 0d 00 00 00 00    	mov    0x0,%ecx
-      c1:	65 8b 11             	mov    %gs:(%ecx),%edx
+      bb:	8b 1d 00 00 00 00    	mov    0x0,%ebx
+      c1:	65 8b 13             	mov    %gs:(%ebx),%edx
       c4:	85 d2                	test   %edx,%edx
       c6:	0f 84 0e 02 00 00    	je     0x2da
       cc:	8b 7d f0             	mov    -0x10(%ebp),%edi
-      cf:	0f b6 0c ba          	movzbl (%edx,%edi,4),%ecx
+      cf:	0f b6 1c ba          	movzbl (%edx,%edi,4),%ebx
       d3:	38 cb                	cmp    %cl,%bl
-      d5:	0f 82 5d ff ff ff    	jb     0x38
+      d5:	0f 87 5d ff ff ff    	ja     0x38
       db:	74 23                	je     0x100
       dd:	8b 45 e4             	mov    -0x1c(%ebp),%eax
       e0:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
@@ -191,12 +191,12 @@
      26f:	81 c2 00 01 00 00    	add    $0x100,%edx
      275:	65 89 11             	mov    %edx,%gs:(%ecx)
      278:	e9 f0 fe ff ff       	jmp    0x16d
-     27d:	8b 7d cc             	mov    -0x34(%ebp),%edi
-     280:	8b 4d f0             	mov    -0x10(%ebp),%ecx
-     283:	8b 17                	mov    (%edi),%edx
+     27d:	8b 5d cc             	mov    -0x34(%ebp),%ebx
+     280:	8b 7d f0             	mov    -0x10(%ebp),%edi
+     283:	8b 13                	mov    (%ebx),%edx
      285:	8b 52 28             	mov    0x28(%edx),%edx
      288:	81 c2 00 01 00 00    	add    $0x100,%edx
-     28e:	65 89 11             	mov    %edx,%gs:(%ecx)
+     28e:	65 89 17             	mov    %edx,%gs:(%edi)
      291:	e9 09 fe ff ff       	jmp    0x9f
      296:	8b 7d cc             	mov    -0x34(%ebp),%edi
      299:	8b 0f                	mov    (%edi),%ecx
@@ -207,23 +207,23 @@
      2ad:	65 89 39             	mov    %edi,%gs:(%ecx)
      2b0:	0f b6 0b             	movzbl (%ebx),%ecx
      2b3:	e9 db fe ff ff       	jmp    0x193
-     2b8:	8b 7d cc             	mov    -0x34(%ebp),%edi
-     2bb:	8b 0f                	mov    (%edi),%ecx
-     2bd:	8b 59 34             	mov    0x34(%ecx),%ebx
-     2c0:	8b 0d 00 00 00 00    	mov    0x0,%ecx
-     2c6:	8d bb 00 02 00 00    	lea    0x200(%ebx),%edi
-     2cc:	8b 5d ec             	mov    -0x14(%ebp),%ebx
-     2cf:	65 89 39             	mov    %edi,%gs:(%ecx)
-     2d2:	0f b6 0b             	movzbl (%ebx),%ecx
+     2b8:	8b 5d cc             	mov    -0x34(%ebp),%ebx
+     2bb:	8b 0b                	mov    (%ebx),%ecx
+     2bd:	8b 49 34             	mov    0x34(%ecx),%ecx
+     2c0:	8d b9 00 02 00 00    	lea    0x200(%ecx),%edi
+     2c6:	8b 0d 00 00 00 00    	mov    0x0,%ecx
+     2cc:	65 89 39             	mov    %edi,%gs:(%ecx)
+     2cf:	8b 4d ec             	mov    -0x14(%ebp),%ecx
+     2d2:	0f b6 19             	movzbl (%ecx),%ebx
      2d5:	e9 b9 fd ff ff       	jmp    0x93
      2da:	8b 7d cc             	mov    -0x34(%ebp),%edi
      2dd:	8b 17                	mov    (%edi),%edx
      2df:	8b 52 34             	mov    0x34(%edx),%edx
      2e2:	81 c2 00 02 00 00    	add    $0x200,%edx
-     2e8:	65 89 11             	mov    %edx,%gs:(%ecx)
-     2eb:	8b 4d ec             	mov    -0x14(%ebp),%ecx
-     2ee:	0f b6 09             	movzbl (%ecx),%ecx
-     2f1:	89 4d f0             	mov    %ecx,-0x10(%ebp)
+     2e8:	65 89 13             	mov    %edx,%gs:(%ebx)
+     2eb:	8b 5d ec             	mov    -0x14(%ebp),%ebx
+     2ee:	0f b6 1b             	movzbl (%ebx),%ebx
+     2f1:	89 5d f0             	mov    %ebx,-0x10(%ebp)
      2f4:	e9 d3 fd ff ff       	jmp    0xcc
      2f9:	8b 7d cc             	mov    -0x34(%ebp),%edi
      2fc:	8b 17                	mov    (%edi),%edx
@@ -407,8 +407,8 @@
      5e9:	8b 95 ec fb ff ff    	mov    -0x414(%ebp),%edx
      5ef:	39 95 b8 fb ff ff    	cmp    %edx,-0x448(%ebp)
      5f5:	0f 84 5d ff ff ff    	je     0x558
-     5fb:	3b 8d e4 fb ff ff    	cmp    -0x41c(%ebp),%ecx
-     601:	0f 82 73 01 00 00    	jb     0x77a
+     5fb:	39 8d e4 fb ff ff    	cmp    %ecx,-0x41c(%ebp)
+     601:	0f 87 73 01 00 00    	ja     0x77a
      607:	8b 95 dc fb ff ff    	mov    -0x424(%ebp),%edx
      60d:	39 95 e8 fb ff ff    	cmp    %edx,-0x418(%ebp)
      613:	0f 83 f7 00 00 00    	jae    0x710
--- /dev/fd/63	2012-05-05 15:41:47.000000000 +0200
+++ /dev/fd/62	2012-05-05 15:41:47.000000000 +0200
@@ -1,5 +1,5 @@
 
-../build-tree.good/kfreebsd-amd64-i386/time/strftime_l.o:     file format elf32-i386-freebsd
+build-tree/kfreebsd-amd64-i386/time/strftime_l.o:     file format elf32-i386-freebsd
 
 
 Disassembly of section .text:
@@ -51,9 +51,9 @@
       85:	0f 84 55 02 00 00    	je     0x2e0
       8b:	80 fa 25             	cmp    $0x25,%dl
       8e:	75 c8                	jne    0x58
-      90:	c7 45 a4 00 00 00 00 	movl   $0x0,-0x5c(%ebp)
+      90:	c7 45 a0 00 00 00 00 	movl   $0x0,-0x60(%ebp)
       97:	31 ff                	xor    %edi,%edi
-      99:	c7 45 a0 00 00 00 00 	movl   $0x0,-0x60(%ebp)
+      99:	c7 45 a4 00 00 00 00 	movl   $0x0,-0x5c(%ebp)
       a0:	0f b6 46 01          	movzbl 0x1(%esi),%eax
       a4:	8d 5e 01             	lea    0x1(%esi),%ebx
       a7:	3c 30                	cmp    $0x30,%al
--- /dev/fd/63	2012-05-05 15:41:47.000000000 +0200
+++ /dev/fd/62	2012-05-05 15:41:47.000000000 +0200
@@ -1,5 +1,5 @@
 
-../build-tree.good/kfreebsd-amd64-i386/stdlib/strtof_l.o:     file format elf32-i386-freebsd
+build-tree/kfreebsd-amd64-i386/stdlib/strtof_l.o:     file format elf32-i386-freebsd
 
 
 Disassembly of section .text:
@@ -330,7 +330,7 @@
      3df:	8b 55 14             	mov    0x14(%ebp),%edx
      3e2:	85 db                	test   %ebx,%ebx
      3e4:	8b 42 04             	mov    0x4(%edx),%eax
-     3e7:	0f 85 91 19 00 00    	jne    0x1d7e
+     3e7:	0f 85 81 19 00 00    	jne    0x1d6e
      3ed:	c7 45 80 00 00 00 00 	movl   $0x0,-0x80(%ebp)
      3f4:	c7 85 7c ff ff ff 00 	movl   $0x0,-0x84(%ebp)
      3fb:	00 00 00 
@@ -350,23 +350,23 @@
      431:	f6 44 41 01 20       	testb  $0x20,0x1(%ecx,%eax,2)
      436:	75 f0                	jne    0x428
      438:	80 fa 2d             	cmp    $0x2d,%dl
-     43b:	0f 84 d7 08 00 00    	je     0xd18
+     43b:	0f 84 cf 08 00 00    	je     0xd10
      441:	80 fa 2b             	cmp    $0x2b,%dl
      444:	c7 85 74 ff ff ff 00 	movl   $0x0,-0x8c(%ebp)
      44b:	00 00 00 
-     44e:	0f 84 dc 08 00 00    	je     0xd30
+     44e:	0f 84 d4 08 00 00    	je     0xd28
      454:	0f b6 03             	movzbl (%ebx),%eax
      457:	84 c0                	test   %al,%al
      459:	88 45 98             	mov    %al,-0x68(%ebp)
-     45c:	0f 84 5e 10 00 00    	je     0x14c0
+     45c:	0f 84 4e 10 00 00    	je     0x14b0
      462:	0f b6 4d 98          	movzbl -0x68(%ebp),%ecx
      466:	31 c0                	xor    %eax,%eax
      468:	3a 0e                	cmp    (%esi),%cl
      46a:	74 15                	je     0x481
-     46c:	e9 d7 07 00 00       	jmp    0xc48
+     46c:	e9 cf 07 00 00       	jmp    0xc40
      471:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
      478:	3a 0c 06             	cmp    (%esi,%eax,1),%cl
-     47b:	0f 85 c7 07 00 00    	jne    0xc48
+     47b:	0f 85 bf 07 00 00    	jne    0xc40
      481:	83 c0 01             	add    $0x1,%eax
      484:	0f b6 0c 03          	movzbl (%ebx,%eax,1),%ecx
      488:	89 c7                	mov    %eax,%edi
@@ -374,18 +374,18 @@
      48c:	75 ea                	jne    0x478
      48e:	0f b6 04 3e          	movzbl (%esi,%edi,1),%eax
      492:	3c 2f                	cmp    $0x2f,%al
-     494:	0f 8e ae 07 00 00    	jle    0xc48
+     494:	0f 8e a6 07 00 00    	jle    0xc40
      49a:	3c 39                	cmp    $0x39,%al
-     49c:	0f 8f a6 07 00 00    	jg     0xc48
+     49c:	0f 8f 9e 07 00 00    	jg     0xc40
      4a2:	80 fa 30             	cmp    $0x30,%dl
-     4a5:	0f 84 95 08 00 00    	je     0xd40
+     4a5:	0f 84 8d 08 00 00    	je     0xd38
      4ab:	8b 7d 14             	mov    0x14(%ebp),%edi
      4ae:	c7 45 90 0a 00 00 00 	movl   $0xa,-0x70(%ebp)
      4b5:	8b 7f 38             	mov    0x38(%edi),%edi
      4b8:	89 7d 94             	mov    %edi,-0x6c(%ebp)
      4bb:	8b bd 7c ff ff ff    	mov    -0x84(%ebp),%edi
      4c1:	85 ff                	test   %edi,%edi
-     4c3:	0f 85 85 17 00 00    	jne    0x1c4e
+     4c3:	0f 85 75 17 00 00    	jne    0x1c3e
      4c9:	80 fa 30             	cmp    $0x30,%dl
      4cc:	89 f7                	mov    %esi,%edi
      4ce:	75 0b                	jne    0x4db
@@ -404,35 +404,35 @@
      4f2:	83 7d 90 10          	cmpl   $0x10,-0x70(%ebp)
      4f6:	0f 95 45 9c          	setne  -0x64(%ebp)
      4fa:	3c 60                	cmp    $0x60,%al
-     4fc:	0f 8f 7e 08 00 00    	jg     0xd80
+     4fc:	0f 8f 76 08 00 00    	jg     0xd78
      502:	80 7d 98 00          	cmpb   $0x0,-0x68(%ebp)
-     506:	0f 84 98 07 00 00    	je     0xca4
+     506:	0f 84 90 07 00 00    	je     0xc9c
      50c:	0f b6 4d 98          	movzbl -0x68(%ebp),%ecx
      510:	31 c0                	xor    %eax,%eax
      512:	3a 0f                	cmp    (%edi),%cl
-     514:	0f 84 7f 07 00 00    	je     0xc99
+     514:	0f 84 77 07 00 00    	je     0xc91
      51a:	80 7d 9c 00          	cmpb   $0x0,-0x64(%ebp)
-     51e:	0f 84 fb 13 00 00    	je     0x191f
+     51e:	0f 84 eb 13 00 00    	je     0x190f
      524:	83 7d 90 10          	cmpl   $0x10,-0x70(%ebp)
      528:	0f 94 c1             	sete   %cl
      52b:	80 7d a0 65          	cmpb   $0x65,-0x60(%ebp)
-     52f:	0f 85 80 08 00 00    	jne    0xdb5
+     52f:	0f 85 78 08 00 00    	jne    0xdad
      535:	84 c9                	test   %cl,%cl
-     537:	0f 85 78 08 00 00    	jne    0xdb5
+     537:	0f 85 70 08 00 00    	jne    0xdad
      53d:	8d 76 00             	lea    0x0(%esi),%esi
      540:	89 7d a0             	mov    %edi,-0x60(%ebp)
      543:	c7 45 9c 00 00 00 00 	movl   $0x0,-0x64(%ebp)
      54a:	8d 42 d0             	lea    -0x30(%edx),%eax
      54d:	3c 09                	cmp    $0x9,%al
-     54f:	0f 86 ab 07 00 00    	jbe    0xd00
+     54f:	0f 86 a3 07 00 00    	jbe    0xcf8
      555:	83 7d 90 10          	cmpl   $0x10,-0x70(%ebp)
-     559:	0f 84 89 07 00 00    	je     0xce8
+     559:	0f 84 81 07 00 00    	je     0xce0
      55f:	8b 8d 7c ff ff ff    	mov    -0x84(%ebp),%ecx
      565:	85 c9                	test   %ecx,%ecx
-     567:	0f 85 e2 17 00 00    	jne    0x1d4f
+     567:	0f 85 d2 17 00 00    	jne    0x1d3f
      56d:	8b 4d a0             	mov    -0x60(%ebp),%ecx
      570:	39 ce                	cmp    %ecx,%esi
-     572:	0f 82 e0 08 00 00    	jb     0xe58
+     572:	0f 82 d8 08 00 00    	jb     0xe50
      578:	83 7d 9c 01          	cmpl   $0x1,-0x64(%ebp)
      57c:	19 c0                	sbb    %eax,%eax
      57e:	80 7d 98 00          	cmpb   $0x0,-0x68(%ebp)
@@ -442,13 +442,13 @@
      58a:	0f b6 45 98          	movzbl -0x68(%ebp),%eax
      58e:	c7 45 8c 00 00 00 00 	movl   $0x0,-0x74(%ebp)
      595:	38 06                	cmp    %al,(%esi)
-     597:	0f 85 86 08 00 00    	jne    0xe23
+     597:	0f 85 7e 08 00 00    	jne    0xe1b
      59d:	8b 45 8c             	mov    -0x74(%ebp),%eax
      5a0:	89 4d 98             	mov    %ecx,-0x68(%ebp)
      5a3:	8b 75 a0             	mov    -0x60(%ebp),%esi
      5a6:	eb 09                	jmp    0x5b1
      5a8:	3a 0c 06             	cmp    (%esi,%eax,1),%cl
-     5ab:	0f 85 6f 08 00 00    	jne    0xe20
+     5ab:	0f 85 67 08 00 00    	jne    0xe18
      5b1:	83 c0 01             	add    $0x1,%eax
      5b4:	0f b6 0c 03          	movzbl (%ebx,%eax,1),%ecx
      5b8:	84 c9                	test   %cl,%cl
@@ -459,1791 +459,1787 @@
      5c4:	03 8d 78 ff ff ff    	add    -0x88(%ebp),%ecx
      5ca:	0f b6 01             	movzbl (%ecx),%eax
      5cd:	89 7d 80             	mov    %edi,-0x80(%ebp)
-     5d0:	89 f7                	mov    %esi,%edi
-     5d2:	89 9d 70 ff ff ff    	mov    %ebx,-0x90(%ebp)
-     5d8:	eb 39                	jmp    0x613
-     5da:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
+     5d0:	8b 7d 88             	mov    -0x78(%ebp),%edi
+     5d3:	89 75 98             	mov    %esi,-0x68(%ebp)
+     5d6:	89 9d 70 ff ff ff    	mov    %ebx,-0x90(%ebp)
+     5dc:	eb 2f                	jmp    0x60d
+     5de:	66 90                	xchg   %ax,%ax
      5e0:	8b 5d 94             	mov    -0x6c(%ebp),%ebx
      5e3:	0f be f0             	movsbl %al,%esi
      5e6:	0f b6 34 b3          	movzbl (%ebx,%esi,4),%esi
      5ea:	8d 5e 9f             	lea    -0x61(%esi),%ebx
      5ed:	80 fb 05             	cmp    $0x5,%bl
-     5f0:	0f 87 09 09 00 00    	ja     0xeff
-     5f6:	83 7d 88 ff          	cmpl   $0xffffffff,-0x78(%ebp)
-     5fa:	75 0b                	jne    0x607
-     5fc:	8b 5d 88             	mov    -0x78(%ebp),%ebx
-     5ff:	3c 30                	cmp    $0x30,%al
-     601:	0f 45 da             	cmovne %edx,%ebx
-     604:	89 5d 88             	mov    %ebx,-0x78(%ebp)
-     607:	83 c1 01             	add    $0x1,%ecx
-     60a:	83 c7 01             	add    $0x1,%edi
-     60d:	0f b6 01             	movzbl (%ecx),%eax
-     610:	83 c2 01             	add    $0x1,%edx
-     613:	8d 70 d0             	lea    -0x30(%eax),%esi
-     616:	89 f3                	mov    %esi,%ebx
-     618:	80 fb 09             	cmp    $0x9,%bl
-     61b:	76 d9                	jbe    0x5f6
-     61d:	83 7d 90 10          	cmpl   $0x10,-0x70(%ebp)
-     621:	74 bd                	je     0x5e0
-     623:	8b 75 94             	mov    -0x6c(%ebp),%esi
-     626:	0f be c0             	movsbl %al,%eax
-     629:	89 7d 98             	mov    %edi,-0x68(%ebp)
-     62c:	8b 9d 70 ff ff ff    	mov    -0x90(%ebp),%ebx
-     632:	8b 7d 80             	mov    -0x80(%ebp),%edi
-     635:	c6 45 94 00          	movb   $0x0,-0x6c(%ebp)
-     639:	0f b6 04 86          	movzbl (%esi,%eax,4),%eax
-     63d:	3c 65                	cmp    $0x65,%al
-     63f:	0f 85 5b 07 00 00    	jne    0xda0
-     645:	83 7d 90 10          	cmpl   $0x10,-0x70(%ebp)
-     649:	0f 84 51 07 00 00    	je     0xda0
-     64f:	0f b6 51 01          	movzbl 0x1(%ecx),%edx
-     653:	8d 71 01             	lea    0x1(%ecx),%esi
-     656:	80 fa 2d             	cmp    $0x2d,%dl
-     659:	0f 84 a7 0a 00 00    	je     0x1106
-     65f:	80 fa 2b             	cmp    $0x2b,%dl
-     662:	c7 45 80 00 00 00 00 	movl   $0x0,-0x80(%ebp)
-     669:	0f 84 8c 0b 00 00    	je     0x11fb
-     66f:	8d 42 d0             	lea    -0x30(%edx),%eax
-     672:	3c 09                	cmp    $0x9,%al
-     674:	0f 87 26 07 00 00    	ja     0xda0
-     67a:	80 7d 94 00          	cmpb   $0x0,-0x6c(%ebp)
-     67e:	0f 85 52 0e 00 00    	jne    0x14d6
-     684:	8b 45 80             	mov    -0x80(%ebp),%eax
-     687:	85 c0                	test   %eax,%eax
-     689:	0f 84 e5 0c 00 00    	je     0x1374
-     68f:	8b 45 9c             	mov    -0x64(%ebp),%eax
-     692:	83 c0 3d             	add    $0x3d,%eax
-     695:	89 45 a0             	mov    %eax,-0x60(%ebp)
-     698:	8b 45 ec             	mov    -0x14(%ebp),%eax
-     69b:	89 8d 70 ff ff ff    	mov    %ecx,-0x90(%ebp)
-     6a1:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
-     6a8:	8d 04 80             	lea    (%eax,%eax,4),%eax
-     6ab:	0f be d2             	movsbl %dl,%edx
-     6ae:	8d 44 42 d0          	lea    -0x30(%edx,%eax,2),%eax
-     6b2:	39 45 a0             	cmp    %eax,-0x60(%ebp)
-     6b5:	89 45 ec             	mov    %eax,-0x14(%ebp)
-     6b8:	0f 8c 11 16 00 00    	jl     0x1ccf
-     6be:	83 c6 01             	add    $0x1,%esi
-     6c1:	0f b6 16             	movzbl (%esi),%edx
-     6c4:	8d 4a d0             	lea    -0x30(%edx),%ecx
-     6c7:	80 f9 09             	cmp    $0x9,%cl
-     6ca:	76 dc                	jbe    0x6a8
-     6cc:	8b 55 80             	mov    -0x80(%ebp),%edx
-     6cf:	8b 8d 70 ff ff ff    	mov    -0x90(%ebp),%ecx
-     6d5:	85 d2                	test   %edx,%edx
-     6d7:	74 05                	je     0x6de
-     6d9:	f7 d8                	neg    %eax
-     6db:	89 45 ec             	mov    %eax,-0x14(%ebp)
-     6de:	89 ca                	mov    %ecx,%edx
-     6e0:	89 f1                	mov    %esi,%ecx
-     6e2:	8b 75 9c             	mov    -0x64(%ebp),%esi
-     6e5:	39 75 98             	cmp    %esi,-0x68(%ebp)
-     6e8:	0f 8e c0 06 00 00    	jle    0xdae
-     6ee:	80 7a ff 30          	cmpb   $0x30,-0x1(%edx)
-     6f2:	8d 42 ff             	lea    -0x1(%edx),%eax
-     6f5:	0f 85 b3 06 00 00    	jne    0xdae
-     6fb:	8b 55 98             	mov    -0x68(%ebp),%edx
-     6fe:	eb 02                	jmp    0x702
-     700:	89 f0                	mov    %esi,%eax
-     702:	83 ea 01             	sub    $0x1,%edx
-     705:	80 78 ff 30          	cmpb   $0x30,-0x1(%eax)
-     709:	8d 70 ff             	lea    -0x1(%eax),%esi
-     70c:	74 f2                	je     0x700
-     70e:	89 55 98             	mov    %edx,-0x68(%ebp)
-     711:	8b 55 98             	mov    -0x68(%ebp),%edx
-     714:	85 d2                	test   %edx,%edx
-     716:	7e 13                	jle    0x72b
-     718:	8b 55 98             	mov    -0x68(%ebp),%edx
-     71b:	39 55 9c             	cmp    %edx,-0x64(%ebp)
-     71e:	75 0b                	jne    0x72b
-     720:	8b 75 ec             	mov    -0x14(%ebp),%esi
-     723:	85 f6                	test   %esi,%esi
-     725:	0f 88 bd 0b 00 00    	js     0x12e8
-     72b:	8b 75 0c             	mov    0xc(%ebp),%esi
-     72e:	85 f6                	test   %esi,%esi
-     730:	74 05                	je     0x737
-     732:	8b 75 0c             	mov    0xc(%ebp),%esi
-     735:	89 0e                	mov    %ecx,(%esi)
-     737:	8b 55 98             	mov    -0x68(%ebp),%edx
-     73a:	85 d2                	test   %edx,%edx
-     73c:	0f 84 be 06 00 00    	je     0xe00
-     742:	8b 45 88             	mov    -0x78(%ebp),%eax
-     745:	89 fe                	mov    %edi,%esi
-     747:	85 c0                	test   %eax,%eax
-     749:	74 79                	je     0x7c4
-     74b:	0f b6 03             	movzbl (%ebx),%eax
-     74e:	88 45 a0             	mov    %al,-0x60(%ebp)
-     751:	0f b6 53 01          	movzbl 0x1(%ebx),%edx
-     755:	0f b6 0f             	movzbl (%edi),%ecx
-     758:	88 55 94             	mov    %dl,-0x6c(%ebp)
-     75b:	90                   	nop
-     75c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-     760:	83 c7 01             	add    $0x1,%edi
-     763:	38 4d a0             	cmp    %cl,-0x60(%ebp)
-     766:	8d 77 ff             	lea    -0x1(%edi),%esi
-     769:	74 0e                	je     0x779
-     76b:	0f b6 0f             	movzbl (%edi),%ecx
-     76e:	83 c7 01             	add    $0x1,%edi
-     771:	38 4d a0             	cmp    %cl,-0x60(%ebp)
-     774:	8d 77 ff             	lea    -0x1(%edi),%esi
-     777:	75 f2                	jne    0x76b
-     779:	80 7d 94 00          	cmpb   $0x0,-0x6c(%ebp)
-     77d:	74 23                	je     0x7a2
-     77f:	0f b6 0f             	movzbl (%edi),%ecx
-     782:	b8 01 00 00 00       	mov    $0x1,%eax
-     787:	3a 4d 94             	cmp    -0x6c(%ebp),%cl
-     78a:	74 09                	je     0x795
-     78c:	eb d2                	jmp    0x760
-     78e:	66 90                	xchg   %ax,%ax
-     790:	3a 14 06             	cmp    (%esi,%eax,1),%dl
-     793:	75 cb                	jne    0x760
-     795:	83 c0 01             	add    $0x1,%eax
-     798:	0f b6 14 03          	movzbl (%ebx,%eax,1),%edx
-     79c:	84 d2                	test   %dl,%dl
-     79e:	66 90                	xchg   %ax,%ax
-     7a0:	75 ee                	jne    0x790
-     7a2:	8b 45 88             	mov    -0x78(%ebp),%eax
-     7a5:	8b 55 88             	mov    -0x78(%ebp),%edx
-     7a8:	8b 4d 88             	mov    -0x78(%ebp),%ecx
-     7ab:	c1 e0 02             	shl    $0x2,%eax
-     7ae:	83 7d 90 10          	cmpl   $0x10,-0x70(%ebp)
-     7b2:	0f 45 45 88          	cmovne -0x78(%ebp),%eax
-     7b6:	03 95 78 ff ff ff    	add    -0x88(%ebp),%edx
-     7bc:	29 45 ec             	sub    %eax,-0x14(%ebp)
-     7bf:	29 4d 98             	sub    %ecx,-0x68(%ebp)
-     7c2:	01 d6                	add    %edx,%esi
-     7c4:	83 7d 90 10          	cmpl   $0x10,-0x70(%ebp)
-     7c8:	0f 84 4b 09 00 00    	je     0x1119
-     7ce:	8b 7d ec             	mov    -0x14(%ebp),%edi
-     7d1:	85 ff                	test   %edi,%edi
-     7d3:	0f 88 ee 0c 00 00    	js     0x14c7
-     7d9:	8b 45 98             	mov    -0x68(%ebp),%eax
-     7dc:	2b 45 9c             	sub    -0x64(%ebp),%eax
-     7df:	39 f8                	cmp    %edi,%eax
-     7e1:	0f 4f c7             	cmovg  %edi,%eax
-     7e4:	8b 55 9c             	mov    -0x64(%ebp),%edx
-     7e7:	29 c7                	sub    %eax,%edi
-     7e9:	89 7d ec             	mov    %edi,-0x14(%ebp)
-     7ec:	01 c2                	add    %eax,%edx
-     7ee:	8d 04 17             	lea    (%edi,%edx,1),%eax
-     7f1:	83 f8 27             	cmp    $0x27,%eax
-     7f4:	89 55 a0             	mov    %edx,-0x60(%ebp)
-     7f7:	0f 8f c8 15 00 00    	jg     0x1dc5
-     7fd:	83 ff d4             	cmp    $0xffffffd4,%edi
-     800:	0f 8c ad 15 00 00    	jl     0x1db3
-     806:	8b 45 a0             	mov    -0x60(%ebp),%eax
-     809:	85 c0                	test   %eax,%eax
-     80b:	0f 8f ff 06 00 00    	jg     0xf10
-     811:	8d 4d e8             	lea    -0x18(%ebp),%ecx
-     814:	b8 0a 00 00 00       	mov    $0xa,%eax
-     819:	89 4d 80             	mov    %ecx,-0x80(%ebp)
-     81c:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
-     81f:	ba 08 00 00 00       	mov    $0x8,%edx
-     824:	89 4d 94             	mov    %ecx,-0x6c(%ebp)
-     827:	8d 4d ec             	lea    -0x14(%ebp),%ecx
-     82a:	89 4d 8c             	mov    %ecx,-0x74(%ebp)
-     82d:	8d 4d f0             	lea    -0x10(%ebp),%ecx
-     830:	c7 45 90 00 00 00 00 	movl   $0x0,-0x70(%ebp)
-     837:	89 8d 70 ff ff ff    	mov    %ecx,-0x90(%ebp)
-     83d:	8b 4d 98             	mov    -0x68(%ebp),%ecx
-     840:	2b 4d a0             	sub    -0x60(%ebp),%ecx
-     843:	c7 85 6c ff ff ff 00 	movl   $0x0,-0x94(%ebp)
-     84a:	00 00 00 
-     84d:	39 c1                	cmp    %eax,%ecx
-     84f:	89 4d 98             	mov    %ecx,-0x68(%ebp)
-     852:	7e 10                	jle    0x864
-     854:	83 c2 02             	add    $0x2,%edx
-     857:	89 55 98             	mov    %edx,-0x68(%ebp)
-     85a:	c7 85 6c ff ff ff 01 	movl   $0x1,-0x94(%ebp)
-     861:	00 00 00 
-     864:	8b 45 98             	mov    -0x68(%ebp),%eax
-     867:	ba 00 00 00 00       	mov    $0x0,%edx
-     86c:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
-     86f:	89 9d 68 ff ff ff    	mov    %ebx,-0x98(%ebp)
-     875:	89 b5 64 ff ff ff    	mov    %esi,-0x9c(%ebp)
-     87b:	89 d6                	mov    %edx,%esi
-     87d:	31 d2                	xor    %edx,%edx
-     87f:	29 f8                	sub    %edi,%eax
-     881:	89 c7                	mov    %eax,%edi
-     883:	89 4d 9c             	mov    %ecx,-0x64(%ebp)
-     886:	8d 45 a4             	lea    -0x5c(%ebp),%eax
-     889:	b9 01 00 00 00       	mov    $0x1,%ecx
-     88e:	c7 45 84 00 00 00 00 	movl   $0x0,-0x7c(%ebp)
-     895:	89 cb                	mov    %ecx,%ebx
-     897:	89 45 88             	mov    %eax,-0x78(%ebp)
-     89a:	89 45 a0             	mov    %eax,-0x60(%ebp)
-     89d:	eb 3f                	jmp    0x8de
-     89f:	90                   	nop
-     8a0:	8b 56 04             	mov    0x4(%esi),%edx
-     8a3:	8b 06                	mov    (%esi),%eax
-     8a5:	83 ea 02             	sub    $0x2,%edx
-     8a8:	8d 0c 95 00 00 00 00 	lea    0x0(,%edx,4),%ecx
-     8af:	8d 04 85 08 00 00 00 	lea    0x8(,%eax,4),%eax
-     8b6:	89 4c 24 08          	mov    %ecx,0x8(%esp)
-     8ba:	89 44 24 04          	mov    %eax,0x4(%esp)
-     8be:	8b 4d a0             	mov    -0x60(%ebp),%ecx
-     8c1:	89 0c 24             	mov    %ecx,(%esp)
-     8c4:	89 95 60 ff ff ff    	mov    %edx,-0xa0(%ebp)
-     8ca:	e8 fc ff ff ff       	call   0x8cb
-     8cf:	8b 95 60 ff ff ff    	mov    -0xa0(%ebp),%edx
-     8d5:	85 ff                	test   %edi,%edi
-     8d7:	74 66                	je     0x93f
-     8d9:	01 db                	add    %ebx,%ebx
-     8db:	83 c6 10             	add    $0x10,%esi
-     8de:	85 df                	test   %ebx,%edi
-     8e0:	74 f3                	je     0x8d5
-     8e2:	31 df                	xor    %ebx,%edi
-     8e4:	85 d2                	test   %edx,%edx
-     8e6:	74 b8                	je     0x8a0
-     8e8:	89 54 24 10          	mov    %edx,0x10(%esp)
-     8ec:	8b 45 a0             	mov    -0x60(%ebp),%eax
-     8ef:	89 44 24 0c          	mov    %eax,0xc(%esp)
-     8f3:	8b 46 04             	mov    0x4(%esi),%eax
-     8f6:	83 e8 02             	sub    $0x2,%eax
-     8f9:	89 44 24 08          	mov    %eax,0x8(%esp)
-     8fd:	8b 06                	mov    (%esi),%eax
-     8ff:	8d 04 85 08 00 00 00 	lea    0x8(,%eax,4),%eax
-     906:	89 44 24 04          	mov    %eax,0x4(%esp)
-     90a:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
-     90d:	89 0c 24             	mov    %ecx,(%esp)
-     910:	89 95 60 ff ff ff    	mov    %edx,-0xa0(%ebp)
-     916:	e8 fc ff ff ff       	call   0x917
-     91b:	8b 4e 04             	mov    0x4(%esi),%ecx
-     91e:	8b 95 60 ff ff ff    	mov    -0xa0(%ebp),%edx
-     924:	8d 54 0a fe          	lea    -0x2(%edx,%ecx,1),%edx
-     928:	85 c0                	test   %eax,%eax
-     92a:	75 03                	jne    0x92f
-     92c:	83 ea 01             	sub    $0x1,%edx
-     92f:	8b 45 a0             	mov    -0x60(%ebp),%eax
-     932:	85 ff                	test   %edi,%edi
-     934:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
-     937:	89 45 9c             	mov    %eax,-0x64(%ebp)
-     93a:	89 4d a0             	mov    %ecx,-0x60(%ebp)
-     93d:	75 9a                	jne    0x8d9
-     93f:	8b 7d 94             	mov    -0x6c(%ebp),%edi
-     942:	39 7d a0             	cmp    %edi,-0x60(%ebp)
-     945:	8b 9d 68 ff ff ff    	mov    -0x98(%ebp),%ebx
-     94b:	8b b5 64 ff ff ff    	mov    -0x9c(%ebp),%esi
-     951:	89 55 84             	mov    %edx,-0x7c(%ebp)
-     954:	0f 84 35 11 00 00    	je     0x1a8f
-     95a:	8b 95 7c ff ff ff    	mov    -0x84(%ebp),%edx
-     960:	89 f0                	mov    %esi,%eax
-     962:	89 54 24 10          	mov    %edx,0x10(%esp)
-     966:	8b 8d 78 ff ff ff    	mov    -0x88(%ebp),%ecx
-     96c:	89 5c 24 08          	mov    %ebx,0x8(%esp)
-     970:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
-     974:	8b 5d 8c             	mov    -0x74(%ebp),%ebx
-     977:	89 5c 24 04          	mov    %ebx,0x4(%esp)
-     97b:	8b bd 70 ff ff ff    	mov    -0x90(%ebp),%edi
-     981:	89 3c 24             	mov    %edi,(%esp)
-     984:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
-     987:	8b 55 98             	mov    -0x68(%ebp),%edx
-     98a:	e8 71 f6 ff ff       	call   0x0
-     98f:	8b 45 84             	mov    -0x7c(%ebp),%eax
-     992:	83 e8 01             	sub    $0x1,%eax
-     995:	0f bd 5c 85 a4       	bsr    -0x5c(%ebp,%eax,4),%ebx
-     99a:	89 45 98             	mov    %eax,-0x68(%ebp)
-     99d:	83 f3 1f             	xor    $0x1f,%ebx
-     9a0:	7e 3c                	jle    0x9de
-     9a2:	89 5c 24 0c          	mov    %ebx,0xc(%esp)
-     9a6:	8b 55 84             	mov    -0x7c(%ebp),%edx
-     9a9:	89 54 24 08          	mov    %edx,0x8(%esp)
-     9ad:	8b 4d 88             	mov    -0x78(%ebp),%ecx
-     9b0:	89 4c 24 04          	mov    %ecx,0x4(%esp)
-     9b4:	89 0c 24             	mov    %ecx,(%esp)
-     9b7:	e8 fc ff ff ff       	call   0x9b8
-     9bc:	89 5c 24 0c          	mov    %ebx,0xc(%esp)
-     9c0:	8b 45 f0             	mov    -0x10(%ebp),%eax
-     9c3:	89 44 24 08          	mov    %eax,0x8(%esp)
-     9c7:	8b 5d 94             	mov    -0x6c(%ebp),%ebx
-     9ca:	89 5c 24 04          	mov    %ebx,0x4(%esp)
-     9ce:	89 1c 24             	mov    %ebx,(%esp)
-     9d1:	e8 fc ff ff ff       	call   0x9d2
-     9d6:	85 c0                	test   %eax,%eax
-     9d8:	0f 85 4b 0a 00 00    	jne    0x1429
-     9de:	8b 75 90             	mov    -0x70(%ebp),%esi
-     9e1:	83 7d 84 01          	cmpl   $0x1,-0x7c(%ebp)
-     9e5:	89 75 ec             	mov    %esi,-0x14(%ebp)
-     9e8:	0f 84 18 0d 00 00    	je     0x1706
-     9ee:	83 7d 84 02          	cmpl   $0x2,-0x7c(%ebp)
-     9f2:	0f 84 0b 0b 00 00    	je     0x1503
-     9f8:	8b 4d 84             	mov    -0x7c(%ebp),%ecx
-     9fb:	8b 55 98             	mov    -0x68(%ebp),%edx
-     9fe:	8b 45 f0             	mov    -0x10(%ebp),%eax
-     a01:	83 e9 02             	sub    $0x2,%ecx
-     a04:	8b 74 8d a4          	mov    -0x5c(%ebp,%ecx,4),%esi
-     a08:	8b 5c 95 a4          	mov    -0x5c(%ebp,%edx,4),%ebx
-     a0c:	89 4d 8c             	mov    %ecx,-0x74(%ebp)
-     a0f:	89 75 9c             	mov    %esi,-0x64(%ebp)
-     a12:	89 44 24 08          	mov    %eax,0x8(%esp)
-     a16:	8b 7d 84             	mov    -0x7c(%ebp),%edi
-     a19:	8b 55 88             	mov    -0x78(%ebp),%edx
-     a1c:	29 c7                	sub    %eax,%edi
-     a1e:	8d 04 ba             	lea    (%edx,%edi,4),%eax
-     a21:	89 44 24 04          	mov    %eax,0x4(%esp)
-     a25:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
-     a28:	89 0c 24             	mov    %ecx,(%esp)
-     a2b:	e8 fc ff ff ff       	call   0xa2c
-     a30:	85 c0                	test   %eax,%eax
-     a32:	0f 8e 03 0a 00 00    	jle    0x143b
-     a38:	8b 45 f0             	mov    -0x10(%ebp),%eax
-     a3b:	8d 48 01             	lea    0x1(%eax),%ecx
-     a3e:	c7 44 85 c4 00 00 00 	movl   $0x0,-0x3c(%ebp,%eax,4)
-     a45:	00 
-     a46:	89 4d f0             	mov    %ecx,-0x10(%ebp)
-     a49:	39 4d 84             	cmp    %ecx,-0x7c(%ebp)
-     a4c:	0f 8f eb 0e 00 00    	jg     0x193d
-     a52:	8b 75 94             	mov    -0x6c(%ebp),%esi
-     a55:	85 c9                	test   %ecx,%ecx
-     a57:	8d 04 8e             	lea    (%esi,%ecx,4),%eax
-     a5a:	7e 10                	jle    0xa6c
-     a5c:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
-     a5f:	90                   	nop
-     a60:	8b 50 fc             	mov    -0x4(%eax),%edx
-     a63:	89 10                	mov    %edx,(%eax)
-     a65:	83 e8 04             	sub    $0x4,%eax
-     a68:	39 c8                	cmp    %ecx,%eax
-     a6a:	75 f4                	jne    0xa60
-     a6c:	8b 7d 84             	mov    -0x7c(%ebp),%edi
-     a6f:	c7 85 7c ff ff ff 00 	movl   $0x0,-0x84(%ebp)
-     a76:	00 00 00 
-     a79:	8b 4c bd c4          	mov    -0x3c(%ebp,%edi,4),%ecx
-     a7d:	c7 44 bd a4 00 00 00 	movl   $0x0,-0x5c(%ebp,%edi,4)
-     a84:	00 
-     a85:	8b 55 84             	mov    -0x7c(%ebp),%edx
-     a88:	8b 75 98             	mov    -0x68(%ebp),%esi
-     a8b:	8b 7d 94             	mov    -0x6c(%ebp),%edi
-     a8e:	83 c2 01             	add    $0x1,%edx
-     a91:	89 95 78 ff ff ff    	mov    %edx,-0x88(%ebp)
-     a97:	8d 34 b7             	lea    (%edi,%esi,4),%esi
-     a9a:	89 b5 70 ff ff ff    	mov    %esi,-0x90(%ebp)
-     aa0:	39 d9                	cmp    %ebx,%ecx
-     aa2:	c7 45 a0 ff ff ff ff 	movl   $0xffffffff,-0x60(%ebp)
-     aa9:	74 5f                	je     0xb0a
-     aab:	8b 7d 98             	mov    -0x68(%ebp),%edi
-     aae:	89 ca                	mov    %ecx,%edx
-     ab0:	8b 44 bd c4          	mov    -0x3c(%ebp,%edi,4),%eax
-     ab4:	f7 f3                	div    %ebx
-     ab6:	89 d1                	mov    %edx,%ecx
-     ab8:	89 45 a0             	mov    %eax,-0x60(%ebp)
-     abb:	8d 34 19             	lea    (%ecx,%ebx,1),%esi
-     abe:	8b 45 9c             	mov    -0x64(%ebp),%eax
-     ac1:	f7 65 a0             	mull   -0x60(%ebp)
-     ac4:	89 95 68 ff ff ff    	mov    %edx,-0x98(%ebp)
-     aca:	eb 1b                	jmp    0xae7
-     acc:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-     ad0:	3b 45 9c             	cmp    -0x64(%ebp),%eax
-     ad3:	0f 92 c2             	setb   %dl
-     ad6:	89 d7                	mov    %edx,%edi
-     ad8:	81 e7 ff 00 00 00    	and    $0xff,%edi
-     ade:	29 bd 68 ff ff ff    	sub    %edi,-0x98(%ebp)
-     ae4:	2b 45 9c             	sub    -0x64(%ebp),%eax
-     ae7:	39 8d 68 ff ff ff    	cmp    %ecx,-0x98(%ebp)
-     aed:	77 0b                	ja     0xafa
-     aef:	75 19                	jne    0xb0a
-     af1:	8b 7d 8c             	mov    -0x74(%ebp),%edi
-     af4:	3b 44 bd c4          	cmp    -0x3c(%ebp,%edi,4),%eax
-     af8:	76 10                	jbe    0xb0a
-     afa:	01 de                	add    %ebx,%esi
-     afc:	01 d9                	add    %ebx,%ecx
-     afe:	89 f7                	mov    %esi,%edi
-     b00:	29 df                	sub    %ebx,%edi
-     b02:	83 6d a0 01          	subl   $0x1,-0x60(%ebp)
-     b06:	39 fb                	cmp    %edi,%ebx
-     b08:	76 c6                	jbe    0xad0
-     b0a:	8b 45 a0             	mov    -0x60(%ebp),%eax
-     b0d:	89 44 24 0c          	mov    %eax,0xc(%esp)
-     b11:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
-     b17:	89 54 24 08          	mov    %edx,0x8(%esp)
-     b1b:	8b 4d 88             	mov    -0x78(%ebp),%ecx
-     b1e:	89 4c 24 04          	mov    %ecx,0x4(%esp)
-     b22:	8b 75 94             	mov    -0x6c(%ebp),%esi
-     b25:	89 34 24             	mov    %esi,(%esp)
-     b28:	e8 fc ff ff ff       	call   0xb29
-     b2d:	8b 7d 84             	mov    -0x7c(%ebp),%edi
-     b30:	3b 44 bd c4          	cmp    -0x3c(%ebp,%edi,4),%eax
-     b34:	74 1b                	je     0xb51
-     b36:	89 7c 24 0c          	mov    %edi,0xc(%esp)
-     b3a:	8b 45 88             	mov    -0x78(%ebp),%eax
-     b3d:	89 74 24 04          	mov    %esi,0x4(%esp)
-     b41:	89 34 24             	mov    %esi,(%esp)
-     b44:	89 44 24 08          	mov    %eax,0x8(%esp)
-     b48:	e8 fc ff ff ff       	call   0xb49
-     b4d:	83 6d a0 01          	subl   $0x1,-0x60(%ebp)
-     b51:	8b 55 98             	mov    -0x68(%ebp),%edx
-     b54:	8b 75 84             	mov    -0x7c(%ebp),%esi
-     b57:	8b 4c 95 c4          	mov    -0x3c(%ebp,%edx,4),%ecx
-     b5b:	85 d2                	test   %edx,%edx
-     b5d:	89 4c b5 c4          	mov    %ecx,-0x3c(%ebp,%esi,4)
-     b61:	7e 19                	jle    0xb7c
-     b63:	8b 85 70 ff ff ff    	mov    -0x90(%ebp),%eax
-     b69:	8b 75 94             	mov    -0x6c(%ebp),%esi
-     b6c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-     b70:	8b 50 fc             	mov    -0x4(%eax),%edx
-     b73:	89 10                	mov    %edx,(%eax)
-     b75:	83 e8 04             	sub    $0x4,%eax
-     b78:	39 f0                	cmp    %esi,%eax
-     b7a:	75 f4                	jne    0xb70
-     b7c:	8b 7d 90             	mov    -0x70(%ebp),%edi
-     b7f:	85 ff                	test   %edi,%edi
-     b81:	0f 85 c1 08 00 00    	jne    0x1448
-     b87:	8b 75 a0             	mov    -0x60(%ebp),%esi
-     b8a:	85 f6                	test   %esi,%esi
-     b8c:	0f 84 cb 08 00 00    	je     0x145d
-     b92:	0f bd 45 a0          	bsr    -0x60(%ebp),%eax
-     b96:	8b 7d ec             	mov    -0x14(%ebp),%edi
-     b99:	ba 20 00 00 00       	mov    $0x20,%edx
-     b9e:	89 d6                	mov    %edx,%esi
-     ba0:	83 f0 1f             	xor    $0x1f,%eax
-     ba3:	29 c6                	sub    %eax,%esi
-     ba5:	29 c7                	sub    %eax,%edi
-     ba7:	83 fe 18             	cmp    $0x18,%esi
-     baa:	89 7d ec             	mov    %edi,-0x14(%ebp)
-     bad:	0f 8e 8e 10 00 00    	jle    0x1c41
-     bb3:	83 c0 18             	add    $0x18,%eax
-     bb6:	8b 5d 84             	mov    -0x7c(%ebp),%ebx
-     bb9:	29 c2                	sub    %eax,%edx
-     bbb:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
-     bc1:	8b 45 a0             	mov    -0x60(%ebp),%eax
-     bc4:	89 d1                	mov    %edx,%ecx
-     bc6:	d3 e8                	shr    %cl,%eax
-     bc8:	8b 4c 9d c4          	mov    -0x3c(%ebp,%ebx,4),%ecx
-     bcc:	89 45 e8             	mov    %eax,-0x18(%ebp)
-     bcf:	85 c9                	test   %ecx,%ecx
-     bd1:	0f 85 95 0f 00 00    	jne    0x1b6c
-     bd7:	8b 45 94             	mov    -0x6c(%ebp),%eax
-     bda:	8b 75 98             	mov    -0x68(%ebp),%esi
-     bdd:	8d 14 b0             	lea    (%eax,%esi,4),%edx
-     be0:	8b 45 84             	mov    -0x7c(%ebp),%eax
-     be3:	85 c0                	test   %eax,%eax
-     be5:	0f 88 81 0f 00 00    	js     0x1b6c
-     beb:	90                   	nop
-     bec:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-     bf0:	83 e8 01             	sub    $0x1,%eax
-     bf3:	89 c1                	mov    %eax,%ecx
-     bf5:	f7 d1                	not    %ecx
-     bf7:	89 cb                	mov    %ecx,%ebx
-     bf9:	c1 eb 1f             	shr    $0x1f,%ebx
-     bfc:	89 5d 9c             	mov    %ebx,-0x64(%ebp)
-     bff:	8b 1a                	mov    (%edx),%ebx
-     c01:	85 db                	test   %ebx,%ebx
-     c03:	0f 94 c3             	sete   %bl
-     c06:	83 ea 04             	sub    $0x4,%edx
-     c09:	84 5d 9c             	test   %bl,-0x64(%ebp)
-     c0c:	75 e2                	jne    0xbf0
-     c0e:	c1 e9 1f             	shr    $0x1f,%ecx
-     c11:	b8 1f 00 00 00       	mov    $0x1f,%eax
-     c16:	0b 8d 6c ff ff ff    	or     -0x94(%ebp),%ecx
-     c1c:	8d 57 ff             	lea    -0x1(%edi),%edx
-     c1f:	89 4c 24 08          	mov    %ecx,0x8(%esp)
-     c23:	2b 85 7c ff ff ff    	sub    -0x84(%ebp),%eax
-     c29:	89 44 24 04          	mov    %eax,0x4(%esp)
-     c2d:	8b 75 a0             	mov    -0x60(%ebp),%esi
-     c30:	89 34 24             	mov    %esi,(%esp)
-     c33:	8b 8d 74 ff ff ff    	mov    -0x8c(%ebp),%ecx
-     c39:	8b 45 80             	mov    -0x80(%ebp),%eax
-     c3c:	e8 0f f6 ff ff       	call   0x250
-     c41:	eb 3d                	jmp    0xc80
-     c43:	90                   	nop
-     c44:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-     c48:	8d 42 d0             	lea    -0x30(%edx),%eax
-     c4b:	3c 09                	cmp    $0x9,%al
-     c4d:	0f 86 4f f8 ff ff    	jbe    0x4a2
-     c53:	a1 38 00 00 00       	mov    0x38,%eax
-     c58:	0f be d2             	movsbl %dl,%edx
-     c5b:	0f b6 04 90          	movzbl (%eax,%edx,4),%eax
-     c5f:	3c 69                	cmp    $0x69,%al
-     c61:	0f 84 a0 05 00 00    	je     0x1207
-     c67:	3c 6e                	cmp    $0x6e,%al
-     c69:	0f 84 29 06 00 00    	je     0x1298
-     c6f:	8b 45 0c             	mov    0xc(%ebp),%eax
-     c72:	85 c0                	test   %eax,%eax
-     c74:	74 08                	je     0xc7e
-     c76:	8b 75 08             	mov    0x8(%ebp),%esi
-     c79:	8b 5d 0c             	mov    0xc(%ebp),%ebx
-     c7c:	89 33                	mov    %esi,(%ebx)
-     c7e:	d9 ee                	fldz   
-     c80:	81 c4 b4 00 00 00    	add    $0xb4,%esp
-     c86:	5b                   	pop    %ebx
-     c87:	5e                   	pop    %esi
-     c88:	5f                   	pop    %edi
-     c89:	5d                   	pop    %ebp
-     c8a:	c3                   	ret    
-     c8b:	90                   	nop
-     c8c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-     c90:	3a 0c 07             	cmp    (%edi,%eax,1),%cl
-     c93:	0f 85 81 f8 ff ff    	jne    0x51a
-     c99:	83 c0 01             	add    $0x1,%eax
-     c9c:	0f b6 0c 03          	movzbl (%ebx,%eax,1),%ecx
-     ca0:	84 c9                	test   %cl,%cl
-     ca2:	75 ec                	jne    0xc90
-     ca4:	39 fe                	cmp    %edi,%esi
-     ca6:	0f 85 94 f8 ff ff    	jne    0x540
-     cac:	83 7d 90 10          	cmpl   $0x10,-0x70(%ebp)
-     cb0:	0f 85 8a f8 ff ff    	jne    0x540
-     cb6:	8b 8d 78 ff ff ff    	mov    -0x88(%ebp),%ecx
-     cbc:	0f b6 04 0e          	movzbl (%esi,%ecx,1),%eax
-     cc0:	8d 48 d0             	lea    -0x30(%eax),%ecx
-     cc3:	80 f9 09             	cmp    $0x9,%cl
-     cc6:	76 14                	jbe    0xcdc
-     cc8:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
-     ccb:	0f be c0             	movsbl %al,%eax
-     cce:	8b 04 81             	mov    (%ecx,%eax,4),%eax
-     cd1:	83 e8 61             	sub    $0x61,%eax
-     cd4:	3c 05                	cmp    $0x5,%al
-     cd6:	0f 87 48 f8 ff ff    	ja     0x524
-     cdc:	89 75 a0             	mov    %esi,-0x60(%ebp)
-     cdf:	e9 5f f8 ff ff       	jmp    0x543
-     ce4:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-     ce8:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
-     ceb:	0f be c2             	movsbl %dl,%eax
-     cee:	8b 04 81             	mov    (%ecx,%eax,4),%eax
-     cf1:	83 e8 61             	sub    $0x61,%eax
-     cf4:	3c 05                	cmp    $0x5,%al
-     cf6:	0f 87 63 f8 ff ff    	ja     0x55f
-     cfc:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-     d00:	83 45 9c 01          	addl   $0x1,-0x64(%ebp)
-     d04:	83 45 a0 01          	addl   $0x1,-0x60(%ebp)
-     d08:	8b 4d a0             	mov    -0x60(%ebp),%ecx
-     d0b:	0f b6 11             	movzbl (%ecx),%edx
-     d0e:	e9 37 f8 ff ff       	jmp    0x54a
-     d13:	90                   	nop
-     d14:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-     d18:	83 c6 01             	add    $0x1,%esi
-     d1b:	0f b6 16             	movzbl (%esi),%edx
-     d1e:	c7 85 74 ff ff ff 01 	movl   $0x1,-0x8c(%ebp)
-     d25:	00 00 00 
-     d28:	e9 27 f7 ff ff       	jmp    0x454
-     d2d:	8d 76 00             	lea    0x0(%esi),%esi
-     d30:	83 c6 01             	add    $0x1,%esi
-     d33:	0f b6 16             	movzbl (%esi),%edx
-     d36:	e9 19 f7 ff ff       	jmp    0x454
-     d3b:	90                   	nop
-     d3c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-     d40:	8b 45 14             	mov    0x14(%ebp),%eax
-     d43:	8b 40 38             	mov    0x38(%eax),%eax
-     d46:	89 45 94             	mov    %eax,-0x6c(%ebp)
-     d49:	0f be 46 01          	movsbl 0x1(%esi),%eax
-     d4d:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
-     d50:	c7 45 90 0a 00 00 00 	movl   $0xa,-0x70(%ebp)
-     d57:	83 3c 81 78          	cmpl   $0x78,(%ecx,%eax,4)
-     d5b:	0f 85 5a f7 ff ff    	jne    0x4bb
-     d61:	83 c6 02             	add    $0x2,%esi
-     d64:	0f b6 16             	movzbl (%esi),%edx
-     d67:	c7 45 80 00 00 00 00 	movl   $0x0,-0x80(%ebp)
-     d6e:	c7 45 90 10 00 00 00 	movl   $0x10,-0x70(%ebp)
-     d75:	e9 41 f7 ff ff       	jmp    0x4bb
-     d7a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
-     d80:	80 7d 9c 00          	cmpb   $0x0,-0x64(%ebp)
-     d84:	0f 85 78 f7 ff ff    	jne    0x502
-     d8a:	3c 66                	cmp    $0x66,%al
-     d8c:	0f 8f 70 f7 ff ff    	jg     0x502
-     d92:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
-     d98:	e9 a3 f7 ff ff       	jmp    0x540
-     d9d:	8d 76 00             	lea    0x0(%esi),%esi
-     da0:	8b 75 9c             	mov    -0x64(%ebp),%esi
-     da3:	89 ca                	mov    %ecx,%edx
-     da5:	39 75 98             	cmp    %esi,-0x68(%ebp)
-     da8:	0f 8f 40 f9 ff ff    	jg     0x6ee
-     dae:	89 d0                	mov    %edx,%eax
-     db0:	e9 5c f9 ff ff       	jmp    0x711
-     db5:	8b 5d 80             	mov    -0x80(%ebp),%ebx
-     db8:	89 5c 24 0c          	mov    %ebx,0xc(%esp)
-     dbc:	8b 85 7c ff ff ff    	mov    -0x84(%ebp),%eax
-     dc2:	89 7c 24 04          	mov    %edi,0x4(%esp)
-     dc6:	89 34 24             	mov    %esi,(%esp)
-     dc9:	89 44 24 08          	mov    %eax,0x8(%esp)
-     dcd:	88 8d 5c ff ff ff    	mov    %cl,-0xa4(%ebp)
-     dd3:	e8 fc ff ff ff       	call   0xdd4
-     dd8:	8b 5d 0c             	mov    0xc(%ebp),%ebx
-     ddb:	0f b6 8d 5c ff ff ff 	movzbl -0xa4(%ebp),%ecx
-     de2:	85 db                	test   %ebx,%ebx
-     de4:	74 1a                	je     0xe00
-     de6:	39 c6                	cmp    %eax,%esi
-     de8:	0f 84 88 0d 00 00    	je     0x1b76
-     dee:	89 45 08             	mov    %eax,0x8(%ebp)
-     df1:	8b 4d 08             	mov    0x8(%ebp),%ecx
-     df4:	8b 55 0c             	mov    0xc(%ebp),%edx
-     df7:	89 0a                	mov    %ecx,(%edx)
-     df9:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
-     e00:	8b 95 74 ff ff ff    	mov    -0x8c(%ebp),%edx
-     e06:	d9 ee                	fldz   
-     e08:	d9 e0                	fchs   
-     e0a:	d9 ee                	fldz   
-     e0c:	85 d2                	test   %edx,%edx
-     e0e:	db c9                	fcmovne %st(1),%st
-     e10:	dd d9                	fstp   %st(1)
-     e12:	81 c4 b4 00 00 00    	add    $0xb4,%esp
-     e18:	5b                   	pop    %ebx
-     e19:	5e                   	pop    %esi
-     e1a:	5f                   	pop    %edi
-     e1b:	5d                   	pop    %ebp
-     e1c:	c3                   	ret    
-     e1d:	8d 76 00             	lea    0x0(%esi),%esi
-     e20:	8b 4d 98             	mov    -0x68(%ebp),%ecx
-     e23:	8b 45 94             	mov    -0x6c(%ebp),%eax
-     e26:	0f be d2             	movsbl %dl,%edx
-     e29:	0f b6 34 90          	movzbl (%eax,%edx,4),%esi
-     e2d:	8b 55 9c             	mov    -0x64(%ebp),%edx
-     e30:	89 55 98             	mov    %edx,-0x68(%ebp)
-     e33:	83 7d 90 10          	cmpl   $0x10,-0x70(%ebp)
-     e37:	89 f0                	mov    %esi,%eax
-     e39:	0f 94 45 94          	sete   -0x6c(%ebp)
-     e3d:	3c 70                	cmp    $0x70,%al
-     e3f:	0f 85 b3 00 00 00    	jne    0xef8
-     e45:	80 7d 94 00          	cmpb   $0x0,-0x6c(%ebp)
-     e49:	0f 84 a9 00 00 00    	je     0xef8
-     e4f:	c6 45 94 01          	movb   $0x1,-0x6c(%ebp)
-     e53:	e9 f7 f7 ff ff       	jmp    0x64f
-     e58:	8b 45 80             	mov    -0x80(%ebp),%eax
-     e5b:	85 c0                	test   %eax,%eax
-     e5d:	8d 76 00             	lea    0x0(%esi),%esi
-     e60:	0f 84 12 f7 ff ff    	je     0x578
-     e66:	8b 45 80             	mov    -0x80(%ebp),%eax
-     e69:	89 44 24 0c          	mov    %eax,0xc(%esp)
-     e6d:	8b 85 7c ff ff ff    	mov    -0x84(%ebp),%eax
-     e73:	89 4c 24 04          	mov    %ecx,0x4(%esp)
-     e77:	89 34 24             	mov    %esi,(%esp)
-     e7a:	89 44 24 08          	mov    %eax,0x8(%esp)
-     e7e:	88 95 60 ff ff ff    	mov    %dl,-0xa0(%ebp)
-     e84:	89 8d 5c ff ff ff    	mov    %ecx,-0xa4(%ebp)
-     e8a:	e8 fc ff ff ff       	call   0xe8b
-     e8f:	0f b6 95 60 ff ff ff 	movzbl -0xa0(%ebp),%edx
-     e96:	8b 8d 5c ff ff ff    	mov    -0xa4(%ebp),%ecx
-     e9c:	39 45 a0             	cmp    %eax,-0x60(%ebp)
-     e9f:	0f 84 df 09 00 00    	je     0x1884
-     ea5:	39 c6                	cmp    %eax,%esi
-     ea7:	0f 84 58 0a 00 00    	je     0x1905
-     ead:	39 c7                	cmp    %eax,%edi
-     eaf:	0f 87 ce 03 00 00    	ja     0x1283
-     eb5:	89 fa                	mov    %edi,%edx
-     eb7:	c7 45 98 00 00 00 00 	movl   $0x0,-0x68(%ebp)
+     5f0:	0f 87 f9 08 00 00    	ja     0xeef
+     5f6:	83 ff ff             	cmp    $0xffffffff,%edi
+     5f9:	75 05                	jne    0x600
+     5fb:	3c 30                	cmp    $0x30,%al
+     5fd:	0f 45 fa             	cmovne %edx,%edi
+     600:	83 45 98 01          	addl   $0x1,-0x68(%ebp)
+     604:	83 c1 01             	add    $0x1,%ecx
+     607:	0f b6 01             	movzbl (%ecx),%eax
+     60a:	83 c2 01             	add    $0x1,%edx
+     60d:	8d 70 d0             	lea    -0x30(%eax),%esi
+     610:	89 f3                	mov    %esi,%ebx
+     612:	80 fb 09             	cmp    $0x9,%bl
+     615:	76 df                	jbe    0x5f6
+     617:	83 7d 90 10          	cmpl   $0x10,-0x70(%ebp)
+     61b:	74 c3                	je     0x5e0
+     61d:	8b 75 94             	mov    -0x6c(%ebp),%esi
+     620:	0f be c0             	movsbl %al,%eax
+     623:	89 7d 88             	mov    %edi,-0x78(%ebp)
+     626:	8b 9d 70 ff ff ff    	mov    -0x90(%ebp),%ebx
+     62c:	8b 7d 80             	mov    -0x80(%ebp),%edi
+     62f:	c6 45 94 00          	movb   $0x0,-0x6c(%ebp)
+     633:	0f b6 04 86          	movzbl (%esi,%eax,4),%eax
+     637:	3c 65                	cmp    $0x65,%al
+     639:	0f 85 59 07 00 00    	jne    0xd98
+     63f:	83 7d 90 10          	cmpl   $0x10,-0x70(%ebp)
+     643:	0f 84 4f 07 00 00    	je     0xd98
+     649:	0f b6 51 01          	movzbl 0x1(%ecx),%edx
+     64d:	8d 71 01             	lea    0x1(%ecx),%esi
+     650:	80 fa 2d             	cmp    $0x2d,%dl
+     653:	0f 84 9d 0a 00 00    	je     0x10f6
+     659:	80 fa 2b             	cmp    $0x2b,%dl
+     65c:	c7 45 80 00 00 00 00 	movl   $0x0,-0x80(%ebp)
+     663:	0f 84 82 0b 00 00    	je     0x11eb
+     669:	8d 42 d0             	lea    -0x30(%edx),%eax
+     66c:	3c 09                	cmp    $0x9,%al
+     66e:	0f 87 24 07 00 00    	ja     0xd98
+     674:	80 7d 94 00          	cmpb   $0x0,-0x6c(%ebp)
+     678:	0f 85 48 0e 00 00    	jne    0x14c6
+     67e:	8b 45 80             	mov    -0x80(%ebp),%eax
+     681:	85 c0                	test   %eax,%eax
+     683:	0f 84 db 0c 00 00    	je     0x1364
+     689:	8b 45 9c             	mov    -0x64(%ebp),%eax
+     68c:	83 c0 3d             	add    $0x3d,%eax
+     68f:	89 45 a0             	mov    %eax,-0x60(%ebp)
+     692:	8b 45 ec             	mov    -0x14(%ebp),%eax
+     695:	89 8d 70 ff ff ff    	mov    %ecx,-0x90(%ebp)
+     69b:	90                   	nop
+     69c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+     6a0:	8d 04 80             	lea    (%eax,%eax,4),%eax
+     6a3:	0f be d2             	movsbl %dl,%edx
+     6a6:	8d 44 42 d0          	lea    -0x30(%edx,%eax,2),%eax
+     6aa:	39 45 a0             	cmp    %eax,-0x60(%ebp)
+     6ad:	89 45 ec             	mov    %eax,-0x14(%ebp)
+     6b0:	0f 8c 09 16 00 00    	jl     0x1cbf
+     6b6:	83 c6 01             	add    $0x1,%esi
+     6b9:	0f b6 16             	movzbl (%esi),%edx
+     6bc:	8d 4a d0             	lea    -0x30(%edx),%ecx
+     6bf:	80 f9 09             	cmp    $0x9,%cl
+     6c2:	76 dc                	jbe    0x6a0
+     6c4:	8b 55 80             	mov    -0x80(%ebp),%edx
+     6c7:	8b 8d 70 ff ff ff    	mov    -0x90(%ebp),%ecx
+     6cd:	85 d2                	test   %edx,%edx
+     6cf:	74 05                	je     0x6d6
+     6d1:	f7 d8                	neg    %eax
+     6d3:	89 45 ec             	mov    %eax,-0x14(%ebp)
+     6d6:	89 ca                	mov    %ecx,%edx
+     6d8:	89 f1                	mov    %esi,%ecx
+     6da:	8b 75 9c             	mov    -0x64(%ebp),%esi
+     6dd:	39 75 98             	cmp    %esi,-0x68(%ebp)
+     6e0:	0f 8e c0 06 00 00    	jle    0xda6
+     6e6:	80 7a ff 30          	cmpb   $0x30,-0x1(%edx)
+     6ea:	8d 42 ff             	lea    -0x1(%edx),%eax
+     6ed:	0f 85 b3 06 00 00    	jne    0xda6
+     6f3:	8b 55 98             	mov    -0x68(%ebp),%edx
+     6f6:	eb 02                	jmp    0x6fa
+     6f8:	89 f0                	mov    %esi,%eax
+     6fa:	83 ea 01             	sub    $0x1,%edx
+     6fd:	80 78 ff 30          	cmpb   $0x30,-0x1(%eax)
+     701:	8d 70 ff             	lea    -0x1(%eax),%esi
+     704:	74 f2                	je     0x6f8
+     706:	89 55 98             	mov    %edx,-0x68(%ebp)
+     709:	8b 55 98             	mov    -0x68(%ebp),%edx
+     70c:	85 d2                	test   %edx,%edx
+     70e:	7e 13                	jle    0x723
+     710:	8b 55 98             	mov    -0x68(%ebp),%edx
+     713:	39 55 9c             	cmp    %edx,-0x64(%ebp)
+     716:	75 0b                	jne    0x723
+     718:	8b 75 ec             	mov    -0x14(%ebp),%esi
+     71b:	85 f6                	test   %esi,%esi
+     71d:	0f 88 b5 0b 00 00    	js     0x12d8
+     723:	8b 75 0c             	mov    0xc(%ebp),%esi
+     726:	85 f6                	test   %esi,%esi
+     728:	74 05                	je     0x72f
+     72a:	8b 75 0c             	mov    0xc(%ebp),%esi
+     72d:	89 0e                	mov    %ecx,(%esi)
+     72f:	8b 55 98             	mov    -0x68(%ebp),%edx
+     732:	85 d2                	test   %edx,%edx
+     734:	0f 84 be 06 00 00    	je     0xdf8
+     73a:	8b 45 88             	mov    -0x78(%ebp),%eax
+     73d:	89 fe                	mov    %edi,%esi
+     73f:	85 c0                	test   %eax,%eax
+     741:	74 77                	je     0x7ba
+     743:	0f b6 03             	movzbl (%ebx),%eax
+     746:	88 45 a0             	mov    %al,-0x60(%ebp)
+     749:	0f b6 53 01          	movzbl 0x1(%ebx),%edx
+     74d:	0f b6 0f             	movzbl (%edi),%ecx
+     750:	88 55 94             	mov    %dl,-0x6c(%ebp)
+     753:	90                   	nop
+     754:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+     758:	83 c7 01             	add    $0x1,%edi
+     75b:	38 4d a0             	cmp    %cl,-0x60(%ebp)
+     75e:	8d 77 ff             	lea    -0x1(%edi),%esi
+     761:	74 0e                	je     0x771
+     763:	0f b6 0f             	movzbl (%edi),%ecx
+     766:	83 c7 01             	add    $0x1,%edi
+     769:	38 4d a0             	cmp    %cl,-0x60(%ebp)
+     76c:	8d 77 ff             	lea    -0x1(%edi),%esi
+     76f:	75 f2                	jne    0x763
+     771:	80 7d 94 00          	cmpb   $0x0,-0x6c(%ebp)
+     775:	74 21                	je     0x798
+     777:	0f b6 0f             	movzbl (%edi),%ecx
+     77a:	b8 01 00 00 00       	mov    $0x1,%eax
+     77f:	3a 4d 94             	cmp    -0x6c(%ebp),%cl
+     782:	74 09                	je     0x78d
+     784:	eb d2                	jmp    0x758
+     786:	66 90                	xchg   %ax,%ax
+     788:	3a 14 06             	cmp    (%esi,%eax,1),%dl
+     78b:	75 cb                	jne    0x758
+     78d:	83 c0 01             	add    $0x1,%eax
+     790:	0f b6 14 03          	movzbl (%ebx,%eax,1),%edx
+     794:	84 d2                	test   %dl,%dl
+     796:	75 f0                	jne    0x788
+     798:	8b 45 88             	mov    -0x78(%ebp),%eax
+     79b:	8b 55 88             	mov    -0x78(%ebp),%edx
+     79e:	8b 4d 88             	mov    -0x78(%ebp),%ecx
+     7a1:	c1 e0 02             	shl    $0x2,%eax
+     7a4:	83 7d 90 10          	cmpl   $0x10,-0x70(%ebp)
+     7a8:	0f 45 45 88          	cmovne -0x78(%ebp),%eax
+     7ac:	03 95 78 ff ff ff    	add    -0x88(%ebp),%edx
+     7b2:	29 45 ec             	sub    %eax,-0x14(%ebp)
+     7b5:	29 4d 98             	sub    %ecx,-0x68(%ebp)
+     7b8:	01 d6                	add    %edx,%esi
+     7ba:	83 7d 90 10          	cmpl   $0x10,-0x70(%ebp)
+     7be:	0f 84 45 09 00 00    	je     0x1109
+     7c4:	8b 7d ec             	mov    -0x14(%ebp),%edi
+     7c7:	85 ff                	test   %edi,%edi
+     7c9:	0f 88 e8 0c 00 00    	js     0x14b7
+     7cf:	8b 45 98             	mov    -0x68(%ebp),%eax
+     7d2:	2b 45 9c             	sub    -0x64(%ebp),%eax
+     7d5:	39 f8                	cmp    %edi,%eax
+     7d7:	0f 4f c7             	cmovg  %edi,%eax
+     7da:	8b 55 9c             	mov    -0x64(%ebp),%edx
+     7dd:	29 c7                	sub    %eax,%edi
+     7df:	89 7d ec             	mov    %edi,-0x14(%ebp)
+     7e2:	01 c2                	add    %eax,%edx
+     7e4:	8d 04 17             	lea    (%edi,%edx,1),%eax
+     7e7:	83 f8 27             	cmp    $0x27,%eax
+     7ea:	89 55 a0             	mov    %edx,-0x60(%ebp)
+     7ed:	0f 8f c2 15 00 00    	jg     0x1db5
+     7f3:	83 ff d4             	cmp    $0xffffffd4,%edi
+     7f6:	0f 8c a7 15 00 00    	jl     0x1da3
+     7fc:	8b 45 a0             	mov    -0x60(%ebp),%eax
+     7ff:	85 c0                	test   %eax,%eax
+     801:	0f 8f f9 06 00 00    	jg     0xf00
+     807:	8d 4d e8             	lea    -0x18(%ebp),%ecx
+     80a:	b8 0a 00 00 00       	mov    $0xa,%eax
+     80f:	89 4d 80             	mov    %ecx,-0x80(%ebp)
+     812:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
+     815:	ba 08 00 00 00       	mov    $0x8,%edx
+     81a:	89 4d 94             	mov    %ecx,-0x6c(%ebp)
+     81d:	8d 4d ec             	lea    -0x14(%ebp),%ecx
+     820:	89 4d 8c             	mov    %ecx,-0x74(%ebp)
+     823:	8d 4d f0             	lea    -0x10(%ebp),%ecx
+     826:	c7 45 90 00 00 00 00 	movl   $0x0,-0x70(%ebp)
+     82d:	89 8d 70 ff ff ff    	mov    %ecx,-0x90(%ebp)
+     833:	8b 4d 98             	mov    -0x68(%ebp),%ecx
+     836:	2b 4d a0             	sub    -0x60(%ebp),%ecx
+     839:	c7 85 6c ff ff ff 00 	movl   $0x0,-0x94(%ebp)
+     840:	00 00 00 
+     843:	39 c1                	cmp    %eax,%ecx
+     845:	89 4d 98             	mov    %ecx,-0x68(%ebp)
+     848:	7e 10                	jle    0x85a
+     84a:	83 c2 02             	add    $0x2,%edx
+     84d:	89 55 98             	mov    %edx,-0x68(%ebp)
+     850:	c7 85 6c ff ff ff 01 	movl   $0x1,-0x94(%ebp)
+     857:	00 00 00 
+     85a:	8b 45 98             	mov    -0x68(%ebp),%eax
+     85d:	ba 00 00 00 00       	mov    $0x0,%edx
+     862:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
+     865:	89 9d 68 ff ff ff    	mov    %ebx,-0x98(%ebp)
+     86b:	89 b5 64 ff ff ff    	mov    %esi,-0x9c(%ebp)
+     871:	89 d6                	mov    %edx,%esi
+     873:	31 d2                	xor    %edx,%edx
+     875:	29 f8                	sub    %edi,%eax
+     877:	89 c7                	mov    %eax,%edi
+     879:	89 4d 9c             	mov    %ecx,-0x64(%ebp)
+     87c:	8d 45 a4             	lea    -0x5c(%ebp),%eax
+     87f:	b9 01 00 00 00       	mov    $0x1,%ecx
+     884:	89 45 88             	mov    %eax,-0x78(%ebp)
+     887:	89 cb                	mov    %ecx,%ebx
+     889:	89 45 a0             	mov    %eax,-0x60(%ebp)
+     88c:	c7 45 84 00 00 00 00 	movl   $0x0,-0x7c(%ebp)
+     893:	eb 41                	jmp    0x8d6
+     895:	8d 76 00             	lea    0x0(%esi),%esi
+     898:	8b 56 04             	mov    0x4(%esi),%edx
+     89b:	8b 06                	mov    (%esi),%eax
+     89d:	83 ea 02             	sub    $0x2,%edx
+     8a0:	8d 0c 95 00 00 00 00 	lea    0x0(,%edx,4),%ecx
+     8a7:	8d 04 85 08 00 00 00 	lea    0x8(,%eax,4),%eax
+     8ae:	89 4c 24 08          	mov    %ecx,0x8(%esp)
+     8b2:	89 44 24 04          	mov    %eax,0x4(%esp)
+     8b6:	8b 4d a0             	mov    -0x60(%ebp),%ecx
+     8b9:	89 0c 24             	mov    %ecx,(%esp)
+     8bc:	89 95 60 ff ff ff    	mov    %edx,-0xa0(%ebp)
+     8c2:	e8 fc ff ff ff       	call   0x8c3
+     8c7:	8b 95 60 ff ff ff    	mov    -0xa0(%ebp),%edx
+     8cd:	85 ff                	test   %edi,%edi
+     8cf:	74 66                	je     0x937
+     8d1:	01 db                	add    %ebx,%ebx
+     8d3:	83 c6 10             	add    $0x10,%esi
+     8d6:	85 df                	test   %ebx,%edi
+     8d8:	74 f3                	je     0x8cd
+     8da:	31 df                	xor    %ebx,%edi
+     8dc:	85 d2                	test   %edx,%edx
+     8de:	74 b8                	je     0x898
+     8e0:	89 54 24 10          	mov    %edx,0x10(%esp)
+     8e4:	8b 45 a0             	mov    -0x60(%ebp),%eax
+     8e7:	89 44 24 0c          	mov    %eax,0xc(%esp)
+     8eb:	8b 46 04             	mov    0x4(%esi),%eax
+     8ee:	83 e8 02             	sub    $0x2,%eax
+     8f1:	89 44 24 08          	mov    %eax,0x8(%esp)
+     8f5:	8b 06                	mov    (%esi),%eax
+     8f7:	8d 04 85 08 00 00 00 	lea    0x8(,%eax,4),%eax
+     8fe:	89 44 24 04          	mov    %eax,0x4(%esp)
+     902:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
+     905:	89 0c 24             	mov    %ecx,(%esp)
+     908:	89 95 60 ff ff ff    	mov    %edx,-0xa0(%ebp)
+     90e:	e8 fc ff ff ff       	call   0x90f
+     913:	8b 4e 04             	mov    0x4(%esi),%ecx
+     916:	8b 95 60 ff ff ff    	mov    -0xa0(%ebp),%edx
+     91c:	8d 54 0a fe          	lea    -0x2(%edx,%ecx,1),%edx
+     920:	85 c0                	test   %eax,%eax
+     922:	75 03                	jne    0x927
+     924:	83 ea 01             	sub    $0x1,%edx
+     927:	8b 45 a0             	mov    -0x60(%ebp),%eax
+     92a:	85 ff                	test   %edi,%edi
+     92c:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
+     92f:	89 45 9c             	mov    %eax,-0x64(%ebp)
+     932:	89 4d a0             	mov    %ecx,-0x60(%ebp)
+     935:	75 9a                	jne    0x8d1
+     937:	8b 7d 94             	mov    -0x6c(%ebp),%edi
+     93a:	39 7d a0             	cmp    %edi,-0x60(%ebp)
+     93d:	8b 9d 68 ff ff ff    	mov    -0x98(%ebp),%ebx
+     943:	8b b5 64 ff ff ff    	mov    -0x9c(%ebp),%esi
+     949:	89 55 84             	mov    %edx,-0x7c(%ebp)
+     94c:	0f 84 2d 11 00 00    	je     0x1a7f
+     952:	8b 95 7c ff ff ff    	mov    -0x84(%ebp),%edx
+     958:	89 f0                	mov    %esi,%eax
+     95a:	89 54 24 10          	mov    %edx,0x10(%esp)
+     95e:	8b 8d 78 ff ff ff    	mov    -0x88(%ebp),%ecx
+     964:	89 5c 24 08          	mov    %ebx,0x8(%esp)
+     968:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
+     96c:	8b 5d 8c             	mov    -0x74(%ebp),%ebx
+     96f:	89 5c 24 04          	mov    %ebx,0x4(%esp)
+     973:	8b bd 70 ff ff ff    	mov    -0x90(%ebp),%edi
+     979:	89 3c 24             	mov    %edi,(%esp)
+     97c:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
+     97f:	8b 55 98             	mov    -0x68(%ebp),%edx
+     982:	e8 79 f6 ff ff       	call   0x0
+     987:	8b 45 84             	mov    -0x7c(%ebp),%eax
+     98a:	83 e8 01             	sub    $0x1,%eax
+     98d:	0f bd 5c 85 a4       	bsr    -0x5c(%ebp,%eax,4),%ebx
+     992:	89 45 98             	mov    %eax,-0x68(%ebp)
+     995:	83 f3 1f             	xor    $0x1f,%ebx
+     998:	7e 3c                	jle    0x9d6
+     99a:	89 5c 24 0c          	mov    %ebx,0xc(%esp)
+     99e:	8b 55 84             	mov    -0x7c(%ebp),%edx
+     9a1:	89 54 24 08          	mov    %edx,0x8(%esp)
+     9a5:	8b 4d 88             	mov    -0x78(%ebp),%ecx
+     9a8:	89 4c 24 04          	mov    %ecx,0x4(%esp)
+     9ac:	89 0c 24             	mov    %ecx,(%esp)
+     9af:	e8 fc ff ff ff       	call   0x9b0
+     9b4:	89 5c 24 0c          	mov    %ebx,0xc(%esp)
+     9b8:	8b 45 f0             	mov    -0x10(%ebp),%eax
+     9bb:	89 44 24 08          	mov    %eax,0x8(%esp)
+     9bf:	8b 5d 94             	mov    -0x6c(%ebp),%ebx
+     9c2:	89 5c 24 04          	mov    %ebx,0x4(%esp)
+     9c6:	89 1c 24             	mov    %ebx,(%esp)
+     9c9:	e8 fc ff ff ff       	call   0x9ca
+     9ce:	85 c0                	test   %eax,%eax
+     9d0:	0f 85 43 0a 00 00    	jne    0x1419
+     9d6:	8b 75 90             	mov    -0x70(%ebp),%esi
+     9d9:	83 7d 84 01          	cmpl   $0x1,-0x7c(%ebp)
+     9dd:	89 75 ec             	mov    %esi,-0x14(%ebp)
+     9e0:	0f 84 10 0d 00 00    	je     0x16f6
+     9e6:	83 7d 84 02          	cmpl   $0x2,-0x7c(%ebp)
+     9ea:	0f 84 03 0b 00 00    	je     0x14f3
+     9f0:	8b 4d 84             	mov    -0x7c(%ebp),%ecx
+     9f3:	8b 55 98             	mov    -0x68(%ebp),%edx
+     9f6:	8b 45 f0             	mov    -0x10(%ebp),%eax
+     9f9:	83 e9 02             	sub    $0x2,%ecx
+     9fc:	8b 74 8d a4          	mov    -0x5c(%ebp,%ecx,4),%esi
+     a00:	8b 5c 95 a4          	mov    -0x5c(%ebp,%edx,4),%ebx
+     a04:	89 4d 8c             	mov    %ecx,-0x74(%ebp)
+     a07:	89 75 9c             	mov    %esi,-0x64(%ebp)
+     a0a:	89 44 24 08          	mov    %eax,0x8(%esp)
+     a0e:	8b 7d 84             	mov    -0x7c(%ebp),%edi
+     a11:	8b 55 88             	mov    -0x78(%ebp),%edx
+     a14:	29 c7                	sub    %eax,%edi
+     a16:	8d 04 ba             	lea    (%edx,%edi,4),%eax
+     a19:	89 44 24 04          	mov    %eax,0x4(%esp)
+     a1d:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
+     a20:	89 0c 24             	mov    %ecx,(%esp)
+     a23:	e8 fc ff ff ff       	call   0xa24
+     a28:	85 c0                	test   %eax,%eax
+     a2a:	0f 8e fb 09 00 00    	jle    0x142b
+     a30:	8b 45 f0             	mov    -0x10(%ebp),%eax
+     a33:	8d 48 01             	lea    0x1(%eax),%ecx
+     a36:	c7 44 85 c4 00 00 00 	movl   $0x0,-0x3c(%ebp,%eax,4)
+     a3d:	00 
+     a3e:	89 4d f0             	mov    %ecx,-0x10(%ebp)
+     a41:	39 4d 84             	cmp    %ecx,-0x7c(%ebp)
+     a44:	0f 8f e3 0e 00 00    	jg     0x192d
+     a4a:	8b 75 94             	mov    -0x6c(%ebp),%esi
+     a4d:	85 c9                	test   %ecx,%ecx
+     a4f:	8d 04 8e             	lea    (%esi,%ecx,4),%eax
+     a52:	7e 10                	jle    0xa64
+     a54:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
+     a57:	90                   	nop
+     a58:	8b 50 fc             	mov    -0x4(%eax),%edx
+     a5b:	89 10                	mov    %edx,(%eax)
+     a5d:	83 e8 04             	sub    $0x4,%eax
+     a60:	39 c8                	cmp    %ecx,%eax
+     a62:	75 f4                	jne    0xa58
+     a64:	8b 7d 84             	mov    -0x7c(%ebp),%edi
+     a67:	c7 85 7c ff ff ff 00 	movl   $0x0,-0x84(%ebp)
+     a6e:	00 00 00 
+     a71:	8b 4c bd c4          	mov    -0x3c(%ebp,%edi,4),%ecx
+     a75:	c7 44 bd a4 00 00 00 	movl   $0x0,-0x5c(%ebp,%edi,4)
+     a7c:	00 
+     a7d:	8b 55 84             	mov    -0x7c(%ebp),%edx
+     a80:	8b 75 98             	mov    -0x68(%ebp),%esi
+     a83:	8b 7d 94             	mov    -0x6c(%ebp),%edi
+     a86:	83 c2 01             	add    $0x1,%edx
+     a89:	89 95 78 ff ff ff    	mov    %edx,-0x88(%ebp)
+     a8f:	8d 34 b7             	lea    (%edi,%esi,4),%esi
+     a92:	89 b5 70 ff ff ff    	mov    %esi,-0x90(%ebp)
+     a98:	39 d9                	cmp    %ebx,%ecx
+     a9a:	c7 45 a0 ff ff ff ff 	movl   $0xffffffff,-0x60(%ebp)
+     aa1:	74 5f                	je     0xb02
+     aa3:	8b 7d 98             	mov    -0x68(%ebp),%edi
+     aa6:	89 ca                	mov    %ecx,%edx
+     aa8:	8b 44 bd c4          	mov    -0x3c(%ebp,%edi,4),%eax
+     aac:	f7 f3                	div    %ebx
+     aae:	89 d1                	mov    %edx,%ecx
+     ab0:	89 45 a0             	mov    %eax,-0x60(%ebp)
+     ab3:	8d 34 19             	lea    (%ecx,%ebx,1),%esi
+     ab6:	8b 45 9c             	mov    -0x64(%ebp),%eax
+     ab9:	f7 65 a0             	mull   -0x60(%ebp)
+     abc:	89 95 68 ff ff ff    	mov    %edx,-0x98(%ebp)
+     ac2:	eb 1b                	jmp    0xadf
+     ac4:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+     ac8:	3b 45 9c             	cmp    -0x64(%ebp),%eax
+     acb:	0f 92 c2             	setb   %dl
+     ace:	89 d7                	mov    %edx,%edi
+     ad0:	81 e7 ff 00 00 00    	and    $0xff,%edi
+     ad6:	29 bd 68 ff ff ff    	sub    %edi,-0x98(%ebp)
+     adc:	2b 45 9c             	sub    -0x64(%ebp),%eax
+     adf:	39 8d 68 ff ff ff    	cmp    %ecx,-0x98(%ebp)
+     ae5:	77 0b                	ja     0xaf2
+     ae7:	75 19                	jne    0xb02
+     ae9:	8b 7d 8c             	mov    -0x74(%ebp),%edi
+     aec:	3b 44 bd c4          	cmp    -0x3c(%ebp,%edi,4),%eax
+     af0:	76 10                	jbe    0xb02
+     af2:	01 de                	add    %ebx,%esi
+     af4:	01 d9                	add    %ebx,%ecx
+     af6:	89 f7                	mov    %esi,%edi
+     af8:	29 df                	sub    %ebx,%edi
+     afa:	83 6d a0 01          	subl   $0x1,-0x60(%ebp)
+     afe:	39 fb                	cmp    %edi,%ebx
+     b00:	76 c6                	jbe    0xac8
+     b02:	8b 45 a0             	mov    -0x60(%ebp),%eax
+     b05:	89 44 24 0c          	mov    %eax,0xc(%esp)
+     b09:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
+     b0f:	89 54 24 08          	mov    %edx,0x8(%esp)
+     b13:	8b 4d 88             	mov    -0x78(%ebp),%ecx
+     b16:	89 4c 24 04          	mov    %ecx,0x4(%esp)
+     b1a:	8b 75 94             	mov    -0x6c(%ebp),%esi
+     b1d:	89 34 24             	mov    %esi,(%esp)
+     b20:	e8 fc ff ff ff       	call   0xb21
+     b25:	8b 7d 84             	mov    -0x7c(%ebp),%edi
+     b28:	3b 44 bd c4          	cmp    -0x3c(%ebp,%edi,4),%eax
+     b2c:	74 1b                	je     0xb49
+     b2e:	89 7c 24 0c          	mov    %edi,0xc(%esp)
+     b32:	8b 45 88             	mov    -0x78(%ebp),%eax
+     b35:	89 74 24 04          	mov    %esi,0x4(%esp)
+     b39:	89 34 24             	mov    %esi,(%esp)
+     b3c:	89 44 24 08          	mov    %eax,0x8(%esp)
+     b40:	e8 fc ff ff ff       	call   0xb41
+     b45:	83 6d a0 01          	subl   $0x1,-0x60(%ebp)
+     b49:	8b 55 98             	mov    -0x68(%ebp),%edx
+     b4c:	8b 75 84             	mov    -0x7c(%ebp),%esi
+     b4f:	8b 4c 95 c4          	mov    -0x3c(%ebp,%edx,4),%ecx
+     b53:	85 d2                	test   %edx,%edx
+     b55:	89 4c b5 c4          	mov    %ecx,-0x3c(%ebp,%esi,4)
+     b59:	7e 19                	jle    0xb74
+     b5b:	8b 85 70 ff ff ff    	mov    -0x90(%ebp),%eax
+     b61:	8b 75 94             	mov    -0x6c(%ebp),%esi
+     b64:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+     b68:	8b 50 fc             	mov    -0x4(%eax),%edx
+     b6b:	89 10                	mov    %edx,(%eax)
+     b6d:	83 e8 04             	sub    $0x4,%eax
+     b70:	39 f0                	cmp    %esi,%eax
+     b72:	75 f4                	jne    0xb68
+     b74:	8b 7d 90             	mov    -0x70(%ebp),%edi
+     b77:	85 ff                	test   %edi,%edi
+     b79:	0f 85 b9 08 00 00    	jne    0x1438
+     b7f:	8b 75 a0             	mov    -0x60(%ebp),%esi
+     b82:	85 f6                	test   %esi,%esi
+     b84:	0f 84 c3 08 00 00    	je     0x144d
+     b8a:	0f bd 45 a0          	bsr    -0x60(%ebp),%eax
+     b8e:	8b 7d ec             	mov    -0x14(%ebp),%edi
+     b91:	ba 20 00 00 00       	mov    $0x20,%edx
+     b96:	89 d6                	mov    %edx,%esi
+     b98:	83 f0 1f             	xor    $0x1f,%eax
+     b9b:	29 c6                	sub    %eax,%esi
+     b9d:	29 c7                	sub    %eax,%edi
+     b9f:	83 fe 18             	cmp    $0x18,%esi
+     ba2:	89 7d ec             	mov    %edi,-0x14(%ebp)
+     ba5:	0f 8e 86 10 00 00    	jle    0x1c31
+     bab:	83 c0 18             	add    $0x18,%eax
+     bae:	8b 5d 84             	mov    -0x7c(%ebp),%ebx
+     bb1:	29 c2                	sub    %eax,%edx
+     bb3:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
+     bb9:	8b 45 a0             	mov    -0x60(%ebp),%eax
+     bbc:	89 d1                	mov    %edx,%ecx
+     bbe:	d3 e8                	shr    %cl,%eax
+     bc0:	8b 4c 9d c4          	mov    -0x3c(%ebp,%ebx,4),%ecx
+     bc4:	89 45 e8             	mov    %eax,-0x18(%ebp)
+     bc7:	85 c9                	test   %ecx,%ecx
+     bc9:	0f 85 8d 0f 00 00    	jne    0x1b5c
+     bcf:	8b 45 94             	mov    -0x6c(%ebp),%eax
+     bd2:	8b 75 98             	mov    -0x68(%ebp),%esi
+     bd5:	8d 14 b0             	lea    (%eax,%esi,4),%edx
+     bd8:	8b 45 84             	mov    -0x7c(%ebp),%eax
+     bdb:	85 c0                	test   %eax,%eax
+     bdd:	0f 88 79 0f 00 00    	js     0x1b5c
+     be3:	90                   	nop
+     be4:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+     be8:	83 e8 01             	sub    $0x1,%eax
+     beb:	89 c1                	mov    %eax,%ecx
+     bed:	f7 d1                	not    %ecx
+     bef:	89 cb                	mov    %ecx,%ebx
+     bf1:	c1 eb 1f             	shr    $0x1f,%ebx
+     bf4:	89 5d 9c             	mov    %ebx,-0x64(%ebp)
+     bf7:	8b 1a                	mov    (%edx),%ebx
+     bf9:	85 db                	test   %ebx,%ebx
+     bfb:	0f 94 c3             	sete   %bl
+     bfe:	83 ea 04             	sub    $0x4,%edx
+     c01:	84 5d 9c             	test   %bl,-0x64(%ebp)
+     c04:	75 e2                	jne    0xbe8
+     c06:	c1 e9 1f             	shr    $0x1f,%ecx
+     c09:	b8 1f 00 00 00       	mov    $0x1f,%eax
+     c0e:	0b 8d 6c ff ff ff    	or     -0x94(%ebp),%ecx
+     c14:	8d 57 ff             	lea    -0x1(%edi),%edx
+     c17:	89 4c 24 08          	mov    %ecx,0x8(%esp)
+     c1b:	2b 85 7c ff ff ff    	sub    -0x84(%ebp),%eax
+     c21:	89 44 24 04          	mov    %eax,0x4(%esp)
+     c25:	8b 75 a0             	mov    -0x60(%ebp),%esi
+     c28:	89 34 24             	mov    %esi,(%esp)
+     c2b:	8b 8d 74 ff ff ff    	mov    -0x8c(%ebp),%ecx
+     c31:	8b 45 80             	mov    -0x80(%ebp),%eax
+     c34:	e8 17 f6 ff ff       	call   0x250
+     c39:	eb 3d                	jmp    0xc78
+     c3b:	90                   	nop
+     c3c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+     c40:	8d 42 d0             	lea    -0x30(%edx),%eax
+     c43:	3c 09                	cmp    $0x9,%al
+     c45:	0f 86 57 f8 ff ff    	jbe    0x4a2
+     c4b:	a1 38 00 00 00       	mov    0x38,%eax
+     c50:	0f be d2             	movsbl %dl,%edx
+     c53:	0f b6 04 90          	movzbl (%eax,%edx,4),%eax
+     c57:	3c 69                	cmp    $0x69,%al
+     c59:	0f 84 98 05 00 00    	je     0x11f7
+     c5f:	3c 6e                	cmp    $0x6e,%al
+     c61:	0f 84 21 06 00 00    	je     0x1288
+     c67:	8b 45 0c             	mov    0xc(%ebp),%eax
+     c6a:	85 c0                	test   %eax,%eax
+     c6c:	74 08                	je     0xc76
+     c6e:	8b 75 08             	mov    0x8(%ebp),%esi
+     c71:	8b 5d 0c             	mov    0xc(%ebp),%ebx
+     c74:	89 33                	mov    %esi,(%ebx)
+     c76:	d9 ee                	fldz   
+     c78:	81 c4 b4 00 00 00    	add    $0xb4,%esp
+     c7e:	5b                   	pop    %ebx
+     c7f:	5e                   	pop    %esi
+     c80:	5f                   	pop    %edi
+     c81:	5d                   	pop    %ebp
+     c82:	c3                   	ret    
+     c83:	90                   	nop
+     c84:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+     c88:	3a 0c 07             	cmp    (%edi,%eax,1),%cl
+     c8b:	0f 85 89 f8 ff ff    	jne    0x51a
+     c91:	83 c0 01             	add    $0x1,%eax
+     c94:	0f b6 0c 03          	movzbl (%ebx,%eax,1),%ecx
+     c98:	84 c9                	test   %cl,%cl
+     c9a:	75 ec                	jne    0xc88
+     c9c:	39 fe                	cmp    %edi,%esi
+     c9e:	0f 85 9c f8 ff ff    	jne    0x540
+     ca4:	83 7d 90 10          	cmpl   $0x10,-0x70(%ebp)
+     ca8:	0f 85 92 f8 ff ff    	jne    0x540
+     cae:	8b 8d 78 ff ff ff    	mov    -0x88(%ebp),%ecx
+     cb4:	0f b6 04 0e          	movzbl (%esi,%ecx,1),%eax
+     cb8:	8d 48 d0             	lea    -0x30(%eax),%ecx
+     cbb:	80 f9 09             	cmp    $0x9,%cl
+     cbe:	76 14                	jbe    0xcd4
+     cc0:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
+     cc3:	0f be c0             	movsbl %al,%eax
+     cc6:	8b 04 81             	mov    (%ecx,%eax,4),%eax
+     cc9:	83 e8 61             	sub    $0x61,%eax
+     ccc:	3c 05                	cmp    $0x5,%al
+     cce:	0f 87 50 f8 ff ff    	ja     0x524
+     cd4:	89 75 a0             	mov    %esi,-0x60(%ebp)
+     cd7:	e9 67 f8 ff ff       	jmp    0x543
+     cdc:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+     ce0:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
+     ce3:	0f be c2             	movsbl %dl,%eax
+     ce6:	8b 04 81             	mov    (%ecx,%eax,4),%eax
+     ce9:	83 e8 61             	sub    $0x61,%eax
+     cec:	3c 05                	cmp    $0x5,%al
+     cee:	0f 87 6b f8 ff ff    	ja     0x55f
+     cf4:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+     cf8:	83 45 9c 01          	addl   $0x1,-0x64(%ebp)
+     cfc:	83 45 a0 01          	addl   $0x1,-0x60(%ebp)
+     d00:	8b 4d a0             	mov    -0x60(%ebp),%ecx
+     d03:	0f b6 11             	movzbl (%ecx),%edx
+     d06:	e9 3f f8 ff ff       	jmp    0x54a
+     d0b:	90                   	nop
+     d0c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+     d10:	83 c6 01             	add    $0x1,%esi
+     d13:	0f b6 16             	movzbl (%esi),%edx
+     d16:	c7 85 74 ff ff ff 01 	movl   $0x1,-0x8c(%ebp)
+     d1d:	00 00 00 
+     d20:	e9 2f f7 ff ff       	jmp    0x454
+     d25:	8d 76 00             	lea    0x0(%esi),%esi
+     d28:	83 c6 01             	add    $0x1,%esi
+     d2b:	0f b6 16             	movzbl (%esi),%edx
+     d2e:	e9 21 f7 ff ff       	jmp    0x454
+     d33:	90                   	nop
+     d34:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+     d38:	8b 45 14             	mov    0x14(%ebp),%eax
+     d3b:	8b 40 38             	mov    0x38(%eax),%eax
+     d3e:	89 45 94             	mov    %eax,-0x6c(%ebp)
+     d41:	0f be 46 01          	movsbl 0x1(%esi),%eax
+     d45:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
+     d48:	c7 45 90 0a 00 00 00 	movl   $0xa,-0x70(%ebp)
+     d4f:	83 3c 81 78          	cmpl   $0x78,(%ecx,%eax,4)
+     d53:	0f 85 62 f7 ff ff    	jne    0x4bb
+     d59:	83 c6 02             	add    $0x2,%esi
+     d5c:	0f b6 16             	movzbl (%esi),%edx
+     d5f:	c7 45 80 00 00 00 00 	movl   $0x0,-0x80(%ebp)
+     d66:	c7 45 90 10 00 00 00 	movl   $0x10,-0x70(%ebp)
+     d6d:	e9 49 f7 ff ff       	jmp    0x4bb
+     d72:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
+     d78:	80 7d 9c 00          	cmpb   $0x0,-0x64(%ebp)
+     d7c:	0f 85 80 f7 ff ff    	jne    0x502
+     d82:	3c 66                	cmp    $0x66,%al
+     d84:	0f 8f 78 f7 ff ff    	jg     0x502
+     d8a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
+     d90:	e9 ab f7 ff ff       	jmp    0x540
+     d95:	8d 76 00             	lea    0x0(%esi),%esi
+     d98:	8b 75 9c             	mov    -0x64(%ebp),%esi
+     d9b:	89 ca                	mov    %ecx,%edx
+     d9d:	39 75 98             	cmp    %esi,-0x68(%ebp)
+     da0:	0f 8f 40 f9 ff ff    	jg     0x6e6
+     da6:	89 d0                	mov    %edx,%eax
+     da8:	e9 5c f9 ff ff       	jmp    0x709
+     dad:	8b 5d 80             	mov    -0x80(%ebp),%ebx
+     db0:	89 5c 24 0c          	mov    %ebx,0xc(%esp)
+     db4:	8b 85 7c ff ff ff    	mov    -0x84(%ebp),%eax
+     dba:	89 7c 24 04          	mov    %edi,0x4(%esp)
+     dbe:	89 34 24             	mov    %esi,(%esp)
+     dc1:	89 44 24 08          	mov    %eax,0x8(%esp)
+     dc5:	88 8d 5c ff ff ff    	mov    %cl,-0xa4(%ebp)
+     dcb:	e8 fc ff ff ff       	call   0xdcc
+     dd0:	8b 5d 0c             	mov    0xc(%ebp),%ebx
+     dd3:	0f b6 8d 5c ff ff ff 	movzbl -0xa4(%ebp),%ecx
+     dda:	85 db                	test   %ebx,%ebx
+     ddc:	74 1a                	je     0xdf8
+     dde:	39 c6                	cmp    %eax,%esi
+     de0:	0f 84 80 0d 00 00    	je     0x1b66
+     de6:	89 45 08             	mov    %eax,0x8(%ebp)
+     de9:	8b 4d 08             	mov    0x8(%ebp),%ecx
+     dec:	8b 55 0c             	mov    0xc(%ebp),%edx
+     def:	89 0a                	mov    %ecx,(%edx)
+     df1:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
+     df8:	8b 95 74 ff ff ff    	mov    -0x8c(%ebp),%edx
+     dfe:	d9 ee                	fldz   
+     e00:	d9 e0                	fchs   
+     e02:	d9 ee                	fldz   
+     e04:	85 d2                	test   %edx,%edx
+     e06:	db c9                	fcmovne %st(1),%st
+     e08:	dd d9                	fstp   %st(1)
+     e0a:	81 c4 b4 00 00 00    	add    $0xb4,%esp
+     e10:	5b                   	pop    %ebx
+     e11:	5e                   	pop    %esi
+     e12:	5f                   	pop    %edi
+     e13:	5d                   	pop    %ebp
+     e14:	c3                   	ret    
+     e15:	8d 76 00             	lea    0x0(%esi),%esi
+     e18:	8b 4d 98             	mov    -0x68(%ebp),%ecx
+     e1b:	8b 45 94             	mov    -0x6c(%ebp),%eax
+     e1e:	0f be d2             	movsbl %dl,%edx
+     e21:	0f b6 34 90          	movzbl (%eax,%edx,4),%esi
+     e25:	8b 55 9c             	mov    -0x64(%ebp),%edx
+     e28:	89 55 98             	mov    %edx,-0x68(%ebp)
+     e2b:	83 7d 90 10          	cmpl   $0x10,-0x70(%ebp)
+     e2f:	89 f0                	mov    %esi,%eax
+     e31:	0f 94 45 94          	sete   -0x6c(%ebp)
+     e35:	3c 70                	cmp    $0x70,%al
+     e37:	0f 85 ab 00 00 00    	jne    0xee8
+     e3d:	80 7d 94 00          	cmpb   $0x0,-0x6c(%ebp)
+     e41:	0f 84 a1 00 00 00    	je     0xee8
+     e47:	c6 45 94 01          	movb   $0x1,-0x6c(%ebp)
+     e4b:	e9 f9 f7 ff ff       	jmp    0x649
+     e50:	8b 45 80             	mov    -0x80(%ebp),%eax
+     e53:	85 c0                	test   %eax,%eax
+     e55:	0f 84 1d f7 ff ff    	je     0x578
+     e5b:	8b 45 80             	mov    -0x80(%ebp),%eax
+     e5e:	89 44 24 0c          	mov    %eax,0xc(%esp)
+     e62:	8b 85 7c ff ff ff    	mov    -0x84(%ebp),%eax
+     e68:	89 4c 24 04          	mov    %ecx,0x4(%esp)
+     e6c:	89 34 24             	mov    %esi,(%esp)
+     e6f:	89 44 24 08          	mov    %eax,0x8(%esp)
+     e73:	88 95 60 ff ff ff    	mov    %dl,-0xa0(%ebp)
+     e79:	89 8d 5c ff ff ff    	mov    %ecx,-0xa4(%ebp)
+     e7f:	e8 fc ff ff ff       	call   0xe80
+     e84:	0f b6 95 60 ff ff ff 	movzbl -0xa0(%ebp),%edx
+     e8b:	8b 8d 5c ff ff ff    	mov    -0xa4(%ebp),%ecx
+     e91:	39 45 a0             	cmp    %eax,-0x60(%ebp)
+     e94:	0f 84 da 09 00 00    	je     0x1874
+     e9a:	39 c6                	cmp    %eax,%esi
+     e9c:	0f 84 53 0a 00 00    	je     0x18f5
+     ea2:	39 c7                	cmp    %eax,%edi
+     ea4:	0f 87 c9 03 00 00    	ja     0x1273
+     eaa:	89 fa                	mov    %edi,%edx
+     eac:	c7 45 98 00 00 00 00 	movl   $0x0,-0x68(%ebp)
+     eb3:	0f 83 8e 0c 00 00    	jae    0x1b47
+     eb9:	8b 4d 98             	mov    -0x68(%ebp),%ecx
+     ebc:	89 c6                	mov    %eax,%esi
      ebe:	66 90                	xchg   %ax,%ax
-     ec0:	0f 83 91 0c 00 00    	jae    0x1b57
-     ec6:	8b 4d 98             	mov    -0x68(%ebp),%ecx
-     ec9:	89 c6                	mov    %eax,%esi
-     ecb:	90                   	nop
-     ecc:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-     ed0:	0f b6 02             	movzbl (%edx),%eax
-     ed3:	83 e8 30             	sub    $0x30,%eax
-     ed6:	3c 0a                	cmp    $0xa,%al
-     ed8:	83 d1 00             	adc    $0x0,%ecx
-     edb:	83 c2 01             	add    $0x1,%edx
-     ede:	39 d6                	cmp    %edx,%esi
-     ee0:	77 ee                	ja     0xed0
-     ee2:	89 4d 98             	mov    %ecx,-0x68(%ebp)
-     ee5:	89 4d 9c             	mov    %ecx,-0x64(%ebp)
-     ee8:	89 f1                	mov    %esi,%ecx
-     eea:	c7 45 88 00 00 00 00 	movl   $0x0,-0x78(%ebp)
-     ef1:	e9 35 f8 ff ff       	jmp    0x72b
-     ef6:	66 90                	xchg   %ax,%ax
-     ef8:	89 f0                	mov    %esi,%eax
-     efa:	e9 3e f7 ff ff       	jmp    0x63d
-     eff:	89 7d 98             	mov    %edi,-0x68(%ebp)
-     f02:	8b 9d 70 ff ff ff    	mov    -0x90(%ebp),%ebx
-     f08:	8b 7d 80             	mov    -0x80(%ebp),%edi
-     f0b:	e9 23 ff ff ff       	jmp    0xe33
-     f10:	8b 85 7c ff ff ff    	mov    -0x84(%ebp),%eax
-     f16:	8d 7d c4             	lea    -0x3c(%ebp),%edi
-     f19:	89 7d 94             	mov    %edi,-0x6c(%ebp)
-     f1c:	8d 4d ec             	lea    -0x14(%ebp),%ecx
-     f1f:	8d 7d f0             	lea    -0x10(%ebp),%edi
-     f22:	89 44 24 10          	mov    %eax,0x10(%esp)
-     f26:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
-     f2c:	89 f0                	mov    %esi,%eax
-     f2e:	89 5c 24 08          	mov    %ebx,0x8(%esp)
-     f32:	89 54 24 0c          	mov    %edx,0xc(%esp)
-     f36:	89 4d 8c             	mov    %ecx,-0x74(%ebp)
-     f39:	89 4c 24 04          	mov    %ecx,0x4(%esp)
-     f3d:	89 bd 70 ff ff ff    	mov    %edi,-0x90(%ebp)
-     f43:	89 3c 24             	mov    %edi,(%esp)
-     f46:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
-     f49:	8b 55 a0             	mov    -0x60(%ebp),%edx
-     f4c:	e8 af f0 ff ff       	call   0x0
-     f51:	89 c6                	mov    %eax,%esi
-     f53:	8b 45 ec             	mov    -0x14(%ebp),%eax
-     f56:	85 c0                	test   %eax,%eax
-     f58:	0f 8e d0 00 00 00    	jle    0x102e
-     f5e:	8b 7d 94             	mov    -0x6c(%ebp),%edi
-     f61:	ba 01 00 00 00       	mov    $0x1,%edx
-     f66:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
-     f69:	89 5d 90             	mov    %ebx,-0x70(%ebp)
-     f6c:	89 d3                	mov    %edx,%ebx
-     f6e:	89 ca                	mov    %ecx,%edx
-     f70:	89 4d 88             	mov    %ecx,-0x78(%ebp)
-     f73:	89 7d 9c             	mov    %edi,-0x64(%ebp)
-     f76:	bf 00 00 00 00       	mov    $0x0,%edi
-     f7b:	89 75 84             	mov    %esi,-0x7c(%ebp)
-     f7e:	eb 54                	jmp    0xfd4
-     f80:	89 74 24 10          	mov    %esi,0x10(%esp)
-     f84:	8b 0f                	mov    (%edi),%ecx
-     f86:	89 44 24 08          	mov    %eax,0x8(%esp)
-     f8a:	8d 0c 8d 08 00 00 00 	lea    0x8(,%ecx,4),%ecx
-     f91:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
-     f95:	8b 45 9c             	mov    -0x64(%ebp),%eax
-     f98:	89 14 24             	mov    %edx,(%esp)
-     f9b:	89 44 24 04          	mov    %eax,0x4(%esp)
-     f9f:	89 95 60 ff ff ff    	mov    %edx,-0xa0(%ebp)
-     fa5:	e8 fc ff ff ff       	call   0xfa6
-     faa:	8b 95 60 ff ff ff    	mov    -0xa0(%ebp),%edx
-     fb0:	03 75 f0             	add    -0x10(%ebp),%esi
-     fb3:	89 75 f0             	mov    %esi,-0x10(%ebp)
-     fb6:	85 c0                	test   %eax,%eax
-     fb8:	75 06                	jne    0xfc0
-     fba:	83 ee 01             	sub    $0x1,%esi
-     fbd:	89 75 f0             	mov    %esi,-0x10(%ebp)
-     fc0:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
-     fc3:	8b 45 ec             	mov    -0x14(%ebp),%eax
-     fc6:	89 55 9c             	mov    %edx,-0x64(%ebp)
-     fc9:	89 ca                	mov    %ecx,%edx
-     fcb:	85 c0                	test   %eax,%eax
-     fcd:	74 35                	je     0x1004
-     fcf:	01 db                	add    %ebx,%ebx
-     fd1:	83 c7 10             	add    $0x10,%edi
-     fd4:	85 d8                	test   %ebx,%eax
-     fd6:	74 f3                	je     0xfcb
-     fd8:	31 d8                	xor    %ebx,%eax
-     fda:	8b 77 04             	mov    0x4(%edi),%esi
-     fdd:	89 45 ec             	mov    %eax,-0x14(%ebp)
-     fe0:	8b 45 f0             	mov    -0x10(%ebp),%eax
-     fe3:	83 ee 02             	sub    $0x2,%esi
-     fe6:	39 c6                	cmp    %eax,%esi
-     fe8:	7e 96                	jle    0xf80
-     fea:	89 44 24 10          	mov    %eax,0x10(%esp)
-     fee:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
-     ff1:	89 74 24 08          	mov    %esi,0x8(%esp)
-     ff5:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
-     ff9:	8b 07                	mov    (%edi),%eax
-     ffb:	8d 04 85 08 00 00 00 	lea    0x8(,%eax,4),%eax
-    1002:	eb 94                	jmp    0xf98
-    1004:	8b 7d 88             	mov    -0x78(%ebp),%edi
-    1007:	39 7d 9c             	cmp    %edi,-0x64(%ebp)
-    100a:	8b 5d 90             	mov    -0x70(%ebp),%ebx
-    100d:	8b 75 84             	mov    -0x7c(%ebp),%esi
-    1010:	75 1c                	jne    0x102e
-    1012:	8b 45 f0             	mov    -0x10(%ebp),%eax
-    1015:	c1 e0 02             	shl    $0x2,%eax
-    1018:	89 44 24 08          	mov    %eax,0x8(%esp)
-    101c:	8b 45 9c             	mov    -0x64(%ebp),%eax
-    101f:	89 44 24 04          	mov    %eax,0x4(%esp)
-    1023:	8b 55 94             	mov    -0x6c(%ebp),%edx
-    1026:	89 14 24             	mov    %edx,(%esp)
-    1029:	e8 fc ff ff ff       	call   0x102a
-    102e:	8b 45 f0             	mov    -0x10(%ebp),%eax
-    1031:	8d 78 ff             	lea    -0x1(%eax),%edi
-    1034:	89 c1                	mov    %eax,%ecx
-    1036:	0f bd 54 bd c4       	bsr    -0x3c(%ebp,%edi,4),%edx
-    103b:	c1 e1 05             	shl    $0x5,%ecx
-    103e:	83 f2 1f             	xor    $0x1f,%edx
-    1041:	29 d1                	sub    %edx,%ecx
-    1043:	89 4d 90             	mov    %ecx,-0x70(%ebp)
-    1046:	83 c1 80             	add    $0xffffff80,%ecx
-    1049:	0f 8f ca 0b 00 00    	jg     0x1c19
-    104f:	83 7d 90 18          	cmpl   $0x18,-0x70(%ebp)
-    1053:	0f 8f 2c 03 00 00    	jg     0x1385
-    1059:	8b 55 a0             	mov    -0x60(%ebp),%edx
-    105c:	39 55 98             	cmp    %edx,-0x68(%ebp)
-    105f:	0f 85 33 08 00 00    	jne    0x1898
-    1065:	8b 5d 90             	mov    -0x70(%ebp),%ebx
-    1068:	83 eb 01             	sub    $0x1,%ebx
-    106b:	89 d9                	mov    %ebx,%ecx
-    106d:	c1 f9 1f             	sar    $0x1f,%ecx
-    1070:	c1 e9 1b             	shr    $0x1b,%ecx
-    1073:	8d 14 0b             	lea    (%ebx,%ecx,1),%edx
-    1076:	83 e2 1f             	and    $0x1f,%edx
-    1079:	29 ca                	sub    %ecx,%edx
-    107b:	83 fa 17             	cmp    $0x17,%edx
-    107e:	0f 84 1b 0b 00 00    	je     0x1b9f
-    1084:	83 fa 16             	cmp    $0x16,%edx
-    1087:	0f 8f ac 09 00 00    	jg     0x1a39
-    108d:	b9 17 00 00 00       	mov    $0x17,%ecx
-    1092:	29 d1                	sub    %edx,%ecx
-    1094:	89 44 24 08          	mov    %eax,0x8(%esp)
-    1098:	8d 75 e8             	lea    -0x18(%ebp),%esi
-    109b:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
-    109f:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
-    10a2:	89 4c 24 04          	mov    %ecx,0x4(%esp)
-    10a6:	89 75 80             	mov    %esi,-0x80(%ebp)
-    10a9:	8b 55 80             	mov    -0x80(%ebp),%edx
-    10ac:	be 01 00 00 00       	mov    $0x1,%esi
-    10b1:	89 f7                	mov    %esi,%edi
-    10b3:	29 c7                	sub    %eax,%edi
-    10b5:	8d 04 ba             	lea    (%edx,%edi,4),%eax
-    10b8:	89 04 24             	mov    %eax,(%esp)
-    10bb:	e8 fc ff ff ff       	call   0x10bc
-    10c0:	2b 75 f0             	sub    -0x10(%ebp),%esi
-    10c3:	85 f6                	test   %esi,%esi
-    10c5:	7e 13                	jle    0x10da
-    10c7:	31 c0                	xor    %eax,%eax
-    10c9:	8b 4d 80             	mov    -0x80(%ebp),%ecx
-    10cc:	c7 04 81 00 00 00 00 	movl   $0x0,(%ecx,%eax,4)
-    10d3:	83 c0 01             	add    $0x1,%eax
-    10d6:	39 f0                	cmp    %esi,%eax
-    10d8:	7c ef                	jl     0x10c9
-    10da:	c7 44 24 08 00 00 00 	movl   $0x0,0x8(%esp)
-    10e1:	00 
-    10e2:	89 da                	mov    %ebx,%edx
-    10e4:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
-    10eb:	00 
-    10ec:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
-    10f3:	8b 8d 74 ff ff ff    	mov    -0x8c(%ebp),%ecx
-    10f9:	8b 45 80             	mov    -0x80(%ebp),%eax
-    10fc:	e8 4f f1 ff ff       	call   0x250
-    1101:	e9 7a fb ff ff       	jmp    0xc80
-    1106:	0f b6 51 02          	movzbl 0x2(%ecx),%edx
-    110a:	8d 71 02             	lea    0x2(%ecx),%esi
-    110d:	c7 45 80 01 00 00 00 	movl   $0x1,-0x80(%ebp)
-    1114:	e9 56 f5 ff ff       	jmp    0x66f
-    1119:	8b 5d 14             	mov    0x14(%ebp),%ebx
-    111c:	8b 5b 34             	mov    0x34(%ebx),%ebx
-    111f:	89 5d a0             	mov    %ebx,-0x60(%ebp)
-    1122:	0f b6 16             	movzbl (%esi),%edx
-    1125:	0f be c2             	movsbl %dl,%eax
-    1128:	f6 44 43 01 10       	testb  $0x10,0x1(%ebx,%eax,2)
-    112d:	75 19                	jne    0x1148
-    112f:	89 d9                	mov    %ebx,%ecx
-    1131:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
-    1138:	83 c6 01             	add    $0x1,%esi
-    113b:	0f b6 16             	movzbl (%esi),%edx
-    113e:	0f be c2             	movsbl %dl,%eax
-    1141:	f6 44 41 01 10       	testb  $0x10,0x1(%ecx,%eax,2)
-    1146:	74 f0                	je     0x1138
-    1148:	80 fa 30             	cmp    $0x30,%dl
-    114b:	75 11                	jne    0x115e
-    114d:	8d 76 00             	lea    0x0(%esi),%esi
-    1150:	83 c6 01             	add    $0x1,%esi
-    1153:	0f b6 16             	movzbl (%esi),%edx
-    1156:	80 fa 30             	cmp    $0x30,%dl
-    1159:	74 f5                	je     0x1150
-    115b:	0f be c2             	movsbl %dl,%eax
-    115e:	8d 50 d0             	lea    -0x30(%eax),%edx
-    1161:	83 fa 09             	cmp    $0x9,%edx
-    1164:	0f 87 ab 02 00 00    	ja     0x1415
-    116a:	83 c6 01             	add    $0x1,%esi
-    116d:	8b 1c 95 00 00 00 00 	mov    0x0(,%edx,4),%ebx
-    1174:	b8 17 00 00 00       	mov    $0x17,%eax
-    1179:	8b 7d 9c             	mov    -0x64(%ebp),%edi
-    117c:	29 d8                	sub    %ebx,%eax
-    117e:	8d 48 01             	lea    0x1(%eax),%ecx
-    1181:	d3 e2                	shl    %cl,%edx
-    1183:	8b 4d ec             	mov    -0x14(%ebp),%ecx
-    1186:	89 55 e8             	mov    %edx,-0x18(%ebp)
-    1189:	8d 4c b9 fb          	lea    -0x5(%ecx,%edi,4),%ecx
-    118d:	01 d9                	add    %ebx,%ecx
-    118f:	8b 5d 98             	mov    -0x68(%ebp),%ebx
-    1192:	89 4d 9c             	mov    %ecx,-0x64(%ebp)
-    1195:	89 4d ec             	mov    %ecx,-0x14(%ebp)
-    1198:	83 eb 01             	sub    $0x1,%ebx
-    119b:	85 db                	test   %ebx,%ebx
-    119d:	7f 2d                	jg     0x11cc
-    119f:	e9 5c 06 00 00       	jmp    0x1800
-    11a4:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    11a8:	83 c6 01             	add    $0x1,%esi
-    11ab:	83 f8 02             	cmp    $0x2,%eax
-    11ae:	0f 8e 79 06 00 00    	jle    0x182d
-    11b4:	8d 48 fd             	lea    -0x3(%eax),%ecx
-    11b7:	83 eb 01             	sub    $0x1,%ebx
-    11ba:	d3 e7                	shl    %cl,%edi
-    11bc:	09 fa                	or     %edi,%edx
-    11be:	85 db                	test   %ebx,%ebx
-    11c0:	89 55 e8             	mov    %edx,-0x18(%ebp)
-    11c3:	0f 8e 37 06 00 00    	jle    0x1800
-    11c9:	83 e8 04             	sub    $0x4,%eax
-    11cc:	0f be 0e             	movsbl (%esi),%ecx
-    11cf:	8b 7d a0             	mov    -0x60(%ebp),%edi
-    11d2:	f6 44 4f 01 10       	testb  $0x10,0x1(%edi,%ecx,2)
-    11d7:	75 09                	jne    0x11e2
-    11d9:	03 b5 78 ff ff ff    	add    -0x88(%ebp),%esi
-    11df:	0f be 0e             	movsbl (%esi),%ecx
-    11e2:	8d 79 d0             	lea    -0x30(%ecx),%edi
-    11e5:	83 ff 09             	cmp    $0x9,%edi
-    11e8:	76 be                	jbe    0x11a8
-    11ea:	8b 7d 14             	mov    0x14(%ebp),%edi
-    11ed:	83 c6 01             	add    $0x1,%esi
-    11f0:	8b 7f 38             	mov    0x38(%edi),%edi
-    11f3:	8b 0c 8f             	mov    (%edi,%ecx,4),%ecx
-    11f6:	8d 79 a9             	lea    -0x57(%ecx),%edi
-    11f9:	eb b0                	jmp    0x11ab
-    11fb:	8d 71 02             	lea    0x2(%ecx),%esi
-    11fe:	0f b6 51 02          	movzbl 0x2(%ecx),%edx
-    1202:	e9 68 f4 ff ff       	jmp    0x66f
-    1207:	c7 44 24 0c 00 00 00 	movl   $0x0,0xc(%esp)
+     ec0:	0f b6 02             	movzbl (%edx),%eax
+     ec3:	83 e8 30             	sub    $0x30,%eax
+     ec6:	3c 0a                	cmp    $0xa,%al
+     ec8:	83 d1 00             	adc    $0x0,%ecx
+     ecb:	83 c2 01             	add    $0x1,%edx
+     ece:	39 d6                	cmp    %edx,%esi
+     ed0:	77 ee                	ja     0xec0
+     ed2:	89 4d 98             	mov    %ecx,-0x68(%ebp)
+     ed5:	89 4d 9c             	mov    %ecx,-0x64(%ebp)
+     ed8:	89 f1                	mov    %esi,%ecx
+     eda:	c7 45 88 00 00 00 00 	movl   $0x0,-0x78(%ebp)
+     ee1:	e9 3d f8 ff ff       	jmp    0x723
+     ee6:	66 90                	xchg   %ax,%ax
+     ee8:	89 f0                	mov    %esi,%eax
+     eea:	e9 48 f7 ff ff       	jmp    0x637
+     eef:	89 7d 88             	mov    %edi,-0x78(%ebp)
+     ef2:	8b 9d 70 ff ff ff    	mov    -0x90(%ebp),%ebx
+     ef8:	8b 7d 80             	mov    -0x80(%ebp),%edi
+     efb:	e9 2b ff ff ff       	jmp    0xe2b
+     f00:	8b 85 7c ff ff ff    	mov    -0x84(%ebp),%eax
+     f06:	8d 7d c4             	lea    -0x3c(%ebp),%edi
+     f09:	89 7d 94             	mov    %edi,-0x6c(%ebp)
+     f0c:	8d 4d ec             	lea    -0x14(%ebp),%ecx
+     f0f:	8d 7d f0             	lea    -0x10(%ebp),%edi
+     f12:	89 44 24 10          	mov    %eax,0x10(%esp)
+     f16:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
+     f1c:	89 f0                	mov    %esi,%eax
+     f1e:	89 5c 24 08          	mov    %ebx,0x8(%esp)
+     f22:	89 54 24 0c          	mov    %edx,0xc(%esp)
+     f26:	89 4d 8c             	mov    %ecx,-0x74(%ebp)
+     f29:	89 4c 24 04          	mov    %ecx,0x4(%esp)
+     f2d:	89 bd 70 ff ff ff    	mov    %edi,-0x90(%ebp)
+     f33:	89 3c 24             	mov    %edi,(%esp)
+     f36:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
+     f39:	8b 55 a0             	mov    -0x60(%ebp),%edx
+     f3c:	e8 bf f0 ff ff       	call   0x0
+     f41:	89 c6                	mov    %eax,%esi
+     f43:	8b 45 ec             	mov    -0x14(%ebp),%eax
+     f46:	85 c0                	test   %eax,%eax
+     f48:	0f 8e d0 00 00 00    	jle    0x101e
+     f4e:	8b 7d 94             	mov    -0x6c(%ebp),%edi
+     f51:	ba 01 00 00 00       	mov    $0x1,%edx
+     f56:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
+     f59:	89 5d 90             	mov    %ebx,-0x70(%ebp)
+     f5c:	89 d3                	mov    %edx,%ebx
+     f5e:	89 ca                	mov    %ecx,%edx
+     f60:	89 4d 88             	mov    %ecx,-0x78(%ebp)
+     f63:	89 7d 9c             	mov    %edi,-0x64(%ebp)
+     f66:	bf 00 00 00 00       	mov    $0x0,%edi
+     f6b:	89 75 84             	mov    %esi,-0x7c(%ebp)
+     f6e:	eb 54                	jmp    0xfc4
+     f70:	89 74 24 10          	mov    %esi,0x10(%esp)
+     f74:	8b 0f                	mov    (%edi),%ecx
+     f76:	89 44 24 08          	mov    %eax,0x8(%esp)
+     f7a:	8d 0c 8d 08 00 00 00 	lea    0x8(,%ecx,4),%ecx
+     f81:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
+     f85:	8b 45 9c             	mov    -0x64(%ebp),%eax
+     f88:	89 14 24             	mov    %edx,(%esp)
+     f8b:	89 44 24 04          	mov    %eax,0x4(%esp)
+     f8f:	89 95 60 ff ff ff    	mov    %edx,-0xa0(%ebp)
+     f95:	e8 fc ff ff ff       	call   0xf96
+     f9a:	8b 95 60 ff ff ff    	mov    -0xa0(%ebp),%edx
+     fa0:	03 75 f0             	add    -0x10(%ebp),%esi
+     fa3:	89 75 f0             	mov    %esi,-0x10(%ebp)
+     fa6:	85 c0                	test   %eax,%eax
+     fa8:	75 06                	jne    0xfb0
+     faa:	83 ee 01             	sub    $0x1,%esi
+     fad:	89 75 f0             	mov    %esi,-0x10(%ebp)
+     fb0:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
+     fb3:	8b 45 ec             	mov    -0x14(%ebp),%eax
+     fb6:	89 55 9c             	mov    %edx,-0x64(%ebp)
+     fb9:	89 ca                	mov    %ecx,%edx
+     fbb:	85 c0                	test   %eax,%eax
+     fbd:	74 35                	je     0xff4
+     fbf:	01 db                	add    %ebx,%ebx
+     fc1:	83 c7 10             	add    $0x10,%edi
+     fc4:	85 d8                	test   %ebx,%eax
+     fc6:	74 f3                	je     0xfbb
+     fc8:	31 d8                	xor    %ebx,%eax
+     fca:	8b 77 04             	mov    0x4(%edi),%esi
+     fcd:	89 45 ec             	mov    %eax,-0x14(%ebp)
+     fd0:	8b 45 f0             	mov    -0x10(%ebp),%eax
+     fd3:	83 ee 02             	sub    $0x2,%esi
+     fd6:	39 c6                	cmp    %eax,%esi
+     fd8:	7e 96                	jle    0xf70
+     fda:	89 44 24 10          	mov    %eax,0x10(%esp)
+     fde:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
+     fe1:	89 74 24 08          	mov    %esi,0x8(%esp)
+     fe5:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
+     fe9:	8b 07                	mov    (%edi),%eax
+     feb:	8d 04 85 08 00 00 00 	lea    0x8(,%eax,4),%eax
+     ff2:	eb 94                	jmp    0xf88
+     ff4:	8b 7d 88             	mov    -0x78(%ebp),%edi
+     ff7:	39 7d 9c             	cmp    %edi,-0x64(%ebp)
+     ffa:	8b 5d 90             	mov    -0x70(%ebp),%ebx
+     ffd:	8b 75 84             	mov    -0x7c(%ebp),%esi
+    1000:	75 1c                	jne    0x101e
+    1002:	8b 45 f0             	mov    -0x10(%ebp),%eax
+    1005:	c1 e0 02             	shl    $0x2,%eax
+    1008:	89 44 24 08          	mov    %eax,0x8(%esp)
+    100c:	8b 45 9c             	mov    -0x64(%ebp),%eax
+    100f:	89 44 24 04          	mov    %eax,0x4(%esp)
+    1013:	8b 55 94             	mov    -0x6c(%ebp),%edx
+    1016:	89 14 24             	mov    %edx,(%esp)
+    1019:	e8 fc ff ff ff       	call   0x101a
+    101e:	8b 45 f0             	mov    -0x10(%ebp),%eax
+    1021:	8d 78 ff             	lea    -0x1(%eax),%edi
+    1024:	89 c1                	mov    %eax,%ecx
+    1026:	0f bd 54 bd c4       	bsr    -0x3c(%ebp,%edi,4),%edx
+    102b:	c1 e1 05             	shl    $0x5,%ecx
+    102e:	83 f2 1f             	xor    $0x1f,%edx
+    1031:	29 d1                	sub    %edx,%ecx
+    1033:	89 4d 90             	mov    %ecx,-0x70(%ebp)
+    1036:	83 c1 80             	add    $0xffffff80,%ecx
+    1039:	0f 8f ca 0b 00 00    	jg     0x1c09
+    103f:	83 7d 90 18          	cmpl   $0x18,-0x70(%ebp)
+    1043:	0f 8f 2c 03 00 00    	jg     0x1375
+    1049:	8b 55 a0             	mov    -0x60(%ebp),%edx
+    104c:	39 55 98             	cmp    %edx,-0x68(%ebp)
+    104f:	0f 85 33 08 00 00    	jne    0x1888
+    1055:	8b 5d 90             	mov    -0x70(%ebp),%ebx
+    1058:	83 eb 01             	sub    $0x1,%ebx
+    105b:	89 d9                	mov    %ebx,%ecx
+    105d:	c1 f9 1f             	sar    $0x1f,%ecx
+    1060:	c1 e9 1b             	shr    $0x1b,%ecx
+    1063:	8d 14 0b             	lea    (%ebx,%ecx,1),%edx
+    1066:	83 e2 1f             	and    $0x1f,%edx
+    1069:	29 ca                	sub    %ecx,%edx
+    106b:	83 fa 17             	cmp    $0x17,%edx
+    106e:	0f 84 1b 0b 00 00    	je     0x1b8f
+    1074:	83 fa 16             	cmp    $0x16,%edx
+    1077:	0f 8f ac 09 00 00    	jg     0x1a29
+    107d:	b9 17 00 00 00       	mov    $0x17,%ecx
+    1082:	29 d1                	sub    %edx,%ecx
+    1084:	89 44 24 08          	mov    %eax,0x8(%esp)
+    1088:	8d 75 e8             	lea    -0x18(%ebp),%esi
+    108b:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
+    108f:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
+    1092:	89 4c 24 04          	mov    %ecx,0x4(%esp)
+    1096:	89 75 80             	mov    %esi,-0x80(%ebp)
+    1099:	8b 55 80             	mov    -0x80(%ebp),%edx
+    109c:	be 01 00 00 00       	mov    $0x1,%esi
+    10a1:	89 f7                	mov    %esi,%edi
+    10a3:	29 c7                	sub    %eax,%edi
+    10a5:	8d 04 ba             	lea    (%edx,%edi,4),%eax
+    10a8:	89 04 24             	mov    %eax,(%esp)
+    10ab:	e8 fc ff ff ff       	call   0x10ac
+    10b0:	2b 75 f0             	sub    -0x10(%ebp),%esi
+    10b3:	85 f6                	test   %esi,%esi
+    10b5:	7e 13                	jle    0x10ca
+    10b7:	31 c0                	xor    %eax,%eax
+    10b9:	8b 4d 80             	mov    -0x80(%ebp),%ecx
+    10bc:	c7 04 81 00 00 00 00 	movl   $0x0,(%ecx,%eax,4)
+    10c3:	83 c0 01             	add    $0x1,%eax
+    10c6:	39 f0                	cmp    %esi,%eax
+    10c8:	7c ef                	jl     0x10b9
+    10ca:	c7 44 24 08 00 00 00 	movl   $0x0,0x8(%esp)
+    10d1:	00 
+    10d2:	89 da                	mov    %ebx,%edx
+    10d4:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
+    10db:	00 
+    10dc:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
+    10e3:	8b 8d 74 ff ff ff    	mov    -0x8c(%ebp),%ecx
+    10e9:	8b 45 80             	mov    -0x80(%ebp),%eax
+    10ec:	e8 5f f1 ff ff       	call   0x250
+    10f1:	e9 82 fb ff ff       	jmp    0xc78
+    10f6:	0f b6 51 02          	movzbl 0x2(%ecx),%edx
+    10fa:	8d 71 02             	lea    0x2(%ecx),%esi
+    10fd:	c7 45 80 01 00 00 00 	movl   $0x1,-0x80(%ebp)
+    1104:	e9 60 f5 ff ff       	jmp    0x669
+    1109:	8b 5d 14             	mov    0x14(%ebp),%ebx
+    110c:	8b 5b 34             	mov    0x34(%ebx),%ebx
+    110f:	89 5d a0             	mov    %ebx,-0x60(%ebp)
+    1112:	0f b6 16             	movzbl (%esi),%edx
+    1115:	0f be c2             	movsbl %dl,%eax
+    1118:	f6 44 43 01 10       	testb  $0x10,0x1(%ebx,%eax,2)
+    111d:	75 19                	jne    0x1138
+    111f:	89 d9                	mov    %ebx,%ecx
+    1121:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
+    1128:	83 c6 01             	add    $0x1,%esi
+    112b:	0f b6 16             	movzbl (%esi),%edx
+    112e:	0f be c2             	movsbl %dl,%eax
+    1131:	f6 44 41 01 10       	testb  $0x10,0x1(%ecx,%eax,2)
+    1136:	74 f0                	je     0x1128
+    1138:	80 fa 30             	cmp    $0x30,%dl
+    113b:	75 11                	jne    0x114e
+    113d:	8d 76 00             	lea    0x0(%esi),%esi
+    1140:	83 c6 01             	add    $0x1,%esi
+    1143:	0f b6 16             	movzbl (%esi),%edx
+    1146:	80 fa 30             	cmp    $0x30,%dl
+    1149:	74 f5                	je     0x1140
+    114b:	0f be c2             	movsbl %dl,%eax
+    114e:	8d 50 d0             	lea    -0x30(%eax),%edx
+    1151:	83 fa 09             	cmp    $0x9,%edx
+    1154:	0f 87 ab 02 00 00    	ja     0x1405
+    115a:	83 c6 01             	add    $0x1,%esi
+    115d:	8b 1c 95 00 00 00 00 	mov    0x0(,%edx,4),%ebx
+    1164:	b8 17 00 00 00       	mov    $0x17,%eax
+    1169:	8b 7d 9c             	mov    -0x64(%ebp),%edi
+    116c:	29 d8                	sub    %ebx,%eax
+    116e:	8d 48 01             	lea    0x1(%eax),%ecx
+    1171:	d3 e2                	shl    %cl,%edx
+    1173:	8b 4d ec             	mov    -0x14(%ebp),%ecx
+    1176:	89 55 e8             	mov    %edx,-0x18(%ebp)
+    1179:	8d 4c b9 fb          	lea    -0x5(%ecx,%edi,4),%ecx
+    117d:	01 d9                	add    %ebx,%ecx
+    117f:	8b 5d 98             	mov    -0x68(%ebp),%ebx
+    1182:	89 4d 9c             	mov    %ecx,-0x64(%ebp)
+    1185:	89 4d ec             	mov    %ecx,-0x14(%ebp)
+    1188:	83 eb 01             	sub    $0x1,%ebx
+    118b:	85 db                	test   %ebx,%ebx
+    118d:	7f 2d                	jg     0x11bc
+    118f:	e9 5c 06 00 00       	jmp    0x17f0
+    1194:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    1198:	83 c6 01             	add    $0x1,%esi
+    119b:	83 f8 02             	cmp    $0x2,%eax
+    119e:	0f 8e 79 06 00 00    	jle    0x181d
+    11a4:	8d 48 fd             	lea    -0x3(%eax),%ecx
+    11a7:	83 eb 01             	sub    $0x1,%ebx
+    11aa:	d3 e7                	shl    %cl,%edi
+    11ac:	09 fa                	or     %edi,%edx
+    11ae:	85 db                	test   %ebx,%ebx
+    11b0:	89 55 e8             	mov    %edx,-0x18(%ebp)
+    11b3:	0f 8e 37 06 00 00    	jle    0x17f0
+    11b9:	83 e8 04             	sub    $0x4,%eax
+    11bc:	0f be 0e             	movsbl (%esi),%ecx
+    11bf:	8b 7d a0             	mov    -0x60(%ebp),%edi
+    11c2:	f6 44 4f 01 10       	testb  $0x10,0x1(%edi,%ecx,2)
+    11c7:	75 09                	jne    0x11d2
+    11c9:	03 b5 78 ff ff ff    	add    -0x88(%ebp),%esi
+    11cf:	0f be 0e             	movsbl (%esi),%ecx
+    11d2:	8d 79 d0             	lea    -0x30(%ecx),%edi
+    11d5:	83 ff 09             	cmp    $0x9,%edi
+    11d8:	76 be                	jbe    0x1198
+    11da:	8b 7d 14             	mov    0x14(%ebp),%edi
+    11dd:	83 c6 01             	add    $0x1,%esi
+    11e0:	8b 7f 38             	mov    0x38(%edi),%edi
+    11e3:	8b 0c 8f             	mov    (%edi,%ecx,4),%ecx
+    11e6:	8d 79 a9             	lea    -0x57(%ecx),%edi
+    11e9:	eb b0                	jmp    0x119b
+    11eb:	8d 71 02             	lea    0x2(%ecx),%esi
+    11ee:	0f b6 51 02          	movzbl 0x2(%ecx),%edx
+    11f2:	e9 72 f4 ff ff       	jmp    0x669
+    11f7:	c7 44 24 0c 00 00 00 	movl   $0x0,0xc(%esp)
+    11fe:	00 
+    11ff:	c7 44 24 08 03 00 00 	movl   $0x3,0x8(%esp)
+    1206:	00 
+    1207:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
     120e:	00 
-    120f:	c7 44 24 08 03 00 00 	movl   $0x3,0x8(%esp)
-    1216:	00 
-    1217:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
-    121e:	00 
-    121f:	89 34 24             	mov    %esi,(%esp)
-    1222:	e8 fc ff ff ff       	call   0x1223
-    1227:	85 c0                	test   %eax,%eax
-    1229:	0f 85 40 fa ff ff    	jne    0xc6f
-    122f:	8b 4d 0c             	mov    0xc(%ebp),%ecx
-    1232:	85 c9                	test   %ecx,%ecx
-    1234:	74 30                	je     0x1266
-    1236:	8d 5e 03             	lea    0x3(%esi),%ebx
-    1239:	83 c6 08             	add    $0x8,%esi
-    123c:	89 1c 24             	mov    %ebx,(%esp)
-    123f:	c7 44 24 0c 00 00 00 	movl   $0x0,0xc(%esp)
+    120f:	89 34 24             	mov    %esi,(%esp)
+    1212:	e8 fc ff ff ff       	call   0x1213
+    1217:	85 c0                	test   %eax,%eax
+    1219:	0f 85 48 fa ff ff    	jne    0xc67
+    121f:	8b 4d 0c             	mov    0xc(%ebp),%ecx
+    1222:	85 c9                	test   %ecx,%ecx
+    1224:	74 30                	je     0x1256
+    1226:	8d 5e 03             	lea    0x3(%esi),%ebx
+    1229:	83 c6 08             	add    $0x8,%esi
+    122c:	89 1c 24             	mov    %ebx,(%esp)
+    122f:	c7 44 24 0c 00 00 00 	movl   $0x0,0xc(%esp)
+    1236:	00 
+    1237:	c7 44 24 08 05 00 00 	movl   $0x5,0x8(%esp)
+    123e:	00 
+    123f:	c7 44 24 04 04 00 00 	movl   $0x4,0x4(%esp)
     1246:	00 
-    1247:	c7 44 24 08 05 00 00 	movl   $0x5,0x8(%esp)
-    124e:	00 
-    124f:	c7 44 24 04 04 00 00 	movl   $0x4,0x4(%esp)
-    1256:	00 
-    1257:	e8 fc ff ff ff       	call   0x1258
-    125c:	85 c0                	test   %eax,%eax
-    125e:	0f 44 de             	cmove  %esi,%ebx
-    1261:	8b 75 0c             	mov    0xc(%ebp),%esi
-    1264:	89 1e                	mov    %ebx,(%esi)
-    1266:	8b 8d 74 ff ff ff    	mov    -0x8c(%ebp),%ecx
-    126c:	d9 05 08 00 00 00    	flds   0x8
-    1272:	d9 05 04 00 00 00    	flds   0x4
-    1278:	85 c9                	test   %ecx,%ecx
-    127a:	db c9                	fcmovne %st(1),%st
-    127c:	dd d9                	fstp   %st(1)
-    127e:	e9 fd f9 ff ff       	jmp    0xc80
-    1283:	8b 55 0c             	mov    0xc(%ebp),%edx
-    1286:	85 d2                	test   %edx,%edx
-    1288:	0f 84 72 fb ff ff    	je     0xe00
-    128e:	8b 55 0c             	mov    0xc(%ebp),%edx
-    1291:	89 02                	mov    %eax,(%edx)
-    1293:	e9 68 fb ff ff       	jmp    0xe00
-    1298:	c7 44 24 0c 00 00 00 	movl   $0x0,0xc(%esp)
+    1247:	e8 fc ff ff ff       	call   0x1248
+    124c:	85 c0                	test   %eax,%eax
+    124e:	0f 44 de             	cmove  %esi,%ebx
+    1251:	8b 75 0c             	mov    0xc(%ebp),%esi
+    1254:	89 1e                	mov    %ebx,(%esi)
+    1256:	8b 8d 74 ff ff ff    	mov    -0x8c(%ebp),%ecx
+    125c:	d9 05 08 00 00 00    	flds   0x8
+    1262:	d9 05 04 00 00 00    	flds   0x4
+    1268:	85 c9                	test   %ecx,%ecx
+    126a:	db c9                	fcmovne %st(1),%st
+    126c:	dd d9                	fstp   %st(1)
+    126e:	e9 05 fa ff ff       	jmp    0xc78
+    1273:	8b 55 0c             	mov    0xc(%ebp),%edx
+    1276:	85 d2                	test   %edx,%edx
+    1278:	0f 84 7a fb ff ff    	je     0xdf8
+    127e:	8b 5d 0c             	mov    0xc(%ebp),%ebx
+    1281:	89 03                	mov    %eax,(%ebx)
+    1283:	e9 70 fb ff ff       	jmp    0xdf8
+    1288:	c7 44 24 0c 00 00 00 	movl   $0x0,0xc(%esp)
+    128f:	00 
+    1290:	c7 44 24 08 03 00 00 	movl   $0x3,0x8(%esp)
+    1297:	00 
+    1298:	c7 44 24 04 0a 00 00 	movl   $0xa,0x4(%esp)
     129f:	00 
-    12a0:	c7 44 24 08 03 00 00 	movl   $0x3,0x8(%esp)
-    12a7:	00 
-    12a8:	c7 44 24 04 0a 00 00 	movl   $0xa,0x4(%esp)
-    12af:	00 
-    12b0:	89 34 24             	mov    %esi,(%esp)
-    12b3:	e8 fc ff ff ff       	call   0x12b4
-    12b8:	85 c0                	test   %eax,%eax
-    12ba:	0f 85 af f9 ff ff    	jne    0xc6f
-    12c0:	80 7e 03 28          	cmpb   $0x28,0x3(%esi)
-    12c4:	8d 7e 03             	lea    0x3(%esi),%edi
-    12c7:	0f 84 df 07 00 00    	je     0x1aac
-    12cd:	d9 05 0c 00 00 00    	flds   0xc
-    12d3:	8b 55 0c             	mov    0xc(%ebp),%edx
-    12d6:	85 d2                	test   %edx,%edx
-    12d8:	0f 84 a2 f9 ff ff    	je     0xc80
-    12de:	8b 4d 0c             	mov    0xc(%ebp),%ecx
-    12e1:	89 39                	mov    %edi,(%ecx)
-    12e3:	e9 98 f9 ff ff       	jmp    0xc80
-    12e8:	89 55 9c             	mov    %edx,-0x64(%ebp)
-    12eb:	83 e8 01             	sub    $0x1,%eax
-    12ee:	89 4d a0             	mov    %ecx,-0x60(%ebp)
-    12f1:	89 d1                	mov    %edx,%ecx
-    12f3:	0f b6 55 94          	movzbl -0x6c(%ebp),%edx
-    12f7:	89 7d 80             	mov    %edi,-0x80(%ebp)
-    12fa:	89 9d 70 ff ff ff    	mov    %ebx,-0x90(%ebp)
-    1300:	eb 42                	jmp    0x1344
-    1302:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
-    1308:	0f be 30             	movsbl (%eax),%esi
-    130b:	83 ee 30             	sub    $0x30,%esi
-    130e:	83 fe 09             	cmp    $0x9,%esi
-    1311:	0f 97 c3             	seta   %bl
-    1314:	89 de                	mov    %ebx,%esi
-    1316:	89 f3                	mov    %esi,%ebx
-    1318:	84 db                	test   %bl,%bl
-    131a:	75 25                	jne    0x1341
-    131c:	80 38 30             	cmpb   $0x30,(%eax)
-    131f:	75 3f                	jne    0x1360
-    1321:	83 e9 01             	sub    $0x1,%ecx
-    1324:	83 6d 9c 01          	subl   $0x1,-0x64(%ebp)
-    1328:	80 fa 01             	cmp    $0x1,%dl
-    132b:	19 f6                	sbb    %esi,%esi
-    132d:	83 e6 fd             	and    $0xfffffffd,%esi
-    1330:	83 c6 04             	add    $0x4,%esi
-    1333:	03 75 ec             	add    -0x14(%ebp),%esi
-    1336:	85 f6                	test   %esi,%esi
-    1338:	89 75 ec             	mov    %esi,-0x14(%ebp)
-    133b:	79 23                	jns    0x1360
-    133d:	85 c9                	test   %ecx,%ecx
-    133f:	7e 1f                	jle    0x1360
-    1341:	83 e8 01             	sub    $0x1,%eax
-    1344:	84 d2                	test   %dl,%dl
-    1346:	74 c0                	je     0x1308
-    1348:	8b 75 14             	mov    0x14(%ebp),%esi
-    134b:	0f be 38             	movsbl (%eax),%edi
-    134e:	8b 5e 34             	mov    0x34(%esi),%ebx
-    1351:	0f b7 34 7b          	movzwl (%ebx,%edi,2),%esi
-    1355:	c1 ee 0c             	shr    $0xc,%esi
-    1358:	83 f6 01             	xor    $0x1,%esi
-    135b:	83 e6 01             	and    $0x1,%esi
-    135e:	eb b6                	jmp    0x1316
-    1360:	89 4d 98             	mov    %ecx,-0x68(%ebp)
-    1363:	8b 7d 80             	mov    -0x80(%ebp),%edi
-    1366:	8b 4d a0             	mov    -0x60(%ebp),%ecx
-    1369:	8b 9d 70 ff ff ff    	mov    -0x90(%ebp),%ebx
-    136f:	e9 b7 f3 ff ff       	jmp    0x72b
-    1374:	8b 45 88             	mov    -0x78(%ebp),%eax
-    1377:	2b 45 9c             	sub    -0x64(%ebp),%eax
-    137a:	83 c0 27             	add    $0x27,%eax
-    137d:	89 45 a0             	mov    %eax,-0x60(%ebp)
-    1380:	e9 13 f3 ff ff       	jmp    0x698
-    1385:	8b 55 90             	mov    -0x70(%ebp),%edx
-    1388:	83 ea 18             	sub    $0x18,%edx
-    138b:	89 d0                	mov    %edx,%eax
-    138d:	c1 f8 05             	sar    $0x5,%eax
-    1390:	83 e2 1f             	and    $0x1f,%edx
-    1393:	89 55 9c             	mov    %edx,-0x64(%ebp)
-    1396:	0f 85 39 05 00 00    	jne    0x18d5
-    139c:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
-    139f:	8d 50 ff             	lea    -0x1(%eax),%edx
-    13a2:	8d 5d e8             	lea    -0x18(%ebp),%ebx
-    13a5:	8b 04 81             	mov    (%ecx,%eax,4),%eax
-    13a8:	c7 85 7c ff ff ff 1f 	movl   $0x1f,-0x84(%ebp)
-    13af:	00 00 00 
-    13b2:	89 5d 80             	mov    %ebx,-0x80(%ebp)
-    13b5:	89 45 e8             	mov    %eax,-0x18(%ebp)
-    13b8:	8b 75 c4             	mov    -0x3c(%ebp),%esi
-    13bb:	31 c0                	xor    %eax,%eax
-    13bd:	85 f6                	test   %esi,%esi
-    13bf:	75 11                	jne    0x13d2
-    13c1:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
-    13c4:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    13c8:	83 c0 01             	add    $0x1,%eax
-    13cb:	8b 1c 81             	mov    (%ecx,%eax,4),%ebx
-    13ce:	85 db                	test   %ebx,%ebx
-    13d0:	74 f6                	je     0x13c8
-    13d2:	8b 5d 90             	mov    -0x70(%ebp),%ebx
-    13d5:	8b 75 98             	mov    -0x68(%ebp),%esi
-    13d8:	83 eb 01             	sub    $0x1,%ebx
-    13db:	39 d0                	cmp    %edx,%eax
-    13dd:	0f 9c c0             	setl   %al
-    13e0:	39 75 a0             	cmp    %esi,-0x60(%ebp)
-    13e3:	0f 9c c1             	setl   %cl
-    13e6:	09 c8                	or     %ecx,%eax
-    13e8:	83 e0 01             	and    $0x1,%eax
-    13eb:	89 44 24 08          	mov    %eax,0x8(%esp)
-    13ef:	8b bd 7c ff ff ff    	mov    -0x84(%ebp),%edi
-    13f5:	89 7c 24 04          	mov    %edi,0x4(%esp)
-    13f9:	8b 44 95 c4          	mov    -0x3c(%ebp,%edx,4),%eax
-    13fd:	89 da                	mov    %ebx,%edx
-    13ff:	89 04 24             	mov    %eax,(%esp)
-    1402:	8b 8d 74 ff ff ff    	mov    -0x8c(%ebp),%ecx
-    1408:	8b 45 80             	mov    -0x80(%ebp),%eax
-    140b:	e8 40 ee ff ff       	call   0x250
-    1410:	e9 6b f8 ff ff       	jmp    0xc80
-    1415:	8b 7d 14             	mov    0x14(%ebp),%edi
-    1418:	83 c6 01             	add    $0x1,%esi
-    141b:	8b 57 38             	mov    0x38(%edi),%edx
-    141e:	8b 14 82             	mov    (%edx,%eax,4),%edx
-    1421:	83 ea 57             	sub    $0x57,%edx
-    1424:	e9 44 fd ff ff       	jmp    0x116d
-    1429:	8b 55 f0             	mov    -0x10(%ebp),%edx
-    142c:	89 44 95 c4          	mov    %eax,-0x3c(%ebp,%edx,4)
-    1430:	83 c2 01             	add    $0x1,%edx
-    1433:	89 55 f0             	mov    %edx,-0x10(%ebp)
-    1436:	e9 a3 f5 ff ff       	jmp    0x9de
-    143b:	8b 4d f0             	mov    -0x10(%ebp),%ecx
-    143e:	e9 06 f6 ff ff       	jmp    0xa49
-    1443:	90                   	nop
-    1444:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    1448:	83 7d 90 f9          	cmpl   $0xfffffff9,-0x70(%ebp)
-    144c:	7d 32                	jge    0x1480
-    144e:	8b 7d a0             	mov    -0x60(%ebp),%edi
-    1451:	83 45 90 20          	addl   $0x20,-0x70(%ebp)
-    1455:	89 7d e8             	mov    %edi,-0x18(%ebp)
-    1458:	e9 43 f6 ff ff       	jmp    0xaa0
-    145d:	83 6d ec 20          	subl   $0x20,-0x14(%ebp)
-    1461:	8b 75 a0             	mov    -0x60(%ebp),%esi
-    1464:	83 7d 90 18          	cmpl   $0x18,-0x70(%ebp)
-    1468:	89 75 e8             	mov    %esi,-0x18(%ebp)
-    146b:	0f 8e 2f f6 ff ff    	jle    0xaa0
-    1471:	8b 5d 84             	mov    -0x7c(%ebp),%ebx
-    1474:	8b 7d ec             	mov    -0x14(%ebp),%edi
-    1477:	8b 4c 9d c4          	mov    -0x3c(%ebp,%ebx,4),%ecx
-    147b:	e9 4f f7 ff ff       	jmp    0xbcf
-    1480:	b8 18 00 00 00       	mov    $0x18,%eax
-    1485:	2b 45 90             	sub    -0x70(%ebp),%eax
-    1488:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
-    148e:	74 e1                	je     0x1471
-    1490:	89 44 24 0c          	mov    %eax,0xc(%esp)
-    1494:	c7 44 24 08 01 00 00 	movl   $0x1,0x8(%esp)
-    149b:	00 
-    149c:	8b 45 80             	mov    -0x80(%ebp),%eax
-    149f:	89 44 24 04          	mov    %eax,0x4(%esp)
-    14a3:	89 04 24             	mov    %eax,(%esp)
-    14a6:	e8 fc ff ff ff       	call   0x14a7
-    14ab:	8b 55 a0             	mov    -0x60(%ebp),%edx
-    14ae:	b9 20 00 00 00       	mov    $0x20,%ecx
-    14b3:	2b 8d 7c ff ff ff    	sub    -0x84(%ebp),%ecx
-    14b9:	d3 ea                	shr    %cl,%edx
-    14bb:	09 55 e8             	or     %edx,-0x18(%ebp)
-    14be:	eb b1                	jmp    0x1471
-    14c0:	31 ff                	xor    %edi,%edi
-    14c2:	e9 c7 ef ff ff       	jmp    0x48e
-    14c7:	8b 45 9c             	mov    -0x64(%ebp),%eax
-    14ca:	f7 d8                	neg    %eax
-    14cc:	39 f8                	cmp    %edi,%eax
-    14ce:	0f 4c c7             	cmovl  %edi,%eax
-    14d1:	e9 0e f3 ff ff       	jmp    0x7e4
-    14d6:	8b 45 9c             	mov    -0x64(%ebp),%eax
-    14d9:	8d 04 85 95 00 00 00 	lea    0x95(,%eax,4),%eax
-    14e0:	89 45 a0             	mov    %eax,-0x60(%ebp)
-    14e3:	8b 45 80             	mov    -0x80(%ebp),%eax
-    14e6:	85 c0                	test   %eax,%eax
-    14e8:	0f 85 aa f1 ff ff    	jne    0x698
-    14ee:	8b 45 88             	mov    -0x78(%ebp),%eax
-    14f1:	2b 45 9c             	sub    -0x64(%ebp),%eax
-    14f4:	8d 04 85 83 00 00 00 	lea    0x83(,%eax,4),%eax
-    14fb:	89 45 a0             	mov    %eax,-0x60(%ebp)
-    14fe:	e9 95 f1 ff ff       	jmp    0x698
-    1503:	8b 45 a4             	mov    -0x5c(%ebp),%eax
-    1506:	83 7d f0 01          	cmpl   $0x1,-0x10(%ebp)
-    150a:	8b 5d a8             	mov    -0x58(%ebp),%ebx
-    150d:	89 45 a0             	mov    %eax,-0x60(%ebp)
-    1510:	0f 8f 59 03 00 00    	jg     0x186f
-    1516:	8b 55 c4             	mov    -0x3c(%ebp),%edx
-    1519:	31 ff                	xor    %edi,%edi
-    151b:	39 d3                	cmp    %edx,%ebx
-    151d:	89 55 9c             	mov    %edx,-0x64(%ebp)
-    1520:	0f 86 52 03 00 00    	jbe    0x1878
-    1526:	83 7d 90 00          	cmpl   $0x0,-0x70(%ebp)
-    152a:	0f 8e b3 06 00 00    	jle    0x1be3
-    1530:	b8 18 00 00 00       	mov    $0x18,%eax
-    1535:	2b 45 90             	sub    -0x70(%ebp),%eax
-    1538:	89 45 8c             	mov    %eax,-0x74(%ebp)
-    153b:	74 21                	je     0x155e
-    153d:	89 44 24 0c          	mov    %eax,0xc(%esp)
-    1541:	c7 44 24 08 01 00 00 	movl   $0x1,0x8(%esp)
-    1548:	00 
-    1549:	8b 4d 80             	mov    -0x80(%ebp),%ecx
-    154c:	89 4c 24 04          	mov    %ecx,0x4(%esp)
-    1550:	89 0c 24             	mov    %ecx,(%esp)
-    1553:	e8 fc ff ff ff       	call   0x1554
-    1558:	8b 75 c4             	mov    -0x3c(%ebp),%esi
-    155b:	89 75 9c             	mov    %esi,-0x64(%ebp)
-    155e:	83 45 90 20          	addl   $0x20,-0x70(%ebp)
-    1562:	83 7d 90 18          	cmpl   $0x18,-0x70(%ebp)
-    1566:	0f 8f 8c 06 00 00    	jg     0x1bf8
-    156c:	8b 7d 9c             	mov    -0x64(%ebp),%edi
-    156f:	c7 45 9c 00 00 00 00 	movl   $0x0,-0x64(%ebp)
-    1576:	8b 55 a0             	mov    -0x60(%ebp),%edx
-    1579:	f7 da                	neg    %edx
-    157b:	89 55 98             	mov    %edx,-0x68(%ebp)
-    157e:	66 90                	xchg   %ax,%ax
-    1580:	39 df                	cmp    %ebx,%edi
-    1582:	0f 84 ed 00 00 00    	je     0x1675
-    1588:	8b 75 9c             	mov    -0x64(%ebp),%esi
-    158b:	89 fa                	mov    %edi,%edx
-    158d:	89 f0                	mov    %esi,%eax
-    158f:	f7 f3                	div    %ebx
-    1591:	89 c6                	mov    %eax,%esi
-    1593:	89 d7                	mov    %edx,%edi
-    1595:	8b 45 a0             	mov    -0x60(%ebp),%eax
-    1598:	f7 e6                	mul    %esi
-    159a:	8d 0c 1f             	lea    (%edi,%ebx,1),%ecx
-    159d:	89 75 94             	mov    %esi,-0x6c(%ebp)
-    15a0:	39 d7                	cmp    %edx,%edi
-    15a2:	72 08                	jb     0x15ac
-    15a4:	85 c0                	test   %eax,%eax
-    15a6:	74 1a                	je     0x15c2
-    15a8:	39 fa                	cmp    %edi,%edx
-    15aa:	75 16                	jne    0x15c2
-    15ac:	01 d9                	add    %ebx,%ecx
-    15ae:	01 df                	add    %ebx,%edi
-    15b0:	89 ce                	mov    %ecx,%esi
-    15b2:	29 de                	sub    %ebx,%esi
-    15b4:	83 6d 94 01          	subl   $0x1,-0x6c(%ebp)
-    15b8:	2b 45 a0             	sub    -0x60(%ebp),%eax
-    15bb:	83 da 00             	sbb    $0x0,%edx
-    15be:	39 de                	cmp    %ebx,%esi
-    15c0:	73 de                	jae    0x15a0
-    15c2:	8b 75 94             	mov    -0x6c(%ebp),%esi
-    15c5:	31 c9                	xor    %ecx,%ecx
-    15c7:	29 c1                	sub    %eax,%ecx
-    15c9:	19 d7                	sbb    %edx,%edi
-    15cb:	89 4d 9c             	mov    %ecx,-0x64(%ebp)
-    15ce:	8b 45 90             	mov    -0x70(%ebp),%eax
-    15d1:	85 c0                	test   %eax,%eax
-    15d3:	0f 85 87 00 00 00    	jne    0x1660
-    15d9:	85 f6                	test   %esi,%esi
-    15db:	0f 84 b1 00 00 00    	je     0x1692
-    15e1:	0f bd c6             	bsr    %esi,%eax
-    15e4:	8b 55 ec             	mov    -0x14(%ebp),%edx
-    15e7:	b9 20 00 00 00       	mov    $0x20,%ecx
-    15ec:	83 f0 1f             	xor    $0x1f,%eax
-    15ef:	29 c1                	sub    %eax,%ecx
-    15f1:	29 c2                	sub    %eax,%edx
-    15f3:	83 f9 18             	cmp    $0x18,%ecx
-    15f6:	89 55 ec             	mov    %edx,-0x14(%ebp)
-    15f9:	0f 8e 0d 06 00 00    	jle    0x1c0c
-    15ff:	83 c0 18             	add    $0x18,%eax
-    1602:	b9 20 00 00 00       	mov    $0x20,%ecx
-    1607:	29 c1                	sub    %eax,%ecx
-    1609:	89 45 8c             	mov    %eax,-0x74(%ebp)
-    160c:	89 f0                	mov    %esi,%eax
-    160e:	d3 e8                	shr    %cl,%eax
-    1610:	89 45 e8             	mov    %eax,-0x18(%ebp)
-    1613:	85 ff                	test   %edi,%edi
-    1615:	0f 85 bb 03 00 00    	jne    0x19d6
-    161b:	8b 8d 6c ff ff ff    	mov    -0x94(%ebp),%ecx
-    1621:	85 c9                	test   %ecx,%ecx
-    1623:	0f 85 ad 03 00 00    	jne    0x19d6
-    1629:	31 c0                	xor    %eax,%eax
-    162b:	83 7d 9c 00          	cmpl   $0x0,-0x64(%ebp)
-    162f:	0f 95 c0             	setne  %al
-    1632:	89 44 24 08          	mov    %eax,0x8(%esp)
-    1636:	b8 1f 00 00 00       	mov    $0x1f,%eax
-    163b:	83 ea 01             	sub    $0x1,%edx
-    163e:	2b 45 8c             	sub    -0x74(%ebp),%eax
-    1641:	89 34 24             	mov    %esi,(%esp)
-    1644:	89 44 24 04          	mov    %eax,0x4(%esp)
-    1648:	8b 8d 74 ff ff ff    	mov    -0x8c(%ebp),%ecx
-    164e:	8b 45 80             	mov    -0x80(%ebp),%eax
-    1651:	e8 fa eb ff ff       	call   0x250
-    1656:	e9 25 f6 ff ff       	jmp    0xc80
-    165b:	90                   	nop
-    165c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    1660:	83 7d 90 f9          	cmpl   $0xfffffff9,-0x70(%ebp)
-    1664:	7d 4a                	jge    0x16b0
-    1666:	89 75 e8             	mov    %esi,-0x18(%ebp)
-    1669:	83 45 90 20          	addl   $0x20,-0x70(%ebp)
-    166d:	8d 76 00             	lea    0x0(%esi),%esi
-    1670:	e9 0b ff ff ff       	jmp    0x1580
-    1675:	03 7d 9c             	add    -0x64(%ebp),%edi
-    1678:	73 6f                	jae    0x16e9
-    167a:	2b 7d a0             	sub    -0x60(%ebp),%edi
-    167d:	31 c9                	xor    %ecx,%ecx
-    167f:	be ff ff ff ff       	mov    $0xffffffff,%esi
-    1684:	03 4d a0             	add    -0x60(%ebp),%ecx
-    1687:	83 d7 00             	adc    $0x0,%edi
-    168a:	89 4d 9c             	mov    %ecx,-0x64(%ebp)
-    168d:	e9 3c ff ff ff       	jmp    0x15ce
-    1692:	83 6d ec 20          	subl   $0x20,-0x14(%ebp)
-    1696:	83 7d 90 18          	cmpl   $0x18,-0x70(%ebp)
-    169a:	89 75 e8             	mov    %esi,-0x18(%ebp)
-    169d:	0f 8e dd fe ff ff    	jle    0x1580
-    16a3:	8b 55 ec             	mov    -0x14(%ebp),%edx
-    16a6:	e9 68 ff ff ff       	jmp    0x1613
-    16ab:	90                   	nop
-    16ac:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    16b0:	b8 18 00 00 00       	mov    $0x18,%eax
-    16b5:	2b 45 90             	sub    -0x70(%ebp),%eax
-    16b8:	89 45 8c             	mov    %eax,-0x74(%ebp)
-    16bb:	74 e6                	je     0x16a3
-    16bd:	89 44 24 0c          	mov    %eax,0xc(%esp)
-    16c1:	c7 44 24 08 01 00 00 	movl   $0x1,0x8(%esp)
-    16c8:	00 
-    16c9:	8b 5d 80             	mov    -0x80(%ebp),%ebx
-    16cc:	89 5c 24 04          	mov    %ebx,0x4(%esp)
-    16d0:	89 1c 24             	mov    %ebx,(%esp)
-    16d3:	e8 fc ff ff ff       	call   0x16d4
-    16d8:	b9 20 00 00 00       	mov    $0x20,%ecx
-    16dd:	89 f0                	mov    %esi,%eax
-    16df:	2b 4d 8c             	sub    -0x74(%ebp),%ecx
-    16e2:	d3 e8                	shr    %cl,%eax
-    16e4:	09 45 e8             	or     %eax,-0x18(%ebp)
-    16e7:	eb ba                	jmp    0x16a3
-    16e9:	31 d2                	xor    %edx,%edx
-    16eb:	8b 75 a0             	mov    -0x60(%ebp),%esi
-    16ee:	83 7d a0 00          	cmpl   $0x0,-0x60(%ebp)
-    16f2:	8b 45 98             	mov    -0x68(%ebp),%eax
-    16f5:	0f 95 c2             	setne  %dl
-    16f8:	29 d6                	sub    %edx,%esi
-    16fa:	89 f2                	mov    %esi,%edx
-    16fc:	be ff ff ff ff       	mov    $0xffffffff,%esi
-    1701:	e9 94 fe ff ff       	jmp    0x159a
-    1706:	8b 55 c4             	mov    -0x3c(%ebp),%edx
-    1709:	8b 4d a4             	mov    -0x5c(%ebp),%ecx
-    170c:	8b 5d 90             	mov    -0x70(%ebp),%ebx
-    170f:	31 c0                	xor    %eax,%eax
-    1711:	f7 f1                	div    %ecx
-    1713:	85 db                	test   %ebx,%ebx
-    1715:	75 71                	jne    0x1788
-    1717:	85 c0                	test   %eax,%eax
-    1719:	74 7d                	je     0x1798
-    171b:	0f bd f0             	bsr    %eax,%esi
-    171e:	8b 5d ec             	mov    -0x14(%ebp),%ebx
-    1721:	bf 20 00 00 00       	mov    $0x20,%edi
-    1726:	83 f6 1f             	xor    $0x1f,%esi
-    1729:	29 f7                	sub    %esi,%edi
-    172b:	29 f3                	sub    %esi,%ebx
-    172d:	83 ff 18             	cmp    $0x18,%edi
-    1730:	89 5d ec             	mov    %ebx,-0x14(%ebp)
-    1733:	0f 8e f5 05 00 00    	jle    0x1d2e
-    1739:	89 c1                	mov    %eax,%ecx
-    173b:	83 c6 18             	add    $0x18,%esi
-    173e:	89 d8                	mov    %ebx,%eax
-    1740:	89 cb                	mov    %ecx,%ebx
-    1742:	b9 20 00 00 00       	mov    $0x20,%ecx
-    1747:	89 df                	mov    %ebx,%edi
-    1749:	29 f1                	sub    %esi,%ecx
-    174b:	d3 ef                	shr    %cl,%edi
-    174d:	89 7d e8             	mov    %edi,-0x18(%ebp)
-    1750:	83 e8 01             	sub    $0x1,%eax
-    1753:	85 d2                	test   %edx,%edx
-    1755:	0f 95 c2             	setne  %dl
-    1758:	0f b6 d2             	movzbl %dl,%edx
-    175b:	0b 95 6c ff ff ff    	or     -0x94(%ebp),%edx
-    1761:	89 1c 24             	mov    %ebx,(%esp)
-    1764:	89 54 24 08          	mov    %edx,0x8(%esp)
-    1768:	ba 1f 00 00 00       	mov    $0x1f,%edx
-    176d:	29 f2                	sub    %esi,%edx
-    176f:	89 54 24 04          	mov    %edx,0x4(%esp)
-    1773:	89 c2                	mov    %eax,%edx
-    1775:	8b 8d 74 ff ff ff    	mov    -0x8c(%ebp),%ecx
-    177b:	8b 45 80             	mov    -0x80(%ebp),%eax
-    177e:	e8 cd ea ff ff       	call   0x250
-    1783:	e9 f8 f4 ff ff       	jmp    0xc80
-    1788:	83 fb f9             	cmp    $0xfffffff9,%ebx
-    178b:	7d 2b                	jge    0x17b8
-    178d:	89 45 e8             	mov    %eax,-0x18(%ebp)
-    1790:	83 c3 20             	add    $0x20,%ebx
-    1793:	e9 77 ff ff ff       	jmp    0x170f
-    1798:	83 6d ec 20          	subl   $0x20,-0x14(%ebp)
-    179c:	83 fb 18             	cmp    $0x18,%ebx
-    179f:	89 45 e8             	mov    %eax,-0x18(%ebp)
-    17a2:	0f 8e 67 ff ff ff    	jle    0x170f
-    17a8:	89 c3                	mov    %eax,%ebx
-    17aa:	31 f6                	xor    %esi,%esi
-    17ac:	8b 45 ec             	mov    -0x14(%ebp),%eax
-    17af:	eb 9f                	jmp    0x1750
-    17b1:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
-    17b8:	89 5d 90             	mov    %ebx,-0x70(%ebp)
-    17bb:	be 18 00 00 00       	mov    $0x18,%esi
-    17c0:	89 c3                	mov    %eax,%ebx
-    17c2:	2b 75 90             	sub    -0x70(%ebp),%esi
-    17c5:	85 f6                	test   %esi,%esi
-    17c7:	7e e3                	jle    0x17ac
-    17c9:	89 74 24 0c          	mov    %esi,0xc(%esp)
-    17cd:	89 df                	mov    %ebx,%edi
-    17cf:	c7 44 24 08 01 00 00 	movl   $0x1,0x8(%esp)
-    17d6:	00 
-    17d7:	8b 45 80             	mov    -0x80(%ebp),%eax
-    17da:	89 44 24 04          	mov    %eax,0x4(%esp)
-    17de:	89 04 24             	mov    %eax,(%esp)
-    17e1:	89 95 60 ff ff ff    	mov    %edx,-0xa0(%ebp)
-    17e7:	e8 fc ff ff ff       	call   0x17e8
-    17ec:	b9 20 00 00 00       	mov    $0x20,%ecx
-    17f1:	8b 95 60 ff ff ff    	mov    -0xa0(%ebp),%edx
-    17f7:	29 f1                	sub    %esi,%ecx
-    17f9:	d3 ef                	shr    %cl,%edi
-    17fb:	09 7d e8             	or     %edi,-0x18(%ebp)
-    17fe:	eb ac                	jmp    0x17ac
-    1800:	c7 44 24 08 00 00 00 	movl   $0x0,0x8(%esp)
-    1807:	00 
-    1808:	8d 45 e8             	lea    -0x18(%ebp),%eax
-    180b:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
-    1812:	00 
-    1813:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
-    181a:	8b 8d 74 ff ff ff    	mov    -0x8c(%ebp),%ecx
-    1820:	8b 55 9c             	mov    -0x64(%ebp),%edx
-    1823:	e8 28 ea ff ff       	call   0x250
-    1828:	e9 53 f4 ff ff       	jmp    0xc80
-    182d:	b9 03 00 00 00       	mov    $0x3,%ecx
-    1832:	89 fb                	mov    %edi,%ebx
-    1834:	29 c1                	sub    %eax,%ecx
-    1836:	d3 eb                	shr    %cl,%ebx
-    1838:	89 d9                	mov    %ebx,%ecx
-    183a:	09 d1                	or     %edx,%ecx
-    183c:	89 4d e8             	mov    %ecx,-0x18(%ebp)
-    183f:	8d 48 1d             	lea    0x1d(%eax),%ecx
-    1842:	d3 e7                	shl    %cl,%edi
-    1844:	c7 44 24 08 01 00 00 	movl   $0x1,0x8(%esp)
-    184b:	00 
-    184c:	8d 5d e8             	lea    -0x18(%ebp),%ebx
-    184f:	c7 44 24 04 1f 00 00 	movl   $0x1f,0x4(%esp)
-    1856:	00 
-    1857:	89 d8                	mov    %ebx,%eax
-    1859:	89 3c 24             	mov    %edi,(%esp)
-    185c:	8b 8d 74 ff ff ff    	mov    -0x8c(%ebp),%ecx
-    1862:	8b 55 9c             	mov    -0x64(%ebp),%edx
-    1865:	e8 e6 e9 ff ff       	call   0x250
-    186a:	e9 11 f4 ff ff       	jmp    0xc80
-    186f:	8b 45 c4             	mov    -0x3c(%ebp),%eax
-    1872:	8b 7d c8             	mov    -0x38(%ebp),%edi
-    1875:	89 45 9c             	mov    %eax,-0x64(%ebp)
-    1878:	c7 45 8c 00 00 00 00 	movl   $0x0,-0x74(%ebp)
-    187f:	e9 f2 fc ff ff       	jmp    0x1576
-    1884:	8b 75 14             	mov    0x14(%ebp),%esi
-    1887:	0f b6 03             	movzbl (%ebx),%eax
-    188a:	8b 76 38             	mov    0x38(%esi),%esi
-    188d:	88 45 98             	mov    %al,-0x68(%ebp)
-    1890:	89 75 94             	mov    %esi,-0x6c(%ebp)
-    1893:	e9 e0 ec ff ff       	jmp    0x578
-    1898:	8d 7d e8             	lea    -0x18(%ebp),%edi
-    189b:	c1 e0 02             	shl    $0x2,%eax
-    189e:	89 7d 80             	mov    %edi,-0x80(%ebp)
-    18a1:	89 44 24 08          	mov    %eax,0x8(%esp)
-    18a5:	8b 45 94             	mov    -0x6c(%ebp),%eax
-    18a8:	89 3c 24             	mov    %edi,(%esp)
-    18ab:	89 44 24 04          	mov    %eax,0x4(%esp)
-    18af:	e8 fc ff ff ff       	call   0x18b0
-    18b4:	b9 1a 00 00 00       	mov    $0x1a,%ecx
-    18b9:	ba 56 55 55 55       	mov    $0x55555556,%edx
-    18be:	2b 4d 90             	sub    -0x70(%ebp),%ecx
-    18c1:	8b 7d ec             	mov    -0x14(%ebp),%edi
-    18c4:	89 c8                	mov    %ecx,%eax
-    18c6:	f7 ea                	imul   %edx
-    18c8:	c1 f9 1f             	sar    $0x1f,%ecx
-    18cb:	29 ca                	sub    %ecx,%edx
-    18cd:	8d 42 02             	lea    0x2(%edx),%eax
-    18d0:	e9 68 ef ff ff       	jmp    0x83d
-    18d5:	8b 55 9c             	mov    -0x64(%ebp),%edx
-    18d8:	8d 4d e8             	lea    -0x18(%ebp),%ecx
-    18db:	89 c3                	mov    %eax,%ebx
-    18dd:	89 4d 80             	mov    %ecx,-0x80(%ebp)
-    18e0:	83 ea 01             	sub    $0x1,%edx
-    18e3:	39 c7                	cmp    %eax,%edi
-    18e5:	89 95 7c ff ff ff    	mov    %edx,-0x84(%ebp)
-    18eb:	0f 8f ef 00 00 00    	jg     0x19e0
-    18f1:	8b 54 9d c4          	mov    -0x3c(%ebp,%ebx,4),%edx
-    18f5:	0f b6 4d 9c          	movzbl -0x64(%ebp),%ecx
-    18f9:	d3 ea                	shr    %cl,%edx
-    18fb:	89 55 e8             	mov    %edx,-0x18(%ebp)
-    18fe:	89 c2                	mov    %eax,%edx
-    1900:	e9 b3 fa ff ff       	jmp    0x13b8
-    1905:	8b 4d 0c             	mov    0xc(%ebp),%ecx
-    1908:	85 c9                	test   %ecx,%ecx
-    190a:	0f 84 6e f3 ff ff    	je     0xc7e
-    1910:	8b 45 08             	mov    0x8(%ebp),%eax
-    1913:	d9 ee                	fldz   
-    1915:	8b 7d 0c             	mov    0xc(%ebp),%edi
-    1918:	89 07                	mov    %eax,(%edi)
-    191a:	e9 61 f3 ff ff       	jmp    0xc80
-    191f:	39 fe                	cmp    %edi,%esi
-    1921:	0f 84 fd eb ff ff    	je     0x524
-    1927:	80 7d a0 70          	cmpb   $0x70,-0x60(%ebp)
-    192b:	0f 84 0f ec ff ff    	je     0x540
-    1931:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
-    1938:	e9 e7 eb ff ff       	jmp    0x524
-    193d:	8b 75 84             	mov    -0x7c(%ebp),%esi
-    1940:	8b 45 90             	mov    -0x70(%ebp),%eax
-    1943:	29 ce                	sub    %ecx,%esi
-    1945:	85 c0                	test   %eax,%eax
-    1947:	0f 8e 3a 02 00 00    	jle    0x1b87
-    194d:	89 f7                	mov    %esi,%edi
-    194f:	c1 e7 05             	shl    $0x5,%edi
-    1952:	03 7d 90             	add    -0x70(%ebp),%edi
-    1955:	83 ff 18             	cmp    $0x18,%edi
-    1958:	0f 8f c2 01 00 00    	jg     0x1b20
-    195e:	8b 4d f0             	mov    -0x10(%ebp),%ecx
-    1961:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
-    1968:	c7 85 7c ff ff ff 00 	movl   $0x0,-0x84(%ebp)
-    196f:	00 00 00 
-    1972:	89 7d 90             	mov    %edi,-0x70(%ebp)
-    1975:	85 c9                	test   %ecx,%ecx
-    1977:	7e 1e                	jle    0x1997
-    1979:	8b 7d 94             	mov    -0x6c(%ebp),%edi
-    197c:	8d 04 31             	lea    (%ecx,%esi,1),%eax
-    197f:	8d 14 8f             	lea    (%edi,%ecx,4),%edx
-    1982:	8d 04 87             	lea    (%edi,%eax,4),%eax
-    1985:	8d 76 00             	lea    0x0(%esi),%esi
-    1988:	8b 4a fc             	mov    -0x4(%edx),%ecx
-    198b:	83 ea 04             	sub    $0x4,%edx
-    198e:	89 08                	mov    %ecx,(%eax)
-    1990:	83 e8 04             	sub    $0x4,%eax
-    1993:	39 fa                	cmp    %edi,%edx
-    1995:	75 f1                	jne    0x1988
-    1997:	85 f6                	test   %esi,%esi
-    1999:	78 13                	js     0x19ae
-    199b:	8b 55 94             	mov    -0x6c(%ebp),%edx
-    199e:	31 c0                	xor    %eax,%eax
-    19a0:	c7 04 82 00 00 00 00 	movl   $0x0,(%edx,%eax,4)
-    19a7:	83 c0 01             	add    $0x1,%eax
-    19aa:	39 c6                	cmp    %eax,%esi
-    19ac:	7d f2                	jge    0x19a0
-    19ae:	8b 45 84             	mov    -0x7c(%ebp),%eax
-    19b1:	83 7d 90 18          	cmpl   $0x18,-0x70(%ebp)
-    19b5:	c7 44 85 a4 00 00 00 	movl   $0x0,-0x5c(%ebp,%eax,4)
-    19bc:	00 
-    19bd:	8b 4c 85 c4          	mov    -0x3c(%ebp,%eax,4),%ecx
-    19c1:	0f 8e be f0 ff ff    	jle    0xa85
-    19c7:	8b 7d ec             	mov    -0x14(%ebp),%edi
-    19ca:	c7 45 a0 00 00 00 00 	movl   $0x0,-0x60(%ebp)
-    19d1:	e9 f9 f1 ff ff       	jmp    0xbcf
-    19d6:	b8 01 00 00 00       	mov    $0x1,%eax
-    19db:	e9 52 fc ff ff       	jmp    0x1632
-    19e0:	8b 55 94             	mov    -0x6c(%ebp),%edx
-    19e3:	8b 5d 9c             	mov    -0x64(%ebp),%ebx
-    19e6:	c7 45 84 20 00 00 00 	movl   $0x20,-0x7c(%ebp)
-    19ed:	89 4d 8c             	mov    %ecx,-0x74(%ebp)
-    19f0:	29 5d 84             	sub    %ebx,-0x7c(%ebp)
-    19f3:	89 c3                	mov    %eax,%ebx
-    19f5:	8d 34 82             	lea    (%edx,%eax,4),%esi
-    19f8:	89 45 88             	mov    %eax,-0x78(%ebp)
-    19fb:	8b 46 04             	mov    0x4(%esi),%eax
-    19fe:	83 c3 01             	add    $0x1,%ebx
-    1a01:	0f b6 4d 84          	movzbl -0x7c(%ebp),%ecx
-    1a05:	8b 16                	mov    (%esi),%edx
-    1a07:	83 c6 04             	add    $0x4,%esi
-    1a0a:	d3 e0                	shl    %cl,%eax
-    1a0c:	0f b6 4d 9c          	movzbl -0x64(%ebp),%ecx
-    1a10:	d3 ea                	shr    %cl,%edx
-    1a12:	09 d0                	or     %edx,%eax
-    1a14:	8b 55 8c             	mov    -0x74(%ebp),%edx
-    1a17:	89 02                	mov    %eax,(%edx)
-    1a19:	83 c2 04             	add    $0x4,%edx
-    1a1c:	39 df                	cmp    %ebx,%edi
-    1a1e:	89 55 8c             	mov    %edx,-0x74(%ebp)
-    1a21:	7f d8                	jg     0x19fb
-    1a23:	8b 45 88             	mov    -0x78(%ebp),%eax
-    1a26:	89 da                	mov    %ebx,%edx
-    1a28:	29 c2                	sub    %eax,%edx
-    1a2a:	85 d2                	test   %edx,%edx
-    1a2c:	0f 8e bf fe ff ff    	jle    0x18f1
-    1a32:	89 c2                	mov    %eax,%edx
-    1a34:	e9 7f f9 ff ff       	jmp    0x13b8
-    1a39:	83 ea 17             	sub    $0x17,%edx
-    1a3c:	89 54 24 0c          	mov    %edx,0xc(%esp)
-    1a40:	ba 01 00 00 00       	mov    $0x1,%edx
-    1a45:	89 44 24 08          	mov    %eax,0x8(%esp)
-    1a49:	8b 75 94             	mov    -0x6c(%ebp),%esi
-    1a4c:	29 c2                	sub    %eax,%edx
-    1a4e:	8d 7d e8             	lea    -0x18(%ebp),%edi
-    1a51:	8d 04 97             	lea    (%edi,%edx,4),%eax
-    1a54:	89 74 24 04          	mov    %esi,0x4(%esp)
-    1a58:	89 7d 80             	mov    %edi,-0x80(%ebp)
-    1a5b:	89 04 24             	mov    %eax,(%esp)
-    1a5e:	e8 fc ff ff ff       	call   0x1a5f
-    1a63:	8b 55 f0             	mov    -0x10(%ebp),%edx
-    1a66:	6b ca fc             	imul   $0xfffffffc,%edx,%ecx
-    1a69:	f7 da                	neg    %edx
-    1a6b:	85 d2                	test   %edx,%edx
-    1a6d:	89 44 0d e8          	mov    %eax,-0x18(%ebp,%ecx,1)
-    1a71:	0f 8e 63 f6 ff ff    	jle    0x10da
-    1a77:	31 c0                	xor    %eax,%eax
-    1a79:	8b 4d 80             	mov    -0x80(%ebp),%ecx
-    1a7c:	c7 04 81 00 00 00 00 	movl   $0x0,(%ecx,%eax,4)
-    1a83:	83 c0 01             	add    $0x1,%eax
-    1a86:	39 c2                	cmp    %eax,%edx
-    1a88:	7f ef                	jg     0x1a79
-    1a8a:	e9 4b f6 ff ff       	jmp    0x10da
-    1a8f:	89 d0                	mov    %edx,%eax
-    1a91:	c1 e0 02             	shl    $0x2,%eax
-    1a94:	89 44 24 08          	mov    %eax,0x8(%esp)
-    1a98:	89 7c 24 04          	mov    %edi,0x4(%esp)
-    1a9c:	8b 45 88             	mov    -0x78(%ebp),%eax
-    1a9f:	89 04 24             	mov    %eax,(%esp)
-    1aa2:	e8 fc ff ff ff       	call   0x1aa3
-    1aa7:	e9 ae ee ff ff       	jmp    0x95a
-    1aac:	8b 45 14             	mov    0x14(%ebp),%eax
-    1aaf:	89 fb                	mov    %edi,%ebx
-    1ab1:	8b 48 38             	mov    0x38(%eax),%ecx
-    1ab4:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    1ab8:	83 c3 01             	add    $0x1,%ebx
-    1abb:	0f b6 03             	movzbl (%ebx),%eax
-    1abe:	8d 50 d0             	lea    -0x30(%eax),%edx
-    1ac1:	80 fa 09             	cmp    $0x9,%dl
-    1ac4:	76 f2                	jbe    0x1ab8
-    1ac6:	0f be d0             	movsbl %al,%edx
-    1ac9:	8b 14 91             	mov    (%ecx,%edx,4),%edx
-    1acc:	83 ea 61             	sub    $0x61,%edx
-    1acf:	80 fa 19             	cmp    $0x19,%dl
-    1ad2:	76 e4                	jbe    0x1ab8
-    1ad4:	3c 5f                	cmp    $0x5f,%al
-    1ad6:	74 e0                	je     0x1ab8
-    1ad8:	3c 29                	cmp    $0x29,%al
-    1ada:	0f 85 ed f7 ff ff    	jne    0x12cd
-    1ae0:	8b 55 14             	mov    0x14(%ebp),%edx
-    1ae3:	8d 45 e4             	lea    -0x1c(%ebp),%eax
-    1ae6:	83 c7 01             	add    $0x1,%edi
-    1ae9:	c7 44 24 0c 00 00 00 	movl   $0x0,0xc(%esp)
-    1af0:	00 
-    1af1:	c7 44 24 08 00 00 00 	movl   $0x0,0x8(%esp)
-    1af8:	00 
-    1af9:	89 44 24 04          	mov    %eax,0x4(%esp)
-    1afd:	89 54 24 10          	mov    %edx,0x10(%esp)
-    1b01:	89 3c 24             	mov    %edi,(%esp)
-    1b04:	e8 fc ff ff ff       	call   0x1b05
-    1b09:	39 5d e4             	cmp    %ebx,-0x1c(%ebp)
-    1b0c:	0f 84 99 01 00 00    	je     0x1cab
-    1b12:	d9 05 0c 00 00 00    	flds   0xc
-    1b18:	8d 7b 01             	lea    0x1(%ebx),%edi
-    1b1b:	e9 b3 f7 ff ff       	jmp    0x12d3
-    1b20:	b8 18 00 00 00       	mov    $0x18,%eax
-    1b25:	2b 45 90             	sub    -0x70(%ebp),%eax
-    1b28:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
-    1b2e:	0f 84 3e fe ff ff    	je     0x1972
-    1b34:	89 44 24 0c          	mov    %eax,0xc(%esp)
-    1b38:	c7 44 24 08 01 00 00 	movl   $0x1,0x8(%esp)
-    1b3f:	00 
-    1b40:	8b 45 80             	mov    -0x80(%ebp),%eax
-    1b43:	89 44 24 04          	mov    %eax,0x4(%esp)
-    1b47:	89 04 24             	mov    %eax,(%esp)
-    1b4a:	e8 fc ff ff ff       	call   0x1b4b
-    1b4f:	8b 4d f0             	mov    -0x10(%ebp),%ecx
-    1b52:	e9 1b fe ff ff       	jmp    0x1972
-    1b57:	89 c1                	mov    %eax,%ecx
-    1b59:	c7 45 88 00 00 00 00 	movl   $0x0,-0x78(%ebp)
-    1b60:	c7 45 9c 00 00 00 00 	movl   $0x0,-0x64(%ebp)
-    1b67:	e9 bf eb ff ff       	jmp    0x72b
-    1b6c:	8b 4d 84             	mov    -0x7c(%ebp),%ecx
-    1b6f:	f7 d1                	not    %ecx
-    1b71:	e9 98 f0 ff ff       	jmp    0xc0e
-    1b76:	83 ef 01             	sub    $0x1,%edi
-    1b79:	84 c9                	test   %cl,%cl
-    1b7b:	0f 44 7d 08          	cmove  0x8(%ebp),%edi
-    1b7f:	89 7d 08             	mov    %edi,0x8(%ebp)
-    1b82:	e9 6a f2 ff ff       	jmp    0xdf1
-    1b87:	6b c6 e0             	imul   $0xffffffe0,%esi,%eax
-    1b8a:	8b 4d f0             	mov    -0x10(%ebp),%ecx
-    1b8d:	01 45 ec             	add    %eax,-0x14(%ebp)
-    1b90:	c7 85 7c ff ff ff 00 	movl   $0x0,-0x84(%ebp)
-    1b97:	00 00 00 
-    1b9a:	e9 d6 fd ff ff       	jmp    0x1975
-    1b9f:	be 01 00 00 00       	mov    $0x1,%esi
-    1ba4:	89 f2                	mov    %esi,%edx
-    1ba6:	8d 4d e8             	lea    -0x18(%ebp),%ecx
-    1ba9:	29 c2                	sub    %eax,%edx
-    1bab:	c1 e0 02             	shl    $0x2,%eax
-    1bae:	89 4d 80             	mov    %ecx,-0x80(%ebp)
-    1bb1:	8d 14 91             	lea    (%ecx,%edx,4),%edx
-    1bb4:	89 44 24 08          	mov    %eax,0x8(%esp)
-    1bb8:	8b 7d 94             	mov    -0x6c(%ebp),%edi
-    1bbb:	89 14 24             	mov    %edx,(%esp)
-    1bbe:	89 7c 24 04          	mov    %edi,0x4(%esp)
-    1bc2:	e8 fc ff ff ff       	call   0x1bc3
-    1bc7:	31 c0                	xor    %eax,%eax
-    1bc9:	2b 75 f0             	sub    -0x10(%ebp),%esi
-    1bcc:	39 f0                	cmp    %esi,%eax
-    1bce:	0f 8d 06 f5 ff ff    	jge    0x10da
-    1bd4:	8b 55 80             	mov    -0x80(%ebp),%edx
-    1bd7:	c7 04 82 00 00 00 00 	movl   $0x0,(%edx,%eax,4)
-    1bde:	83 c0 01             	add    $0x1,%eax
-    1be1:	eb e9                	jmp    0x1bcc
-    1be3:	8b 45 90             	mov    -0x70(%ebp),%eax
-    1be6:	c7 45 8c 00 00 00 00 	movl   $0x0,-0x74(%ebp)
-    1bed:	83 e8 20             	sub    $0x20,%eax
-    1bf0:	89 45 ec             	mov    %eax,-0x14(%ebp)
-    1bf3:	e9 6a f9 ff ff       	jmp    0x1562
-    1bf8:	8b 7d 9c             	mov    -0x64(%ebp),%edi
-    1bfb:	31 f6                	xor    %esi,%esi
-    1bfd:	8b 55 ec             	mov    -0x14(%ebp),%edx
-    1c00:	c7 45 9c 00 00 00 00 	movl   $0x0,-0x64(%ebp)
-    1c07:	e9 07 fa ff ff       	jmp    0x1613
-    1c0c:	f7 d8                	neg    %eax
-    1c0e:	83 c0 20             	add    $0x20,%eax
-    1c11:	89 45 90             	mov    %eax,-0x70(%ebp)
-    1c14:	e9 7d fa ff ff       	jmp    0x1696
-    1c19:	a1 00 00 00 00       	mov    0x0,%eax
-    1c1e:	83 bd 74 ff ff ff 00 	cmpl   $0x0,-0x8c(%ebp)
-    1c25:	d9 05 08 00 00 00    	flds   0x8
-    1c2b:	d9 05 04 00 00 00    	flds   0x4
-    1c31:	65 c7 00 22 00 00 00 	movl   $0x22,%gs:(%eax)
-    1c38:	db c9                	fcmovne %st(1),%st
-    1c3a:	dd d9                	fstp   %st(1)
-    1c3c:	e9 3f f0 ff ff       	jmp    0xc80
-    1c41:	f7 d8                	neg    %eax
-    1c43:	83 c0 20             	add    $0x20,%eax
-    1c46:	89 45 90             	mov    %eax,-0x70(%ebp)
-    1c49:	e9 13 f8 ff ff       	jmp    0x1461
-    1c4e:	8b 85 7c ff ff ff    	mov    -0x84(%ebp),%eax
-    1c54:	89 f7                	mov    %esi,%edi
-    1c56:	0f b6 00             	movzbl (%eax),%eax
-    1c59:	88 45 a0             	mov    %al,-0x60(%ebp)
-    1c5c:	80 fa 30             	cmp    $0x30,%dl
-    1c5f:	74 34                	je     0x1c95
-    1c61:	80 7d a0 00          	cmpb   $0x0,-0x60(%ebp)
-    1c65:	74 3f                	je     0x1ca6
-    1c67:	0f b6 4d a0          	movzbl -0x60(%ebp),%ecx
-    1c6b:	38 0f                	cmp    %cl,(%edi)
-    1c6d:	0f 85 68 e8 ff ff    	jne    0x4db
-    1c73:	31 c0                	xor    %eax,%eax
-    1c75:	88 55 9c             	mov    %dl,-0x64(%ebp)
-    1c78:	eb 05                	jmp    0x1c7f
-    1c7a:	3a 0c 07             	cmp    (%edi,%eax,1),%cl
-    1c7d:	75 1e                	jne    0x1c9d
-    1c7f:	8b 95 7c ff ff ff    	mov    -0x84(%ebp),%edx
-    1c85:	83 c0 01             	add    $0x1,%eax
-    1c88:	0f b6 0c 02          	movzbl (%edx,%eax,1),%ecx
-    1c8c:	84 c9                	test   %cl,%cl
-    1c8e:	75 ea                	jne    0x1c7a
-    1c90:	83 e8 01             	sub    $0x1,%eax
-    1c93:	01 c7                	add    %eax,%edi
-    1c95:	83 c7 01             	add    $0x1,%edi
-    1c98:	0f b6 17             	movzbl (%edi),%edx
-    1c9b:	eb bf                	jmp    0x1c5c
-    1c9d:	0f b6 55 9c          	movzbl -0x64(%ebp),%edx
-    1ca1:	e9 35 e8 ff ff       	jmp    0x4db
-    1ca6:	83 c8 ff             	or     $0xffffffff,%eax
-    1ca9:	eb e8                	jmp    0x1c93
-    1cab:	25 ff ff 7f 00       	and    $0x7fffff,%eax
-    1cb0:	ba 00 00 40 00       	mov    $0x400000,%edx
-    1cb5:	0f 45 d0             	cmovne %eax,%edx
-    1cb8:	81 ca 00 00 80 7f    	or     $0x7f800000,%edx
-    1cbe:	89 95 58 ff ff ff    	mov    %edx,-0xa8(%ebp)
-    1cc4:	d9 85 58 ff ff ff    	flds   -0xa8(%ebp)
-    1cca:	e9 49 fe ff ff       	jmp    0x1b18
-    1ccf:	83 7d 88 ff          	cmpl   $0xffffffff,-0x78(%ebp)
-    1cd3:	74 12                	je     0x1ce7
-    1cd5:	a1 00 00 00 00       	mov    0x0,%eax
-    1cda:	83 7d 80 00          	cmpl   $0x0,-0x80(%ebp)
-    1cde:	65 c7 00 22 00 00 00 	movl   $0x22,%gs:(%eax)
-    1ce5:	74 53                	je     0x1d3a
-    1ce7:	b8 00 00 00 80       	mov    $0x80000000,%eax
-    1cec:	83 bd 74 ff ff ff 00 	cmpl   $0x0,-0x8c(%ebp)
-    1cf3:	0f 44 05 00 00 00 00 	cmove  0x0,%eax
-    1cfa:	83 c6 01             	add    $0x1,%esi
-    1cfd:	0f b6 16             	movzbl (%esi),%edx
-    1d00:	83 ea 30             	sub    $0x30,%edx
-    1d03:	80 fa 09             	cmp    $0x9,%dl
-    1d06:	76 f2                	jbe    0x1cfa
-    1d08:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
-    1d0c:	89 85 58 ff ff ff    	mov    %eax,-0xa8(%ebp)
-    1d12:	d9 85 58 ff ff ff    	flds   -0xa8(%ebp)
-    1d18:	0f 84 62 ef ff ff    	je     0xc80
-    1d1e:	8b 55 0c             	mov    0xc(%ebp),%edx
-    1d21:	89 32                	mov    %esi,(%edx)
-    1d23:	89 85 58 ff ff ff    	mov    %eax,-0xa8(%ebp)
-    1d29:	e9 52 ef ff ff       	jmp    0xc80
-    1d2e:	89 f3                	mov    %esi,%ebx
-    1d30:	f7 db                	neg    %ebx
-    1d32:	83 c3 20             	add    $0x20,%ebx
-    1d35:	e9 62 fa ff ff       	jmp    0x179c
-    1d3a:	b8 00 00 80 ff       	mov    $0xff800000,%eax
-    1d3f:	83 bd 74 ff ff ff 00 	cmpl   $0x0,-0x8c(%ebp)
-    1d46:	0f 44 05 04 00 00 00 	cmove  0x4,%eax
-    1d4d:	eb ab                	jmp    0x1cfa
-    1d4f:	31 c0                	xor    %eax,%eax
-    1d51:	88 55 8c             	mov    %dl,-0x74(%ebp)
-    1d54:	eb 0b                	jmp    0x1d61
-    1d56:	8b 55 a0             	mov    -0x60(%ebp),%edx
-    1d59:	3a 0c 02             	cmp    (%edx,%eax,1),%cl
-    1d5c:	75 4c                	jne    0x1daa
-    1d5e:	83 c0 01             	add    $0x1,%eax
-    1d61:	8b 95 7c ff ff ff    	mov    -0x84(%ebp),%edx
-    1d67:	0f b6 0c 02          	movzbl (%edx,%eax,1),%ecx
-    1d6b:	84 c9                	test   %cl,%cl
-    1d6d:	75 e7                	jne    0x1d56
-    1d6f:	8b 55 a0             	mov    -0x60(%ebp),%edx
-    1d72:	8d 54 02 ff          	lea    -0x1(%edx,%eax,1),%edx
-    1d76:	89 55 a0             	mov    %edx,-0x60(%ebp)
-    1d79:	e9 86 ef ff ff       	jmp    0xd04
-    1d7e:	8b 48 30             	mov    0x30(%eax),%ecx
-    1d81:	89 4d 80             	mov    %ecx,-0x80(%ebp)
-    1d84:	0f b6 11             	movzbl (%ecx),%edx
-    1d87:	83 ea 01             	sub    $0x1,%edx
-    1d8a:	80 fa 7d             	cmp    $0x7d,%dl
-    1d8d:	0f 87 5a e6 ff ff    	ja     0x3ed
-    1d93:	8b 58 2c             	mov    0x2c(%eax),%ebx
-    1d96:	89 9d 7c ff ff ff    	mov    %ebx,-0x84(%ebp)
-    1d9c:	80 3b 00             	cmpb   $0x0,(%ebx)
-    1d9f:	0f 85 59 e6 ff ff    	jne    0x3fe
-    1da5:	e9 43 e6 ff ff       	jmp    0x3ed
-    1daa:	0f b6 55 8c          	movzbl -0x74(%ebp),%edx
-    1dae:	e9 ba e7 ff ff       	jmp    0x56d
-    1db3:	a1 00 00 00 00       	mov    0x0,%eax
-    1db8:	65 c7 00 22 00 00 00 	movl   $0x22,%gs:(%eax)
-    1dbf:	90                   	nop
-    1dc0:	e9 3b f0 ff ff       	jmp    0xe00
-    1dc5:	a1 00 00 00 00       	mov    0x0,%eax
-    1dca:	65 c7 00 22 00 00 00 	movl   $0x22,%gs:(%eax)
-    1dd1:	e9 90 f4 ff ff       	jmp    0x1266
-    1dd6:	8d 76 00             	lea    0x0(%esi),%esi
-    1dd9:	8d bc 27 00 00 00 00 	lea    0x0(%edi,%eiz,1),%edi
-    1de0:	55                   	push   %ebp
-    1de1:	89 e5                	mov    %esp,%ebp
-    1de3:	83 ec 10             	sub    $0x10,%esp
-    1de6:	8b 45 10             	mov    0x10(%ebp),%eax
-    1de9:	c7 44 24 08 00 00 00 	movl   $0x0,0x8(%esp)
-    1df0:	00 
-    1df1:	89 44 24 0c          	mov    %eax,0xc(%esp)
-    1df5:	8b 45 0c             	mov    0xc(%ebp),%eax
-    1df8:	89 44 24 04          	mov    %eax,0x4(%esp)
-    1dfc:	8b 45 08             	mov    0x8(%ebp),%eax
-    1dff:	89 04 24             	mov    %eax,(%esp)
-    1e02:	e8 fc ff ff ff       	call   0x1e03
-    1e07:	c9                   	leave  
-    1e08:	c3                   	ret    
+    12a0:	89 34 24             	mov    %esi,(%esp)
+    12a3:	e8 fc ff ff ff       	call   0x12a4
+    12a8:	85 c0                	test   %eax,%eax
+    12aa:	0f 85 b7 f9 ff ff    	jne    0xc67
+    12b0:	80 7e 03 28          	cmpb   $0x28,0x3(%esi)
+    12b4:	8d 7e 03             	lea    0x3(%esi),%edi
+    12b7:	0f 84 df 07 00 00    	je     0x1a9c
+    12bd:	d9 05 0c 00 00 00    	flds   0xc
+    12c3:	8b 55 0c             	mov    0xc(%ebp),%edx
+    12c6:	85 d2                	test   %edx,%edx
+    12c8:	0f 84 aa f9 ff ff    	je     0xc78
+    12ce:	8b 4d 0c             	mov    0xc(%ebp),%ecx
+    12d1:	89 39                	mov    %edi,(%ecx)
+    12d3:	e9 a0 f9 ff ff       	jmp    0xc78
+    12d8:	89 55 9c             	mov    %edx,-0x64(%ebp)
+    12db:	83 e8 01             	sub    $0x1,%eax
+    12de:	89 4d a0             	mov    %ecx,-0x60(%ebp)
+    12e1:	89 d1                	mov    %edx,%ecx
+    12e3:	0f b6 55 94          	movzbl -0x6c(%ebp),%edx
+    12e7:	89 7d 80             	mov    %edi,-0x80(%ebp)
+    12ea:	89 9d 70 ff ff ff    	mov    %ebx,-0x90(%ebp)
+    12f0:	eb 42                	jmp    0x1334
+    12f2:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
+    12f8:	0f be 30             	movsbl (%eax),%esi
+    12fb:	83 ee 30             	sub    $0x30,%esi
+    12fe:	83 fe 09             	cmp    $0x9,%esi
+    1301:	0f 97 c3             	seta   %bl
+    1304:	89 de                	mov    %ebx,%esi
+    1306:	89 f3                	mov    %esi,%ebx
+    1308:	84 db                	test   %bl,%bl
+    130a:	75 25                	jne    0x1331
+    130c:	80 38 30             	cmpb   $0x30,(%eax)
+    130f:	75 3f                	jne    0x1350
+    1311:	83 e9 01             	sub    $0x1,%ecx
+    1314:	83 6d 9c 01          	subl   $0x1,-0x64(%ebp)
+    1318:	80 fa 01             	cmp    $0x1,%dl
+    131b:	19 f6                	sbb    %esi,%esi
+    131d:	83 e6 fd             	and    $0xfffffffd,%esi
+    1320:	83 c6 04             	add    $0x4,%esi
+    1323:	03 75 ec             	add    -0x14(%ebp),%esi
+    1326:	85 f6                	test   %esi,%esi
+    1328:	89 75 ec             	mov    %esi,-0x14(%ebp)
+    132b:	79 23                	jns    0x1350
+    132d:	85 c9                	test   %ecx,%ecx
+    132f:	7e 1f                	jle    0x1350
+    1331:	83 e8 01             	sub    $0x1,%eax
+    1334:	84 d2                	test   %dl,%dl
+    1336:	74 c0                	je     0x12f8
+    1338:	8b 75 14             	mov    0x14(%ebp),%esi
+    133b:	0f be 38             	movsbl (%eax),%edi
+    133e:	8b 5e 34             	mov    0x34(%esi),%ebx
+    1341:	0f b7 34 7b          	movzwl (%ebx,%edi,2),%esi
+    1345:	c1 ee 0c             	shr    $0xc,%esi
+    1348:	83 f6 01             	xor    $0x1,%esi
+    134b:	83 e6 01             	and    $0x1,%esi
+    134e:	eb b6                	jmp    0x1306
+    1350:	89 4d 98             	mov    %ecx,-0x68(%ebp)
+    1353:	8b 7d 80             	mov    -0x80(%ebp),%edi
+    1356:	8b 4d a0             	mov    -0x60(%ebp),%ecx
+    1359:	8b 9d 70 ff ff ff    	mov    -0x90(%ebp),%ebx
+    135f:	e9 bf f3 ff ff       	jmp    0x723
+    1364:	8b 45 88             	mov    -0x78(%ebp),%eax
+    1367:	2b 45 9c             	sub    -0x64(%ebp),%eax
+    136a:	83 c0 27             	add    $0x27,%eax
+    136d:	89 45 a0             	mov    %eax,-0x60(%ebp)
+    1370:	e9 1d f3 ff ff       	jmp    0x692
+    1375:	8b 55 90             	mov    -0x70(%ebp),%edx
+    1378:	83 ea 18             	sub    $0x18,%edx
+    137b:	89 d0                	mov    %edx,%eax
+    137d:	c1 f8 05             	sar    $0x5,%eax
+    1380:	83 e2 1f             	and    $0x1f,%edx
+    1383:	89 55 9c             	mov    %edx,-0x64(%ebp)
+    1386:	0f 85 39 05 00 00    	jne    0x18c5
+    138c:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
+    138f:	8d 50 ff             	lea    -0x1(%eax),%edx
+    1392:	8d 5d e8             	lea    -0x18(%ebp),%ebx
+    1395:	8b 04 81             	mov    (%ecx,%eax,4),%eax
+    1398:	c7 85 7c ff ff ff 1f 	movl   $0x1f,-0x84(%ebp)
+    139f:	00 00 00 
+    13a2:	89 5d 80             	mov    %ebx,-0x80(%ebp)
+    13a5:	89 45 e8             	mov    %eax,-0x18(%ebp)
+    13a8:	8b 75 c4             	mov    -0x3c(%ebp),%esi
+    13ab:	31 c0                	xor    %eax,%eax
+    13ad:	85 f6                	test   %esi,%esi
+    13af:	75 11                	jne    0x13c2
+    13b1:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
+    13b4:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    13b8:	83 c0 01             	add    $0x1,%eax
+    13bb:	8b 1c 81             	mov    (%ecx,%eax,4),%ebx
+    13be:	85 db                	test   %ebx,%ebx
+    13c0:	74 f6                	je     0x13b8
+    13c2:	8b 5d 90             	mov    -0x70(%ebp),%ebx
+    13c5:	8b 75 98             	mov    -0x68(%ebp),%esi
+    13c8:	83 eb 01             	sub    $0x1,%ebx
+    13cb:	39 d0                	cmp    %edx,%eax
+    13cd:	0f 9c c0             	setl   %al
+    13d0:	39 75 a0             	cmp    %esi,-0x60(%ebp)
+    13d3:	0f 9c c1             	setl   %cl
+    13d6:	09 c8                	or     %ecx,%eax
+    13d8:	83 e0 01             	and    $0x1,%eax
+    13db:	89 44 24 08          	mov    %eax,0x8(%esp)
+    13df:	8b bd 7c ff ff ff    	mov    -0x84(%ebp),%edi
+    13e5:	89 7c 24 04          	mov    %edi,0x4(%esp)
+    13e9:	8b 44 95 c4          	mov    -0x3c(%ebp,%edx,4),%eax
+    13ed:	89 da                	mov    %ebx,%edx
+    13ef:	89 04 24             	mov    %eax,(%esp)
+    13f2:	8b 8d 74 ff ff ff    	mov    -0x8c(%ebp),%ecx
+    13f8:	8b 45 80             	mov    -0x80(%ebp),%eax
+    13fb:	e8 50 ee ff ff       	call   0x250
+    1400:	e9 73 f8 ff ff       	jmp    0xc78
+    1405:	8b 7d 14             	mov    0x14(%ebp),%edi
+    1408:	83 c6 01             	add    $0x1,%esi
+    140b:	8b 57 38             	mov    0x38(%edi),%edx
+    140e:	8b 14 82             	mov    (%edx,%eax,4),%edx
+    1411:	83 ea 57             	sub    $0x57,%edx
+    1414:	e9 44 fd ff ff       	jmp    0x115d
+    1419:	8b 55 f0             	mov    -0x10(%ebp),%edx
+    141c:	89 44 95 c4          	mov    %eax,-0x3c(%ebp,%edx,4)
+    1420:	83 c2 01             	add    $0x1,%edx
+    1423:	89 55 f0             	mov    %edx,-0x10(%ebp)
+    1426:	e9 ab f5 ff ff       	jmp    0x9d6
+    142b:	8b 4d f0             	mov    -0x10(%ebp),%ecx
+    142e:	e9 0e f6 ff ff       	jmp    0xa41
+    1433:	90                   	nop
+    1434:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    1438:	83 7d 90 f9          	cmpl   $0xfffffff9,-0x70(%ebp)
+    143c:	7d 32                	jge    0x1470
+    143e:	8b 7d a0             	mov    -0x60(%ebp),%edi
+    1441:	83 45 90 20          	addl   $0x20,-0x70(%ebp)
+    1445:	89 7d e8             	mov    %edi,-0x18(%ebp)
+    1448:	e9 4b f6 ff ff       	jmp    0xa98
+    144d:	83 6d ec 20          	subl   $0x20,-0x14(%ebp)
+    1451:	8b 75 a0             	mov    -0x60(%ebp),%esi
+    1454:	83 7d 90 18          	cmpl   $0x18,-0x70(%ebp)
+    1458:	89 75 e8             	mov    %esi,-0x18(%ebp)
+    145b:	0f 8e 37 f6 ff ff    	jle    0xa98
+    1461:	8b 5d 84             	mov    -0x7c(%ebp),%ebx
+    1464:	8b 7d ec             	mov    -0x14(%ebp),%edi
+    1467:	8b 4c 9d c4          	mov    -0x3c(%ebp,%ebx,4),%ecx
+    146b:	e9 57 f7 ff ff       	jmp    0xbc7
+    1470:	b8 18 00 00 00       	mov    $0x18,%eax
+    1475:	2b 45 90             	sub    -0x70(%ebp),%eax
+    1478:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
+    147e:	74 e1                	je     0x1461
+    1480:	89 44 24 0c          	mov    %eax,0xc(%esp)
+    1484:	c7 44 24 08 01 00 00 	movl   $0x1,0x8(%esp)
+    148b:	00 
+    148c:	8b 45 80             	mov    -0x80(%ebp),%eax
+    148f:	89 44 24 04          	mov    %eax,0x4(%esp)
+    1493:	89 04 24             	mov    %eax,(%esp)
+    1496:	e8 fc ff ff ff       	call   0x1497
+    149b:	8b 55 a0             	mov    -0x60(%ebp),%edx
+    149e:	b9 20 00 00 00       	mov    $0x20,%ecx
+    14a3:	2b 8d 7c ff ff ff    	sub    -0x84(%ebp),%ecx
+    14a9:	d3 ea                	shr    %cl,%edx
+    14ab:	09 55 e8             	or     %edx,-0x18(%ebp)
+    14ae:	eb b1                	jmp    0x1461
+    14b0:	31 ff                	xor    %edi,%edi
+    14b2:	e9 d7 ef ff ff       	jmp    0x48e
+    14b7:	8b 45 9c             	mov    -0x64(%ebp),%eax
+    14ba:	f7 d8                	neg    %eax
+    14bc:	39 f8                	cmp    %edi,%eax
+    14be:	0f 4c c7             	cmovl  %edi,%eax
+    14c1:	e9 14 f3 ff ff       	jmp    0x7da
+    14c6:	8b 45 9c             	mov    -0x64(%ebp),%eax
+    14c9:	8d 04 85 95 00 00 00 	lea    0x95(,%eax,4),%eax
+    14d0:	89 45 a0             	mov    %eax,-0x60(%ebp)
+    14d3:	8b 45 80             	mov    -0x80(%ebp),%eax
+    14d6:	85 c0                	test   %eax,%eax
+    14d8:	0f 85 b4 f1 ff ff    	jne    0x692
+    14de:	8b 45 88             	mov    -0x78(%ebp),%eax
+    14e1:	2b 45 9c             	sub    -0x64(%ebp),%eax
+    14e4:	8d 04 85 83 00 00 00 	lea    0x83(,%eax,4),%eax
+    14eb:	89 45 a0             	mov    %eax,-0x60(%ebp)
+    14ee:	e9 9f f1 ff ff       	jmp    0x692
+    14f3:	8b 45 a4             	mov    -0x5c(%ebp),%eax
+    14f6:	83 7d f0 01          	cmpl   $0x1,-0x10(%ebp)
+    14fa:	8b 5d a8             	mov    -0x58(%ebp),%ebx
+    14fd:	89 45 a0             	mov    %eax,-0x60(%ebp)
+    1500:	0f 8f 59 03 00 00    	jg     0x185f
+    1506:	8b 55 c4             	mov    -0x3c(%ebp),%edx
+    1509:	31 ff                	xor    %edi,%edi
+    150b:	39 d3                	cmp    %edx,%ebx
+    150d:	89 55 9c             	mov    %edx,-0x64(%ebp)
+    1510:	0f 86 52 03 00 00    	jbe    0x1868
+    1516:	83 7d 90 00          	cmpl   $0x0,-0x70(%ebp)
+    151a:	0f 8e b3 06 00 00    	jle    0x1bd3
+    1520:	b8 18 00 00 00       	mov    $0x18,%eax
+    1525:	2b 45 90             	sub    -0x70(%ebp),%eax
+    1528:	89 45 8c             	mov    %eax,-0x74(%ebp)
+    152b:	74 21                	je     0x154e
+    152d:	89 44 24 0c          	mov    %eax,0xc(%esp)
+    1531:	c7 44 24 08 01 00 00 	movl   $0x1,0x8(%esp)
+    1538:	00 
+    1539:	8b 4d 80             	mov    -0x80(%ebp),%ecx
+    153c:	89 4c 24 04          	mov    %ecx,0x4(%esp)
+    1540:	89 0c 24             	mov    %ecx,(%esp)
+    1543:	e8 fc ff ff ff       	call   0x1544
+    1548:	8b 75 c4             	mov    -0x3c(%ebp),%esi
+    154b:	89 75 9c             	mov    %esi,-0x64(%ebp)
+    154e:	83 45 90 20          	addl   $0x20,-0x70(%ebp)
+    1552:	83 7d 90 18          	cmpl   $0x18,-0x70(%ebp)
+    1556:	0f 8f 8c 06 00 00    	jg     0x1be8
+    155c:	8b 7d 9c             	mov    -0x64(%ebp),%edi
+    155f:	c7 45 9c 00 00 00 00 	movl   $0x0,-0x64(%ebp)
+    1566:	8b 55 a0             	mov    -0x60(%ebp),%edx
+    1569:	f7 da                	neg    %edx
+    156b:	89 55 98             	mov    %edx,-0x68(%ebp)
+    156e:	66 90                	xchg   %ax,%ax
+    1570:	39 df                	cmp    %ebx,%edi
+    1572:	0f 84 ed 00 00 00    	je     0x1665
+    1578:	8b 75 9c             	mov    -0x64(%ebp),%esi
+    157b:	89 fa                	mov    %edi,%edx
+    157d:	89 f0                	mov    %esi,%eax
+    157f:	f7 f3                	div    %ebx
+    1581:	89 c6                	mov    %eax,%esi
+    1583:	89 d7                	mov    %edx,%edi
+    1585:	8b 45 a0             	mov    -0x60(%ebp),%eax
+    1588:	f7 e6                	mul    %esi
+    158a:	8d 0c 1f             	lea    (%edi,%ebx,1),%ecx
+    158d:	89 75 94             	mov    %esi,-0x6c(%ebp)
+    1590:	39 d7                	cmp    %edx,%edi
+    1592:	72 08                	jb     0x159c
+    1594:	85 c0                	test   %eax,%eax
+    1596:	74 1a                	je     0x15b2
+    1598:	39 fa                	cmp    %edi,%edx
+    159a:	75 16                	jne    0x15b2
+    159c:	01 d9                	add    %ebx,%ecx
+    159e:	01 df                	add    %ebx,%edi
+    15a0:	89 ce                	mov    %ecx,%esi
+    15a2:	29 de                	sub    %ebx,%esi
+    15a4:	83 6d 94 01          	subl   $0x1,-0x6c(%ebp)
+    15a8:	2b 45 a0             	sub    -0x60(%ebp),%eax
+    15ab:	83 da 00             	sbb    $0x0,%edx
+    15ae:	39 de                	cmp    %ebx,%esi
+    15b0:	73 de                	jae    0x1590
+    15b2:	8b 75 94             	mov    -0x6c(%ebp),%esi
+    15b5:	31 c9                	xor    %ecx,%ecx
+    15b7:	29 c1                	sub    %eax,%ecx
+    15b9:	19 d7                	sbb    %edx,%edi
+    15bb:	89 4d 9c             	mov    %ecx,-0x64(%ebp)
+    15be:	8b 45 90             	mov    -0x70(%ebp),%eax
+    15c1:	85 c0                	test   %eax,%eax
+    15c3:	0f 85 87 00 00 00    	jne    0x1650
+    15c9:	85 f6                	test   %esi,%esi
+    15cb:	0f 84 b1 00 00 00    	je     0x1682
+    15d1:	0f bd c6             	bsr    %esi,%eax
+    15d4:	8b 55 ec             	mov    -0x14(%ebp),%edx
+    15d7:	b9 20 00 00 00       	mov    $0x20,%ecx
+    15dc:	83 f0 1f             	xor    $0x1f,%eax
+    15df:	29 c1                	sub    %eax,%ecx
+    15e1:	29 c2                	sub    %eax,%edx
+    15e3:	83 f9 18             	cmp    $0x18,%ecx
+    15e6:	89 55 ec             	mov    %edx,-0x14(%ebp)
+    15e9:	0f 8e 0d 06 00 00    	jle    0x1bfc
+    15ef:	83 c0 18             	add    $0x18,%eax
+    15f2:	b9 20 00 00 00       	mov    $0x20,%ecx
+    15f7:	29 c1                	sub    %eax,%ecx
+    15f9:	89 45 8c             	mov    %eax,-0x74(%ebp)
+    15fc:	89 f0                	mov    %esi,%eax
+    15fe:	d3 e8                	shr    %cl,%eax
+    1600:	89 45 e8             	mov    %eax,-0x18(%ebp)
+    1603:	85 ff                	test   %edi,%edi
+    1605:	0f 85 bb 03 00 00    	jne    0x19c6
+    160b:	8b 8d 6c ff ff ff    	mov    -0x94(%ebp),%ecx
+    1611:	85 c9                	test   %ecx,%ecx
+    1613:	0f 85 ad 03 00 00    	jne    0x19c6
+    1619:	31 c0                	xor    %eax,%eax
+    161b:	83 7d 9c 00          	cmpl   $0x0,-0x64(%ebp)
+    161f:	0f 95 c0             	setne  %al
+    1622:	89 44 24 08          	mov    %eax,0x8(%esp)
+    1626:	b8 1f 00 00 00       	mov    $0x1f,%eax
+    162b:	83 ea 01             	sub    $0x1,%edx
+    162e:	2b 45 8c             	sub    -0x74(%ebp),%eax
+    1631:	89 34 24             	mov    %esi,(%esp)
+    1634:	89 44 24 04          	mov    %eax,0x4(%esp)
+    1638:	8b 8d 74 ff ff ff    	mov    -0x8c(%ebp),%ecx
+    163e:	8b 45 80             	mov    -0x80(%ebp),%eax
+    1641:	e8 0a ec ff ff       	call   0x250
+    1646:	e9 2d f6 ff ff       	jmp    0xc78
+    164b:	90                   	nop
+    164c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    1650:	83 7d 90 f9          	cmpl   $0xfffffff9,-0x70(%ebp)
+    1654:	7d 4a                	jge    0x16a0
+    1656:	89 75 e8             	mov    %esi,-0x18(%ebp)
+    1659:	83 45 90 20          	addl   $0x20,-0x70(%ebp)
+    165d:	8d 76 00             	lea    0x0(%esi),%esi
+    1660:	e9 0b ff ff ff       	jmp    0x1570
+    1665:	03 7d 9c             	add    -0x64(%ebp),%edi
+    1668:	73 6f                	jae    0x16d9
+    166a:	2b 7d a0             	sub    -0x60(%ebp),%edi
+    166d:	31 c9                	xor    %ecx,%ecx
+    166f:	be ff ff ff ff       	mov    $0xffffffff,%esi
+    1674:	03 4d a0             	add    -0x60(%ebp),%ecx
+    1677:	83 d7 00             	adc    $0x0,%edi
+    167a:	89 4d 9c             	mov    %ecx,-0x64(%ebp)
+    167d:	e9 3c ff ff ff       	jmp    0x15be
+    1682:	83 6d ec 20          	subl   $0x20,-0x14(%ebp)
+    1686:	83 7d 90 18          	cmpl   $0x18,-0x70(%ebp)
+    168a:	89 75 e8             	mov    %esi,-0x18(%ebp)
+    168d:	0f 8e dd fe ff ff    	jle    0x1570
+    1693:	8b 55 ec             	mov    -0x14(%ebp),%edx
+    1696:	e9 68 ff ff ff       	jmp    0x1603
+    169b:	90                   	nop
+    169c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    16a0:	b8 18 00 00 00       	mov    $0x18,%eax
+    16a5:	2b 45 90             	sub    -0x70(%ebp),%eax
+    16a8:	89 45 8c             	mov    %eax,-0x74(%ebp)
+    16ab:	74 e6                	je     0x1693
+    16ad:	89 44 24 0c          	mov    %eax,0xc(%esp)
+    16b1:	c7 44 24 08 01 00 00 	movl   $0x1,0x8(%esp)
+    16b8:	00 
+    16b9:	8b 5d 80             	mov    -0x80(%ebp),%ebx
+    16bc:	89 5c 24 04          	mov    %ebx,0x4(%esp)
+    16c0:	89 1c 24             	mov    %ebx,(%esp)
+    16c3:	e8 fc ff ff ff       	call   0x16c4
+    16c8:	b9 20 00 00 00       	mov    $0x20,%ecx
+    16cd:	89 f0                	mov    %esi,%eax
+    16cf:	2b 4d 8c             	sub    -0x74(%ebp),%ecx
+    16d2:	d3 e8                	shr    %cl,%eax
+    16d4:	09 45 e8             	or     %eax,-0x18(%ebp)
+    16d7:	eb ba                	jmp    0x1693
+    16d9:	31 d2                	xor    %edx,%edx
+    16db:	8b 75 a0             	mov    -0x60(%ebp),%esi
+    16de:	83 7d a0 00          	cmpl   $0x0,-0x60(%ebp)
+    16e2:	8b 45 98             	mov    -0x68(%ebp),%eax
+    16e5:	0f 95 c2             	setne  %dl
+    16e8:	29 d6                	sub    %edx,%esi
+    16ea:	89 f2                	mov    %esi,%edx
+    16ec:	be ff ff ff ff       	mov    $0xffffffff,%esi
+    16f1:	e9 94 fe ff ff       	jmp    0x158a
+    16f6:	8b 55 c4             	mov    -0x3c(%ebp),%edx
+    16f9:	8b 4d a4             	mov    -0x5c(%ebp),%ecx
+    16fc:	8b 5d 90             	mov    -0x70(%ebp),%ebx
+    16ff:	31 c0                	xor    %eax,%eax
+    1701:	f7 f1                	div    %ecx
+    1703:	85 db                	test   %ebx,%ebx
+    1705:	75 71                	jne    0x1778
+    1707:	85 c0                	test   %eax,%eax
+    1709:	74 7d                	je     0x1788
+    170b:	0f bd f0             	bsr    %eax,%esi
+    170e:	8b 5d ec             	mov    -0x14(%ebp),%ebx
+    1711:	bf 20 00 00 00       	mov    $0x20,%edi
+    1716:	83 f6 1f             	xor    $0x1f,%esi
+    1719:	29 f7                	sub    %esi,%edi
+    171b:	29 f3                	sub    %esi,%ebx
+    171d:	83 ff 18             	cmp    $0x18,%edi
+    1720:	89 5d ec             	mov    %ebx,-0x14(%ebp)
+    1723:	0f 8e f5 05 00 00    	jle    0x1d1e
+    1729:	89 c1                	mov    %eax,%ecx
+    172b:	83 c6 18             	add    $0x18,%esi
+    172e:	89 d8                	mov    %ebx,%eax
+    1730:	89 cb                	mov    %ecx,%ebx
+    1732:	b9 20 00 00 00       	mov    $0x20,%ecx
+    1737:	89 df                	mov    %ebx,%edi
+    1739:	29 f1                	sub    %esi,%ecx
+    173b:	d3 ef                	shr    %cl,%edi
+    173d:	89 7d e8             	mov    %edi,-0x18(%ebp)
+    1740:	83 e8 01             	sub    $0x1,%eax
+    1743:	85 d2                	test   %edx,%edx
+    1745:	0f 95 c2             	setne  %dl
+    1748:	0f b6 d2             	movzbl %dl,%edx
+    174b:	0b 95 6c ff ff ff    	or     -0x94(%ebp),%edx
+    1751:	89 1c 24             	mov    %ebx,(%esp)
+    1754:	89 54 24 08          	mov    %edx,0x8(%esp)
+    1758:	ba 1f 00 00 00       	mov    $0x1f,%edx
+    175d:	29 f2                	sub    %esi,%edx
+    175f:	89 54 24 04          	mov    %edx,0x4(%esp)
+    1763:	89 c2                	mov    %eax,%edx
+    1765:	8b 8d 74 ff ff ff    	mov    -0x8c(%ebp),%ecx
+    176b:	8b 45 80             	mov    -0x80(%ebp),%eax
+    176e:	e8 dd ea ff ff       	call   0x250
+    1773:	e9 00 f5 ff ff       	jmp    0xc78
+    1778:	83 fb f9             	cmp    $0xfffffff9,%ebx
+    177b:	7d 2b                	jge    0x17a8
+    177d:	89 45 e8             	mov    %eax,-0x18(%ebp)
+    1780:	83 c3 20             	add    $0x20,%ebx
+    1783:	e9 77 ff ff ff       	jmp    0x16ff
+    1788:	83 6d ec 20          	subl   $0x20,-0x14(%ebp)
+    178c:	83 fb 18             	cmp    $0x18,%ebx
+    178f:	89 45 e8             	mov    %eax,-0x18(%ebp)
+    1792:	0f 8e 67 ff ff ff    	jle    0x16ff
+    1798:	89 c3                	mov    %eax,%ebx
+    179a:	31 f6                	xor    %esi,%esi
+    179c:	8b 45 ec             	mov    -0x14(%ebp),%eax
+    179f:	eb 9f                	jmp    0x1740
+    17a1:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
+    17a8:	89 5d 90             	mov    %ebx,-0x70(%ebp)
+    17ab:	be 18 00 00 00       	mov    $0x18,%esi
+    17b0:	89 c3                	mov    %eax,%ebx
+    17b2:	2b 75 90             	sub    -0x70(%ebp),%esi
+    17b5:	85 f6                	test   %esi,%esi
+    17b7:	7e e3                	jle    0x179c
+    17b9:	89 74 24 0c          	mov    %esi,0xc(%esp)
+    17bd:	89 df                	mov    %ebx,%edi
+    17bf:	c7 44 24 08 01 00 00 	movl   $0x1,0x8(%esp)
+    17c6:	00 
+    17c7:	8b 45 80             	mov    -0x80(%ebp),%eax
+    17ca:	89 44 24 04          	mov    %eax,0x4(%esp)
+    17ce:	89 04 24             	mov    %eax,(%esp)
+    17d1:	89 95 60 ff ff ff    	mov    %edx,-0xa0(%ebp)
+    17d7:	e8 fc ff ff ff       	call   0x17d8
+    17dc:	b9 20 00 00 00       	mov    $0x20,%ecx
+    17e1:	8b 95 60 ff ff ff    	mov    -0xa0(%ebp),%edx
+    17e7:	29 f1                	sub    %esi,%ecx
+    17e9:	d3 ef                	shr    %cl,%edi
+    17eb:	09 7d e8             	or     %edi,-0x18(%ebp)
+    17ee:	eb ac                	jmp    0x179c
+    17f0:	c7 44 24 08 00 00 00 	movl   $0x0,0x8(%esp)
+    17f7:	00 
+    17f8:	8d 45 e8             	lea    -0x18(%ebp),%eax
+    17fb:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
+    1802:	00 
+    1803:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
+    180a:	8b 8d 74 ff ff ff    	mov    -0x8c(%ebp),%ecx
+    1810:	8b 55 9c             	mov    -0x64(%ebp),%edx
+    1813:	e8 38 ea ff ff       	call   0x250
+    1818:	e9 5b f4 ff ff       	jmp    0xc78
+    181d:	b9 03 00 00 00       	mov    $0x3,%ecx
+    1822:	89 fb                	mov    %edi,%ebx
+    1824:	29 c1                	sub    %eax,%ecx
+    1826:	d3 eb                	shr    %cl,%ebx
+    1828:	89 d9                	mov    %ebx,%ecx
+    182a:	09 d1                	or     %edx,%ecx
+    182c:	89 4d e8             	mov    %ecx,-0x18(%ebp)
+    182f:	8d 48 1d             	lea    0x1d(%eax),%ecx
+    1832:	d3 e7                	shl    %cl,%edi
+    1834:	c7 44 24 08 01 00 00 	movl   $0x1,0x8(%esp)
+    183b:	00 
+    183c:	8d 5d e8             	lea    -0x18(%ebp),%ebx
+    183f:	c7 44 24 04 1f 00 00 	movl   $0x1f,0x4(%esp)
+    1846:	00 
+    1847:	89 d8                	mov    %ebx,%eax
+    1849:	89 3c 24             	mov    %edi,(%esp)
+    184c:	8b 8d 74 ff ff ff    	mov    -0x8c(%ebp),%ecx
+    1852:	8b 55 9c             	mov    -0x64(%ebp),%edx
+    1855:	e8 f6 e9 ff ff       	call   0x250
+    185a:	e9 19 f4 ff ff       	jmp    0xc78
+    185f:	8b 45 c4             	mov    -0x3c(%ebp),%eax
+    1862:	8b 7d c8             	mov    -0x38(%ebp),%edi
+    1865:	89 45 9c             	mov    %eax,-0x64(%ebp)
+    1868:	c7 45 8c 00 00 00 00 	movl   $0x0,-0x74(%ebp)
+    186f:	e9 f2 fc ff ff       	jmp    0x1566
+    1874:	8b 75 14             	mov    0x14(%ebp),%esi
+    1877:	8b 76 38             	mov    0x38(%esi),%esi
+    187a:	89 75 94             	mov    %esi,-0x6c(%ebp)
+    187d:	0f b6 03             	movzbl (%ebx),%eax
+    1880:	88 45 98             	mov    %al,-0x68(%ebp)
+    1883:	e9 f0 ec ff ff       	jmp    0x578
+    1888:	8d 7d e8             	lea    -0x18(%ebp),%edi
+    188b:	c1 e0 02             	shl    $0x2,%eax
+    188e:	89 7d 80             	mov    %edi,-0x80(%ebp)
+    1891:	89 44 24 08          	mov    %eax,0x8(%esp)
+    1895:	8b 45 94             	mov    -0x6c(%ebp),%eax
+    1898:	89 3c 24             	mov    %edi,(%esp)
+    189b:	89 44 24 04          	mov    %eax,0x4(%esp)
+    189f:	e8 fc ff ff ff       	call   0x18a0
+    18a4:	b9 1a 00 00 00       	mov    $0x1a,%ecx
+    18a9:	ba 56 55 55 55       	mov    $0x55555556,%edx
+    18ae:	2b 4d 90             	sub    -0x70(%ebp),%ecx
+    18b1:	8b 7d ec             	mov    -0x14(%ebp),%edi
+    18b4:	89 c8                	mov    %ecx,%eax
+    18b6:	f7 ea                	imul   %edx
+    18b8:	c1 f9 1f             	sar    $0x1f,%ecx
+    18bb:	29 ca                	sub    %ecx,%edx
+    18bd:	8d 42 02             	lea    0x2(%edx),%eax
+    18c0:	e9 6e ef ff ff       	jmp    0x833
+    18c5:	8b 55 9c             	mov    -0x64(%ebp),%edx
+    18c8:	8d 4d e8             	lea    -0x18(%ebp),%ecx
+    18cb:	89 c3                	mov    %eax,%ebx
+    18cd:	89 4d 80             	mov    %ecx,-0x80(%ebp)
+    18d0:	83 ea 01             	sub    $0x1,%edx
+    18d3:	39 c7                	cmp    %eax,%edi
+    18d5:	89 95 7c ff ff ff    	mov    %edx,-0x84(%ebp)
+    18db:	0f 8f ef 00 00 00    	jg     0x19d0
+    18e1:	8b 54 9d c4          	mov    -0x3c(%ebp,%ebx,4),%edx
+    18e5:	0f b6 4d 9c          	movzbl -0x64(%ebp),%ecx
+    18e9:	d3 ea                	shr    %cl,%edx
+    18eb:	89 55 e8             	mov    %edx,-0x18(%ebp)
+    18ee:	89 c2                	mov    %eax,%edx
+    18f0:	e9 b3 fa ff ff       	jmp    0x13a8
+    18f5:	8b 4d 0c             	mov    0xc(%ebp),%ecx
+    18f8:	85 c9                	test   %ecx,%ecx
+    18fa:	0f 84 76 f3 ff ff    	je     0xc76
+    1900:	8b 4d 08             	mov    0x8(%ebp),%ecx
+    1903:	d9 ee                	fldz   
+    1905:	8b 55 0c             	mov    0xc(%ebp),%edx
+    1908:	89 0a                	mov    %ecx,(%edx)
+    190a:	e9 69 f3 ff ff       	jmp    0xc78
+    190f:	39 fe                	cmp    %edi,%esi
+    1911:	0f 84 0d ec ff ff    	je     0x524
+    1917:	80 7d a0 70          	cmpb   $0x70,-0x60(%ebp)
+    191b:	0f 84 1f ec ff ff    	je     0x540
+    1921:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
+    1928:	e9 f7 eb ff ff       	jmp    0x524
+    192d:	8b 75 84             	mov    -0x7c(%ebp),%esi
+    1930:	8b 45 90             	mov    -0x70(%ebp),%eax
+    1933:	29 ce                	sub    %ecx,%esi
+    1935:	85 c0                	test   %eax,%eax
+    1937:	0f 8e 3a 02 00 00    	jle    0x1b77
+    193d:	89 f7                	mov    %esi,%edi
+    193f:	c1 e7 05             	shl    $0x5,%edi
+    1942:	03 7d 90             	add    -0x70(%ebp),%edi
+    1945:	83 ff 18             	cmp    $0x18,%edi
+    1948:	0f 8f c2 01 00 00    	jg     0x1b10
+    194e:	8b 4d f0             	mov    -0x10(%ebp),%ecx
+    1951:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
+    1958:	c7 85 7c ff ff ff 00 	movl   $0x0,-0x84(%ebp)
+    195f:	00 00 00 
+    1962:	89 7d 90             	mov    %edi,-0x70(%ebp)
+    1965:	85 c9                	test   %ecx,%ecx
+    1967:	7e 1e                	jle    0x1987
+    1969:	8b 7d 94             	mov    -0x6c(%ebp),%edi
+    196c:	8d 04 31             	lea    (%ecx,%esi,1),%eax
+    196f:	8d 14 8f             	lea    (%edi,%ecx,4),%edx
+    1972:	8d 04 87             	lea    (%edi,%eax,4),%eax
+    1975:	8d 76 00             	lea    0x0(%esi),%esi
+    1978:	8b 4a fc             	mov    -0x4(%edx),%ecx
+    197b:	83 ea 04             	sub    $0x4,%edx
+    197e:	89 08                	mov    %ecx,(%eax)
+    1980:	83 e8 04             	sub    $0x4,%eax
+    1983:	39 fa                	cmp    %edi,%edx
+    1985:	75 f1                	jne    0x1978
+    1987:	85 f6                	test   %esi,%esi
+    1989:	78 13                	js     0x199e
+    198b:	8b 55 94             	mov    -0x6c(%ebp),%edx
+    198e:	31 c0                	xor    %eax,%eax
+    1990:	c7 04 82 00 00 00 00 	movl   $0x0,(%edx,%eax,4)
+    1997:	83 c0 01             	add    $0x1,%eax
+    199a:	39 c6                	cmp    %eax,%esi
+    199c:	7d f2                	jge    0x1990
+    199e:	8b 45 84             	mov    -0x7c(%ebp),%eax
+    19a1:	83 7d 90 18          	cmpl   $0x18,-0x70(%ebp)
+    19a5:	c7 44 85 a4 00 00 00 	movl   $0x0,-0x5c(%ebp,%eax,4)
+    19ac:	00 
+    19ad:	8b 4c 85 c4          	mov    -0x3c(%ebp,%eax,4),%ecx
+    19b1:	0f 8e c6 f0 ff ff    	jle    0xa7d
+    19b7:	8b 7d ec             	mov    -0x14(%ebp),%edi
+    19ba:	c7 45 a0 00 00 00 00 	movl   $0x0,-0x60(%ebp)
+    19c1:	e9 01 f2 ff ff       	jmp    0xbc7
+    19c6:	b8 01 00 00 00       	mov    $0x1,%eax
+    19cb:	e9 52 fc ff ff       	jmp    0x1622
+    19d0:	8b 55 94             	mov    -0x6c(%ebp),%edx
+    19d3:	8b 5d 9c             	mov    -0x64(%ebp),%ebx
+    19d6:	c7 45 84 20 00 00 00 	movl   $0x20,-0x7c(%ebp)
+    19dd:	89 4d 8c             	mov    %ecx,-0x74(%ebp)
+    19e0:	29 5d 84             	sub    %ebx,-0x7c(%ebp)
+    19e3:	89 c3                	mov    %eax,%ebx
+    19e5:	8d 34 82             	lea    (%edx,%eax,4),%esi
+    19e8:	89 45 88             	mov    %eax,-0x78(%ebp)
+    19eb:	8b 46 04             	mov    0x4(%esi),%eax
+    19ee:	83 c3 01             	add    $0x1,%ebx
+    19f1:	0f b6 4d 84          	movzbl -0x7c(%ebp),%ecx
+    19f5:	8b 16                	mov    (%esi),%edx
+    19f7:	83 c6 04             	add    $0x4,%esi
+    19fa:	d3 e0                	shl    %cl,%eax
+    19fc:	0f b6 4d 9c          	movzbl -0x64(%ebp),%ecx
+    1a00:	d3 ea                	shr    %cl,%edx
+    1a02:	09 d0                	or     %edx,%eax
+    1a04:	8b 55 8c             	mov    -0x74(%ebp),%edx
+    1a07:	89 02                	mov    %eax,(%edx)
+    1a09:	83 c2 04             	add    $0x4,%edx
+    1a0c:	39 df                	cmp    %ebx,%edi
+    1a0e:	89 55 8c             	mov    %edx,-0x74(%ebp)
+    1a11:	7f d8                	jg     0x19eb
+    1a13:	8b 45 88             	mov    -0x78(%ebp),%eax
+    1a16:	89 da                	mov    %ebx,%edx
+    1a18:	29 c2                	sub    %eax,%edx
+    1a1a:	85 d2                	test   %edx,%edx
+    1a1c:	0f 8e bf fe ff ff    	jle    0x18e1
+    1a22:	89 c2                	mov    %eax,%edx
+    1a24:	e9 7f f9 ff ff       	jmp    0x13a8
+    1a29:	83 ea 17             	sub    $0x17,%edx
+    1a2c:	89 54 24 0c          	mov    %edx,0xc(%esp)
+    1a30:	ba 01 00 00 00       	mov    $0x1,%edx
+    1a35:	89 44 24 08          	mov    %eax,0x8(%esp)
+    1a39:	8b 75 94             	mov    -0x6c(%ebp),%esi
+    1a3c:	29 c2                	sub    %eax,%edx
+    1a3e:	8d 7d e8             	lea    -0x18(%ebp),%edi
+    1a41:	8d 04 97             	lea    (%edi,%edx,4),%eax
+    1a44:	89 74 24 04          	mov    %esi,0x4(%esp)
+    1a48:	89 7d 80             	mov    %edi,-0x80(%ebp)
+    1a4b:	89 04 24             	mov    %eax,(%esp)
+    1a4e:	e8 fc ff ff ff       	call   0x1a4f
+    1a53:	8b 55 f0             	mov    -0x10(%ebp),%edx
+    1a56:	6b ca fc             	imul   $0xfffffffc,%edx,%ecx
+    1a59:	f7 da                	neg    %edx
+    1a5b:	85 d2                	test   %edx,%edx
+    1a5d:	89 44 0d e8          	mov    %eax,-0x18(%ebp,%ecx,1)
+    1a61:	0f 8e 63 f6 ff ff    	jle    0x10ca
+    1a67:	31 c0                	xor    %eax,%eax
+    1a69:	8b 4d 80             	mov    -0x80(%ebp),%ecx
+    1a6c:	c7 04 81 00 00 00 00 	movl   $0x0,(%ecx,%eax,4)
+    1a73:	83 c0 01             	add    $0x1,%eax
+    1a76:	39 c2                	cmp    %eax,%edx
+    1a78:	7f ef                	jg     0x1a69
+    1a7a:	e9 4b f6 ff ff       	jmp    0x10ca
+    1a7f:	89 d0                	mov    %edx,%eax
+    1a81:	c1 e0 02             	shl    $0x2,%eax
+    1a84:	89 44 24 08          	mov    %eax,0x8(%esp)
+    1a88:	89 7c 24 04          	mov    %edi,0x4(%esp)
+    1a8c:	8b 45 88             	mov    -0x78(%ebp),%eax
+    1a8f:	89 04 24             	mov    %eax,(%esp)
+    1a92:	e8 fc ff ff ff       	call   0x1a93
+    1a97:	e9 b6 ee ff ff       	jmp    0x952
+    1a9c:	8b 45 14             	mov    0x14(%ebp),%eax
+    1a9f:	89 fb                	mov    %edi,%ebx
+    1aa1:	8b 48 38             	mov    0x38(%eax),%ecx
+    1aa4:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    1aa8:	83 c3 01             	add    $0x1,%ebx
+    1aab:	0f b6 03             	movzbl (%ebx),%eax
+    1aae:	8d 50 d0             	lea    -0x30(%eax),%edx
+    1ab1:	80 fa 09             	cmp    $0x9,%dl
+    1ab4:	76 f2                	jbe    0x1aa8
+    1ab6:	0f be d0             	movsbl %al,%edx
+    1ab9:	8b 14 91             	mov    (%ecx,%edx,4),%edx
+    1abc:	83 ea 61             	sub    $0x61,%edx
+    1abf:	80 fa 19             	cmp    $0x19,%dl
+    1ac2:	76 e4                	jbe    0x1aa8
+    1ac4:	3c 5f                	cmp    $0x5f,%al
+    1ac6:	74 e0                	je     0x1aa8
+    1ac8:	3c 29                	cmp    $0x29,%al
+    1aca:	0f 85 ed f7 ff ff    	jne    0x12bd
+    1ad0:	8b 55 14             	mov    0x14(%ebp),%edx
+    1ad3:	8d 45 e4             	lea    -0x1c(%ebp),%eax
+    1ad6:	83 c7 01             	add    $0x1,%edi
+    1ad9:	c7 44 24 0c 00 00 00 	movl   $0x0,0xc(%esp)
+    1ae0:	00 
+    1ae1:	c7 44 24 08 00 00 00 	movl   $0x0,0x8(%esp)
+    1ae8:	00 
+    1ae9:	89 44 24 04          	mov    %eax,0x4(%esp)
+    1aed:	89 54 24 10          	mov    %edx,0x10(%esp)
+    1af1:	89 3c 24             	mov    %edi,(%esp)
+    1af4:	e8 fc ff ff ff       	call   0x1af5
+    1af9:	39 5d e4             	cmp    %ebx,-0x1c(%ebp)
+    1afc:	0f 84 99 01 00 00    	je     0x1c9b
+    1b02:	d9 05 0c 00 00 00    	flds   0xc
+    1b08:	8d 7b 01             	lea    0x1(%ebx),%edi
+    1b0b:	e9 b3 f7 ff ff       	jmp    0x12c3
+    1b10:	b8 18 00 00 00       	mov    $0x18,%eax
+    1b15:	2b 45 90             	sub    -0x70(%ebp),%eax
+    1b18:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
+    1b1e:	0f 84 3e fe ff ff    	je     0x1962
+    1b24:	89 44 24 0c          	mov    %eax,0xc(%esp)
+    1b28:	c7 44 24 08 01 00 00 	movl   $0x1,0x8(%esp)
+    1b2f:	00 
+    1b30:	8b 45 80             	mov    -0x80(%ebp),%eax
+    1b33:	89 44 24 04          	mov    %eax,0x4(%esp)
+    1b37:	89 04 24             	mov    %eax,(%esp)
+    1b3a:	e8 fc ff ff ff       	call   0x1b3b
+    1b3f:	8b 4d f0             	mov    -0x10(%ebp),%ecx
+    1b42:	e9 1b fe ff ff       	jmp    0x1962
+    1b47:	89 c1                	mov    %eax,%ecx
+    1b49:	c7 45 88 00 00 00 00 	movl   $0x0,-0x78(%ebp)
+    1b50:	c7 45 9c 00 00 00 00 	movl   $0x0,-0x64(%ebp)
+    1b57:	e9 c7 eb ff ff       	jmp    0x723
+    1b5c:	8b 4d 84             	mov    -0x7c(%ebp),%ecx
+    1b5f:	f7 d1                	not    %ecx
+    1b61:	e9 a0 f0 ff ff       	jmp    0xc06
+    1b66:	83 ef 01             	sub    $0x1,%edi
+    1b69:	84 c9                	test   %cl,%cl
+    1b6b:	0f 44 7d 08          	cmove  0x8(%ebp),%edi
+    1b6f:	89 7d 08             	mov    %edi,0x8(%ebp)
+    1b72:	e9 72 f2 ff ff       	jmp    0xde9
+    1b77:	6b c6 e0             	imul   $0xffffffe0,%esi,%eax
+    1b7a:	8b 4d f0             	mov    -0x10(%ebp),%ecx
+    1b7d:	01 45 ec             	add    %eax,-0x14(%ebp)
+    1b80:	c7 85 7c ff ff ff 00 	movl   $0x0,-0x84(%ebp)
+    1b87:	00 00 00 
+    1b8a:	e9 d6 fd ff ff       	jmp    0x1965
+    1b8f:	be 01 00 00 00       	mov    $0x1,%esi
+    1b94:	89 f2                	mov    %esi,%edx
+    1b96:	8d 4d e8             	lea    -0x18(%ebp),%ecx
+    1b99:	29 c2                	sub    %eax,%edx
+    1b9b:	c1 e0 02             	shl    $0x2,%eax
+    1b9e:	89 4d 80             	mov    %ecx,-0x80(%ebp)
+    1ba1:	8d 14 91             	lea    (%ecx,%edx,4),%edx
+    1ba4:	89 44 24 08          	mov    %eax,0x8(%esp)
+    1ba8:	8b 7d 94             	mov    -0x6c(%ebp),%edi
+    1bab:	89 14 24             	mov    %edx,(%esp)
+    1bae:	89 7c 24 04          	mov    %edi,0x4(%esp)
+    1bb2:	e8 fc ff ff ff       	call   0x1bb3
+    1bb7:	31 c0                	xor    %eax,%eax
+    1bb9:	2b 75 f0             	sub    -0x10(%ebp),%esi
+    1bbc:	39 f0                	cmp    %esi,%eax
+    1bbe:	0f 8d 06 f5 ff ff    	jge    0x10ca
+    1bc4:	8b 55 80             	mov    -0x80(%ebp),%edx
+    1bc7:	c7 04 82 00 00 00 00 	movl   $0x0,(%edx,%eax,4)
+    1bce:	83 c0 01             	add    $0x1,%eax
+    1bd1:	eb e9                	jmp    0x1bbc
+    1bd3:	8b 45 90             	mov    -0x70(%ebp),%eax
+    1bd6:	c7 45 8c 00 00 00 00 	movl   $0x0,-0x74(%ebp)
+    1bdd:	83 e8 20             	sub    $0x20,%eax
+    1be0:	89 45 ec             	mov    %eax,-0x14(%ebp)
+    1be3:	e9 6a f9 ff ff       	jmp    0x1552
+    1be8:	8b 7d 9c             	mov    -0x64(%ebp),%edi
+    1beb:	31 f6                	xor    %esi,%esi
+    1bed:	8b 55 ec             	mov    -0x14(%ebp),%edx
+    1bf0:	c7 45 9c 00 00 00 00 	movl   $0x0,-0x64(%ebp)
+    1bf7:	e9 07 fa ff ff       	jmp    0x1603
+    1bfc:	f7 d8                	neg    %eax
+    1bfe:	83 c0 20             	add    $0x20,%eax
+    1c01:	89 45 90             	mov    %eax,-0x70(%ebp)
+    1c04:	e9 7d fa ff ff       	jmp    0x1686
+    1c09:	a1 00 00 00 00       	mov    0x0,%eax
+    1c0e:	83 bd 74 ff ff ff 00 	cmpl   $0x0,-0x8c(%ebp)
+    1c15:	d9 05 08 00 00 00    	flds   0x8
+    1c1b:	d9 05 04 00 00 00    	flds   0x4
+    1c21:	65 c7 00 22 00 00 00 	movl   $0x22,%gs:(%eax)
+    1c28:	db c9                	fcmovne %st(1),%st
+    1c2a:	dd d9                	fstp   %st(1)
+    1c2c:	e9 47 f0 ff ff       	jmp    0xc78
+    1c31:	f7 d8                	neg    %eax
+    1c33:	83 c0 20             	add    $0x20,%eax
+    1c36:	89 45 90             	mov    %eax,-0x70(%ebp)
+    1c39:	e9 13 f8 ff ff       	jmp    0x1451
+    1c3e:	8b 85 7c ff ff ff    	mov    -0x84(%ebp),%eax
+    1c44:	89 f7                	mov    %esi,%edi
+    1c46:	0f b6 00             	movzbl (%eax),%eax
+    1c49:	88 45 a0             	mov    %al,-0x60(%ebp)
+    1c4c:	80 fa 30             	cmp    $0x30,%dl
+    1c4f:	74 34                	je     0x1c85
+    1c51:	80 7d a0 00          	cmpb   $0x0,-0x60(%ebp)
+    1c55:	74 3f                	je     0x1c96
+    1c57:	0f b6 4d a0          	movzbl -0x60(%ebp),%ecx
+    1c5b:	38 0f                	cmp    %cl,(%edi)
+    1c5d:	0f 85 78 e8 ff ff    	jne    0x4db
+    1c63:	31 c0                	xor    %eax,%eax
+    1c65:	88 55 9c             	mov    %dl,-0x64(%ebp)
+    1c68:	eb 05                	jmp    0x1c6f
+    1c6a:	3a 0c 07             	cmp    (%edi,%eax,1),%cl
+    1c6d:	75 1e                	jne    0x1c8d
+    1c6f:	8b 95 7c ff ff ff    	mov    -0x84(%ebp),%edx
+    1c75:	83 c0 01             	add    $0x1,%eax
+    1c78:	0f b6 0c 02          	movzbl (%edx,%eax,1),%ecx
+    1c7c:	84 c9                	test   %cl,%cl
+    1c7e:	75 ea                	jne    0x1c6a
+    1c80:	83 e8 01             	sub    $0x1,%eax
+    1c83:	01 c7                	add    %eax,%edi
+    1c85:	83 c7 01             	add    $0x1,%edi
+    1c88:	0f b6 17             	movzbl (%edi),%edx
+    1c8b:	eb bf                	jmp    0x1c4c
+    1c8d:	0f b6 55 9c          	movzbl -0x64(%ebp),%edx
+    1c91:	e9 45 e8 ff ff       	jmp    0x4db
+    1c96:	83 c8 ff             	or     $0xffffffff,%eax
+    1c99:	eb e8                	jmp    0x1c83
+    1c9b:	25 ff ff 7f 00       	and    $0x7fffff,%eax
+    1ca0:	ba 00 00 40 00       	mov    $0x400000,%edx
+    1ca5:	0f 45 d0             	cmovne %eax,%edx
+    1ca8:	81 ca 00 00 80 7f    	or     $0x7f800000,%edx
+    1cae:	89 95 58 ff ff ff    	mov    %edx,-0xa8(%ebp)
+    1cb4:	d9 85 58 ff ff ff    	flds   -0xa8(%ebp)
+    1cba:	e9 49 fe ff ff       	jmp    0x1b08
+    1cbf:	83 7d 88 ff          	cmpl   $0xffffffff,-0x78(%ebp)
+    1cc3:	74 12                	je     0x1cd7
+    1cc5:	a1 00 00 00 00       	mov    0x0,%eax
+    1cca:	83 7d 80 00          	cmpl   $0x0,-0x80(%ebp)
+    1cce:	65 c7 00 22 00 00 00 	movl   $0x22,%gs:(%eax)
+    1cd5:	74 53                	je     0x1d2a
+    1cd7:	b8 00 00 00 80       	mov    $0x80000000,%eax
+    1cdc:	83 bd 74 ff ff ff 00 	cmpl   $0x0,-0x8c(%ebp)
+    1ce3:	0f 44 05 00 00 00 00 	cmove  0x0,%eax
+    1cea:	83 c6 01             	add    $0x1,%esi
+    1ced:	0f b6 16             	movzbl (%esi),%edx
+    1cf0:	83 ea 30             	sub    $0x30,%edx
+    1cf3:	80 fa 09             	cmp    $0x9,%dl
+    1cf6:	76 f2                	jbe    0x1cea
+    1cf8:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
+    1cfc:	89 85 58 ff ff ff    	mov    %eax,-0xa8(%ebp)
+    1d02:	d9 85 58 ff ff ff    	flds   -0xa8(%ebp)
+    1d08:	0f 84 6a ef ff ff    	je     0xc78
+    1d0e:	8b 55 0c             	mov    0xc(%ebp),%edx
+    1d11:	89 32                	mov    %esi,(%edx)
+    1d13:	89 85 58 ff ff ff    	mov    %eax,-0xa8(%ebp)
+    1d19:	e9 5a ef ff ff       	jmp    0xc78
+    1d1e:	89 f3                	mov    %esi,%ebx
+    1d20:	f7 db                	neg    %ebx
+    1d22:	83 c3 20             	add    $0x20,%ebx
+    1d25:	e9 62 fa ff ff       	jmp    0x178c
+    1d2a:	b8 00 00 80 ff       	mov    $0xff800000,%eax
+    1d2f:	83 bd 74 ff ff ff 00 	cmpl   $0x0,-0x8c(%ebp)
+    1d36:	0f 44 05 04 00 00 00 	cmove  0x4,%eax
+    1d3d:	eb ab                	jmp    0x1cea
+    1d3f:	31 c0                	xor    %eax,%eax
+    1d41:	88 55 8c             	mov    %dl,-0x74(%ebp)
+    1d44:	eb 0b                	jmp    0x1d51
+    1d46:	8b 55 a0             	mov    -0x60(%ebp),%edx
+    1d49:	3a 0c 02             	cmp    (%edx,%eax,1),%cl
+    1d4c:	75 4c                	jne    0x1d9a
+    1d4e:	83 c0 01             	add    $0x1,%eax
+    1d51:	8b 95 7c ff ff ff    	mov    -0x84(%ebp),%edx
+    1d57:	0f b6 0c 02          	movzbl (%edx,%eax,1),%ecx
+    1d5b:	84 c9                	test   %cl,%cl
+    1d5d:	75 e7                	jne    0x1d46
+    1d5f:	8b 55 a0             	mov    -0x60(%ebp),%edx
+    1d62:	8d 54 02 ff          	lea    -0x1(%edx,%eax,1),%edx
+    1d66:	89 55 a0             	mov    %edx,-0x60(%ebp)
+    1d69:	e9 8e ef ff ff       	jmp    0xcfc
+    1d6e:	8b 48 30             	mov    0x30(%eax),%ecx
+    1d71:	89 4d 80             	mov    %ecx,-0x80(%ebp)
+    1d74:	0f b6 11             	movzbl (%ecx),%edx
+    1d77:	83 ea 01             	sub    $0x1,%edx
+    1d7a:	80 fa 7d             	cmp    $0x7d,%dl
+    1d7d:	0f 87 6a e6 ff ff    	ja     0x3ed
+    1d83:	8b 58 2c             	mov    0x2c(%eax),%ebx
+    1d86:	89 9d 7c ff ff ff    	mov    %ebx,-0x84(%ebp)
+    1d8c:	80 3b 00             	cmpb   $0x0,(%ebx)
+    1d8f:	0f 85 69 e6 ff ff    	jne    0x3fe
+    1d95:	e9 53 e6 ff ff       	jmp    0x3ed
+    1d9a:	0f b6 55 8c          	movzbl -0x74(%ebp),%edx
+    1d9e:	e9 ca e7 ff ff       	jmp    0x56d
+    1da3:	a1 00 00 00 00       	mov    0x0,%eax
+    1da8:	65 c7 00 22 00 00 00 	movl   $0x22,%gs:(%eax)
+    1daf:	90                   	nop
+    1db0:	e9 43 f0 ff ff       	jmp    0xdf8
+    1db5:	a1 00 00 00 00       	mov    0x0,%eax
+    1dba:	65 c7 00 22 00 00 00 	movl   $0x22,%gs:(%eax)
+    1dc1:	e9 90 f4 ff ff       	jmp    0x1256
+    1dc6:	8d 76 00             	lea    0x0(%esi),%esi
+    1dc9:	8d bc 27 00 00 00 00 	lea    0x0(%edi,%eiz,1),%edi
+    1dd0:	55                   	push   %ebp
+    1dd1:	89 e5                	mov    %esp,%ebp
+    1dd3:	83 ec 10             	sub    $0x10,%esp
+    1dd6:	8b 45 10             	mov    0x10(%ebp),%eax
+    1dd9:	c7 44 24 08 00 00 00 	movl   $0x0,0x8(%esp)
+    1de0:	00 
+    1de1:	89 44 24 0c          	mov    %eax,0xc(%esp)
+    1de5:	8b 45 0c             	mov    0xc(%ebp),%eax
+    1de8:	89 44 24 04          	mov    %eax,0x4(%esp)
+    1dec:	8b 45 08             	mov    0x8(%ebp),%eax
+    1def:	89 04 24             	mov    %eax,(%esp)
+    1df2:	e8 fc ff ff ff       	call   0x1df3
+    1df7:	c9                   	leave  
+    1df8:	c3                   	ret    
--- /dev/fd/63	2012-05-05 15:41:47.000000000 +0200
+++ /dev/fd/62	2012-05-05 15:41:47.000000000 +0200
@@ -1,5 +1,5 @@
 
-../build-tree.good/kfreebsd-amd64-i386/stdlib/strtold_l.o:     file format elf32-i386-freebsd
+build-tree/kfreebsd-amd64-i386/stdlib/strtold_l.o:     file format elf32-i386-freebsd
 
 
 Disassembly of section .text:
@@ -593,16 +593,15 @@
      7b7:	89 84 24 bc 10 00 00 	mov    %eax,0x10bc(%esp)
      7be:	89 ca                	mov    %ecx,%edx
      7c0:	89 d9                	mov    %ebx,%ecx
-     7c2:	8b 5c 24 64          	mov    0x64(%esp),%ebx
-     7c6:	39 5c 24 70          	cmp    %ebx,0x70(%esp)
-     7ca:	0f 8e 4a 07 00 00    	jle    0xf1a
+     7c2:	8b 5c 24 70          	mov    0x70(%esp),%ebx
+     7c6:	39 5c 24 64          	cmp    %ebx,0x64(%esp)
+     7ca:	0f 8d 4a 07 00 00    	jge    0xf1a
      7d0:	80 7a ff 30          	cmpb   $0x30,-0x1(%edx)
      7d4:	8d 42 ff             	lea    -0x1(%edx),%eax
      7d7:	0f 85 3d 07 00 00    	jne    0xf1a
-     7dd:	8b 54 24 70          	mov    0x70(%esp),%edx
-     7e1:	eb 07                	jmp    0x7ea
-     7e3:	90                   	nop
-     7e4:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+     7dd:	89 da                	mov    %ebx,%edx
+     7df:	eb 09                	jmp    0x7ea
+     7e1:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
      7e8:	89 d8                	mov    %ebx,%eax
      7ea:	83 ea 01             	sub    $0x1,%edx
      7ed:	80 78 ff 30          	cmpb   $0x30,-0x1(%eax)
@@ -1087,10 +1086,10 @@
      efd:	3c 66                	cmp    $0x66,%al
      eff:	0f 8f b2 f6 ff ff    	jg     0x5b7
      f05:	e9 ee f6 ff ff       	jmp    0x5f8
-     f0a:	8b 5c 24 64          	mov    0x64(%esp),%ebx
+     f0a:	8b 5c 24 70          	mov    0x70(%esp),%ebx
      f0e:	89 ca                	mov    %ecx,%edx
-     f10:	39 5c 24 70          	cmp    %ebx,0x70(%esp)
-     f14:	0f 8f b6 f8 ff ff    	jg     0x7d0
+     f10:	39 5c 24 64          	cmp    %ebx,0x64(%esp)
+     f14:	0f 8c b6 f8 ff ff    	jl     0x7d0
      f1a:	89 d0                	mov    %edx,%eax
      f1c:	e9 d9 f8 ff ff       	jmp    0x7fa
      f21:	8b 74 24 4c          	mov    0x4c(%esp),%esi
@@ -1169,12 +1168,12 @@
     103d:	c7 44 24 58 00 00 00 	movl   $0x0,0x58(%esp)
     1044:	00 
     1045:	e9 d1 f7 ff ff       	jmp    0x81b
-    104a:	89 7c 24 58          	mov    %edi,0x58(%esp)
-    104e:	8b 7c 24 54          	mov    0x54(%esp),%edi
+    104a:	8b 44 24 54          	mov    0x54(%esp),%eax
+    104e:	89 7c 24 58          	mov    %edi,0x58(%esp)
     1052:	0f b6 5c 24 5c       	movzbl 0x5c(%esp),%ebx
     1057:	8b 74 24 4c          	mov    0x4c(%esp),%esi
-    105b:	89 7c 24 70          	mov    %edi,0x70(%esp)
-    105f:	8b 7c 24 6c          	mov    0x6c(%esp),%edi
+    105b:	8b 7c 24 6c          	mov    0x6c(%esp),%edi
+    105f:	89 44 24 70          	mov    %eax,0x70(%esp)
     1063:	e9 23 ff ff ff       	jmp    0xf8b
     1068:	8b 44 24 50          	mov    0x50(%esp),%eax
     106c:	8d 8c 24 bc 10 00 00 	lea    0x10bc(%esp),%ecx
@@ -1689,8 +1688,8 @@
     184d:	8d 3c 19             	lea    (%ecx,%ebx,1),%edi
     1850:	89 74 24 68          	mov    %esi,0x68(%esp)
     1854:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    1858:	39 ca                	cmp    %ecx,%edx
-    185a:	77 08                	ja     0x1864
+    1858:	39 d1                	cmp    %edx,%ecx
+    185a:	72 08                	jb     0x1864
     185c:	85 c0                	test   %eax,%eax
     185e:	74 1c                	je     0x187c
     1860:	39 ca                	cmp    %ecx,%edx
@@ -1936,11 +1935,11 @@
     1bfa:	89 c1                	mov    %eax,%ecx
     1bfc:	89 94 24 b4 10 00 00 	mov    %edx,0x10b4(%esp)
     1c03:	e9 b5 f9 ff ff       	jmp    0x15bd
-    1c08:	8b 5d 14             	mov    0x14(%ebp),%ebx
-    1c0b:	8b 5b 38             	mov    0x38(%ebx),%ebx
-    1c0e:	89 5c 24 68          	mov    %ebx,0x68(%esp)
-    1c12:	0f b6 06             	movzbl (%esi),%eax
-    1c15:	88 44 24 6c          	mov    %al,0x6c(%esp)
+    1c08:	8b 45 14             	mov    0x14(%ebp),%eax
+    1c0b:	0f b6 1e             	movzbl (%esi),%ebx
+    1c0e:	8b 40 38             	mov    0x38(%eax),%eax
+    1c11:	88 5c 24 6c          	mov    %bl,0x6c(%esp)
+    1c15:	89 44 24 68          	mov    %eax,0x68(%esp)
     1c19:	e9 14 ea ff ff       	jmp    0x632
     1c1e:	c1 e1 02             	shl    $0x2,%ecx
     1c21:	8d bc 24 b0 10 00 00 	lea    0x10b0(%esp),%edi
--- /dev/fd/63	2012-05-05 15:41:47.000000000 +0200
+++ /dev/fd/62	2012-05-05 15:41:47.000000000 +0200
@@ -1,5 +1,5 @@
 
-../build-tree.good/kfreebsd-amd64-i386/stdlib/strtod_l.o:     file format elf32-i386-freebsd
+build-tree/kfreebsd-amd64-i386/stdlib/strtod_l.o:     file format elf32-i386-freebsd
 
 
 Disassembly of section .text:
@@ -380,11 +380,11 @@
      4b4:	56                   	push   %esi
      4b5:	53                   	push   %ebx
      4b6:	81 ec a8 01 00 00    	sub    $0x1a8,%esp
-     4bc:	8b 4d 10             	mov    0x10(%ebp),%ecx
+     4bc:	8b 5d 10             	mov    0x10(%ebp),%ebx
      4bf:	8b 55 14             	mov    0x14(%ebp),%edx
-     4c2:	85 c9                	test   %ecx,%ecx
+     4c2:	85 db                	test   %ebx,%ebx
      4c4:	8b 42 04             	mov    0x4(%edx),%eax
-     4c7:	0f 85 ce 1c 00 00    	jne    0x219b
+     4c7:	0f 85 ca 1c 00 00    	jne    0x2197
      4cd:	c7 44 24 3c 00 00 00 	movl   $0x0,0x3c(%esp)
      4d4:	00 
      4d5:	c7 44 24 38 00 00 00 	movl   $0x0,0x38(%esp)
@@ -415,7 +415,7 @@
      532:	0f b6 03             	movzbl (%ebx),%eax
      535:	84 c0                	test   %al,%al
      537:	88 44 24 54          	mov    %al,0x54(%esp)
-     53b:	0f 84 86 12 00 00    	je     0x17c7
+     53b:	0f 84 7e 12 00 00    	je     0x17bf
      541:	0f b6 4c 24 54       	movzbl 0x54(%esp),%ecx
      546:	31 c0                	xor    %eax,%eax
      548:	3a 0e                	cmp    (%esi),%cl
@@ -443,7 +443,7 @@
      599:	89 7c 24 50          	mov    %edi,0x50(%esp)
      59d:	8b 7c 24 38          	mov    0x38(%esp),%edi
      5a1:	85 ff                	test   %edi,%edi
-     5a3:	0f 85 63 1b 00 00    	jne    0x210c
+     5a3:	0f 85 4e 1b 00 00    	jne    0x20f7
      5a9:	80 fa 30             	cmp    $0x30,%dl
      5ac:	89 f7                	mov    %esi,%edi
      5ae:	75 0b                	jne    0x5bb
@@ -470,7 +470,7 @@
      5f9:	38 0f                	cmp    %cl,(%edi)
      5fb:	0f 84 18 08 00 00    	je     0xe19
      601:	80 7c 24 58 00       	cmpb   $0x0,0x58(%esp)
-     606:	0f 84 b4 16 00 00    	je     0x1cc0
+     606:	0f 84 d8 16 00 00    	je     0x1ce4
      60c:	83 7c 24 4c 10       	cmpl   $0x10,0x4c(%esp)
      611:	0f 94 c1             	sete   %cl
      614:	80 7c 24 5c 65       	cmpb   $0x65,0x5c(%esp)
@@ -488,10 +488,10 @@
      644:	0f 84 1e 08 00 00    	je     0xe68
      64a:	8b 4c 24 38          	mov    0x38(%esp),%ecx
      64e:	85 c9                	test   %ecx,%ecx
-     650:	0f 85 14 1b 00 00    	jne    0x216a
+     650:	0f 85 10 1b 00 00    	jne    0x2166
      656:	8b 4c 24 5c          	mov    0x5c(%esp),%ecx
      65a:	39 ce                	cmp    %ecx,%esi
-     65c:	0f 82 7e 09 00 00    	jb     0xfe0
+     65c:	0f 82 86 09 00 00    	jb     0xfe8
      662:	83 7c 24 58 01       	cmpl   $0x1,0x58(%esp)
      667:	19 f6                	sbb    %esi,%esi
      669:	80 7c 24 54 00       	cmpb   $0x0,0x54(%esp)
@@ -521,39 +521,40 @@
      6be:	03 4c 24 34          	add    0x34(%esp),%ecx
      6c2:	0f b6 01             	movzbl (%ecx),%eax
      6c5:	89 7c 24 54          	mov    %edi,0x54(%esp)
-     6c9:	89 f7                	mov    %esi,%edi
-     6cb:	89 5c 24 3c          	mov    %ebx,0x3c(%esp)
-     6cf:	eb 3e                	jmp    0x70f
-     6d1:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
+     6c9:	8b 7c 24 44          	mov    0x44(%esp),%edi
+     6cd:	89 5c 24 3c          	mov    %ebx,0x3c(%esp)
+     6d1:	89 74 24 48          	mov    %esi,0x48(%esp)
+     6d5:	eb 30                	jmp    0x707
+     6d7:	90                   	nop
      6d8:	8b 5c 24 50          	mov    0x50(%esp),%ebx
      6dc:	0f be f0             	movsbl %al,%esi
      6df:	0f b6 34 b3          	movzbl (%ebx,%esi,4),%esi
      6e3:	8d 5e 9f             	lea    -0x61(%esi),%ebx
      6e6:	80 fb 05             	cmp    $0x5,%bl
-     6e9:	0f 87 98 09 00 00    	ja     0x1087
-     6ef:	83 7c 24 44 ff       	cmpl   $0xffffffff,0x44(%esp)
-     6f4:	75 0d                	jne    0x703
-     6f6:	8b 5c 24 44          	mov    0x44(%esp),%ebx
-     6fa:	3c 30                	cmp    $0x30,%al
-     6fc:	0f 45 da             	cmovne %edx,%ebx
-     6ff:	89 5c 24 44          	mov    %ebx,0x44(%esp)
-     703:	83 c1 01             	add    $0x1,%ecx
-     706:	83 c7 01             	add    $0x1,%edi
-     709:	0f b6 01             	movzbl (%ecx),%eax
-     70c:	83 c2 01             	add    $0x1,%edx
-     70f:	8d 70 d0             	lea    -0x30(%eax),%esi
-     712:	89 f3                	mov    %esi,%ebx
-     714:	80 fb 09             	cmp    $0x9,%bl
-     717:	76 d6                	jbe    0x6ef
-     719:	83 7c 24 4c 10       	cmpl   $0x10,0x4c(%esp)
-     71e:	74 b8                	je     0x6d8
-     720:	8b 74 24 50          	mov    0x50(%esp),%esi
-     724:	0f be c0             	movsbl %al,%eax
-     727:	89 7c 24 5c          	mov    %edi,0x5c(%esp)
-     72b:	8b 5c 24 3c          	mov    0x3c(%esp),%ebx
-     72f:	8b 7c 24 54          	mov    0x54(%esp),%edi
-     733:	c6 44 24 50 00       	movb   $0x0,0x50(%esp)
-     738:	0f b6 04 86          	movzbl (%esi,%eax,4),%eax
+     6e9:	0f 87 a0 09 00 00    	ja     0x108f
+     6ef:	83 ff ff             	cmp    $0xffffffff,%edi
+     6f2:	75 05                	jne    0x6f9
+     6f4:	3c 30                	cmp    $0x30,%al
+     6f6:	0f 45 fa             	cmovne %edx,%edi
+     6f9:	83 44 24 48 01       	addl   $0x1,0x48(%esp)
+     6fe:	83 c1 01             	add    $0x1,%ecx
+     701:	0f b6 01             	movzbl (%ecx),%eax
+     704:	83 c2 01             	add    $0x1,%edx
+     707:	8d 70 d0             	lea    -0x30(%eax),%esi
+     70a:	89 f3                	mov    %esi,%ebx
+     70c:	80 fb 09             	cmp    $0x9,%bl
+     70f:	76 de                	jbe    0x6ef
+     711:	83 7c 24 4c 10       	cmpl   $0x10,0x4c(%esp)
+     716:	74 c0                	je     0x6d8
+     718:	8b 54 24 50          	mov    0x50(%esp),%edx
+     71c:	0f be c0             	movsbl %al,%eax
+     71f:	8b 74 24 48          	mov    0x48(%esp),%esi
+     723:	89 7c 24 44          	mov    %edi,0x44(%esp)
+     727:	8b 5c 24 3c          	mov    0x3c(%esp),%ebx
+     72b:	8b 7c 24 54          	mov    0x54(%esp),%edi
+     72f:	0f b6 04 82          	movzbl (%edx,%eax,4),%eax
+     733:	89 74 24 5c          	mov    %esi,0x5c(%esp)
+     737:	c6 44 24 50 00       	movb   $0x0,0x50(%esp)
      73c:	3c 65                	cmp    $0x65,%al
      73e:	0f 85 e4 07 00 00    	jne    0xf28
      744:	83 7c 24 4c 10       	cmpl   $0x10,0x4c(%esp)
@@ -561,7 +562,7 @@
      74f:	0f b6 51 01          	movzbl 0x1(%ecx),%edx
      753:	8d 71 01             	lea    0x1(%ecx),%esi
      756:	80 fa 2d             	cmp    $0x2d,%dl
-     759:	0f 84 78 0b 00 00    	je     0x12d7
+     759:	0f 84 88 0b 00 00    	je     0x12e7
      75f:	80 fa 2b             	cmp    $0x2b,%dl
      762:	c7 44 24 3c 00 00 00 	movl   $0x0,0x3c(%esp)
      769:	00 
@@ -570,7 +571,7 @@
      773:	3c 09                	cmp    $0x9,%al
      775:	0f 87 ad 07 00 00    	ja     0xf28
      77b:	80 7c 24 50 00       	cmpb   $0x0,0x50(%esp)
-     780:	0f 85 48 10 00 00    	jne    0x17ce
+     780:	0f 85 50 10 00 00    	jne    0x17d6
      786:	8b 44 24 3c          	mov    0x3c(%esp),%eax
      78a:	85 c0                	test   %eax,%eax
      78c:	0f 84 1c 0e 00 00    	je     0x15ae
@@ -585,7 +586,7 @@
      7b6:	8d 44 42 d0          	lea    -0x30(%edx,%eax,2),%eax
      7ba:	39 44 24 54          	cmp    %eax,0x54(%esp)
      7be:	89 84 24 a0 01 00 00 	mov    %eax,0x1a0(%esp)
-     7c5:	0f 8c 22 1a 00 00    	jl     0x21ed
+     7c5:	0f 8c 0f 1a 00 00    	jl     0x21da
      7cb:	83 c6 01             	add    $0x1,%esi
      7ce:	0f b6 16             	movzbl (%esi),%edx
      7d1:	8d 4a d0             	lea    -0x30(%edx),%ecx
@@ -599,16 +600,15 @@
      7e7:	89 84 24 a0 01 00 00 	mov    %eax,0x1a0(%esp)
      7ee:	89 ca                	mov    %ecx,%edx
      7f0:	89 f1                	mov    %esi,%ecx
-     7f2:	8b 74 24 58          	mov    0x58(%esp),%esi
-     7f6:	39 74 24 5c          	cmp    %esi,0x5c(%esp)
-     7fa:	0f 8e 38 07 00 00    	jle    0xf38
+     7f2:	8b 74 24 5c          	mov    0x5c(%esp),%esi
+     7f6:	39 74 24 58          	cmp    %esi,0x58(%esp)
+     7fa:	0f 8d 38 07 00 00    	jge    0xf38
      800:	80 7a ff 30          	cmpb   $0x30,-0x1(%edx)
      804:	8d 42 ff             	lea    -0x1(%edx),%eax
      807:	0f 85 2b 07 00 00    	jne    0xf38
-     80d:	8b 54 24 5c          	mov    0x5c(%esp),%edx
-     811:	eb 07                	jmp    0x81a
-     813:	90                   	nop
-     814:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+     80d:	89 f2                	mov    %esi,%edx
+     80f:	eb 09                	jmp    0x81a
+     811:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
      818:	89 f0                	mov    %esi,%eax
      81a:	83 ea 01             	sub    $0x1,%edx
      81d:	80 78 ff 30          	cmpb   $0x30,-0x1(%eax)
@@ -672,10 +672,10 @@
      8e0:	8d 14 16             	lea    (%esi,%edx,1),%edx
      8e3:	89 54 24 50          	mov    %edx,0x50(%esp)
      8e7:	83 7c 24 4c 10       	cmpl   $0x10,0x4c(%esp)
-     8ec:	0f 84 f9 09 00 00    	je     0x12eb
+     8ec:	0f 84 09 0a 00 00    	je     0x12fb
      8f2:	8b 94 24 a0 01 00 00 	mov    0x1a0(%esp),%edx
      8f9:	85 d2                	test   %edx,%edx
-     8fb:	0f 88 b6 0e 00 00    	js     0x17b7
+     8fb:	0f 88 c5 0e 00 00    	js     0x17c6
      901:	8b 44 24 5c          	mov    0x5c(%esp),%eax
      905:	2b 44 24 58          	sub    0x58(%esp),%eax
      909:	39 d0                	cmp    %edx,%eax
@@ -687,12 +687,12 @@
      91d:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
      920:	3d 35 01 00 00       	cmp    $0x135,%eax
      925:	89 4c 24 58          	mov    %ecx,0x58(%esp)
-     929:	0f 8f a2 14 00 00    	jg     0x1dd1
+     929:	0f 8f c2 14 00 00    	jg     0x1df1
      92f:	81 fa bd fe ff ff    	cmp    $0xfffffebd,%edx
-     935:	0f 8c 95 18 00 00    	jl     0x21d0
+     935:	0f 8c 1a 18 00 00    	jl     0x2155
      93b:	8b 7c 24 58          	mov    0x58(%esp),%edi
      93f:	85 ff                	test   %edi,%edi
-     941:	0f 8f 51 07 00 00    	jg     0x1098
+     941:	0f 8f 61 07 00 00    	jg     0x10a8
      947:	8d bc 24 a0 01 00 00 	lea    0x1a0(%esp),%edi
      94e:	b8 14 00 00 00       	mov    $0x14,%eax
      953:	8d b4 24 94 01 00 00 	lea    0x194(%esp),%esi
@@ -781,7 +781,7 @@
      a82:	39 74 24 58          	cmp    %esi,0x58(%esp)
      a86:	8b 5c 24 24          	mov    0x24(%esp),%ebx
      a8a:	89 54 24 48          	mov    %edx,0x48(%esp)
-     a8e:	0f 84 3c 14 00 00    	je     0x1ed0
+     a8e:	0f 84 5c 14 00 00    	je     0x1ef0
      a94:	8b 44 24 38          	mov    0x38(%esp),%eax
      a98:	8b 54 24 34          	mov    0x34(%esp),%edx
      a9c:	8b 4c 24 40          	mov    0x40(%esp),%ecx
@@ -815,13 +815,13 @@
      b09:	89 44 24 08          	mov    %eax,0x8(%esp)
      b0d:	e8 fc ff ff ff       	call   0xb0e
      b12:	85 c0                	test   %eax,%eax
-     b14:	0f 85 60 0b 00 00    	jne    0x167a
+     b14:	0f 85 6c 0b 00 00    	jne    0x1686
      b1a:	8b 4c 24 54          	mov    0x54(%esp),%ecx
      b1e:	83 7c 24 48 01       	cmpl   $0x1,0x48(%esp)
      b23:	89 8c 24 a0 01 00 00 	mov    %ecx,0x1a0(%esp)
-     b2a:	0f 84 d1 0c 00 00    	je     0x1801
+     b2a:	0f 84 41 0f 00 00    	je     0x1a71
      b30:	83 7c 24 48 02       	cmpl   $0x2,0x48(%esp)
-     b35:	0f 84 00 0e 00 00    	je     0x193b
+     b35:	0f 84 ce 0c 00 00    	je     0x1809
      b3b:	8b 54 24 40          	mov    0x40(%esp),%edx
      b3f:	8b 4c 24 48          	mov    0x48(%esp),%ecx
      b43:	8b 84 24 a4 01 00 00 	mov    0x1a4(%esp),%eax
@@ -839,14 +839,14 @@
      b72:	89 34 24             	mov    %esi,(%esp)
      b75:	e8 fc ff ff ff       	call   0xb76
      b7a:	85 c0                	test   %eax,%eax
-     b7c:	0f 8e 15 0b 00 00    	jle    0x1697
+     b7c:	0f 8e 21 0b 00 00    	jle    0x16a3
      b82:	8b 84 24 a4 01 00 00 	mov    0x1a4(%esp),%eax
      b89:	8d 50 01             	lea    0x1(%eax),%edx
      b8c:	c7 84 84 fc 00 00 00 	movl   $0x0,0xfc(%esp,%eax,4)
      b93:	00 00 00 00 
      b97:	89 94 24 a4 01 00 00 	mov    %edx,0x1a4(%esp)
      b9e:	39 54 24 48          	cmp    %edx,0x48(%esp)
-     ba2:	0f 8f 30 11 00 00    	jg     0x1cd8
+     ba2:	0f 8f 54 11 00 00    	jg     0x1cfc
      ba8:	85 d2                	test   %edx,%edx
      baa:	8d 04 96             	lea    (%esi,%edx,4),%eax
      bad:	7e 0d                	jle    0xbbc
@@ -856,12 +856,12 @@
      bb5:	83 e8 04             	sub    $0x4,%eax
      bb8:	39 f0                	cmp    %esi,%eax
      bba:	75 f4                	jne    0xbb0
-     bbc:	8b 7c 24 48          	mov    0x48(%esp),%edi
+     bbc:	8b 4c 24 48          	mov    0x48(%esp),%ecx
      bc0:	c7 44 24 38 00 00 00 	movl   $0x0,0x38(%esp)
      bc7:	00 
-     bc8:	8b 8c bc fc 00 00 00 	mov    0xfc(%esp,%edi,4),%ecx
-     bcf:	c7 44 bc 64 00 00 00 	movl   $0x0,0x64(%esp,%edi,4)
-     bd6:	00 
+     bc8:	c7 44 8c 64 00 00 00 	movl   $0x0,0x64(%esp,%ecx,4)
+     bcf:	00 
+     bd0:	8b 8c 8c fc 00 00 00 	mov    0xfc(%esp,%ecx,4),%ecx
      bd7:	8b 44 24 48          	mov    0x48(%esp),%eax
      bdb:	8b 54 24 40          	mov    0x40(%esp),%edx
      bdf:	89 74 24 50          	mov    %esi,0x50(%esp)
@@ -940,10 +940,10 @@
      cea:	75 f4                	jne    0xce0
      cec:	8b 7c 24 54          	mov    0x54(%esp),%edi
      cf0:	85 ff                	test   %edi,%edi
-     cf2:	0f 85 08 0a 00 00    	jne    0x1700
+     cf2:	0f 85 10 0a 00 00    	jne    0x1708
      cf8:	8b 74 24 5c          	mov    0x5c(%esp),%esi
      cfc:	85 f6                	test   %esi,%esi
-     cfe:	0f 84 26 0a 00 00    	je     0x172a
+     cfe:	0f 84 2e 0a 00 00    	je     0x1732
      d04:	0f bd 44 24 5c       	bsr    0x5c(%esp),%eax
      d09:	8b bc 24 a0 01 00 00 	mov    0x1a0(%esp),%edi
      d10:	ba 20 00 00 00       	mov    $0x20,%edx
@@ -953,7 +953,7 @@
      d1c:	29 c7                	sub    %eax,%edi
      d1e:	83 fe 35             	cmp    $0x35,%esi
      d21:	89 bc 24 a0 01 00 00 	mov    %edi,0x1a0(%esp)
-     d28:	0f 8e 98 13 00 00    	jle    0x20c6
+     d28:	0f 8e 19 15 00 00    	jle    0x2247
      d2e:	83 c0 35             	add    $0x35,%eax
      d31:	8b 5c 24 48          	mov    0x48(%esp),%ebx
      d35:	29 c2                	sub    %eax,%edx
@@ -965,12 +965,12 @@
      d47:	8b 8c 9c fc 00 00 00 	mov    0xfc(%esp,%ebx,4),%ecx
      d4e:	89 84 24 94 01 00 00 	mov    %eax,0x194(%esp)
      d55:	85 c9                	test   %ecx,%ecx
-     d57:	0f 85 5e 13 00 00    	jne    0x20bb
+     d57:	0f 85 3d 13 00 00    	jne    0x209a
      d5d:	8b 44 24 40          	mov    0x40(%esp),%eax
      d61:	8d 14 86             	lea    (%esi,%eax,4),%edx
      d64:	8b 44 24 48          	mov    0x48(%esp),%eax
      d68:	85 c0                	test   %eax,%eax
-     d6a:	0f 88 4b 13 00 00    	js     0x20bb
+     d6a:	0f 88 2a 13 00 00    	js     0x209a
      d70:	83 e8 01             	sub    $0x1,%eax
      d73:	89 c1                	mov    %eax,%ecx
      d75:	f7 d1                	not    %ecx
@@ -1007,8 +1007,8 @@
      de1:	0f 84 56 06 00 00    	je     0x143d
      de7:	3c 6e                	cmp    $0x6e,%al
      de9:	0f 84 d9 06 00 00    	je     0x14c8
-     def:	8b 4d 0c             	mov    0xc(%ebp),%ecx
-     df2:	85 c9                	test   %ecx,%ecx
+     def:	8b 45 0c             	mov    0xc(%ebp),%eax
+     df2:	85 c0                	test   %eax,%eax
      df4:	0f 84 b6 00 00 00    	je     0xeb0
      dfa:	8b 4d 08             	mov    0x8(%ebp),%ecx
      dfd:	d9 ee                	fldz   
@@ -1100,10 +1100,10 @@
      f1b:	3c 66                	cmp    $0x66,%al
      f1d:	0f 8f c4 f6 ff ff    	jg     0x5e7
      f23:	e9 00 f7 ff ff       	jmp    0x628
-     f28:	8b 74 24 58          	mov    0x58(%esp),%esi
+     f28:	8b 74 24 5c          	mov    0x5c(%esp),%esi
      f2c:	89 ca                	mov    %ecx,%edx
-     f2e:	39 74 24 5c          	cmp    %esi,0x5c(%esp)
-     f32:	0f 8f c8 f8 ff ff    	jg     0x800
+     f2e:	39 74 24 58          	cmp    %esi,0x58(%esp)
+     f32:	0f 8c c8 f8 ff ff    	jl     0x800
      f38:	89 d0                	mov    %edx,%eax
      f3a:	e9 eb f8 ff ff       	jmp    0x82a
      f3f:	8b 5c 24 3c          	mov    0x3c(%esp),%ebx
@@ -1119,7 +1119,7 @@
      f67:	85 db                	test   %ebx,%ebx
      f69:	74 15                	je     0xf80
      f6b:	39 c6                	cmp    %eax,%esi
-     f6d:	0f 84 33 10 00 00    	je     0x1fa6
+     f6d:	0f 84 53 10 00 00    	je     0x1fc6
      f73:	89 45 08             	mov    %eax,0x8(%ebp)
      f76:	8b 4d 08             	mov    0x8(%ebp),%ecx
      f79:	8b 55 0c             	mov    0xc(%ebp),%edx
@@ -1145,258 +1145,256 @@
      faf:	8b 54 24 58          	mov    0x58(%esp),%edx
      fb3:	89 54 24 5c          	mov    %edx,0x5c(%esp)
      fb7:	83 7c 24 4c 10       	cmpl   $0x10,0x4c(%esp)
-     fbc:	89 f0                	mov    %esi,%eax
+     fbc:	89 f2                	mov    %esi,%edx
      fbe:	0f 94 44 24 50       	sete   0x50(%esp)
-     fc3:	3c 70                	cmp    $0x70,%al
-     fc5:	0f 85 b5 00 00 00    	jne    0x1080
-     fcb:	80 7c 24 50 00       	cmpb   $0x0,0x50(%esp)
-     fd0:	0f 84 aa 00 00 00    	je     0x1080
-     fd6:	c6 44 24 50 01       	movb   $0x1,0x50(%esp)
-     fdb:	e9 6f f7 ff ff       	jmp    0x74f
-     fe0:	8b 44 24 3c          	mov    0x3c(%esp),%eax
-     fe4:	85 c0                	test   %eax,%eax
-     fe6:	0f 84 76 f6 ff ff    	je     0x662
-     fec:	8b 44 24 3c          	mov    0x3c(%esp),%eax
-     ff0:	89 4c 24 04          	mov    %ecx,0x4(%esp)
-     ff4:	88 54 24 1c          	mov    %dl,0x1c(%esp)
-     ff8:	89 4c 24 18          	mov    %ecx,0x18(%esp)
-     ffc:	89 44 24 0c          	mov    %eax,0xc(%esp)
-    1000:	8b 44 24 38          	mov    0x38(%esp),%eax
-    1004:	89 34 24             	mov    %esi,(%esp)
-    1007:	89 44 24 08          	mov    %eax,0x8(%esp)
-    100b:	e8 fc ff ff ff       	call   0x100c
-    1010:	0f b6 54 24 1c       	movzbl 0x1c(%esp),%edx
-    1015:	8b 4c 24 18          	mov    0x18(%esp),%ecx
-    1019:	39 44 24 5c          	cmp    %eax,0x5c(%esp)
-    101d:	0f 84 9d 0b 00 00    	je     0x1bc0
-    1023:	39 c6                	cmp    %eax,%esi
-    1025:	0f 84 c4 fd ff ff    	je     0xdef
-    102b:	39 c7                	cmp    %eax,%edi
-    102d:	0f 87 80 04 00 00    	ja     0x14b3
-    1033:	89 fa                	mov    %edi,%edx
-    1035:	c7 44 24 5c 00 00 00 	movl   $0x0,0x5c(%esp)
-    103c:	00 
-    103d:	0f 83 2e 0f 00 00    	jae    0x1f71
-    1043:	8b 4c 24 5c          	mov    0x5c(%esp),%ecx
-    1047:	89 c6                	mov    %eax,%esi
-    1049:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
-    1050:	0f b6 02             	movzbl (%edx),%eax
-    1053:	83 e8 30             	sub    $0x30,%eax
-    1056:	3c 0a                	cmp    $0xa,%al
-    1058:	83 d1 00             	adc    $0x0,%ecx
-    105b:	83 c2 01             	add    $0x1,%edx
-    105e:	39 d6                	cmp    %edx,%esi
-    1060:	77 ee                	ja     0x1050
-    1062:	89 4c 24 5c          	mov    %ecx,0x5c(%esp)
-    1066:	89 4c 24 58          	mov    %ecx,0x58(%esp)
-    106a:	89 f1                	mov    %esi,%ecx
-    106c:	c7 44 24 44 00 00 00 	movl   $0x0,0x44(%esp)
-    1073:	00 
-    1074:	e9 d2 f7 ff ff       	jmp    0x84b
-    1079:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
-    1080:	89 f0                	mov    %esi,%eax
-    1082:	e9 b5 f6 ff ff       	jmp    0x73c
-    1087:	89 7c 24 5c          	mov    %edi,0x5c(%esp)
-    108b:	8b 5c 24 3c          	mov    0x3c(%esp),%ebx
-    108f:	8b 7c 24 54          	mov    0x54(%esp),%edi
-    1093:	e9 1f ff ff ff       	jmp    0xfb7
-    1098:	8b 44 24 38          	mov    0x38(%esp),%eax
-    109c:	8d 8c 24 a0 01 00 00 	lea    0x1a0(%esp),%ecx
-    10a3:	8b 54 24 34          	mov    0x34(%esp),%edx
-    10a7:	8d b4 24 fc 00 00 00 	lea    0xfc(%esp),%esi
-    10ae:	89 4c 24 40          	mov    %ecx,0x40(%esp)
-    10b2:	8d bc 24 a4 01 00 00 	lea    0x1a4(%esp),%edi
-    10b9:	89 4c 24 04          	mov    %ecx,0x4(%esp)
-    10bd:	89 f1                	mov    %esi,%ecx
-    10bf:	89 44 24 10          	mov    %eax,0x10(%esp)
-    10c3:	8b 44 24 50          	mov    0x50(%esp),%eax
-    10c7:	89 54 24 0c          	mov    %edx,0xc(%esp)
-    10cb:	8b 54 24 58          	mov    0x58(%esp),%edx
-    10cf:	89 5c 24 08          	mov    %ebx,0x8(%esp)
-    10d3:	89 7c 24 2c          	mov    %edi,0x2c(%esp)
-    10d7:	89 3c 24             	mov    %edi,(%esp)
-    10da:	e8 21 ef ff ff       	call   0x0
-    10df:	89 44 24 50          	mov    %eax,0x50(%esp)
-    10e3:	8b 84 24 a0 01 00 00 	mov    0x1a0(%esp),%eax
-    10ea:	85 c0                	test   %eax,%eax
-    10ec:	0f 8e f7 00 00 00    	jle    0x11e9
-    10f2:	ba 01 00 00 00       	mov    $0x1,%edx
-    10f7:	bf 00 00 00 00       	mov    $0x0,%edi
-    10fc:	8d 4c 24 64          	lea    0x64(%esp),%ecx
-    1100:	89 5c 24 4c          	mov    %ebx,0x4c(%esp)
-    1104:	89 d3                	mov    %edx,%ebx
-    1106:	89 ca                	mov    %ecx,%edx
-    1108:	89 4c 24 44          	mov    %ecx,0x44(%esp)
-    110c:	89 74 24 54          	mov    %esi,0x54(%esp)
-    1110:	89 74 24 48          	mov    %esi,0x48(%esp)
-    1114:	eb 63                	jmp    0x1179
-    1116:	89 74 24 10          	mov    %esi,0x10(%esp)
-    111a:	8b 0f                	mov    (%edi),%ecx
-    111c:	89 44 24 08          	mov    %eax,0x8(%esp)
-    1120:	8b 44 24 54          	mov    0x54(%esp),%eax
-    1124:	8d 0c 8d 08 00 00 00 	lea    0x8(,%ecx,4),%ecx
-    112b:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
-    112f:	89 14 24             	mov    %edx,(%esp)
-    1132:	89 54 24 1c          	mov    %edx,0x1c(%esp)
-    1136:	89 44 24 04          	mov    %eax,0x4(%esp)
-    113a:	e8 fc ff ff ff       	call   0x113b
-    113f:	8b 54 24 1c          	mov    0x1c(%esp),%edx
-    1143:	03 b4 24 a4 01 00 00 	add    0x1a4(%esp),%esi
-    114a:	89 b4 24 a4 01 00 00 	mov    %esi,0x1a4(%esp)
-    1151:	85 c0                	test   %eax,%eax
-    1153:	75 0a                	jne    0x115f
-    1155:	83 ee 01             	sub    $0x1,%esi
-    1158:	89 b4 24 a4 01 00 00 	mov    %esi,0x1a4(%esp)
-    115f:	8b 4c 24 54          	mov    0x54(%esp),%ecx
-    1163:	8b 84 24 a0 01 00 00 	mov    0x1a0(%esp),%eax
-    116a:	89 54 24 54          	mov    %edx,0x54(%esp)
-    116e:	89 ca                	mov    %ecx,%edx
-    1170:	85 c0                	test   %eax,%eax
-    1172:	74 45                	je     0x11b9
-    1174:	01 db                	add    %ebx,%ebx
-    1176:	83 c7 10             	add    $0x10,%edi
-    1179:	85 d8                	test   %ebx,%eax
-    117b:	74 f3                	je     0x1170
-    117d:	31 d8                	xor    %ebx,%eax
-    117f:	8b 77 04             	mov    0x4(%edi),%esi
-    1182:	89 84 24 a0 01 00 00 	mov    %eax,0x1a0(%esp)
-    1189:	8b 84 24 a4 01 00 00 	mov    0x1a4(%esp),%eax
-    1190:	83 ee 02             	sub    $0x2,%esi
-    1193:	39 c6                	cmp    %eax,%esi
-    1195:	0f 8e 7b ff ff ff    	jle    0x1116
-    119b:	8b 4c 24 54          	mov    0x54(%esp),%ecx
-    119f:	89 44 24 10          	mov    %eax,0x10(%esp)
-    11a3:	89 74 24 08          	mov    %esi,0x8(%esp)
-    11a7:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
-    11ab:	8b 07                	mov    (%edi),%eax
-    11ad:	8d 04 85 08 00 00 00 	lea    0x8(,%eax,4),%eax
-    11b4:	e9 76 ff ff ff       	jmp    0x112f
-    11b9:	8b 7c 24 44          	mov    0x44(%esp),%edi
-    11bd:	39 7c 24 54          	cmp    %edi,0x54(%esp)
-    11c1:	8b 5c 24 4c          	mov    0x4c(%esp),%ebx
-    11c5:	8b 74 24 48          	mov    0x48(%esp),%esi
-    11c9:	75 1e                	jne    0x11e9
-    11cb:	8b 84 24 a4 01 00 00 	mov    0x1a4(%esp),%eax
-    11d2:	89 34 24             	mov    %esi,(%esp)
-    11d5:	c1 e0 02             	shl    $0x2,%eax
-    11d8:	89 44 24 08          	mov    %eax,0x8(%esp)
-    11dc:	8b 44 24 54          	mov    0x54(%esp),%eax
-    11e0:	89 44 24 04          	mov    %eax,0x4(%esp)
-    11e4:	e8 fc ff ff ff       	call   0x11e5
-    11e9:	8b 84 24 a4 01 00 00 	mov    0x1a4(%esp),%eax
-    11f0:	8d 50 ff             	lea    -0x1(%eax),%edx
-    11f3:	89 c1                	mov    %eax,%ecx
-    11f5:	89 54 24 4c          	mov    %edx,0x4c(%esp)
-    11f9:	c1 e1 05             	shl    $0x5,%ecx
-    11fc:	0f bd 94 94 fc 00 00 	bsr    0xfc(%esp,%edx,4),%edx
-    1203:	00 
-    1204:	83 f2 1f             	xor    $0x1f,%edx
-    1207:	29 d1                	sub    %edx,%ecx
-    1209:	81 f9 00 04 00 00    	cmp    $0x400,%ecx
-    120f:	89 4c 24 54          	mov    %ecx,0x54(%esp)
-    1213:	0f 8f 18 10 00 00    	jg     0x2231
-    1219:	83 7c 24 54 35       	cmpl   $0x35,0x54(%esp)
-    121e:	0f 8f a0 03 00 00    	jg     0x15c4
-    1224:	8b 7c 24 58          	mov    0x58(%esp),%edi
-    1228:	39 7c 24 5c          	cmp    %edi,0x5c(%esp)
-    122c:	0f 85 a4 09 00 00    	jne    0x1bd6
-    1232:	8b 5c 24 54          	mov    0x54(%esp),%ebx
-    1236:	83 eb 01             	sub    $0x1,%ebx
-    1239:	89 d9                	mov    %ebx,%ecx
-    123b:	c1 f9 1f             	sar    $0x1f,%ecx
-    123e:	c1 e9 1b             	shr    $0x1b,%ecx
-    1241:	8d 14 0b             	lea    (%ebx,%ecx,1),%edx
-    1244:	83 e2 1f             	and    $0x1f,%edx
-    1247:	29 ca                	sub    %ecx,%edx
-    1249:	83 fa 14             	cmp    $0x14,%edx
-    124c:	0f 84 65 0d 00 00    	je     0x1fb7
-    1252:	83 fa 13             	cmp    $0x13,%edx
-    1255:	0f 8f 98 0b 00 00    	jg     0x1df3
-    125b:	89 74 24 04          	mov    %esi,0x4(%esp)
-    125f:	b9 14 00 00 00       	mov    $0x14,%ecx
-    1264:	be 02 00 00 00       	mov    $0x2,%esi
-    1269:	29 d1                	sub    %edx,%ecx
-    126b:	89 f2                	mov    %esi,%edx
-    126d:	29 c2                	sub    %eax,%edx
-    126f:	8d bc 24 94 01 00 00 	lea    0x194(%esp),%edi
-    1276:	89 44 24 08          	mov    %eax,0x8(%esp)
-    127a:	8d 04 97             	lea    (%edi,%edx,4),%eax
-    127d:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
-    1281:	89 7c 24 3c          	mov    %edi,0x3c(%esp)
-    1285:	89 04 24             	mov    %eax,(%esp)
-    1288:	e8 fc ff ff ff       	call   0x1289
-    128d:	2b b4 24 a4 01 00 00 	sub    0x1a4(%esp),%esi
-    1294:	85 f6                	test   %esi,%esi
-    1296:	7e 14                	jle    0x12ac
-    1298:	31 c0                	xor    %eax,%eax
-    129a:	8b 4c 24 3c          	mov    0x3c(%esp),%ecx
-    129e:	c7 04 81 00 00 00 00 	movl   $0x0,(%ecx,%eax,4)
-    12a5:	83 c0 01             	add    $0x1,%eax
-    12a8:	39 f0                	cmp    %esi,%eax
-    12aa:	7c ee                	jl     0x129a
-    12ac:	8b 4c 24 30          	mov    0x30(%esp),%ecx
-    12b0:	89 da                	mov    %ebx,%edx
-    12b2:	8b 44 24 3c          	mov    0x3c(%esp),%eax
-    12b6:	c7 44 24 08 00 00 00 	movl   $0x0,0x8(%esp)
-    12bd:	00 
-    12be:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
-    12c5:	00 
-    12c6:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
-    12cd:	e8 7e ef ff ff       	call   0x250
-    12d2:	e9 2d fb ff ff       	jmp    0xe04
-    12d7:	0f b6 51 02          	movzbl 0x2(%ecx),%edx
-    12db:	8d 71 02             	lea    0x2(%ecx),%esi
-    12de:	c7 44 24 3c 01 00 00 	movl   $0x1,0x3c(%esp)
-    12e5:	00 
-    12e6:	e9 85 f4 ff ff       	jmp    0x770
-    12eb:	8b 74 24 50          	mov    0x50(%esp),%esi
-    12ef:	8b 5d 14             	mov    0x14(%ebp),%ebx
-    12f2:	0f b6 16             	movzbl (%esi),%edx
-    12f5:	8b 7b 34             	mov    0x34(%ebx),%edi
-    12f8:	0f be c2             	movsbl %dl,%eax
-    12fb:	f6 44 47 01 10       	testb  $0x10,0x1(%edi,%eax,2)
-    1300:	75 1a                	jne    0x131c
-    1302:	89 f1                	mov    %esi,%ecx
-    1304:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    1308:	83 c1 01             	add    $0x1,%ecx
-    130b:	0f b6 11             	movzbl (%ecx),%edx
-    130e:	0f be c2             	movsbl %dl,%eax
-    1311:	f6 44 47 01 10       	testb  $0x10,0x1(%edi,%eax,2)
-    1316:	74 f0                	je     0x1308
-    1318:	89 4c 24 50          	mov    %ecx,0x50(%esp)
-    131c:	80 fa 30             	cmp    $0x30,%dl
-    131f:	75 19                	jne    0x133a
-    1321:	8b 44 24 50          	mov    0x50(%esp),%eax
-    1325:	8d 76 00             	lea    0x0(%esi),%esi
-    1328:	83 c0 01             	add    $0x1,%eax
-    132b:	0f b6 10             	movzbl (%eax),%edx
-    132e:	80 fa 30             	cmp    $0x30,%dl
-    1331:	74 f5                	je     0x1328
-    1333:	89 44 24 50          	mov    %eax,0x50(%esp)
-    1337:	0f be c2             	movsbl %dl,%eax
-    133a:	8d 50 d0             	lea    -0x30(%eax),%edx
-    133d:	83 fa 09             	cmp    $0x9,%edx
-    1340:	0f 86 28 03 00 00    	jbe    0x166e
-    1346:	8b 4d 14             	mov    0x14(%ebp),%ecx
-    1349:	8b 74 24 50          	mov    0x50(%esp),%esi
-    134d:	8b 51 38             	mov    0x38(%ecx),%edx
-    1350:	83 c6 01             	add    $0x1,%esi
-    1353:	8b 14 82             	mov    (%edx,%eax,4),%edx
-    1356:	83 ea 57             	sub    $0x57,%edx
-    1359:	8b 1c 95 00 00 00 00 	mov    0x0(,%edx,4),%ebx
-    1360:	b8 14 00 00 00       	mov    $0x14,%eax
-    1365:	89 7c 24 54          	mov    %edi,0x54(%esp)
-    1369:	29 d8                	sub    %ebx,%eax
-    136b:	8d 48 01             	lea    0x1(%eax),%ecx
-    136e:	d3 e2                	shl    %cl,%edx
-    1370:	8b 4c 24 58          	mov    0x58(%esp),%ecx
-    1374:	89 94 24 98 01 00 00 	mov    %edx,0x198(%esp)
-    137b:	8b 94 24 a0 01 00 00 	mov    0x1a0(%esp),%edx
-    1382:	8d 54 8a fb          	lea    -0x5(%edx,%ecx,4),%edx
-    1386:	01 da                	add    %ebx,%edx
-    1388:	89 94 24 a0 01 00 00 	mov    %edx,0x1a0(%esp)
-    138f:	ba 01 00 00 00       	mov    $0x1,%edx
-    1394:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+     fc3:	80 fa 70             	cmp    $0x70,%dl
+     fc6:	0f 85 bc 00 00 00    	jne    0x1088
+     fcc:	80 7c 24 50 00       	cmpb   $0x0,0x50(%esp)
+     fd1:	0f 84 b1 00 00 00    	je     0x1088
+     fd7:	c6 44 24 50 01       	movb   $0x1,0x50(%esp)
+     fdc:	e9 6e f7 ff ff       	jmp    0x74f
+     fe1:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
+     fe8:	8b 44 24 3c          	mov    0x3c(%esp),%eax
+     fec:	85 c0                	test   %eax,%eax
+     fee:	0f 84 6e f6 ff ff    	je     0x662
+     ff4:	8b 44 24 3c          	mov    0x3c(%esp),%eax
+     ff8:	89 4c 24 04          	mov    %ecx,0x4(%esp)
+     ffc:	88 54 24 1c          	mov    %dl,0x1c(%esp)
+    1000:	89 4c 24 18          	mov    %ecx,0x18(%esp)
+    1004:	89 44 24 0c          	mov    %eax,0xc(%esp)
+    1008:	8b 44 24 38          	mov    0x38(%esp),%eax
+    100c:	89 34 24             	mov    %esi,(%esp)
+    100f:	89 44 24 08          	mov    %eax,0x8(%esp)
+    1013:	e8 fc ff ff ff       	call   0x1014
+    1018:	0f b6 54 24 1c       	movzbl 0x1c(%esp),%edx
+    101d:	8b 4c 24 18          	mov    0x18(%esp),%ecx
+    1021:	39 44 24 5c          	cmp    %eax,0x5c(%esp)
+    1025:	0f 84 9f 0b 00 00    	je     0x1bca
+    102b:	39 c6                	cmp    %eax,%esi
+    102d:	0f 84 97 0c 00 00    	je     0x1cca
+    1033:	39 c7                	cmp    %eax,%edi
+    1035:	0f 87 78 04 00 00    	ja     0x14b3
+    103b:	89 fa                	mov    %edi,%edx
+    103d:	c7 44 24 5c 00 00 00 	movl   $0x0,0x5c(%esp)
+    1044:	00 
+    1045:	0f 83 c3 0e 00 00    	jae    0x1f0e
+    104b:	8b 4c 24 5c          	mov    0x5c(%esp),%ecx
+    104f:	89 c6                	mov    %eax,%esi
+    1051:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
+    1058:	0f b6 02             	movzbl (%edx),%eax
+    105b:	83 e8 30             	sub    $0x30,%eax
+    105e:	3c 0a                	cmp    $0xa,%al
+    1060:	83 d1 00             	adc    $0x0,%ecx
+    1063:	83 c2 01             	add    $0x1,%edx
+    1066:	39 d6                	cmp    %edx,%esi
+    1068:	77 ee                	ja     0x1058
+    106a:	89 4c 24 5c          	mov    %ecx,0x5c(%esp)
+    106e:	89 4c 24 58          	mov    %ecx,0x58(%esp)
+    1072:	89 f1                	mov    %esi,%ecx
+    1074:	c7 44 24 44 00 00 00 	movl   $0x0,0x44(%esp)
+    107b:	00 
+    107c:	e9 ca f7 ff ff       	jmp    0x84b
+    1081:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
+    1088:	89 f0                	mov    %esi,%eax
+    108a:	e9 ad f6 ff ff       	jmp    0x73c
+    108f:	8b 44 24 48          	mov    0x48(%esp),%eax
+    1093:	89 7c 24 44          	mov    %edi,0x44(%esp)
+    1097:	8b 5c 24 3c          	mov    0x3c(%esp),%ebx
+    109b:	8b 7c 24 54          	mov    0x54(%esp),%edi
+    109f:	89 44 24 5c          	mov    %eax,0x5c(%esp)
+    10a3:	e9 0f ff ff ff       	jmp    0xfb7
+    10a8:	8b 44 24 38          	mov    0x38(%esp),%eax
+    10ac:	8d 8c 24 a0 01 00 00 	lea    0x1a0(%esp),%ecx
+    10b3:	8b 54 24 34          	mov    0x34(%esp),%edx
+    10b7:	8d b4 24 fc 00 00 00 	lea    0xfc(%esp),%esi
+    10be:	89 4c 24 40          	mov    %ecx,0x40(%esp)
+    10c2:	8d bc 24 a4 01 00 00 	lea    0x1a4(%esp),%edi
+    10c9:	89 4c 24 04          	mov    %ecx,0x4(%esp)
+    10cd:	89 f1                	mov    %esi,%ecx
+    10cf:	89 44 24 10          	mov    %eax,0x10(%esp)
+    10d3:	8b 44 24 50          	mov    0x50(%esp),%eax
+    10d7:	89 54 24 0c          	mov    %edx,0xc(%esp)
+    10db:	8b 54 24 58          	mov    0x58(%esp),%edx
+    10df:	89 5c 24 08          	mov    %ebx,0x8(%esp)
+    10e3:	89 7c 24 2c          	mov    %edi,0x2c(%esp)
+    10e7:	89 3c 24             	mov    %edi,(%esp)
+    10ea:	e8 11 ef ff ff       	call   0x0
+    10ef:	89 44 24 50          	mov    %eax,0x50(%esp)
+    10f3:	8b 84 24 a0 01 00 00 	mov    0x1a0(%esp),%eax
+    10fa:	85 c0                	test   %eax,%eax
+    10fc:	0f 8e f7 00 00 00    	jle    0x11f9
+    1102:	ba 01 00 00 00       	mov    $0x1,%edx
+    1107:	bf 00 00 00 00       	mov    $0x0,%edi
+    110c:	8d 4c 24 64          	lea    0x64(%esp),%ecx
+    1110:	89 5c 24 4c          	mov    %ebx,0x4c(%esp)
+    1114:	89 d3                	mov    %edx,%ebx
+    1116:	89 ca                	mov    %ecx,%edx
+    1118:	89 4c 24 44          	mov    %ecx,0x44(%esp)
+    111c:	89 74 24 54          	mov    %esi,0x54(%esp)
+    1120:	89 74 24 48          	mov    %esi,0x48(%esp)
+    1124:	eb 63                	jmp    0x1189
+    1126:	89 74 24 10          	mov    %esi,0x10(%esp)
+    112a:	8b 0f                	mov    (%edi),%ecx
+    112c:	89 44 24 08          	mov    %eax,0x8(%esp)
+    1130:	8b 44 24 54          	mov    0x54(%esp),%eax
+    1134:	8d 0c 8d 08 00 00 00 	lea    0x8(,%ecx,4),%ecx
+    113b:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
+    113f:	89 14 24             	mov    %edx,(%esp)
+    1142:	89 54 24 1c          	mov    %edx,0x1c(%esp)
+    1146:	89 44 24 04          	mov    %eax,0x4(%esp)
+    114a:	e8 fc ff ff ff       	call   0x114b
+    114f:	8b 54 24 1c          	mov    0x1c(%esp),%edx
+    1153:	03 b4 24 a4 01 00 00 	add    0x1a4(%esp),%esi
+    115a:	89 b4 24 a4 01 00 00 	mov    %esi,0x1a4(%esp)
+    1161:	85 c0                	test   %eax,%eax
+    1163:	75 0a                	jne    0x116f
+    1165:	83 ee 01             	sub    $0x1,%esi
+    1168:	89 b4 24 a4 01 00 00 	mov    %esi,0x1a4(%esp)
+    116f:	8b 4c 24 54          	mov    0x54(%esp),%ecx
+    1173:	8b 84 24 a0 01 00 00 	mov    0x1a0(%esp),%eax
+    117a:	89 54 24 54          	mov    %edx,0x54(%esp)
+    117e:	89 ca                	mov    %ecx,%edx
+    1180:	85 c0                	test   %eax,%eax
+    1182:	74 45                	je     0x11c9
+    1184:	01 db                	add    %ebx,%ebx
+    1186:	83 c7 10             	add    $0x10,%edi
+    1189:	85 d8                	test   %ebx,%eax
+    118b:	74 f3                	je     0x1180
+    118d:	31 d8                	xor    %ebx,%eax
+    118f:	8b 77 04             	mov    0x4(%edi),%esi
+    1192:	89 84 24 a0 01 00 00 	mov    %eax,0x1a0(%esp)
+    1199:	8b 84 24 a4 01 00 00 	mov    0x1a4(%esp),%eax
+    11a0:	83 ee 02             	sub    $0x2,%esi
+    11a3:	39 c6                	cmp    %eax,%esi
+    11a5:	0f 8e 7b ff ff ff    	jle    0x1126
+    11ab:	8b 4c 24 54          	mov    0x54(%esp),%ecx
+    11af:	89 44 24 10          	mov    %eax,0x10(%esp)
+    11b3:	89 74 24 08          	mov    %esi,0x8(%esp)
+    11b7:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
+    11bb:	8b 07                	mov    (%edi),%eax
+    11bd:	8d 04 85 08 00 00 00 	lea    0x8(,%eax,4),%eax
+    11c4:	e9 76 ff ff ff       	jmp    0x113f
+    11c9:	8b 7c 24 44          	mov    0x44(%esp),%edi
+    11cd:	39 7c 24 54          	cmp    %edi,0x54(%esp)
+    11d1:	8b 5c 24 4c          	mov    0x4c(%esp),%ebx
+    11d5:	8b 74 24 48          	mov    0x48(%esp),%esi
+    11d9:	75 1e                	jne    0x11f9
+    11db:	8b 84 24 a4 01 00 00 	mov    0x1a4(%esp),%eax
+    11e2:	89 34 24             	mov    %esi,(%esp)
+    11e5:	c1 e0 02             	shl    $0x2,%eax
+    11e8:	89 44 24 08          	mov    %eax,0x8(%esp)
+    11ec:	8b 44 24 54          	mov    0x54(%esp),%eax
+    11f0:	89 44 24 04          	mov    %eax,0x4(%esp)
+    11f4:	e8 fc ff ff ff       	call   0x11f5
+    11f9:	8b 84 24 a4 01 00 00 	mov    0x1a4(%esp),%eax
+    1200:	8d 50 ff             	lea    -0x1(%eax),%edx
+    1203:	89 c1                	mov    %eax,%ecx
+    1205:	89 54 24 4c          	mov    %edx,0x4c(%esp)
+    1209:	c1 e1 05             	shl    $0x5,%ecx
+    120c:	0f bd 94 94 fc 00 00 	bsr    0xfc(%esp,%edx,4),%edx
+    1213:	00 
+    1214:	83 f2 1f             	xor    $0x1f,%edx
+    1217:	29 d1                	sub    %edx,%ecx
+    1219:	81 f9 00 04 00 00    	cmp    $0x400,%ecx
+    121f:	89 4c 24 54          	mov    %ecx,0x54(%esp)
+    1223:	0f 8f bd 0e 00 00    	jg     0x20e6
+    1229:	83 7c 24 54 35       	cmpl   $0x35,0x54(%esp)
+    122e:	0f 8f 90 03 00 00    	jg     0x15c4
+    1234:	8b 7c 24 58          	mov    0x58(%esp),%edi
+    1238:	39 7c 24 5c          	cmp    %edi,0x5c(%esp)
+    123c:	0f 85 9e 09 00 00    	jne    0x1be0
+    1242:	8b 5c 24 54          	mov    0x54(%esp),%ebx
+    1246:	83 eb 01             	sub    $0x1,%ebx
+    1249:	89 d9                	mov    %ebx,%ecx
+    124b:	c1 f9 1f             	sar    $0x1f,%ecx
+    124e:	c1 e9 1b             	shr    $0x1b,%ecx
+    1251:	8d 14 0b             	lea    (%ebx,%ecx,1),%edx
+    1254:	83 e2 1f             	and    $0x1f,%edx
+    1257:	29 ca                	sub    %ecx,%edx
+    1259:	83 fa 14             	cmp    $0x14,%edx
+    125c:	0f 84 75 0d 00 00    	je     0x1fd7
+    1262:	83 fa 13             	cmp    $0x13,%edx
+    1265:	0f 8f a8 0b 00 00    	jg     0x1e13
+    126b:	89 74 24 04          	mov    %esi,0x4(%esp)
+    126f:	b9 14 00 00 00       	mov    $0x14,%ecx
+    1274:	be 02 00 00 00       	mov    $0x2,%esi
+    1279:	29 d1                	sub    %edx,%ecx
+    127b:	89 f2                	mov    %esi,%edx
+    127d:	29 c2                	sub    %eax,%edx
+    127f:	8d bc 24 94 01 00 00 	lea    0x194(%esp),%edi
+    1286:	89 44 24 08          	mov    %eax,0x8(%esp)
+    128a:	8d 04 97             	lea    (%edi,%edx,4),%eax
+    128d:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
+    1291:	89 7c 24 3c          	mov    %edi,0x3c(%esp)
+    1295:	89 04 24             	mov    %eax,(%esp)
+    1298:	e8 fc ff ff ff       	call   0x1299
+    129d:	2b b4 24 a4 01 00 00 	sub    0x1a4(%esp),%esi
+    12a4:	85 f6                	test   %esi,%esi
+    12a6:	7e 14                	jle    0x12bc
+    12a8:	31 c0                	xor    %eax,%eax
+    12aa:	8b 4c 24 3c          	mov    0x3c(%esp),%ecx
+    12ae:	c7 04 81 00 00 00 00 	movl   $0x0,(%ecx,%eax,4)
+    12b5:	83 c0 01             	add    $0x1,%eax
+    12b8:	39 f0                	cmp    %esi,%eax
+    12ba:	7c ee                	jl     0x12aa
+    12bc:	8b 4c 24 30          	mov    0x30(%esp),%ecx
+    12c0:	89 da                	mov    %ebx,%edx
+    12c2:	8b 44 24 3c          	mov    0x3c(%esp),%eax
+    12c6:	c7 44 24 08 00 00 00 	movl   $0x0,0x8(%esp)
+    12cd:	00 
+    12ce:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
+    12d5:	00 
+    12d6:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
+    12dd:	e8 6e ef ff ff       	call   0x250
+    12e2:	e9 1d fb ff ff       	jmp    0xe04
+    12e7:	0f b6 51 02          	movzbl 0x2(%ecx),%edx
+    12eb:	8d 71 02             	lea    0x2(%ecx),%esi
+    12ee:	c7 44 24 3c 01 00 00 	movl   $0x1,0x3c(%esp)
+    12f5:	00 
+    12f6:	e9 75 f4 ff ff       	jmp    0x770
+    12fb:	8b 74 24 50          	mov    0x50(%esp),%esi
+    12ff:	8b 5d 14             	mov    0x14(%ebp),%ebx
+    1302:	0f b6 16             	movzbl (%esi),%edx
+    1305:	8b 7b 34             	mov    0x34(%ebx),%edi
+    1308:	0f be c2             	movsbl %dl,%eax
+    130b:	f6 44 47 01 10       	testb  $0x10,0x1(%edi,%eax,2)
+    1310:	75 1a                	jne    0x132c
+    1312:	89 f1                	mov    %esi,%ecx
+    1314:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    1318:	83 c1 01             	add    $0x1,%ecx
+    131b:	0f b6 11             	movzbl (%ecx),%edx
+    131e:	0f be c2             	movsbl %dl,%eax
+    1321:	f6 44 47 01 10       	testb  $0x10,0x1(%edi,%eax,2)
+    1326:	74 f0                	je     0x1318
+    1328:	89 4c 24 50          	mov    %ecx,0x50(%esp)
+    132c:	80 fa 30             	cmp    $0x30,%dl
+    132f:	75 19                	jne    0x134a
+    1331:	8b 44 24 50          	mov    0x50(%esp),%eax
+    1335:	8d 76 00             	lea    0x0(%esi),%esi
+    1338:	83 c0 01             	add    $0x1,%eax
+    133b:	0f b6 10             	movzbl (%eax),%edx
+    133e:	80 fa 30             	cmp    $0x30,%dl
+    1341:	74 f5                	je     0x1338
+    1343:	89 44 24 50          	mov    %eax,0x50(%esp)
+    1347:	0f be c2             	movsbl %dl,%eax
+    134a:	8d 50 d0             	lea    -0x30(%eax),%edx
+    134d:	83 fa 09             	cmp    $0x9,%edx
+    1350:	0f 87 18 03 00 00    	ja     0x166e
+    1356:	8b 74 24 50          	mov    0x50(%esp),%esi
+    135a:	83 c6 01             	add    $0x1,%esi
+    135d:	8b 1c 95 00 00 00 00 	mov    0x0(,%edx,4),%ebx
+    1364:	b8 14 00 00 00       	mov    $0x14,%eax
+    1369:	89 7c 24 54          	mov    %edi,0x54(%esp)
+    136d:	29 d8                	sub    %ebx,%eax
+    136f:	8d 48 01             	lea    0x1(%eax),%ecx
+    1372:	d3 e2                	shl    %cl,%edx
+    1374:	8b 4c 24 58          	mov    0x58(%esp),%ecx
+    1378:	89 94 24 98 01 00 00 	mov    %edx,0x198(%esp)
+    137f:	8b 94 24 a0 01 00 00 	mov    0x1a0(%esp),%edx
+    1386:	8d 54 8a fb          	lea    -0x5(%edx,%ecx,4),%edx
+    138a:	01 da                	add    %ebx,%edx
+    138c:	89 94 24 a0 01 00 00 	mov    %edx,0x1a0(%esp)
+    1393:	ba 01 00 00 00       	mov    $0x1,%edx
     1398:	83 6c 24 5c 01       	subl   $0x1,0x5c(%esp)
     139d:	8b 4c 24 5c          	mov    0x5c(%esp),%ecx
     13a1:	85 c9                	test   %ecx,%ecx
@@ -1409,10 +1407,10 @@
     13b7:	0f be 0e             	movsbl (%esi),%ecx
     13ba:	8d 59 d0             	lea    -0x30(%ecx),%ebx
     13bd:	83 fb 09             	cmp    $0x9,%ebx
-    13c0:	0f 87 22 03 00 00    	ja     0x16e8
+    13c0:	0f 87 2a 03 00 00    	ja     0x16f0
     13c6:	83 c6 01             	add    $0x1,%esi
     13c9:	83 f8 02             	cmp    $0x2,%eax
-    13cc:	0f 8e d6 02 00 00    	jle    0x16a8
+    13cc:	0f 8e de 02 00 00    	jle    0x16b0
     13d2:	8d 48 fd             	lea    -0x3(%eax),%ecx
     13d5:	83 e8 04             	sub    $0x4,%eax
     13d8:	83 6c 24 5c 01       	subl   $0x1,0x5c(%esp)
@@ -1448,8 +1446,8 @@
     1458:	e8 fc ff ff ff       	call   0x1459
     145d:	85 c0                	test   %eax,%eax
     145f:	0f 85 8a f9 ff ff    	jne    0xdef
-    1465:	8b 55 0c             	mov    0xc(%ebp),%edx
-    1468:	85 d2                	test   %edx,%edx
+    1465:	8b 4d 0c             	mov    0xc(%ebp),%ecx
+    1468:	85 c9                	test   %ecx,%ecx
     146a:	74 30                	je     0x149c
     146c:	8d 5e 03             	lea    0x3(%esi),%ebx
     146f:	83 c6 08             	add    $0x8,%esi
@@ -1467,14 +1465,14 @@
     149a:	89 1e                	mov    %ebx,(%esi)
     149c:	8b 74 24 30          	mov    0x30(%esp),%esi
     14a0:	85 f6                	test   %esi,%esi
-    14a2:	0f 85 40 09 00 00    	jne    0x1de8
+    14a2:	0f 85 60 09 00 00    	jne    0x1e08
     14a8:	d9 05 00 00 00 00    	flds   0x0
     14ae:	e9 51 f9 ff ff       	jmp    0xe04
     14b3:	8b 55 0c             	mov    0xc(%ebp),%edx
     14b6:	85 d2                	test   %edx,%edx
     14b8:	0f 84 c2 fa ff ff    	je     0xf80
-    14be:	8b 5d 0c             	mov    0xc(%ebp),%ebx
-    14c1:	89 03                	mov    %eax,(%ebx)
+    14be:	8b 55 0c             	mov    0xc(%ebp),%edx
+    14c1:	89 02                	mov    %eax,(%edx)
     14c3:	e9 b8 fa ff ff       	jmp    0xf80
     14c8:	c7 44 24 0c 00 00 00 	movl   $0x0,0xc(%esp)
     14cf:	00 
@@ -1488,10 +1486,10 @@
     14ea:	0f 85 ff f8 ff ff    	jne    0xdef
     14f0:	80 7e 03 28          	cmpb   $0x28,0x3(%esi)
     14f4:	8d 7e 03             	lea    0x3(%esi),%edi
-    14f7:	0f 84 56 09 00 00    	je     0x1e53
+    14f7:	0f 84 76 09 00 00    	je     0x1e73
     14fd:	d9 05 08 00 00 00    	flds   0x8
-    1503:	8b 45 0c             	mov    0xc(%ebp),%eax
-    1506:	85 c0                	test   %eax,%eax
+    1503:	8b 55 0c             	mov    0xc(%ebp),%edx
+    1506:	85 d2                	test   %edx,%edx
     1508:	0f 84 f6 f8 ff ff    	je     0xe04
     150e:	8b 45 0c             	mov    0xc(%ebp),%eax
     1511:	89 38                	mov    %edi,(%eax)
@@ -1555,7 +1553,7 @@
     15d0:	83 e0 1f             	and    $0x1f,%eax
     15d3:	89 5c 24 48          	mov    %ebx,0x48(%esp)
     15d7:	89 44 24 50          	mov    %eax,0x50(%esp)
-    15db:	0f 85 4b 06 00 00    	jne    0x1c2c
+    15db:	0f 85 55 06 00 00    	jne    0x1c36
     15e1:	8d 14 9e             	lea    (%esi,%ebx,4),%edx
     15e4:	89 d8                	mov    %ebx,%eax
     15e6:	8b 0a                	mov    (%edx),%ecx
@@ -1594,788 +1592,798 @@
     1660:	8b 44 24 3c          	mov    0x3c(%esp),%eax
     1664:	e8 e7 eb ff ff       	call   0x250
     1669:	e9 96 f7 ff ff       	jmp    0xe04
-    166e:	8b 74 24 50          	mov    0x50(%esp),%esi
-    1672:	83 c6 01             	add    $0x1,%esi
-    1675:	e9 df fc ff ff       	jmp    0x1359
-    167a:	8b 94 24 a4 01 00 00 	mov    0x1a4(%esp),%edx
-    1681:	89 84 94 fc 00 00 00 	mov    %eax,0xfc(%esp,%edx,4)
-    1688:	83 c2 01             	add    $0x1,%edx
-    168b:	89 94 24 a4 01 00 00 	mov    %edx,0x1a4(%esp)
-    1692:	e9 83 f4 ff ff       	jmp    0xb1a
-    1697:	8b 94 24 a4 01 00 00 	mov    0x1a4(%esp),%edx
-    169e:	e9 fb f4 ff ff       	jmp    0xb9e
-    16a3:	90                   	nop
-    16a4:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    16a8:	bf 03 00 00 00       	mov    $0x3,%edi
-    16ad:	29 c7                	sub    %eax,%edi
-    16af:	89 7c 24 58          	mov    %edi,0x58(%esp)
-    16b3:	0f b6 4c 24 58       	movzbl 0x58(%esp),%ecx
-    16b8:	89 df                	mov    %ebx,%edi
-    16ba:	d3 ef                	shr    %cl,%edi
-    16bc:	8d 48 1d             	lea    0x1d(%eax),%ecx
-    16bf:	09 bc 94 94 01 00 00 	or     %edi,0x194(%esp,%edx,4)
-    16c6:	d3 e3                	shl    %cl,%ebx
-    16c8:	85 d2                	test   %edx,%edx
-    16ca:	0f 84 d2 06 00 00    	je     0x1da2
-    16d0:	89 9c 24 94 01 00 00 	mov    %ebx,0x194(%esp)
-    16d7:	83 c0 1c             	add    $0x1c,%eax
-    16da:	31 d2                	xor    %edx,%edx
-    16dc:	e9 b7 fc ff ff       	jmp    0x1398
-    16e1:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
-    16e8:	8b 5d 14             	mov    0x14(%ebp),%ebx
-    16eb:	83 c6 01             	add    $0x1,%esi
-    16ee:	8b 7b 38             	mov    0x38(%ebx),%edi
-    16f1:	8b 0c 8f             	mov    (%edi,%ecx,4),%ecx
-    16f4:	8d 59 a9             	lea    -0x57(%ecx),%ebx
-    16f7:	e9 cd fc ff ff       	jmp    0x13c9
-    16fc:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    1700:	83 7c 24 54 15       	cmpl   $0x15,0x54(%esp)
-    1705:	7f 69                	jg     0x1770
-    1707:	8b 84 24 94 01 00 00 	mov    0x194(%esp),%eax
-    170e:	8b 7c 24 5c          	mov    0x5c(%esp),%edi
-    1712:	83 44 24 54 20       	addl   $0x20,0x54(%esp)
-    1717:	89 84 24 98 01 00 00 	mov    %eax,0x198(%esp)
-    171e:	89 bc 24 94 01 00 00 	mov    %edi,0x194(%esp)
-    1725:	e9 ce f4 ff ff       	jmp    0xbf8
-    172a:	83 ac 24 a0 01 00 00 	subl   $0x20,0x1a0(%esp)
-    1731:	20 
-    1732:	8b 74 24 5c          	mov    0x5c(%esp),%esi
-    1736:	83 7c 24 54 35       	cmpl   $0x35,0x54(%esp)
-    173b:	c7 84 24 98 01 00 00 	movl   $0x0,0x198(%esp)
-    1742:	00 00 00 00 
-    1746:	89 b4 24 94 01 00 00 	mov    %esi,0x194(%esp)
-    174d:	0f 8e a5 f4 ff ff    	jle    0xbf8
-    1753:	8b 74 24 50          	mov    0x50(%esp),%esi
-    1757:	8b 5c 24 48          	mov    0x48(%esp),%ebx
-    175b:	8b bc 24 a0 01 00 00 	mov    0x1a0(%esp),%edi
-    1762:	8b 8c 9c fc 00 00 00 	mov    0xfc(%esp,%ebx,4),%ecx
-    1769:	e9 e7 f5 ff ff       	jmp    0xd55
-    176e:	66 90                	xchg   %ax,%ax
-    1770:	b8 35 00 00 00       	mov    $0x35,%eax
-    1775:	8b 74 24 50          	mov    0x50(%esp),%esi
-    1779:	2b 44 24 54          	sub    0x54(%esp),%eax
-    177d:	89 44 24 38          	mov    %eax,0x38(%esp)
-    1781:	74 d4                	je     0x1757
-    1783:	89 44 24 0c          	mov    %eax,0xc(%esp)
-    1787:	8b 44 24 3c          	mov    0x3c(%esp),%eax
-    178b:	c7 44 24 08 02 00 00 	movl   $0x2,0x8(%esp)
-    1792:	00 
-    1793:	89 44 24 04          	mov    %eax,0x4(%esp)
-    1797:	89 04 24             	mov    %eax,(%esp)
-    179a:	e8 fc ff ff ff       	call   0x179b
-    179f:	8b 54 24 5c          	mov    0x5c(%esp),%edx
-    17a3:	b9 20 00 00 00       	mov    $0x20,%ecx
-    17a8:	2b 4c 24 38          	sub    0x38(%esp),%ecx
-    17ac:	d3 ea                	shr    %cl,%edx
-    17ae:	09 94 24 94 01 00 00 	or     %edx,0x194(%esp)
-    17b5:	eb a0                	jmp    0x1757
-    17b7:	8b 44 24 58          	mov    0x58(%esp),%eax
-    17bb:	f7 d8                	neg    %eax
-    17bd:	39 d0                	cmp    %edx,%eax
-    17bf:	0f 4c c2             	cmovl  %edx,%eax
-    17c2:	e9 47 f1 ff ff       	jmp    0x90e
-    17c7:	31 ff                	xor    %edi,%edi
-    17c9:	e9 a0 ed ff ff       	jmp    0x56e
-    17ce:	8b 44 24 58          	mov    0x58(%esp),%eax
-    17d2:	8d 04 85 32 04 00 00 	lea    0x432(,%eax,4),%eax
-    17d9:	89 44 24 54          	mov    %eax,0x54(%esp)
-    17dd:	8b 44 24 3c          	mov    0x3c(%esp),%eax
-    17e1:	85 c0                	test   %eax,%eax
-    17e3:	0f 85 b6 ef ff ff    	jne    0x79f
-    17e9:	8b 44 24 44          	mov    0x44(%esp),%eax
-    17ed:	2b 44 24 58          	sub    0x58(%esp),%eax
-    17f1:	8d 04 85 03 04 00 00 	lea    0x403(,%eax,4),%eax
-    17f8:	89 44 24 54          	mov    %eax,0x54(%esp)
-    17fc:	e9 9e ef ff ff       	jmp    0x79f
-    1801:	8b 94 24 fc 00 00 00 	mov    0xfc(%esp),%edx
-    1808:	8b 4c 24 64          	mov    0x64(%esp),%ecx
-    180c:	8b 5c 24 54          	mov    0x54(%esp),%ebx
-    1810:	31 c0                	xor    %eax,%eax
-    1812:	f7 f1                	div    %ecx
-    1814:	85 db                	test   %ebx,%ebx
-    1816:	75 7e                	jne    0x1896
-    1818:	85 c0                	test   %eax,%eax
-    181a:	0f 84 98 00 00 00    	je     0x18b8
-    1820:	0f bd f0             	bsr    %eax,%esi
-    1823:	8b 9c 24 a0 01 00 00 	mov    0x1a0(%esp),%ebx
-    182a:	bf 20 00 00 00       	mov    $0x20,%edi
-    182f:	83 f6 1f             	xor    $0x1f,%esi
-    1832:	29 f7                	sub    %esi,%edi
-    1834:	29 f3                	sub    %esi,%ebx
-    1836:	83 ff 35             	cmp    $0x35,%edi
-    1839:	89 9c 24 a0 01 00 00 	mov    %ebx,0x1a0(%esp)
-    1840:	0f 8e 9b 09 00 00    	jle    0x21e1
-    1846:	89 c1                	mov    %eax,%ecx
-    1848:	83 c6 35             	add    $0x35,%esi
-    184b:	89 d8                	mov    %ebx,%eax
-    184d:	89 cb                	mov    %ecx,%ebx
-    184f:	b9 20 00 00 00       	mov    $0x20,%ecx
-    1854:	89 df                	mov    %ebx,%edi
-    1856:	29 f1                	sub    %esi,%ecx
-    1858:	d3 ef                	shr    %cl,%edi
-    185a:	89 bc 24 94 01 00 00 	mov    %edi,0x194(%esp)
-    1861:	83 e8 01             	sub    $0x1,%eax
-    1864:	85 d2                	test   %edx,%edx
-    1866:	8b 4c 24 30          	mov    0x30(%esp),%ecx
-    186a:	0f 95 c2             	setne  %dl
-    186d:	0f b6 d2             	movzbl %dl,%edx
-    1870:	0b 54 24 28          	or     0x28(%esp),%edx
-    1874:	89 1c 24             	mov    %ebx,(%esp)
-    1877:	89 54 24 08          	mov    %edx,0x8(%esp)
-    187b:	ba 1f 00 00 00       	mov    $0x1f,%edx
-    1880:	29 f2                	sub    %esi,%edx
-    1882:	89 54 24 04          	mov    %edx,0x4(%esp)
-    1886:	89 c2                	mov    %eax,%edx
-    1888:	8b 44 24 3c          	mov    0x3c(%esp),%eax
-    188c:	e8 bf e9 ff ff       	call   0x250
-    1891:	e9 6e f5 ff ff       	jmp    0xe04
-    1896:	83 fb 15             	cmp    $0x15,%ebx
-    1899:	7f 55                	jg     0x18f0
-    189b:	8b b4 24 94 01 00 00 	mov    0x194(%esp),%esi
-    18a2:	83 c3 20             	add    $0x20,%ebx
-    18a5:	89 84 24 94 01 00 00 	mov    %eax,0x194(%esp)
-    18ac:	89 b4 24 98 01 00 00 	mov    %esi,0x198(%esp)
-    18b3:	e9 58 ff ff ff       	jmp    0x1810
-    18b8:	83 ac 24 a0 01 00 00 	subl   $0x20,0x1a0(%esp)
-    18bf:	20 
-    18c0:	83 fb 35             	cmp    $0x35,%ebx
-    18c3:	c7 84 24 98 01 00 00 	movl   $0x0,0x198(%esp)
-    18ca:	00 00 00 00 
-    18ce:	89 84 24 94 01 00 00 	mov    %eax,0x194(%esp)
-    18d5:	0f 8e 35 ff ff ff    	jle    0x1810
-    18db:	89 c3                	mov    %eax,%ebx
-    18dd:	31 f6                	xor    %esi,%esi
-    18df:	8b 84 24 a0 01 00 00 	mov    0x1a0(%esp),%eax
-    18e6:	e9 76 ff ff ff       	jmp    0x1861
-    18eb:	90                   	nop
-    18ec:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    18f0:	89 5c 24 54          	mov    %ebx,0x54(%esp)
-    18f4:	be 35 00 00 00       	mov    $0x35,%esi
-    18f9:	89 c3                	mov    %eax,%ebx
-    18fb:	2b 74 24 54          	sub    0x54(%esp),%esi
-    18ff:	85 f6                	test   %esi,%esi
-    1901:	7e dc                	jle    0x18df
-    1903:	8b 44 24 3c          	mov    0x3c(%esp),%eax
-    1907:	89 df                	mov    %ebx,%edi
-    1909:	89 54 24 1c          	mov    %edx,0x1c(%esp)
-    190d:	89 74 24 0c          	mov    %esi,0xc(%esp)
-    1911:	c7 44 24 08 02 00 00 	movl   $0x2,0x8(%esp)
-    1918:	00 
-    1919:	89 44 24 04          	mov    %eax,0x4(%esp)
-    191d:	89 04 24             	mov    %eax,(%esp)
-    1920:	e8 fc ff ff ff       	call   0x1921
-    1925:	b9 20 00 00 00       	mov    $0x20,%ecx
-    192a:	8b 54 24 1c          	mov    0x1c(%esp),%edx
-    192e:	29 f1                	sub    %esi,%ecx
-    1930:	d3 ef                	shr    %cl,%edi
-    1932:	09 bc 24 94 01 00 00 	or     %edi,0x194(%esp)
-    1939:	eb a4                	jmp    0x18df
-    193b:	8b 44 24 64          	mov    0x64(%esp),%eax
-    193f:	83 bc 24 a4 01 00 00 	cmpl   $0x1,0x1a4(%esp)
-    1946:	01 
-    1947:	8b 5c 24 68          	mov    0x68(%esp),%ebx
-    194b:	89 44 24 5c          	mov    %eax,0x5c(%esp)
-    194f:	0f 8f 4c 02 00 00    	jg     0x1ba1
-    1955:	8b 94 24 fc 00 00 00 	mov    0xfc(%esp),%edx
-    195c:	31 ff                	xor    %edi,%edi
-    195e:	39 d3                	cmp    %edx,%ebx
-    1960:	89 54 24 58          	mov    %edx,0x58(%esp)
-    1964:	0f 86 49 02 00 00    	jbe    0x1bb3
-    196a:	83 7c 24 54 00       	cmpl   $0x0,0x54(%esp)
-    196f:	0f 8e d0 06 00 00    	jle    0x2045
-    1975:	83 7c 24 54 15       	cmpl   $0x15,0x54(%esp)
-    197a:	0f 8f 86 06 00 00    	jg     0x2006
-    1980:	8b 84 24 94 01 00 00 	mov    0x194(%esp),%eax
-    1987:	c7 44 24 4c 00 00 00 	movl   $0x0,0x4c(%esp)
-    198e:	00 
-    198f:	c7 84 24 94 01 00 00 	movl   $0x0,0x194(%esp)
-    1996:	00 00 00 00 
-    199a:	89 84 24 98 01 00 00 	mov    %eax,0x198(%esp)
-    19a1:	83 44 24 54 20       	addl   $0x20,0x54(%esp)
-    19a6:	83 7c 24 54 35       	cmpl   $0x35,0x54(%esp)
-    19ab:	0f 8f af 06 00 00    	jg     0x2060
-    19b1:	8b 7c 24 58          	mov    0x58(%esp),%edi
-    19b5:	c7 44 24 58 00 00 00 	movl   $0x0,0x58(%esp)
-    19bc:	00 
-    19bd:	8b 54 24 5c          	mov    0x5c(%esp),%edx
-    19c1:	f7 da                	neg    %edx
-    19c3:	89 54 24 48          	mov    %edx,0x48(%esp)
-    19c7:	90                   	nop
-    19c8:	39 df                	cmp    %ebx,%edi
-    19ca:	0f 84 16 01 00 00    	je     0x1ae6
-    19d0:	8b 74 24 58          	mov    0x58(%esp),%esi
-    19d4:	89 fa                	mov    %edi,%edx
-    19d6:	89 f0                	mov    %esi,%eax
-    19d8:	f7 f3                	div    %ebx
-    19da:	89 c6                	mov    %eax,%esi
-    19dc:	89 d7                	mov    %edx,%edi
-    19de:	8b 44 24 5c          	mov    0x5c(%esp),%eax
-    19e2:	f7 e6                	mul    %esi
-    19e4:	8d 0c 1f             	lea    (%edi,%ebx,1),%ecx
-    19e7:	89 74 24 50          	mov    %esi,0x50(%esp)
-    19eb:	90                   	nop
-    19ec:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    19f0:	39 fa                	cmp    %edi,%edx
-    19f2:	77 08                	ja     0x19fc
-    19f4:	85 c0                	test   %eax,%eax
-    19f6:	74 1c                	je     0x1a14
-    19f8:	39 fa                	cmp    %edi,%edx
-    19fa:	75 18                	jne    0x1a14
-    19fc:	01 d9                	add    %ebx,%ecx
-    19fe:	01 df                	add    %ebx,%edi
-    1a00:	89 ce                	mov    %ecx,%esi
-    1a02:	29 de                	sub    %ebx,%esi
-    1a04:	83 6c 24 50 01       	subl   $0x1,0x50(%esp)
-    1a09:	2b 44 24 5c          	sub    0x5c(%esp),%eax
-    1a0d:	83 da 00             	sbb    $0x0,%edx
-    1a10:	39 de                	cmp    %ebx,%esi
-    1a12:	73 dc                	jae    0x19f0
-    1a14:	8b 74 24 50          	mov    0x50(%esp),%esi
-    1a18:	31 c9                	xor    %ecx,%ecx
-    1a1a:	29 c1                	sub    %eax,%ecx
-    1a1c:	19 d7                	sbb    %edx,%edi
-    1a1e:	89 4c 24 58          	mov    %ecx,0x58(%esp)
-    1a22:	8b 44 24 54          	mov    0x54(%esp),%eax
-    1a26:	85 c0                	test   %eax,%eax
-    1a28:	0f 85 92 00 00 00    	jne    0x1ac0
-    1a2e:	85 f6                	test   %esi,%esi
-    1a30:	0f 84 d5 00 00 00    	je     0x1b0b
-    1a36:	0f bd c6             	bsr    %esi,%eax
-    1a39:	8b 94 24 a0 01 00 00 	mov    0x1a0(%esp),%edx
-    1a40:	b9 20 00 00 00       	mov    $0x20,%ecx
-    1a45:	83 f0 1f             	xor    $0x1f,%eax
-    1a48:	29 c1                	sub    %eax,%ecx
-    1a4a:	29 c2                	sub    %eax,%edx
-    1a4c:	83 f9 35             	cmp    $0x35,%ecx
-    1a4f:	89 94 24 a0 01 00 00 	mov    %edx,0x1a0(%esp)
-    1a56:	0f 8e a2 06 00 00    	jle    0x20fe
-    1a5c:	83 c0 35             	add    $0x35,%eax
-    1a5f:	b9 20 00 00 00       	mov    $0x20,%ecx
-    1a64:	29 c1                	sub    %eax,%ecx
-    1a66:	89 44 24 4c          	mov    %eax,0x4c(%esp)
-    1a6a:	89 f0                	mov    %esi,%eax
-    1a6c:	d3 e8                	shr    %cl,%eax
-    1a6e:	89 84 24 94 01 00 00 	mov    %eax,0x194(%esp)
-    1a75:	85 ff                	test   %edi,%edi
-    1a77:	0f 85 1b 03 00 00    	jne    0x1d98
-    1a7d:	8b 4c 24 28          	mov    0x28(%esp),%ecx
-    1a81:	85 c9                	test   %ecx,%ecx
-    1a83:	0f 85 0f 03 00 00    	jne    0x1d98
-    1a89:	31 c0                	xor    %eax,%eax
-    1a8b:	83 7c 24 58 00       	cmpl   $0x0,0x58(%esp)
-    1a90:	0f 95 c0             	setne  %al
-    1a93:	89 44 24 08          	mov    %eax,0x8(%esp)
-    1a97:	b8 1f 00 00 00       	mov    $0x1f,%eax
-    1a9c:	8b 4c 24 30          	mov    0x30(%esp),%ecx
-    1aa0:	2b 44 24 4c          	sub    0x4c(%esp),%eax
-    1aa4:	83 ea 01             	sub    $0x1,%edx
-    1aa7:	89 34 24             	mov    %esi,(%esp)
-    1aaa:	89 44 24 04          	mov    %eax,0x4(%esp)
-    1aae:	8b 44 24 3c          	mov    0x3c(%esp),%eax
-    1ab2:	e8 99 e7 ff ff       	call   0x250
-    1ab7:	e9 48 f3 ff ff       	jmp    0xe04
-    1abc:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    1ac0:	83 7c 24 54 15       	cmpl   $0x15,0x54(%esp)
-    1ac5:	7f 79                	jg     0x1b40
-    1ac7:	8b 84 24 94 01 00 00 	mov    0x194(%esp),%eax
-    1ace:	83 44 24 54 20       	addl   $0x20,0x54(%esp)
-    1ad3:	89 b4 24 94 01 00 00 	mov    %esi,0x194(%esp)
-    1ada:	89 84 24 98 01 00 00 	mov    %eax,0x198(%esp)
-    1ae1:	e9 e2 fe ff ff       	jmp    0x19c8
-    1ae6:	03 7c 24 58          	add    0x58(%esp),%edi
-    1aea:	0f 83 91 00 00 00    	jae    0x1b81
-    1af0:	2b 7c 24 5c          	sub    0x5c(%esp),%edi
-    1af4:	31 c9                	xor    %ecx,%ecx
-    1af6:	be ff ff ff ff       	mov    $0xffffffff,%esi
-    1afb:	03 4c 24 5c          	add    0x5c(%esp),%ecx
-    1aff:	83 d7 00             	adc    $0x0,%edi
-    1b02:	89 4c 24 58          	mov    %ecx,0x58(%esp)
-    1b06:	e9 17 ff ff ff       	jmp    0x1a22
-    1b0b:	83 ac 24 a0 01 00 00 	subl   $0x20,0x1a0(%esp)
-    1b12:	20 
-    1b13:	83 7c 24 54 35       	cmpl   $0x35,0x54(%esp)
-    1b18:	c7 84 24 98 01 00 00 	movl   $0x0,0x198(%esp)
-    1b1f:	00 00 00 00 
-    1b23:	89 b4 24 94 01 00 00 	mov    %esi,0x194(%esp)
-    1b2a:	0f 8e 98 fe ff ff    	jle    0x19c8
-    1b30:	8b 94 24 a0 01 00 00 	mov    0x1a0(%esp),%edx
-    1b37:	e9 39 ff ff ff       	jmp    0x1a75
-    1b3c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    1b40:	b8 35 00 00 00       	mov    $0x35,%eax
-    1b45:	2b 44 24 54          	sub    0x54(%esp),%eax
-    1b49:	89 44 24 4c          	mov    %eax,0x4c(%esp)
-    1b4d:	74 e1                	je     0x1b30
-    1b4f:	8b 5c 24 3c          	mov    0x3c(%esp),%ebx
-    1b53:	89 44 24 0c          	mov    %eax,0xc(%esp)
-    1b57:	c7 44 24 08 02 00 00 	movl   $0x2,0x8(%esp)
-    1b5e:	00 
-    1b5f:	89 5c 24 04          	mov    %ebx,0x4(%esp)
-    1b63:	89 1c 24             	mov    %ebx,(%esp)
-    1b66:	e8 fc ff ff ff       	call   0x1b67
-    1b6b:	b9 20 00 00 00       	mov    $0x20,%ecx
-    1b70:	89 f0                	mov    %esi,%eax
-    1b72:	2b 4c 24 4c          	sub    0x4c(%esp),%ecx
-    1b76:	d3 e8                	shr    %cl,%eax
-    1b78:	09 84 24 94 01 00 00 	or     %eax,0x194(%esp)
-    1b7f:	eb af                	jmp    0x1b30
-    1b81:	31 d2                	xor    %edx,%edx
-    1b83:	8b 74 24 5c          	mov    0x5c(%esp),%esi
-    1b87:	83 7c 24 5c 00       	cmpl   $0x0,0x5c(%esp)
-    1b8c:	8b 44 24 48          	mov    0x48(%esp),%eax
-    1b90:	0f 95 c2             	setne  %dl
-    1b93:	29 d6                	sub    %edx,%esi
-    1b95:	89 f2                	mov    %esi,%edx
-    1b97:	be ff ff ff ff       	mov    $0xffffffff,%esi
-    1b9c:	e9 43 fe ff ff       	jmp    0x19e4
-    1ba1:	8b 84 24 fc 00 00 00 	mov    0xfc(%esp),%eax
-    1ba8:	8b bc 24 00 01 00 00 	mov    0x100(%esp),%edi
-    1baf:	89 44 24 58          	mov    %eax,0x58(%esp)
-    1bb3:	c7 44 24 4c 00 00 00 	movl   $0x0,0x4c(%esp)
-    1bba:	00 
-    1bbb:	e9 fd fd ff ff       	jmp    0x19bd
-    1bc0:	8b 75 14             	mov    0x14(%ebp),%esi
-    1bc3:	8b 76 38             	mov    0x38(%esi),%esi
-    1bc6:	89 74 24 50          	mov    %esi,0x50(%esp)
-    1bca:	0f b6 03             	movzbl (%ebx),%eax
-    1bcd:	88 44 24 54          	mov    %al,0x54(%esp)
-    1bd1:	e9 8c ea ff ff       	jmp    0x662
-    1bd6:	8d 94 24 94 01 00 00 	lea    0x194(%esp),%edx
-    1bdd:	c1 e0 02             	shl    $0x2,%eax
-    1be0:	89 54 24 3c          	mov    %edx,0x3c(%esp)
-    1be4:	89 44 24 08          	mov    %eax,0x8(%esp)
-    1be8:	89 74 24 04          	mov    %esi,0x4(%esp)
-    1bec:	89 14 24             	mov    %edx,(%esp)
-    1bef:	e8 fc ff ff ff       	call   0x1bf0
-    1bf4:	8b 84 24 a4 01 00 00 	mov    0x1a4(%esp),%eax
-    1bfb:	83 f8 01             	cmp    $0x1,%eax
-    1bfe:	0f 8e 3c 03 00 00    	jle    0x1f40
-    1c04:	bf 37 00 00 00       	mov    $0x37,%edi
-    1c09:	b9 56 55 55 55       	mov    $0x55555556,%ecx
-    1c0e:	2b 7c 24 54          	sub    0x54(%esp),%edi
-    1c12:	89 f8                	mov    %edi,%eax
-    1c14:	f7 e9                	imul   %ecx
-    1c16:	c1 ff 1f             	sar    $0x1f,%edi
-    1c19:	89 d1                	mov    %edx,%ecx
-    1c1b:	8b 94 24 a0 01 00 00 	mov    0x1a0(%esp),%edx
-    1c22:	29 f9                	sub    %edi,%ecx
-    1c24:	8d 41 02             	lea    0x2(%ecx),%eax
-    1c27:	e9 55 ed ff ff       	jmp    0x981
-    1c2c:	8b 7c 24 50          	mov    0x50(%esp),%edi
-    1c30:	8d 84 24 94 01 00 00 	lea    0x194(%esp),%eax
-    1c37:	89 44 24 3c          	mov    %eax,0x3c(%esp)
-    1c3b:	83 ef 01             	sub    $0x1,%edi
-    1c3e:	89 7c 24 38          	mov    %edi,0x38(%esp)
-    1c42:	8b 7c 24 48          	mov    0x48(%esp),%edi
-    1c46:	39 7c 24 4c          	cmp    %edi,0x4c(%esp)
-    1c4a:	7e 56                	jle    0x1ca2
-    1c4c:	8b 54 24 50          	mov    0x50(%esp),%edx
-    1c50:	c7 44 24 40 20 00 00 	movl   $0x20,0x40(%esp)
-    1c57:	00 
-    1c58:	89 74 24 44          	mov    %esi,0x44(%esp)
-    1c5c:	29 54 24 40          	sub    %edx,0x40(%esp)
-    1c60:	8d 14 be             	lea    (%esi,%edi,4),%edx
-    1c63:	89 c6                	mov    %eax,%esi
-    1c65:	8b 42 04             	mov    0x4(%edx),%eax
-    1c68:	83 c7 01             	add    $0x1,%edi
-    1c6b:	0f b6 4c 24 40       	movzbl 0x40(%esp),%ecx
-    1c70:	8b 1a                	mov    (%edx),%ebx
-    1c72:	83 c2 04             	add    $0x4,%edx
-    1c75:	d3 e0                	shl    %cl,%eax
-    1c77:	0f b6 4c 24 50       	movzbl 0x50(%esp),%ecx
-    1c7c:	d3 eb                	shr    %cl,%ebx
-    1c7e:	09 d8                	or     %ebx,%eax
-    1c80:	89 06                	mov    %eax,(%esi)
-    1c82:	83 c6 04             	add    $0x4,%esi
-    1c85:	39 7c 24 4c          	cmp    %edi,0x4c(%esp)
-    1c89:	7f da                	jg     0x1c65
-    1c8b:	89 fa                	mov    %edi,%edx
-    1c8d:	8b 74 24 44          	mov    0x44(%esp),%esi
-    1c91:	2b 54 24 48          	sub    0x48(%esp),%edx
-    1c95:	8b 44 24 48          	mov    0x48(%esp),%eax
-    1c99:	83 fa 01             	cmp    $0x1,%edx
-    1c9c:	0f 8f 6d f9 ff ff    	jg     0x160f
-    1ca2:	8b 84 bc fc 00 00 00 	mov    0xfc(%esp,%edi,4),%eax
-    1ca9:	0f b6 4c 24 50       	movzbl 0x50(%esp),%ecx
-    1cae:	d3 e8                	shr    %cl,%eax
-    1cb0:	89 84 24 98 01 00 00 	mov    %eax,0x198(%esp)
-    1cb7:	8b 44 24 48          	mov    0x48(%esp),%eax
-    1cbb:	e9 4f f9 ff ff       	jmp    0x160f
-    1cc0:	39 fe                	cmp    %edi,%esi
-    1cc2:	0f 84 44 e9 ff ff    	je     0x60c
-    1cc8:	80 7c 24 5c 70       	cmpb   $0x70,0x5c(%esp)
-    1ccd:	0f 84 55 e9 ff ff    	je     0x628
-    1cd3:	e9 34 e9 ff ff       	jmp    0x60c
-    1cd8:	8b 7c 24 48          	mov    0x48(%esp),%edi
-    1cdc:	8b 44 24 54          	mov    0x54(%esp),%eax
-    1ce0:	29 d7                	sub    %edx,%edi
-    1ce2:	85 c0                	test   %eax,%eax
-    1ce4:	0f 8e 9e 02 00 00    	jle    0x1f88
-    1cea:	89 f8                	mov    %edi,%eax
-    1cec:	c1 e0 05             	shl    $0x5,%eax
-    1cef:	03 44 24 54          	add    0x54(%esp),%eax
-    1cf3:	83 f8 35             	cmp    $0x35,%eax
-    1cf6:	89 44 24 5c          	mov    %eax,0x5c(%esp)
-    1cfa:	0f 8f ee 01 00 00    	jg     0x1eee
-    1d00:	8b 84 24 94 01 00 00 	mov    0x194(%esp),%eax
-    1d07:	8b 94 24 a4 01 00 00 	mov    0x1a4(%esp),%edx
-    1d0e:	c7 84 24 94 01 00 00 	movl   $0x0,0x194(%esp)
-    1d15:	00 00 00 00 
-    1d19:	c7 44 24 38 00 00 00 	movl   $0x0,0x38(%esp)
-    1d20:	00 
-    1d21:	89 84 24 98 01 00 00 	mov    %eax,0x198(%esp)
-    1d28:	8b 4c 24 5c          	mov    0x5c(%esp),%ecx
-    1d2c:	89 4c 24 54          	mov    %ecx,0x54(%esp)
-    1d30:	85 d2                	test   %edx,%edx
-    1d32:	7e 1b                	jle    0x1d4f
-    1d34:	8d 04 96             	lea    (%esi,%edx,4),%eax
-    1d37:	01 fa                	add    %edi,%edx
-    1d39:	8d 14 96             	lea    (%esi,%edx,4),%edx
-    1d3c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    1d40:	8b 48 fc             	mov    -0x4(%eax),%ecx
-    1d43:	83 e8 04             	sub    $0x4,%eax
-    1d46:	89 0a                	mov    %ecx,(%edx)
-    1d48:	83 ea 04             	sub    $0x4,%edx
-    1d4b:	39 f0                	cmp    %esi,%eax
-    1d4d:	75 f1                	jne    0x1d40
-    1d4f:	85 ff                	test   %edi,%edi
-    1d51:	78 13                	js     0x1d66
-    1d53:	31 c0                	xor    %eax,%eax
-    1d55:	8d 76 00             	lea    0x0(%esi),%esi
-    1d58:	c7 04 86 00 00 00 00 	movl   $0x0,(%esi,%eax,4)
-    1d5f:	83 c0 01             	add    $0x1,%eax
-    1d62:	39 c7                	cmp    %eax,%edi
-    1d64:	7d f2                	jge    0x1d58
-    1d66:	8b 7c 24 48          	mov    0x48(%esp),%edi
-    1d6a:	83 7c 24 54 35       	cmpl   $0x35,0x54(%esp)
-    1d6f:	c7 44 bc 64 00 00 00 	movl   $0x0,0x64(%esp,%edi,4)
-    1d76:	00 
-    1d77:	8b 8c bc fc 00 00 00 	mov    0xfc(%esp,%edi,4),%ecx
-    1d7e:	0f 8e 53 ee ff ff    	jle    0xbd7
-    1d84:	8b bc 24 a0 01 00 00 	mov    0x1a0(%esp),%edi
-    1d8b:	c7 44 24 5c 00 00 00 	movl   $0x0,0x5c(%esp)
-    1d92:	00 
-    1d93:	e9 bd ef ff ff       	jmp    0xd55
-    1d98:	b8 01 00 00 00       	mov    $0x1,%eax
-    1d9d:	e9 f1 fc ff ff       	jmp    0x1a93
-    1da2:	8b 4c 24 30          	mov    0x30(%esp),%ecx
-    1da6:	8d 84 24 94 01 00 00 	lea    0x194(%esp),%eax
-    1dad:	8b 94 24 a0 01 00 00 	mov    0x1a0(%esp),%edx
-    1db4:	c7 44 24 08 01 00 00 	movl   $0x1,0x8(%esp)
-    1dbb:	00 
-    1dbc:	c7 44 24 04 1f 00 00 	movl   $0x1f,0x4(%esp)
-    1dc3:	00 
-    1dc4:	89 1c 24             	mov    %ebx,(%esp)
-    1dc7:	e8 84 e4 ff ff       	call   0x250
-    1dcc:	e9 33 f0 ff ff       	jmp    0xe04
-    1dd1:	a1 00 00 00 00       	mov    0x0,%eax
-    1dd6:	83 7c 24 30 00       	cmpl   $0x0,0x30(%esp)
-    1ddb:	65 c7 00 22 00 00 00 	movl   $0x22,%gs:(%eax)
-    1de2:	0f 84 c0 f6 ff ff    	je     0x14a8
-    1de8:	d9 05 04 00 00 00    	flds   0x4
-    1dee:	e9 11 f0 ff ff       	jmp    0xe04
-    1df3:	83 ea 14             	sub    $0x14,%edx
-    1df6:	89 54 24 0c          	mov    %edx,0xc(%esp)
-    1dfa:	ba 02 00 00 00       	mov    $0x2,%edx
-    1dff:	29 c2                	sub    %eax,%edx
-    1e01:	89 74 24 04          	mov    %esi,0x4(%esp)
-    1e05:	8d b4 24 94 01 00 00 	lea    0x194(%esp),%esi
-    1e0c:	89 44 24 08          	mov    %eax,0x8(%esp)
-    1e10:	8d 04 96             	lea    (%esi,%edx,4),%eax
-    1e13:	89 74 24 3c          	mov    %esi,0x3c(%esp)
-    1e17:	89 04 24             	mov    %eax,(%esp)
-    1e1a:	e8 fc ff ff ff       	call   0x1e1b
-    1e1f:	ba 01 00 00 00       	mov    $0x1,%edx
-    1e24:	2b 94 24 a4 01 00 00 	sub    0x1a4(%esp),%edx
-    1e2b:	85 d2                	test   %edx,%edx
-    1e2d:	89 84 94 94 01 00 00 	mov    %eax,0x194(%esp,%edx,4)
-    1e34:	0f 8e 72 f4 ff ff    	jle    0x12ac
-    1e3a:	31 c0                	xor    %eax,%eax
-    1e3c:	8b 7c 24 3c          	mov    0x3c(%esp),%edi
-    1e40:	c7 04 87 00 00 00 00 	movl   $0x0,(%edi,%eax,4)
-    1e47:	83 c0 01             	add    $0x1,%eax
-    1e4a:	39 d0                	cmp    %edx,%eax
-    1e4c:	7c ee                	jl     0x1e3c
-    1e4e:	e9 59 f4 ff ff       	jmp    0x12ac
-    1e53:	8b 45 14             	mov    0x14(%ebp),%eax
-    1e56:	89 fb                	mov    %edi,%ebx
-    1e58:	8b 48 38             	mov    0x38(%eax),%ecx
-    1e5b:	90                   	nop
-    1e5c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    1e60:	83 c3 01             	add    $0x1,%ebx
-    1e63:	0f b6 03             	movzbl (%ebx),%eax
-    1e66:	8d 50 d0             	lea    -0x30(%eax),%edx
-    1e69:	80 fa 09             	cmp    $0x9,%dl
-    1e6c:	76 f2                	jbe    0x1e60
-    1e6e:	0f be d0             	movsbl %al,%edx
-    1e71:	8b 14 91             	mov    (%ecx,%edx,4),%edx
-    1e74:	83 ea 61             	sub    $0x61,%edx
-    1e77:	80 fa 19             	cmp    $0x19,%dl
-    1e7a:	76 e4                	jbe    0x1e60
-    1e7c:	3c 5f                	cmp    $0x5f,%al
-    1e7e:	74 e0                	je     0x1e60
-    1e80:	3c 29                	cmp    $0x29,%al
-    1e82:	0f 85 75 f6 ff ff    	jne    0x14fd
-    1e88:	8b 55 14             	mov    0x14(%ebp),%edx
-    1e8b:	8d 84 24 9c 01 00 00 	lea    0x19c(%esp),%eax
-    1e92:	83 c7 01             	add    $0x1,%edi
-    1e95:	c7 44 24 0c 00 00 00 	movl   $0x0,0xc(%esp)
-    1e9c:	00 
-    1e9d:	c7 44 24 08 00 00 00 	movl   $0x0,0x8(%esp)
-    1ea4:	00 
-    1ea5:	89 44 24 04          	mov    %eax,0x4(%esp)
-    1ea9:	89 54 24 10          	mov    %edx,0x10(%esp)
-    1ead:	89 3c 24             	mov    %edi,(%esp)
-    1eb0:	e8 fc ff ff ff       	call   0x1eb1
-    1eb5:	39 9c 24 9c 01 00 00 	cmp    %ebx,0x19c(%esp)
-    1ebc:	0f 84 12 02 00 00    	je     0x20d4
-    1ec2:	d9 05 08 00 00 00    	flds   0x8
-    1ec8:	8d 7b 01             	lea    0x1(%ebx),%edi
-    1ecb:	e9 33 f6 ff ff       	jmp    0x1503
-    1ed0:	8b 7c 24 44          	mov    0x44(%esp),%edi
-    1ed4:	89 d0                	mov    %edx,%eax
-    1ed6:	c1 e0 02             	shl    $0x2,%eax
-    1ed9:	89 44 24 08          	mov    %eax,0x8(%esp)
-    1edd:	89 74 24 04          	mov    %esi,0x4(%esp)
-    1ee1:	89 3c 24             	mov    %edi,(%esp)
-    1ee4:	e8 fc ff ff ff       	call   0x1ee5
-    1ee9:	e9 a6 eb ff ff       	jmp    0xa94
-    1eee:	8b 44 24 54          	mov    0x54(%esp),%eax
-    1ef2:	c7 44 24 38 35 00 00 	movl   $0x35,0x38(%esp)
-    1ef9:	00 
-    1efa:	29 44 24 38          	sub    %eax,0x38(%esp)
-    1efe:	83 7c 24 38 1f       	cmpl   $0x1f,0x38(%esp)
-    1f03:	0f 8f 71 01 00 00    	jg     0x207a
-    1f09:	83 7c 24 38 00       	cmpl   $0x0,0x38(%esp)
-    1f0e:	0f 84 14 fe ff ff    	je     0x1d28
-    1f14:	8b 44 24 3c          	mov    0x3c(%esp),%eax
-    1f18:	8b 4c 24 38          	mov    0x38(%esp),%ecx
-    1f1c:	c7 44 24 08 02 00 00 	movl   $0x2,0x8(%esp)
-    1f23:	00 
-    1f24:	89 44 24 04          	mov    %eax,0x4(%esp)
-    1f28:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
-    1f2c:	89 04 24             	mov    %eax,(%esp)
-    1f2f:	e8 fc ff ff ff       	call   0x1f30
-    1f34:	8b 94 24 a4 01 00 00 	mov    0x1a4(%esp),%edx
-    1f3b:	e9 e8 fd ff ff       	jmp    0x1d28
-    1f40:	ba 37 00 00 00       	mov    $0x37,%edx
-    1f45:	bf 03 00 00 00       	mov    $0x3,%edi
-    1f4a:	2b 54 24 54          	sub    0x54(%esp),%edx
-    1f4e:	c7 84 84 94 01 00 00 	movl   $0x0,0x194(%esp,%eax,4)
-    1f55:	00 00 00 00 
-    1f59:	89 d0                	mov    %edx,%eax
-    1f5b:	c1 fa 1f             	sar    $0x1f,%edx
-    1f5e:	f7 ff                	idiv   %edi
-    1f60:	8b 94 24 a0 01 00 00 	mov    0x1a0(%esp),%edx
-    1f67:	89 c1                	mov    %eax,%ecx
-    1f69:	8d 40 02             	lea    0x2(%eax),%eax
-    1f6c:	e9 10 ea ff ff       	jmp    0x981
-    1f71:	89 c1                	mov    %eax,%ecx
-    1f73:	c7 44 24 44 00 00 00 	movl   $0x0,0x44(%esp)
-    1f7a:	00 
-    1f7b:	c7 44 24 58 00 00 00 	movl   $0x0,0x58(%esp)
-    1f82:	00 
-    1f83:	e9 c3 e8 ff ff       	jmp    0x84b
-    1f88:	6b c7 e0             	imul   $0xffffffe0,%edi,%eax
-    1f8b:	8b 94 24 a4 01 00 00 	mov    0x1a4(%esp),%edx
-    1f92:	01 84 24 a0 01 00 00 	add    %eax,0x1a0(%esp)
-    1f99:	c7 44 24 38 00 00 00 	movl   $0x0,0x38(%esp)
-    1fa0:	00 
-    1fa1:	e9 8a fd ff ff       	jmp    0x1d30
-    1fa6:	83 ef 01             	sub    $0x1,%edi
-    1fa9:	84 c9                	test   %cl,%cl
-    1fab:	0f 44 7d 08          	cmove  0x8(%ebp),%edi
-    1faf:	89 7d 08             	mov    %edi,0x8(%ebp)
-    1fb2:	e9 bf ef ff ff       	jmp    0xf76
-    1fb7:	8d 94 24 94 01 00 00 	lea    0x194(%esp),%edx
-    1fbe:	bf 02 00 00 00       	mov    $0x2,%edi
-    1fc3:	89 54 24 3c          	mov    %edx,0x3c(%esp)
-    1fc7:	8b 4c 24 3c          	mov    0x3c(%esp),%ecx
-    1fcb:	89 fa                	mov    %edi,%edx
-    1fcd:	29 c2                	sub    %eax,%edx
-    1fcf:	c1 e0 02             	shl    $0x2,%eax
-    1fd2:	89 44 24 08          	mov    %eax,0x8(%esp)
-    1fd6:	8d 14 91             	lea    (%ecx,%edx,4),%edx
-    1fd9:	89 74 24 04          	mov    %esi,0x4(%esp)
-    1fdd:	89 14 24             	mov    %edx,(%esp)
-    1fe0:	e8 fc ff ff ff       	call   0x1fe1
-    1fe5:	31 c0                	xor    %eax,%eax
-    1fe7:	2b bc 24 a4 01 00 00 	sub    0x1a4(%esp),%edi
-    1fee:	39 f8                	cmp    %edi,%eax
-    1ff0:	0f 8d b6 f2 ff ff    	jge    0x12ac
-    1ff6:	8b 74 24 3c          	mov    0x3c(%esp),%esi
-    1ffa:	c7 04 86 00 00 00 00 	movl   $0x0,(%esi,%eax,4)
-    2001:	83 c0 01             	add    $0x1,%eax
-    2004:	eb e8                	jmp    0x1fee
-    2006:	b8 35 00 00 00       	mov    $0x35,%eax
-    200b:	2b 44 24 54          	sub    0x54(%esp),%eax
-    200f:	89 44 24 4c          	mov    %eax,0x4c(%esp)
-    2013:	0f 84 88 f9 ff ff    	je     0x19a1
-    2019:	8b 4c 24 3c          	mov    0x3c(%esp),%ecx
-    201d:	89 44 24 0c          	mov    %eax,0xc(%esp)
-    2021:	c7 44 24 08 02 00 00 	movl   $0x2,0x8(%esp)
-    2028:	00 
-    2029:	89 4c 24 04          	mov    %ecx,0x4(%esp)
-    202d:	89 0c 24             	mov    %ecx,(%esp)
-    2030:	e8 fc ff ff ff       	call   0x2031
-    2035:	8b b4 24 fc 00 00 00 	mov    0xfc(%esp),%esi
-    203c:	89 74 24 58          	mov    %esi,0x58(%esp)
-    2040:	e9 5c f9 ff ff       	jmp    0x19a1
-    2045:	8b 44 24 54          	mov    0x54(%esp),%eax
-    2049:	c7 44 24 4c 00 00 00 	movl   $0x0,0x4c(%esp)
-    2050:	00 
-    2051:	83 e8 20             	sub    $0x20,%eax
-    2054:	89 84 24 a0 01 00 00 	mov    %eax,0x1a0(%esp)
-    205b:	e9 46 f9 ff ff       	jmp    0x19a6
-    2060:	8b 7c 24 58          	mov    0x58(%esp),%edi
-    2064:	31 f6                	xor    %esi,%esi
-    2066:	8b 94 24 a0 01 00 00 	mov    0x1a0(%esp),%edx
-    206d:	c7 44 24 58 00 00 00 	movl   $0x0,0x58(%esp)
-    2074:	00 
-    2075:	e9 fb f9 ff ff       	jmp    0x1a75
-    207a:	8b 44 24 38          	mov    0x38(%esp),%eax
-    207e:	8b 54 24 3c          	mov    0x3c(%esp),%edx
-    2082:	c7 44 24 08 01 00 00 	movl   $0x1,0x8(%esp)
-    2089:	00 
-    208a:	83 e0 1f             	and    $0x1f,%eax
-    208d:	89 44 24 0c          	mov    %eax,0xc(%esp)
-    2091:	8d 84 24 98 01 00 00 	lea    0x198(%esp),%eax
-    2098:	89 54 24 04          	mov    %edx,0x4(%esp)
-    209c:	89 04 24             	mov    %eax,(%esp)
-    209f:	e8 fc ff ff ff       	call   0x20a0
-    20a4:	8b 94 24 a4 01 00 00 	mov    0x1a4(%esp),%edx
-    20ab:	c7 84 24 94 01 00 00 	movl   $0x0,0x194(%esp)
-    20b2:	00 00 00 00 
-    20b6:	e9 6d fc ff ff       	jmp    0x1d28
-    20bb:	8b 4c 24 48          	mov    0x48(%esp),%ecx
-    20bf:	f7 d1                	not    %ecx
-    20c1:	e9 ca ec ff ff       	jmp    0xd90
-    20c6:	f7 d8                	neg    %eax
-    20c8:	83 c0 20             	add    $0x20,%eax
-    20cb:	89 44 24 54          	mov    %eax,0x54(%esp)
-    20cf:	e9 5e f6 ff ff       	jmp    0x1732
-    20d4:	81 e2 ff ff 0f 00    	and    $0xfffff,%edx
-    20da:	89 d1                	mov    %edx,%ecx
-    20dc:	09 c1                	or     %eax,%ecx
-    20de:	75 07                	jne    0x20e7
-    20e0:	31 c0                	xor    %eax,%eax
-    20e2:	ba 00 00 08 00       	mov    $0x80000,%edx
-    20e7:	81 ca 00 00 f0 7f    	or     $0x7ff00000,%edx
-    20ed:	89 54 24 60          	mov    %edx,0x60(%esp)
-    20f1:	89 44 24 5c          	mov    %eax,0x5c(%esp)
-    20f5:	dd 44 24 5c          	fldl   0x5c(%esp)
-    20f9:	e9 ca fd ff ff       	jmp    0x1ec8
-    20fe:	f7 d8                	neg    %eax
-    2100:	83 c0 20             	add    $0x20,%eax
-    2103:	89 44 24 54          	mov    %eax,0x54(%esp)
-    2107:	e9 07 fa ff ff       	jmp    0x1b13
-    210c:	8b 44 24 38          	mov    0x38(%esp),%eax
-    2110:	89 f7                	mov    %esi,%edi
-    2112:	0f b6 00             	movzbl (%eax),%eax
-    2115:	88 44 24 5c          	mov    %al,0x5c(%esp)
-    2119:	80 fa 30             	cmp    $0x30,%dl
-    211c:	74 35                	je     0x2153
-    211e:	80 7c 24 5c 00       	cmpb   $0x0,0x5c(%esp)
-    2123:	74 40                	je     0x2165
-    2125:	0f b6 4c 24 5c       	movzbl 0x5c(%esp),%ecx
-    212a:	38 0f                	cmp    %cl,(%edi)
-    212c:	0f 85 89 e4 ff ff    	jne    0x5bb
-    2132:	31 c0                	xor    %eax,%eax
-    2134:	88 54 24 58          	mov    %dl,0x58(%esp)
-    2138:	eb 05                	jmp    0x213f
-    213a:	3a 0c 07             	cmp    (%edi,%eax,1),%cl
-    213d:	75 1c                	jne    0x215b
-    213f:	8b 54 24 38          	mov    0x38(%esp),%edx
-    2143:	83 c0 01             	add    $0x1,%eax
-    2146:	0f b6 0c 02          	movzbl (%edx,%eax,1),%ecx
-    214a:	84 c9                	test   %cl,%cl
-    214c:	75 ec                	jne    0x213a
-    214e:	83 e8 01             	sub    $0x1,%eax
-    2151:	01 c7                	add    %eax,%edi
-    2153:	83 c7 01             	add    $0x1,%edi
-    2156:	0f b6 17             	movzbl (%edi),%edx
-    2159:	eb be                	jmp    0x2119
-    215b:	0f b6 54 24 58       	movzbl 0x58(%esp),%edx
-    2160:	e9 56 e4 ff ff       	jmp    0x5bb
-    2165:	83 c8 ff             	or     $0xffffffff,%eax
-    2168:	eb e7                	jmp    0x2151
-    216a:	31 c0                	xor    %eax,%eax
-    216c:	88 54 24 48          	mov    %dl,0x48(%esp)
-    2170:	eb 0c                	jmp    0x217e
-    2172:	8b 54 24 5c          	mov    0x5c(%esp),%edx
-    2176:	3a 0c 02             	cmp    (%edx,%eax,1),%cl
-    2179:	75 4b                	jne    0x21c6
-    217b:	83 c0 01             	add    $0x1,%eax
-    217e:	8b 54 24 38          	mov    0x38(%esp),%edx
-    2182:	0f b6 0c 02          	movzbl (%edx,%eax,1),%ecx
-    2186:	84 c9                	test   %cl,%cl
-    2188:	75 e8                	jne    0x2172
-    218a:	8b 54 24 5c          	mov    0x5c(%esp),%edx
-    218e:	8d 54 02 ff          	lea    -0x1(%edx,%eax,1),%edx
-    2192:	89 54 24 5c          	mov    %edx,0x5c(%esp)
-    2196:	e9 ea ec ff ff       	jmp    0xe85
-    219b:	8b 48 30             	mov    0x30(%eax),%ecx
-    219e:	89 4c 24 3c          	mov    %ecx,0x3c(%esp)
-    21a2:	0f b6 11             	movzbl (%ecx),%edx
-    21a5:	83 ea 01             	sub    $0x1,%edx
-    21a8:	80 fa 7d             	cmp    $0x7d,%dl
-    21ab:	0f 87 1c e3 ff ff    	ja     0x4cd
-    21b1:	8b 58 2c             	mov    0x2c(%eax),%ebx
-    21b4:	89 5c 24 38          	mov    %ebx,0x38(%esp)
-    21b8:	80 3b 00             	cmpb   $0x0,(%ebx)
-    21bb:	0f 85 1c e3 ff ff    	jne    0x4dd
-    21c1:	e9 07 e3 ff ff       	jmp    0x4cd
-    21c6:	0f b6 54 24 48       	movzbl 0x48(%esp),%edx
-    21cb:	e9 86 e4 ff ff       	jmp    0x656
-    21d0:	a1 00 00 00 00       	mov    0x0,%eax
-    21d5:	65 c7 00 22 00 00 00 	movl   $0x22,%gs:(%eax)
-    21dc:	e9 9f ed ff ff       	jmp    0xf80
-    21e1:	89 f3                	mov    %esi,%ebx
-    21e3:	f7 db                	neg    %ebx
-    21e5:	83 c3 20             	add    $0x20,%ebx
-    21e8:	e9 d3 f6 ff ff       	jmp    0x18c0
-    21ed:	83 7c 24 44 ff       	cmpl   $0xffffffff,0x44(%esp)
-    21f2:	74 13                	je     0x2207
-    21f4:	a1 00 00 00 00       	mov    0x0,%eax
-    21f9:	83 7c 24 3c 00       	cmpl   $0x0,0x3c(%esp)
-    21fe:	65 c7 00 22 00 00 00 	movl   $0x22,%gs:(%eax)
-    2205:	74 3b                	je     0x2242
-    2207:	83 7c 24 30 00       	cmpl   $0x0,0x30(%esp)
-    220c:	75 43                	jne    0x2251
-    220e:	d9 ee                	fldz   
-    2210:	83 c6 01             	add    $0x1,%esi
-    2213:	0f b6 06             	movzbl (%esi),%eax
-    2216:	83 e8 30             	sub    $0x30,%eax
-    2219:	3c 09                	cmp    $0x9,%al
-    221b:	76 f3                	jbe    0x2210
-    221d:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
-    2221:	0f 84 dd eb ff ff    	je     0xe04
-    2227:	8b 55 0c             	mov    0xc(%ebp),%edx
-    222a:	89 32                	mov    %esi,(%edx)
-    222c:	e9 d3 eb ff ff       	jmp    0xe04
-    2231:	a1 00 00 00 00       	mov    0x0,%eax
-    2236:	65 c7 00 22 00 00 00 	movl   $0x22,%gs:(%eax)
-    223d:	e9 5a f2 ff ff       	jmp    0x149c
-    2242:	83 7c 24 30 00       	cmpl   $0x0,0x30(%esp)
-    2247:	75 0e                	jne    0x2257
-    2249:	d9 05 00 00 00 00    	flds   0x0
-    224f:	eb bf                	jmp    0x2210
-    2251:	d9 ee                	fldz   
-    2253:	d9 e0                	fchs   
-    2255:	eb b9                	jmp    0x2210
-    2257:	d9 05 04 00 00 00    	flds   0x4
-    225d:	eb b1                	jmp    0x2210
-    225f:	90                   	nop
-    2260:	55                   	push   %ebp
-    2261:	89 e5                	mov    %esp,%ebp
-    2263:	83 ec 10             	sub    $0x10,%esp
-    2266:	8b 45 10             	mov    0x10(%ebp),%eax
-    2269:	c7 44 24 08 00 00 00 	movl   $0x0,0x8(%esp)
-    2270:	00 
-    2271:	89 44 24 0c          	mov    %eax,0xc(%esp)
-    2275:	8b 45 0c             	mov    0xc(%ebp),%eax
-    2278:	89 44 24 04          	mov    %eax,0x4(%esp)
-    227c:	8b 45 08             	mov    0x8(%ebp),%eax
-    227f:	89 04 24             	mov    %eax,(%esp)
-    2282:	e8 fc ff ff ff       	call   0x2283
-    2287:	c9                   	leave  
-    2288:	c3                   	ret    
+    166e:	8b 4d 14             	mov    0x14(%ebp),%ecx
+    1671:	8b 74 24 50          	mov    0x50(%esp),%esi
+    1675:	8b 51 38             	mov    0x38(%ecx),%edx
+    1678:	83 c6 01             	add    $0x1,%esi
+    167b:	8b 14 82             	mov    (%edx,%eax,4),%edx
+    167e:	83 ea 57             	sub    $0x57,%edx
+    1681:	e9 d7 fc ff ff       	jmp    0x135d
+    1686:	8b 94 24 a4 01 00 00 	mov    0x1a4(%esp),%edx
+    168d:	89 84 94 fc 00 00 00 	mov    %eax,0xfc(%esp,%edx,4)
+    1694:	83 c2 01             	add    $0x1,%edx
+    1697:	89 94 24 a4 01 00 00 	mov    %edx,0x1a4(%esp)
+    169e:	e9 77 f4 ff ff       	jmp    0xb1a
+    16a3:	8b 94 24 a4 01 00 00 	mov    0x1a4(%esp),%edx
+    16aa:	e9 ef f4 ff ff       	jmp    0xb9e
+    16af:	90                   	nop
+    16b0:	bf 03 00 00 00       	mov    $0x3,%edi
+    16b5:	29 c7                	sub    %eax,%edi
+    16b7:	89 7c 24 58          	mov    %edi,0x58(%esp)
+    16bb:	0f b6 4c 24 58       	movzbl 0x58(%esp),%ecx
+    16c0:	89 df                	mov    %ebx,%edi
+    16c2:	d3 ef                	shr    %cl,%edi
+    16c4:	8d 48 1d             	lea    0x1d(%eax),%ecx
+    16c7:	09 bc 94 94 01 00 00 	or     %edi,0x194(%esp,%edx,4)
+    16ce:	d3 e3                	shl    %cl,%ebx
+    16d0:	85 d2                	test   %edx,%edx
+    16d2:	0f 84 ea 06 00 00    	je     0x1dc2
+    16d8:	89 9c 24 94 01 00 00 	mov    %ebx,0x194(%esp)
+    16df:	83 c0 1c             	add    $0x1c,%eax
+    16e2:	31 d2                	xor    %edx,%edx
+    16e4:	e9 af fc ff ff       	jmp    0x1398
+    16e9:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
+    16f0:	8b 5d 14             	mov    0x14(%ebp),%ebx
+    16f3:	83 c6 01             	add    $0x1,%esi
+    16f6:	8b 7b 38             	mov    0x38(%ebx),%edi
+    16f9:	8b 0c 8f             	mov    (%edi,%ecx,4),%ecx
+    16fc:	8d 59 a9             	lea    -0x57(%ecx),%ebx
+    16ff:	e9 c5 fc ff ff       	jmp    0x13c9
+    1704:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    1708:	83 7c 24 54 15       	cmpl   $0x15,0x54(%esp)
+    170d:	7f 69                	jg     0x1778
+    170f:	8b 84 24 94 01 00 00 	mov    0x194(%esp),%eax
+    1716:	8b 7c 24 5c          	mov    0x5c(%esp),%edi
+    171a:	83 44 24 54 20       	addl   $0x20,0x54(%esp)
+    171f:	89 84 24 98 01 00 00 	mov    %eax,0x198(%esp)
+    1726:	89 bc 24 94 01 00 00 	mov    %edi,0x194(%esp)
+    172d:	e9 c6 f4 ff ff       	jmp    0xbf8
+    1732:	83 ac 24 a0 01 00 00 	subl   $0x20,0x1a0(%esp)
+    1739:	20 
+    173a:	8b 74 24 5c          	mov    0x5c(%esp),%esi
+    173e:	83 7c 24 54 35       	cmpl   $0x35,0x54(%esp)
+    1743:	c7 84 24 98 01 00 00 	movl   $0x0,0x198(%esp)
+    174a:	00 00 00 00 
+    174e:	89 b4 24 94 01 00 00 	mov    %esi,0x194(%esp)
+    1755:	0f 8e 9d f4 ff ff    	jle    0xbf8
+    175b:	8b 74 24 50          	mov    0x50(%esp),%esi
+    175f:	8b 5c 24 48          	mov    0x48(%esp),%ebx
+    1763:	8b bc 24 a0 01 00 00 	mov    0x1a0(%esp),%edi
+    176a:	8b 8c 9c fc 00 00 00 	mov    0xfc(%esp,%ebx,4),%ecx
+    1771:	e9 df f5 ff ff       	jmp    0xd55
+    1776:	66 90                	xchg   %ax,%ax
+    1778:	b8 35 00 00 00       	mov    $0x35,%eax
+    177d:	8b 74 24 50          	mov    0x50(%esp),%esi
+    1781:	2b 44 24 54          	sub    0x54(%esp),%eax
+    1785:	89 44 24 38          	mov    %eax,0x38(%esp)
+    1789:	74 d4                	je     0x175f
+    178b:	89 44 24 0c          	mov    %eax,0xc(%esp)
+    178f:	8b 44 24 3c          	mov    0x3c(%esp),%eax
+    1793:	c7 44 24 08 02 00 00 	movl   $0x2,0x8(%esp)
+    179a:	00 
+    179b:	89 44 24 04          	mov    %eax,0x4(%esp)
+    179f:	89 04 24             	mov    %eax,(%esp)
+    17a2:	e8 fc ff ff ff       	call   0x17a3
+    17a7:	8b 54 24 5c          	mov    0x5c(%esp),%edx
+    17ab:	b9 20 00 00 00       	mov    $0x20,%ecx
+    17b0:	2b 4c 24 38          	sub    0x38(%esp),%ecx
+    17b4:	d3 ea                	shr    %cl,%edx
+    17b6:	09 94 24 94 01 00 00 	or     %edx,0x194(%esp)
+    17bd:	eb a0                	jmp    0x175f
+    17bf:	31 ff                	xor    %edi,%edi
+    17c1:	e9 a8 ed ff ff       	jmp    0x56e
+    17c6:	8b 44 24 58          	mov    0x58(%esp),%eax
+    17ca:	f7 d8                	neg    %eax
+    17cc:	39 d0                	cmp    %edx,%eax
+    17ce:	0f 4c c2             	cmovl  %edx,%eax
+    17d1:	e9 38 f1 ff ff       	jmp    0x90e
+    17d6:	8b 44 24 58          	mov    0x58(%esp),%eax
+    17da:	8d 04 85 32 04 00 00 	lea    0x432(,%eax,4),%eax
+    17e1:	89 44 24 54          	mov    %eax,0x54(%esp)
+    17e5:	8b 44 24 3c          	mov    0x3c(%esp),%eax
+    17e9:	85 c0                	test   %eax,%eax
+    17eb:	0f 85 ae ef ff ff    	jne    0x79f
+    17f1:	8b 44 24 44          	mov    0x44(%esp),%eax
+    17f5:	2b 44 24 58          	sub    0x58(%esp),%eax
+    17f9:	8d 04 85 03 04 00 00 	lea    0x403(,%eax,4),%eax
+    1800:	89 44 24 54          	mov    %eax,0x54(%esp)
+    1804:	e9 96 ef ff ff       	jmp    0x79f
+    1809:	8b 44 24 64          	mov    0x64(%esp),%eax
+    180d:	83 bc 24 a4 01 00 00 	cmpl   $0x1,0x1a4(%esp)
+    1814:	01 
+    1815:	8b 5c 24 68          	mov    0x68(%esp),%ebx
+    1819:	89 44 24 5c          	mov    %eax,0x5c(%esp)
+    181d:	0f 8f 88 03 00 00    	jg     0x1bab
+    1823:	8b 94 24 fc 00 00 00 	mov    0xfc(%esp),%edx
+    182a:	31 ff                	xor    %edi,%edi
+    182c:	39 d3                	cmp    %edx,%ebx
+    182e:	89 54 24 58          	mov    %edx,0x58(%esp)
+    1832:	0f 86 85 03 00 00    	jbe    0x1bbd
+    1838:	83 7c 24 54 00       	cmpl   $0x0,0x54(%esp)
+    183d:	0f 8e e3 07 00 00    	jle    0x2026
+    1843:	83 7c 24 54 15       	cmpl   $0x15,0x54(%esp)
+    1848:	0f 8f 0d 08 00 00    	jg     0x205b
+    184e:	8b 84 24 94 01 00 00 	mov    0x194(%esp),%eax
+    1855:	c7 44 24 4c 00 00 00 	movl   $0x0,0x4c(%esp)
+    185c:	00 
+    185d:	c7 84 24 94 01 00 00 	movl   $0x0,0x194(%esp)
+    1864:	00 00 00 00 
+    1868:	89 84 24 98 01 00 00 	mov    %eax,0x198(%esp)
+    186f:	83 44 24 54 20       	addl   $0x20,0x54(%esp)
+    1874:	83 7c 24 54 35       	cmpl   $0x35,0x54(%esp)
+    1879:	0f 8f c2 07 00 00    	jg     0x2041
+    187f:	8b 7c 24 58          	mov    0x58(%esp),%edi
+    1883:	c7 44 24 58 00 00 00 	movl   $0x0,0x58(%esp)
+    188a:	00 
+    188b:	8b 54 24 5c          	mov    0x5c(%esp),%edx
+    188f:	f7 da                	neg    %edx
+    1891:	89 54 24 48          	mov    %edx,0x48(%esp)
+    1895:	8d 76 00             	lea    0x0(%esi),%esi
+    1898:	39 df                	cmp    %ebx,%edi
+    189a:	0f 84 16 01 00 00    	je     0x19b6
+    18a0:	8b 74 24 58          	mov    0x58(%esp),%esi
+    18a4:	89 fa                	mov    %edi,%edx
+    18a6:	89 f0                	mov    %esi,%eax
+    18a8:	f7 f3                	div    %ebx
+    18aa:	89 c6                	mov    %eax,%esi
+    18ac:	89 d7                	mov    %edx,%edi
+    18ae:	8b 44 24 5c          	mov    0x5c(%esp),%eax
+    18b2:	f7 e6                	mul    %esi
+    18b4:	8d 0c 1f             	lea    (%edi,%ebx,1),%ecx
+    18b7:	89 74 24 50          	mov    %esi,0x50(%esp)
+    18bb:	90                   	nop
+    18bc:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    18c0:	39 fa                	cmp    %edi,%edx
+    18c2:	77 08                	ja     0x18cc
+    18c4:	85 c0                	test   %eax,%eax
+    18c6:	74 1c                	je     0x18e4
+    18c8:	39 fa                	cmp    %edi,%edx
+    18ca:	75 18                	jne    0x18e4
+    18cc:	01 d9                	add    %ebx,%ecx
+    18ce:	01 df                	add    %ebx,%edi
+    18d0:	89 ce                	mov    %ecx,%esi
+    18d2:	29 de                	sub    %ebx,%esi
+    18d4:	83 6c 24 50 01       	subl   $0x1,0x50(%esp)
+    18d9:	2b 44 24 5c          	sub    0x5c(%esp),%eax
+    18dd:	83 da 00             	sbb    $0x0,%edx
+    18e0:	39 de                	cmp    %ebx,%esi
+    18e2:	73 dc                	jae    0x18c0
+    18e4:	8b 74 24 50          	mov    0x50(%esp),%esi
+    18e8:	31 c9                	xor    %ecx,%ecx
+    18ea:	29 c1                	sub    %eax,%ecx
+    18ec:	19 d7                	sbb    %edx,%edi
+    18ee:	89 4c 24 58          	mov    %ecx,0x58(%esp)
+    18f2:	8b 44 24 54          	mov    0x54(%esp),%eax
+    18f6:	85 c0                	test   %eax,%eax
+    18f8:	0f 85 92 00 00 00    	jne    0x1990
+    18fe:	85 f6                	test   %esi,%esi
+    1900:	0f 84 d5 00 00 00    	je     0x19db
+    1906:	0f bd c6             	bsr    %esi,%eax
+    1909:	8b 94 24 a0 01 00 00 	mov    0x1a0(%esp),%edx
+    1910:	b9 20 00 00 00       	mov    $0x20,%ecx
+    1915:	83 f0 1f             	xor    $0x1f,%eax
+    1918:	29 c1                	sub    %eax,%ecx
+    191a:	29 c2                	sub    %eax,%edx
+    191c:	83 f9 35             	cmp    $0x35,%ecx
+    191f:	89 94 24 a0 01 00 00 	mov    %edx,0x1a0(%esp)
+    1926:	0f 8e a0 08 00 00    	jle    0x21cc
+    192c:	83 c0 35             	add    $0x35,%eax
+    192f:	b9 20 00 00 00       	mov    $0x20,%ecx
+    1934:	29 c1                	sub    %eax,%ecx
+    1936:	89 44 24 4c          	mov    %eax,0x4c(%esp)
+    193a:	89 f0                	mov    %esi,%eax
+    193c:	d3 e8                	shr    %cl,%eax
+    193e:	89 84 24 94 01 00 00 	mov    %eax,0x194(%esp)
+    1945:	85 ff                	test   %edi,%edi
+    1947:	0f 85 6b 04 00 00    	jne    0x1db8
+    194d:	8b 4c 24 28          	mov    0x28(%esp),%ecx
+    1951:	85 c9                	test   %ecx,%ecx
+    1953:	0f 85 5f 04 00 00    	jne    0x1db8
+    1959:	31 c0                	xor    %eax,%eax
+    195b:	83 7c 24 58 00       	cmpl   $0x0,0x58(%esp)
+    1960:	0f 95 c0             	setne  %al
+    1963:	89 44 24 08          	mov    %eax,0x8(%esp)
+    1967:	b8 1f 00 00 00       	mov    $0x1f,%eax
+    196c:	8b 4c 24 30          	mov    0x30(%esp),%ecx
+    1970:	2b 44 24 4c          	sub    0x4c(%esp),%eax
+    1974:	83 ea 01             	sub    $0x1,%edx
+    1977:	89 34 24             	mov    %esi,(%esp)
+    197a:	89 44 24 04          	mov    %eax,0x4(%esp)
+    197e:	8b 44 24 3c          	mov    0x3c(%esp),%eax
+    1982:	e8 c9 e8 ff ff       	call   0x250
+    1987:	e9 78 f4 ff ff       	jmp    0xe04
+    198c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    1990:	83 7c 24 54 15       	cmpl   $0x15,0x54(%esp)
+    1995:	7f 79                	jg     0x1a10
+    1997:	8b 84 24 94 01 00 00 	mov    0x194(%esp),%eax
+    199e:	83 44 24 54 20       	addl   $0x20,0x54(%esp)
+    19a3:	89 b4 24 94 01 00 00 	mov    %esi,0x194(%esp)
+    19aa:	89 84 24 98 01 00 00 	mov    %eax,0x198(%esp)
+    19b1:	e9 e2 fe ff ff       	jmp    0x1898
+    19b6:	03 7c 24 58          	add    0x58(%esp),%edi
+    19ba:	0f 83 91 00 00 00    	jae    0x1a51
+    19c0:	2b 7c 24 5c          	sub    0x5c(%esp),%edi
+    19c4:	31 c9                	xor    %ecx,%ecx
+    19c6:	be ff ff ff ff       	mov    $0xffffffff,%esi
+    19cb:	03 4c 24 5c          	add    0x5c(%esp),%ecx
+    19cf:	83 d7 00             	adc    $0x0,%edi
+    19d2:	89 4c 24 58          	mov    %ecx,0x58(%esp)
+    19d6:	e9 17 ff ff ff       	jmp    0x18f2
+    19db:	83 ac 24 a0 01 00 00 	subl   $0x20,0x1a0(%esp)
+    19e2:	20 
+    19e3:	83 7c 24 54 35       	cmpl   $0x35,0x54(%esp)
+    19e8:	c7 84 24 98 01 00 00 	movl   $0x0,0x198(%esp)
+    19ef:	00 00 00 00 
+    19f3:	89 b4 24 94 01 00 00 	mov    %esi,0x194(%esp)
+    19fa:	0f 8e 98 fe ff ff    	jle    0x1898
+    1a00:	8b 94 24 a0 01 00 00 	mov    0x1a0(%esp),%edx
+    1a07:	e9 39 ff ff ff       	jmp    0x1945
+    1a0c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    1a10:	b8 35 00 00 00       	mov    $0x35,%eax
+    1a15:	2b 44 24 54          	sub    0x54(%esp),%eax
+    1a19:	89 44 24 4c          	mov    %eax,0x4c(%esp)
+    1a1d:	74 e1                	je     0x1a00
+    1a1f:	8b 5c 24 3c          	mov    0x3c(%esp),%ebx
+    1a23:	89 44 24 0c          	mov    %eax,0xc(%esp)
+    1a27:	c7 44 24 08 02 00 00 	movl   $0x2,0x8(%esp)
+    1a2e:	00 
+    1a2f:	89 5c 24 04          	mov    %ebx,0x4(%esp)
+    1a33:	89 1c 24             	mov    %ebx,(%esp)
+    1a36:	e8 fc ff ff ff       	call   0x1a37
+    1a3b:	b9 20 00 00 00       	mov    $0x20,%ecx
+    1a40:	89 f0                	mov    %esi,%eax
+    1a42:	2b 4c 24 4c          	sub    0x4c(%esp),%ecx
+    1a46:	d3 e8                	shr    %cl,%eax
+    1a48:	09 84 24 94 01 00 00 	or     %eax,0x194(%esp)
+    1a4f:	eb af                	jmp    0x1a00
+    1a51:	31 d2                	xor    %edx,%edx
+    1a53:	8b 74 24 5c          	mov    0x5c(%esp),%esi
+    1a57:	83 7c 24 5c 00       	cmpl   $0x0,0x5c(%esp)
+    1a5c:	8b 44 24 48          	mov    0x48(%esp),%eax
+    1a60:	0f 95 c2             	setne  %dl
+    1a63:	29 d6                	sub    %edx,%esi
+    1a65:	89 f2                	mov    %esi,%edx
+    1a67:	be ff ff ff ff       	mov    $0xffffffff,%esi
+    1a6c:	e9 43 fe ff ff       	jmp    0x18b4
+    1a71:	8b 94 24 fc 00 00 00 	mov    0xfc(%esp),%edx
+    1a78:	8b 4c 24 64          	mov    0x64(%esp),%ecx
+    1a7c:	8b 5c 24 54          	mov    0x54(%esp),%ebx
+    1a80:	31 c0                	xor    %eax,%eax
+    1a82:	f7 f1                	div    %ecx
+    1a84:	85 db                	test   %ebx,%ebx
+    1a86:	75 7e                	jne    0x1b06
+    1a88:	85 c0                	test   %eax,%eax
+    1a8a:	0f 84 98 00 00 00    	je     0x1b28
+    1a90:	0f bd f0             	bsr    %eax,%esi
+    1a93:	8b 9c 24 a0 01 00 00 	mov    0x1a0(%esp),%ebx
+    1a9a:	bf 20 00 00 00       	mov    $0x20,%edi
+    1a9f:	83 f6 1f             	xor    $0x1f,%esi
+    1aa2:	29 f7                	sub    %esi,%edi
+    1aa4:	29 f3                	sub    %esi,%ebx
+    1aa6:	83 ff 35             	cmp    $0x35,%edi
+    1aa9:	89 9c 24 a0 01 00 00 	mov    %ebx,0x1a0(%esp)
+    1ab0:	0f 8e 85 07 00 00    	jle    0x223b
+    1ab6:	89 c1                	mov    %eax,%ecx
+    1ab8:	83 c6 35             	add    $0x35,%esi
+    1abb:	89 d8                	mov    %ebx,%eax
+    1abd:	89 cb                	mov    %ecx,%ebx
+    1abf:	b9 20 00 00 00       	mov    $0x20,%ecx
+    1ac4:	89 df                	mov    %ebx,%edi
+    1ac6:	29 f1                	sub    %esi,%ecx
+    1ac8:	d3 ef                	shr    %cl,%edi
+    1aca:	89 bc 24 94 01 00 00 	mov    %edi,0x194(%esp)
+    1ad1:	83 e8 01             	sub    $0x1,%eax
+    1ad4:	85 d2                	test   %edx,%edx
+    1ad6:	8b 4c 24 30          	mov    0x30(%esp),%ecx
+    1ada:	0f 95 c2             	setne  %dl
+    1add:	0f b6 d2             	movzbl %dl,%edx
+    1ae0:	0b 54 24 28          	or     0x28(%esp),%edx
+    1ae4:	89 1c 24             	mov    %ebx,(%esp)
+    1ae7:	89 54 24 08          	mov    %edx,0x8(%esp)
+    1aeb:	ba 1f 00 00 00       	mov    $0x1f,%edx
+    1af0:	29 f2                	sub    %esi,%edx
+    1af2:	89 54 24 04          	mov    %edx,0x4(%esp)
+    1af6:	89 c2                	mov    %eax,%edx
+    1af8:	8b 44 24 3c          	mov    0x3c(%esp),%eax
+    1afc:	e8 4f e7 ff ff       	call   0x250
+    1b01:	e9 fe f2 ff ff       	jmp    0xe04
+    1b06:	83 fb 15             	cmp    $0x15,%ebx
+    1b09:	7f 55                	jg     0x1b60
+    1b0b:	8b b4 24 94 01 00 00 	mov    0x194(%esp),%esi
+    1b12:	83 c3 20             	add    $0x20,%ebx
+    1b15:	89 84 24 94 01 00 00 	mov    %eax,0x194(%esp)
+    1b1c:	89 b4 24 98 01 00 00 	mov    %esi,0x198(%esp)
+    1b23:	e9 58 ff ff ff       	jmp    0x1a80
+    1b28:	83 ac 24 a0 01 00 00 	subl   $0x20,0x1a0(%esp)
+    1b2f:	20 
+    1b30:	83 fb 35             	cmp    $0x35,%ebx
+    1b33:	c7 84 24 98 01 00 00 	movl   $0x0,0x198(%esp)
+    1b3a:	00 00 00 00 
+    1b3e:	89 84 24 94 01 00 00 	mov    %eax,0x194(%esp)
+    1b45:	0f 8e 35 ff ff ff    	jle    0x1a80
+    1b4b:	89 c3                	mov    %eax,%ebx
+    1b4d:	31 f6                	xor    %esi,%esi
+    1b4f:	8b 84 24 a0 01 00 00 	mov    0x1a0(%esp),%eax
+    1b56:	e9 76 ff ff ff       	jmp    0x1ad1
+    1b5b:	90                   	nop
+    1b5c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    1b60:	89 5c 24 54          	mov    %ebx,0x54(%esp)
+    1b64:	be 35 00 00 00       	mov    $0x35,%esi
+    1b69:	89 c3                	mov    %eax,%ebx
+    1b6b:	2b 74 24 54          	sub    0x54(%esp),%esi
+    1b6f:	85 f6                	test   %esi,%esi
+    1b71:	7e dc                	jle    0x1b4f
+    1b73:	8b 44 24 3c          	mov    0x3c(%esp),%eax
+    1b77:	89 df                	mov    %ebx,%edi
+    1b79:	89 54 24 1c          	mov    %edx,0x1c(%esp)
+    1b7d:	89 74 24 0c          	mov    %esi,0xc(%esp)
+    1b81:	c7 44 24 08 02 00 00 	movl   $0x2,0x8(%esp)
+    1b88:	00 
+    1b89:	89 44 24 04          	mov    %eax,0x4(%esp)
+    1b8d:	89 04 24             	mov    %eax,(%esp)
+    1b90:	e8 fc ff ff ff       	call   0x1b91
+    1b95:	b9 20 00 00 00       	mov    $0x20,%ecx
+    1b9a:	8b 54 24 1c          	mov    0x1c(%esp),%edx
+    1b9e:	29 f1                	sub    %esi,%ecx
+    1ba0:	d3 ef                	shr    %cl,%edi
+    1ba2:	09 bc 24 94 01 00 00 	or     %edi,0x194(%esp)
+    1ba9:	eb a4                	jmp    0x1b4f
+    1bab:	8b 84 24 fc 00 00 00 	mov    0xfc(%esp),%eax
+    1bb2:	8b bc 24 00 01 00 00 	mov    0x100(%esp),%edi
+    1bb9:	89 44 24 58          	mov    %eax,0x58(%esp)
+    1bbd:	c7 44 24 4c 00 00 00 	movl   $0x0,0x4c(%esp)
+    1bc4:	00 
+    1bc5:	e9 c1 fc ff ff       	jmp    0x188b
+    1bca:	8b 75 14             	mov    0x14(%ebp),%esi
+    1bcd:	0f b6 03             	movzbl (%ebx),%eax
+    1bd0:	8b 76 38             	mov    0x38(%esi),%esi
+    1bd3:	88 44 24 54          	mov    %al,0x54(%esp)
+    1bd7:	89 74 24 50          	mov    %esi,0x50(%esp)
+    1bdb:	e9 82 ea ff ff       	jmp    0x662
+    1be0:	8d 94 24 94 01 00 00 	lea    0x194(%esp),%edx
+    1be7:	c1 e0 02             	shl    $0x2,%eax
+    1bea:	89 54 24 3c          	mov    %edx,0x3c(%esp)
+    1bee:	89 44 24 08          	mov    %eax,0x8(%esp)
+    1bf2:	89 74 24 04          	mov    %esi,0x4(%esp)
+    1bf6:	89 14 24             	mov    %edx,(%esp)
+    1bf9:	e8 fc ff ff ff       	call   0x1bfa
+    1bfe:	8b 84 24 a4 01 00 00 	mov    0x1a4(%esp),%eax
+    1c05:	83 f8 01             	cmp    $0x1,%eax
+    1c08:	0f 8e 69 03 00 00    	jle    0x1f77
+    1c0e:	bf 37 00 00 00       	mov    $0x37,%edi
+    1c13:	b9 56 55 55 55       	mov    $0x55555556,%ecx
+    1c18:	2b 7c 24 54          	sub    0x54(%esp),%edi
+    1c1c:	89 f8                	mov    %edi,%eax
+    1c1e:	f7 e9                	imul   %ecx
+    1c20:	c1 ff 1f             	sar    $0x1f,%edi
+    1c23:	89 d1                	mov    %edx,%ecx
+    1c25:	8b 94 24 a0 01 00 00 	mov    0x1a0(%esp),%edx
+    1c2c:	29 f9                	sub    %edi,%ecx
+    1c2e:	8d 41 02             	lea    0x2(%ecx),%eax
+    1c31:	e9 4b ed ff ff       	jmp    0x981
+    1c36:	8b 7c 24 50          	mov    0x50(%esp),%edi
+    1c3a:	8d 84 24 94 01 00 00 	lea    0x194(%esp),%eax
+    1c41:	89 44 24 3c          	mov    %eax,0x3c(%esp)
+    1c45:	83 ef 01             	sub    $0x1,%edi
+    1c48:	89 7c 24 38          	mov    %edi,0x38(%esp)
+    1c4c:	8b 7c 24 48          	mov    0x48(%esp),%edi
+    1c50:	39 7c 24 4c          	cmp    %edi,0x4c(%esp)
+    1c54:	7e 56                	jle    0x1cac
+    1c56:	8b 54 24 50          	mov    0x50(%esp),%edx
+    1c5a:	c7 44 24 40 20 00 00 	movl   $0x20,0x40(%esp)
+    1c61:	00 
+    1c62:	89 74 24 44          	mov    %esi,0x44(%esp)
+    1c66:	29 54 24 40          	sub    %edx,0x40(%esp)
+    1c6a:	8d 14 be             	lea    (%esi,%edi,4),%edx
+    1c6d:	89 c6                	mov    %eax,%esi
+    1c6f:	8b 42 04             	mov    0x4(%edx),%eax
+    1c72:	83 c7 01             	add    $0x1,%edi
+    1c75:	0f b6 4c 24 40       	movzbl 0x40(%esp),%ecx
+    1c7a:	8b 1a                	mov    (%edx),%ebx
+    1c7c:	83 c2 04             	add    $0x4,%edx
+    1c7f:	d3 e0                	shl    %cl,%eax
+    1c81:	0f b6 4c 24 50       	movzbl 0x50(%esp),%ecx
+    1c86:	d3 eb                	shr    %cl,%ebx
+    1c88:	09 d8                	or     %ebx,%eax
+    1c8a:	89 06                	mov    %eax,(%esi)
+    1c8c:	83 c6 04             	add    $0x4,%esi
+    1c8f:	39 7c 24 4c          	cmp    %edi,0x4c(%esp)
+    1c93:	7f da                	jg     0x1c6f
+    1c95:	89 fa                	mov    %edi,%edx
+    1c97:	8b 74 24 44          	mov    0x44(%esp),%esi
+    1c9b:	2b 54 24 48          	sub    0x48(%esp),%edx
+    1c9f:	8b 44 24 48          	mov    0x48(%esp),%eax
+    1ca3:	83 fa 01             	cmp    $0x1,%edx
+    1ca6:	0f 8f 63 f9 ff ff    	jg     0x160f
+    1cac:	8b 84 bc fc 00 00 00 	mov    0xfc(%esp,%edi,4),%eax
+    1cb3:	0f b6 4c 24 50       	movzbl 0x50(%esp),%ecx
+    1cb8:	d3 e8                	shr    %cl,%eax
+    1cba:	89 84 24 98 01 00 00 	mov    %eax,0x198(%esp)
+    1cc1:	8b 44 24 48          	mov    0x48(%esp),%eax
+    1cc5:	e9 45 f9 ff ff       	jmp    0x160f
+    1cca:	8b 4d 0c             	mov    0xc(%ebp),%ecx
+    1ccd:	85 c9                	test   %ecx,%ecx
+    1ccf:	0f 84 db f1 ff ff    	je     0xeb0
+    1cd5:	8b 45 08             	mov    0x8(%ebp),%eax
+    1cd8:	d9 ee                	fldz   
+    1cda:	8b 7d 0c             	mov    0xc(%ebp),%edi
+    1cdd:	89 07                	mov    %eax,(%edi)
+    1cdf:	e9 20 f1 ff ff       	jmp    0xe04
+    1ce4:	39 fe                	cmp    %edi,%esi
+    1ce6:	0f 84 20 e9 ff ff    	je     0x60c
+    1cec:	80 7c 24 5c 70       	cmpb   $0x70,0x5c(%esp)
+    1cf1:	0f 84 31 e9 ff ff    	je     0x628
+    1cf7:	e9 10 e9 ff ff       	jmp    0x60c
+    1cfc:	8b 7c 24 48          	mov    0x48(%esp),%edi
+    1d00:	8b 44 24 54          	mov    0x54(%esp),%eax
+    1d04:	29 d7                	sub    %edx,%edi
+    1d06:	85 c0                	test   %eax,%eax
+    1d08:	0f 8e 9a 02 00 00    	jle    0x1fa8
+    1d0e:	89 f8                	mov    %edi,%eax
+    1d10:	c1 e0 05             	shl    $0x5,%eax
+    1d13:	03 44 24 54          	add    0x54(%esp),%eax
+    1d17:	83 f8 35             	cmp    $0x35,%eax
+    1d1a:	89 44 24 5c          	mov    %eax,0x5c(%esp)
+    1d1e:	0f 8f 01 02 00 00    	jg     0x1f25
+    1d24:	8b 84 24 94 01 00 00 	mov    0x194(%esp),%eax
+    1d2b:	8b 94 24 a4 01 00 00 	mov    0x1a4(%esp),%edx
+    1d32:	c7 84 24 94 01 00 00 	movl   $0x0,0x194(%esp)
+    1d39:	00 00 00 00 
+    1d3d:	c7 44 24 38 00 00 00 	movl   $0x0,0x38(%esp)
+    1d44:	00 
+    1d45:	89 84 24 98 01 00 00 	mov    %eax,0x198(%esp)
+    1d4c:	8b 4c 24 5c          	mov    0x5c(%esp),%ecx
+    1d50:	89 4c 24 54          	mov    %ecx,0x54(%esp)
+    1d54:	85 d2                	test   %edx,%edx
+    1d56:	7e 17                	jle    0x1d6f
+    1d58:	8d 04 96             	lea    (%esi,%edx,4),%eax
+    1d5b:	01 fa                	add    %edi,%edx
+    1d5d:	8d 14 96             	lea    (%esi,%edx,4),%edx
+    1d60:	8b 48 fc             	mov    -0x4(%eax),%ecx
+    1d63:	83 e8 04             	sub    $0x4,%eax
+    1d66:	89 0a                	mov    %ecx,(%edx)
+    1d68:	83 ea 04             	sub    $0x4,%edx
+    1d6b:	39 f0                	cmp    %esi,%eax
+    1d6d:	75 f1                	jne    0x1d60
+    1d6f:	85 ff                	test   %edi,%edi
+    1d71:	78 13                	js     0x1d86
+    1d73:	31 c0                	xor    %eax,%eax
+    1d75:	8d 76 00             	lea    0x0(%esi),%esi
+    1d78:	c7 04 86 00 00 00 00 	movl   $0x0,(%esi,%eax,4)
+    1d7f:	83 c0 01             	add    $0x1,%eax
+    1d82:	39 c7                	cmp    %eax,%edi
+    1d84:	7d f2                	jge    0x1d78
+    1d86:	8b 7c 24 48          	mov    0x48(%esp),%edi
+    1d8a:	83 7c 24 54 35       	cmpl   $0x35,0x54(%esp)
+    1d8f:	c7 44 bc 64 00 00 00 	movl   $0x0,0x64(%esp,%edi,4)
+    1d96:	00 
+    1d97:	8b 8c bc fc 00 00 00 	mov    0xfc(%esp,%edi,4),%ecx
+    1d9e:	0f 8e 33 ee ff ff    	jle    0xbd7
+    1da4:	8b bc 24 a0 01 00 00 	mov    0x1a0(%esp),%edi
+    1dab:	c7 44 24 5c 00 00 00 	movl   $0x0,0x5c(%esp)
+    1db2:	00 
+    1db3:	e9 9d ef ff ff       	jmp    0xd55
+    1db8:	b8 01 00 00 00       	mov    $0x1,%eax
+    1dbd:	e9 a1 fb ff ff       	jmp    0x1963
+    1dc2:	8b 4c 24 30          	mov    0x30(%esp),%ecx
+    1dc6:	8d 84 24 94 01 00 00 	lea    0x194(%esp),%eax
+    1dcd:	8b 94 24 a0 01 00 00 	mov    0x1a0(%esp),%edx
+    1dd4:	c7 44 24 08 01 00 00 	movl   $0x1,0x8(%esp)
+    1ddb:	00 
+    1ddc:	c7 44 24 04 1f 00 00 	movl   $0x1f,0x4(%esp)
+    1de3:	00 
+    1de4:	89 1c 24             	mov    %ebx,(%esp)
+    1de7:	e8 64 e4 ff ff       	call   0x250
+    1dec:	e9 13 f0 ff ff       	jmp    0xe04
+    1df1:	a1 00 00 00 00       	mov    0x0,%eax
+    1df6:	83 7c 24 30 00       	cmpl   $0x0,0x30(%esp)
+    1dfb:	65 c7 00 22 00 00 00 	movl   $0x22,%gs:(%eax)
+    1e02:	0f 84 a0 f6 ff ff    	je     0x14a8
+    1e08:	d9 05 04 00 00 00    	flds   0x4
+    1e0e:	e9 f1 ef ff ff       	jmp    0xe04
+    1e13:	83 ea 14             	sub    $0x14,%edx
+    1e16:	89 54 24 0c          	mov    %edx,0xc(%esp)
+    1e1a:	ba 02 00 00 00       	mov    $0x2,%edx
+    1e1f:	29 c2                	sub    %eax,%edx
+    1e21:	89 74 24 04          	mov    %esi,0x4(%esp)
+    1e25:	8d b4 24 94 01 00 00 	lea    0x194(%esp),%esi
+    1e2c:	89 44 24 08          	mov    %eax,0x8(%esp)
+    1e30:	8d 04 96             	lea    (%esi,%edx,4),%eax
+    1e33:	89 74 24 3c          	mov    %esi,0x3c(%esp)
+    1e37:	89 04 24             	mov    %eax,(%esp)
+    1e3a:	e8 fc ff ff ff       	call   0x1e3b
+    1e3f:	ba 01 00 00 00       	mov    $0x1,%edx
+    1e44:	2b 94 24 a4 01 00 00 	sub    0x1a4(%esp),%edx
+    1e4b:	85 d2                	test   %edx,%edx
+    1e4d:	89 84 94 94 01 00 00 	mov    %eax,0x194(%esp,%edx,4)
+    1e54:	0f 8e 62 f4 ff ff    	jle    0x12bc
+    1e5a:	31 c0                	xor    %eax,%eax
+    1e5c:	8b 7c 24 3c          	mov    0x3c(%esp),%edi
+    1e60:	c7 04 87 00 00 00 00 	movl   $0x0,(%edi,%eax,4)
+    1e67:	83 c0 01             	add    $0x1,%eax
+    1e6a:	39 d0                	cmp    %edx,%eax
+    1e6c:	7c ee                	jl     0x1e5c
+    1e6e:	e9 49 f4 ff ff       	jmp    0x12bc
+    1e73:	8b 45 14             	mov    0x14(%ebp),%eax
+    1e76:	89 fb                	mov    %edi,%ebx
+    1e78:	8b 48 38             	mov    0x38(%eax),%ecx
+    1e7b:	90                   	nop
+    1e7c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    1e80:	83 c3 01             	add    $0x1,%ebx
+    1e83:	0f b6 03             	movzbl (%ebx),%eax
+    1e86:	8d 50 d0             	lea    -0x30(%eax),%edx
+    1e89:	80 fa 09             	cmp    $0x9,%dl
+    1e8c:	76 f2                	jbe    0x1e80
+    1e8e:	0f be d0             	movsbl %al,%edx
+    1e91:	8b 14 91             	mov    (%ecx,%edx,4),%edx
+    1e94:	83 ea 61             	sub    $0x61,%edx
+    1e97:	80 fa 19             	cmp    $0x19,%dl
+    1e9a:	76 e4                	jbe    0x1e80
+    1e9c:	3c 5f                	cmp    $0x5f,%al
+    1e9e:	74 e0                	je     0x1e80
+    1ea0:	3c 29                	cmp    $0x29,%al
+    1ea2:	0f 85 55 f6 ff ff    	jne    0x14fd
+    1ea8:	8b 55 14             	mov    0x14(%ebp),%edx
+    1eab:	8d 84 24 9c 01 00 00 	lea    0x19c(%esp),%eax
+    1eb2:	83 c7 01             	add    $0x1,%edi
+    1eb5:	c7 44 24 0c 00 00 00 	movl   $0x0,0xc(%esp)
+    1ebc:	00 
+    1ebd:	c7 44 24 08 00 00 00 	movl   $0x0,0x8(%esp)
+    1ec4:	00 
+    1ec5:	89 44 24 04          	mov    %eax,0x4(%esp)
+    1ec9:	89 54 24 10          	mov    %edx,0x10(%esp)
+    1ecd:	89 3c 24             	mov    %edi,(%esp)
+    1ed0:	e8 fc ff ff ff       	call   0x1ed1
+    1ed5:	39 9c 24 9c 01 00 00 	cmp    %ebx,0x19c(%esp)
+    1edc:	0f 84 73 03 00 00    	je     0x2255
+    1ee2:	d9 05 08 00 00 00    	flds   0x8
+    1ee8:	8d 7b 01             	lea    0x1(%ebx),%edi
+    1eeb:	e9 13 f6 ff ff       	jmp    0x1503
+    1ef0:	8b 7c 24 44          	mov    0x44(%esp),%edi
+    1ef4:	89 d0                	mov    %edx,%eax
+    1ef6:	c1 e0 02             	shl    $0x2,%eax
+    1ef9:	89 44 24 08          	mov    %eax,0x8(%esp)
+    1efd:	89 74 24 04          	mov    %esi,0x4(%esp)
+    1f01:	89 3c 24             	mov    %edi,(%esp)
+    1f04:	e8 fc ff ff ff       	call   0x1f05
+    1f09:	e9 86 eb ff ff       	jmp    0xa94
+    1f0e:	89 c1                	mov    %eax,%ecx
+    1f10:	c7 44 24 44 00 00 00 	movl   $0x0,0x44(%esp)
+    1f17:	00 
+    1f18:	c7 44 24 58 00 00 00 	movl   $0x0,0x58(%esp)
+    1f1f:	00 
+    1f20:	e9 26 e9 ff ff       	jmp    0x84b
+    1f25:	8b 44 24 54          	mov    0x54(%esp),%eax
+    1f29:	c7 44 24 38 35 00 00 	movl   $0x35,0x38(%esp)
+    1f30:	00 
+    1f31:	29 44 24 38          	sub    %eax,0x38(%esp)
+    1f35:	83 7c 24 38 1f       	cmpl   $0x1f,0x38(%esp)
+    1f3a:	0f 8f 65 01 00 00    	jg     0x20a5
+    1f40:	83 7c 24 38 00       	cmpl   $0x0,0x38(%esp)
+    1f45:	0f 84 01 fe ff ff    	je     0x1d4c
+    1f4b:	8b 44 24 3c          	mov    0x3c(%esp),%eax
+    1f4f:	8b 4c 24 38          	mov    0x38(%esp),%ecx
+    1f53:	c7 44 24 08 02 00 00 	movl   $0x2,0x8(%esp)
+    1f5a:	00 
+    1f5b:	89 44 24 04          	mov    %eax,0x4(%esp)
+    1f5f:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
+    1f63:	89 04 24             	mov    %eax,(%esp)
+    1f66:	e8 fc ff ff ff       	call   0x1f67
+    1f6b:	8b 94 24 a4 01 00 00 	mov    0x1a4(%esp),%edx
+    1f72:	e9 d5 fd ff ff       	jmp    0x1d4c
+    1f77:	ba 37 00 00 00       	mov    $0x37,%edx
+    1f7c:	bf 03 00 00 00       	mov    $0x3,%edi
+    1f81:	2b 54 24 54          	sub    0x54(%esp),%edx
+    1f85:	c7 84 84 94 01 00 00 	movl   $0x0,0x194(%esp,%eax,4)
+    1f8c:	00 00 00 00 
+    1f90:	89 d0                	mov    %edx,%eax
+    1f92:	c1 fa 1f             	sar    $0x1f,%edx
+    1f95:	f7 ff                	idiv   %edi
+    1f97:	8b 94 24 a0 01 00 00 	mov    0x1a0(%esp),%edx
+    1f9e:	89 c1                	mov    %eax,%ecx
+    1fa0:	8d 40 02             	lea    0x2(%eax),%eax
+    1fa3:	e9 d9 e9 ff ff       	jmp    0x981
+    1fa8:	6b c7 e0             	imul   $0xffffffe0,%edi,%eax
+    1fab:	8b 94 24 a4 01 00 00 	mov    0x1a4(%esp),%edx
+    1fb2:	01 84 24 a0 01 00 00 	add    %eax,0x1a0(%esp)
+    1fb9:	c7 44 24 38 00 00 00 	movl   $0x0,0x38(%esp)
+    1fc0:	00 
+    1fc1:	e9 8e fd ff ff       	jmp    0x1d54
+    1fc6:	83 ef 01             	sub    $0x1,%edi
+    1fc9:	84 c9                	test   %cl,%cl
+    1fcb:	0f 44 7d 08          	cmove  0x8(%ebp),%edi
+    1fcf:	89 7d 08             	mov    %edi,0x8(%ebp)
+    1fd2:	e9 9f ef ff ff       	jmp    0xf76
+    1fd7:	8d 94 24 94 01 00 00 	lea    0x194(%esp),%edx
+    1fde:	bf 02 00 00 00       	mov    $0x2,%edi
+    1fe3:	89 54 24 3c          	mov    %edx,0x3c(%esp)
+    1fe7:	8b 4c 24 3c          	mov    0x3c(%esp),%ecx
+    1feb:	89 fa                	mov    %edi,%edx
+    1fed:	29 c2                	sub    %eax,%edx
+    1fef:	c1 e0 02             	shl    $0x2,%eax
+    1ff2:	89 44 24 08          	mov    %eax,0x8(%esp)
+    1ff6:	8d 14 91             	lea    (%ecx,%edx,4),%edx
+    1ff9:	89 74 24 04          	mov    %esi,0x4(%esp)
+    1ffd:	89 14 24             	mov    %edx,(%esp)
+    2000:	e8 fc ff ff ff       	call   0x2001
+    2005:	31 c0                	xor    %eax,%eax
+    2007:	2b bc 24 a4 01 00 00 	sub    0x1a4(%esp),%edi
+    200e:	39 f8                	cmp    %edi,%eax
+    2010:	0f 8d a6 f2 ff ff    	jge    0x12bc
+    2016:	8b 74 24 3c          	mov    0x3c(%esp),%esi
+    201a:	c7 04 86 00 00 00 00 	movl   $0x0,(%esi,%eax,4)
+    2021:	83 c0 01             	add    $0x1,%eax
+    2024:	eb e8                	jmp    0x200e
+    2026:	8b 44 24 54          	mov    0x54(%esp),%eax
+    202a:	c7 44 24 4c 00 00 00 	movl   $0x0,0x4c(%esp)
+    2031:	00 
+    2032:	83 e8 20             	sub    $0x20,%eax
+    2035:	89 84 24 a0 01 00 00 	mov    %eax,0x1a0(%esp)
+    203c:	e9 33 f8 ff ff       	jmp    0x1874
+    2041:	8b 7c 24 58          	mov    0x58(%esp),%edi
+    2045:	31 f6                	xor    %esi,%esi
+    2047:	8b 94 24 a0 01 00 00 	mov    0x1a0(%esp),%edx
+    204e:	c7 44 24 58 00 00 00 	movl   $0x0,0x58(%esp)
+    2055:	00 
+    2056:	e9 ea f8 ff ff       	jmp    0x1945
+    205b:	b8 35 00 00 00       	mov    $0x35,%eax
+    2060:	2b 44 24 54          	sub    0x54(%esp),%eax
+    2064:	89 44 24 4c          	mov    %eax,0x4c(%esp)
+    2068:	0f 84 01 f8 ff ff    	je     0x186f
+    206e:	8b 4c 24 3c          	mov    0x3c(%esp),%ecx
+    2072:	89 44 24 0c          	mov    %eax,0xc(%esp)
+    2076:	c7 44 24 08 02 00 00 	movl   $0x2,0x8(%esp)
+    207d:	00 
+    207e:	89 4c 24 04          	mov    %ecx,0x4(%esp)
+    2082:	89 0c 24             	mov    %ecx,(%esp)
+    2085:	e8 fc ff ff ff       	call   0x2086
+    208a:	8b b4 24 fc 00 00 00 	mov    0xfc(%esp),%esi
+    2091:	89 74 24 58          	mov    %esi,0x58(%esp)
+    2095:	e9 d5 f7 ff ff       	jmp    0x186f
+    209a:	8b 4c 24 48          	mov    0x48(%esp),%ecx
+    209e:	f7 d1                	not    %ecx
+    20a0:	e9 eb ec ff ff       	jmp    0xd90
+    20a5:	8b 44 24 38          	mov    0x38(%esp),%eax
+    20a9:	8b 54 24 3c          	mov    0x3c(%esp),%edx
+    20ad:	c7 44 24 08 01 00 00 	movl   $0x1,0x8(%esp)
+    20b4:	00 
+    20b5:	83 e0 1f             	and    $0x1f,%eax
+    20b8:	89 44 24 0c          	mov    %eax,0xc(%esp)
+    20bc:	8d 84 24 98 01 00 00 	lea    0x198(%esp),%eax
+    20c3:	89 54 24 04          	mov    %edx,0x4(%esp)
+    20c7:	89 04 24             	mov    %eax,(%esp)
+    20ca:	e8 fc ff ff ff       	call   0x20cb
+    20cf:	8b 94 24 a4 01 00 00 	mov    0x1a4(%esp),%edx
+    20d6:	c7 84 24 94 01 00 00 	movl   $0x0,0x194(%esp)
+    20dd:	00 00 00 00 
+    20e1:	e9 66 fc ff ff       	jmp    0x1d4c
+    20e6:	a1 00 00 00 00       	mov    0x0,%eax
+    20eb:	65 c7 00 22 00 00 00 	movl   $0x22,%gs:(%eax)
+    20f2:	e9 a5 f3 ff ff       	jmp    0x149c
+    20f7:	8b 44 24 38          	mov    0x38(%esp),%eax
+    20fb:	89 f7                	mov    %esi,%edi
+    20fd:	0f b6 00             	movzbl (%eax),%eax
+    2100:	88 44 24 5c          	mov    %al,0x5c(%esp)
+    2104:	80 fa 30             	cmp    $0x30,%dl
+    2107:	74 35                	je     0x213e
+    2109:	80 7c 24 5c 00       	cmpb   $0x0,0x5c(%esp)
+    210e:	74 40                	je     0x2150
+    2110:	0f b6 4c 24 5c       	movzbl 0x5c(%esp),%ecx
+    2115:	38 0f                	cmp    %cl,(%edi)
+    2117:	0f 85 9e e4 ff ff    	jne    0x5bb
+    211d:	31 c0                	xor    %eax,%eax
+    211f:	88 54 24 58          	mov    %dl,0x58(%esp)
+    2123:	eb 05                	jmp    0x212a
+    2125:	3a 0c 07             	cmp    (%edi,%eax,1),%cl
+    2128:	75 1c                	jne    0x2146
+    212a:	8b 54 24 38          	mov    0x38(%esp),%edx
+    212e:	83 c0 01             	add    $0x1,%eax
+    2131:	0f b6 0c 02          	movzbl (%edx,%eax,1),%ecx
+    2135:	84 c9                	test   %cl,%cl
+    2137:	75 ec                	jne    0x2125
+    2139:	83 e8 01             	sub    $0x1,%eax
+    213c:	01 c7                	add    %eax,%edi
+    213e:	83 c7 01             	add    $0x1,%edi
+    2141:	0f b6 17             	movzbl (%edi),%edx
+    2144:	eb be                	jmp    0x2104
+    2146:	0f b6 54 24 58       	movzbl 0x58(%esp),%edx
+    214b:	e9 6b e4 ff ff       	jmp    0x5bb
+    2150:	83 c8 ff             	or     $0xffffffff,%eax
+    2153:	eb e7                	jmp    0x213c
+    2155:	a1 00 00 00 00       	mov    0x0,%eax
+    215a:	65 c7 00 22 00 00 00 	movl   $0x22,%gs:(%eax)
+    2161:	e9 1a ee ff ff       	jmp    0xf80
+    2166:	31 c0                	xor    %eax,%eax
+    2168:	88 54 24 48          	mov    %dl,0x48(%esp)
+    216c:	eb 0c                	jmp    0x217a
+    216e:	8b 54 24 5c          	mov    0x5c(%esp),%edx
+    2172:	3a 0c 02             	cmp    (%edx,%eax,1),%cl
+    2175:	75 4b                	jne    0x21c2
+    2177:	83 c0 01             	add    $0x1,%eax
+    217a:	8b 54 24 38          	mov    0x38(%esp),%edx
+    217e:	0f b6 0c 02          	movzbl (%edx,%eax,1),%ecx
+    2182:	84 c9                	test   %cl,%cl
+    2184:	75 e8                	jne    0x216e
+    2186:	8b 54 24 5c          	mov    0x5c(%esp),%edx
+    218a:	8d 54 02 ff          	lea    -0x1(%edx,%eax,1),%edx
+    218e:	89 54 24 5c          	mov    %edx,0x5c(%esp)
+    2192:	e9 ee ec ff ff       	jmp    0xe85
+    2197:	8b 48 30             	mov    0x30(%eax),%ecx
+    219a:	89 4c 24 3c          	mov    %ecx,0x3c(%esp)
+    219e:	0f b6 11             	movzbl (%ecx),%edx
+    21a1:	83 ea 01             	sub    $0x1,%edx
+    21a4:	80 fa 7d             	cmp    $0x7d,%dl
+    21a7:	0f 87 20 e3 ff ff    	ja     0x4cd
+    21ad:	8b 58 2c             	mov    0x2c(%eax),%ebx
+    21b0:	89 5c 24 38          	mov    %ebx,0x38(%esp)
+    21b4:	80 3b 00             	cmpb   $0x0,(%ebx)
+    21b7:	0f 85 20 e3 ff ff    	jne    0x4dd
+    21bd:	e9 0b e3 ff ff       	jmp    0x4cd
+    21c2:	0f b6 54 24 48       	movzbl 0x48(%esp),%edx
+    21c7:	e9 8a e4 ff ff       	jmp    0x656
+    21cc:	f7 d8                	neg    %eax
+    21ce:	83 c0 20             	add    $0x20,%eax
+    21d1:	89 44 24 54          	mov    %eax,0x54(%esp)
+    21d5:	e9 09 f8 ff ff       	jmp    0x19e3
+    21da:	83 7c 24 44 ff       	cmpl   $0xffffffff,0x44(%esp)
+    21df:	74 13                	je     0x21f4
+    21e1:	a1 00 00 00 00       	mov    0x0,%eax
+    21e6:	83 7c 24 3c 00       	cmpl   $0x0,0x3c(%esp)
+    21eb:	65 c7 00 22 00 00 00 	movl   $0x22,%gs:(%eax)
+    21f2:	74 2a                	je     0x221e
+    21f4:	83 7c 24 30 00       	cmpl   $0x0,0x30(%esp)
+    21f9:	75 32                	jne    0x222d
+    21fb:	d9 ee                	fldz   
+    21fd:	83 c6 01             	add    $0x1,%esi
+    2200:	0f b6 06             	movzbl (%esi),%eax
+    2203:	83 e8 30             	sub    $0x30,%eax
+    2206:	3c 09                	cmp    $0x9,%al
+    2208:	76 f3                	jbe    0x21fd
+    220a:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
+    220e:	0f 84 f0 eb ff ff    	je     0xe04
+    2214:	8b 55 0c             	mov    0xc(%ebp),%edx
+    2217:	89 32                	mov    %esi,(%edx)
+    2219:	e9 e6 eb ff ff       	jmp    0xe04
+    221e:	83 7c 24 30 00       	cmpl   $0x0,0x30(%esp)
+    2223:	75 0e                	jne    0x2233
+    2225:	d9 05 00 00 00 00    	flds   0x0
+    222b:	eb d0                	jmp    0x21fd
+    222d:	d9 ee                	fldz   
+    222f:	d9 e0                	fchs   
+    2231:	eb ca                	jmp    0x21fd
+    2233:	d9 05 04 00 00 00    	flds   0x4
+    2239:	eb c2                	jmp    0x21fd
+    223b:	89 f3                	mov    %esi,%ebx
+    223d:	f7 db                	neg    %ebx
+    223f:	83 c3 20             	add    $0x20,%ebx
+    2242:	e9 e9 f8 ff ff       	jmp    0x1b30
+    2247:	f7 d8                	neg    %eax
+    2249:	83 c0 20             	add    $0x20,%eax
+    224c:	89 44 24 54          	mov    %eax,0x54(%esp)
+    2250:	e9 e5 f4 ff ff       	jmp    0x173a
+    2255:	81 e2 ff ff 0f 00    	and    $0xfffff,%edx
+    225b:	89 d1                	mov    %edx,%ecx
+    225d:	09 c1                	or     %eax,%ecx
+    225f:	75 07                	jne    0x2268
+    2261:	31 c0                	xor    %eax,%eax
+    2263:	ba 00 00 08 00       	mov    $0x80000,%edx
+    2268:	81 ca 00 00 f0 7f    	or     $0x7ff00000,%edx
+    226e:	89 54 24 60          	mov    %edx,0x60(%esp)
+    2272:	89 44 24 5c          	mov    %eax,0x5c(%esp)
+    2276:	dd 44 24 5c          	fldl   0x5c(%esp)
+    227a:	e9 69 fc ff ff       	jmp    0x1ee8
+    227f:	90                   	nop
+    2280:	55                   	push   %ebp
+    2281:	89 e5                	mov    %esp,%ebp
+    2283:	83 ec 10             	sub    $0x10,%esp
+    2286:	8b 45 10             	mov    0x10(%ebp),%eax
+    2289:	c7 44 24 08 00 00 00 	movl   $0x0,0x8(%esp)
+    2290:	00 
+    2291:	89 44 24 0c          	mov    %eax,0xc(%esp)
+    2295:	8b 45 0c             	mov    0xc(%ebp),%eax
+    2298:	89 44 24 04          	mov    %eax,0x4(%esp)
+    229c:	8b 45 08             	mov    0x8(%ebp),%eax
+    229f:	89 04 24             	mov    %eax,(%esp)
+    22a2:	e8 fc ff ff ff       	call   0x22a3
+    22a7:	c9                   	leave  
+    22a8:	c3                   	ret    
--- /dev/fd/63	2012-05-05 15:41:47.000000000 +0200
+++ /dev/fd/62	2012-05-05 15:41:47.000000000 +0200
@@ -1,5 +1,5 @@
 
-../build-tree.good/kfreebsd-amd64-i386/resolv/ns_print.o:     file format elf32-i386-freebsd
+build-tree/kfreebsd-amd64-i386/resolv/ns_print.o:     file format elf32-i386-freebsd
 
 
 Disassembly of section .text:
@@ -652,9 +652,9 @@
      84b:	c6 85 5a ff ff ff 00 	movb   $0x0,-0xa6(%ebp)
      852:	7e 5f                	jle    0x8b3
      854:	8b 4d 20             	mov    0x20(%ebp),%ecx
-     857:	31 f6                	xor    %esi,%esi
-     859:	89 da                	mov    %ebx,%edx
-     85b:	8d bd 5a ff ff ff    	lea    -0xa6(%ebp),%edi
+     857:	8d bd 5a ff ff ff    	lea    -0xa6(%ebp),%edi
+     85d:	31 f6                	xor    %esi,%esi
+     85f:	89 da                	mov    %ebx,%edx
      861:	89 8d a4 d1 ff ff    	mov    %ecx,-0x2e5c(%ebp)
      867:	8b 85 a4 d1 ff ff    	mov    -0x2e5c(%ebp),%eax
      86d:	0f b6 0c 30          	movzbl (%eax,%esi,1),%ecx
--- /dev/fd/63	2012-05-05 15:41:47.000000000 +0200
+++ /dev/fd/62	2012-05-05 15:41:47.000000000 +0200
@@ -1,5 +1,5 @@
 
-../build-tree.good/kfreebsd-amd64-i386/catgets/gencat.o:     file format elf32-i386-freebsd
+build-tree/kfreebsd-amd64-i386/catgets/gencat.o:     file format elf32-i386-freebsd
 
 
 Disassembly of section .text:
@@ -627,10 +627,10 @@
      81f:	8b 45 cc             	mov    -0x34(%ebp),%eax
      822:	89 9d 7c ff ff ff    	mov    %ebx,-0x84(%ebp)
      828:	8b 75 a0             	mov    -0x60(%ebp),%esi
-     82b:	3b 85 7c ff ff ff    	cmp    -0x84(%ebp),%eax
+     82b:	39 85 7c ff ff ff    	cmp    %eax,-0x84(%ebp)
      831:	89 7d 84             	mov    %edi,-0x7c(%ebp)
      834:	8b 9d 78 ff ff ff    	mov    -0x88(%ebp),%ebx
-     83a:	0f 83 24 0f 00 00    	jae    0x1764
+     83a:	0f 86 24 0f 00 00    	jbe    0x1764
      840:	8b 8d 7c ff ff ff    	mov    -0x84(%ebp),%ecx
      846:	8b 7d 84             	mov    -0x7c(%ebp),%edi
      849:	29 c1                	sub    %eax,%ecx
--- /dev/fd/63	2012-05-05 15:41:47.000000000 +0200
+++ /dev/fd/62	2012-05-05 15:41:47.000000000 +0200
@@ -1,5 +1,5 @@
 
-../build-tree.good/kfreebsd-amd64-i386/elf/sprof.o:     file format elf32-i386-freebsd
+build-tree/kfreebsd-amd64-i386/elf/sprof.o:     file format elf32-i386-freebsd
 
 
 Disassembly of section .text:
@@ -583,8 +583,8 @@
      78a:	85 c9                	test   %ecx,%ecx
      78c:	0f 85 1b 01 00 00    	jne    0x8ad
      792:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
-     798:	8b 55 9c             	mov    -0x64(%ebp),%edx
-     79b:	8b 75 90             	mov    -0x70(%ebp),%esi
+     798:	8b 75 90             	mov    -0x70(%ebp),%esi
+     79b:	8b 55 9c             	mov    -0x64(%ebp),%edx
      79e:	85 d2                	test   %edx,%edx
      7a0:	0f 84 d2 05 00 00    	je     0xd78
      7a6:	8b 42 18             	mov    0x18(%edx),%eax
@@ -693,8 +693,8 @@
      923:	a1 00 00 00 00       	mov    0x0,%eax
      928:	89 04 24             	mov    %eax,(%esp)
      92b:	e8 fc ff ff ff       	call   0x92c
-     930:	8b 55 9c             	mov    -0x64(%ebp),%edx
-     933:	8b 75 90             	mov    -0x70(%ebp),%esi
+     930:	8b 75 90             	mov    -0x70(%ebp),%esi
+     933:	8b 55 9c             	mov    -0x64(%ebp),%edx
      936:	e9 63 fe ff ff       	jmp    0x79e
      93b:	90                   	nop
      93c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
@@ -1015,8 +1015,8 @@
      e33:	0f 84 5f f9 ff ff    	je     0x798
      e39:	89 04 24             	mov    %eax,(%esp)
      e3c:	e8 fc ff ff ff       	call   0xe3d
-     e41:	8b 55 9c             	mov    -0x64(%ebp),%edx
-     e44:	8b 75 90             	mov    -0x70(%ebp),%esi
+     e41:	8b 75 90             	mov    -0x70(%ebp),%esi
+     e44:	8b 55 9c             	mov    -0x64(%ebp),%edx
      e47:	e9 52 f9 ff ff       	jmp    0x79e
      e4c:	c7 44 24 08 05 00 00 	movl   $0x5,0x8(%esp)
      e53:	00 
--- /dev/fd/63	2012-05-05 15:41:47.000000000 +0200
+++ /dev/fd/62	2012-05-05 15:41:47.000000000 +0200
@@ -1,5 +1,5 @@
 
-../build-tree.good/kfreebsd-amd64-i386/argp/argp-help.o:     file format elf32-i386-freebsd
+build-tree/kfreebsd-amd64-i386/argp/argp-help.o:     file format elf32-i386-freebsd
 
 
 Disassembly of section .text:
@@ -1141,10 +1141,10 @@
      dc8:	8b 40 0c             	mov    0xc(%eax),%eax
      dcb:	39 48 14             	cmp    %ecx,0x14(%eax)
      dce:	7f f8                	jg     0xdc8
-     dd0:	89 d1                	mov    %edx,%ecx
-     dd2:	89 c3                	mov    %eax,%ebx
-     dd4:	8b 52 0c             	mov    0xc(%edx),%edx
-     dd7:	8b 40 0c             	mov    0xc(%eax),%eax
+     dd0:	89 c3                	mov    %eax,%ebx
+     dd2:	89 d1                	mov    %edx,%ecx
+     dd4:	8b 40 0c             	mov    0xc(%eax),%eax
+     dd7:	8b 52 0c             	mov    0xc(%edx),%edx
      dda:	39 c2                	cmp    %eax,%edx
      ddc:	75 f2                	jne    0xdd0
      dde:	8b 53 08             	mov    0x8(%ebx),%edx
--- /dev/fd/63	2012-05-05 15:41:47.000000000 +0200
+++ /dev/fd/62	2012-05-05 15:41:47.000000000 +0200
@@ -1,5 +1,5 @@
 
-../build-tree.good/kfreebsd-amd64-i386/nscd/gai.o:     file format elf32-i386-freebsd
+build-tree/kfreebsd-amd64-i386/nscd/gai.o:     file format elf32-i386-freebsd
 
 
 Disassembly of section .text:
@@ -2023,7 +2023,7 @@
     1aca:	e8 fc ff ff ff       	call   0x1acb
     1acf:	85 c0                	test   %eax,%eax
     1ad1:	89 85 40 ff ff ff    	mov    %eax,-0xc0(%ebp)
-    1ad7:	0f 84 4c 0a 00 00    	je     0x2529
+    1ad7:	0f 84 27 0a 00 00    	je     0x2504
     1add:	89 04 24             	mov    %eax,(%esp)
     1ae0:	e8 fc ff ff ff       	call   0x1ae1
     1ae5:	8d 95 4c ff ff ff    	lea    -0xb4(%ebp),%edx
@@ -2032,7 +2032,7 @@
     1af6:	89 44 24 04          	mov    %eax,0x4(%esp)
     1afa:	e8 fc ff ff ff       	call   0x1afb
     1aff:	85 c0                	test   %eax,%eax
-    1b01:	0f 85 d1 0a 00 00    	jne    0x25d8
+    1b01:	0f 85 a9 0a 00 00    	jne    0x25b0
     1b07:	8b 8d 40 ff ff ff    	mov    -0xc0(%ebp),%ecx
     1b0d:	8d 5d e0             	lea    -0x20(%ebp),%ebx
     1b10:	c7 45 b4 00 00 00 00 	movl   $0x0,-0x4c(%ebp)
@@ -2047,7 +2047,7 @@
     1b41:	80 cc 80             	or     $0x80,%ah
     1b44:	89 01                	mov    %eax,(%ecx)
     1b46:	a8 10                	test   $0x10,%al
-    1b48:	0f 85 a5 01 00 00    	jne    0x1cf3
+    1b48:	0f 85 7d 01 00 00    	jne    0x1ccb
     1b4e:	66 90                	xchg   %ax,%ax
     1b50:	8b bd 40 ff ff ff    	mov    -0xc0(%ebp),%edi
     1b56:	8d 45 b4             	lea    -0x4c(%ebp),%eax
@@ -2059,1814 +2059,1803 @@
     1b6c:	89 14 24             	mov    %edx,(%esp)
     1b6f:	e8 fc ff ff ff       	call   0x1b70
     1b74:	85 c0                	test   %eax,%eax
-    1b76:	0f 8e 77 01 00 00    	jle    0x1cf3
-    1b7c:	8b 4d b8             	mov    -0x48(%ebp),%ecx
+    1b76:	0f 8e 4f 01 00 00    	jle    0x1ccb
+    1b7c:	8b 75 b8             	mov    -0x48(%ebp),%esi
     1b7f:	c7 44 24 04 23 00 00 	movl   $0x23,0x4(%esp)
     1b86:	00 
-    1b87:	89 0c 24             	mov    %ecx,(%esp)
-    1b8a:	89 8d 48 ff ff ff    	mov    %ecx,-0xb8(%ebp)
-    1b90:	e8 fc ff ff ff       	call   0x1b91
-    1b95:	85 c0                	test   %eax,%eax
-    1b97:	74 0c                	je     0x1ba5
-    1b99:	c6 00 00             	movb   $0x0,(%eax)
-    1b9c:	8b 5d b8             	mov    -0x48(%ebp),%ebx
-    1b9f:	89 9d 48 ff ff ff    	mov    %ebx,-0xb8(%ebp)
-    1ba5:	e8 fc ff ff ff       	call   0x1ba6
-    1baa:	8b 95 48 ff ff ff    	mov    -0xb8(%ebp),%edx
-    1bb0:	89 c7                	mov    %eax,%edi
-    1bb2:	8b 00                	mov    (%eax),%eax
-    1bb4:	eb 05                	jmp    0x1bbb
-    1bb6:	66 90                	xchg   %ax,%ax
-    1bb8:	83 c2 01             	add    $0x1,%edx
-    1bbb:	0f b6 0a             	movzbl (%edx),%ecx
-    1bbe:	0f be d9             	movsbl %cl,%ebx
-    1bc1:	f6 44 58 01 20       	testb  $0x20,0x1(%eax,%ebx,2)
-    1bc6:	75 f0                	jne    0x1bb8
-    1bc8:	84 c9                	test   %cl,%cl
-    1bca:	89 95 48 ff ff ff    	mov    %edx,-0xb8(%ebp)
-    1bd0:	c7 85 44 ff ff ff 00 	movl   $0x0,-0xbc(%ebp)
-    1bd7:	00 00 00 
-    1bda:	75 12                	jne    0x1bee
-    1bdc:	eb 47                	jmp    0x1c25
-    1bde:	66 90                	xchg   %ax,%ax
-    1be0:	0f be c9             	movsbl %cl,%ecx
-    1be3:	f6 44 48 01 20       	testb  $0x20,0x1(%eax,%ecx,2)
-    1be8:	0f 85 7a 03 00 00    	jne    0x1f68
-    1bee:	83 c2 01             	add    $0x1,%edx
-    1bf1:	0f b6 0a             	movzbl (%edx),%ecx
-    1bf4:	84 c9                	test   %cl,%cl
-    1bf6:	75 e8                	jne    0x1be0
-    1bf8:	89 d1                	mov    %edx,%ecx
-    1bfa:	2b 8d 48 ff ff ff    	sub    -0xb8(%ebp),%ecx
-    1c00:	89 8d 44 ff ff ff    	mov    %ecx,-0xbc(%ebp)
-    1c06:	0f b7 08             	movzwl (%eax),%ecx
-    1c09:	81 e1 00 20 00 00    	and    $0x2000,%ecx
-    1c0f:	85 c9                	test   %ecx,%ecx
-    1c11:	74 12                	je     0x1c25
-    1c13:	90                   	nop
-    1c14:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    1c18:	83 c2 01             	add    $0x1,%edx
-    1c1b:	0f be 0a             	movsbl (%edx),%ecx
-    1c1e:	f6 44 48 01 20       	testb  $0x20,0x1(%eax,%ecx,2)
-    1c23:	75 f3                	jne    0x1c18
-    1c25:	0f b6 0a             	movzbl (%edx),%ecx
-    1c28:	89 d3                	mov    %edx,%ebx
-    1c2a:	84 c9                	test   %cl,%cl
-    1c2c:	75 0c                	jne    0x1c3a
-    1c2e:	eb 14                	jmp    0x1c44
-    1c30:	83 c3 01             	add    $0x1,%ebx
-    1c33:	0f b6 0b             	movzbl (%ebx),%ecx
-    1c36:	84 c9                	test   %cl,%cl
-    1c38:	74 0a                	je     0x1c44
-    1c3a:	0f be f1             	movsbl %cl,%esi
-    1c3d:	f6 44 70 01 20       	testb  $0x20,0x1(%eax,%esi,2)
-    1c42:	74 ec                	je     0x1c30
-    1c44:	39 9d 48 ff ff ff    	cmp    %ebx,-0xb8(%ebp)
-    1c4a:	0f 84 08 07 00 00    	je     0x2358
-    1c50:	84 c9                	test   %cl,%cl
-    1c52:	74 08                	je     0x1c5c
-    1c54:	c6 03 00             	movb   $0x0,(%ebx)
-    1c57:	8b 07                	mov    (%edi),%eax
-    1c59:	83 c3 01             	add    $0x1,%ebx
-    1c5c:	0f b6 33             	movzbl (%ebx),%esi
-    1c5f:	89 f1                	mov    %esi,%ecx
-    1c61:	0f be f9             	movsbl %cl,%edi
-    1c64:	f6 44 78 01 20       	testb  $0x20,0x1(%eax,%edi,2)
-    1c69:	74 17                	je     0x1c82
-    1c6b:	90                   	nop
-    1c6c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    1c70:	83 c3 01             	add    $0x1,%ebx
-    1c73:	0f b6 0b             	movzbl (%ebx),%ecx
-    1c76:	0f be f9             	movsbl %cl,%edi
-    1c79:	f6 44 78 01 20       	testb  $0x20,0x1(%eax,%edi,2)
-    1c7e:	75 f0                	jne    0x1c70
-    1c80:	89 ce                	mov    %ecx,%esi
-    1c82:	89 f1                	mov    %esi,%ecx
-    1c84:	84 c9                	test   %cl,%cl
-    1c86:	89 9d 38 ff ff ff    	mov    %ebx,-0xc8(%ebp)
-    1c8c:	74 2c                	je     0x1cba
-    1c8e:	f6 44 78 01 20       	testb  $0x20,0x1(%eax,%edi,2)
-    1c93:	75 25                	jne    0x1cba
-    1c95:	89 d9                	mov    %ebx,%ecx
-    1c97:	89 c6                	mov    %eax,%esi
-    1c99:	eb 0f                	jmp    0x1caa
-    1c9b:	90                   	nop
-    1c9c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    1ca0:	0f be c0             	movsbl %al,%eax
-    1ca3:	f6 44 46 01 20       	testb  $0x20,0x1(%esi,%eax,2)
-    1ca8:	75 0a                	jne    0x1cb4
-    1caa:	83 c1 01             	add    $0x1,%ecx
-    1cad:	0f b6 01             	movzbl (%ecx),%eax
-    1cb0:	84 c0                	test   %al,%al
-    1cb2:	75 ec                	jne    0x1ca0
-    1cb4:	89 8d 38 ff ff ff    	mov    %ecx,-0xc8(%ebp)
-    1cba:	8b bd 38 ff ff ff    	mov    -0xc8(%ebp),%edi
-    1cc0:	c6 07 00             	movb   $0x0,(%edi)
-    1cc3:	83 bd 44 ff ff ff 06 	cmpl   $0x6,-0xbc(%ebp)
-    1cca:	0f 84 d8 05 00 00    	je     0x22a8
-    1cd0:	0f 87 ba 02 00 00    	ja     0x1f90
-    1cd6:	83 bd 44 ff ff ff 05 	cmpl   $0x5,-0xbc(%ebp)
-    1cdd:	0f 84 3b 06 00 00    	je     0x231e
-    1ce3:	8b 95 40 ff ff ff    	mov    -0xc0(%ebp),%edx
-    1ce9:	8b 02                	mov    (%edx),%eax
-    1ceb:	a8 10                	test   $0x10,%al
-    1ced:	0f 84 5d fe ff ff    	je     0x1b50
-    1cf3:	8b 45 b8             	mov    -0x48(%ebp),%eax
-    1cf6:	89 04 24             	mov    %eax,(%esp)
-    1cf9:	e8 fc ff ff ff       	call   0x1cfa
-    1cfe:	8b 8d 40 ff ff ff    	mov    -0xc0(%ebp),%ecx
-    1d04:	89 0c 24             	mov    %ecx,(%esp)
-    1d07:	e8 fc ff ff ff       	call   0x1d08
-    1d0c:	8b 45 c4             	mov    -0x3c(%ebp),%eax
-    1d0f:	c7 85 48 ff ff ff 00 	movl   $0x0,-0xb8(%ebp)
-    1d16:	00 00 00 
-    1d19:	85 c0                	test   %eax,%eax
-    1d1b:	0f 85 44 06 00 00    	jne    0x2365
-    1d21:	8b 45 bc             	mov    -0x44(%ebp),%eax
-    1d24:	c7 85 44 ff ff ff c0 	movl   $0xc0,-0xbc(%ebp)
-    1d2b:	00 00 00 
-    1d2e:	85 c0                	test   %eax,%eax
-    1d30:	0f 84 c3 00 00 00    	je     0x1df9
-    1d36:	80 7d ce 00          	cmpb   $0x0,-0x32(%ebp)
-    1d3a:	0f 84 c0 08 00 00    	je     0x2600
-    1d40:	8d 04 40             	lea    (%eax,%eax,2),%eax
-    1d43:	c1 e0 03             	shl    $0x3,%eax
-    1d46:	89 04 24             	mov    %eax,(%esp)
-    1d49:	e8 fc ff ff ff       	call   0x1d4a
-    1d4e:	85 c0                	test   %eax,%eax
-    1d50:	89 85 40 ff ff ff    	mov    %eax,-0xc0(%ebp)
-    1d56:	89 85 44 ff ff ff    	mov    %eax,-0xbc(%ebp)
-    1d5c:	0f 84 f9 08 00 00    	je     0x265b
-    1d62:	8b 5d bc             	mov    -0x44(%ebp),%ebx
-    1d65:	80 7d ce 00          	cmpb   $0x0,-0x32(%ebp)
-    1d69:	89 9d 38 ff ff ff    	mov    %ebx,-0xc8(%ebp)
-    1d6f:	89 da                	mov    %ebx,%edx
-    1d71:	0f 84 ba 08 00 00    	je     0x2631
-    1d77:	8b 7d c0             	mov    -0x40(%ebp),%edi
-    1d7a:	85 d2                	test   %edx,%edx
-    1d7c:	8d 4a ff             	lea    -0x1(%edx),%ecx
-    1d7f:	89 f8                	mov    %edi,%eax
-    1d81:	7e 46                	jle    0x1dc9
-    1d83:	8b 9d 40 ff ff ff    	mov    -0xc0(%ebp),%ebx
-    1d89:	8d 0c 49             	lea    (%ecx,%ecx,2),%ecx
-    1d8c:	8d 0c cb             	lea    (%ebx,%ecx,8),%ecx
-    1d8f:	31 db                	xor    %ebx,%ebx
-    1d91:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
-    1d98:	8b 30                	mov    (%eax),%esi
-    1d9a:	83 c3 01             	add    $0x1,%ebx
-    1d9d:	89 31                	mov    %esi,(%ecx)
-    1d9f:	8b 70 04             	mov    0x4(%eax),%esi
-    1da2:	89 71 04             	mov    %esi,0x4(%ecx)
-    1da5:	8b 70 08             	mov    0x8(%eax),%esi
-    1da8:	89 71 08             	mov    %esi,0x8(%ecx)
-    1dab:	8b 70 0c             	mov    0xc(%eax),%esi
-    1dae:	89 71 0c             	mov    %esi,0xc(%ecx)
-    1db1:	8b 70 10             	mov    0x10(%eax),%esi
-    1db4:	89 71 10             	mov    %esi,0x10(%ecx)
-    1db7:	8b 70 14             	mov    0x14(%eax),%esi
-    1dba:	89 71 14             	mov    %esi,0x14(%ecx)
-    1dbd:	83 e9 18             	sub    $0x18,%ecx
-    1dc0:	39 d3                	cmp    %edx,%ebx
-    1dc2:	8b 40 18             	mov    0x18(%eax),%eax
-    1dc5:	75 d1                	jne    0x1d98
-    1dc7:	89 f8                	mov    %edi,%eax
-    1dc9:	85 ff                	test   %edi,%edi
-    1dcb:	0f 85 81 06 00 00    	jne    0x2452
-    1dd1:	8b 85 38 ff ff ff    	mov    -0xc8(%ebp),%eax
-    1dd7:	8b 95 40 ff ff ff    	mov    -0xc0(%ebp),%edx
-    1ddd:	c7 44 24 0c d0 00 00 	movl   $0xd0,0xc(%esp)
-    1de4:	00 
-    1de5:	c7 44 24 08 18 00 00 	movl   $0x18,0x8(%esp)
-    1dec:	00 
-    1ded:	89 44 24 04          	mov    %eax,0x4(%esp)
-    1df1:	89 14 24             	mov    %edx,(%esp)
-    1df4:	e8 fc ff ff ff       	call   0x1df5
-    1df9:	8b 95 34 ff ff ff    	mov    -0xcc(%ebp),%edx
-    1dff:	bf 40 01 00 00       	mov    $0x140,%edi
-    1e04:	85 d2                	test   %edx,%edx
-    1e06:	0f 84 e5 00 00 00    	je     0x1ef1
-    1e0c:	80 bd 33 ff ff ff 01 	cmpb   $0x1,-0xcd(%ebp)
-    1e13:	83 95 34 ff ff ff 00 	adcl   $0x0,-0xcc(%ebp)
-    1e1a:	8b 8d 34 ff ff ff    	mov    -0xcc(%ebp),%ecx
-    1e20:	8d 04 49             	lea    (%ecx,%ecx,2),%eax
-    1e23:	c1 e0 02             	shl    $0x2,%eax
-    1e26:	89 04 24             	mov    %eax,(%esp)
-    1e29:	e8 fc ff ff ff       	call   0x1e2a
-    1e2e:	85 c0                	test   %eax,%eax
-    1e30:	89 c7                	mov    %eax,%edi
-    1e32:	89 85 40 ff ff ff    	mov    %eax,-0xc0(%ebp)
-    1e38:	0f 84 31 06 00 00    	je     0x246f
-    1e3e:	80 bd 33 ff ff ff 00 	cmpb   $0x0,-0xcd(%ebp)
-    1e45:	8b b5 34 ff ff ff    	mov    -0xcc(%ebp),%esi
-    1e4b:	75 20                	jne    0x1e6d
-    1e4d:	83 ee 01             	sub    $0x1,%esi
-    1e50:	6b c6 0c             	imul   $0xc,%esi,%eax
-    1e53:	03 85 40 ff ff ff    	add    -0xc0(%ebp),%eax
-    1e59:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
-    1e5f:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
-    1e66:	c7 40 08 0e 00 00 00 	movl   $0xe,0x8(%eax)
-    1e6d:	85 f6                	test   %esi,%esi
-    1e6f:	8d 46 ff             	lea    -0x1(%esi),%eax
-    1e72:	7e 31                	jle    0x1ea5
-    1e74:	8b 8d 40 ff ff ff    	mov    -0xc0(%ebp),%ecx
-    1e7a:	8d 04 40             	lea    (%eax,%eax,2),%eax
-    1e7d:	8d 14 81             	lea    (%ecx,%eax,4),%edx
-    1e80:	8b 85 3c ff ff ff    	mov    -0xc4(%ebp),%eax
-    1e86:	31 c9                	xor    %ecx,%ecx
-    1e88:	8b 18                	mov    (%eax),%ebx
-    1e8a:	83 c1 01             	add    $0x1,%ecx
-    1e8d:	89 1a                	mov    %ebx,(%edx)
-    1e8f:	8b 58 04             	mov    0x4(%eax),%ebx
-    1e92:	89 5a 04             	mov    %ebx,0x4(%edx)
-    1e95:	8b 58 08             	mov    0x8(%eax),%ebx
-    1e98:	89 5a 08             	mov    %ebx,0x8(%edx)
-    1e9b:	83 ea 0c             	sub    $0xc,%edx
-    1e9e:	39 f1                	cmp    %esi,%ecx
-    1ea0:	8b 40 0c             	mov    0xc(%eax),%eax
-    1ea3:	75 e3                	jne    0x1e88
-    1ea5:	8b 85 3c ff ff ff    	mov    -0xc4(%ebp),%eax
-    1eab:	85 c0                	test   %eax,%eax
-    1ead:	74 1a                	je     0x1ec9
-    1eaf:	8b 85 3c ff ff ff    	mov    -0xc4(%ebp),%eax
-    1eb5:	eb 03                	jmp    0x1eba
-    1eb7:	90                   	nop
-    1eb8:	89 d8                	mov    %ebx,%eax
-    1eba:	8b 58 0c             	mov    0xc(%eax),%ebx
-    1ebd:	89 04 24             	mov    %eax,(%esp)
-    1ec0:	e8 fc ff ff ff       	call   0x1ec1
-    1ec5:	85 db                	test   %ebx,%ebx
-    1ec7:	75 ef                	jne    0x1eb8
-    1ec9:	8b 9d 34 ff ff ff    	mov    -0xcc(%ebp),%ebx
-    1ecf:	8b 85 40 ff ff ff    	mov    -0xc0(%ebp),%eax
-    1ed5:	c7 44 24 0c 00 01 00 	movl   $0x100,0xc(%esp)
-    1edc:	00 
-    1edd:	c7 44 24 08 0c 00 00 	movl   $0xc,0x8(%esp)
-    1ee4:	00 
-    1ee5:	89 5c 24 04          	mov    %ebx,0x4(%esp)
-    1ee9:	89 04 24             	mov    %eax,(%esp)
-    1eec:	e8 fc ff ff ff       	call   0x1eed
-    1ef1:	a1 48 00 00 00       	mov    0x48,%eax
-    1ef6:	8b 95 48 ff ff ff    	mov    -0xb8(%ebp),%edx
-    1efc:	3d 00 00 00 00       	cmp    $0x0,%eax
-    1f01:	89 15 48 00 00 00    	mov    %edx,0x48
-    1f07:	74 08                	je     0x1f11
-    1f09:	89 04 24             	mov    %eax,(%esp)
-    1f0c:	e8 fc ff ff ff       	call   0x1f0d
-    1f11:	a1 4c 00 00 00       	mov    0x4c,%eax
-    1f16:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
-    1f1c:	3d c0 00 00 00       	cmp    $0xc0,%eax
-    1f21:	89 0d 4c 00 00 00    	mov    %ecx,0x4c
-    1f27:	74 08                	je     0x1f31
-    1f29:	89 04 24             	mov    %eax,(%esp)
-    1f2c:	e8 fc ff ff ff       	call   0x1f2d
-    1f31:	a1 44 00 00 00       	mov    0x44,%eax
-    1f36:	89 3d 44 00 00 00    	mov    %edi,0x44
-    1f3c:	3d 40 01 00 00       	cmp    $0x140,%eax
-    1f41:	74 08                	je     0x1f4b
-    1f43:	89 04 24             	mov    %eax,(%esp)
-    1f46:	e8 fc ff ff ff       	call   0x1f47
-    1f4b:	8b 85 74 ff ff ff    	mov    -0x8c(%ebp),%eax
-    1f51:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
-    1f57:	a3 58 00 00 00       	mov    %eax,0x58
-    1f5c:	89 15 5c 00 00 00    	mov    %edx,0x5c
-    1f62:	e9 a7 05 00 00       	jmp    0x250e
-    1f67:	90                   	nop
-    1f68:	89 d3                	mov    %edx,%ebx
-    1f6a:	2b 9d 48 ff ff ff    	sub    -0xb8(%ebp),%ebx
-    1f70:	89 9d 44 ff ff ff    	mov    %ebx,-0xbc(%ebp)
-    1f76:	c6 02 00             	movb   $0x0,(%edx)
-    1f79:	83 c2 01             	add    $0x1,%edx
-    1f7c:	8b 07                	mov    (%edi),%eax
-    1f7e:	0f be 0a             	movsbl (%edx),%ecx
-    1f81:	0f b7 0c 48          	movzwl (%eax,%ecx,2),%ecx
-    1f85:	81 e1 00 20 00 00    	and    $0x2000,%ecx
-    1f8b:	e9 7f fc ff ff       	jmp    0x1c0f
-    1f90:	83 bd 44 ff ff ff 07 	cmpl   $0x7,-0xbc(%ebp)
-    1f97:	0f 84 73 01 00 00    	je     0x2110
-    1f9d:	83 bd 44 ff ff ff 0a 	cmpl   $0xa,-0xbc(%ebp)
-    1fa4:	0f 85 39 fd ff ff    	jne    0x1ce3
-    1faa:	8b b5 48 ff ff ff    	mov    -0xb8(%ebp),%esi
-    1fb0:	bf df 00 00 00       	mov    $0xdf,%edi
-    1fb5:	b9 0b 00 00 00       	mov    $0xb,%ecx
-    1fba:	f3 a6                	repz cmpsb %es:(%edi),%ds:(%esi)
-    1fbc:	0f 85 21 fd ff ff    	jne    0x1ce3
-    1fc2:	8d 4d ce             	lea    -0x32(%ebp),%ecx
-    1fc5:	8d 7d bc             	lea    -0x44(%ebp),%edi
-    1fc8:	8d 45 c0             	lea    -0x40(%ebp),%eax
-    1fcb:	89 8d 48 ff ff ff    	mov    %ecx,-0xb8(%ebp)
-    1fd1:	89 bd 44 ff ff ff    	mov    %edi,-0xbc(%ebp)
-    1fd7:	89 85 38 ff ff ff    	mov    %eax,-0xc8(%ebp)
-    1fdd:	89 95 2c ff ff ff    	mov    %edx,-0xd4(%ebp)
-    1fe3:	e8 fc ff ff ff       	call   0x1fe4
-    1fe8:	8b 95 2c ff ff ff    	mov    -0xd4(%ebp),%edx
-    1fee:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
-    1ff4:	89 14 24             	mov    %edx,(%esp)
-    1ff7:	c7 44 24 04 2f 00 00 	movl   $0x2f,0x4(%esp)
-    1ffe:	00 
-    1fff:	e8 fc ff ff ff       	call   0x2000
-    2004:	8b 95 2c ff ff ff    	mov    -0xd4(%ebp),%edx
-    200a:	85 c0                	test   %eax,%eax
-    200c:	89 c6                	mov    %eax,%esi
-    200e:	74 06                	je     0x2016
-    2010:	c6 00 00             	movb   $0x0,(%eax)
-    2013:	83 c6 01             	add    $0x1,%esi
-    2016:	8d 45 e0             	lea    -0x20(%ebp),%eax
-    2019:	89 44 24 08          	mov    %eax,0x8(%esp)
-    201d:	89 54 24 04          	mov    %edx,0x4(%esp)
-    2021:	c7 04 24 1c 00 00 00 	movl   $0x1c,(%esp)
-    2028:	e8 fc ff ff ff       	call   0x2029
-    202d:	85 c0                	test   %eax,%eax
-    202f:	0f 84 ae fc ff ff    	je     0x1ce3
-    2035:	85 f6                	test   %esi,%esi
-    2037:	ba 80 00 00 00       	mov    $0x80,%edx
-    203c:	74 2d                	je     0x206b
-    203e:	8d 55 b0             	lea    -0x50(%ebp),%edx
-    2041:	89 54 24 04          	mov    %edx,0x4(%esp)
-    2045:	c7 44 24 08 0a 00 00 	movl   $0xa,0x8(%esp)
-    204c:	00 
-    204d:	89 34 24             	mov    %esi,(%esp)
-    2050:	e8 fc ff ff ff       	call   0x2051
-    2055:	83 f8 ff             	cmp    $0xffffffff,%eax
-    2058:	89 c2                	mov    %eax,%edx
-    205a:	0f 84 83 fc ff ff    	je     0x1ce3
-    2060:	3d 80 00 00 00       	cmp    $0x80,%eax
-    2065:	0f 87 78 fc ff ff    	ja     0x1ce3
-    206b:	8b 45 b0             	mov    -0x50(%ebp),%eax
-    206e:	80 38 00             	cmpb   $0x0,(%eax)
-    2071:	0f 85 6c fc ff ff    	jne    0x1ce3
-    2077:	8d 4d b0             	lea    -0x50(%ebp),%ecx
-    207a:	89 1c 24             	mov    %ebx,(%esp)
-    207d:	c7 44 24 08 0a 00 00 	movl   $0xa,0x8(%esp)
-    2084:	00 
-    2085:	89 4c 24 04          	mov    %ecx,0x4(%esp)
-    2089:	89 95 2c ff ff ff    	mov    %edx,-0xd4(%ebp)
-    208f:	e8 fc ff ff ff       	call   0x2090
-    2094:	83 f8 ff             	cmp    $0xffffffff,%eax
-    2097:	89 c3                	mov    %eax,%ebx
-    2099:	0f 84 44 fc ff ff    	je     0x1ce3
+    1b87:	89 34 24             	mov    %esi,(%esp)
+    1b8a:	e8 fc ff ff ff       	call   0x1b8b
+    1b8f:	85 c0                	test   %eax,%eax
+    1b91:	74 06                	je     0x1b99
+    1b93:	c6 00 00             	movb   $0x0,(%eax)
+    1b96:	8b 75 b8             	mov    -0x48(%ebp),%esi
+    1b99:	e8 fc ff ff ff       	call   0x1b9a
+    1b9e:	89 85 48 ff ff ff    	mov    %eax,-0xb8(%ebp)
+    1ba4:	8b 00                	mov    (%eax),%eax
+    1ba6:	eb 03                	jmp    0x1bab
+    1ba8:	83 c6 01             	add    $0x1,%esi
+    1bab:	0f b6 16             	movzbl (%esi),%edx
+    1bae:	0f be ca             	movsbl %dl,%ecx
+    1bb1:	f6 44 48 01 20       	testb  $0x20,0x1(%eax,%ecx,2)
+    1bb6:	75 f0                	jne    0x1ba8
+    1bb8:	84 d2                	test   %dl,%dl
+    1bba:	0f 84 31 09 00 00    	je     0x24f1
+    1bc0:	89 f2                	mov    %esi,%edx
+    1bc2:	eb 12                	jmp    0x1bd6
+    1bc4:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    1bc8:	0f be c9             	movsbl %cl,%ecx
+    1bcb:	f6 44 48 01 20       	testb  $0x20,0x1(%eax,%ecx,2)
+    1bd0:	0f 85 6a 03 00 00    	jne    0x1f40
+    1bd6:	83 c2 01             	add    $0x1,%edx
+    1bd9:	0f b6 0a             	movzbl (%edx),%ecx
+    1bdc:	84 c9                	test   %cl,%cl
+    1bde:	75 e8                	jne    0x1bc8
+    1be0:	89 d3                	mov    %edx,%ebx
+    1be2:	29 f3                	sub    %esi,%ebx
+    1be4:	89 9d 44 ff ff ff    	mov    %ebx,-0xbc(%ebp)
+    1bea:	0f b7 18             	movzwl (%eax),%ebx
+    1bed:	81 e3 00 20 00 00    	and    $0x2000,%ebx
+    1bf3:	31 c9                	xor    %ecx,%ecx
+    1bf5:	85 db                	test   %ebx,%ebx
+    1bf7:	74 17                	je     0x1c10
+    1bf9:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
+    1c00:	83 c2 01             	add    $0x1,%edx
+    1c03:	0f b6 0a             	movzbl (%edx),%ecx
+    1c06:	0f be d9             	movsbl %cl,%ebx
+    1c09:	f6 44 58 01 20       	testb  $0x20,0x1(%eax,%ebx,2)
+    1c0e:	75 f0                	jne    0x1c00
+    1c10:	84 c9                	test   %cl,%cl
+    1c12:	89 d3                	mov    %edx,%ebx
+    1c14:	75 0c                	jne    0x1c22
+    1c16:	eb 14                	jmp    0x1c2c
+    1c18:	83 c3 01             	add    $0x1,%ebx
+    1c1b:	0f b6 0b             	movzbl (%ebx),%ecx
+    1c1e:	84 c9                	test   %cl,%cl
+    1c20:	74 0a                	je     0x1c2c
+    1c22:	0f be f9             	movsbl %cl,%edi
+    1c25:	f6 44 78 01 20       	testb  $0x20,0x1(%eax,%edi,2)
+    1c2a:	74 ec                	je     0x1c18
+    1c2c:	39 de                	cmp    %ebx,%esi
+    1c2e:	0f 84 ec 06 00 00    	je     0x2320
+    1c34:	84 c9                	test   %cl,%cl
+    1c36:	74 13                	je     0x1c4b
+    1c38:	c6 03 00             	movb   $0x0,(%ebx)
+    1c3b:	8b bd 48 ff ff ff    	mov    -0xb8(%ebp),%edi
+    1c41:	83 c3 01             	add    $0x1,%ebx
+    1c44:	8b 07                	mov    (%edi),%eax
+    1c46:	eb 03                	jmp    0x1c4b
+    1c48:	83 c3 01             	add    $0x1,%ebx
+    1c4b:	0f be 0b             	movsbl (%ebx),%ecx
+    1c4e:	f6 44 48 01 20       	testb  $0x20,0x1(%eax,%ecx,2)
+    1c53:	75 f3                	jne    0x1c48
+    1c55:	89 9d 48 ff ff ff    	mov    %ebx,-0xb8(%ebp)
+    1c5b:	0f b6 3b             	movzbl (%ebx),%edi
+    1c5e:	89 f9                	mov    %edi,%ecx
+    1c60:	84 c9                	test   %cl,%cl
+    1c62:	74 2e                	je     0x1c92
+    1c64:	0f be f9             	movsbl %cl,%edi
+    1c67:	f6 44 78 01 20       	testb  $0x20,0x1(%eax,%edi,2)
+    1c6c:	75 24                	jne    0x1c92
+    1c6e:	89 d9                	mov    %ebx,%ecx
+    1c70:	89 c7                	mov    %eax,%edi
+    1c72:	eb 0e                	jmp    0x1c82
+    1c74:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    1c78:	0f be c0             	movsbl %al,%eax
+    1c7b:	f6 44 47 01 20       	testb  $0x20,0x1(%edi,%eax,2)
+    1c80:	75 0a                	jne    0x1c8c
+    1c82:	83 c1 01             	add    $0x1,%ecx
+    1c85:	0f b6 01             	movzbl (%ecx),%eax
+    1c88:	84 c0                	test   %al,%al
+    1c8a:	75 ec                	jne    0x1c78
+    1c8c:	89 8d 48 ff ff ff    	mov    %ecx,-0xb8(%ebp)
+    1c92:	8b bd 48 ff ff ff    	mov    -0xb8(%ebp),%edi
+    1c98:	c6 07 00             	movb   $0x0,(%edi)
+    1c9b:	83 bd 44 ff ff ff 06 	cmpl   $0x6,-0xbc(%ebp)
+    1ca2:	0f 84 d0 05 00 00    	je     0x2278
+    1ca8:	0f 87 c2 02 00 00    	ja     0x1f70
+    1cae:	83 bd 44 ff ff ff 05 	cmpl   $0x5,-0xbc(%ebp)
+    1cb5:	0f 84 2d 06 00 00    	je     0x22e8
+    1cbb:	8b 95 40 ff ff ff    	mov    -0xc0(%ebp),%edx
+    1cc1:	8b 02                	mov    (%edx),%eax
+    1cc3:	a8 10                	test   $0x10,%al
+    1cc5:	0f 84 85 fe ff ff    	je     0x1b50
+    1ccb:	8b 45 b8             	mov    -0x48(%ebp),%eax
+    1cce:	89 04 24             	mov    %eax,(%esp)
+    1cd1:	e8 fc ff ff ff       	call   0x1cd2
+    1cd6:	8b 8d 40 ff ff ff    	mov    -0xc0(%ebp),%ecx
+    1cdc:	89 0c 24             	mov    %ecx,(%esp)
+    1cdf:	e8 fc ff ff ff       	call   0x1ce0
+    1ce4:	8b 45 c4             	mov    -0x3c(%ebp),%eax
+    1ce7:	c7 85 48 ff ff ff 00 	movl   $0x0,-0xb8(%ebp)
+    1cee:	00 00 00 
+    1cf1:	85 c0                	test   %eax,%eax
+    1cf3:	0f 85 34 06 00 00    	jne    0x232d
+    1cf9:	8b 45 bc             	mov    -0x44(%ebp),%eax
+    1cfc:	c7 85 44 ff ff ff c0 	movl   $0xc0,-0xbc(%ebp)
+    1d03:	00 00 00 
+    1d06:	85 c0                	test   %eax,%eax
+    1d08:	0f 84 c3 00 00 00    	je     0x1dd1
+    1d0e:	80 7d ce 00          	cmpb   $0x0,-0x32(%ebp)
+    1d12:	0f 84 c0 08 00 00    	je     0x25d8
+    1d18:	8d 04 40             	lea    (%eax,%eax,2),%eax
+    1d1b:	c1 e0 03             	shl    $0x3,%eax
+    1d1e:	89 04 24             	mov    %eax,(%esp)
+    1d21:	e8 fc ff ff ff       	call   0x1d22
+    1d26:	85 c0                	test   %eax,%eax
+    1d28:	89 85 40 ff ff ff    	mov    %eax,-0xc0(%ebp)
+    1d2e:	89 85 44 ff ff ff    	mov    %eax,-0xbc(%ebp)
+    1d34:	0f 84 f9 08 00 00    	je     0x2633
+    1d3a:	8b 5d bc             	mov    -0x44(%ebp),%ebx
+    1d3d:	80 7d ce 00          	cmpb   $0x0,-0x32(%ebp)
+    1d41:	89 9d 38 ff ff ff    	mov    %ebx,-0xc8(%ebp)
+    1d47:	89 da                	mov    %ebx,%edx
+    1d49:	0f 84 ba 08 00 00    	je     0x2609
+    1d4f:	8b 7d c0             	mov    -0x40(%ebp),%edi
+    1d52:	85 d2                	test   %edx,%edx
+    1d54:	8d 4a ff             	lea    -0x1(%edx),%ecx
+    1d57:	89 f8                	mov    %edi,%eax
+    1d59:	7e 46                	jle    0x1da1
+    1d5b:	8b 9d 40 ff ff ff    	mov    -0xc0(%ebp),%ebx
+    1d61:	8d 0c 49             	lea    (%ecx,%ecx,2),%ecx
+    1d64:	8d 0c cb             	lea    (%ebx,%ecx,8),%ecx
+    1d67:	31 db                	xor    %ebx,%ebx
+    1d69:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
+    1d70:	8b 30                	mov    (%eax),%esi
+    1d72:	83 c3 01             	add    $0x1,%ebx
+    1d75:	89 31                	mov    %esi,(%ecx)
+    1d77:	8b 70 04             	mov    0x4(%eax),%esi
+    1d7a:	89 71 04             	mov    %esi,0x4(%ecx)
+    1d7d:	8b 70 08             	mov    0x8(%eax),%esi
+    1d80:	89 71 08             	mov    %esi,0x8(%ecx)
+    1d83:	8b 70 0c             	mov    0xc(%eax),%esi
+    1d86:	89 71 0c             	mov    %esi,0xc(%ecx)
+    1d89:	8b 70 10             	mov    0x10(%eax),%esi
+    1d8c:	89 71 10             	mov    %esi,0x10(%ecx)
+    1d8f:	8b 70 14             	mov    0x14(%eax),%esi
+    1d92:	89 71 14             	mov    %esi,0x14(%ecx)
+    1d95:	83 e9 18             	sub    $0x18,%ecx
+    1d98:	39 d3                	cmp    %edx,%ebx
+    1d9a:	8b 40 18             	mov    0x18(%eax),%eax
+    1d9d:	75 d1                	jne    0x1d70
+    1d9f:	89 f8                	mov    %edi,%eax
+    1da1:	85 ff                	test   %edi,%edi
+    1da3:	0f 85 71 06 00 00    	jne    0x241a
+    1da9:	8b 85 38 ff ff ff    	mov    -0xc8(%ebp),%eax
+    1daf:	8b 95 40 ff ff ff    	mov    -0xc0(%ebp),%edx
+    1db5:	c7 44 24 0c d0 00 00 	movl   $0xd0,0xc(%esp)
+    1dbc:	00 
+    1dbd:	c7 44 24 08 18 00 00 	movl   $0x18,0x8(%esp)
+    1dc4:	00 
+    1dc5:	89 44 24 04          	mov    %eax,0x4(%esp)
+    1dc9:	89 14 24             	mov    %edx,(%esp)
+    1dcc:	e8 fc ff ff ff       	call   0x1dcd
+    1dd1:	8b 95 34 ff ff ff    	mov    -0xcc(%ebp),%edx
+    1dd7:	bf 40 01 00 00       	mov    $0x140,%edi
+    1ddc:	85 d2                	test   %edx,%edx
+    1dde:	0f 84 e5 00 00 00    	je     0x1ec9
+    1de4:	80 bd 33 ff ff ff 01 	cmpb   $0x1,-0xcd(%ebp)
+    1deb:	83 95 34 ff ff ff 00 	adcl   $0x0,-0xcc(%ebp)
+    1df2:	8b 8d 34 ff ff ff    	mov    -0xcc(%ebp),%ecx
+    1df8:	8d 04 49             	lea    (%ecx,%ecx,2),%eax
+    1dfb:	c1 e0 02             	shl    $0x2,%eax
+    1dfe:	89 04 24             	mov    %eax,(%esp)
+    1e01:	e8 fc ff ff ff       	call   0x1e02
+    1e06:	85 c0                	test   %eax,%eax
+    1e08:	89 c7                	mov    %eax,%edi
+    1e0a:	89 85 40 ff ff ff    	mov    %eax,-0xc0(%ebp)
+    1e10:	0f 84 21 06 00 00    	je     0x2437
+    1e16:	80 bd 33 ff ff ff 00 	cmpb   $0x0,-0xcd(%ebp)
+    1e1d:	8b b5 34 ff ff ff    	mov    -0xcc(%ebp),%esi
+    1e23:	75 20                	jne    0x1e45
+    1e25:	83 ee 01             	sub    $0x1,%esi
+    1e28:	6b c6 0c             	imul   $0xc,%esi,%eax
+    1e2b:	03 85 40 ff ff ff    	add    -0xc0(%ebp),%eax
+    1e31:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
+    1e37:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
+    1e3e:	c7 40 08 0e 00 00 00 	movl   $0xe,0x8(%eax)
+    1e45:	85 f6                	test   %esi,%esi
+    1e47:	8d 46 ff             	lea    -0x1(%esi),%eax
+    1e4a:	7e 31                	jle    0x1e7d
+    1e4c:	8b 8d 40 ff ff ff    	mov    -0xc0(%ebp),%ecx
+    1e52:	8d 04 40             	lea    (%eax,%eax,2),%eax
+    1e55:	8d 14 81             	lea    (%ecx,%eax,4),%edx
+    1e58:	8b 85 3c ff ff ff    	mov    -0xc4(%ebp),%eax
+    1e5e:	31 c9                	xor    %ecx,%ecx
+    1e60:	8b 18                	mov    (%eax),%ebx
+    1e62:	83 c1 01             	add    $0x1,%ecx
+    1e65:	89 1a                	mov    %ebx,(%edx)
+    1e67:	8b 58 04             	mov    0x4(%eax),%ebx
+    1e6a:	89 5a 04             	mov    %ebx,0x4(%edx)
+    1e6d:	8b 58 08             	mov    0x8(%eax),%ebx
+    1e70:	89 5a 08             	mov    %ebx,0x8(%edx)
+    1e73:	83 ea 0c             	sub    $0xc,%edx
+    1e76:	39 f1                	cmp    %esi,%ecx
+    1e78:	8b 40 0c             	mov    0xc(%eax),%eax
+    1e7b:	75 e3                	jne    0x1e60
+    1e7d:	8b 85 3c ff ff ff    	mov    -0xc4(%ebp),%eax
+    1e83:	85 c0                	test   %eax,%eax
+    1e85:	74 1a                	je     0x1ea1
+    1e87:	8b 85 3c ff ff ff    	mov    -0xc4(%ebp),%eax
+    1e8d:	eb 03                	jmp    0x1e92
+    1e8f:	90                   	nop
+    1e90:	89 d8                	mov    %ebx,%eax
+    1e92:	8b 58 0c             	mov    0xc(%eax),%ebx
+    1e95:	89 04 24             	mov    %eax,(%esp)
+    1e98:	e8 fc ff ff ff       	call   0x1e99
+    1e9d:	85 db                	test   %ebx,%ebx
+    1e9f:	75 ef                	jne    0x1e90
+    1ea1:	8b 9d 34 ff ff ff    	mov    -0xcc(%ebp),%ebx
+    1ea7:	8b 85 40 ff ff ff    	mov    -0xc0(%ebp),%eax
+    1ead:	c7 44 24 0c 00 01 00 	movl   $0x100,0xc(%esp)
+    1eb4:	00 
+    1eb5:	c7 44 24 08 0c 00 00 	movl   $0xc,0x8(%esp)
+    1ebc:	00 
+    1ebd:	89 5c 24 04          	mov    %ebx,0x4(%esp)
+    1ec1:	89 04 24             	mov    %eax,(%esp)
+    1ec4:	e8 fc ff ff ff       	call   0x1ec5
+    1ec9:	a1 48 00 00 00       	mov    0x48,%eax
+    1ece:	8b 95 48 ff ff ff    	mov    -0xb8(%ebp),%edx
+    1ed4:	3d 00 00 00 00       	cmp    $0x0,%eax
+    1ed9:	89 15 48 00 00 00    	mov    %edx,0x48
+    1edf:	74 08                	je     0x1ee9
+    1ee1:	89 04 24             	mov    %eax,(%esp)
+    1ee4:	e8 fc ff ff ff       	call   0x1ee5
+    1ee9:	a1 4c 00 00 00       	mov    0x4c,%eax
+    1eee:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
+    1ef4:	3d c0 00 00 00       	cmp    $0xc0,%eax
+    1ef9:	89 0d 4c 00 00 00    	mov    %ecx,0x4c
+    1eff:	74 08                	je     0x1f09
+    1f01:	89 04 24             	mov    %eax,(%esp)
+    1f04:	e8 fc ff ff ff       	call   0x1f05
+    1f09:	a1 44 00 00 00       	mov    0x44,%eax
+    1f0e:	89 3d 44 00 00 00    	mov    %edi,0x44
+    1f14:	3d 40 01 00 00       	cmp    $0x140,%eax
+    1f19:	74 08                	je     0x1f23
+    1f1b:	89 04 24             	mov    %eax,(%esp)
+    1f1e:	e8 fc ff ff ff       	call   0x1f1f
+    1f23:	8b 85 74 ff ff ff    	mov    -0x8c(%ebp),%eax
+    1f29:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
+    1f2f:	a3 58 00 00 00       	mov    %eax,0x58
+    1f34:	89 15 5c 00 00 00    	mov    %edx,0x5c
+    1f3a:	e9 97 05 00 00       	jmp    0x24d6
+    1f3f:	90                   	nop
+    1f40:	89 d7                	mov    %edx,%edi
+    1f42:	29 f7                	sub    %esi,%edi
+    1f44:	89 bd 44 ff ff ff    	mov    %edi,-0xbc(%ebp)
+    1f4a:	c6 02 00             	movb   $0x0,(%edx)
+    1f4d:	8b 8d 48 ff ff ff    	mov    -0xb8(%ebp),%ecx
+    1f53:	83 c2 01             	add    $0x1,%edx
+    1f56:	8b 01                	mov    (%ecx),%eax
+    1f58:	0f b6 0a             	movzbl (%edx),%ecx
+    1f5b:	0f be d9             	movsbl %cl,%ebx
+    1f5e:	0f b7 1c 58          	movzwl (%eax,%ebx,2),%ebx
+    1f62:	81 e3 00 20 00 00    	and    $0x2000,%ebx
+    1f68:	e9 88 fc ff ff       	jmp    0x1bf5
+    1f6d:	8d 76 00             	lea    0x0(%esi),%esi
+    1f70:	83 bd 44 ff ff ff 07 	cmpl   $0x7,-0xbc(%ebp)
+    1f77:	0f 84 6b 01 00 00    	je     0x20e8
+    1f7d:	83 bd 44 ff ff ff 0a 	cmpl   $0xa,-0xbc(%ebp)
+    1f84:	0f 85 31 fd ff ff    	jne    0x1cbb
+    1f8a:	bf df 00 00 00       	mov    $0xdf,%edi
+    1f8f:	b9 0b 00 00 00       	mov    $0xb,%ecx
+    1f94:	f3 a6                	repz cmpsb %es:(%edi),%ds:(%esi)
+    1f96:	0f 85 1f fd ff ff    	jne    0x1cbb
+    1f9c:	8d 4d ce             	lea    -0x32(%ebp),%ecx
+    1f9f:	8d 7d bc             	lea    -0x44(%ebp),%edi
+    1fa2:	8d 45 c0             	lea    -0x40(%ebp),%eax
+    1fa5:	89 8d 48 ff ff ff    	mov    %ecx,-0xb8(%ebp)
+    1fab:	89 bd 44 ff ff ff    	mov    %edi,-0xbc(%ebp)
+    1fb1:	89 85 38 ff ff ff    	mov    %eax,-0xc8(%ebp)
+    1fb7:	89 95 2c ff ff ff    	mov    %edx,-0xd4(%ebp)
+    1fbd:	e8 fc ff ff ff       	call   0x1fbe
+    1fc2:	8b 95 2c ff ff ff    	mov    -0xd4(%ebp),%edx
+    1fc8:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
+    1fce:	89 14 24             	mov    %edx,(%esp)
+    1fd1:	c7 44 24 04 2f 00 00 	movl   $0x2f,0x4(%esp)
+    1fd8:	00 
+    1fd9:	e8 fc ff ff ff       	call   0x1fda
+    1fde:	8b 95 2c ff ff ff    	mov    -0xd4(%ebp),%edx
+    1fe4:	85 c0                	test   %eax,%eax
+    1fe6:	89 c6                	mov    %eax,%esi
+    1fe8:	74 06                	je     0x1ff0
+    1fea:	c6 00 00             	movb   $0x0,(%eax)
+    1fed:	83 c6 01             	add    $0x1,%esi
+    1ff0:	8d 45 e0             	lea    -0x20(%ebp),%eax
+    1ff3:	89 44 24 08          	mov    %eax,0x8(%esp)
+    1ff7:	89 54 24 04          	mov    %edx,0x4(%esp)
+    1ffb:	c7 04 24 1c 00 00 00 	movl   $0x1c,(%esp)
+    2002:	e8 fc ff ff ff       	call   0x2003
+    2007:	85 c0                	test   %eax,%eax
+    2009:	0f 84 ac fc ff ff    	je     0x1cbb
+    200f:	85 f6                	test   %esi,%esi
+    2011:	ba 80 00 00 00       	mov    $0x80,%edx
+    2016:	74 2d                	je     0x2045
+    2018:	8d 55 b0             	lea    -0x50(%ebp),%edx
+    201b:	89 54 24 04          	mov    %edx,0x4(%esp)
+    201f:	c7 44 24 08 0a 00 00 	movl   $0xa,0x8(%esp)
+    2026:	00 
+    2027:	89 34 24             	mov    %esi,(%esp)
+    202a:	e8 fc ff ff ff       	call   0x202b
+    202f:	83 f8 ff             	cmp    $0xffffffff,%eax
+    2032:	89 c2                	mov    %eax,%edx
+    2034:	0f 84 81 fc ff ff    	je     0x1cbb
+    203a:	3d 80 00 00 00       	cmp    $0x80,%eax
+    203f:	0f 87 76 fc ff ff    	ja     0x1cbb
+    2045:	8b 45 b0             	mov    -0x50(%ebp),%eax
+    2048:	80 38 00             	cmpb   $0x0,(%eax)
+    204b:	0f 85 6a fc ff ff    	jne    0x1cbb
+    2051:	8d 4d b0             	lea    -0x50(%ebp),%ecx
+    2054:	89 1c 24             	mov    %ebx,(%esp)
+    2057:	c7 44 24 08 0a 00 00 	movl   $0xa,0x8(%esp)
+    205e:	00 
+    205f:	89 4c 24 04          	mov    %ecx,0x4(%esp)
+    2063:	89 95 2c ff ff ff    	mov    %edx,-0xd4(%ebp)
+    2069:	e8 fc ff ff ff       	call   0x206a
+    206e:	83 f8 ff             	cmp    $0xffffffff,%eax
+    2071:	89 c3                	mov    %eax,%ebx
+    2073:	0f 84 42 fc ff ff    	je     0x1cbb
+    2079:	85 c0                	test   %eax,%eax
+    207b:	0f 88 3a fc ff ff    	js     0x1cbb
+    2081:	8b 45 b0             	mov    -0x50(%ebp),%eax
+    2084:	80 38 00             	cmpb   $0x0,(%eax)
+    2087:	0f 85 2e fc ff ff    	jne    0x1cbb
+    208d:	c7 04 24 1c 00 00 00 	movl   $0x1c,(%esp)
+    2094:	e8 fc ff ff ff       	call   0x2095
+    2099:	8b 95 2c ff ff ff    	mov    -0xd4(%ebp),%edx
     209f:	85 c0                	test   %eax,%eax
-    20a1:	0f 88 3c fc ff ff    	js     0x1ce3
-    20a7:	8b 45 b0             	mov    -0x50(%ebp),%eax
-    20aa:	80 38 00             	cmpb   $0x0,(%eax)
-    20ad:	0f 85 30 fc ff ff    	jne    0x1ce3
-    20b3:	c7 04 24 1c 00 00 00 	movl   $0x1c,(%esp)
-    20ba:	e8 fc ff ff ff       	call   0x20bb
-    20bf:	8b 95 2c ff ff ff    	mov    -0xd4(%ebp),%edx
-    20c5:	85 c0                	test   %eax,%eax
-    20c7:	0f 84 d0 05 00 00    	je     0x269d
-    20cd:	8b b5 28 ff ff ff    	mov    -0xd8(%ebp),%esi
-    20d3:	89 c7                	mov    %eax,%edi
-    20d5:	b9 04 00 00 00       	mov    $0x4,%ecx
-    20da:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
-    20dc:	89 50 10             	mov    %edx,0x10(%eax)
-    20df:	89 58 14             	mov    %ebx,0x14(%eax)
-    20e2:	8b bd 38 ff ff ff    	mov    -0xc8(%ebp),%edi
-    20e8:	8b 0f                	mov    (%edi),%ecx
-    20ea:	89 48 18             	mov    %ecx,0x18(%eax)
-    20ed:	89 07                	mov    %eax,(%edi)
-    20ef:	8b 85 44 ff ff ff    	mov    -0xbc(%ebp),%eax
-    20f5:	83 00 01             	addl   $0x1,(%eax)
-    20f8:	85 d2                	test   %edx,%edx
-    20fa:	8b 95 48 ff ff ff    	mov    -0xb8(%ebp),%edx
-    2100:	0f 94 c0             	sete   %al
-    2103:	08 02                	or     %al,(%edx)
-    2105:	e9 d9 fb ff ff       	jmp    0x1ce3
-    210a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
-    2110:	8b b5 48 ff ff ff    	mov    -0xb8(%ebp),%esi
-    2116:	bf d7 00 00 00       	mov    $0xd7,%edi
-    211b:	b9 08 00 00 00       	mov    $0x8,%ecx
-    2120:	f3 a6                	repz cmpsb %es:(%edi),%ds:(%esi)
-    2122:	0f 85 bb fb ff ff    	jne    0x1ce3
-    2128:	89 95 2c ff ff ff    	mov    %edx,-0xd4(%ebp)
-    212e:	e8 fc ff ff ff       	call   0x212f
-    2133:	8b 95 2c ff ff ff    	mov    -0xd4(%ebp),%edx
-    2139:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
-    213f:	89 c7                	mov    %eax,%edi
-    2141:	89 14 24             	mov    %edx,(%esp)
-    2144:	c7 44 24 04 2f 00 00 	movl   $0x2f,0x4(%esp)
-    214b:	00 
-    214c:	e8 fc ff ff ff       	call   0x214d
-    2151:	8b 95 2c ff ff ff    	mov    -0xd4(%ebp),%edx
-    2157:	85 c0                	test   %eax,%eax
-    2159:	89 c6                	mov    %eax,%esi
-    215b:	74 06                	je     0x2163
-    215d:	c6 00 00             	movb   $0x0,(%eax)
-    2160:	83 c6 01             	add    $0x1,%esi
-    2163:	8d 4d d0             	lea    -0x30(%ebp),%ecx
-    2166:	89 54 24 04          	mov    %edx,0x4(%esp)
-    216a:	89 95 2c ff ff ff    	mov    %edx,-0xd4(%ebp)
-    2170:	89 4c 24 08          	mov    %ecx,0x8(%esp)
-    2174:	c7 04 24 1c 00 00 00 	movl   $0x1c,(%esp)
-    217b:	e8 fc ff ff ff       	call   0x217c
-    2180:	8b 95 2c ff ff ff    	mov    -0xd4(%ebp),%edx
-    2186:	85 c0                	test   %eax,%eax
-    2188:	0f 84 aa 03 00 00    	je     0x2538
-    218e:	8b 45 d0             	mov    -0x30(%ebp),%eax
-    2191:	85 c0                	test   %eax,%eax
-    2193:	0f 85 4a fb ff ff    	jne    0x1ce3
-    2199:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
-    219c:	85 c9                	test   %ecx,%ecx
-    219e:	0f 85 3f fb ff ff    	jne    0x1ce3
-    21a4:	81 7d d8 00 00 ff ff 	cmpl   $0xffff0000,-0x28(%ebp)
-    21ab:	0f 85 32 fb ff ff    	jne    0x1ce3
-    21b1:	85 f6                	test   %esi,%esi
-    21b3:	ba 80 00 00 00       	mov    $0x80,%edx
-    21b8:	74 2b                	je     0x21e5
-    21ba:	8d 45 b0             	lea    -0x50(%ebp),%eax
-    21bd:	c7 44 24 08 0a 00 00 	movl   $0xa,0x8(%esp)
-    21c4:	00 
-    21c5:	89 44 24 04          	mov    %eax,0x4(%esp)
-    21c9:	89 34 24             	mov    %esi,(%esp)
-    21cc:	e8 fc ff ff ff       	call   0x21cd
-    21d1:	83 f8 ff             	cmp    $0xffffffff,%eax
-    21d4:	89 c2                	mov    %eax,%edx
-    21d6:	0f 84 a2 04 00 00    	je     0x267e
-    21dc:	83 f8 5f             	cmp    $0x5f,%eax
-    21df:	0f 86 fe fa ff ff    	jbe    0x1ce3
-    21e5:	8b 45 b0             	mov    -0x50(%ebp),%eax
-    21e8:	80 38 00             	cmpb   $0x0,(%eax)
-    21eb:	0f 85 f2 fa ff ff    	jne    0x1ce3
-    21f1:	81 fa 80 00 00 00    	cmp    $0x80,%edx
-    21f7:	0f 87 e6 fa ff ff    	ja     0x1ce3
-    21fd:	8d 4d b0             	lea    -0x50(%ebp),%ecx
-    2200:	89 1c 24             	mov    %ebx,(%esp)
-    2203:	89 95 2c ff ff ff    	mov    %edx,-0xd4(%ebp)
-    2209:	c7 44 24 08 0a 00 00 	movl   $0xa,0x8(%esp)
-    2210:	00 
-    2211:	89 4c 24 04          	mov    %ecx,0x4(%esp)
-    2215:	e8 fc ff ff ff       	call   0x2216
-    221a:	8b 95 2c ff ff ff    	mov    -0xd4(%ebp),%edx
-    2220:	83 f8 ff             	cmp    $0xffffffff,%eax
-    2223:	89 c3                	mov    %eax,%ebx
-    2225:	0f 84 b8 fa ff ff    	je     0x1ce3
-    222b:	85 c0                	test   %eax,%eax
-    222d:	0f 88 b0 fa ff ff    	js     0x1ce3
-    2233:	8b 45 b0             	mov    -0x50(%ebp),%eax
-    2236:	80 38 00             	cmpb   $0x0,(%eax)
-    2239:	0f 85 a4 fa ff ff    	jne    0x1ce3
-    223f:	89 95 2c ff ff ff    	mov    %edx,-0xd4(%ebp)
-    2245:	c7 04 24 10 00 00 00 	movl   $0x10,(%esp)
-    224c:	e8 fc ff ff ff       	call   0x224d
-    2251:	8b 95 2c ff ff ff    	mov    -0xd4(%ebp),%edx
-    2257:	85 c0                	test   %eax,%eax
-    2259:	0f 84 3e 04 00 00    	je     0x269d
-    225f:	31 f6                	xor    %esi,%esi
-    2261:	83 fa 60             	cmp    $0x60,%edx
-    2264:	74 0c                	je     0x2272
-    2266:	b9 80 00 00 00       	mov    $0x80,%ecx
-    226b:	83 ce ff             	or     $0xffffffff,%esi
-    226e:	29 d1                	sub    %edx,%ecx
-    2270:	d3 e6                	shl    %cl,%esi
-    2272:	0f ce                	bswap  %esi
-    2274:	89 70 04             	mov    %esi,0x4(%eax)
-    2277:	23 75 dc             	and    -0x24(%ebp),%esi
-    227a:	89 58 08             	mov    %ebx,0x8(%eax)
-    227d:	89 30                	mov    %esi,(%eax)
-    227f:	8b bd 3c ff ff ff    	mov    -0xc4(%ebp),%edi
-    2285:	83 85 34 ff ff ff 01 	addl   $0x1,-0xcc(%ebp)
-    228c:	83 fa 60             	cmp    $0x60,%edx
-    228f:	0f 94 c2             	sete   %dl
-    2292:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
-    2298:	89 78 0c             	mov    %edi,0xc(%eax)
-    229b:	08 95 33 ff ff ff    	or     %dl,-0xcd(%ebp)
-    22a1:	e9 3d fa ff ff       	jmp    0x1ce3
-    22a6:	66 90                	xchg   %ax,%ax
-    22a8:	8b b5 48 ff ff ff    	mov    -0xb8(%ebp),%esi
-    22ae:	bf cc 00 00 00       	mov    $0xcc,%edi
-    22b3:	b9 07 00 00 00       	mov    $0x7,%ecx
-    22b8:	f3 a6                	repz cmpsb %es:(%edi),%ds:(%esi)
-    22ba:	0f 85 23 fa ff ff    	jne    0x1ce3
-    22c0:	0f b6 0a             	movzbl (%edx),%ecx
-    22c3:	0f b6 05 d3 00 00 00 	movzbl 0xd3,%eax
-    22ca:	29 c1                	sub    %eax,%ecx
-    22cc:	75 2d                	jne    0x22fb
-    22ce:	0f b6 42 01          	movzbl 0x1(%edx),%eax
-    22d2:	0f b6 1d 01 00 00 00 	movzbl 0x1,%ebx
-    22d9:	89 c1                	mov    %eax,%ecx
-    22db:	29 d9                	sub    %ebx,%ecx
-    22dd:	75 1c                	jne    0x22fb
-    22df:	0f b6 4a 02          	movzbl 0x2(%edx),%ecx
-    22e3:	0f b6 05 02 00 00 00 	movzbl 0x2,%eax
-    22ea:	29 c1                	sub    %eax,%ecx
-    22ec:	75 0d                	jne    0x22fb
-    22ee:	0f b6 4a 03          	movzbl 0x3(%edx),%ecx
-    22f2:	0f b6 05 03 00 00 00 	movzbl 0x3,%eax
-    22f9:	29 c1                	sub    %eax,%ecx
-    22fb:	31 c0                	xor    %eax,%eax
-    22fd:	85 c9                	test   %ecx,%ecx
-    22ff:	0f 94 c0             	sete   %al
-    2302:	85 c0                	test   %eax,%eax
-    2304:	a3 50 00 00 00       	mov    %eax,0x50
-    2309:	0f 84 d4 f9 ff ff    	je     0x1ce3
-    230f:	c7 05 54 00 00 00 01 	movl   $0x1,0x54
-    2316:	00 00 00 
-    2319:	e9 c5 f9 ff ff       	jmp    0x1ce3
-    231e:	8b b5 48 ff ff ff    	mov    -0xb8(%ebp),%esi
-    2324:	bf c6 00 00 00       	mov    $0xc6,%edi
-    2329:	b9 06 00 00 00       	mov    $0x6,%ecx
-    232e:	f3 a6                	repz cmpsb %es:(%edi),%ds:(%esi)
-    2330:	0f 85 ad f9 ff ff    	jne    0x1ce3
-    2336:	8d 45 cf             	lea    -0x31(%ebp),%eax
-    2339:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
-    233c:	8d 7d c8             	lea    -0x38(%ebp),%edi
-    233f:	89 85 48 ff ff ff    	mov    %eax,-0xb8(%ebp)
-    2345:	89 8d 44 ff ff ff    	mov    %ecx,-0xbc(%ebp)
-    234b:	89 bd 38 ff ff ff    	mov    %edi,-0xc8(%ebp)
-    2351:	e9 87 fc ff ff       	jmp    0x1fdd
-    2356:	66 90                	xchg   %ax,%ax
-    2358:	8b bd 40 ff ff ff    	mov    -0xc0(%ebp),%edi
-    235e:	8b 07                	mov    (%edi),%eax
-    2360:	e9 e1 f7 ff ff       	jmp    0x1b46
-    2365:	80 7d cf 00          	cmpb   $0x0,-0x31(%ebp)
-    2369:	0f 84 86 02 00 00    	je     0x25f5
-    236f:	8d 04 40             	lea    (%eax,%eax,2),%eax
-    2372:	c1 e0 03             	shl    $0x3,%eax
-    2375:	89 04 24             	mov    %eax,(%esp)
-    2378:	e8 fc ff ff ff       	call   0x2379
-    237d:	85 c0                	test   %eax,%eax
-    237f:	89 85 44 ff ff ff    	mov    %eax,-0xbc(%ebp)
-    2385:	89 85 48 ff ff ff    	mov    %eax,-0xb8(%ebp)
-    238b:	0f 84 12 01 00 00    	je     0x24a3
-    2391:	8b 5d c4             	mov    -0x3c(%ebp),%ebx
-    2394:	80 7d cf 00          	cmpb   $0x0,-0x31(%ebp)
-    2398:	89 9d 40 ff ff ff    	mov    %ebx,-0xc0(%ebp)
-    239e:	89 da                	mov    %ebx,%edx
-    23a0:	0f 84 65 02 00 00    	je     0x260b
-    23a6:	8b 7d c8             	mov    -0x38(%ebp),%edi
-    23a9:	85 d2                	test   %edx,%edx
-    23ab:	8d 4a ff             	lea    -0x1(%edx),%ecx
-    23ae:	89 f8                	mov    %edi,%eax
-    23b0:	7e 3f                	jle    0x23f1
-    23b2:	8b 9d 44 ff ff ff    	mov    -0xbc(%ebp),%ebx
-    23b8:	8d 0c 49             	lea    (%ecx,%ecx,2),%ecx
-    23bb:	8d 0c cb             	lea    (%ebx,%ecx,8),%ecx
-    23be:	31 db                	xor    %ebx,%ebx
-    23c0:	8b 30                	mov    (%eax),%esi
-    23c2:	83 c3 01             	add    $0x1,%ebx
-    23c5:	89 31                	mov    %esi,(%ecx)
-    23c7:	8b 70 04             	mov    0x4(%eax),%esi
-    23ca:	89 71 04             	mov    %esi,0x4(%ecx)
-    23cd:	8b 70 08             	mov    0x8(%eax),%esi
-    23d0:	89 71 08             	mov    %esi,0x8(%ecx)
-    23d3:	8b 70 0c             	mov    0xc(%eax),%esi
-    23d6:	89 71 0c             	mov    %esi,0xc(%ecx)
-    23d9:	8b 70 10             	mov    0x10(%eax),%esi
-    23dc:	89 71 10             	mov    %esi,0x10(%ecx)
-    23df:	8b 70 14             	mov    0x14(%eax),%esi
-    23e2:	89 71 14             	mov    %esi,0x14(%ecx)
-    23e5:	83 e9 18             	sub    $0x18,%ecx
-    23e8:	39 d3                	cmp    %edx,%ebx
-    23ea:	8b 40 18             	mov    0x18(%eax),%eax
-    23ed:	75 d1                	jne    0x23c0
-    23ef:	89 f8                	mov    %edi,%eax
-    23f1:	85 ff                	test   %edi,%edi
-    23f3:	74 2d                	je     0x2422
-    23f5:	8b 58 18             	mov    0x18(%eax),%ebx
-    23f8:	89 04 24             	mov    %eax,(%esp)
-    23fb:	e8 fc ff ff ff       	call   0x23fc
-    2400:	85 db                	test   %ebx,%ebx
-    2402:	74 15                	je     0x2419
-    2404:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    2408:	89 d8                	mov    %ebx,%eax
-    240a:	8b 58 18             	mov    0x18(%eax),%ebx
-    240d:	89 04 24             	mov    %eax,(%esp)
-    2410:	e8 fc ff ff ff       	call   0x2411
-    2415:	85 db                	test   %ebx,%ebx
-    2417:	75 ef                	jne    0x2408
-    2419:	8b 7d c4             	mov    -0x3c(%ebp),%edi
-    241c:	89 bd 40 ff ff ff    	mov    %edi,-0xc0(%ebp)
-    2422:	8b 85 40 ff ff ff    	mov    -0xc0(%ebp),%eax
-    2428:	8b 95 44 ff ff ff    	mov    -0xbc(%ebp),%edx
-    242e:	c7 44 24 0c d0 00 00 	movl   $0xd0,0xc(%esp)
-    2435:	00 
-    2436:	c7 44 24 08 18 00 00 	movl   $0x18,0x8(%esp)
-    243d:	00 
-    243e:	89 44 24 04          	mov    %eax,0x4(%esp)
-    2442:	89 14 24             	mov    %edx,(%esp)
-    2445:	e8 fc ff ff ff       	call   0x2446
-    244a:	e9 d2 f8 ff ff       	jmp    0x1d21
-    244f:	90                   	nop
-    2450:	89 d8                	mov    %ebx,%eax
-    2452:	8b 58 18             	mov    0x18(%eax),%ebx
-    2455:	89 04 24             	mov    %eax,(%esp)
-    2458:	e8 fc ff ff ff       	call   0x2459
-    245d:	85 db                	test   %ebx,%ebx
-    245f:	75 ef                	jne    0x2450
-    2461:	8b 7d bc             	mov    -0x44(%ebp),%edi
-    2464:	89 bd 38 ff ff ff    	mov    %edi,-0xc8(%ebp)
-    246a:	e9 62 f9 ff ff       	jmp    0x1dd1
-    246f:	81 bd 48 ff ff ff 00 	cmpl   $0x0,-0xb8(%ebp)
-    2476:	00 00 00 
-    2479:	74 0e                	je     0x2489
-    247b:	8b 9d 48 ff ff ff    	mov    -0xb8(%ebp),%ebx
-    2481:	89 1c 24             	mov    %ebx,(%esp)
-    2484:	e8 fc ff ff ff       	call   0x2485
-    2489:	81 bd 44 ff ff ff c0 	cmpl   $0xc0,-0xbc(%ebp)
-    2490:	00 00 00 
-    2493:	74 0e                	je     0x24a3
-    2495:	8b bd 44 ff ff ff    	mov    -0xbc(%ebp),%edi
-    249b:	89 3c 24             	mov    %edi,(%esp)
-    249e:	e8 fc ff ff ff       	call   0x249f
-    24a3:	8b 45 c8             	mov    -0x38(%ebp),%eax
-    24a6:	85 c0                	test   %eax,%eax
-    24a8:	75 08                	jne    0x24b2
-    24aa:	eb 15                	jmp    0x24c1
-    24ac:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    24b0:	89 d8                	mov    %ebx,%eax
-    24b2:	8b 58 18             	mov    0x18(%eax),%ebx
-    24b5:	89 04 24             	mov    %eax,(%esp)
-    24b8:	e8 fc ff ff ff       	call   0x24b9
-    24bd:	85 db                	test   %ebx,%ebx
-    24bf:	75 ef                	jne    0x24b0
-    24c1:	8b 45 c0             	mov    -0x40(%ebp),%eax
-    24c4:	85 c0                	test   %eax,%eax
-    24c6:	75 0a                	jne    0x24d2
-    24c8:	eb 17                	jmp    0x24e1
-    24ca:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
-    24d0:	89 d8                	mov    %ebx,%eax
-    24d2:	8b 58 18             	mov    0x18(%eax),%ebx
-    24d5:	89 04 24             	mov    %eax,(%esp)
-    24d8:	e8 fc ff ff ff       	call   0x24d9
-    24dd:	85 db                	test   %ebx,%ebx
-    24df:	75 ef                	jne    0x24d0
-    24e1:	8b bd 3c ff ff ff    	mov    -0xc4(%ebp),%edi
-    24e7:	85 ff                	test   %edi,%edi
-    24e9:	74 1e                	je     0x2509
-    24eb:	8b 85 3c ff ff ff    	mov    -0xc4(%ebp),%eax
-    24f1:	eb 07                	jmp    0x24fa
-    24f3:	90                   	nop
-    24f4:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    24f8:	89 d8                	mov    %ebx,%eax
-    24fa:	8b 58 0c             	mov    0xc(%eax),%ebx
-    24fd:	89 04 24             	mov    %eax,(%esp)
-    2500:	e8 fc ff ff ff       	call   0x2501
-    2505:	85 db                	test   %ebx,%ebx
-    2507:	75 ef                	jne    0x24f8
-    2509:	e8 fc ff ff ff       	call   0x250a
-    250e:	8b 5d f0             	mov    -0x10(%ebp),%ebx
-    2511:	65 33 1d 14 00 00 00 	xor    %gs:0x14,%ebx
-    2518:	0f 85 77 01 00 00    	jne    0x2695
-    251e:	81 c4 dc 00 00 00    	add    $0xdc,%esp
-    2524:	5b                   	pop    %ebx
-    2525:	5e                   	pop    %esi
-    2526:	5f                   	pop    %edi
-    2527:	5d                   	pop    %ebp
-    2528:	c3                   	ret    
-    2529:	c7 85 3c ff ff ff 00 	movl   $0x0,-0xc4(%ebp)
-    2530:	00 00 00 
-    2533:	e9 6b ff ff ff       	jmp    0x24a3
-    2538:	8d 45 dc             	lea    -0x24(%ebp),%eax
-    253b:	89 44 24 08          	mov    %eax,0x8(%esp)
-    253f:	89 54 24 04          	mov    %edx,0x4(%esp)
-    2543:	c7 04 24 02 00 00 00 	movl   $0x2,(%esp)
-    254a:	e8 fc ff ff ff       	call   0x254b
-    254f:	85 c0                	test   %eax,%eax
-    2551:	0f 84 8c f7 ff ff    	je     0x1ce3
-    2557:	85 f6                	test   %esi,%esi
-    2559:	bf 20 00 00 00       	mov    $0x20,%edi
-    255e:	74 2b                	je     0x258b
-    2560:	8d 45 b0             	lea    -0x50(%ebp),%eax
-    2563:	c7 44 24 08 0a 00 00 	movl   $0xa,0x8(%esp)
-    256a:	00 
-    256b:	89 44 24 04          	mov    %eax,0x4(%esp)
-    256f:	89 34 24             	mov    %esi,(%esp)
-    2572:	e8 fc ff ff ff       	call   0x2573
-    2577:	83 f8 ff             	cmp    $0xffffffff,%eax
-    257a:	89 c7                	mov    %eax,%edi
-    257c:	0f 84 61 f7 ff ff    	je     0x1ce3
-    2582:	83 f8 20             	cmp    $0x20,%eax
-    2585:	0f 87 58 f7 ff ff    	ja     0x1ce3
-    258b:	8b 45 b0             	mov    -0x50(%ebp),%eax
-    258e:	80 38 00             	cmpb   $0x0,(%eax)
-    2591:	0f 85 4c f7 ff ff    	jne    0x1ce3
-    2597:	8d 55 b0             	lea    -0x50(%ebp),%edx
-    259a:	89 1c 24             	mov    %ebx,(%esp)
-    259d:	c7 44 24 08 0a 00 00 	movl   $0xa,0x8(%esp)
-    25a4:	00 
-    25a5:	89 54 24 04          	mov    %edx,0x4(%esp)
-    25a9:	e8 fc ff ff ff       	call   0x25aa
-    25ae:	83 f8 ff             	cmp    $0xffffffff,%eax
-    25b1:	89 c3                	mov    %eax,%ebx
-    25b3:	0f 84 2a f7 ff ff    	je     0x1ce3
-    25b9:	85 c0                	test   %eax,%eax
-    25bb:	0f 88 22 f7 ff ff    	js     0x1ce3
-    25c1:	8b 45 b0             	mov    -0x50(%ebp),%eax
-    25c4:	8d 57 60             	lea    0x60(%edi),%edx
-    25c7:	80 38 00             	cmpb   $0x0,(%eax)
-    25ca:	0f 84 6f fc ff ff    	je     0x223f
-    25d0:	e9 0e f7 ff ff       	jmp    0x1ce3
-    25d5:	8d 76 00             	lea    0x0(%esi),%esi
-    25d8:	8b 95 40 ff ff ff    	mov    -0xc0(%ebp),%edx
-    25de:	89 14 24             	mov    %edx,(%esp)
-    25e1:	e8 fc ff ff ff       	call   0x25e2
-    25e6:	c7 85 3c ff ff ff 00 	movl   $0x0,-0xc4(%ebp)
-    25ed:	00 00 00 
-    25f0:	e9 ae fe ff ff       	jmp    0x24a3
-    25f5:	83 c0 01             	add    $0x1,%eax
-    25f8:	89 45 c4             	mov    %eax,-0x3c(%ebp)
-    25fb:	e9 6f fd ff ff       	jmp    0x236f
-    2600:	83 c0 01             	add    $0x1,%eax
-    2603:	89 45 bc             	mov    %eax,-0x44(%ebp)
-    2606:	e9 35 f7 ff ff       	jmp    0x1d40
-    260b:	83 ea 01             	sub    $0x1,%edx
-    260e:	b9 04 00 00 00       	mov    $0x4,%ecx
-    2613:	6b da 18             	imul   $0x18,%edx,%ebx
-    2616:	01 c3                	add    %eax,%ebx
-    2618:	31 c0                	xor    %eax,%eax
-    261a:	89 df                	mov    %ebx,%edi
-    261c:	f3 ab                	rep stos %eax,%es:(%edi)
-    261e:	c7 43 10 00 00 00 00 	movl   $0x0,0x10(%ebx)
-    2625:	c7 43 14 01 00 00 00 	movl   $0x1,0x14(%ebx)
-    262c:	e9 75 fd ff ff       	jmp    0x23a6
-    2631:	83 ea 01             	sub    $0x1,%edx
-    2634:	b9 04 00 00 00       	mov    $0x4,%ecx
-    2639:	6b da 18             	imul   $0x18,%edx,%ebx
-    263c:	31 c0                	xor    %eax,%eax
-    263e:	03 9d 40 ff ff ff    	add    -0xc0(%ebp),%ebx
-    2644:	89 df                	mov    %ebx,%edi
-    2646:	f3 ab                	rep stos %eax,%es:(%edi)
-    2648:	c7 43 10 00 00 00 00 	movl   $0x0,0x10(%ebx)
-    264f:	c7 43 14 28 00 00 00 	movl   $0x28,0x14(%ebx)
-    2656:	e9 1c f7 ff ff       	jmp    0x1d77
-    265b:	81 bd 48 ff ff ff 00 	cmpl   $0x0,-0xb8(%ebp)
-    2662:	00 00 00 
-    2665:	0f 84 38 fe ff ff    	je     0x24a3
-    266b:	8b 8d 48 ff ff ff    	mov    -0xb8(%ebp),%ecx
-    2671:	89 0c 24             	mov    %ecx,(%esp)
-    2674:	e8 fc ff ff ff       	call   0x2675
-    2679:	e9 25 fe ff ff       	jmp    0x24a3
-    267e:	83 3f 22             	cmpl   $0x22,(%edi)
-    2681:	0f 85 5e fb ff ff    	jne    0x21e5
-    2687:	89 f6                	mov    %esi,%esi
-    2689:	8d bc 27 00 00 00 00 	lea    0x0(%edi,%eiz,1),%edi
-    2690:	e9 4e f6 ff ff       	jmp    0x1ce3
-    2695:	8d 76 00             	lea    0x0(%esi),%esi
-    2698:	e8 fc ff ff ff       	call   0x2699
-    269d:	8b 45 b8             	mov    -0x48(%ebp),%eax
-    26a0:	89 04 24             	mov    %eax,(%esp)
-    26a3:	e8 fc ff ff ff       	call   0x26a4
-    26a8:	8b 9d 40 ff ff ff    	mov    -0xc0(%ebp),%ebx
-    26ae:	89 1c 24             	mov    %ebx,(%esp)
-    26b1:	e8 fc ff ff ff       	call   0x26b2
-    26b6:	e9 e8 fd ff ff       	jmp    0x24a3
-    26bb:	90                   	nop
-    26bc:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    26c0:	55                   	push   %ebp
-    26c1:	89 e5                	mov    %esp,%ebp
-    26c3:	81 ec 34 01 00 00    	sub    $0x134,%esp
-    26c9:	8b 45 08             	mov    0x8(%ebp),%eax
-    26cc:	65 8b 0d 14 00 00 00 	mov    %gs:0x14,%ecx
-    26d3:	89 4d f0             	mov    %ecx,-0x10(%ebp)
-    26d6:	31 c9                	xor    %ecx,%ecx
-    26d8:	8b 55 14             	mov    0x14(%ebp),%edx
-    26db:	89 5d f4             	mov    %ebx,-0xc(%ebp)
-    26de:	8b 5d 0c             	mov    0xc(%ebp),%ebx
-    26e1:	89 75 f8             	mov    %esi,-0x8(%ebp)
-    26e4:	8b 75 10             	mov    0x10(%ebp),%esi
-    26e7:	89 85 14 ff ff ff    	mov    %eax,-0xec(%ebp)
-    26ed:	8b 8d 14 ff ff ff    	mov    -0xec(%ebp),%ecx
-    26f3:	b8 01 00 00 00       	mov    $0x1,%eax
-    26f8:	89 7d fc             	mov    %edi,-0x4(%ebp)
-    26fb:	89 95 10 ff ff ff    	mov    %edx,-0xf0(%ebp)
-    2701:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
-    2708:	85 c9                	test   %ecx,%ecx
-    270a:	74 0d                	je     0x2719
-    270c:	8b bd 14 ff ff ff    	mov    -0xec(%ebp),%edi
-    2712:	80 3f 2a             	cmpb   $0x2a,(%edi)
-    2715:	74 29                	je     0x2740
-    2717:	31 c0                	xor    %eax,%eax
-    2719:	85 db                	test   %ebx,%ebx
-    271b:	74 3b                	je     0x2758
-    271d:	80 3b 2a             	cmpb   $0x2a,(%ebx)
-    2720:	74 66                	je     0x2788
-    2722:	85 f6                	test   %esi,%esi
-    2724:	ba 80 01 00 00       	mov    $0x180,%edx
-    2729:	0f 44 f2             	cmove  %edx,%esi
-    272c:	8b 16                	mov    (%esi),%edx
-    272e:	f7 c2 00 f8 ff ff    	test   $0xfffff800,%edx
-    2734:	74 5a                	je     0x2790
-    2736:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
-    273b:	eb 28                	jmp    0x2765
-    273d:	8d 76 00             	lea    0x0(%esi),%esi
-    2740:	80 7f 01 00          	cmpb   $0x0,0x1(%edi)
-    2744:	75 d1                	jne    0x2717
-    2746:	85 db                	test   %ebx,%ebx
-    2748:	c7 85 14 ff ff ff 00 	movl   $0x0,-0xec(%ebp)
-    274f:	00 00 00 
-    2752:	75 c9                	jne    0x271d
-    2754:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    2758:	84 c0                	test   %al,%al
-    275a:	0f 84 33 08 00 00    	je     0x2f93
-    2760:	b8 fe ff ff ff       	mov    $0xfffffffe,%eax
-    2765:	8b 4d f0             	mov    -0x10(%ebp),%ecx
-    2768:	65 33 0d 14 00 00 00 	xor    %gs:0x14,%ecx
-    276f:	0f 85 3a 04 00 00    	jne    0x2baf
-    2775:	8b 5d f4             	mov    -0xc(%ebp),%ebx
-    2778:	8b 75 f8             	mov    -0x8(%ebp),%esi
-    277b:	8b 7d fc             	mov    -0x4(%ebp),%edi
-    277e:	89 ec                	mov    %ebp,%esp
-    2780:	5d                   	pop    %ebp
-    2781:	c3                   	ret    
-    2782:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
-    2788:	80 7b 01 00          	cmpb   $0x0,0x1(%ebx)
-    278c:	75 94                	jne    0x2722
-    278e:	eb c8                	jmp    0x2758
-    2790:	84 c0                	test   %al,%al
-    2792:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
-    2798:	74 08                	je     0x27a2
-    279a:	83 e2 02             	and    $0x2,%edx
-    279d:	8d 76 00             	lea    0x0(%esi),%esi
-    27a0:	75 94                	jne    0x2736
-    27a2:	8d 45 d0             	lea    -0x30(%ebp),%eax
-    27a5:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
-    27ac:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
-    27b3:	c6 45 df 00          	movb   $0x0,-0x21(%ebp)
-    27b7:	c6 45 de 00          	movb   $0x0,-0x22(%ebp)
-    27bb:	89 44 24 0c          	mov    %eax,0xc(%esp)
-    27bf:	8d 45 d4             	lea    -0x2c(%ebp),%eax
-    27c2:	89 44 24 08          	mov    %eax,0x8(%esp)
-    27c6:	8d 45 de             	lea    -0x22(%ebp),%eax
-    27c9:	89 44 24 04          	mov    %eax,0x4(%esp)
-    27cd:	8d 45 df             	lea    -0x21(%ebp),%eax
-    27d0:	89 04 24             	mov    %eax,(%esp)
-    27d3:	e8 fc ff ff ff       	call   0x27d4
-    27d8:	f6 06 20             	testb  $0x20,(%esi)
-    27db:	74 1e                	je     0x27fb
+    20a1:	0f 84 c6 05 00 00    	je     0x266d
+    20a7:	8b b5 28 ff ff ff    	mov    -0xd8(%ebp),%esi
+    20ad:	89 c7                	mov    %eax,%edi
+    20af:	b9 04 00 00 00       	mov    $0x4,%ecx
+    20b4:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
+    20b6:	89 50 10             	mov    %edx,0x10(%eax)
+    20b9:	89 58 14             	mov    %ebx,0x14(%eax)
+    20bc:	8b bd 38 ff ff ff    	mov    -0xc8(%ebp),%edi
+    20c2:	8b 0f                	mov    (%edi),%ecx
+    20c4:	89 48 18             	mov    %ecx,0x18(%eax)
+    20c7:	89 07                	mov    %eax,(%edi)
+    20c9:	8b 85 44 ff ff ff    	mov    -0xbc(%ebp),%eax
+    20cf:	83 00 01             	addl   $0x1,(%eax)
+    20d2:	85 d2                	test   %edx,%edx
+    20d4:	8b 95 48 ff ff ff    	mov    -0xb8(%ebp),%edx
+    20da:	0f 94 c0             	sete   %al
+    20dd:	08 02                	or     %al,(%edx)
+    20df:	e9 d7 fb ff ff       	jmp    0x1cbb
+    20e4:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    20e8:	bf d7 00 00 00       	mov    $0xd7,%edi
+    20ed:	b9 08 00 00 00       	mov    $0x8,%ecx
+    20f2:	f3 a6                	repz cmpsb %es:(%edi),%ds:(%esi)
+    20f4:	0f 85 c1 fb ff ff    	jne    0x1cbb
+    20fa:	89 95 2c ff ff ff    	mov    %edx,-0xd4(%ebp)
+    2100:	e8 fc ff ff ff       	call   0x2101
+    2105:	8b 95 2c ff ff ff    	mov    -0xd4(%ebp),%edx
+    210b:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
+    2111:	89 c7                	mov    %eax,%edi
+    2113:	89 14 24             	mov    %edx,(%esp)
+    2116:	c7 44 24 04 2f 00 00 	movl   $0x2f,0x4(%esp)
+    211d:	00 
+    211e:	e8 fc ff ff ff       	call   0x211f
+    2123:	8b 95 2c ff ff ff    	mov    -0xd4(%ebp),%edx
+    2129:	85 c0                	test   %eax,%eax
+    212b:	89 c6                	mov    %eax,%esi
+    212d:	74 06                	je     0x2135
+    212f:	c6 00 00             	movb   $0x0,(%eax)
+    2132:	83 c6 01             	add    $0x1,%esi
+    2135:	8d 4d d0             	lea    -0x30(%ebp),%ecx
+    2138:	89 54 24 04          	mov    %edx,0x4(%esp)
+    213c:	89 95 2c ff ff ff    	mov    %edx,-0xd4(%ebp)
+    2142:	89 4c 24 08          	mov    %ecx,0x8(%esp)
+    2146:	c7 04 24 1c 00 00 00 	movl   $0x1c,(%esp)
+    214d:	e8 fc ff ff ff       	call   0x214e
+    2152:	8b 95 2c ff ff ff    	mov    -0xd4(%ebp),%edx
+    2158:	85 c0                	test   %eax,%eax
+    215a:	0f 84 b3 03 00 00    	je     0x2513
+    2160:	8b 45 d0             	mov    -0x30(%ebp),%eax
+    2163:	85 c0                	test   %eax,%eax
+    2165:	0f 85 50 fb ff ff    	jne    0x1cbb
+    216b:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
+    216e:	85 c9                	test   %ecx,%ecx
+    2170:	0f 85 45 fb ff ff    	jne    0x1cbb
+    2176:	81 7d d8 00 00 ff ff 	cmpl   $0xffff0000,-0x28(%ebp)
+    217d:	0f 85 38 fb ff ff    	jne    0x1cbb
+    2183:	85 f6                	test   %esi,%esi
+    2185:	ba 80 00 00 00       	mov    $0x80,%edx
+    218a:	74 2b                	je     0x21b7
+    218c:	8d 45 b0             	lea    -0x50(%ebp),%eax
+    218f:	c7 44 24 08 0a 00 00 	movl   $0xa,0x8(%esp)
+    2196:	00 
+    2197:	89 44 24 04          	mov    %eax,0x4(%esp)
+    219b:	89 34 24             	mov    %esi,(%esp)
+    219e:	e8 fc ff ff ff       	call   0x219f
+    21a3:	83 f8 ff             	cmp    $0xffffffff,%eax
+    21a6:	89 c2                	mov    %eax,%edx
+    21a8:	0f 84 a8 04 00 00    	je     0x2656
+    21ae:	83 f8 5f             	cmp    $0x5f,%eax
+    21b1:	0f 86 04 fb ff ff    	jbe    0x1cbb
+    21b7:	8b 45 b0             	mov    -0x50(%ebp),%eax
+    21ba:	80 38 00             	cmpb   $0x0,(%eax)
+    21bd:	0f 85 f8 fa ff ff    	jne    0x1cbb
+    21c3:	81 fa 80 00 00 00    	cmp    $0x80,%edx
+    21c9:	0f 87 ec fa ff ff    	ja     0x1cbb
+    21cf:	8d 4d b0             	lea    -0x50(%ebp),%ecx
+    21d2:	89 1c 24             	mov    %ebx,(%esp)
+    21d5:	89 95 2c ff ff ff    	mov    %edx,-0xd4(%ebp)
+    21db:	c7 44 24 08 0a 00 00 	movl   $0xa,0x8(%esp)
+    21e2:	00 
+    21e3:	89 4c 24 04          	mov    %ecx,0x4(%esp)
+    21e7:	e8 fc ff ff ff       	call   0x21e8
+    21ec:	8b 95 2c ff ff ff    	mov    -0xd4(%ebp),%edx
+    21f2:	83 f8 ff             	cmp    $0xffffffff,%eax
+    21f5:	89 c3                	mov    %eax,%ebx
+    21f7:	0f 84 be fa ff ff    	je     0x1cbb
+    21fd:	85 c0                	test   %eax,%eax
+    21ff:	0f 88 b6 fa ff ff    	js     0x1cbb
+    2205:	8b 45 b0             	mov    -0x50(%ebp),%eax
+    2208:	80 38 00             	cmpb   $0x0,(%eax)
+    220b:	0f 85 aa fa ff ff    	jne    0x1cbb
+    2211:	89 95 2c ff ff ff    	mov    %edx,-0xd4(%ebp)
+    2217:	c7 04 24 10 00 00 00 	movl   $0x10,(%esp)
+    221e:	e8 fc ff ff ff       	call   0x221f
+    2223:	8b 95 2c ff ff ff    	mov    -0xd4(%ebp),%edx
+    2229:	85 c0                	test   %eax,%eax
+    222b:	0f 84 3c 04 00 00    	je     0x266d
+    2231:	31 f6                	xor    %esi,%esi
+    2233:	83 fa 60             	cmp    $0x60,%edx
+    2236:	74 0c                	je     0x2244
+    2238:	b9 80 00 00 00       	mov    $0x80,%ecx
+    223d:	83 ce ff             	or     $0xffffffff,%esi
+    2240:	29 d1                	sub    %edx,%ecx
+    2242:	d3 e6                	shl    %cl,%esi
+    2244:	0f ce                	bswap  %esi
+    2246:	89 70 04             	mov    %esi,0x4(%eax)
+    2249:	23 75 dc             	and    -0x24(%ebp),%esi
+    224c:	89 58 08             	mov    %ebx,0x8(%eax)
+    224f:	89 30                	mov    %esi,(%eax)
+    2251:	8b bd 3c ff ff ff    	mov    -0xc4(%ebp),%edi
+    2257:	83 85 34 ff ff ff 01 	addl   $0x1,-0xcc(%ebp)
+    225e:	83 fa 60             	cmp    $0x60,%edx
+    2261:	0f 94 c2             	sete   %dl
+    2264:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
+    226a:	89 78 0c             	mov    %edi,0xc(%eax)
+    226d:	08 95 33 ff ff ff    	or     %dl,-0xcd(%ebp)
+    2273:	e9 43 fa ff ff       	jmp    0x1cbb
+    2278:	bf cc 00 00 00       	mov    $0xcc,%edi
+    227d:	b9 07 00 00 00       	mov    $0x7,%ecx
+    2282:	f3 a6                	repz cmpsb %es:(%edi),%ds:(%esi)
+    2284:	0f 85 31 fa ff ff    	jne    0x1cbb
+    228a:	0f b6 0a             	movzbl (%edx),%ecx
+    228d:	0f b6 05 d3 00 00 00 	movzbl 0xd3,%eax
+    2294:	29 c1                	sub    %eax,%ecx
+    2296:	75 2d                	jne    0x22c5
+    2298:	0f b6 42 01          	movzbl 0x1(%edx),%eax
+    229c:	0f b6 1d 01 00 00 00 	movzbl 0x1,%ebx
+    22a3:	89 c1                	mov    %eax,%ecx
+    22a5:	29 d9                	sub    %ebx,%ecx
+    22a7:	75 1c                	jne    0x22c5
+    22a9:	0f b6 4a 02          	movzbl 0x2(%edx),%ecx
+    22ad:	0f b6 05 02 00 00 00 	movzbl 0x2,%eax
+    22b4:	29 c1                	sub    %eax,%ecx
+    22b6:	75 0d                	jne    0x22c5
+    22b8:	0f b6 4a 03          	movzbl 0x3(%edx),%ecx
+    22bc:	0f b6 05 03 00 00 00 	movzbl 0x3,%eax
+    22c3:	29 c1                	sub    %eax,%ecx
+    22c5:	31 c0                	xor    %eax,%eax
+    22c7:	85 c9                	test   %ecx,%ecx
+    22c9:	0f 94 c0             	sete   %al
+    22cc:	85 c0                	test   %eax,%eax
+    22ce:	a3 50 00 00 00       	mov    %eax,0x50
+    22d3:	0f 84 e2 f9 ff ff    	je     0x1cbb
+    22d9:	c7 05 54 00 00 00 01 	movl   $0x1,0x54
+    22e0:	00 00 00 
+    22e3:	e9 d3 f9 ff ff       	jmp    0x1cbb
+    22e8:	bf c6 00 00 00       	mov    $0xc6,%edi
+    22ed:	b9 06 00 00 00       	mov    $0x6,%ecx
+    22f2:	f3 a6                	repz cmpsb %es:(%edi),%ds:(%esi)
+    22f4:	0f 85 c1 f9 ff ff    	jne    0x1cbb
+    22fa:	8d 45 cf             	lea    -0x31(%ebp),%eax
+    22fd:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
+    2300:	8d 7d c8             	lea    -0x38(%ebp),%edi
+    2303:	89 85 48 ff ff ff    	mov    %eax,-0xb8(%ebp)
+    2309:	89 8d 44 ff ff ff    	mov    %ecx,-0xbc(%ebp)
+    230f:	89 bd 38 ff ff ff    	mov    %edi,-0xc8(%ebp)
+    2315:	e9 9d fc ff ff       	jmp    0x1fb7
+    231a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
+    2320:	8b 9d 40 ff ff ff    	mov    -0xc0(%ebp),%ebx
+    2326:	8b 03                	mov    (%ebx),%eax
+    2328:	e9 19 f8 ff ff       	jmp    0x1b46
+    232d:	80 7d cf 00          	cmpb   $0x0,-0x31(%ebp)
+    2331:	0f 84 96 02 00 00    	je     0x25cd
+    2337:	8d 04 40             	lea    (%eax,%eax,2),%eax
+    233a:	c1 e0 03             	shl    $0x3,%eax
+    233d:	89 04 24             	mov    %eax,(%esp)
+    2340:	e8 fc ff ff ff       	call   0x2341
+    2345:	85 c0                	test   %eax,%eax
+    2347:	89 85 44 ff ff ff    	mov    %eax,-0xbc(%ebp)
+    234d:	89 85 48 ff ff ff    	mov    %eax,-0xb8(%ebp)
+    2353:	0f 84 12 01 00 00    	je     0x246b
+    2359:	8b 5d c4             	mov    -0x3c(%ebp),%ebx
+    235c:	80 7d cf 00          	cmpb   $0x0,-0x31(%ebp)
+    2360:	89 9d 40 ff ff ff    	mov    %ebx,-0xc0(%ebp)
+    2366:	89 da                	mov    %ebx,%edx
+    2368:	0f 84 75 02 00 00    	je     0x25e3
+    236e:	8b 7d c8             	mov    -0x38(%ebp),%edi
+    2371:	85 d2                	test   %edx,%edx
+    2373:	8d 4a ff             	lea    -0x1(%edx),%ecx
+    2376:	89 f8                	mov    %edi,%eax
+    2378:	7e 3f                	jle    0x23b9
+    237a:	8b 9d 44 ff ff ff    	mov    -0xbc(%ebp),%ebx
+    2380:	8d 0c 49             	lea    (%ecx,%ecx,2),%ecx
+    2383:	8d 0c cb             	lea    (%ebx,%ecx,8),%ecx
+    2386:	31 db                	xor    %ebx,%ebx
+    2388:	8b 30                	mov    (%eax),%esi
+    238a:	83 c3 01             	add    $0x1,%ebx
+    238d:	89 31                	mov    %esi,(%ecx)
+    238f:	8b 70 04             	mov    0x4(%eax),%esi
+    2392:	89 71 04             	mov    %esi,0x4(%ecx)
+    2395:	8b 70 08             	mov    0x8(%eax),%esi
+    2398:	89 71 08             	mov    %esi,0x8(%ecx)
+    239b:	8b 70 0c             	mov    0xc(%eax),%esi
+    239e:	89 71 0c             	mov    %esi,0xc(%ecx)
+    23a1:	8b 70 10             	mov    0x10(%eax),%esi
+    23a4:	89 71 10             	mov    %esi,0x10(%ecx)
+    23a7:	8b 70 14             	mov    0x14(%eax),%esi
+    23aa:	89 71 14             	mov    %esi,0x14(%ecx)
+    23ad:	83 e9 18             	sub    $0x18,%ecx
+    23b0:	39 d3                	cmp    %edx,%ebx
+    23b2:	8b 40 18             	mov    0x18(%eax),%eax
+    23b5:	75 d1                	jne    0x2388
+    23b7:	89 f8                	mov    %edi,%eax
+    23b9:	85 ff                	test   %edi,%edi
+    23bb:	74 2d                	je     0x23ea
+    23bd:	8b 58 18             	mov    0x18(%eax),%ebx
+    23c0:	89 04 24             	mov    %eax,(%esp)
+    23c3:	e8 fc ff ff ff       	call   0x23c4
+    23c8:	85 db                	test   %ebx,%ebx
+    23ca:	74 15                	je     0x23e1
+    23cc:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    23d0:	89 d8                	mov    %ebx,%eax
+    23d2:	8b 58 18             	mov    0x18(%eax),%ebx
+    23d5:	89 04 24             	mov    %eax,(%esp)
+    23d8:	e8 fc ff ff ff       	call   0x23d9
+    23dd:	85 db                	test   %ebx,%ebx
+    23df:	75 ef                	jne    0x23d0
+    23e1:	8b 7d c4             	mov    -0x3c(%ebp),%edi
+    23e4:	89 bd 40 ff ff ff    	mov    %edi,-0xc0(%ebp)
+    23ea:	8b 85 40 ff ff ff    	mov    -0xc0(%ebp),%eax
+    23f0:	8b 95 44 ff ff ff    	mov    -0xbc(%ebp),%edx
+    23f6:	c7 44 24 0c d0 00 00 	movl   $0xd0,0xc(%esp)
+    23fd:	00 
+    23fe:	c7 44 24 08 18 00 00 	movl   $0x18,0x8(%esp)
+    2405:	00 
+    2406:	89 44 24 04          	mov    %eax,0x4(%esp)
+    240a:	89 14 24             	mov    %edx,(%esp)
+    240d:	e8 fc ff ff ff       	call   0x240e
+    2412:	e9 e2 f8 ff ff       	jmp    0x1cf9
+    2417:	90                   	nop
+    2418:	89 d8                	mov    %ebx,%eax
+    241a:	8b 58 18             	mov    0x18(%eax),%ebx
+    241d:	89 04 24             	mov    %eax,(%esp)
+    2420:	e8 fc ff ff ff       	call   0x2421
+    2425:	85 db                	test   %ebx,%ebx
+    2427:	75 ef                	jne    0x2418
+    2429:	8b 7d bc             	mov    -0x44(%ebp),%edi
+    242c:	89 bd 38 ff ff ff    	mov    %edi,-0xc8(%ebp)
+    2432:	e9 72 f9 ff ff       	jmp    0x1da9
+    2437:	81 bd 48 ff ff ff 00 	cmpl   $0x0,-0xb8(%ebp)
+    243e:	00 00 00 
+    2441:	74 0e                	je     0x2451
+    2443:	8b 9d 48 ff ff ff    	mov    -0xb8(%ebp),%ebx
+    2449:	89 1c 24             	mov    %ebx,(%esp)
+    244c:	e8 fc ff ff ff       	call   0x244d
+    2451:	81 bd 44 ff ff ff c0 	cmpl   $0xc0,-0xbc(%ebp)
+    2458:	00 00 00 
+    245b:	74 0e                	je     0x246b
+    245d:	8b bd 44 ff ff ff    	mov    -0xbc(%ebp),%edi
+    2463:	89 3c 24             	mov    %edi,(%esp)
+    2466:	e8 fc ff ff ff       	call   0x2467
+    246b:	8b 45 c8             	mov    -0x38(%ebp),%eax
+    246e:	85 c0                	test   %eax,%eax
+    2470:	75 08                	jne    0x247a
+    2472:	eb 15                	jmp    0x2489
+    2474:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    2478:	89 d8                	mov    %ebx,%eax
+    247a:	8b 58 18             	mov    0x18(%eax),%ebx
+    247d:	89 04 24             	mov    %eax,(%esp)
+    2480:	e8 fc ff ff ff       	call   0x2481
+    2485:	85 db                	test   %ebx,%ebx
+    2487:	75 ef                	jne    0x2478
+    2489:	8b 45 c0             	mov    -0x40(%ebp),%eax
+    248c:	85 c0                	test   %eax,%eax
+    248e:	75 0a                	jne    0x249a
+    2490:	eb 17                	jmp    0x24a9
+    2492:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
+    2498:	89 d8                	mov    %ebx,%eax
+    249a:	8b 58 18             	mov    0x18(%eax),%ebx
+    249d:	89 04 24             	mov    %eax,(%esp)
+    24a0:	e8 fc ff ff ff       	call   0x24a1
+    24a5:	85 db                	test   %ebx,%ebx
+    24a7:	75 ef                	jne    0x2498
+    24a9:	8b bd 3c ff ff ff    	mov    -0xc4(%ebp),%edi
+    24af:	85 ff                	test   %edi,%edi
+    24b1:	74 1e                	je     0x24d1
+    24b3:	8b 85 3c ff ff ff    	mov    -0xc4(%ebp),%eax
+    24b9:	eb 07                	jmp    0x24c2
+    24bb:	90                   	nop
+    24bc:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    24c0:	89 d8                	mov    %ebx,%eax
+    24c2:	8b 58 0c             	mov    0xc(%eax),%ebx
+    24c5:	89 04 24             	mov    %eax,(%esp)
+    24c8:	e8 fc ff ff ff       	call   0x24c9
+    24cd:	85 db                	test   %ebx,%ebx
+    24cf:	75 ef                	jne    0x24c0
+    24d1:	e8 fc ff ff ff       	call   0x24d2
+    24d6:	8b 5d f0             	mov    -0x10(%ebp),%ebx
+    24d9:	65 33 1d 14 00 00 00 	xor    %gs:0x14,%ebx
+    24e0:	0f 85 7f 01 00 00    	jne    0x2665
+    24e6:	81 c4 dc 00 00 00    	add    $0xdc,%esp
+    24ec:	5b                   	pop    %ebx
+    24ed:	5e                   	pop    %esi
+    24ee:	5f                   	pop    %edi
+    24ef:	5d                   	pop    %ebp
+    24f0:	c3                   	ret    
+    24f1:	89 f2                	mov    %esi,%edx
+    24f3:	31 db                	xor    %ebx,%ebx
+    24f5:	c7 85 44 ff ff ff 00 	movl   $0x0,-0xbc(%ebp)
+    24fc:	00 00 00 
+    24ff:	e9 ef f6 ff ff       	jmp    0x1bf3
+    2504:	c7 85 3c ff ff ff 00 	movl   $0x0,-0xc4(%ebp)
+    250b:	00 00 00 
+    250e:	e9 58 ff ff ff       	jmp    0x246b
+    2513:	8d 45 dc             	lea    -0x24(%ebp),%eax
+    2516:	89 44 24 08          	mov    %eax,0x8(%esp)
+    251a:	89 54 24 04          	mov    %edx,0x4(%esp)
+    251e:	c7 04 24 02 00 00 00 	movl   $0x2,(%esp)
+    2525:	e8 fc ff ff ff       	call   0x2526
+    252a:	85 c0                	test   %eax,%eax
+    252c:	0f 84 89 f7 ff ff    	je     0x1cbb
+    2532:	85 f6                	test   %esi,%esi
+    2534:	bf 20 00 00 00       	mov    $0x20,%edi
+    2539:	74 2b                	je     0x2566
+    253b:	8d 45 b0             	lea    -0x50(%ebp),%eax
+    253e:	c7 44 24 08 0a 00 00 	movl   $0xa,0x8(%esp)
+    2545:	00 
+    2546:	89 44 24 04          	mov    %eax,0x4(%esp)
+    254a:	89 34 24             	mov    %esi,(%esp)
+    254d:	e8 fc ff ff ff       	call   0x254e
+    2552:	83 f8 ff             	cmp    $0xffffffff,%eax
+    2555:	89 c7                	mov    %eax,%edi
+    2557:	0f 84 5e f7 ff ff    	je     0x1cbb
+    255d:	83 f8 20             	cmp    $0x20,%eax
+    2560:	0f 87 55 f7 ff ff    	ja     0x1cbb
+    2566:	8b 45 b0             	mov    -0x50(%ebp),%eax
+    2569:	80 38 00             	cmpb   $0x0,(%eax)
+    256c:	0f 85 49 f7 ff ff    	jne    0x1cbb
+    2572:	8d 55 b0             	lea    -0x50(%ebp),%edx
+    2575:	89 1c 24             	mov    %ebx,(%esp)
+    2578:	c7 44 24 08 0a 00 00 	movl   $0xa,0x8(%esp)
+    257f:	00 
+    2580:	89 54 24 04          	mov    %edx,0x4(%esp)
+    2584:	e8 fc ff ff ff       	call   0x2585
+    2589:	83 f8 ff             	cmp    $0xffffffff,%eax
+    258c:	89 c3                	mov    %eax,%ebx
+    258e:	0f 84 27 f7 ff ff    	je     0x1cbb
+    2594:	85 c0                	test   %eax,%eax
+    2596:	0f 88 1f f7 ff ff    	js     0x1cbb
+    259c:	8b 45 b0             	mov    -0x50(%ebp),%eax
+    259f:	8d 57 60             	lea    0x60(%edi),%edx
+    25a2:	80 38 00             	cmpb   $0x0,(%eax)
+    25a5:	0f 84 66 fc ff ff    	je     0x2211
+    25ab:	e9 0b f7 ff ff       	jmp    0x1cbb
+    25b0:	8b 95 40 ff ff ff    	mov    -0xc0(%ebp),%edx
+    25b6:	89 14 24             	mov    %edx,(%esp)
+    25b9:	e8 fc ff ff ff       	call   0x25ba
+    25be:	c7 85 3c ff ff ff 00 	movl   $0x0,-0xc4(%ebp)
+    25c5:	00 00 00 
+    25c8:	e9 9e fe ff ff       	jmp    0x246b
+    25cd:	83 c0 01             	add    $0x1,%eax
+    25d0:	89 45 c4             	mov    %eax,-0x3c(%ebp)
+    25d3:	e9 5f fd ff ff       	jmp    0x2337
+    25d8:	83 c0 01             	add    $0x1,%eax
+    25db:	89 45 bc             	mov    %eax,-0x44(%ebp)
+    25de:	e9 35 f7 ff ff       	jmp    0x1d18
+    25e3:	83 ea 01             	sub    $0x1,%edx
+    25e6:	b9 04 00 00 00       	mov    $0x4,%ecx
+    25eb:	6b da 18             	imul   $0x18,%edx,%ebx
+    25ee:	01 c3                	add    %eax,%ebx
+    25f0:	31 c0                	xor    %eax,%eax
+    25f2:	89 df                	mov    %ebx,%edi
+    25f4:	f3 ab                	rep stos %eax,%es:(%edi)
+    25f6:	c7 43 10 00 00 00 00 	movl   $0x0,0x10(%ebx)
+    25fd:	c7 43 14 01 00 00 00 	movl   $0x1,0x14(%ebx)
+    2604:	e9 65 fd ff ff       	jmp    0x236e
+    2609:	83 ea 01             	sub    $0x1,%edx
+    260c:	b9 04 00 00 00       	mov    $0x4,%ecx
+    2611:	6b da 18             	imul   $0x18,%edx,%ebx
+    2614:	31 c0                	xor    %eax,%eax
+    2616:	03 9d 40 ff ff ff    	add    -0xc0(%ebp),%ebx
+    261c:	89 df                	mov    %ebx,%edi
+    261e:	f3 ab                	rep stos %eax,%es:(%edi)
+    2620:	c7 43 10 00 00 00 00 	movl   $0x0,0x10(%ebx)
+    2627:	c7 43 14 28 00 00 00 	movl   $0x28,0x14(%ebx)
+    262e:	e9 1c f7 ff ff       	jmp    0x1d4f
+    2633:	81 bd 48 ff ff ff 00 	cmpl   $0x0,-0xb8(%ebp)
+    263a:	00 00 00 
+    263d:	0f 84 28 fe ff ff    	je     0x246b
+    2643:	8b 8d 48 ff ff ff    	mov    -0xb8(%ebp),%ecx
+    2649:	89 0c 24             	mov    %ecx,(%esp)
+    264c:	e8 fc ff ff ff       	call   0x264d
+    2651:	e9 15 fe ff ff       	jmp    0x246b
+    2656:	83 3f 22             	cmpl   $0x22,(%edi)
+    2659:	0f 85 58 fb ff ff    	jne    0x21b7
+    265f:	90                   	nop
+    2660:	e9 56 f6 ff ff       	jmp    0x1cbb
+    2665:	8d 76 00             	lea    0x0(%esi),%esi
+    2668:	e8 fc ff ff ff       	call   0x2669
+    266d:	8b 45 b8             	mov    -0x48(%ebp),%eax
+    2670:	89 04 24             	mov    %eax,(%esp)
+    2673:	e8 fc ff ff ff       	call   0x2674
+    2678:	8b 9d 40 ff ff ff    	mov    -0xc0(%ebp),%ebx
+    267e:	89 1c 24             	mov    %ebx,(%esp)
+    2681:	e8 fc ff ff ff       	call   0x2682
+    2686:	e9 e0 fd ff ff       	jmp    0x246b
+    268b:	90                   	nop
+    268c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    2690:	55                   	push   %ebp
+    2691:	89 e5                	mov    %esp,%ebp
+    2693:	81 ec 34 01 00 00    	sub    $0x134,%esp
+    2699:	8b 45 08             	mov    0x8(%ebp),%eax
+    269c:	65 8b 0d 14 00 00 00 	mov    %gs:0x14,%ecx
+    26a3:	89 4d f0             	mov    %ecx,-0x10(%ebp)
+    26a6:	31 c9                	xor    %ecx,%ecx
+    26a8:	8b 55 14             	mov    0x14(%ebp),%edx
+    26ab:	89 5d f4             	mov    %ebx,-0xc(%ebp)
+    26ae:	8b 5d 0c             	mov    0xc(%ebp),%ebx
+    26b1:	89 75 f8             	mov    %esi,-0x8(%ebp)
+    26b4:	8b 75 10             	mov    0x10(%ebp),%esi
+    26b7:	89 85 14 ff ff ff    	mov    %eax,-0xec(%ebp)
+    26bd:	8b 8d 14 ff ff ff    	mov    -0xec(%ebp),%ecx
+    26c3:	b8 01 00 00 00       	mov    $0x1,%eax
+    26c8:	89 7d fc             	mov    %edi,-0x4(%ebp)
+    26cb:	89 95 10 ff ff ff    	mov    %edx,-0xf0(%ebp)
+    26d1:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
+    26d8:	85 c9                	test   %ecx,%ecx
+    26da:	74 0d                	je     0x26e9
+    26dc:	8b bd 14 ff ff ff    	mov    -0xec(%ebp),%edi
+    26e2:	80 3f 2a             	cmpb   $0x2a,(%edi)
+    26e5:	74 29                	je     0x2710
+    26e7:	31 c0                	xor    %eax,%eax
+    26e9:	85 db                	test   %ebx,%ebx
+    26eb:	74 3b                	je     0x2728
+    26ed:	80 3b 2a             	cmpb   $0x2a,(%ebx)
+    26f0:	74 66                	je     0x2758
+    26f2:	85 f6                	test   %esi,%esi
+    26f4:	ba 80 01 00 00       	mov    $0x180,%edx
+    26f9:	0f 44 f2             	cmove  %edx,%esi
+    26fc:	8b 16                	mov    (%esi),%edx
+    26fe:	f7 c2 00 f8 ff ff    	test   $0xfffff800,%edx
+    2704:	74 5a                	je     0x2760
+    2706:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
+    270b:	eb 28                	jmp    0x2735
+    270d:	8d 76 00             	lea    0x0(%esi),%esi
+    2710:	80 7f 01 00          	cmpb   $0x0,0x1(%edi)
+    2714:	75 d1                	jne    0x26e7
+    2716:	85 db                	test   %ebx,%ebx
+    2718:	c7 85 14 ff ff ff 00 	movl   $0x0,-0xec(%ebp)
+    271f:	00 00 00 
+    2722:	75 c9                	jne    0x26ed
+    2724:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    2728:	84 c0                	test   %al,%al
+    272a:	0f 84 33 08 00 00    	je     0x2f63
+    2730:	b8 fe ff ff ff       	mov    $0xfffffffe,%eax
+    2735:	8b 4d f0             	mov    -0x10(%ebp),%ecx
+    2738:	65 33 0d 14 00 00 00 	xor    %gs:0x14,%ecx
+    273f:	0f 85 3a 04 00 00    	jne    0x2b7f
+    2745:	8b 5d f4             	mov    -0xc(%ebp),%ebx
+    2748:	8b 75 f8             	mov    -0x8(%ebp),%esi
+    274b:	8b 7d fc             	mov    -0x4(%ebp),%edi
+    274e:	89 ec                	mov    %ebp,%esp
+    2750:	5d                   	pop    %ebp
+    2751:	c3                   	ret    
+    2752:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
+    2758:	80 7b 01 00          	cmpb   $0x0,0x1(%ebx)
+    275c:	75 94                	jne    0x26f2
+    275e:	eb c8                	jmp    0x2728
+    2760:	84 c0                	test   %al,%al
+    2762:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
+    2768:	74 08                	je     0x2772
+    276a:	83 e2 02             	and    $0x2,%edx
+    276d:	8d 76 00             	lea    0x0(%esi),%esi
+    2770:	75 94                	jne    0x2706
+    2772:	8d 45 d0             	lea    -0x30(%ebp),%eax
+    2775:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
+    277c:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
+    2783:	c6 45 df 00          	movb   $0x0,-0x21(%ebp)
+    2787:	c6 45 de 00          	movb   $0x0,-0x22(%ebp)
+    278b:	89 44 24 0c          	mov    %eax,0xc(%esp)
+    278f:	8d 45 d4             	lea    -0x2c(%ebp),%eax
+    2792:	89 44 24 08          	mov    %eax,0x8(%esp)
+    2796:	8d 45 de             	lea    -0x22(%ebp),%eax
+    2799:	89 44 24 04          	mov    %eax,0x4(%esp)
+    279d:	8d 45 df             	lea    -0x21(%ebp),%eax
+    27a0:	89 04 24             	mov    %eax,(%esp)
+    27a3:	e8 fc ff ff ff       	call   0x27a4
+    27a8:	f6 06 20             	testb  $0x20,(%esi)
+    27ab:	74 1e                	je     0x27cb
+    27ad:	8b 46 04             	mov    0x4(%esi),%eax
+    27b0:	85 c0                	test   %eax,%eax
+    27b2:	0f 84 fd 05 00 00    	je     0x2db5
+    27b8:	83 f8 02             	cmp    $0x2,%eax
+    27bb:	0f 85 7a 07 00 00    	jne    0x2f3b
+    27c1:	80 7d df 00          	cmpb   $0x0,-0x21(%ebp)
+    27c5:	0f 84 83 07 00 00    	je     0x2f4e
+    27cb:	85 db                	test   %ebx,%ebx
+    27cd:	8d 76 00             	lea    0x0(%esi),%esi
+    27d0:	74 09                	je     0x27db
+    27d2:	80 3b 00             	cmpb   $0x0,(%ebx)
+    27d5:	0f 85 65 03 00 00    	jne    0x2b40
+    27db:	31 d2                	xor    %edx,%edx
     27dd:	8b 46 04             	mov    0x4(%esi),%eax
-    27e0:	85 c0                	test   %eax,%eax
-    27e2:	0f 84 fd 05 00 00    	je     0x2de5
-    27e8:	83 f8 02             	cmp    $0x2,%eax
-    27eb:	0f 85 7a 07 00 00    	jne    0x2f6b
-    27f1:	80 7d df 00          	cmpb   $0x0,-0x21(%ebp)
-    27f5:	0f 84 83 07 00 00    	je     0x2f7e
-    27fb:	85 db                	test   %ebx,%ebx
-    27fd:	8d 76 00             	lea    0x0(%esi),%esi
-    2800:	74 09                	je     0x280b
-    2802:	80 3b 00             	cmpb   $0x0,(%ebx)
-    2805:	0f 85 65 03 00 00    	jne    0x2b70
-    280b:	31 d2                	xor    %edx,%edx
-    280d:	8b 46 04             	mov    0x4(%esi),%eax
-    2810:	c7 45 c8 00 00 00 00 	movl   $0x0,-0x38(%ebp)
-    2817:	83 f8 02             	cmp    $0x2,%eax
-    281a:	74 0d                	je     0x2829
-    281c:	85 c0                	test   %eax,%eax
-    281e:	74 09                	je     0x2829
-    2820:	83 f8 1c             	cmp    $0x1c,%eax
-    2823:	0f 85 70 06 00 00    	jne    0x2e99
-    2829:	8d 45 c8             	lea    -0x38(%ebp),%eax
-    282c:	89 f1                	mov    %esi,%ecx
-    282e:	89 44 24 04          	mov    %eax,0x4(%esp)
-    2832:	8d 45 d8             	lea    -0x28(%ebp),%eax
-    2835:	89 04 24             	mov    %eax,(%esp)
-    2838:	8b 85 14 ff ff ff    	mov    -0xec(%ebp),%eax
-    283e:	e8 cd dc ff ff       	call   0x510
-    2843:	85 c0                	test   %eax,%eax
-    2845:	89 c3                	mov    %eax,%ebx
-    2847:	0f 85 d7 05 00 00    	jne    0x2e24
-    284d:	8b 45 d8             	mov    -0x28(%ebp),%eax
-    2850:	c7 85 00 ff ff ff 00 	movl   $0x0,-0x100(%ebp)
-    2857:	00 00 00 
-    285a:	85 c0                	test   %eax,%eax
-    285c:	74 16                	je     0x2874
-    285e:	8b 95 00 ff ff ff    	mov    -0x100(%ebp),%edx
-    2864:	8b 40 1c             	mov    0x1c(%eax),%eax
-    2867:	83 c2 01             	add    $0x1,%edx
-    286a:	85 c0                	test   %eax,%eax
-    286c:	75 f6                	jne    0x2864
-    286e:	89 95 00 ff ff ff    	mov    %edx,-0x100(%ebp)
-    2874:	83 7d c8 01          	cmpl   $0x1,-0x38(%ebp)
-    2878:	0f 86 42 05 00 00    	jbe    0x2dc0
-    287e:	a1 30 00 00 00       	mov    0x30,%eax
-    2883:	89 a5 ec fe ff ff    	mov    %esp,-0x114(%ebp)
-    2889:	89 85 f0 fe ff ff    	mov    %eax,-0x110(%ebp)
-    288f:	b8 00 00 00 00       	mov    $0x0,%eax
-    2894:	85 c0                	test   %eax,%eax
-    2896:	0f 84 12 06 00 00    	je     0x2eae
-    289c:	c7 44 24 04 80 1a 00 	movl   $0x1a80,0x4(%esp)
-    28a3:	00 
-    28a4:	c7 04 24 30 00 00 00 	movl   $0x30,(%esp)
-    28ab:	e8 fc ff ff ff       	call   0x28ac
-    28b0:	6b 85 00 ff ff ff 2c 	imul   $0x2c,-0x100(%ebp),%eax
-    28b7:	8b 8d 00 ff ff ff    	mov    -0x100(%ebp),%ecx
-    28bd:	83 c0 10             	add    $0x10,%eax
-    28c0:	29 c4                	sub    %eax,%esp
-    28c2:	8d 04 8d 10 00 00 00 	lea    0x10(,%ecx,4),%eax
-    28c9:	8d 54 24 23          	lea    0x23(%esp),%edx
-    28cd:	29 c4                	sub    %eax,%esp
-    28cf:	8b 45 d4             	mov    -0x2c(%ebp),%eax
-    28d2:	8d 74 24 23          	lea    0x23(%esp),%esi
-    28d6:	83 e2 f0             	and    $0xfffffff0,%edx
-    28d9:	83 e6 f0             	and    $0xfffffff0,%esi
-    28dc:	89 95 08 ff ff ff    	mov    %edx,-0xf8(%ebp)
-    28e2:	85 c0                	test   %eax,%eax
-    28e4:	89 b5 fc fe ff ff    	mov    %esi,-0x104(%ebp)
-    28ea:	74 1f                	je     0x290b
-    28ec:	c7 44 24 0c f0 03 00 	movl   $0x3f0,0xc(%esp)
-    28f3:	00 
-    28f4:	c7 44 24 08 18 00 00 	movl   $0x18,0x8(%esp)
-    28fb:	00 
-    28fc:	8b 55 d0             	mov    -0x30(%ebp),%edx
-    28ff:	89 04 24             	mov    %eax,(%esp)
-    2902:	89 54 24 04          	mov    %edx,0x4(%esp)
-    2906:	e8 fc ff ff ff       	call   0x2907
-    290b:	8b 7d d8             	mov    -0x28(%ebp),%edi
-    290e:	31 f6                	xor    %esi,%esi
-    2910:	85 ff                	test   %edi,%edi
-    2912:	89 bd 14 ff ff ff    	mov    %edi,-0xec(%ebp)
-    2918:	0f 84 03 04 00 00    	je     0x2d21
-    291e:	8d 55 a4             	lea    -0x5c(%ebp),%edx
-    2921:	8b 9d 08 ff ff ff    	mov    -0xf8(%ebp),%ebx
-    2927:	31 c0                	xor    %eax,%eax
-    2929:	c7 85 f8 fe ff ff 00 	movl   $0x0,-0x108(%ebp)
-    2930:	00 00 00 
-    2933:	c7 85 04 ff ff ff ff 	movl   $0xffffffff,-0xfc(%ebp)
-    293a:	ff ff ff 
-    293d:	c7 85 f4 fe ff ff 00 	movl   $0x0,-0x10c(%ebp)
-    2944:	00 00 00 
-    2947:	c7 85 0c ff ff ff 00 	movl   $0x0,-0xf4(%ebp)
-    294e:	00 00 00 
-    2951:	89 95 e0 fe ff ff    	mov    %edx,-0x120(%ebp)
-    2957:	e9 1f 01 00 00       	jmp    0x2a7b
-    295c:	c6 43 22 00          	movb   $0x0,0x22(%ebx)
-    2960:	c6 43 23 00          	movb   $0x0,0x23(%ebx)
-    2964:	83 bd 04 ff ff ff ff 	cmpl   $0xffffffff,-0xfc(%ebp)
-    296b:	c6 43 21 00          	movb   $0x0,0x21(%ebx)
-    296f:	c7 43 24 ff ff ff ff 	movl   $0xffffffff,0x24(%ebx)
-    2976:	0f 84 b2 01 00 00    	je     0x2b2e
-    297c:	83 bd f8 fe ff ff 02 	cmpl   $0x2,-0x108(%ebp)
-    2983:	75 10                	jne    0x2995
-    2985:	8b bd 14 ff ff ff    	mov    -0xec(%ebp),%edi
-    298b:	83 7f 04 1c          	cmpl   $0x1c,0x4(%edi)
-    298f:	0f 84 88 01 00 00    	je     0x2b1d
-    2995:	8d 75 e0             	lea    -0x20(%ebp),%esi
-    2998:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
-    299f:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
-    29a6:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
-    29ad:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
-    29b4:	c7 44 24 08 10 00 00 	movl   $0x10,0x8(%esp)
-    29bb:	00 
-    29bc:	89 74 24 04          	mov    %esi,0x4(%esp)
-    29c0:	8b bd 04 ff ff ff    	mov    -0xfc(%ebp),%edi
-    29c6:	89 3c 24             	mov    %edi,(%esp)
-    29c9:	e8 fc ff ff ff       	call   0x29ca
-    29ce:	c7 45 c4 1c 00 00 00 	movl   $0x1c,-0x3c(%ebp)
-    29d5:	8b 85 14 ff ff ff    	mov    -0xec(%ebp),%eax
-    29db:	8b 50 10             	mov    0x10(%eax),%edx
-    29de:	8b 40 14             	mov    0x14(%eax),%eax
-    29e1:	89 54 24 08          	mov    %edx,0x8(%esp)
-    29e5:	89 44 24 04          	mov    %eax,0x4(%esp)
-    29e9:	8b b5 04 ff ff ff    	mov    -0xfc(%ebp),%esi
-    29ef:	89 34 24             	mov    %esi,(%esp)
-    29f2:	e8 fc ff ff ff       	call   0x29f3
-    29f7:	85 c0                	test   %eax,%eax
-    29f9:	0f 84 c0 01 00 00    	je     0x2bbf
-    29ff:	e8 fc ff ff ff       	call   0x2a00
-    2a04:	83 38 2f             	cmpl   $0x2f,(%eax)
-    2a07:	75 19                	jne    0x2a22
-    2a09:	83 bd f8 fe ff ff 1c 	cmpl   $0x1c,-0x108(%ebp)
-    2a10:	75 10                	jne    0x2a22
-    2a12:	8b bd 14 ff ff ff    	mov    -0xec(%ebp),%edi
-    2a18:	83 7f 04 02          	cmpl   $0x2,0x4(%edi)
-    2a1c:	0f 84 fb 00 00 00    	je     0x2b1d
-    2a22:	c6 43 20 00          	movb   $0x0,0x20(%ebx)
-    2a26:	8b 85 14 ff ff ff    	mov    -0xec(%ebp),%eax
-    2a2c:	8b 70 18             	mov    0x18(%eax),%esi
-    2a2f:	85 f6                	test   %esi,%esi
-    2a31:	0f 84 7d 01 00 00    	je     0x2bb4
-    2a37:	8b 95 f4 fe ff ff    	mov    -0x10c(%ebp),%edx
-    2a3d:	85 d2                	test   %edx,%edx
-    2a3f:	0f 85 30 04 00 00    	jne    0x2e75
-    2a45:	8b 95 14 ff ff ff    	mov    -0xec(%ebp),%edx
-    2a4b:	c7 42 18 00 00 00 00 	movl   $0x0,0x18(%edx)
-    2a52:	8b 8d 14 ff ff ff    	mov    -0xec(%ebp),%ecx
-    2a58:	83 c3 2c             	add    $0x2c,%ebx
-    2a5b:	8b 51 1c             	mov    0x1c(%ecx),%edx
-    2a5e:	85 d2                	test   %edx,%edx
-    2a60:	0f 84 a1 02 00 00    	je     0x2d07
-    2a66:	83 85 0c ff ff ff 01 	addl   $0x1,-0xf4(%ebp)
-    2a6d:	89 c8                	mov    %ecx,%eax
-    2a6f:	89 b5 f4 fe ff ff    	mov    %esi,-0x10c(%ebp)
-    2a75:	89 95 14 ff ff ff    	mov    %edx,-0xec(%ebp)
-    2a7b:	8b 8d 14 ff ff ff    	mov    -0xec(%ebp),%ecx
-    2a81:	85 c0                	test   %eax,%eax
-    2a83:	8b b5 0c ff ff ff    	mov    -0xf4(%ebp),%esi
-    2a89:	8b bd fc fe ff ff    	mov    -0x104(%ebp),%edi
-    2a8f:	c7 43 28 ff ff ff ff 	movl   $0xffffffff,0x28(%ebx)
-    2a96:	89 0b                	mov    %ecx,(%ebx)
-    2a98:	89 34 b7             	mov    %esi,(%edi,%esi,4)
-    2a9b:	0f 84 bb fe ff ff    	je     0x295c
-    2aa1:	8b 50 10             	mov    0x10(%eax),%edx
-    2aa4:	3b 51 10             	cmp    0x10(%ecx),%edx
-    2aa7:	0f 85 af fe ff ff    	jne    0x295c
-    2aad:	8b 40 14             	mov    0x14(%eax),%eax
-    2ab0:	8b 49 14             	mov    0x14(%ecx),%ecx
-    2ab3:	89 54 24 08          	mov    %edx,0x8(%esp)
-    2ab7:	89 04 24             	mov    %eax,(%esp)
-    2aba:	89 4c 24 04          	mov    %ecx,0x4(%esp)
-    2abe:	e8 fc ff ff ff       	call   0x2abf
-    2ac3:	85 c0                	test   %eax,%eax
-    2ac5:	0f 85 91 fe ff ff    	jne    0x295c
-    2acb:	8b 8d 08 ff ff ff    	mov    -0xf8(%ebp),%ecx
-    2ad1:	6b c6 2c             	imul   $0x2c,%esi,%eax
-    2ad4:	8b b5 08 ff ff ff    	mov    -0xf8(%ebp),%esi
-    2ada:	8d 54 01 04          	lea    0x4(%ecx,%eax,1),%edx
-    2ade:	0f b6 4b f4          	movzbl -0xc(%ebx),%ecx
-    2ae2:	8d 44 06 d8          	lea    -0x28(%esi,%eax,1),%eax
-    2ae6:	89 44 24 04          	mov    %eax,0x4(%esp)
-    2aea:	89 14 24             	mov    %edx,(%esp)
-    2aed:	89 4c 24 08          	mov    %ecx,0x8(%esp)
-    2af1:	e8 fc ff ff ff       	call   0x2af2
-    2af6:	0f b6 43 f4          	movzbl -0xc(%ebx),%eax
-    2afa:	88 43 20             	mov    %al,0x20(%ebx)
-    2afd:	0f b6 43 f5          	movzbl -0xb(%ebx),%eax
-    2b01:	88 43 21             	mov    %al,0x21(%ebx)
-    2b04:	0f b6 43 f6          	movzbl -0xa(%ebx),%eax
-    2b08:	88 43 22             	mov    %al,0x22(%ebx)
-    2b0b:	0f b6 43 f7          	movzbl -0x9(%ebx),%eax
-    2b0f:	88 43 23             	mov    %al,0x23(%ebx)
-    2b12:	8b 43 f8             	mov    -0x8(%ebx),%eax
-    2b15:	89 43 24             	mov    %eax,0x24(%ebx)
-    2b18:	e9 09 ff ff ff       	jmp    0x2a26
-    2b1d:	b8 06 00 00 00       	mov    $0x6,%eax
-    2b22:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
-    2b28:	52                   	push   %edx
-    2b29:	50                   	push   %eax
-    2b2a:	cd 80                	int    $0x80
-    2b2c:	5a                   	pop    %edx
-    2b2d:	5a                   	pop    %edx
-    2b2e:	8b 8d 14 ff ff ff    	mov    -0xec(%ebp),%ecx
-    2b34:	8b 49 04             	mov    0x4(%ecx),%ecx
-    2b37:	89 8d f8 fe ff ff    	mov    %ecx,-0x108(%ebp)
-    2b3d:	c7 44 24 08 00 00 00 	movl   $0x0,0x8(%esp)
-    2b44:	00 
-    2b45:	c7 44 24 04 02 00 00 	movl   $0x2,0x4(%esp)
-    2b4c:	00 
-    2b4d:	89 0c 24             	mov    %ecx,(%esp)
-    2b50:	e8 fc ff ff ff       	call   0x2b51
-    2b55:	c7 45 c4 1c 00 00 00 	movl   $0x1c,-0x3c(%ebp)
-    2b5c:	83 f8 ff             	cmp    $0xffffffff,%eax
-    2b5f:	89 85 04 ff ff ff    	mov    %eax,-0xfc(%ebp)
-    2b65:	0f 84 94 fe ff ff    	je     0x29ff
-    2b6b:	e9 65 fe ff ff       	jmp    0x29d5
-    2b70:	8d 45 cc             	lea    -0x34(%ebp),%eax
-    2b73:	89 5d bc             	mov    %ebx,-0x44(%ebp)
-    2b76:	c7 44 24 08 0a 00 00 	movl   $0xa,0x8(%esp)
-    2b7d:	00 
-    2b7e:	89 44 24 04          	mov    %eax,0x4(%esp)
-    2b82:	89 1c 24             	mov    %ebx,(%esp)
-    2b85:	e8 fc ff ff ff       	call   0x2b86
-    2b8a:	89 45 c0             	mov    %eax,-0x40(%ebp)
-    2b8d:	8b 45 cc             	mov    -0x34(%ebp),%eax
-    2b90:	80 38 00             	cmpb   $0x0,(%eax)
-    2b93:	74 12                	je     0x2ba7
-    2b95:	8b 06                	mov    (%esi),%eax
-    2b97:	f6 c4 04             	test   $0x4,%ah
-    2b9a:	0f 85 de 03 00 00    	jne    0x2f7e
-    2ba0:	c7 45 c0 ff ff ff ff 	movl   $0xffffffff,-0x40(%ebp)
-    2ba7:	8d 55 bc             	lea    -0x44(%ebp),%edx
-    2baa:	e9 5e fc ff ff       	jmp    0x280d
-    2baf:	e8 fc ff ff ff       	call   0x2bb0
-    2bb4:	8b b5 f4 fe ff ff    	mov    -0x10c(%ebp),%esi
-    2bba:	e9 93 fe ff ff       	jmp    0x2a52
-    2bbf:	6b 85 0c ff ff ff 2c 	imul   $0x2c,-0xf4(%ebp),%eax
-    2bc6:	8b bd 08 ff ff ff    	mov    -0xf8(%ebp),%edi
-    2bcc:	89 34 24             	mov    %esi,(%esp)
-    2bcf:	8d 54 07 04          	lea    0x4(%edi,%eax,1),%edx
-    2bd3:	8d 45 c4             	lea    -0x3c(%ebp),%eax
-    2bd6:	89 54 24 04          	mov    %edx,0x4(%esp)
-    2bda:	89 44 24 08          	mov    %eax,0x8(%esp)
-    2bde:	89 95 e8 fe ff ff    	mov    %edx,-0x118(%ebp)
-    2be4:	e8 fc ff ff ff       	call   0x2be5
-    2be9:	8b 95 e8 fe ff ff    	mov    -0x118(%ebp),%edx
-    2bef:	85 c0                	test   %eax,%eax
-    2bf1:	0f 85 08 fe ff ff    	jne    0x29ff
-    2bf7:	8b 45 c4             	mov    -0x3c(%ebp),%eax
-    2bfa:	c6 43 21 01          	movb   $0x1,0x21(%ebx)
-    2bfe:	88 43 20             	mov    %al,0x20(%ebx)
-    2c01:	83 7d d4 00          	cmpl   $0x0,-0x2c(%ebp)
-    2c05:	0f 84 9a 00 00 00    	je     0x2ca5
-    2c0b:	83 bd f8 fe ff ff 02 	cmpl   $0x2,-0x108(%ebp)
-    2c12:	0f 85 3a 02 00 00    	jne    0x2e52
-    2c18:	8b 8d 14 ff ff ff    	mov    -0xec(%ebp),%ecx
-    2c1e:	83 79 04 02          	cmpl   $0x2,0x4(%ecx)
-    2c22:	0f 85 2a 02 00 00    	jne    0x2e52
-    2c28:	c7 45 a4 00 00 00 00 	movl   $0x0,-0x5c(%ebp)
-    2c2f:	b9 7f 00 00 01       	mov    $0x100007f,%ecx
-    2c34:	c7 45 a8 00 00 00 00 	movl   $0x0,-0x58(%ebp)
-    2c3b:	c7 45 ac 00 00 ff ff 	movl   $0xffff0000,-0x54(%ebp)
-    2c42:	8b 72 04             	mov    0x4(%edx),%esi
-    2c45:	89 f0                	mov    %esi,%eax
-    2c47:	0f c8                	bswap  %eax
-    2c49:	25 00 00 00 ff       	and    $0xff000000,%eax
-    2c4e:	3d 00 00 00 7f       	cmp    $0x7f000000,%eax
-    2c53:	0f 45 ce             	cmovne %esi,%ecx
-    2c56:	89 4d b0             	mov    %ecx,-0x50(%ebp)
-    2c59:	c7 44 24 10 f0 03 00 	movl   $0x3f0,0x10(%esp)
-    2c60:	00 
-    2c61:	c7 44 24 0c 18 00 00 	movl   $0x18,0xc(%esp)
-    2c68:	00 
-    2c69:	8b 45 d0             	mov    -0x30(%ebp),%eax
-    2c6c:	89 44 24 08          	mov    %eax,0x8(%esp)
-    2c70:	8b 45 d4             	mov    -0x2c(%ebp),%eax
-    2c73:	89 44 24 04          	mov    %eax,0x4(%esp)
-    2c77:	8d 45 9c             	lea    -0x64(%ebp),%eax
-    2c7a:	89 04 24             	mov    %eax,(%esp)
-    2c7d:	89 95 e8 fe ff ff    	mov    %edx,-0x118(%ebp)
-    2c83:	e8 fc ff ff ff       	call   0x2c84
-    2c88:	8b 95 e8 fe ff ff    	mov    -0x118(%ebp),%edx
-    2c8e:	85 c0                	test   %eax,%eax
-    2c90:	74 13                	je     0x2ca5
-    2c92:	0f b6 08             	movzbl (%eax),%ecx
-    2c95:	88 4b 22             	mov    %cl,0x22(%ebx)
-    2c98:	0f b6 48 01          	movzbl 0x1(%eax),%ecx
-    2c9c:	88 4b 23             	mov    %cl,0x23(%ebx)
-    2c9f:	8b 40 04             	mov    0x4(%eax),%eax
-    2ca2:	89 43 24             	mov    %eax,0x24(%ebx)
-    2ca5:	83 bd f8 fe ff ff 1c 	cmpl   $0x1c,-0x108(%ebp)
-    2cac:	0f 85 74 fd ff ff    	jne    0x2a26
-    2cb2:	8b 8d 14 ff ff ff    	mov    -0xec(%ebp),%ecx
-    2cb8:	83 79 04 02          	cmpl   $0x2,0x4(%ecx)
-    2cbc:	0f 85 64 fd ff ff    	jne    0x2a26
-    2cc2:	83 7b 0c 00          	cmpl   $0x0,0xc(%ebx)
-    2cc6:	0f 85 03 02 00 00    	jne    0x2ecf
-    2ccc:	83 7b 10 00          	cmpl   $0x0,0x10(%ebx)
-    2cd0:	0f 85 f9 01 00 00    	jne    0x2ecf
-    2cd6:	81 7b 14 00 00 ff ff 	cmpl   $0xffff0000,0x14(%ebx)
-    2cdd:	8d 76 00             	lea    0x0(%esi),%esi
-    2ce0:	0f 85 e9 01 00 00    	jne    0x2ecf
-    2ce6:	c6 42 01 02          	movb   $0x2,0x1(%edx)
-    2cea:	8b b5 08 ff ff ff    	mov    -0xf8(%ebp),%esi
-    2cf0:	6b 85 0c ff ff ff 2c 	imul   $0x2c,-0xf4(%ebp),%eax
-    2cf7:	8b 44 06 18          	mov    0x18(%esi,%eax,1),%eax
-    2cfb:	89 42 04             	mov    %eax,0x4(%edx)
-    2cfe:	c6 43 20 10          	movb   $0x10,0x20(%ebx)
-    2d02:	e9 1f fd ff ff       	jmp    0x2a26
-    2d07:	83 bd 04 ff ff ff ff 	cmpl   $0xffffffff,-0xfc(%ebp)
-    2d0e:	74 11                	je     0x2d21
-    2d10:	b8 06 00 00 00       	mov    $0x6,%eax
-    2d15:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
-    2d1b:	52                   	push   %edx
-    2d1c:	50                   	push   %eax
-    2d1d:	cd 80                	int    $0x80
-    2d1f:	5a                   	pop    %edx
-    2d20:	5a                   	pop    %edx
-    2d21:	8b 8d 08 ff ff ff    	mov    -0xf8(%ebp),%ecx
-    2d27:	8b bd 00 ff ff ff    	mov    -0x100(%ebp),%edi
-    2d2d:	83 3d 54 00 00 00 00 	cmpl   $0x0,0x54
-    2d34:	89 4d b4             	mov    %ecx,-0x4c(%ebp)
-    2d37:	89 7d b8             	mov    %edi,-0x48(%ebp)
-    2d3a:	0f 85 b3 01 00 00    	jne    0x2ef3
-    2d40:	8d 45 b4             	lea    -0x4c(%ebp),%eax
-    2d43:	89 44 24 10          	mov    %eax,0x10(%esp)
-    2d47:	c7 44 24 0c f0 30 00 	movl   $0x30f0,0xc(%esp)
-    2d4e:	00 
-    2d4f:	c7 44 24 08 04 00 00 	movl   $0x4,0x8(%esp)
-    2d56:	00 
-    2d57:	8b 8d 00 ff ff ff    	mov    -0x100(%ebp),%ecx
-    2d5d:	89 4c 24 04          	mov    %ecx,0x4(%esp)
-    2d61:	8b bd fc fe ff ff    	mov    -0x104(%ebp),%edi
-    2d67:	89 3c 24             	mov    %edi,(%esp)
-    2d6a:	e8 fc ff ff ff       	call   0x2d6b
-    2d6f:	8b 95 fc fe ff ff    	mov    -0x104(%ebp),%edx
-    2d75:	8b 8d 08 ff ff ff    	mov    -0xf8(%ebp),%ecx
-    2d7b:	6b 02 2c             	imul   $0x2c,(%edx),%eax
-    2d7e:	8b 1c 08             	mov    (%eax,%ecx,1),%ebx
-    2d81:	b8 01 00 00 00       	mov    $0x1,%eax
-    2d86:	89 d9                	mov    %ebx,%ecx
-    2d88:	eb 1b                	jmp    0x2da5
-    2d8a:	8b bd fc fe ff ff    	mov    -0x104(%ebp),%edi
-    2d90:	6b 14 87 2c          	imul   $0x2c,(%edi,%eax,4),%edx
-    2d94:	83 c0 01             	add    $0x1,%eax
-    2d97:	8b bd 08 ff ff ff    	mov    -0xf8(%ebp),%edi
-    2d9d:	8b 14 3a             	mov    (%edx,%edi,1),%edx
-    2da0:	89 51 1c             	mov    %edx,0x1c(%ecx)
-    2da3:	89 d1                	mov    %edx,%ecx
-    2da5:	39 85 00 ff ff ff    	cmp    %eax,-0x100(%ebp)
-    2dab:	7f dd                	jg     0x2d8a
-    2dad:	c7 41 1c 00 00 00 00 	movl   $0x0,0x1c(%ecx)
-    2db4:	89 73 18             	mov    %esi,0x18(%ebx)
-    2db7:	89 5d d8             	mov    %ebx,-0x28(%ebp)
-    2dba:	8b a5 ec fe ff ff    	mov    -0x114(%ebp),%esp
-    2dc0:	8b 45 d4             	mov    -0x2c(%ebp),%eax
-    2dc3:	89 04 24             	mov    %eax,(%esp)
-    2dc6:	e8 fc ff ff ff       	call   0x2dc7
-    2dcb:	8b 45 d8             	mov    -0x28(%ebp),%eax
-    2dce:	85 c0                	test   %eax,%eax
-    2dd0:	0f 84 8a f9 ff ff    	je     0x2760
-    2dd6:	8b 95 10 ff ff ff    	mov    -0xf0(%ebp),%edx
-    2ddc:	89 02                	mov    %eax,(%edx)
-    2dde:	31 c0                	xor    %eax,%eax
-    2de0:	e9 80 f9 ff ff       	jmp    0x2765
-    2de5:	80 7d df 00          	cmpb   $0x0,-0x21(%ebp)
-    2de9:	75 5b                	jne    0x2e46
-    2deb:	80 7d de 00          	cmpb   $0x0,-0x22(%ebp)
-    2def:	0f 84 06 fa ff ff    	je     0x27fb
-    2df5:	80 7d df 01          	cmpb   $0x1,-0x21(%ebp)
-    2df9:	b9 08 00 00 00       	mov    $0x8,%ecx
-    2dfe:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
-    2e04:	89 c7                	mov    %eax,%edi
-    2e06:	89 85 e4 fe ff ff    	mov    %eax,-0x11c(%ebp)
-    2e0c:	19 c0                	sbb    %eax,%eax
-    2e0e:	83 e0 1a             	and    $0x1a,%eax
-    2e11:	83 c0 02             	add    $0x2,%eax
-    2e14:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
-    2e16:	8d b5 7c ff ff ff    	lea    -0x84(%ebp),%esi
-    2e1c:	89 45 80             	mov    %eax,-0x80(%ebp)
-    2e1f:	e9 d7 f9 ff ff       	jmp    0x27fb
-    2e24:	8b 45 d8             	mov    -0x28(%ebp),%eax
-    2e27:	89 04 24             	mov    %eax,(%esp)
-    2e2a:	e8 fc ff ff ff       	call   0x2e2b
-    2e2f:	8b 45 d4             	mov    -0x2c(%ebp),%eax
-    2e32:	89 04 24             	mov    %eax,(%esp)
-    2e35:	e8 fc ff ff ff       	call   0x2e36
-    2e3a:	89 d8                	mov    %ebx,%eax
-    2e3c:	80 e4 fe             	and    $0xfe,%ah
-    2e3f:	f7 d8                	neg    %eax
-    2e41:	e9 1f f9 ff ff       	jmp    0x2765
-    2e46:	80 7d de 00          	cmpb   $0x0,-0x22(%ebp)
-    2e4a:	0f 85 ab f9 ff ff    	jne    0x27fb
-    2e50:	eb a3                	jmp    0x2df5
-    2e52:	8b bd 08 ff ff ff    	mov    -0xf8(%ebp),%edi
-    2e58:	b9 04 00 00 00       	mov    $0x4,%ecx
-    2e5d:	6b 85 0c ff ff ff 2c 	imul   $0x2c,-0xf4(%ebp),%eax
-    2e64:	8d 74 07 0c          	lea    0xc(%edi,%eax,1),%esi
-    2e68:	8b bd e0 fe ff ff    	mov    -0x120(%ebp),%edi
-    2e6e:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
-    2e70:	e9 e4 fd ff ff       	jmp    0x2c59
-    2e75:	c7 44 24 0c 03 01 00 	movl   $0x103,0xc(%esp)
-    2e7c:	00 
-    2e7d:	c7 44 24 08 32 09 00 	movl   $0x932,0x8(%esp)
-    2e84:	00 
-    2e85:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
-    2e8c:	00 
-    2e8d:	c7 04 24 ea 00 00 00 	movl   $0xea,(%esp)
-    2e94:	e8 fc ff ff ff       	call   0x2e95
-    2e99:	8b 45 d4             	mov    -0x2c(%ebp),%eax
-    2e9c:	89 04 24             	mov    %eax,(%esp)
-    2e9f:	e8 fc ff ff ff       	call   0x2ea0
-    2ea4:	b8 fa ff ff ff       	mov    $0xfffffffa,%eax
-    2ea9:	e9 b7 f8 ff ff       	jmp    0x2765
-    2eae:	83 bd f0 fe ff ff 00 	cmpl   $0x0,-0x110(%ebp)
-    2eb5:	0f 85 f5 f9 ff ff    	jne    0x28b0
-    2ebb:	e8 c0 eb ff ff       	call   0x1a80
-    2ec0:	c7 05 30 00 00 00 02 	movl   $0x2,0x30
-    2ec7:	00 00 00 
-    2eca:	e9 e1 f9 ff ff       	jmp    0x28b0
-    2ecf:	c7 44 24 0c 03 01 00 	movl   $0x103,0xc(%esp)
-    2ed6:	00 
-    2ed7:	c7 44 24 08 17 09 00 	movl   $0x917,0x8(%esp)
-    2ede:	00 
-    2edf:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
-    2ee6:	00 
-    2ee7:	c7 04 24 20 00 00 00 	movl   $0x20,(%esp)
-    2eee:	e8 fc ff ff ff       	call   0x2eef
-    2ef3:	b8 00 00 00 00       	mov    $0x0,%eax
-    2ef8:	85 c0                	test   %eax,%eax
-    2efa:	74 0c                	je     0x2f08
-    2efc:	c7 04 24 18 00 00 00 	movl   $0x18,(%esp)
-    2f03:	e8 fc ff ff ff       	call   0x2f04
-    2f08:	83 bd f0 fe ff ff 00 	cmpl   $0x0,-0x110(%ebp)
-    2f0f:	74 0d                	je     0x2f1e
-    2f11:	83 3d 50 00 00 00 00 	cmpl   $0x0,0x50
-    2f18:	0f 85 7c 00 00 00    	jne    0x2f9a
-    2f1e:	8d 45 b4             	lea    -0x4c(%ebp),%eax
-    2f21:	89 44 24 10          	mov    %eax,0x10(%esp)
-    2f25:	c7 44 24 0c f0 30 00 	movl   $0x30f0,0xc(%esp)
-    2f2c:	00 
-    2f2d:	c7 44 24 08 04 00 00 	movl   $0x4,0x8(%esp)
-    2f34:	00 
-    2f35:	8b 85 00 ff ff ff    	mov    -0x100(%ebp),%eax
-    2f3b:	89 44 24 04          	mov    %eax,0x4(%esp)
-    2f3f:	8b 95 fc fe ff ff    	mov    -0x104(%ebp),%edx
-    2f45:	89 14 24             	mov    %edx,(%esp)
-    2f48:	e8 fc ff ff ff       	call   0x2f49
-    2f4d:	b8 00 00 00 00       	mov    $0x0,%eax
-    2f52:	85 c0                	test   %eax,%eax
-    2f54:	0f 84 15 fe ff ff    	je     0x2d6f
-    2f5a:	c7 04 24 18 00 00 00 	movl   $0x18,(%esp)
-    2f61:	e8 fc ff ff ff       	call   0x2f62
-    2f66:	e9 04 fe ff ff       	jmp    0x2d6f
-    2f6b:	83 f8 1c             	cmp    $0x1c,%eax
-    2f6e:	0f 85 87 f8 ff ff    	jne    0x27fb
-    2f74:	80 7d de 00          	cmpb   $0x0,-0x22(%ebp)
-    2f78:	0f 85 7d f8 ff ff    	jne    0x27fb
-    2f7e:	8b 45 d4             	mov    -0x2c(%ebp),%eax
-    2f81:	89 04 24             	mov    %eax,(%esp)
-    2f84:	e8 fc ff ff ff       	call   0x2f85
-    2f89:	b8 fe ff ff ff       	mov    $0xfffffffe,%eax
-    2f8e:	e9 d2 f7 ff ff       	jmp    0x2765
-    2f93:	31 db                	xor    %ebx,%ebx
-    2f95:	e9 88 f7 ff ff       	jmp    0x2722
-    2f9a:	8d 85 18 ff ff ff    	lea    -0xe8(%ebp),%eax
-    2fa0:	89 44 24 08          	mov    %eax,0x8(%esp)
-    2fa4:	c7 44 24 04 b8 00 00 	movl   $0xb8,0x4(%esp)
-    2fab:	00 
-    2fac:	c7 04 24 03 00 00 00 	movl   $0x3,(%esp)
-    2fb3:	e8 fc ff ff ff       	call   0x2fb4
-    2fb8:	85 c0                	test   %eax,%eax
-    2fba:	75 26                	jne    0x2fe2
-    2fbc:	8d 85 40 ff ff ff    	lea    -0xc0(%ebp),%eax
-    2fc2:	c7 44 24 08 08 00 00 	movl   $0x8,0x8(%esp)
-    2fc9:	00 
-    2fca:	c7 44 24 04 58 00 00 	movl   $0x58,0x4(%esp)
-    2fd1:	00 
-    2fd2:	89 04 24             	mov    %eax,(%esp)
-    2fd5:	e8 fc ff ff ff       	call   0x2fd6
-    2fda:	85 c0                	test   %eax,%eax
-    2fdc:	0f 84 3c ff ff ff    	je     0x2f1e
-    2fe2:	e8 99 ea ff ff       	call   0x1a80
-    2fe7:	e9 32 ff ff ff       	jmp    0x2f1e
-    2fec:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    2ff0:	55                   	push   %ebp
-    2ff1:	89 e5                	mov    %esp,%ebp
-    2ff3:	57                   	push   %edi
-    2ff4:	89 c7                	mov    %eax,%edi
-    2ff6:	56                   	push   %esi
-    2ff7:	89 c8                	mov    %ecx,%eax
-    2ff9:	53                   	push   %ebx
-    2ffa:	83 ec 28             	sub    $0x28,%esp
-    2ffd:	65 8b 0d 14 00 00 00 	mov    %gs:0x14,%ecx
-    3004:	89 4d f0             	mov    %ecx,-0x10(%ebp)
-    3007:	31 c9                	xor    %ecx,%ecx
-    3009:	0f b6 5f 01          	movzbl 0x1(%edi),%ebx
-    300d:	80 fb 02             	cmp    $0x2,%bl
-    3010:	74 1d                	je     0x302f
-    3012:	80 fb 1c             	cmp    $0x1c,%bl
-    3015:	74 5d                	je     0x3074
-    3017:	8b 55 f0             	mov    -0x10(%ebp),%edx
-    301a:	65 33 15 14 00 00 00 	xor    %gs:0x14,%edx
-    3021:	0f 85 c0 00 00 00    	jne    0x30e7
-    3027:	83 c4 28             	add    $0x28,%esp
-    302a:	5b                   	pop    %ebx
-    302b:	5e                   	pop    %esi
-    302c:	5f                   	pop    %edi
-    302d:	5d                   	pop    %ebp
-    302e:	c3                   	ret    
-    302f:	c6 45 d5 1c          	movb   $0x1c,-0x2b(%ebp)
-    3033:	0f b7 47 02          	movzwl 0x2(%edi),%eax
-    3037:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
-    303e:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
-    3045:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
-    304c:	66 89 45 d6          	mov    %ax,-0x2a(%ebp)
-    3050:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
-    3057:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
-    305e:	66 c7 45 e6 ff ff    	movw   $0xffff,-0x1a(%ebp)
-    3064:	8b 47 04             	mov    0x4(%edi),%eax
-    3067:	8d 7d d4             	lea    -0x2c(%ebp),%edi
-    306a:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
-    3071:	89 45 e8             	mov    %eax,-0x18(%ebp)
-    3074:	8d 5f 08             	lea    0x8(%edi),%ebx
-    3077:	89 5d cc             	mov    %ebx,-0x34(%ebp)
-    307a:	89 7d d0             	mov    %edi,-0x30(%ebp)
-    307d:	8d 76 00             	lea    0x0(%esi),%esi
-    3080:	8b 4a 10             	mov    0x10(%edx),%ecx
-    3083:	89 d6                	mov    %edx,%esi
-    3085:	8b 45 cc             	mov    -0x34(%ebp),%eax
-    3088:	83 f9 07             	cmp    $0x7,%ecx
-    308b:	76 2d                	jbe    0x30ba
-    308d:	8b 7d d0             	mov    -0x30(%ebp),%edi
-    3090:	0f b6 1a             	movzbl (%edx),%ebx
-    3093:	3a 5f 08             	cmp    0x8(%edi),%bl
-    3096:	75 35                	jne    0x30cd
-    3098:	89 d7                	mov    %edx,%edi
-    309a:	8b 5d cc             	mov    -0x34(%ebp),%ebx
-    309d:	eb 08                	jmp    0x30a7
-    309f:	90                   	nop
-    30a0:	0f b6 16             	movzbl (%esi),%edx
-    30a3:	3a 10                	cmp    (%eax),%dl
-    30a5:	75 31                	jne    0x30d8
-    30a7:	83 e9 08             	sub    $0x8,%ecx
-    30aa:	83 c6 01             	add    $0x1,%esi
-    30ad:	83 c0 01             	add    $0x1,%eax
-    30b0:	83 f9 07             	cmp    $0x7,%ecx
-    30b3:	77 eb                	ja     0x30a0
-    30b5:	89 fa                	mov    %edi,%edx
-    30b7:	89 5d cc             	mov    %ebx,-0x34(%ebp)
-    30ba:	0f b6 00             	movzbl (%eax),%eax
-    30bd:	bb 00 ff 00 00       	mov    $0xff00,%ebx
-    30c2:	0f b6 36             	movzbl (%esi),%esi
-    30c5:	d3 fb                	sar    %cl,%ebx
-    30c7:	31 f0                	xor    %esi,%eax
-    30c9:	85 d8                	test   %ebx,%eax
-    30cb:	74 12                	je     0x30df
-    30cd:	83 c2 18             	add    $0x18,%edx
-    30d0:	eb ae                	jmp    0x3080
-    30d2:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
-    30d8:	89 fa                	mov    %edi,%edx
-    30da:	89 5d cc             	mov    %ebx,-0x34(%ebp)
-    30dd:	eb ee                	jmp    0x30cd
-    30df:	8b 42 14             	mov    0x14(%edx),%eax
-    30e2:	e9 30 ff ff ff       	jmp    0x3017
-    30e7:	e8 fc ff ff ff       	call   0x30e8
-    30ec:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    30f0:	55                   	push   %ebp
-    30f1:	89 e5                	mov    %esp,%ebp
-    30f3:	57                   	push   %edi
-    30f4:	56                   	push   %esi
-    30f5:	53                   	push   %ebx
-    30f6:	83 ec 38             	sub    $0x38,%esp
-    30f9:	8b 45 08             	mov    0x8(%ebp),%eax
-    30fc:	8b 5d 10             	mov    0x10(%ebp),%ebx
-    30ff:	8b 00                	mov    (%eax),%eax
-    3101:	89 45 e8             	mov    %eax,-0x18(%ebp)
-    3104:	8b 45 0c             	mov    0xc(%ebp),%eax
-    3107:	6b 75 e8 2c          	imul   $0x2c,-0x18(%ebp),%esi
-    310b:	8b 00                	mov    (%eax),%eax
-    310d:	89 45 ec             	mov    %eax,-0x14(%ebp)
-    3110:	8b 03                	mov    (%ebx),%eax
-    3112:	6b 7d ec 2c          	imul   $0x2c,-0x14(%ebp),%edi
-    3116:	8d 34 30             	lea    (%eax,%esi,1),%esi
-    3119:	80 7e 21 00          	cmpb   $0x0,0x21(%esi)
-    311d:	8d 3c 38             	lea    (%eax,%edi,1),%edi
-    3120:	0f 85 62 02 00 00    	jne    0x3388
-    3126:	80 7f 21 00          	cmpb   $0x0,0x21(%edi)
-    312a:	0f 85 b8 01 00 00    	jne    0x32e8
-    3130:	8b 06                	mov    (%esi),%eax
-    3132:	8b 40 14             	mov    0x14(%eax),%eax
-    3135:	e8 c6 ce ff ff       	call   0x0
-    313a:	89 45 d8             	mov    %eax,-0x28(%ebp)
-    313d:	8b 07                	mov    (%edi),%eax
-    313f:	8b 40 14             	mov    0x14(%eax),%eax
-    3142:	e8 b9 ce ff ff       	call   0x0
-    3147:	80 7e 21 00          	cmpb   $0x0,0x21(%esi)
-    314b:	89 45 dc             	mov    %eax,-0x24(%ebp)
-    314e:	0f 85 40 02 00 00    	jne    0x3394
-    3154:	8b 06                	mov    (%esi),%eax
-    3156:	31 c9                	xor    %ecx,%ecx
-    3158:	8b 15 4c 00 00 00    	mov    0x4c,%edx
-    315e:	8b 40 14             	mov    0x14(%eax),%eax
-    3161:	e8 8a fe ff ff       	call   0x2ff0
-    3166:	8b 15 4c 00 00 00    	mov    0x4c,%edx
-    316c:	31 c9                	xor    %ecx,%ecx
-    316e:	89 45 f0             	mov    %eax,-0x10(%ebp)
-    3171:	8b 07                	mov    (%edi),%eax
-    3173:	8b 40 14             	mov    0x14(%eax),%eax
-    3176:	e8 75 fe ff ff       	call   0x2ff0
-    317b:	39 45 f0             	cmp    %eax,-0x10(%ebp)
-    317e:	0f 8f a4 01 00 00    	jg     0x3328
-    3184:	0f 8c 5e 01 00 00    	jl     0x32e8
-    318a:	80 7e 21 00          	cmpb   $0x0,0x21(%esi)
-    318e:	66 90                	xchg   %ax,%ax
-    3190:	0f 84 66 01 00 00    	je     0x32fc
-    3196:	8b 46 24             	mov    0x24(%esi),%eax
-    3199:	8b 4f 24             	mov    0x24(%edi),%ecx
-    319c:	89 45 f0             	mov    %eax,-0x10(%ebp)
-    319f:	39 c8                	cmp    %ecx,%eax
-    31a1:	0f 84 55 01 00 00    	je     0x32fc
-    31a7:	8b 56 28             	mov    0x28(%esi),%edx
-    31aa:	8b 47 28             	mov    0x28(%edi),%eax
-    31ad:	83 fa ff             	cmp    $0xffffffff,%edx
-    31b0:	89 55 e4             	mov    %edx,-0x1c(%ebp)
-    31b3:	0f 94 c2             	sete   %dl
-    31b6:	83 f8 ff             	cmp    $0xffffffff,%eax
-    31b9:	89 45 e0             	mov    %eax,-0x20(%ebp)
-    31bc:	0f 94 c0             	sete   %al
-    31bf:	0f 85 73 01 00 00    	jne    0x3338
-    31c5:	84 d2                	test   %dl,%dl
-    31c7:	0f 85 83 01 00 00    	jne    0x3350
-    31cd:	c7 45 f0 ff ff ff ff 	movl   $0xffffffff,-0x10(%ebp)
-    31d4:	84 c0                	test   %al,%al
-    31d6:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
-    31db:	0f 44 c8             	cmove  %eax,%ecx
-    31de:	8b 43 04             	mov    0x4(%ebx),%eax
-    31e1:	ba 00 00 00 00       	mov    $0x0,%edx
-    31e6:	0f 44 55 e0          	cmove  -0x20(%ebp),%edx
-    31ea:	85 c0                	test   %eax,%eax
-    31ec:	89 55 e0             	mov    %edx,-0x20(%ebp)
-    31ef:	0f 8e 47 01 00 00    	jle    0x333c
-    31f5:	89 75 d0             	mov    %esi,-0x30(%ebp)
-    31f8:	31 c0                	xor    %eax,%eax
-    31fa:	31 d2                	xor    %edx,%edx
-    31fc:	89 7d d4             	mov    %edi,-0x2c(%ebp)
-    31ff:	8b 75 f0             	mov    -0x10(%ebp),%esi
-    3202:	89 4d cc             	mov    %ecx,-0x34(%ebp)
-    3205:	eb 26                	jmp    0x322d
-    3207:	90                   	nop
-    3208:	83 7d cc ff          	cmpl   $0xffffffff,-0x34(%ebp)
-    320c:	74 10                	je     0x321e
-    320e:	8b 0b                	mov    (%ebx),%ecx
-    3210:	8b 7d cc             	mov    -0x34(%ebp),%edi
-    3213:	01 c1                	add    %eax,%ecx
-    3215:	39 79 24             	cmp    %edi,0x24(%ecx)
-    3218:	0f 84 42 01 00 00    	je     0x3360
-    321e:	83 c2 01             	add    $0x1,%edx
-    3221:	83 c0 2c             	add    $0x2c,%eax
-    3224:	39 53 04             	cmp    %edx,0x4(%ebx)
-    3227:	0f 8e 53 01 00 00    	jle    0x3380
-    322d:	83 fe ff             	cmp    $0xffffffff,%esi
-    3230:	74 d6                	je     0x3208
-    3232:	8b 0b                	mov    (%ebx),%ecx
-    3234:	01 c1                	add    %eax,%ecx
-    3236:	39 71 24             	cmp    %esi,0x24(%ecx)
-    3239:	75 cd                	jne    0x3208
-    323b:	8b 79 28             	mov    0x28(%ecx),%edi
-    323e:	83 ff ff             	cmp    $0xffffffff,%edi
-    3241:	89 7d f0             	mov    %edi,-0x10(%ebp)
-    3244:	74 0c                	je     0x3252
-    3246:	8b 7d e4             	mov    -0x1c(%ebp),%edi
-    3249:	39 7d f0             	cmp    %edi,-0x10(%ebp)
-    324c:	0f 85 e9 02 00 00    	jne    0x353b
-    3252:	8b 7d e4             	mov    -0x1c(%ebp),%edi
-    3255:	89 79 28             	mov    %edi,0x28(%ecx)
-    3258:	eb c4                	jmp    0x321e
-    325a:	80 7e 05 02          	cmpb   $0x2,0x5(%esi)
-    325e:	0f 85 1f 03 00 00    	jne    0x3583
-    3264:	80 7f 05 02          	cmpb   $0x2,0x5(%edi)
-    3268:	0f 85 f1 02 00 00    	jne    0x355f
-    326e:	8b 40 14             	mov    0x14(%eax),%eax
-    3271:	b9 20 00 00 00       	mov    $0x20,%ecx
-    3276:	8b 56 08             	mov    0x8(%esi),%edx
-    3279:	0f ca                	bswap  %edx
-    327b:	8b 40 04             	mov    0x4(%eax),%eax
-    327e:	0f c8                	bswap  %eax
-    3280:	31 c2                	xor    %eax,%edx
-    3282:	0f b6 46 23          	movzbl 0x23(%esi),%eax
-    3286:	83 ce ff             	or     $0xffffffff,%esi
-    3289:	29 c1                	sub    %eax,%ecx
-    328b:	31 c0                	xor    %eax,%eax
-    328d:	d3 e6                	shl    %cl,%esi
-    328f:	85 f2                	test   %esi,%edx
-    3291:	75 15                	jne    0x32a8
-    3293:	b9 00 00 00 80       	mov    $0x80000000,%ecx
-    3298:	eb 0a                	jmp    0x32a4
-    329a:	83 c0 01             	add    $0x1,%eax
-    329d:	83 f8 20             	cmp    $0x20,%eax
-    32a0:	74 06                	je     0x32a8
-    32a2:	d1 e9                	shr    %ecx
-    32a4:	85 d1                	test   %edx,%ecx
-    32a6:	74 f2                	je     0x329a
-    32a8:	8b 53 14             	mov    0x14(%ebx),%edx
-    32ab:	31 f6                	xor    %esi,%esi
-    32ad:	0f b6 5f 23          	movzbl 0x23(%edi),%ebx
-    32b1:	8b 4a 04             	mov    0x4(%edx),%ecx
-    32b4:	8b 57 08             	mov    0x8(%edi),%edx
-    32b7:	0f c9                	bswap  %ecx
-    32b9:	0f ca                	bswap  %edx
-    32bb:	31 ca                	xor    %ecx,%edx
-    32bd:	b9 20 00 00 00       	mov    $0x20,%ecx
-    32c2:	29 d9                	sub    %ebx,%ecx
-    32c4:	83 cb ff             	or     $0xffffffff,%ebx
-    32c7:	d3 e3                	shl    %cl,%ebx
-    32c9:	85 da                	test   %ebx,%edx
-    32cb:	75 15                	jne    0x32e2
-    32cd:	b9 00 00 00 80       	mov    $0x80000000,%ecx
-    32d2:	eb 0a                	jmp    0x32de
-    32d4:	83 c6 01             	add    $0x1,%esi
-    32d7:	83 fe 20             	cmp    $0x20,%esi
-    32da:	74 06                	je     0x32e2
-    32dc:	d1 e9                	shr    %ecx
-    32de:	85 d1                	test   %edx,%ecx
-    32e0:	74 f2                	je     0x32d4
-    32e2:	39 f0                	cmp    %esi,%eax
-    32e4:	7f 42                	jg     0x3328
-    32e6:	7d 34                	jge    0x331c
-    32e8:	83 c4 38             	add    $0x38,%esp
-    32eb:	b8 01 00 00 00       	mov    $0x1,%eax
-    32f0:	5b                   	pop    %ebx
-    32f1:	5e                   	pop    %esi
-    32f2:	5f                   	pop    %edi
-    32f3:	5d                   	pop    %ebp
-    32f4:	c3                   	ret    
-    32f5:	8b 45 e0             	mov    -0x20(%ebp),%eax
-    32f8:	85 c0                	test   %eax,%eax
-    32fa:	74 2c                	je     0x3328
-    32fc:	8b 45 dc             	mov    -0x24(%ebp),%eax
-    32ff:	39 45 d8             	cmp    %eax,-0x28(%ebp)
-    3302:	7c 24                	jl     0x3328
-    3304:	7f e2                	jg     0x32e8
-    3306:	80 7e 21 00          	cmpb   $0x0,0x21(%esi)
-    330a:	74 10                	je     0x331c
-    330c:	8b 06                	mov    (%esi),%eax
-    330e:	8b 1f                	mov    (%edi),%ebx
-    3310:	8b 50 04             	mov    0x4(%eax),%edx
-    3313:	3b 53 04             	cmp    0x4(%ebx),%edx
-    3316:	0f 84 a9 01 00 00    	je     0x34c5
-    331c:	8b 7d ec             	mov    -0x14(%ebp),%edi
-    331f:	39 7d e8             	cmp    %edi,-0x18(%ebp)
-    3322:	73 c4                	jae    0x32e8
-    3324:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    3328:	83 c4 38             	add    $0x38,%esp
-    332b:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
-    3330:	5b                   	pop    %ebx
-    3331:	5e                   	pop    %esi
-    3332:	5f                   	pop    %edi
-    3333:	5d                   	pop    %ebp
-    3334:	c3                   	ret    
-    3335:	8d 76 00             	lea    0x0(%esi),%esi
-    3338:	84 d2                	test   %dl,%dl
-    333a:	75 14                	jne    0x3350
-    333c:	8b 55 e4             	mov    -0x1c(%ebp),%edx
-    333f:	85 d2                	test   %edx,%edx
-    3341:	75 b2                	jne    0x32f5
-    3343:	8b 5d e0             	mov    -0x20(%ebp),%ebx
-    3346:	85 db                	test   %ebx,%ebx
-    3348:	75 9e                	jne    0x32e8
-    334a:	eb b0                	jmp    0x32fc
-    334c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    3350:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
-    3357:	e9 78 fe ff ff       	jmp    0x31d4
-    335c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    3360:	8b 79 28             	mov    0x28(%ecx),%edi
-    3363:	83 ff ff             	cmp    $0xffffffff,%edi
-    3366:	89 7d f0             	mov    %edi,-0x10(%ebp)
-    3369:	74 09                	je     0x3374
-    336b:	39 7d e0             	cmp    %edi,-0x20(%ebp)
-    336e:	0f 85 57 02 00 00    	jne    0x35cb
-    3374:	8b 7d e0             	mov    -0x20(%ebp),%edi
-    3377:	89 79 28             	mov    %edi,0x28(%ecx)
-    337a:	e9 9f fe ff ff       	jmp    0x321e
-    337f:	90                   	nop
-    3380:	8b 7d d4             	mov    -0x2c(%ebp),%edi
-    3383:	8b 75 d0             	mov    -0x30(%ebp),%esi
-    3386:	eb b4                	jmp    0x333c
-    3388:	80 7f 21 00          	cmpb   $0x0,0x21(%edi)
-    338c:	0f 85 9e fd ff ff    	jne    0x3130
-    3392:	eb 94                	jmp    0x3328
-    3394:	8d 46 04             	lea    0x4(%esi),%eax
-    3397:	89 45 f0             	mov    %eax,-0x10(%ebp)
-    339a:	e8 61 cc ff ff       	call   0x0
-    339f:	8d 57 04             	lea    0x4(%edi),%edx
-    33a2:	89 55 d4             	mov    %edx,-0x2c(%ebp)
-    33a5:	89 45 e4             	mov    %eax,-0x1c(%ebp)
-    33a8:	89 d0                	mov    %edx,%eax
-    33aa:	e8 51 cc ff ff       	call   0x0
-    33af:	39 45 dc             	cmp    %eax,-0x24(%ebp)
-    33b2:	0f 85 f5 00 00 00    	jne    0x34ad
-    33b8:	8b 45 e4             	mov    -0x1c(%ebp),%eax
-    33bb:	39 45 d8             	cmp    %eax,-0x28(%ebp)
-    33be:	0f 85 24 ff ff ff    	jne    0x32e8
-    33c4:	80 7e 21 00          	cmpb   $0x0,0x21(%esi)
-    33c8:	0f 84 86 fd ff ff    	je     0x3154
-    33ce:	0f b6 46 22          	movzbl 0x22(%esi),%eax
-    33d2:	a8 01                	test   $0x1,%al
-    33d4:	0f 84 bb 00 00 00    	je     0x3495
-    33da:	0f b6 57 22          	movzbl 0x22(%edi),%edx
-    33de:	f6 c2 01             	test   $0x1,%dl
-    33e1:	0f 84 01 ff ff ff    	je     0x32e8
-    33e7:	a8 02                	test   $0x2,%al
-    33e9:	74 7d                	je     0x3468
-    33eb:	83 e2 02             	and    $0x2,%edx
-    33ee:	66 90                	xchg   %ax,%ax
-    33f0:	0f 84 32 ff ff ff    	je     0x3328
-    33f6:	66 90                	xchg   %ax,%ax
-    33f8:	8b 06                	mov    (%esi),%eax
-    33fa:	b9 ff ff ff 7f       	mov    $0x7fffffff,%ecx
-    33ff:	8b 15 48 00 00 00    	mov    0x48,%edx
-    3405:	8b 40 14             	mov    0x14(%eax),%eax
-    3408:	e8 e3 fb ff ff       	call   0x2ff0
-    340d:	8b 15 48 00 00 00    	mov    0x48,%edx
-    3413:	b9 ff ff ff 7f       	mov    $0x7fffffff,%ecx
-    3418:	89 45 e0             	mov    %eax,-0x20(%ebp)
-    341b:	8b 45 f0             	mov    -0x10(%ebp),%eax
-    341e:	e8 cd fb ff ff       	call   0x2ff0
-    3423:	8b 15 48 00 00 00    	mov    0x48,%edx
-    3429:	b9 ff ff ff 7f       	mov    $0x7fffffff,%ecx
-    342e:	89 45 e4             	mov    %eax,-0x1c(%ebp)
-    3431:	8b 07                	mov    (%edi),%eax
-    3433:	8b 40 14             	mov    0x14(%eax),%eax
-    3436:	e8 b5 fb ff ff       	call   0x2ff0
-    343b:	8b 15 48 00 00 00    	mov    0x48,%edx
-    3441:	b9 ff ff ff 7f       	mov    $0x7fffffff,%ecx
-    3446:	89 45 f0             	mov    %eax,-0x10(%ebp)
-    3449:	8b 45 d4             	mov    -0x2c(%ebp),%eax
-    344c:	e8 9f fb ff ff       	call   0x2ff0
-    3451:	39 45 f0             	cmp    %eax,-0x10(%ebp)
-    3454:	75 2a                	jne    0x3480
-    3456:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
-    3459:	39 4d e0             	cmp    %ecx,-0x20(%ebp)
-    345c:	0f 85 86 fe ff ff    	jne    0x32e8
-    3462:	e9 ed fc ff ff       	jmp    0x3154
-    3467:	90                   	nop
-    3468:	83 e2 02             	and    $0x2,%edx
-    346b:	90                   	nop
-    346c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    3470:	74 86                	je     0x33f8
+    27e0:	c7 45 c8 00 00 00 00 	movl   $0x0,-0x38(%ebp)
+    27e7:	83 f8 02             	cmp    $0x2,%eax
+    27ea:	74 0d                	je     0x27f9
+    27ec:	85 c0                	test   %eax,%eax
+    27ee:	74 09                	je     0x27f9
+    27f0:	83 f8 1c             	cmp    $0x1c,%eax
+    27f3:	0f 85 70 06 00 00    	jne    0x2e69
+    27f9:	8d 45 c8             	lea    -0x38(%ebp),%eax
+    27fc:	89 f1                	mov    %esi,%ecx
+    27fe:	89 44 24 04          	mov    %eax,0x4(%esp)
+    2802:	8d 45 d8             	lea    -0x28(%ebp),%eax
+    2805:	89 04 24             	mov    %eax,(%esp)
+    2808:	8b 85 14 ff ff ff    	mov    -0xec(%ebp),%eax
+    280e:	e8 fd dc ff ff       	call   0x510
+    2813:	85 c0                	test   %eax,%eax
+    2815:	89 c3                	mov    %eax,%ebx
+    2817:	0f 85 d7 05 00 00    	jne    0x2df4
+    281d:	8b 45 d8             	mov    -0x28(%ebp),%eax
+    2820:	c7 85 00 ff ff ff 00 	movl   $0x0,-0x100(%ebp)
+    2827:	00 00 00 
+    282a:	85 c0                	test   %eax,%eax
+    282c:	74 16                	je     0x2844
+    282e:	8b 95 00 ff ff ff    	mov    -0x100(%ebp),%edx
+    2834:	8b 40 1c             	mov    0x1c(%eax),%eax
+    2837:	83 c2 01             	add    $0x1,%edx
+    283a:	85 c0                	test   %eax,%eax
+    283c:	75 f6                	jne    0x2834
+    283e:	89 95 00 ff ff ff    	mov    %edx,-0x100(%ebp)
+    2844:	83 7d c8 01          	cmpl   $0x1,-0x38(%ebp)
+    2848:	0f 86 42 05 00 00    	jbe    0x2d90
+    284e:	a1 30 00 00 00       	mov    0x30,%eax
+    2853:	89 a5 ec fe ff ff    	mov    %esp,-0x114(%ebp)
+    2859:	89 85 f0 fe ff ff    	mov    %eax,-0x110(%ebp)
+    285f:	b8 00 00 00 00       	mov    $0x0,%eax
+    2864:	85 c0                	test   %eax,%eax
+    2866:	0f 84 12 06 00 00    	je     0x2e7e
+    286c:	c7 44 24 04 80 1a 00 	movl   $0x1a80,0x4(%esp)
+    2873:	00 
+    2874:	c7 04 24 30 00 00 00 	movl   $0x30,(%esp)
+    287b:	e8 fc ff ff ff       	call   0x287c
+    2880:	6b 85 00 ff ff ff 2c 	imul   $0x2c,-0x100(%ebp),%eax
+    2887:	8b 8d 00 ff ff ff    	mov    -0x100(%ebp),%ecx
+    288d:	83 c0 10             	add    $0x10,%eax
+    2890:	29 c4                	sub    %eax,%esp
+    2892:	8d 04 8d 10 00 00 00 	lea    0x10(,%ecx,4),%eax
+    2899:	8d 54 24 23          	lea    0x23(%esp),%edx
+    289d:	29 c4                	sub    %eax,%esp
+    289f:	8b 45 d4             	mov    -0x2c(%ebp),%eax
+    28a2:	8d 74 24 23          	lea    0x23(%esp),%esi
+    28a6:	83 e2 f0             	and    $0xfffffff0,%edx
+    28a9:	83 e6 f0             	and    $0xfffffff0,%esi
+    28ac:	89 95 08 ff ff ff    	mov    %edx,-0xf8(%ebp)
+    28b2:	85 c0                	test   %eax,%eax
+    28b4:	89 b5 fc fe ff ff    	mov    %esi,-0x104(%ebp)
+    28ba:	74 1f                	je     0x28db
+    28bc:	c7 44 24 0c f0 03 00 	movl   $0x3f0,0xc(%esp)
+    28c3:	00 
+    28c4:	c7 44 24 08 18 00 00 	movl   $0x18,0x8(%esp)
+    28cb:	00 
+    28cc:	8b 55 d0             	mov    -0x30(%ebp),%edx
+    28cf:	89 04 24             	mov    %eax,(%esp)
+    28d2:	89 54 24 04          	mov    %edx,0x4(%esp)
+    28d6:	e8 fc ff ff ff       	call   0x28d7
+    28db:	8b 7d d8             	mov    -0x28(%ebp),%edi
+    28de:	31 f6                	xor    %esi,%esi
+    28e0:	85 ff                	test   %edi,%edi
+    28e2:	89 bd 14 ff ff ff    	mov    %edi,-0xec(%ebp)
+    28e8:	0f 84 03 04 00 00    	je     0x2cf1
+    28ee:	8d 55 a4             	lea    -0x5c(%ebp),%edx
+    28f1:	8b 9d 08 ff ff ff    	mov    -0xf8(%ebp),%ebx
+    28f7:	31 c0                	xor    %eax,%eax
+    28f9:	c7 85 f8 fe ff ff 00 	movl   $0x0,-0x108(%ebp)
+    2900:	00 00 00 
+    2903:	c7 85 04 ff ff ff ff 	movl   $0xffffffff,-0xfc(%ebp)
+    290a:	ff ff ff 
+    290d:	c7 85 f4 fe ff ff 00 	movl   $0x0,-0x10c(%ebp)
+    2914:	00 00 00 
+    2917:	c7 85 0c ff ff ff 00 	movl   $0x0,-0xf4(%ebp)
+    291e:	00 00 00 
+    2921:	89 95 e0 fe ff ff    	mov    %edx,-0x120(%ebp)
+    2927:	e9 1f 01 00 00       	jmp    0x2a4b
+    292c:	c6 43 22 00          	movb   $0x0,0x22(%ebx)
+    2930:	c6 43 23 00          	movb   $0x0,0x23(%ebx)
+    2934:	83 bd 04 ff ff ff ff 	cmpl   $0xffffffff,-0xfc(%ebp)
+    293b:	c6 43 21 00          	movb   $0x0,0x21(%ebx)
+    293f:	c7 43 24 ff ff ff ff 	movl   $0xffffffff,0x24(%ebx)
+    2946:	0f 84 b2 01 00 00    	je     0x2afe
+    294c:	83 bd f8 fe ff ff 02 	cmpl   $0x2,-0x108(%ebp)
+    2953:	75 10                	jne    0x2965
+    2955:	8b bd 14 ff ff ff    	mov    -0xec(%ebp),%edi
+    295b:	83 7f 04 1c          	cmpl   $0x1c,0x4(%edi)
+    295f:	0f 84 88 01 00 00    	je     0x2aed
+    2965:	8d 75 e0             	lea    -0x20(%ebp),%esi
+    2968:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
+    296f:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
+    2976:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
+    297d:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
+    2984:	c7 44 24 08 10 00 00 	movl   $0x10,0x8(%esp)
+    298b:	00 
+    298c:	89 74 24 04          	mov    %esi,0x4(%esp)
+    2990:	8b bd 04 ff ff ff    	mov    -0xfc(%ebp),%edi
+    2996:	89 3c 24             	mov    %edi,(%esp)
+    2999:	e8 fc ff ff ff       	call   0x299a
+    299e:	c7 45 c4 1c 00 00 00 	movl   $0x1c,-0x3c(%ebp)
+    29a5:	8b 85 14 ff ff ff    	mov    -0xec(%ebp),%eax
+    29ab:	8b 50 10             	mov    0x10(%eax),%edx
+    29ae:	8b 40 14             	mov    0x14(%eax),%eax
+    29b1:	89 54 24 08          	mov    %edx,0x8(%esp)
+    29b5:	89 44 24 04          	mov    %eax,0x4(%esp)
+    29b9:	8b b5 04 ff ff ff    	mov    -0xfc(%ebp),%esi
+    29bf:	89 34 24             	mov    %esi,(%esp)
+    29c2:	e8 fc ff ff ff       	call   0x29c3
+    29c7:	85 c0                	test   %eax,%eax
+    29c9:	0f 84 c0 01 00 00    	je     0x2b8f
+    29cf:	e8 fc ff ff ff       	call   0x29d0
+    29d4:	83 38 2f             	cmpl   $0x2f,(%eax)
+    29d7:	75 19                	jne    0x29f2
+    29d9:	83 bd f8 fe ff ff 1c 	cmpl   $0x1c,-0x108(%ebp)
+    29e0:	75 10                	jne    0x29f2
+    29e2:	8b bd 14 ff ff ff    	mov    -0xec(%ebp),%edi
+    29e8:	83 7f 04 02          	cmpl   $0x2,0x4(%edi)
+    29ec:	0f 84 fb 00 00 00    	je     0x2aed
+    29f2:	c6 43 20 00          	movb   $0x0,0x20(%ebx)
+    29f6:	8b 85 14 ff ff ff    	mov    -0xec(%ebp),%eax
+    29fc:	8b 70 18             	mov    0x18(%eax),%esi
+    29ff:	85 f6                	test   %esi,%esi
+    2a01:	0f 84 7d 01 00 00    	je     0x2b84
+    2a07:	8b 95 f4 fe ff ff    	mov    -0x10c(%ebp),%edx
+    2a0d:	85 d2                	test   %edx,%edx
+    2a0f:	0f 85 30 04 00 00    	jne    0x2e45
+    2a15:	8b 95 14 ff ff ff    	mov    -0xec(%ebp),%edx
+    2a1b:	c7 42 18 00 00 00 00 	movl   $0x0,0x18(%edx)
+    2a22:	8b 8d 14 ff ff ff    	mov    -0xec(%ebp),%ecx
+    2a28:	83 c3 2c             	add    $0x2c,%ebx
+    2a2b:	8b 51 1c             	mov    0x1c(%ecx),%edx
+    2a2e:	85 d2                	test   %edx,%edx
+    2a30:	0f 84 a1 02 00 00    	je     0x2cd7
+    2a36:	83 85 0c ff ff ff 01 	addl   $0x1,-0xf4(%ebp)
+    2a3d:	89 c8                	mov    %ecx,%eax
+    2a3f:	89 b5 f4 fe ff ff    	mov    %esi,-0x10c(%ebp)
+    2a45:	89 95 14 ff ff ff    	mov    %edx,-0xec(%ebp)
+    2a4b:	8b 8d 14 ff ff ff    	mov    -0xec(%ebp),%ecx
+    2a51:	85 c0                	test   %eax,%eax
+    2a53:	8b b5 0c ff ff ff    	mov    -0xf4(%ebp),%esi
+    2a59:	8b bd fc fe ff ff    	mov    -0x104(%ebp),%edi
+    2a5f:	c7 43 28 ff ff ff ff 	movl   $0xffffffff,0x28(%ebx)
+    2a66:	89 0b                	mov    %ecx,(%ebx)
+    2a68:	89 34 b7             	mov    %esi,(%edi,%esi,4)
+    2a6b:	0f 84 bb fe ff ff    	je     0x292c
+    2a71:	8b 50 10             	mov    0x10(%eax),%edx
+    2a74:	3b 51 10             	cmp    0x10(%ecx),%edx
+    2a77:	0f 85 af fe ff ff    	jne    0x292c
+    2a7d:	8b 40 14             	mov    0x14(%eax),%eax
+    2a80:	8b 49 14             	mov    0x14(%ecx),%ecx
+    2a83:	89 54 24 08          	mov    %edx,0x8(%esp)
+    2a87:	89 04 24             	mov    %eax,(%esp)
+    2a8a:	89 4c 24 04          	mov    %ecx,0x4(%esp)
+    2a8e:	e8 fc ff ff ff       	call   0x2a8f
+    2a93:	85 c0                	test   %eax,%eax
+    2a95:	0f 85 91 fe ff ff    	jne    0x292c
+    2a9b:	8b 8d 08 ff ff ff    	mov    -0xf8(%ebp),%ecx
+    2aa1:	6b c6 2c             	imul   $0x2c,%esi,%eax
+    2aa4:	8b b5 08 ff ff ff    	mov    -0xf8(%ebp),%esi
+    2aaa:	8d 54 01 04          	lea    0x4(%ecx,%eax,1),%edx
+    2aae:	0f b6 4b f4          	movzbl -0xc(%ebx),%ecx
+    2ab2:	8d 44 06 d8          	lea    -0x28(%esi,%eax,1),%eax
+    2ab6:	89 44 24 04          	mov    %eax,0x4(%esp)
+    2aba:	89 14 24             	mov    %edx,(%esp)
+    2abd:	89 4c 24 08          	mov    %ecx,0x8(%esp)
+    2ac1:	e8 fc ff ff ff       	call   0x2ac2
+    2ac6:	0f b6 43 f4          	movzbl -0xc(%ebx),%eax
+    2aca:	88 43 20             	mov    %al,0x20(%ebx)
+    2acd:	0f b6 43 f5          	movzbl -0xb(%ebx),%eax
+    2ad1:	88 43 21             	mov    %al,0x21(%ebx)
+    2ad4:	0f b6 43 f6          	movzbl -0xa(%ebx),%eax
+    2ad8:	88 43 22             	mov    %al,0x22(%ebx)
+    2adb:	0f b6 43 f7          	movzbl -0x9(%ebx),%eax
+    2adf:	88 43 23             	mov    %al,0x23(%ebx)
+    2ae2:	8b 43 f8             	mov    -0x8(%ebx),%eax
+    2ae5:	89 43 24             	mov    %eax,0x24(%ebx)
+    2ae8:	e9 09 ff ff ff       	jmp    0x29f6
+    2aed:	b8 06 00 00 00       	mov    $0x6,%eax
+    2af2:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
+    2af8:	52                   	push   %edx
+    2af9:	50                   	push   %eax
+    2afa:	cd 80                	int    $0x80
+    2afc:	5a                   	pop    %edx
+    2afd:	5a                   	pop    %edx
+    2afe:	8b 8d 14 ff ff ff    	mov    -0xec(%ebp),%ecx
+    2b04:	8b 49 04             	mov    0x4(%ecx),%ecx
+    2b07:	89 8d f8 fe ff ff    	mov    %ecx,-0x108(%ebp)
+    2b0d:	c7 44 24 08 00 00 00 	movl   $0x0,0x8(%esp)
+    2b14:	00 
+    2b15:	c7 44 24 04 02 00 00 	movl   $0x2,0x4(%esp)
+    2b1c:	00 
+    2b1d:	89 0c 24             	mov    %ecx,(%esp)
+    2b20:	e8 fc ff ff ff       	call   0x2b21
+    2b25:	c7 45 c4 1c 00 00 00 	movl   $0x1c,-0x3c(%ebp)
+    2b2c:	83 f8 ff             	cmp    $0xffffffff,%eax
+    2b2f:	89 85 04 ff ff ff    	mov    %eax,-0xfc(%ebp)
+    2b35:	0f 84 94 fe ff ff    	je     0x29cf
+    2b3b:	e9 65 fe ff ff       	jmp    0x29a5
+    2b40:	8d 45 cc             	lea    -0x34(%ebp),%eax
+    2b43:	89 5d bc             	mov    %ebx,-0x44(%ebp)
+    2b46:	c7 44 24 08 0a 00 00 	movl   $0xa,0x8(%esp)
+    2b4d:	00 
+    2b4e:	89 44 24 04          	mov    %eax,0x4(%esp)
+    2b52:	89 1c 24             	mov    %ebx,(%esp)
+    2b55:	e8 fc ff ff ff       	call   0x2b56
+    2b5a:	89 45 c0             	mov    %eax,-0x40(%ebp)
+    2b5d:	8b 45 cc             	mov    -0x34(%ebp),%eax
+    2b60:	80 38 00             	cmpb   $0x0,(%eax)
+    2b63:	74 12                	je     0x2b77
+    2b65:	8b 06                	mov    (%esi),%eax
+    2b67:	f6 c4 04             	test   $0x4,%ah
+    2b6a:	0f 85 de 03 00 00    	jne    0x2f4e
+    2b70:	c7 45 c0 ff ff ff ff 	movl   $0xffffffff,-0x40(%ebp)
+    2b77:	8d 55 bc             	lea    -0x44(%ebp),%edx
+    2b7a:	e9 5e fc ff ff       	jmp    0x27dd
+    2b7f:	e8 fc ff ff ff       	call   0x2b80
+    2b84:	8b b5 f4 fe ff ff    	mov    -0x10c(%ebp),%esi
+    2b8a:	e9 93 fe ff ff       	jmp    0x2a22
+    2b8f:	6b 85 0c ff ff ff 2c 	imul   $0x2c,-0xf4(%ebp),%eax
+    2b96:	8b bd 08 ff ff ff    	mov    -0xf8(%ebp),%edi
+    2b9c:	89 34 24             	mov    %esi,(%esp)
+    2b9f:	8d 54 07 04          	lea    0x4(%edi,%eax,1),%edx
+    2ba3:	8d 45 c4             	lea    -0x3c(%ebp),%eax
+    2ba6:	89 54 24 04          	mov    %edx,0x4(%esp)
+    2baa:	89 44 24 08          	mov    %eax,0x8(%esp)
+    2bae:	89 95 e8 fe ff ff    	mov    %edx,-0x118(%ebp)
+    2bb4:	e8 fc ff ff ff       	call   0x2bb5
+    2bb9:	8b 95 e8 fe ff ff    	mov    -0x118(%ebp),%edx
+    2bbf:	85 c0                	test   %eax,%eax
+    2bc1:	0f 85 08 fe ff ff    	jne    0x29cf
+    2bc7:	8b 45 c4             	mov    -0x3c(%ebp),%eax
+    2bca:	c6 43 21 01          	movb   $0x1,0x21(%ebx)
+    2bce:	88 43 20             	mov    %al,0x20(%ebx)
+    2bd1:	83 7d d4 00          	cmpl   $0x0,-0x2c(%ebp)
+    2bd5:	0f 84 9a 00 00 00    	je     0x2c75
+    2bdb:	83 bd f8 fe ff ff 02 	cmpl   $0x2,-0x108(%ebp)
+    2be2:	0f 85 3a 02 00 00    	jne    0x2e22
+    2be8:	8b 8d 14 ff ff ff    	mov    -0xec(%ebp),%ecx
+    2bee:	83 79 04 02          	cmpl   $0x2,0x4(%ecx)
+    2bf2:	0f 85 2a 02 00 00    	jne    0x2e22
+    2bf8:	c7 45 a4 00 00 00 00 	movl   $0x0,-0x5c(%ebp)
+    2bff:	b9 7f 00 00 01       	mov    $0x100007f,%ecx
+    2c04:	c7 45 a8 00 00 00 00 	movl   $0x0,-0x58(%ebp)
+    2c0b:	c7 45 ac 00 00 ff ff 	movl   $0xffff0000,-0x54(%ebp)
+    2c12:	8b 72 04             	mov    0x4(%edx),%esi
+    2c15:	89 f0                	mov    %esi,%eax
+    2c17:	0f c8                	bswap  %eax
+    2c19:	25 00 00 00 ff       	and    $0xff000000,%eax
+    2c1e:	3d 00 00 00 7f       	cmp    $0x7f000000,%eax
+    2c23:	0f 45 ce             	cmovne %esi,%ecx
+    2c26:	89 4d b0             	mov    %ecx,-0x50(%ebp)
+    2c29:	c7 44 24 10 f0 03 00 	movl   $0x3f0,0x10(%esp)
+    2c30:	00 
+    2c31:	c7 44 24 0c 18 00 00 	movl   $0x18,0xc(%esp)
+    2c38:	00 
+    2c39:	8b 45 d0             	mov    -0x30(%ebp),%eax
+    2c3c:	89 44 24 08          	mov    %eax,0x8(%esp)
+    2c40:	8b 45 d4             	mov    -0x2c(%ebp),%eax
+    2c43:	89 44 24 04          	mov    %eax,0x4(%esp)
+    2c47:	8d 45 9c             	lea    -0x64(%ebp),%eax
+    2c4a:	89 04 24             	mov    %eax,(%esp)
+    2c4d:	89 95 e8 fe ff ff    	mov    %edx,-0x118(%ebp)
+    2c53:	e8 fc ff ff ff       	call   0x2c54
+    2c58:	8b 95 e8 fe ff ff    	mov    -0x118(%ebp),%edx
+    2c5e:	85 c0                	test   %eax,%eax
+    2c60:	74 13                	je     0x2c75
+    2c62:	0f b6 08             	movzbl (%eax),%ecx
+    2c65:	88 4b 22             	mov    %cl,0x22(%ebx)
+    2c68:	0f b6 48 01          	movzbl 0x1(%eax),%ecx
+    2c6c:	88 4b 23             	mov    %cl,0x23(%ebx)
+    2c6f:	8b 40 04             	mov    0x4(%eax),%eax
+    2c72:	89 43 24             	mov    %eax,0x24(%ebx)
+    2c75:	83 bd f8 fe ff ff 1c 	cmpl   $0x1c,-0x108(%ebp)
+    2c7c:	0f 85 74 fd ff ff    	jne    0x29f6
+    2c82:	8b 8d 14 ff ff ff    	mov    -0xec(%ebp),%ecx
+    2c88:	83 79 04 02          	cmpl   $0x2,0x4(%ecx)
+    2c8c:	0f 85 64 fd ff ff    	jne    0x29f6
+    2c92:	83 7b 0c 00          	cmpl   $0x0,0xc(%ebx)
+    2c96:	0f 85 03 02 00 00    	jne    0x2e9f
+    2c9c:	83 7b 10 00          	cmpl   $0x0,0x10(%ebx)
+    2ca0:	0f 85 f9 01 00 00    	jne    0x2e9f
+    2ca6:	81 7b 14 00 00 ff ff 	cmpl   $0xffff0000,0x14(%ebx)
+    2cad:	8d 76 00             	lea    0x0(%esi),%esi
+    2cb0:	0f 85 e9 01 00 00    	jne    0x2e9f
+    2cb6:	c6 42 01 02          	movb   $0x2,0x1(%edx)
+    2cba:	8b b5 08 ff ff ff    	mov    -0xf8(%ebp),%esi
+    2cc0:	6b 85 0c ff ff ff 2c 	imul   $0x2c,-0xf4(%ebp),%eax
+    2cc7:	8b 44 06 18          	mov    0x18(%esi,%eax,1),%eax
+    2ccb:	89 42 04             	mov    %eax,0x4(%edx)
+    2cce:	c6 43 20 10          	movb   $0x10,0x20(%ebx)
+    2cd2:	e9 1f fd ff ff       	jmp    0x29f6
+    2cd7:	83 bd 04 ff ff ff ff 	cmpl   $0xffffffff,-0xfc(%ebp)
+    2cde:	74 11                	je     0x2cf1
+    2ce0:	b8 06 00 00 00       	mov    $0x6,%eax
+    2ce5:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
+    2ceb:	52                   	push   %edx
+    2cec:	50                   	push   %eax
+    2ced:	cd 80                	int    $0x80
+    2cef:	5a                   	pop    %edx
+    2cf0:	5a                   	pop    %edx
+    2cf1:	8b 8d 08 ff ff ff    	mov    -0xf8(%ebp),%ecx
+    2cf7:	8b bd 00 ff ff ff    	mov    -0x100(%ebp),%edi
+    2cfd:	83 3d 54 00 00 00 00 	cmpl   $0x0,0x54
+    2d04:	89 4d b4             	mov    %ecx,-0x4c(%ebp)
+    2d07:	89 7d b8             	mov    %edi,-0x48(%ebp)
+    2d0a:	0f 85 b3 01 00 00    	jne    0x2ec3
+    2d10:	8d 45 b4             	lea    -0x4c(%ebp),%eax
+    2d13:	89 44 24 10          	mov    %eax,0x10(%esp)
+    2d17:	c7 44 24 0c c0 30 00 	movl   $0x30c0,0xc(%esp)
+    2d1e:	00 
+    2d1f:	c7 44 24 08 04 00 00 	movl   $0x4,0x8(%esp)
+    2d26:	00 
+    2d27:	8b 8d 00 ff ff ff    	mov    -0x100(%ebp),%ecx
+    2d2d:	89 4c 24 04          	mov    %ecx,0x4(%esp)
+    2d31:	8b bd fc fe ff ff    	mov    -0x104(%ebp),%edi
+    2d37:	89 3c 24             	mov    %edi,(%esp)
+    2d3a:	e8 fc ff ff ff       	call   0x2d3b
+    2d3f:	8b 95 fc fe ff ff    	mov    -0x104(%ebp),%edx
+    2d45:	8b 8d 08 ff ff ff    	mov    -0xf8(%ebp),%ecx
+    2d4b:	6b 02 2c             	imul   $0x2c,(%edx),%eax
+    2d4e:	8b 1c 08             	mov    (%eax,%ecx,1),%ebx
+    2d51:	b8 01 00 00 00       	mov    $0x1,%eax
+    2d56:	89 d9                	mov    %ebx,%ecx
+    2d58:	eb 1b                	jmp    0x2d75
+    2d5a:	8b bd fc fe ff ff    	mov    -0x104(%ebp),%edi
+    2d60:	6b 14 87 2c          	imul   $0x2c,(%edi,%eax,4),%edx
+    2d64:	83 c0 01             	add    $0x1,%eax
+    2d67:	8b bd 08 ff ff ff    	mov    -0xf8(%ebp),%edi
+    2d6d:	8b 14 3a             	mov    (%edx,%edi,1),%edx
+    2d70:	89 51 1c             	mov    %edx,0x1c(%ecx)
+    2d73:	89 d1                	mov    %edx,%ecx
+    2d75:	39 85 00 ff ff ff    	cmp    %eax,-0x100(%ebp)
+    2d7b:	7f dd                	jg     0x2d5a
+    2d7d:	c7 41 1c 00 00 00 00 	movl   $0x0,0x1c(%ecx)
+    2d84:	89 73 18             	mov    %esi,0x18(%ebx)
+    2d87:	89 5d d8             	mov    %ebx,-0x28(%ebp)
+    2d8a:	8b a5 ec fe ff ff    	mov    -0x114(%ebp),%esp
+    2d90:	8b 45 d4             	mov    -0x2c(%ebp),%eax
+    2d93:	89 04 24             	mov    %eax,(%esp)
+    2d96:	e8 fc ff ff ff       	call   0x2d97
+    2d9b:	8b 45 d8             	mov    -0x28(%ebp),%eax
+    2d9e:	85 c0                	test   %eax,%eax
+    2da0:	0f 84 8a f9 ff ff    	je     0x2730
+    2da6:	8b 95 10 ff ff ff    	mov    -0xf0(%ebp),%edx
+    2dac:	89 02                	mov    %eax,(%edx)
+    2dae:	31 c0                	xor    %eax,%eax
+    2db0:	e9 80 f9 ff ff       	jmp    0x2735
+    2db5:	80 7d df 00          	cmpb   $0x0,-0x21(%ebp)
+    2db9:	75 5b                	jne    0x2e16
+    2dbb:	80 7d de 00          	cmpb   $0x0,-0x22(%ebp)
+    2dbf:	0f 84 06 fa ff ff    	je     0x27cb
+    2dc5:	80 7d df 01          	cmpb   $0x1,-0x21(%ebp)
+    2dc9:	b9 08 00 00 00       	mov    $0x8,%ecx
+    2dce:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
+    2dd4:	89 c7                	mov    %eax,%edi
+    2dd6:	89 85 e4 fe ff ff    	mov    %eax,-0x11c(%ebp)
+    2ddc:	19 c0                	sbb    %eax,%eax
+    2dde:	83 e0 1a             	and    $0x1a,%eax
+    2de1:	83 c0 02             	add    $0x2,%eax
+    2de4:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
+    2de6:	8d b5 7c ff ff ff    	lea    -0x84(%ebp),%esi
+    2dec:	89 45 80             	mov    %eax,-0x80(%ebp)
+    2def:	e9 d7 f9 ff ff       	jmp    0x27cb
+    2df4:	8b 45 d8             	mov    -0x28(%ebp),%eax
+    2df7:	89 04 24             	mov    %eax,(%esp)
+    2dfa:	e8 fc ff ff ff       	call   0x2dfb
+    2dff:	8b 45 d4             	mov    -0x2c(%ebp),%eax
+    2e02:	89 04 24             	mov    %eax,(%esp)
+    2e05:	e8 fc ff ff ff       	call   0x2e06
+    2e0a:	89 d8                	mov    %ebx,%eax
+    2e0c:	80 e4 fe             	and    $0xfe,%ah
+    2e0f:	f7 d8                	neg    %eax
+    2e11:	e9 1f f9 ff ff       	jmp    0x2735
+    2e16:	80 7d de 00          	cmpb   $0x0,-0x22(%ebp)
+    2e1a:	0f 85 ab f9 ff ff    	jne    0x27cb
+    2e20:	eb a3                	jmp    0x2dc5
+    2e22:	8b bd 08 ff ff ff    	mov    -0xf8(%ebp),%edi
+    2e28:	b9 04 00 00 00       	mov    $0x4,%ecx
+    2e2d:	6b 85 0c ff ff ff 2c 	imul   $0x2c,-0xf4(%ebp),%eax
+    2e34:	8d 74 07 0c          	lea    0xc(%edi,%eax,1),%esi
+    2e38:	8b bd e0 fe ff ff    	mov    -0x120(%ebp),%edi
+    2e3e:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
+    2e40:	e9 e4 fd ff ff       	jmp    0x2c29
+    2e45:	c7 44 24 0c 03 01 00 	movl   $0x103,0xc(%esp)
+    2e4c:	00 
+    2e4d:	c7 44 24 08 32 09 00 	movl   $0x932,0x8(%esp)
+    2e54:	00 
+    2e55:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
+    2e5c:	00 
+    2e5d:	c7 04 24 ea 00 00 00 	movl   $0xea,(%esp)
+    2e64:	e8 fc ff ff ff       	call   0x2e65
+    2e69:	8b 45 d4             	mov    -0x2c(%ebp),%eax
+    2e6c:	89 04 24             	mov    %eax,(%esp)
+    2e6f:	e8 fc ff ff ff       	call   0x2e70
+    2e74:	b8 fa ff ff ff       	mov    $0xfffffffa,%eax
+    2e79:	e9 b7 f8 ff ff       	jmp    0x2735
+    2e7e:	83 bd f0 fe ff ff 00 	cmpl   $0x0,-0x110(%ebp)
+    2e85:	0f 85 f5 f9 ff ff    	jne    0x2880
+    2e8b:	e8 f0 eb ff ff       	call   0x1a80
+    2e90:	c7 05 30 00 00 00 02 	movl   $0x2,0x30
+    2e97:	00 00 00 
+    2e9a:	e9 e1 f9 ff ff       	jmp    0x2880
+    2e9f:	c7 44 24 0c 03 01 00 	movl   $0x103,0xc(%esp)
+    2ea6:	00 
+    2ea7:	c7 44 24 08 17 09 00 	movl   $0x917,0x8(%esp)
+    2eae:	00 
+    2eaf:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
+    2eb6:	00 
+    2eb7:	c7 04 24 20 00 00 00 	movl   $0x20,(%esp)
+    2ebe:	e8 fc ff ff ff       	call   0x2ebf
+    2ec3:	b8 00 00 00 00       	mov    $0x0,%eax
+    2ec8:	85 c0                	test   %eax,%eax
+    2eca:	74 0c                	je     0x2ed8
+    2ecc:	c7 04 24 18 00 00 00 	movl   $0x18,(%esp)
+    2ed3:	e8 fc ff ff ff       	call   0x2ed4
+    2ed8:	83 bd f0 fe ff ff 00 	cmpl   $0x0,-0x110(%ebp)
+    2edf:	74 0d                	je     0x2eee
+    2ee1:	83 3d 50 00 00 00 00 	cmpl   $0x0,0x50
+    2ee8:	0f 85 7c 00 00 00    	jne    0x2f6a
+    2eee:	8d 45 b4             	lea    -0x4c(%ebp),%eax
+    2ef1:	89 44 24 10          	mov    %eax,0x10(%esp)
+    2ef5:	c7 44 24 0c c0 30 00 	movl   $0x30c0,0xc(%esp)
+    2efc:	00 
+    2efd:	c7 44 24 08 04 00 00 	movl   $0x4,0x8(%esp)
+    2f04:	00 
+    2f05:	8b 85 00 ff ff ff    	mov    -0x100(%ebp),%eax
+    2f0b:	89 44 24 04          	mov    %eax,0x4(%esp)
+    2f0f:	8b 95 fc fe ff ff    	mov    -0x104(%ebp),%edx
+    2f15:	89 14 24             	mov    %edx,(%esp)
+    2f18:	e8 fc ff ff ff       	call   0x2f19
+    2f1d:	b8 00 00 00 00       	mov    $0x0,%eax
+    2f22:	85 c0                	test   %eax,%eax
+    2f24:	0f 84 15 fe ff ff    	je     0x2d3f
+    2f2a:	c7 04 24 18 00 00 00 	movl   $0x18,(%esp)
+    2f31:	e8 fc ff ff ff       	call   0x2f32
+    2f36:	e9 04 fe ff ff       	jmp    0x2d3f
+    2f3b:	83 f8 1c             	cmp    $0x1c,%eax
+    2f3e:	0f 85 87 f8 ff ff    	jne    0x27cb
+    2f44:	80 7d de 00          	cmpb   $0x0,-0x22(%ebp)
+    2f48:	0f 85 7d f8 ff ff    	jne    0x27cb
+    2f4e:	8b 45 d4             	mov    -0x2c(%ebp),%eax
+    2f51:	89 04 24             	mov    %eax,(%esp)
+    2f54:	e8 fc ff ff ff       	call   0x2f55
+    2f59:	b8 fe ff ff ff       	mov    $0xfffffffe,%eax
+    2f5e:	e9 d2 f7 ff ff       	jmp    0x2735
+    2f63:	31 db                	xor    %ebx,%ebx
+    2f65:	e9 88 f7 ff ff       	jmp    0x26f2
+    2f6a:	8d 85 18 ff ff ff    	lea    -0xe8(%ebp),%eax
+    2f70:	89 44 24 08          	mov    %eax,0x8(%esp)
+    2f74:	c7 44 24 04 b8 00 00 	movl   $0xb8,0x4(%esp)
+    2f7b:	00 
+    2f7c:	c7 04 24 03 00 00 00 	movl   $0x3,(%esp)
+    2f83:	e8 fc ff ff ff       	call   0x2f84
+    2f88:	85 c0                	test   %eax,%eax
+    2f8a:	75 26                	jne    0x2fb2
+    2f8c:	8d 85 40 ff ff ff    	lea    -0xc0(%ebp),%eax
+    2f92:	c7 44 24 08 08 00 00 	movl   $0x8,0x8(%esp)
+    2f99:	00 
+    2f9a:	c7 44 24 04 58 00 00 	movl   $0x58,0x4(%esp)
+    2fa1:	00 
+    2fa2:	89 04 24             	mov    %eax,(%esp)
+    2fa5:	e8 fc ff ff ff       	call   0x2fa6
+    2faa:	85 c0                	test   %eax,%eax
+    2fac:	0f 84 3c ff ff ff    	je     0x2eee
+    2fb2:	e8 c9 ea ff ff       	call   0x1a80
+    2fb7:	e9 32 ff ff ff       	jmp    0x2eee
+    2fbc:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    2fc0:	55                   	push   %ebp
+    2fc1:	89 e5                	mov    %esp,%ebp
+    2fc3:	57                   	push   %edi
+    2fc4:	89 c7                	mov    %eax,%edi
+    2fc6:	56                   	push   %esi
+    2fc7:	89 c8                	mov    %ecx,%eax
+    2fc9:	53                   	push   %ebx
+    2fca:	83 ec 28             	sub    $0x28,%esp
+    2fcd:	65 8b 0d 14 00 00 00 	mov    %gs:0x14,%ecx
+    2fd4:	89 4d f0             	mov    %ecx,-0x10(%ebp)
+    2fd7:	31 c9                	xor    %ecx,%ecx
+    2fd9:	0f b6 5f 01          	movzbl 0x1(%edi),%ebx
+    2fdd:	80 fb 02             	cmp    $0x2,%bl
+    2fe0:	74 1d                	je     0x2fff
+    2fe2:	80 fb 1c             	cmp    $0x1c,%bl
+    2fe5:	74 5d                	je     0x3044
+    2fe7:	8b 55 f0             	mov    -0x10(%ebp),%edx
+    2fea:	65 33 15 14 00 00 00 	xor    %gs:0x14,%edx
+    2ff1:	0f 85 c0 00 00 00    	jne    0x30b7
+    2ff7:	83 c4 28             	add    $0x28,%esp
+    2ffa:	5b                   	pop    %ebx
+    2ffb:	5e                   	pop    %esi
+    2ffc:	5f                   	pop    %edi
+    2ffd:	5d                   	pop    %ebp
+    2ffe:	c3                   	ret    
+    2fff:	c6 45 d5 1c          	movb   $0x1c,-0x2b(%ebp)
+    3003:	0f b7 47 02          	movzwl 0x2(%edi),%eax
+    3007:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
+    300e:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
+    3015:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
+    301c:	66 89 45 d6          	mov    %ax,-0x2a(%ebp)
+    3020:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
+    3027:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
+    302e:	66 c7 45 e6 ff ff    	movw   $0xffff,-0x1a(%ebp)
+    3034:	8b 47 04             	mov    0x4(%edi),%eax
+    3037:	8d 7d d4             	lea    -0x2c(%ebp),%edi
+    303a:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
+    3041:	89 45 e8             	mov    %eax,-0x18(%ebp)
+    3044:	8d 5f 08             	lea    0x8(%edi),%ebx
+    3047:	89 5d cc             	mov    %ebx,-0x34(%ebp)
+    304a:	89 7d d0             	mov    %edi,-0x30(%ebp)
+    304d:	8d 76 00             	lea    0x0(%esi),%esi
+    3050:	8b 4a 10             	mov    0x10(%edx),%ecx
+    3053:	89 d6                	mov    %edx,%esi
+    3055:	8b 45 cc             	mov    -0x34(%ebp),%eax
+    3058:	83 f9 07             	cmp    $0x7,%ecx
+    305b:	76 2d                	jbe    0x308a
+    305d:	8b 7d d0             	mov    -0x30(%ebp),%edi
+    3060:	0f b6 1a             	movzbl (%edx),%ebx
+    3063:	3a 5f 08             	cmp    0x8(%edi),%bl
+    3066:	75 35                	jne    0x309d
+    3068:	89 d7                	mov    %edx,%edi
+    306a:	8b 5d cc             	mov    -0x34(%ebp),%ebx
+    306d:	eb 08                	jmp    0x3077
+    306f:	90                   	nop
+    3070:	0f b6 16             	movzbl (%esi),%edx
+    3073:	3a 10                	cmp    (%eax),%dl
+    3075:	75 31                	jne    0x30a8
+    3077:	83 e9 08             	sub    $0x8,%ecx
+    307a:	83 c6 01             	add    $0x1,%esi
+    307d:	83 c0 01             	add    $0x1,%eax
+    3080:	83 f9 07             	cmp    $0x7,%ecx
+    3083:	77 eb                	ja     0x3070
+    3085:	89 fa                	mov    %edi,%edx
+    3087:	89 5d cc             	mov    %ebx,-0x34(%ebp)
+    308a:	0f b6 00             	movzbl (%eax),%eax
+    308d:	bb 00 ff 00 00       	mov    $0xff00,%ebx
+    3092:	0f b6 36             	movzbl (%esi),%esi
+    3095:	d3 fb                	sar    %cl,%ebx
+    3097:	31 f0                	xor    %esi,%eax
+    3099:	85 d8                	test   %ebx,%eax
+    309b:	74 12                	je     0x30af
+    309d:	83 c2 18             	add    $0x18,%edx
+    30a0:	eb ae                	jmp    0x3050
+    30a2:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
+    30a8:	89 fa                	mov    %edi,%edx
+    30aa:	89 5d cc             	mov    %ebx,-0x34(%ebp)
+    30ad:	eb ee                	jmp    0x309d
+    30af:	8b 42 14             	mov    0x14(%edx),%eax
+    30b2:	e9 30 ff ff ff       	jmp    0x2fe7
+    30b7:	e8 fc ff ff ff       	call   0x30b8
+    30bc:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    30c0:	55                   	push   %ebp
+    30c1:	89 e5                	mov    %esp,%ebp
+    30c3:	57                   	push   %edi
+    30c4:	56                   	push   %esi
+    30c5:	53                   	push   %ebx
+    30c6:	83 ec 38             	sub    $0x38,%esp
+    30c9:	8b 45 08             	mov    0x8(%ebp),%eax
+    30cc:	8b 5d 10             	mov    0x10(%ebp),%ebx
+    30cf:	8b 00                	mov    (%eax),%eax
+    30d1:	89 45 e8             	mov    %eax,-0x18(%ebp)
+    30d4:	8b 45 0c             	mov    0xc(%ebp),%eax
+    30d7:	6b 75 e8 2c          	imul   $0x2c,-0x18(%ebp),%esi
+    30db:	8b 00                	mov    (%eax),%eax
+    30dd:	89 45 ec             	mov    %eax,-0x14(%ebp)
+    30e0:	8b 03                	mov    (%ebx),%eax
+    30e2:	6b 7d ec 2c          	imul   $0x2c,-0x14(%ebp),%edi
+    30e6:	8d 34 30             	lea    (%eax,%esi,1),%esi
+    30e9:	80 7e 21 00          	cmpb   $0x0,0x21(%esi)
+    30ed:	8d 3c 38             	lea    (%eax,%edi,1),%edi
+    30f0:	0f 85 62 02 00 00    	jne    0x3358
+    30f6:	80 7f 21 00          	cmpb   $0x0,0x21(%edi)
+    30fa:	0f 85 b8 01 00 00    	jne    0x32b8
+    3100:	8b 06                	mov    (%esi),%eax
+    3102:	8b 40 14             	mov    0x14(%eax),%eax
+    3105:	e8 f6 ce ff ff       	call   0x0
+    310a:	89 45 d8             	mov    %eax,-0x28(%ebp)
+    310d:	8b 07                	mov    (%edi),%eax
+    310f:	8b 40 14             	mov    0x14(%eax),%eax
+    3112:	e8 e9 ce ff ff       	call   0x0
+    3117:	80 7e 21 00          	cmpb   $0x0,0x21(%esi)
+    311b:	89 45 dc             	mov    %eax,-0x24(%ebp)
+    311e:	0f 85 40 02 00 00    	jne    0x3364
+    3124:	8b 06                	mov    (%esi),%eax
+    3126:	31 c9                	xor    %ecx,%ecx
+    3128:	8b 15 4c 00 00 00    	mov    0x4c,%edx
+    312e:	8b 40 14             	mov    0x14(%eax),%eax
+    3131:	e8 8a fe ff ff       	call   0x2fc0
+    3136:	8b 15 4c 00 00 00    	mov    0x4c,%edx
+    313c:	31 c9                	xor    %ecx,%ecx
+    313e:	89 45 f0             	mov    %eax,-0x10(%ebp)
+    3141:	8b 07                	mov    (%edi),%eax
+    3143:	8b 40 14             	mov    0x14(%eax),%eax
+    3146:	e8 75 fe ff ff       	call   0x2fc0
+    314b:	39 45 f0             	cmp    %eax,-0x10(%ebp)
+    314e:	0f 8f a4 01 00 00    	jg     0x32f8
+    3154:	0f 8c 5e 01 00 00    	jl     0x32b8
+    315a:	80 7e 21 00          	cmpb   $0x0,0x21(%esi)
+    315e:	66 90                	xchg   %ax,%ax
+    3160:	0f 84 66 01 00 00    	je     0x32cc
+    3166:	8b 46 24             	mov    0x24(%esi),%eax
+    3169:	8b 4f 24             	mov    0x24(%edi),%ecx
+    316c:	89 45 f0             	mov    %eax,-0x10(%ebp)
+    316f:	39 c8                	cmp    %ecx,%eax
+    3171:	0f 84 55 01 00 00    	je     0x32cc
+    3177:	8b 56 28             	mov    0x28(%esi),%edx
+    317a:	8b 47 28             	mov    0x28(%edi),%eax
+    317d:	83 fa ff             	cmp    $0xffffffff,%edx
+    3180:	89 55 e4             	mov    %edx,-0x1c(%ebp)
+    3183:	0f 94 c2             	sete   %dl
+    3186:	83 f8 ff             	cmp    $0xffffffff,%eax
+    3189:	89 45 e0             	mov    %eax,-0x20(%ebp)
+    318c:	0f 94 c0             	sete   %al
+    318f:	0f 85 73 01 00 00    	jne    0x3308
+    3195:	84 d2                	test   %dl,%dl
+    3197:	0f 85 83 01 00 00    	jne    0x3320
+    319d:	c7 45 f0 ff ff ff ff 	movl   $0xffffffff,-0x10(%ebp)
+    31a4:	84 c0                	test   %al,%al
+    31a6:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
+    31ab:	0f 44 c8             	cmove  %eax,%ecx
+    31ae:	8b 43 04             	mov    0x4(%ebx),%eax
+    31b1:	ba 00 00 00 00       	mov    $0x0,%edx
+    31b6:	0f 44 55 e0          	cmove  -0x20(%ebp),%edx
+    31ba:	85 c0                	test   %eax,%eax
+    31bc:	89 55 e0             	mov    %edx,-0x20(%ebp)
+    31bf:	0f 8e 47 01 00 00    	jle    0x330c
+    31c5:	89 75 d0             	mov    %esi,-0x30(%ebp)
+    31c8:	31 c0                	xor    %eax,%eax
+    31ca:	31 d2                	xor    %edx,%edx
+    31cc:	89 7d d4             	mov    %edi,-0x2c(%ebp)
+    31cf:	8b 75 f0             	mov    -0x10(%ebp),%esi
+    31d2:	89 4d cc             	mov    %ecx,-0x34(%ebp)
+    31d5:	eb 26                	jmp    0x31fd
+    31d7:	90                   	nop
+    31d8:	83 7d cc ff          	cmpl   $0xffffffff,-0x34(%ebp)
+    31dc:	74 10                	je     0x31ee
+    31de:	8b 0b                	mov    (%ebx),%ecx
+    31e0:	8b 7d cc             	mov    -0x34(%ebp),%edi
+    31e3:	01 c1                	add    %eax,%ecx
+    31e5:	39 79 24             	cmp    %edi,0x24(%ecx)
+    31e8:	0f 84 42 01 00 00    	je     0x3330
+    31ee:	83 c2 01             	add    $0x1,%edx
+    31f1:	83 c0 2c             	add    $0x2c,%eax
+    31f4:	39 53 04             	cmp    %edx,0x4(%ebx)
+    31f7:	0f 8e 53 01 00 00    	jle    0x3350
+    31fd:	83 fe ff             	cmp    $0xffffffff,%esi
+    3200:	74 d6                	je     0x31d8
+    3202:	8b 0b                	mov    (%ebx),%ecx
+    3204:	01 c1                	add    %eax,%ecx
+    3206:	39 71 24             	cmp    %esi,0x24(%ecx)
+    3209:	75 cd                	jne    0x31d8
+    320b:	8b 79 28             	mov    0x28(%ecx),%edi
+    320e:	83 ff ff             	cmp    $0xffffffff,%edi
+    3211:	89 7d f0             	mov    %edi,-0x10(%ebp)
+    3214:	74 0c                	je     0x3222
+    3216:	8b 7d e4             	mov    -0x1c(%ebp),%edi
+    3219:	39 7d f0             	cmp    %edi,-0x10(%ebp)
+    321c:	0f 85 e9 02 00 00    	jne    0x350b
+    3222:	8b 7d e4             	mov    -0x1c(%ebp),%edi
+    3225:	89 79 28             	mov    %edi,0x28(%ecx)
+    3228:	eb c4                	jmp    0x31ee
+    322a:	80 7e 05 02          	cmpb   $0x2,0x5(%esi)
+    322e:	0f 85 1f 03 00 00    	jne    0x3553
+    3234:	80 7f 05 02          	cmpb   $0x2,0x5(%edi)
+    3238:	0f 85 f1 02 00 00    	jne    0x352f
+    323e:	8b 40 14             	mov    0x14(%eax),%eax
+    3241:	b9 20 00 00 00       	mov    $0x20,%ecx
+    3246:	8b 56 08             	mov    0x8(%esi),%edx
+    3249:	0f ca                	bswap  %edx
+    324b:	8b 40 04             	mov    0x4(%eax),%eax
+    324e:	0f c8                	bswap  %eax
+    3250:	31 c2                	xor    %eax,%edx
+    3252:	0f b6 46 23          	movzbl 0x23(%esi),%eax
+    3256:	83 ce ff             	or     $0xffffffff,%esi
+    3259:	29 c1                	sub    %eax,%ecx
+    325b:	31 c0                	xor    %eax,%eax
+    325d:	d3 e6                	shl    %cl,%esi
+    325f:	85 f2                	test   %esi,%edx
+    3261:	75 15                	jne    0x3278
+    3263:	b9 00 00 00 80       	mov    $0x80000000,%ecx
+    3268:	eb 0a                	jmp    0x3274
+    326a:	83 c0 01             	add    $0x1,%eax
+    326d:	83 f8 20             	cmp    $0x20,%eax
+    3270:	74 06                	je     0x3278
+    3272:	d1 e9                	shr    %ecx
+    3274:	85 d1                	test   %edx,%ecx
+    3276:	74 f2                	je     0x326a
+    3278:	8b 53 14             	mov    0x14(%ebx),%edx
+    327b:	31 f6                	xor    %esi,%esi
+    327d:	0f b6 5f 23          	movzbl 0x23(%edi),%ebx
+    3281:	8b 4a 04             	mov    0x4(%edx),%ecx
+    3284:	8b 57 08             	mov    0x8(%edi),%edx
+    3287:	0f c9                	bswap  %ecx
+    3289:	0f ca                	bswap  %edx
+    328b:	31 ca                	xor    %ecx,%edx
+    328d:	b9 20 00 00 00       	mov    $0x20,%ecx
+    3292:	29 d9                	sub    %ebx,%ecx
+    3294:	83 cb ff             	or     $0xffffffff,%ebx
+    3297:	d3 e3                	shl    %cl,%ebx
+    3299:	85 da                	test   %ebx,%edx
+    329b:	75 15                	jne    0x32b2
+    329d:	b9 00 00 00 80       	mov    $0x80000000,%ecx
+    32a2:	eb 0a                	jmp    0x32ae
+    32a4:	83 c6 01             	add    $0x1,%esi
+    32a7:	83 fe 20             	cmp    $0x20,%esi
+    32aa:	74 06                	je     0x32b2
+    32ac:	d1 e9                	shr    %ecx
+    32ae:	85 d1                	test   %edx,%ecx
+    32b0:	74 f2                	je     0x32a4
+    32b2:	39 f0                	cmp    %esi,%eax
+    32b4:	7f 42                	jg     0x32f8
+    32b6:	7d 34                	jge    0x32ec
+    32b8:	83 c4 38             	add    $0x38,%esp
+    32bb:	b8 01 00 00 00       	mov    $0x1,%eax
+    32c0:	5b                   	pop    %ebx
+    32c1:	5e                   	pop    %esi
+    32c2:	5f                   	pop    %edi
+    32c3:	5d                   	pop    %ebp
+    32c4:	c3                   	ret    
+    32c5:	8b 45 e0             	mov    -0x20(%ebp),%eax
+    32c8:	85 c0                	test   %eax,%eax
+    32ca:	74 2c                	je     0x32f8
+    32cc:	8b 45 dc             	mov    -0x24(%ebp),%eax
+    32cf:	39 45 d8             	cmp    %eax,-0x28(%ebp)
+    32d2:	7c 24                	jl     0x32f8
+    32d4:	7f e2                	jg     0x32b8
+    32d6:	80 7e 21 00          	cmpb   $0x0,0x21(%esi)
+    32da:	74 10                	je     0x32ec
+    32dc:	8b 06                	mov    (%esi),%eax
+    32de:	8b 1f                	mov    (%edi),%ebx
+    32e0:	8b 50 04             	mov    0x4(%eax),%edx
+    32e3:	3b 53 04             	cmp    0x4(%ebx),%edx
+    32e6:	0f 84 a9 01 00 00    	je     0x3495
+    32ec:	8b 7d ec             	mov    -0x14(%ebp),%edi
+    32ef:	39 7d e8             	cmp    %edi,-0x18(%ebp)
+    32f2:	73 c4                	jae    0x32b8
+    32f4:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    32f8:	83 c4 38             	add    $0x38,%esp
+    32fb:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
+    3300:	5b                   	pop    %ebx
+    3301:	5e                   	pop    %esi
+    3302:	5f                   	pop    %edi
+    3303:	5d                   	pop    %ebp
+    3304:	c3                   	ret    
+    3305:	8d 76 00             	lea    0x0(%esi),%esi
+    3308:	84 d2                	test   %dl,%dl
+    330a:	75 14                	jne    0x3320
+    330c:	8b 55 e4             	mov    -0x1c(%ebp),%edx
+    330f:	85 d2                	test   %edx,%edx
+    3311:	75 b2                	jne    0x32c5
+    3313:	8b 5d e0             	mov    -0x20(%ebp),%ebx
+    3316:	85 db                	test   %ebx,%ebx
+    3318:	75 9e                	jne    0x32b8
+    331a:	eb b0                	jmp    0x32cc
+    331c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    3320:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
+    3327:	e9 78 fe ff ff       	jmp    0x31a4
+    332c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    3330:	8b 79 28             	mov    0x28(%ecx),%edi
+    3333:	83 ff ff             	cmp    $0xffffffff,%edi
+    3336:	89 7d f0             	mov    %edi,-0x10(%ebp)
+    3339:	74 09                	je     0x3344
+    333b:	39 7d e0             	cmp    %edi,-0x20(%ebp)
+    333e:	0f 85 57 02 00 00    	jne    0x359b
+    3344:	8b 7d e0             	mov    -0x20(%ebp),%edi
+    3347:	89 79 28             	mov    %edi,0x28(%ecx)
+    334a:	e9 9f fe ff ff       	jmp    0x31ee
+    334f:	90                   	nop
+    3350:	8b 7d d4             	mov    -0x2c(%ebp),%edi
+    3353:	8b 75 d0             	mov    -0x30(%ebp),%esi
+    3356:	eb b4                	jmp    0x330c
+    3358:	80 7f 21 00          	cmpb   $0x0,0x21(%edi)
+    335c:	0f 85 9e fd ff ff    	jne    0x3100
+    3362:	eb 94                	jmp    0x32f8
+    3364:	8d 46 04             	lea    0x4(%esi),%eax
+    3367:	89 45 f0             	mov    %eax,-0x10(%ebp)
+    336a:	e8 91 cc ff ff       	call   0x0
+    336f:	8d 57 04             	lea    0x4(%edi),%edx
+    3372:	89 55 d4             	mov    %edx,-0x2c(%ebp)
+    3375:	89 45 e4             	mov    %eax,-0x1c(%ebp)
+    3378:	89 d0                	mov    %edx,%eax
+    337a:	e8 81 cc ff ff       	call   0x0
+    337f:	39 45 dc             	cmp    %eax,-0x24(%ebp)
+    3382:	0f 85 f5 00 00 00    	jne    0x347d
+    3388:	8b 45 e4             	mov    -0x1c(%ebp),%eax
+    338b:	39 45 d8             	cmp    %eax,-0x28(%ebp)
+    338e:	0f 85 24 ff ff ff    	jne    0x32b8
+    3394:	80 7e 21 00          	cmpb   $0x0,0x21(%esi)
+    3398:	0f 84 86 fd ff ff    	je     0x3124
+    339e:	0f b6 46 22          	movzbl 0x22(%esi),%eax
+    33a2:	a8 01                	test   $0x1,%al
+    33a4:	0f 84 bb 00 00 00    	je     0x3465
+    33aa:	0f b6 57 22          	movzbl 0x22(%edi),%edx
+    33ae:	f6 c2 01             	test   $0x1,%dl
+    33b1:	0f 84 01 ff ff ff    	je     0x32b8
+    33b7:	a8 02                	test   $0x2,%al
+    33b9:	74 7d                	je     0x3438
+    33bb:	83 e2 02             	and    $0x2,%edx
+    33be:	66 90                	xchg   %ax,%ax
+    33c0:	0f 84 32 ff ff ff    	je     0x32f8
+    33c6:	66 90                	xchg   %ax,%ax
+    33c8:	8b 06                	mov    (%esi),%eax
+    33ca:	b9 ff ff ff 7f       	mov    $0x7fffffff,%ecx
+    33cf:	8b 15 48 00 00 00    	mov    0x48,%edx
+    33d5:	8b 40 14             	mov    0x14(%eax),%eax
+    33d8:	e8 e3 fb ff ff       	call   0x2fc0
+    33dd:	8b 15 48 00 00 00    	mov    0x48,%edx
+    33e3:	b9 ff ff ff 7f       	mov    $0x7fffffff,%ecx
+    33e8:	89 45 e0             	mov    %eax,-0x20(%ebp)
+    33eb:	8b 45 f0             	mov    -0x10(%ebp),%eax
+    33ee:	e8 cd fb ff ff       	call   0x2fc0
+    33f3:	8b 15 48 00 00 00    	mov    0x48,%edx
+    33f9:	b9 ff ff ff 7f       	mov    $0x7fffffff,%ecx
+    33fe:	89 45 e4             	mov    %eax,-0x1c(%ebp)
+    3401:	8b 07                	mov    (%edi),%eax
+    3403:	8b 40 14             	mov    0x14(%eax),%eax
+    3406:	e8 b5 fb ff ff       	call   0x2fc0
+    340b:	8b 15 48 00 00 00    	mov    0x48,%edx
+    3411:	b9 ff ff ff 7f       	mov    $0x7fffffff,%ecx
+    3416:	89 45 f0             	mov    %eax,-0x10(%ebp)
+    3419:	8b 45 d4             	mov    -0x2c(%ebp),%eax
+    341c:	e8 9f fb ff ff       	call   0x2fc0
+    3421:	39 45 f0             	cmp    %eax,-0x10(%ebp)
+    3424:	75 2a                	jne    0x3450
+    3426:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
+    3429:	39 4d e0             	cmp    %ecx,-0x20(%ebp)
+    342c:	0f 85 86 fe ff ff    	jne    0x32b8
+    3432:	e9 ed fc ff ff       	jmp    0x3124
+    3437:	90                   	nop
+    3438:	83 e2 02             	and    $0x2,%edx
+    343b:	90                   	nop
+    343c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    3440:	74 86                	je     0x33c8
+    3442:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
+    3448:	e9 6b fe ff ff       	jmp    0x32b8
+    344d:	8d 76 00             	lea    0x0(%esi),%esi
+    3450:	8b 55 e4             	mov    -0x1c(%ebp),%edx
+    3453:	39 55 e0             	cmp    %edx,-0x20(%ebp)
+    3456:	0f 85 c8 fc ff ff    	jne    0x3124
+    345c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    3460:	e9 93 fe ff ff       	jmp    0x32f8
+    3465:	0f b6 57 22          	movzbl 0x22(%edi),%edx
+    3469:	f6 c2 01             	test   $0x1,%dl
+    346c:	0f 84 45 ff ff ff    	je     0x33b7
     3472:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
-    3478:	e9 6b fe ff ff       	jmp    0x32e8
-    347d:	8d 76 00             	lea    0x0(%esi),%esi
-    3480:	8b 55 e4             	mov    -0x1c(%ebp),%edx
-    3483:	39 55 e0             	cmp    %edx,-0x20(%ebp)
-    3486:	0f 85 c8 fc ff ff    	jne    0x3154
-    348c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    3490:	e9 93 fe ff ff       	jmp    0x3328
-    3495:	0f b6 57 22          	movzbl 0x22(%edi),%edx
-    3499:	f6 c2 01             	test   $0x1,%dl
-    349c:	0f 84 45 ff ff ff    	je     0x33e7
-    34a2:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
-    34a8:	e9 7b fe ff ff       	jmp    0x3328
-    34ad:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
-    34b0:	39 4d d8             	cmp    %ecx,-0x28(%ebp)
-    34b3:	0f 85 0b ff ff ff    	jne    0x33c4
-    34b9:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
-    34c0:	e9 63 fe ff ff       	jmp    0x3328
-    34c5:	83 fa 02             	cmp    $0x2,%edx
-    34c8:	0f 84 8c fd ff ff    	je     0x325a
-    34ce:	83 fa 1c             	cmp    $0x1c,%edx
-    34d1:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
-    34d8:	0f 85 3e fe ff ff    	jne    0x331c
-    34de:	80 7e 05 1c          	cmpb   $0x1c,0x5(%esi)
-    34e2:	0f 85 bf 00 00 00    	jne    0x35a7
-    34e8:	80 7f 05 1c          	cmpb   $0x1c,0x5(%edi)
-    34ec:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    34f0:	0f 85 4e 01 00 00    	jne    0x3644
-    34f6:	8b 40 14             	mov    0x14(%eax),%eax
-    34f9:	8b 5b 14             	mov    0x14(%ebx),%ebx
-    34fc:	89 45 e0             	mov    %eax,-0x20(%ebp)
-    34ff:	31 c0                	xor    %eax,%eax
-    3501:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
-    3504:	8b 55 e0             	mov    -0x20(%ebp),%edx
-    3507:	8b 54 82 08          	mov    0x8(%edx,%eax,4),%edx
-    350b:	89 55 f0             	mov    %edx,-0x10(%ebp)
-    350e:	8b 54 86 0c          	mov    0xc(%esi,%eax,4),%edx
-    3512:	39 55 f0             	cmp    %edx,-0x10(%ebp)
-    3515:	0f 85 1c 01 00 00    	jne    0x3637
-    351b:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
-    351e:	8b 5c 81 08          	mov    0x8(%ecx,%eax,4),%ebx
-    3522:	8b 4c 87 0c          	mov    0xc(%edi,%eax,4),%ecx
-    3526:	39 cb                	cmp    %ecx,%ebx
-    3528:	0f 85 c1 00 00 00    	jne    0x35ef
-    352e:	83 c0 01             	add    $0x1,%eax
-    3531:	83 f8 04             	cmp    $0x4,%eax
-    3534:	75 ce                	jne    0x3504
-    3536:	e9 e1 fd ff ff       	jmp    0x331c
-    353b:	c7 44 24 0c 19 01 00 	movl   $0x119,0xc(%esp)
-    3542:	00 
-    3543:	c7 44 24 08 ce 05 00 	movl   $0x5ce,0x8(%esp)
-    354a:	00 
-    354b:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
-    3552:	00 
-    3553:	c7 04 24 18 02 00 00 	movl   $0x218,(%esp)
-    355a:	e8 fc ff ff ff       	call   0x355b
-    355f:	c7 44 24 0c 19 01 00 	movl   $0x119,0xc(%esp)
-    3566:	00 
-    3567:	c7 44 24 08 f2 05 00 	movl   $0x5f2,0x8(%esp)
-    356e:	00 
-    356f:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
-    3576:	00 
-    3577:	c7 04 24 c4 02 00 00 	movl   $0x2c4,(%esp)
-    357e:	e8 fc ff ff ff       	call   0x357f
-    3583:	c7 44 24 0c 19 01 00 	movl   $0x119,0xc(%esp)
-    358a:	00 
-    358b:	c7 44 24 08 f1 05 00 	movl   $0x5f1,0x8(%esp)
-    3592:	00 
-    3593:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
-    359a:	00 
-    359b:	c7 04 24 a0 02 00 00 	movl   $0x2a0,(%esp)
-    35a2:	e8 fc ff ff ff       	call   0x35a3
-    35a7:	c7 44 24 0c 19 01 00 	movl   $0x119,0xc(%esp)
-    35ae:	00 
-    35af:	c7 44 24 08 10 06 00 	movl   $0x610,0x8(%esp)
-    35b6:	00 
-    35b7:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
-    35be:	00 
-    35bf:	c7 04 24 e8 02 00 00 	movl   $0x2e8,(%esp)
-    35c6:	e8 fc ff ff ff       	call   0x35c7
-    35cb:	c7 44 24 0c 19 01 00 	movl   $0x119,0xc(%esp)
-    35d2:	00 
-    35d3:	c7 44 24 08 d4 05 00 	movl   $0x5d4,0x8(%esp)
-    35da:	00 
-    35db:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
-    35e2:	00 
-    35e3:	c7 04 24 5c 02 00 00 	movl   $0x25c,(%esp)
-    35ea:	e8 fc ff ff ff       	call   0x35eb
-    35ef:	8b 55 f0             	mov    -0x10(%ebp),%edx
-    35f2:	33 55 f0             	xor    -0x10(%ebp),%edx
-    35f5:	31 c0                	xor    %eax,%eax
-    35f7:	0f ca                	bswap  %edx
-    35f9:	be 00 00 00 80       	mov    $0x80000000,%esi
-    35fe:	eb 0a                	jmp    0x360a
-    3600:	83 c0 01             	add    $0x1,%eax
-    3603:	83 f8 20             	cmp    $0x20,%eax
-    3606:	74 06                	je     0x360e
-    3608:	d1 ee                	shr    %esi
-    360a:	85 d6                	test   %edx,%esi
-    360c:	74 f2                	je     0x3600
-    360e:	31 d9                	xor    %ebx,%ecx
-    3610:	31 f6                	xor    %esi,%esi
-    3612:	0f c9                	bswap  %ecx
-    3614:	ba 00 00 00 80       	mov    $0x80000000,%edx
-    3619:	eb 13                	jmp    0x362e
-    361b:	90                   	nop
-    361c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    3620:	83 c6 01             	add    $0x1,%esi
-    3623:	83 fe 20             	cmp    $0x20,%esi
-    3626:	0f 84 b6 fc ff ff    	je     0x32e2
-    362c:	d1 ea                	shr    %edx
-    362e:	85 ca                	test   %ecx,%edx
-    3630:	74 ee                	je     0x3620
-    3632:	e9 ab fc ff ff       	jmp    0x32e2
-    3637:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
-    363a:	8b 5c 81 08          	mov    0x8(%ecx,%eax,4),%ebx
-    363e:	8b 4c 87 0c          	mov    0xc(%edi,%eax,4),%ecx
-    3642:	eb ae                	jmp    0x35f2
-    3644:	c7 44 24 0c 19 01 00 	movl   $0x119,0xc(%esp)
-    364b:	00 
-    364c:	c7 44 24 08 11 06 00 	movl   $0x611,0x8(%esp)
-    3653:	00 
-    3654:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
-    365b:	00 
-    365c:	c7 04 24 0c 03 00 00 	movl   $0x30c,(%esp)
-    3663:	e8 fc ff ff ff       	call   0x3664
+    3478:	e9 7b fe ff ff       	jmp    0x32f8
+    347d:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
+    3480:	39 4d d8             	cmp    %ecx,-0x28(%ebp)
+    3483:	0f 85 0b ff ff ff    	jne    0x3394
+    3489:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
+    3490:	e9 63 fe ff ff       	jmp    0x32f8
+    3495:	83 fa 02             	cmp    $0x2,%edx
+    3498:	0f 84 8c fd ff ff    	je     0x322a
+    349e:	83 fa 1c             	cmp    $0x1c,%edx
+    34a1:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
+    34a8:	0f 85 3e fe ff ff    	jne    0x32ec
+    34ae:	80 7e 05 1c          	cmpb   $0x1c,0x5(%esi)
+    34b2:	0f 85 bf 00 00 00    	jne    0x3577
+    34b8:	80 7f 05 1c          	cmpb   $0x1c,0x5(%edi)
+    34bc:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    34c0:	0f 85 4e 01 00 00    	jne    0x3614
+    34c6:	8b 40 14             	mov    0x14(%eax),%eax
+    34c9:	8b 5b 14             	mov    0x14(%ebx),%ebx
+    34cc:	89 45 e0             	mov    %eax,-0x20(%ebp)
+    34cf:	31 c0                	xor    %eax,%eax
+    34d1:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
+    34d4:	8b 55 e0             	mov    -0x20(%ebp),%edx
+    34d7:	8b 54 82 08          	mov    0x8(%edx,%eax,4),%edx
+    34db:	89 55 f0             	mov    %edx,-0x10(%ebp)
+    34de:	8b 54 86 0c          	mov    0xc(%esi,%eax,4),%edx
+    34e2:	39 55 f0             	cmp    %edx,-0x10(%ebp)
+    34e5:	0f 85 1c 01 00 00    	jne    0x3607
+    34eb:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
+    34ee:	8b 5c 81 08          	mov    0x8(%ecx,%eax,4),%ebx
+    34f2:	8b 4c 87 0c          	mov    0xc(%edi,%eax,4),%ecx
+    34f6:	39 cb                	cmp    %ecx,%ebx
+    34f8:	0f 85 c1 00 00 00    	jne    0x35bf
+    34fe:	83 c0 01             	add    $0x1,%eax
+    3501:	83 f8 04             	cmp    $0x4,%eax
+    3504:	75 ce                	jne    0x34d4
+    3506:	e9 e1 fd ff ff       	jmp    0x32ec
+    350b:	c7 44 24 0c 19 01 00 	movl   $0x119,0xc(%esp)
+    3512:	00 
+    3513:	c7 44 24 08 ce 05 00 	movl   $0x5ce,0x8(%esp)
+    351a:	00 
+    351b:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
+    3522:	00 
+    3523:	c7 04 24 18 02 00 00 	movl   $0x218,(%esp)
+    352a:	e8 fc ff ff ff       	call   0x352b
+    352f:	c7 44 24 0c 19 01 00 	movl   $0x119,0xc(%esp)
+    3536:	00 
+    3537:	c7 44 24 08 f2 05 00 	movl   $0x5f2,0x8(%esp)
+    353e:	00 
+    353f:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
+    3546:	00 
+    3547:	c7 04 24 c4 02 00 00 	movl   $0x2c4,(%esp)
+    354e:	e8 fc ff ff ff       	call   0x354f
+    3553:	c7 44 24 0c 19 01 00 	movl   $0x119,0xc(%esp)
+    355a:	00 
+    355b:	c7 44 24 08 f1 05 00 	movl   $0x5f1,0x8(%esp)
+    3562:	00 
+    3563:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
+    356a:	00 
+    356b:	c7 04 24 a0 02 00 00 	movl   $0x2a0,(%esp)
+    3572:	e8 fc ff ff ff       	call   0x3573
+    3577:	c7 44 24 0c 19 01 00 	movl   $0x119,0xc(%esp)
+    357e:	00 
+    357f:	c7 44 24 08 10 06 00 	movl   $0x610,0x8(%esp)
+    3586:	00 
+    3587:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
+    358e:	00 
+    358f:	c7 04 24 e8 02 00 00 	movl   $0x2e8,(%esp)
+    3596:	e8 fc ff ff ff       	call   0x3597
+    359b:	c7 44 24 0c 19 01 00 	movl   $0x119,0xc(%esp)
+    35a2:	00 
+    35a3:	c7 44 24 08 d4 05 00 	movl   $0x5d4,0x8(%esp)
+    35aa:	00 
+    35ab:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
+    35b2:	00 
+    35b3:	c7 04 24 5c 02 00 00 	movl   $0x25c,(%esp)
+    35ba:	e8 fc ff ff ff       	call   0x35bb
+    35bf:	8b 55 f0             	mov    -0x10(%ebp),%edx
+    35c2:	33 55 f0             	xor    -0x10(%ebp),%edx
+    35c5:	31 c0                	xor    %eax,%eax
+    35c7:	0f ca                	bswap  %edx
+    35c9:	be 00 00 00 80       	mov    $0x80000000,%esi
+    35ce:	eb 0a                	jmp    0x35da
+    35d0:	83 c0 01             	add    $0x1,%eax
+    35d3:	83 f8 20             	cmp    $0x20,%eax
+    35d6:	74 06                	je     0x35de
+    35d8:	d1 ee                	shr    %esi
+    35da:	85 d6                	test   %edx,%esi
+    35dc:	74 f2                	je     0x35d0
+    35de:	31 d9                	xor    %ebx,%ecx
+    35e0:	31 f6                	xor    %esi,%esi
+    35e2:	0f c9                	bswap  %ecx
+    35e4:	ba 00 00 00 80       	mov    $0x80000000,%edx
+    35e9:	eb 13                	jmp    0x35fe
+    35eb:	90                   	nop
+    35ec:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    35f0:	83 c6 01             	add    $0x1,%esi
+    35f3:	83 fe 20             	cmp    $0x20,%esi
+    35f6:	0f 84 b6 fc ff ff    	je     0x32b2
+    35fc:	d1 ea                	shr    %edx
+    35fe:	85 ca                	test   %ecx,%edx
+    3600:	74 ee                	je     0x35f0
+    3602:	e9 ab fc ff ff       	jmp    0x32b2
+    3607:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
+    360a:	8b 5c 81 08          	mov    0x8(%ecx,%eax,4),%ebx
+    360e:	8b 4c 87 0c          	mov    0xc(%edi,%eax,4),%ecx
+    3612:	eb ae                	jmp    0x35c2
+    3614:	c7 44 24 0c 19 01 00 	movl   $0x119,0xc(%esp)
+    361b:	00 
+    361c:	c7 44 24 08 11 06 00 	movl   $0x611,0x8(%esp)
+    3623:	00 
+    3624:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
+    362b:	00 
+    362c:	c7 04 24 0c 03 00 00 	movl   $0x30c,(%esp)
+    3633:	e8 fc ff ff ff       	call   0x3634
 
 Disassembly of section __libc_freeres_fn:
 
--- /dev/fd/63	2012-05-05 15:41:47.000000000 +0200
+++ /dev/fd/62	2012-05-05 15:41:47.000000000 +0200
@@ -1,5 +1,5 @@
 
-../build-tree.good/kfreebsd-amd64-i386/posix/fnmatch.o:     file format elf32-i386-freebsd
+build-tree/kfreebsd-amd64-i386/posix/fnmatch.o:     file format elf32-i386-freebsd
 
 
 Disassembly of section .text:
@@ -829,7 +829,7 @@
      a6d:	8d 4e 04             	lea    0x4(%esi),%ecx
      a70:	83 fa 2d             	cmp    $0x2d,%edx
      a73:	0f 84 54 03 00 00    	je     0xdcd
-     a79:	3b 85 e4 d7 ff ff    	cmp    -0x281c(%ebp),%eax
+     a79:	39 85 e4 d7 ff ff    	cmp    %eax,-0x281c(%ebp)
      a7f:	0f 84 b3 08 00 00    	je     0x1338
      a85:	89 c3                	mov    %eax,%ebx
      a87:	89 ce                	mov    %ecx,%esi
@@ -2720,7 +2720,7 @@
     268f:	8d 70 01             	lea    0x1(%eax),%esi
     2692:	80 fb 2d             	cmp    $0x2d,%bl
     2695:	0f 84 66 03 00 00    	je     0x2a01
-    269b:	38 95 e4 f7 ff ff    	cmp    %dl,-0x81c(%ebp)
+    269b:	3a 95 e4 f7 ff ff    	cmp    -0x81c(%ebp),%dl
     26a1:	0f 84 6a 0a 00 00    	je     0x3111
     26a7:	89 d1                	mov    %edx,%ecx
     26a9:	89 f0                	mov    %esi,%eax
--- /dev/fd/63	2012-05-05 15:41:47.000000000 +0200
+++ /dev/fd/62	2012-05-05 15:41:47.000000000 +0200
@@ -1,5 +1,5 @@
 
-../build-tree.good/kfreebsd-amd64-i386/stdio-common/vfwprintf.o:     file format elf32-i386-freebsd
+build-tree/kfreebsd-amd64-i386/stdio-common/vfwprintf.o:     file format elf32-i386-freebsd
 
 
 Disassembly of section .text:
@@ -398,33 +398,33 @@
      543:	83 e8 20             	sub    $0x20,%eax
      546:	83 f8 5a             	cmp    $0x5a,%eax
      549:	89 bd 94 ef ff ff    	mov    %edi,-0x106c(%ebp)
-     54f:	c7 85 ac ef ff ff 00 	movl   $0x0,-0x1054(%ebp)
+     54f:	c7 85 34 ef ff ff 00 	movl   $0x0,-0x10cc(%ebp)
      556:	00 00 00 
-     559:	c7 85 34 ef ff ff 00 	movl   $0x0,-0x10cc(%ebp)
+     559:	c7 85 3c ef ff ff 00 	movl   $0x0,-0x10c4(%ebp)
      560:	00 00 00 
-     563:	c7 85 3c ef ff ff 00 	movl   $0x0,-0x10c4(%ebp)
+     563:	c7 85 44 ef ff ff 00 	movl   $0x0,-0x10bc(%ebp)
      56a:	00 00 00 
-     56d:	c7 85 44 ef ff ff 00 	movl   $0x0,-0x10bc(%ebp)
+     56d:	c7 85 40 ef ff ff 00 	movl   $0x0,-0x10c0(%ebp)
      574:	00 00 00 
-     577:	c7 85 40 ef ff ff 00 	movl   $0x0,-0x10c0(%ebp)
+     577:	c7 85 4c ef ff ff 00 	movl   $0x0,-0x10b4(%ebp)
      57e:	00 00 00 
-     581:	c7 85 4c ef ff ff 00 	movl   $0x0,-0x10b4(%ebp)
+     581:	c7 85 7c ef ff ff 00 	movl   $0x0,-0x1084(%ebp)
      588:	00 00 00 
-     58b:	c7 85 7c ef ff ff 00 	movl   $0x0,-0x1084(%ebp)
+     58b:	c7 85 68 ef ff ff 00 	movl   $0x0,-0x1098(%ebp)
      592:	00 00 00 
-     595:	c7 85 68 ef ff ff 00 	movl   $0x0,-0x1098(%ebp)
+     595:	c7 85 88 ef ff ff 00 	movl   $0x0,-0x1078(%ebp)
      59c:	00 00 00 
-     59f:	c7 85 88 ef ff ff 00 	movl   $0x0,-0x1078(%ebp)
+     59f:	c7 85 14 ef ff ff 00 	movl   $0x0,-0x10ec(%ebp)
      5a6:	00 00 00 
-     5a9:	c7 85 14 ef ff ff 00 	movl   $0x0,-0x10ec(%ebp)
+     5a9:	c7 85 74 ef ff ff 00 	movl   $0x0,-0x108c(%ebp)
      5b0:	00 00 00 
-     5b3:	c7 85 74 ef ff ff 00 	movl   $0x0,-0x108c(%ebp)
-     5ba:	00 00 00 
-     5bd:	c7 85 84 ef ff ff ff 	movl   $0xffffffff,-0x107c(%ebp)
-     5c4:	ff ff ff 
-     5c7:	c7 85 18 ef ff ff 00 	movl   $0x0,-0x10e8(%ebp)
+     5b3:	c7 85 84 ef ff ff ff 	movl   $0xffffffff,-0x107c(%ebp)
+     5ba:	ff ff ff 
+     5bd:	c7 85 18 ef ff ff 00 	movl   $0x0,-0x10e8(%ebp)
+     5c4:	00 00 00 
+     5c7:	c7 85 50 ef ff ff 20 	movl   $0x20,-0x10b0(%ebp)
      5ce:	00 00 00 
-     5d1:	c7 85 50 ef ff ff 20 	movl   $0x20,-0x10b0(%ebp)
+     5d1:	c7 85 ac ef ff ff 00 	movl   $0x0,-0x1054(%ebp)
      5d8:	00 00 00 
      5db:	76 60                	jbe    0x63d
      5dd:	83 bd 94 ef ff ff 00 	cmpl   $0x0,-0x106c(%ebp)
@@ -1860,10 +1860,10 @@
     1e0b:	00 00 00 
     1e0e:	83 bd 84 ef ff ff 00 	cmpl   $0x0,-0x107c(%ebp)
     1e15:	0f 8c 33 03 00 00    	jl     0x214e
-    1e1b:	0f 85 64 0a 00 00    	jne    0x2885
+    1e1b:	0f 85 66 0a 00 00    	jne    0x2887
     1e21:	8b bd b4 ef ff ff    	mov    -0x104c(%ebp),%edi
     1e27:	0b bd 68 ef ff ff    	or     -0x1098(%ebp),%edi
-    1e2d:	0f 85 52 0a 00 00    	jne    0x2885
+    1e2d:	0f 85 54 0a 00 00    	jne    0x2887
     1e33:	83 bd 34 ef ff ff 00 	cmpl   $0x0,-0x10cc(%ebp)
     1e3a:	74 0d                	je     0x1e49
     1e3c:	83 bd 88 ef ff ff 08 	cmpl   $0x8,-0x1078(%ebp)
@@ -1904,7 +1904,7 @@
     1ee0:	83 bd 44 ef ff ff 00 	cmpl   $0x0,-0x10bc(%ebp)
     1ee7:	89 95 4c ef ff ff    	mov    %edx,-0x10b4(%ebp)
     1eed:	89 85 a8 ef ff ff    	mov    %eax,-0x1058(%ebp)
-    1ef3:	0f 85 83 05 00 00    	jne    0x247c
+    1ef3:	0f 85 87 05 00 00    	jne    0x2480
     1ef9:	03 95 74 ef ff ff    	add    -0x108c(%ebp),%edx
     1eff:	29 c2                	sub    %eax,%edx
     1f01:	83 bd 34 ef ff ff 00 	cmpl   $0x0,-0x10cc(%ebp)
@@ -1917,11 +1917,11 @@
     1f1f:	83 bd 88 ef ff ff 10 	cmpl   $0x10,-0x1078(%ebp)
     1f26:	8d 42 fe             	lea    -0x2(%edx),%eax
     1f29:	0f 44 d0             	cmove  %eax,%edx
-    1f2c:	83 bd 3c ef ff ff 00 	cmpl   $0x0,-0x10c4(%ebp)
+    1f2c:	83 bd 40 ef ff ff 00 	cmpl   $0x0,-0x10c0(%ebp)
     1f33:	75 12                	jne    0x1f47
-    1f35:	83 bd 7c ef ff ff 00 	cmpl   $0x0,-0x1084(%ebp)
+    1f35:	83 bd 3c ef ff ff 00 	cmpl   $0x0,-0x10c4(%ebp)
     1f3c:	75 09                	jne    0x1f47
-    1f3e:	83 bd 40 ef ff ff 00 	cmpl   $0x0,-0x10c0(%ebp)
+    1f3e:	83 bd 7c ef ff ff 00 	cmpl   $0x0,-0x1084(%ebp)
     1f45:	74 03                	je     0x1f4a
     1f47:	83 ea 01             	sub    $0x1,%edx
     1f4a:	83 bd 50 ef ff ff 20 	cmpl   $0x20,-0x10b0(%ebp)
@@ -1943,7 +1943,7 @@
     1f96:	80 bd 84 ef ff ff 00 	cmpb   $0x0,-0x107c(%ebp)
     1f9d:	74 0d                	je     0x1fac
     1f9f:	83 bd 88 ef ff ff 10 	cmpl   $0x10,-0x1078(%ebp)
-    1fa6:	0f 84 4c 08 00 00    	je     0x27f8
+    1fa6:	0f 84 4e 08 00 00    	je     0x27fa
     1fac:	03 95 a8 ef ff ff    	add    -0x1058(%ebp),%edx
     1fb2:	85 d2                	test   %edx,%edx
     1fb4:	7e 34                	jle    0x1fea
@@ -2021,10 +2021,10 @@
     20e1:	0f 84 af fe ff ff    	je     0x1f96
     20e7:	8b 4b 5c             	mov    0x5c(%ebx),%ecx
     20ea:	85 c9                	test   %ecx,%ecx
-    20ec:	0f 84 f0 07 00 00    	je     0x28e2
+    20ec:	0f 84 f1 07 00 00    	je     0x28e3
     20f2:	8b 41 10             	mov    0x10(%ecx),%eax
     20f5:	3b 41 14             	cmp    0x14(%ecx),%eax
-    20f8:	0f 83 e4 07 00 00    	jae    0x28e2
+    20f8:	0f 83 e5 07 00 00    	jae    0x28e3
     20fe:	c7 00 20 00 00 00    	movl   $0x20,(%eax)
     2104:	83 c0 04             	add    $0x4,%eax
     2107:	89 41 10             	mov    %eax,0x10(%ecx)
@@ -2132,13 +2132,13 @@
     22c6:	b8 00 00 00 00       	mov    $0x0,%eax
     22cb:	0f 44 c8             	cmove  %eax,%ecx
     22ce:	83 bd 88 ef ff ff 0a 	cmpl   $0xa,-0x1078(%ebp)
-    22d5:	0f 84 ef 04 00 00    	je     0x27ca
+    22d5:	0f 84 f1 04 00 00    	je     0x27cc
     22db:	83 bd 88 ef ff ff 10 	cmpl   $0x10,-0x1078(%ebp)
-    22e2:	0f 84 c3 04 00 00    	je     0x27ab
+    22e2:	0f 84 c5 04 00 00    	je     0x27ad
     22e8:	83 bd 88 ef ff ff 08 	cmpl   $0x8,-0x1078(%ebp)
     22ef:	89 d0                	mov    %edx,%eax
     22f1:	8b bd a8 ef ff ff    	mov    -0x1058(%ebp),%edi
-    22f7:	0f 84 28 04 00 00    	je     0x2725
+    22f7:	0f 84 2a 04 00 00    	je     0x2727
     22fd:	31 d2                	xor    %edx,%edx
     22ff:	83 ef 04             	sub    $0x4,%edi
     2302:	f7 b5 88 ef ff ff    	divl   -0x1078(%ebp)
@@ -2147,9 +2147,9 @@
     230d:	89 17                	mov    %edx,(%edi)
     230f:	75 ec                	jne    0x22fd
     2311:	83 bd 60 ef ff ff 00 	cmpl   $0x0,-0x10a0(%ebp)
-    2318:	0f 85 5c 04 00 00    	jne    0x277a
+    2318:	0f 85 5e 04 00 00    	jne    0x277c
     231e:	83 bd 88 ef ff ff 0a 	cmpl   $0xa,-0x1078(%ebp)
-    2325:	0f 84 19 04 00 00    	je     0x2744
+    2325:	0f 84 1b 04 00 00    	je     0x2746
     232b:	8b 95 a8 ef ff ff    	mov    -0x1058(%ebp),%edx
     2331:	29 fa                	sub    %edi,%edx
     2333:	89 d0                	mov    %edx,%eax
@@ -2160,7 +2160,7 @@
     234a:	00 00 00 
     234d:	e9 68 ff ff ff       	jmp    0x22ba
     2352:	83 bd 68 ef ff ff 00 	cmpl   $0x0,-0x1098(%ebp)
-    2359:	0f 85 b2 00 00 00    	jne    0x2411
+    2359:	0f 85 b6 00 00 00    	jne    0x2415
     235f:	8b bd b4 ef ff ff    	mov    -0x104c(%ebp),%edi
     2365:	8b 85 b4 ef ff ff    	mov    -0x104c(%ebp),%eax
     236b:	83 c7 04             	add    $0x4,%edi
@@ -2170,11 +2170,11 @@
     237b:	c7 85 88 ef ff ff 0a 	movl   $0xa,-0x1078(%ebp)
     2382:	00 00 00 
     2385:	83 bd 7c ef ff ff 00 	cmpl   $0x0,-0x1084(%ebp)
-    238c:	0f 84 9c 00 00 00    	je     0x242e
+    238c:	0f 84 a0 00 00 00    	je     0x2432
     2392:	8b 95 b4 ef ff ff    	mov    -0x104c(%ebp),%edx
     2398:	8b 8d b4 ef ff ff    	mov    -0x104c(%ebp),%ecx
     239e:	8b 85 b4 ef ff ff    	mov    -0x104c(%ebp),%eax
-    23a4:	c7 85 40 ef ff ff 00 	movl   $0x0,-0x10c0(%ebp)
+    23a4:	c7 85 7c ef ff ff 00 	movl   $0x0,-0x1084(%ebp)
     23ab:	00 00 00 
     23ae:	8b 12                	mov    (%edx),%edx
     23b0:	8b 49 04             	mov    0x4(%ecx),%ecx
@@ -2182,660 +2182,658 @@
     23b6:	89 85 8c ef ff ff    	mov    %eax,-0x1074(%ebp)
     23bc:	89 95 68 ef ff ff    	mov    %edx,-0x1098(%ebp)
     23c2:	89 8d b4 ef ff ff    	mov    %ecx,-0x104c(%ebp)
-    23c8:	c7 85 3c ef ff ff 00 	movl   $0x0,-0x10c4(%ebp)
+    23c8:	c7 85 40 ef ff ff 00 	movl   $0x0,-0x10c0(%ebp)
     23cf:	00 00 00 
-    23d2:	c7 85 7c ef ff ff 00 	movl   $0x0,-0x1084(%ebp)
+    23d2:	c7 85 3c ef ff ff 00 	movl   $0x0,-0x10c4(%ebp)
     23d9:	00 00 00 
     23dc:	e9 2d fa ff ff       	jmp    0x1e0e
-    23e1:	8b bd a8 ef ff ff    	mov    -0x1058(%ebp),%edi
-    23e7:	8b 85 a8 ef ff ff    	mov    -0x1058(%ebp),%eax
-    23ed:	c7 85 50 ef ff ff 20 	movl   $0x20,-0x10b0(%ebp)
+    23e1:	8b 85 a8 ef ff ff    	mov    -0x1058(%ebp),%eax
+    23e7:	8b bd a8 ef ff ff    	mov    -0x1058(%ebp),%edi
+    23ed:	c7 85 b4 ef ff ff 04 	movl   $0x4,-0x104c(%ebp)
     23f4:	00 00 00 
-    23f7:	83 ef 04             	sub    $0x4,%edi
-    23fa:	c7 40 fc 30 00 00 00 	movl   $0x30,-0x4(%eax)
-    2401:	29 f8                	sub    %edi,%eax
-    2403:	89 85 b4 ef ff ff    	mov    %eax,-0x104c(%ebp)
-    2409:	c1 f8 02             	sar    $0x2,%eax
-    240c:	e9 71 fa ff ff       	jmp    0x1e82
-    2411:	8b 95 b4 ef ff ff    	mov    -0x104c(%ebp),%edx
-    2417:	8b 8d b4 ef ff ff    	mov    -0x104c(%ebp),%ecx
-    241d:	83 c2 04             	add    $0x4,%edx
-    2420:	89 95 8c ef ff ff    	mov    %edx,-0x1074(%ebp)
-    2426:	0f bf 11             	movswl (%ecx),%edx
-    2429:	e9 13 fe ff ff       	jmp    0x2241
-    242e:	83 bd 14 ef ff ff 00 	cmpl   $0x0,-0x10ec(%ebp)
-    2435:	0f 84 5a 04 00 00    	je     0x2895
-    243b:	8b 95 b4 ef ff ff    	mov    -0x104c(%ebp),%edx
-    2441:	8b 8d b4 ef ff ff    	mov    -0x104c(%ebp),%ecx
-    2447:	c7 85 40 ef ff ff 00 	movl   $0x0,-0x10c0(%ebp)
-    244e:	00 00 00 
-    2451:	c7 85 3c ef ff ff 00 	movl   $0x0,-0x10c4(%ebp)
-    2458:	00 00 00 
-    245b:	83 c2 04             	add    $0x4,%edx
-    245e:	89 95 8c ef ff ff    	mov    %edx,-0x1074(%ebp)
-    2464:	0f b6 11             	movzbl (%ecx),%edx
-    2467:	c7 85 7c ef ff ff 00 	movl   $0x0,-0x1084(%ebp)
-    246e:	00 00 00 
-    2471:	89 95 68 ef ff ff    	mov    %edx,-0x1098(%ebp)
-    2477:	e9 e9 fd ff ff       	jmp    0x2265
-    247c:	83 bd 7c ef ff ff 00 	cmpl   $0x0,-0x1084(%ebp)
-    2483:	0f 84 4e 01 00 00    	je     0x25d7
-    2489:	8b 53 5c             	mov    0x5c(%ebx),%edx
-    248c:	85 d2                	test   %edx,%edx
-    248e:	0f 84 25 01 00 00    	je     0x25b9
-    2494:	8b 42 10             	mov    0x10(%edx),%eax
-    2497:	3b 42 14             	cmp    0x14(%edx),%eax
-    249a:	0f 83 19 01 00 00    	jae    0x25b9
-    24a0:	c7 00 2d 00 00 00    	movl   $0x2d,(%eax)
-    24a6:	83 c0 04             	add    $0x4,%eax
-    24a9:	89 42 10             	mov    %eax,0x10(%edx)
-    24ac:	81 fe ff ff ff 7f    	cmp    $0x7fffffff,%esi
-    24b2:	0f 84 32 e1 ff ff    	je     0x5ea
-    24b8:	83 ad 74 ef ff ff 01 	subl   $0x1,-0x108c(%ebp)
-    24bf:	83 c6 01             	add    $0x1,%esi
-    24c2:	83 bd 34 ef ff ff 00 	cmpl   $0x0,-0x10cc(%ebp)
-    24c9:	74 16                	je     0x24e1
-    24cb:	83 bd 68 ef ff ff 00 	cmpl   $0x0,-0x1098(%ebp)
-    24d2:	74 0d                	je     0x24e1
-    24d4:	83 bd 88 ef ff ff 10 	cmpl   $0x10,-0x1078(%ebp)
-    24db:	0f 84 2d 01 00 00    	je     0x260e
-    24e1:	83 bd a8 ef ff ff 00 	cmpl   $0x0,-0x1058(%ebp)
-    24e8:	74 3a                	je     0x2524
-    24ea:	8b 85 a8 ef ff ff    	mov    -0x1058(%ebp),%eax
-    24f0:	c7 44 24 04 30 00 00 	movl   $0x30,0x4(%esp)
-    24f7:	00 
-    24f8:	89 1c 24             	mov    %ebx,(%esp)
-    24fb:	89 44 24 08          	mov    %eax,0x8(%esp)
-    24ff:	e8 fc ff ff ff       	call   0x2500
-    2504:	81 fe fe ff ff 7f    	cmp    $0x7ffffffe,%esi
-    250a:	89 c2                	mov    %eax,%edx
-    250c:	0f 87 f3 f7 ff ff    	ja     0x1d05
-    2512:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
-    2517:	29 f0                	sub    %esi,%eax
-    2519:	39 c2                	cmp    %eax,%edx
-    251b:	0f 87 c9 e0 ff ff    	ja     0x5ea
-    2521:	8d 34 32             	lea    (%edx,%esi,1),%esi
-    2524:	85 f6                	test   %esi,%esi
-    2526:	0f 88 60 fb ff ff    	js     0x208c
-    252c:	8b 95 b4 ef ff ff    	mov    -0x104c(%ebp),%edx
-    2532:	8b 83 98 00 00 00    	mov    0x98(%ebx),%eax
-    2538:	89 7c 24 04          	mov    %edi,0x4(%esp)
-    253c:	89 1c 24             	mov    %ebx,(%esp)
-    253f:	c1 fa 02             	sar    $0x2,%edx
-    2542:	89 54 24 08          	mov    %edx,0x8(%esp)
-    2546:	89 95 d4 ee ff ff    	mov    %edx,-0x112c(%ebp)
-    254c:	ff 50 1c             	call   *0x1c(%eax)
-    254f:	8b 95 d4 ee ff ff    	mov    -0x112c(%ebp),%edx
-    2555:	39 c2                	cmp    %eax,%edx
-    2557:	0f 85 8d e0 ff ff    	jne    0x5ea
-    255d:	bf ff ff ff 7f       	mov    $0x7fffffff,%edi
-    2562:	89 f8                	mov    %edi,%eax
-    2564:	29 f0                	sub    %esi,%eax
-    2566:	39 c2                	cmp    %eax,%edx
-    2568:	0f 87 7c e0 ff ff    	ja     0x5ea
-    256e:	8b 85 4c ef ff ff    	mov    -0x10b4(%ebp),%eax
-    2574:	01 d6                	add    %edx,%esi
-    2576:	2b 85 a8 ef ff ff    	sub    -0x1058(%ebp),%eax
-    257c:	03 85 74 ef ff ff    	add    -0x108c(%ebp),%eax
-    2582:	85 c0                	test   %eax,%eax
-    2584:	0f 8e d4 f6 ff ff    	jle    0x1c5e
-    258a:	89 44 24 08          	mov    %eax,0x8(%esp)
-    258e:	c7 44 24 04 20 00 00 	movl   $0x20,0x4(%esp)
-    2595:	00 
-    2596:	89 1c 24             	mov    %ebx,(%esp)
-    2599:	e8 fc ff ff ff       	call   0x259a
-    259e:	81 fe fe ff ff 7f    	cmp    $0x7ffffffe,%esi
-    25a4:	0f 87 5b f7 ff ff    	ja     0x1d05
-    25aa:	29 f7                	sub    %esi,%edi
-    25ac:	39 f8                	cmp    %edi,%eax
-    25ae:	0f 86 a7 f6 ff ff    	jbe    0x1c5b
-    25b4:	e9 31 e0 ff ff       	jmp    0x5ea
-    25b9:	c7 44 24 04 2d 00 00 	movl   $0x2d,0x4(%esp)
-    25c0:	00 
-    25c1:	89 1c 24             	mov    %ebx,(%esp)
-    25c4:	e8 fc ff ff ff       	call   0x25c5
-    25c9:	83 f8 ff             	cmp    $0xffffffff,%eax
-    25cc:	0f 85 da fe ff ff    	jne    0x24ac
-    25d2:	e9 13 e0 ff ff       	jmp    0x5ea
-    25d7:	83 bd 40 ef ff ff 00 	cmpl   $0x0,-0x10c0(%ebp)
-    25de:	66 90                	xchg   %ax,%ax
-    25e0:	0f 84 ba 00 00 00    	je     0x26a0
-    25e6:	8b 53 5c             	mov    0x5c(%ebx),%edx
-    25e9:	85 d2                	test   %edx,%edx
-    25eb:	0f 84 91 00 00 00    	je     0x2682
-    25f1:	8b 42 10             	mov    0x10(%edx),%eax
-    25f4:	3b 42 14             	cmp    0x14(%edx),%eax
-    25f7:	0f 83 85 00 00 00    	jae    0x2682
-    25fd:	c7 00 2b 00 00 00    	movl   $0x2b,(%eax)
-    2603:	83 c0 04             	add    $0x4,%eax
-    2606:	89 42 10             	mov    %eax,0x10(%edx)
-    2609:	e9 9e fe ff ff       	jmp    0x24ac
-    260e:	8b 53 5c             	mov    0x5c(%ebx),%edx
-    2611:	85 d2                	test   %edx,%edx
-    2613:	0f 84 d0 00 00 00    	je     0x26e9
-    2619:	8b 42 10             	mov    0x10(%edx),%eax
-    261c:	3b 42 14             	cmp    0x14(%edx),%eax
-    261f:	0f 83 c4 00 00 00    	jae    0x26e9
-    2625:	c7 00 30 00 00 00    	movl   $0x30,(%eax)
-    262b:	83 c0 04             	add    $0x4,%eax
-    262e:	89 42 10             	mov    %eax,0x10(%edx)
-    2631:	81 fe ff ff ff 7f    	cmp    $0x7fffffff,%esi
-    2637:	0f 84 ad df ff ff    	je     0x5ea
-    263d:	8b 53 5c             	mov    0x5c(%ebx),%edx
-    2640:	85 d2                	test   %edx,%edx
-    2642:	0f 84 85 00 00 00    	je     0x26cd
-    2648:	8b 42 10             	mov    0x10(%edx),%eax
-    264b:	3b 42 14             	cmp    0x14(%edx),%eax
-    264e:	73 7d                	jae    0x26cd
-    2650:	8b 8d 94 ef ff ff    	mov    -0x106c(%ebp),%ecx
-    2656:	89 08                	mov    %ecx,(%eax)
-    2658:	83 c0 04             	add    $0x4,%eax
-    265b:	83 f9 ff             	cmp    $0xffffffff,%ecx
-    265e:	89 42 10             	mov    %eax,0x10(%edx)
-    2661:	0f 84 83 df ff ff    	je     0x5ea
-    2667:	81 fe fe ff ff 7f    	cmp    $0x7ffffffe,%esi
-    266d:	0f 84 77 df ff ff    	je     0x5ea
-    2673:	83 c6 02             	add    $0x2,%esi
-    2676:	83 ad 74 ef ff ff 02 	subl   $0x2,-0x108c(%ebp)
-    267d:	e9 5f fe ff ff       	jmp    0x24e1
-    2682:	c7 44 24 04 2b 00 00 	movl   $0x2b,0x4(%esp)
-    2689:	00 
-    268a:	89 1c 24             	mov    %ebx,(%esp)
-    268d:	e8 fc ff ff ff       	call   0x268e
-    2692:	83 f8 ff             	cmp    $0xffffffff,%eax
-    2695:	0f 85 11 fe ff ff    	jne    0x24ac
-    269b:	e9 4a df ff ff       	jmp    0x5ea
-    26a0:	83 bd 3c ef ff ff 00 	cmpl   $0x0,-0x10c4(%ebp)
-    26a7:	0f 84 15 fe ff ff    	je     0x24c2
-    26ad:	8b 53 5c             	mov    0x5c(%ebx),%edx
-    26b0:	85 d2                	test   %edx,%edx
-    26b2:	74 53                	je     0x2707
-    26b4:	8b 42 10             	mov    0x10(%edx),%eax
-    26b7:	3b 42 14             	cmp    0x14(%edx),%eax
-    26ba:	73 4b                	jae    0x2707
-    26bc:	c7 00 20 00 00 00    	movl   $0x20,(%eax)
-    26c2:	83 c0 04             	add    $0x4,%eax
-    26c5:	89 42 10             	mov    %eax,0x10(%edx)
-    26c8:	e9 df fd ff ff       	jmp    0x24ac
-    26cd:	8b 85 94 ef ff ff    	mov    -0x106c(%ebp),%eax
-    26d3:	89 1c 24             	mov    %ebx,(%esp)
-    26d6:	89 44 24 04          	mov    %eax,0x4(%esp)
-    26da:	e8 fc ff ff ff       	call   0x26db
-    26df:	83 f8 ff             	cmp    $0xffffffff,%eax
-    26e2:	75 83                	jne    0x2667
-    26e4:	e9 01 df ff ff       	jmp    0x5ea
-    26e9:	c7 44 24 04 30 00 00 	movl   $0x30,0x4(%esp)
-    26f0:	00 
-    26f1:	89 1c 24             	mov    %ebx,(%esp)
-    26f4:	e8 fc ff ff ff       	call   0x26f5
-    26f9:	83 f8 ff             	cmp    $0xffffffff,%eax
-    26fc:	0f 85 2f ff ff ff    	jne    0x2631
-    2702:	e9 e3 de ff ff       	jmp    0x5ea
-    2707:	c7 44 24 04 20 00 00 	movl   $0x20,0x4(%esp)
-    270e:	00 
-    270f:	89 1c 24             	mov    %ebx,(%esp)
-    2712:	e8 fc ff ff ff       	call   0x2713
-    2717:	83 f8 ff             	cmp    $0xffffffff,%eax
-    271a:	0f 85 8c fd ff ff    	jne    0x24ac
-    2720:	e9 c5 de ff ff       	jmp    0x5ea
-    2725:	8b bd a8 ef ff ff    	mov    -0x1058(%ebp),%edi
-    272b:	89 d0                	mov    %edx,%eax
-    272d:	83 ef 04             	sub    $0x4,%edi
-    2730:	83 e0 07             	and    $0x7,%eax
-    2733:	8b 04 81             	mov    (%ecx,%eax,4),%eax
-    2736:	c1 ea 03             	shr    $0x3,%edx
-    2739:	85 d2                	test   %edx,%edx
-    273b:	89 07                	mov    %eax,(%edi)
-    273d:	75 ec                	jne    0x272b
-    273f:	e9 cd fb ff ff       	jmp    0x2311
-    2744:	83 bd 18 ef ff ff 00 	cmpl   $0x0,-0x10e8(%ebp)
-    274b:	0f 84 da fb ff ff    	je     0x232b
-    2751:	8b 8d a8 ef ff ff    	mov    -0x1058(%ebp),%ecx
-    2757:	89 f8                	mov    %edi,%eax
-    2759:	89 ca                	mov    %ecx,%edx
-    275b:	e8 40 da ff ff       	call   0x1a0
-    2760:	8b 8d a8 ef ff ff    	mov    -0x1058(%ebp),%ecx
-    2766:	29 c1                	sub    %eax,%ecx
-    2768:	89 c7                	mov    %eax,%edi
-    276a:	89 c8                	mov    %ecx,%eax
-    276c:	89 8d b4 ef ff ff    	mov    %ecx,-0x104c(%ebp)
-    2772:	c1 f8 02             	sar    $0x2,%eax
-    2775:	e9 08 f7 ff ff       	jmp    0x1e82
-    277a:	83 bd 4c ef ff ff 00 	cmpl   $0x0,-0x10b4(%ebp)
-    2781:	0f 84 97 fb ff ff    	je     0x231e
-    2787:	8b 85 38 ef ff ff    	mov    -0x10c8(%ebp),%eax
-    278d:	8b 95 a8 ef ff ff    	mov    -0x1058(%ebp),%edx
-    2793:	8b 8d 60 ef ff ff    	mov    -0x10a0(%ebp),%ecx
-    2799:	89 04 24             	mov    %eax,(%esp)
-    279c:	89 f8                	mov    %edi,%eax
-    279e:	e8 1d d9 ff ff       	call   0xc0
-    27a3:	89 c7                	mov    %eax,%edi
-    27a5:	52                   	push   %edx
-    27a6:	e9 73 fb ff ff       	jmp    0x231e
-    27ab:	8b bd a8 ef ff ff    	mov    -0x1058(%ebp),%edi
-    27b1:	89 d0                	mov    %edx,%eax
-    27b3:	83 ef 04             	sub    $0x4,%edi
-    27b6:	83 e0 0f             	and    $0xf,%eax
-    27b9:	8b 04 81             	mov    (%ecx,%eax,4),%eax
-    27bc:	c1 ea 04             	shr    $0x4,%edx
-    27bf:	85 d2                	test   %edx,%edx
-    27c1:	89 07                	mov    %eax,(%edi)
-    27c3:	75 ec                	jne    0x27b1
-    27c5:	e9 47 fb ff ff       	jmp    0x2311
-    27ca:	8b bd a8 ef ff ff    	mov    -0x1058(%ebp),%edi
-    27d0:	89 d0                	mov    %edx,%eax
-    27d2:	89 9d b4 ef ff ff    	mov    %ebx,-0x104c(%ebp)
-    27d8:	31 d2                	xor    %edx,%edx
-    27da:	bb 0a 00 00 00       	mov    $0xa,%ebx
-    27df:	f7 f3                	div    %ebx
-    27e1:	83 ef 04             	sub    $0x4,%edi
-    27e4:	8b 14 91             	mov    (%ecx,%edx,4),%edx
-    27e7:	85 c0                	test   %eax,%eax
-    27e9:	89 17                	mov    %edx,(%edi)
-    27eb:	75 eb                	jne    0x27d8
-    27ed:	8b 9d b4 ef ff ff    	mov    -0x104c(%ebp),%ebx
-    27f3:	e9 19 fb ff ff       	jmp    0x2311
-    27f8:	8b 4b 5c             	mov    0x5c(%ebx),%ecx
-    27fb:	85 c9                	test   %ecx,%ecx
-    27fd:	0f 84 35 01 00 00    	je     0x2938
-    2803:	8b 41 10             	mov    0x10(%ecx),%eax
-    2806:	3b 41 14             	cmp    0x14(%ecx),%eax
-    2809:	0f 83 29 01 00 00    	jae    0x2938
-    280f:	c7 00 30 00 00 00    	movl   $0x30,(%eax)
-    2815:	83 c0 04             	add    $0x4,%eax
-    2818:	89 41 10             	mov    %eax,0x10(%ecx)
-    281b:	81 fe ff ff ff 7f    	cmp    $0x7fffffff,%esi
-    2821:	0f 84 c3 dd ff ff    	je     0x5ea
-    2827:	8b 4b 5c             	mov    0x5c(%ebx),%ecx
-    282a:	85 c9                	test   %ecx,%ecx
-    282c:	89 8d 84 ef ff ff    	mov    %ecx,-0x107c(%ebp)
-    2832:	0f 84 d4 00 00 00    	je     0x290c
-    2838:	8b 41 10             	mov    0x10(%ecx),%eax
-    283b:	3b 41 14             	cmp    0x14(%ecx),%eax
-    283e:	89 85 88 ef ff ff    	mov    %eax,-0x1078(%ebp)
-    2844:	0f 83 c2 00 00 00    	jae    0x290c
-    284a:	8b 8d 94 ef ff ff    	mov    -0x106c(%ebp),%ecx
-    2850:	8b 85 88 ef ff ff    	mov    -0x1078(%ebp),%eax
-    2856:	89 08                	mov    %ecx,(%eax)
-    2858:	8b 8d 84 ef ff ff    	mov    -0x107c(%ebp),%ecx
-    285e:	83 c0 04             	add    $0x4,%eax
-    2861:	83 bd 94 ef ff ff ff 	cmpl   $0xffffffff,-0x106c(%ebp)
-    2868:	89 41 10             	mov    %eax,0x10(%ecx)
-    286b:	0f 84 79 dd ff ff    	je     0x5ea
-    2871:	81 fe fe ff ff 7f    	cmp    $0x7ffffffe,%esi
-    2877:	0f 84 6d dd ff ff    	je     0x5ea
-    287d:	83 c6 02             	add    $0x2,%esi
-    2880:	e9 27 f7 ff ff       	jmp    0x1fac
-    2885:	c7 85 50 ef ff ff 20 	movl   $0x20,-0x10b0(%ebp)
-    288c:	00 00 00 
-    288f:	90                   	nop
-    2890:	e9 c3 f8 ff ff       	jmp    0x2158
-    2895:	83 bd 68 ef ff ff 00 	cmpl   $0x0,-0x1098(%ebp)
-    289c:	0f 85 c0 00 00 00    	jne    0x2962
-    28a2:	8b 85 b4 ef ff ff    	mov    -0x104c(%ebp),%eax
-    28a8:	8b bd b4 ef ff ff    	mov    -0x104c(%ebp),%edi
-    28ae:	c7 85 40 ef ff ff 00 	movl   $0x0,-0x10c0(%ebp)
-    28b5:	00 00 00 
-    28b8:	c7 85 3c ef ff ff 00 	movl   $0x0,-0x10c4(%ebp)
-    28bf:	00 00 00 
-    28c2:	8b 10                	mov    (%eax),%edx
-    28c4:	83 c7 04             	add    $0x4,%edi
-    28c7:	89 bd 8c ef ff ff    	mov    %edi,-0x1074(%ebp)
-    28cd:	c7 85 7c ef ff ff 00 	movl   $0x0,-0x1084(%ebp)
-    28d4:	00 00 00 
-    28d7:	89 95 68 ef ff ff    	mov    %edx,-0x1098(%ebp)
-    28dd:	e9 83 f9 ff ff       	jmp    0x2265
-    28e2:	89 95 d4 ee ff ff    	mov    %edx,-0x112c(%ebp)
-    28e8:	c7 44 24 04 20 00 00 	movl   $0x20,0x4(%esp)
-    28ef:	00 
-    28f0:	89 1c 24             	mov    %ebx,(%esp)
-    28f3:	e8 fc ff ff ff       	call   0x28f4
-    28f8:	8b 95 d4 ee ff ff    	mov    -0x112c(%ebp),%edx
-    28fe:	83 f8 ff             	cmp    $0xffffffff,%eax
-    2901:	0f 85 80 f6 ff ff    	jne    0x1f87
-    2907:	e9 de dc ff ff       	jmp    0x5ea
-    290c:	8b 8d 94 ef ff ff    	mov    -0x106c(%ebp),%ecx
-    2912:	89 95 d4 ee ff ff    	mov    %edx,-0x112c(%ebp)
-    2918:	89 1c 24             	mov    %ebx,(%esp)
-    291b:	89 4c 24 04          	mov    %ecx,0x4(%esp)
-    291f:	e8 fc ff ff ff       	call   0x2920
-    2924:	8b 95 d4 ee ff ff    	mov    -0x112c(%ebp),%edx
-    292a:	83 f8 ff             	cmp    $0xffffffff,%eax
-    292d:	0f 85 3e ff ff ff    	jne    0x2871
-    2933:	e9 b2 dc ff ff       	jmp    0x5ea
-    2938:	89 95 d4 ee ff ff    	mov    %edx,-0x112c(%ebp)
-    293e:	c7 44 24 04 30 00 00 	movl   $0x30,0x4(%esp)
-    2945:	00 
-    2946:	89 1c 24             	mov    %ebx,(%esp)
-    2949:	e8 fc ff ff ff       	call   0x294a
-    294e:	8b 95 d4 ee ff ff    	mov    -0x112c(%ebp),%edx
-    2954:	83 f8 ff             	cmp    $0xffffffff,%eax
-    2957:	0f 85 be fe ff ff    	jne    0x281b
-    295d:	e9 88 dc ff ff       	jmp    0x5ea
-    2962:	8b 95 b4 ef ff ff    	mov    -0x104c(%ebp),%edx
-    2968:	8b 8d b4 ef ff ff    	mov    -0x104c(%ebp),%ecx
-    296e:	c7 85 40 ef ff ff 00 	movl   $0x0,-0x10c0(%ebp)
-    2975:	00 00 00 
-    2978:	c7 85 3c ef ff ff 00 	movl   $0x0,-0x10c4(%ebp)
-    297f:	00 00 00 
-    2982:	83 c2 04             	add    $0x4,%edx
-    2985:	89 95 8c ef ff ff    	mov    %edx,-0x1074(%ebp)
-    298b:	0f b7 11             	movzwl (%ecx),%edx
-    298e:	c7 85 7c ef ff ff 00 	movl   $0x0,-0x1084(%ebp)
-    2995:	00 00 00 
-    2998:	89 95 68 ef ff ff    	mov    %edx,-0x1098(%ebp)
-    299e:	e9 c2 f8 ff ff       	jmp    0x2265
-    29a3:	c7 85 8c ef ff ff 10 	movl   $0x10,-0x1074(%ebp)
-    29aa:	00 00 00 
-    29ad:	83 bd 64 ef ff ff 00 	cmpl   $0x0,-0x109c(%ebp)
-    29b4:	0f 84 c7 07 00 00    	je     0x3181
-    29ba:	6b 85 6c ef ff ff 34 	imul   $0x34,-0x1094(%ebp),%eax
-    29c1:	03 85 80 ef ff ff    	add    -0x1080(%ebp),%eax
-    29c7:	0f 84 65 07 00 00    	je     0x3132
-    29cd:	6b 40 24 0c          	imul   $0xc,0x24(%eax),%eax
-    29d1:	8b bd 78 ef ff ff    	mov    -0x1088(%ebp),%edi
-    29d7:	8b 95 78 ef ff ff    	mov    -0x1088(%ebp),%edx
-    29dd:	8b 3c 38             	mov    (%eax,%edi,1),%edi
-    29e0:	89 bd 64 ef ff ff    	mov    %edi,-0x109c(%ebp)
-    29e6:	8b 44 10 04          	mov    0x4(%eax,%edx,1),%eax
-    29ea:	c7 85 2c ef ff ff 00 	movl   $0x0,-0x10d4(%ebp)
-    29f1:	00 00 00 
-    29f4:	c7 85 28 ef ff ff 00 	movl   $0x0,-0x10d8(%ebp)
-    29fb:	00 00 00 
-    29fe:	c7 85 58 ef ff ff 00 	movl   $0x0,-0x10a8(%ebp)
-    2a05:	00 00 00 
-    2a08:	89 85 54 ef ff ff    	mov    %eax,-0x10ac(%ebp)
-    2a0e:	83 bd 90 ef ff ff 00 	cmpl   $0x0,-0x1070(%ebp)
-    2a15:	0f 8c 80 0b 00 00    	jl     0x359b
-    2a1b:	0f 85 02 06 00 00    	jne    0x3023
-    2a21:	8b 8d 54 ef ff ff    	mov    -0x10ac(%ebp),%ecx
-    2a27:	0b 8d 64 ef ff ff    	or     -0x109c(%ebp),%ecx
-    2a2d:	0f 85 f0 05 00 00    	jne    0x3023
-    2a33:	83 bd 8c ef ff ff 08 	cmpl   $0x8,-0x1074(%ebp)
-    2a3a:	75 0d                	jne    0x2a49
-    2a3c:	83 bd 10 ef ff ff 00 	cmpl   $0x0,-0x10f0(%ebp)
-    2a43:	0f 85 4b 1a 00 00    	jne    0x4494
-    2a49:	8b bd a8 ef ff ff    	mov    -0x1058(%ebp),%edi
-    2a4f:	c6 85 1f ef ff ff 20 	movb   $0x20,-0x10e1(%ebp)
-    2a56:	8b 8d 64 ef ff ff    	mov    -0x109c(%ebp),%ecx
-    2a5c:	0b 8d 54 ef ff ff    	or     -0x10ac(%ebp),%ecx
-    2a62:	0f 95 c0             	setne  %al
-    2a65:	0f b6 c0             	movzbl %al,%eax
-    2a68:	89 85 54 ef ff ff    	mov    %eax,-0x10ac(%ebp)
-    2a6e:	8b 85 a8 ef ff ff    	mov    -0x1058(%ebp),%eax
-    2a74:	29 f8                	sub    %edi,%eax
-    2a76:	89 85 64 ef ff ff    	mov    %eax,-0x109c(%ebp)
-    2a7c:	c1 f8 02             	sar    $0x2,%eax
-    2a7f:	39 85 90 ef ff ff    	cmp    %eax,-0x1070(%ebp)
-    2a85:	7f 32                	jg     0x2ab9
-    2a87:	83 bd 10 ef ff ff 00 	cmpl   $0x0,-0x10f0(%ebp)
-    2a8e:	74 29                	je     0x2ab9
-    2a90:	83 bd 54 ef ff ff 00 	cmpl   $0x0,-0x10ac(%ebp)
-    2a97:	74 20                	je     0x2ab9
-    2a99:	83 bd 8c ef ff ff 08 	cmpl   $0x8,-0x1074(%ebp)
-    2aa0:	75 17                	jne    0x2ab9
-    2aa2:	8b 85 a8 ef ff ff    	mov    -0x1058(%ebp),%eax
-    2aa8:	83 ef 04             	sub    $0x4,%edi
-    2aab:	c7 07 30 00 00 00    	movl   $0x30,(%edi)
-    2ab1:	29 f8                	sub    %edi,%eax
-    2ab3:	89 85 64 ef ff ff    	mov    %eax,-0x109c(%ebp)
-    2ab9:	8b 95 64 ef ff ff    	mov    -0x109c(%ebp),%edx
-    2abf:	c7 85 a8 ef ff ff 00 	movl   $0x0,-0x1058(%ebp)
-    2ac6:	00 00 00 
-    2ac9:	c1 fa 02             	sar    $0x2,%edx
-    2acc:	f7 da                	neg    %edx
-    2ace:	89 d0                	mov    %edx,%eax
-    2ad0:	03 85 90 ef ff ff    	add    -0x1070(%ebp),%eax
-    2ad6:	0f 48 85 a8 ef ff ff 	cmovs  -0x1058(%ebp),%eax
-    2add:	83 bd 20 ef ff ff 00 	cmpl   $0x0,-0x10e0(%ebp)
-    2ae4:	89 95 24 ef ff ff    	mov    %edx,-0x10dc(%ebp)
-    2aea:	89 85 a8 ef ff ff    	mov    %eax,-0x1058(%ebp)
-    2af0:	0f 85 d0 02 00 00    	jne    0x2dc6
-    2af6:	03 95 70 ef ff ff    	add    -0x1090(%ebp),%edx
-    2afc:	29 c2                	sub    %eax,%edx
-    2afe:	83 bd 10 ef ff ff 00 	cmpl   $0x0,-0x10f0(%ebp)
-    2b05:	0f 95 c0             	setne  %al
-    2b08:	83 bd 54 ef ff ff 00 	cmpl   $0x0,-0x10ac(%ebp)
-    2b0f:	0f 95 c1             	setne  %cl
-    2b12:	20 c8                	and    %cl,%al
-    2b14:	88 85 90 ef ff ff    	mov    %al,-0x1070(%ebp)
-    2b1a:	74 0d                	je     0x2b29
-    2b1c:	83 bd 8c ef ff ff 10 	cmpl   $0x10,-0x1074(%ebp)
-    2b23:	8d 42 fe             	lea    -0x2(%edx),%eax
-    2b26:	0f 44 d0             	cmove  %eax,%edx
-    2b29:	83 bd 28 ef ff ff 00 	cmpl   $0x0,-0x10d8(%ebp)
-    2b30:	75 12                	jne    0x2b44
-    2b32:	83 bd 58 ef ff ff 00 	cmpl   $0x0,-0x10a8(%ebp)
-    2b39:	75 09                	jne    0x2b44
-    2b3b:	83 bd 2c ef ff ff 00 	cmpl   $0x0,-0x10d4(%ebp)
-    2b42:	74 03                	je     0x2b47
-    2b44:	83 ea 01             	sub    $0x1,%edx
-    2b47:	80 bd 1f ef ff ff 20 	cmpb   $0x20,-0x10e1(%ebp)
-    2b4e:	0f 84 d4 01 00 00    	je     0x2d28
-    2b54:	83 bd 58 ef ff ff 00 	cmpl   $0x0,-0x10a8(%ebp)
-    2b5b:	0f 84 9a 01 00 00    	je     0x2cfb
-    2b61:	8b 4b 5c             	mov    0x5c(%ebx),%ecx
-    2b64:	85 c9                	test   %ecx,%ecx
-    2b66:	0f 84 ca 00 00 00    	je     0x2c36
-    2b6c:	8b 41 10             	mov    0x10(%ecx),%eax
-    2b6f:	3b 41 14             	cmp    0x14(%ecx),%eax
-    2b72:	0f 83 be 00 00 00    	jae    0x2c36
-    2b78:	c7 00 2d 00 00 00    	movl   $0x2d,(%eax)
-    2b7e:	83 c0 04             	add    $0x4,%eax
-    2b81:	89 41 10             	mov    %eax,0x10(%ecx)
-    2b84:	81 fe ff ff ff 7f    	cmp    $0x7fffffff,%esi
-    2b8a:	0f 84 5a da ff ff    	je     0x5ea
-    2b90:	83 c6 01             	add    $0x1,%esi
-    2b93:	80 bd 90 ef ff ff 00 	cmpb   $0x0,-0x1070(%ebp)
-    2b9a:	74 0d                	je     0x2ba9
-    2b9c:	83 bd 8c ef ff ff 10 	cmpl   $0x10,-0x1074(%ebp)
-    2ba3:	0f 84 fc 04 00 00    	je     0x30a5
-    2ba9:	03 95 a8 ef ff ff    	add    -0x1058(%ebp),%edx
-    2baf:	85 d2                	test   %edx,%edx
-    2bb1:	7e 34                	jle    0x2be7
-    2bb3:	89 54 24 08          	mov    %edx,0x8(%esp)
-    2bb7:	c7 44 24 04 30 00 00 	movl   $0x30,0x4(%esp)
-    2bbe:	00 
-    2bbf:	89 1c 24             	mov    %ebx,(%esp)
-    2bc2:	e8 fc ff ff ff       	call   0x2bc3
-    2bc7:	81 fe fe ff ff 7f    	cmp    $0x7ffffffe,%esi
-    2bcd:	89 c2                	mov    %eax,%edx
-    2bcf:	0f 87 de 00 00 00    	ja     0x2cb3
-    2bd5:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
-    2bda:	29 f0                	sub    %esi,%eax
-    2bdc:	39 c2                	cmp    %eax,%edx
-    2bde:	0f 87 06 da ff ff    	ja     0x5ea
-    2be4:	8d 34 32             	lea    (%edx,%esi,1),%esi
-    2be7:	85 f6                	test   %esi,%esi
-    2be9:	0f 88 e8 00 00 00    	js     0x2cd7
-    2bef:	8b 95 64 ef ff ff    	mov    -0x109c(%ebp),%edx
-    2bf5:	8b 83 98 00 00 00    	mov    0x98(%ebx),%eax
-    2bfb:	89 7c 24 04          	mov    %edi,0x4(%esp)
-    2bff:	89 1c 24             	mov    %ebx,(%esp)
-    2c02:	c1 fa 02             	sar    $0x2,%edx
-    2c05:	89 54 24 08          	mov    %edx,0x8(%esp)
-    2c09:	89 95 d4 ee ff ff    	mov    %edx,-0x112c(%ebp)
-    2c0f:	ff 50 1c             	call   *0x1c(%eax)
-    2c12:	8b 95 d4 ee ff ff    	mov    -0x112c(%ebp),%edx
-    2c18:	39 c2                	cmp    %eax,%edx
-    2c1a:	0f 85 ca d9 ff ff    	jne    0x5ea
-    2c20:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
-    2c25:	29 f0                	sub    %esi,%eax
-    2c27:	39 c2                	cmp    %eax,%edx
-    2c29:	0f 87 bb d9 ff ff    	ja     0x5ea
-    2c2f:	01 d6                	add    %edx,%esi
-    2c31:	e9 95 de ff ff       	jmp    0xacb
-    2c36:	89 95 d4 ee ff ff    	mov    %edx,-0x112c(%ebp)
-    2c3c:	c7 44 24 04 2d 00 00 	movl   $0x2d,0x4(%esp)
-    2c43:	00 
-    2c44:	89 1c 24             	mov    %ebx,(%esp)
-    2c47:	e8 fc ff ff ff       	call   0x2c48
-    2c4c:	8b 95 d4 ee ff ff    	mov    -0x112c(%ebp),%edx
-    2c52:	83 f8 ff             	cmp    $0xffffffff,%eax
-    2c55:	0f 85 29 ff ff ff    	jne    0x2b84
-    2c5b:	e9 8a d9 ff ff       	jmp    0x5ea
-    2c60:	6b 85 6c ef ff ff 34 	imul   $0x34,-0x1094(%ebp),%eax
-    2c67:	03 85 80 ef ff ff    	add    -0x1080(%ebp),%eax
-    2c6d:	89 85 a8 ef ff ff    	mov    %eax,-0x1058(%ebp)
-    2c73:	0f 84 3d 18 00 00    	je     0x44b6
-    2c79:	8b 95 a8 ef ff ff    	mov    -0x1058(%ebp),%edx
-    2c7f:	6b 42 24 0c          	imul   $0xc,0x24(%edx),%eax
-    2c83:	03 85 78 ef ff ff    	add    -0x1088(%ebp),%eax
-    2c89:	89 45 dc             	mov    %eax,-0x24(%ebp)
-    2c8c:	8d 45 dc             	lea    -0x24(%ebp),%eax
-    2c8f:	89 44 24 08          	mov    %eax,0x8(%esp)
-    2c93:	89 54 24 04          	mov    %edx,0x4(%esp)
-    2c97:	89 1c 24             	mov    %ebx,(%esp)
-    2c9a:	e8 fc ff ff ff       	call   0x2c9b
-    2c9f:	85 c0                	test   %eax,%eax
-    2ca1:	0f 88 43 d9 ff ff    	js     0x5ea
-    2ca7:	81 fe fe ff ff 7f    	cmp    $0x7ffffffe,%esi
-    2cad:	0f 86 06 de ff ff    	jbe    0xab9
-    2cb3:	c7 44 24 0c 26 00 00 	movl   $0x26,0xc(%esp)
-    2cba:	00 
-    2cbb:	c7 44 24 08 c1 07 00 	movl   $0x7c1,0x8(%esp)
-    2cc2:	00 
-    2cc3:	c7 44 24 04 0c 00 00 	movl   $0xc,0x4(%esp)
-    2cca:	00 
-    2ccb:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
-    2cd2:	e8 fc ff ff ff       	call   0x2cd3
-    2cd7:	c7 44 24 0c 26 00 00 	movl   $0x26,0xc(%esp)
-    2cde:	00 
-    2cdf:	c7 44 24 08 c1 07 00 	movl   $0x7c1,0x8(%esp)
-    2ce6:	00 
-    2ce7:	c7 44 24 04 0c 00 00 	movl   $0xc,0x4(%esp)
-    2cee:	00 
-    2cef:	c7 04 24 30 00 00 00 	movl   $0x30,(%esp)
-    2cf6:	e8 fc ff ff ff       	call   0x2cf7
-    2cfb:	83 bd 2c ef ff ff 00 	cmpl   $0x0,-0x10d4(%ebp)
-    2d02:	0f 84 89 00 00 00    	je     0x2d91
-    2d08:	8b 4b 5c             	mov    0x5c(%ebx),%ecx
-    2d0b:	85 c9                	test   %ecx,%ecx
-    2d0d:	74 58                	je     0x2d67
-    2d0f:	8b 41 10             	mov    0x10(%ecx),%eax
-    2d12:	3b 41 14             	cmp    0x14(%ecx),%eax
-    2d15:	73 50                	jae    0x2d67
-    2d17:	c7 00 2b 00 00 00    	movl   $0x2b,(%eax)
-    2d1d:	83 c0 04             	add    $0x4,%eax
-    2d20:	89 41 10             	mov    %eax,0x10(%ecx)
-    2d23:	e9 5c fe ff ff       	jmp    0x2b84
-    2d28:	85 d2                	test   %edx,%edx
-    2d2a:	7e 34                	jle    0x2d60
-    2d2c:	89 54 24 08          	mov    %edx,0x8(%esp)
-    2d30:	c7 44 24 04 20 00 00 	movl   $0x20,0x4(%esp)
-    2d37:	00 
-    2d38:	89 1c 24             	mov    %ebx,(%esp)
-    2d3b:	e8 fc ff ff ff       	call   0x2d3c
-    2d40:	81 fe fe ff ff 7f    	cmp    $0x7ffffffe,%esi
-    2d46:	89 c2                	mov    %eax,%edx
-    2d48:	0f 87 65 ff ff ff    	ja     0x2cb3
-    2d4e:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
-    2d53:	29 f0                	sub    %esi,%eax
-    2d55:	39 c2                	cmp    %eax,%edx
-    2d57:	0f 87 8d d8 ff ff    	ja     0x5ea
-    2d5d:	8d 34 32             	lea    (%edx,%esi,1),%esi
-    2d60:	31 d2                	xor    %edx,%edx
-    2d62:	e9 ed fd ff ff       	jmp    0x2b54
-    2d67:	89 95 d4 ee ff ff    	mov    %edx,-0x112c(%ebp)
-    2d6d:	c7 44 24 04 2b 00 00 	movl   $0x2b,0x4(%esp)
-    2d74:	00 
-    2d75:	89 1c 24             	mov    %ebx,(%esp)
-    2d78:	e8 fc ff ff ff       	call   0x2d79
-    2d7d:	8b 95 d4 ee ff ff    	mov    -0x112c(%ebp),%edx
-    2d83:	83 f8 ff             	cmp    $0xffffffff,%eax
-    2d86:	0f 85 f8 fd ff ff    	jne    0x2b84
-    2d8c:	e9 59 d8 ff ff       	jmp    0x5ea
-    2d91:	83 bd 28 ef ff ff 00 	cmpl   $0x0,-0x10d8(%ebp)
-    2d98:	0f 84 f5 fd ff ff    	je     0x2b93
-    2d9e:	8b 4b 5c             	mov    0x5c(%ebx),%ecx
-    2da1:	85 c9                	test   %ecx,%ecx
-    2da3:	0f 84 99 07 00 00    	je     0x3542
-    2da9:	8b 41 10             	mov    0x10(%ecx),%eax
-    2dac:	3b 41 14             	cmp    0x14(%ecx),%eax
-    2daf:	0f 83 8d 07 00 00    	jae    0x3542
-    2db5:	c7 00 20 00 00 00    	movl   $0x20,(%eax)
-    2dbb:	83 c0 04             	add    $0x4,%eax
-    2dbe:	89 41 10             	mov    %eax,0x10(%ecx)
-    2dc1:	e9 be fd ff ff       	jmp    0x2b84
-    2dc6:	83 bd 58 ef ff ff 00 	cmpl   $0x0,-0x10a8(%ebp)
-    2dcd:	0f 84 50 01 00 00    	je     0x2f23
-    2dd3:	8b 53 5c             	mov    0x5c(%ebx),%edx
-    2dd6:	85 d2                	test   %edx,%edx
-    2dd8:	0f 84 27 01 00 00    	je     0x2f05
-    2dde:	8b 42 10             	mov    0x10(%edx),%eax
-    2de1:	3b 42 14             	cmp    0x14(%edx),%eax
-    2de4:	0f 83 1b 01 00 00    	jae    0x2f05
-    2dea:	c7 00 2d 00 00 00    	movl   $0x2d,(%eax)
-    2df0:	83 c0 04             	add    $0x4,%eax
-    2df3:	89 42 10             	mov    %eax,0x10(%edx)
-    2df6:	81 fe ff ff ff 7f    	cmp    $0x7fffffff,%esi
-    2dfc:	0f 84 e8 d7 ff ff    	je     0x5ea
-    2e02:	83 ad 70 ef ff ff 01 	subl   $0x1,-0x1090(%ebp)
-    2e09:	83 c6 01             	add    $0x1,%esi
-    2e0c:	83 bd 10 ef ff ff 00 	cmpl   $0x0,-0x10f0(%ebp)
-    2e13:	74 16                	je     0x2e2b
-    2e15:	83 bd 54 ef ff ff 00 	cmpl   $0x0,-0x10ac(%ebp)
-    2e1c:	74 0d                	je     0x2e2b
-    2e1e:	83 bd 8c ef ff ff 10 	cmpl   $0x10,-0x1074(%ebp)
-    2e25:	0f 84 2d 01 00 00    	je     0x2f58
-    2e2b:	83 bd a8 ef ff ff 00 	cmpl   $0x0,-0x1058(%ebp)
-    2e32:	74 3a                	je     0x2e6e
-    2e34:	8b 85 a8 ef ff ff    	mov    -0x1058(%ebp),%eax
-    2e3a:	c7 44 24 04 30 00 00 	movl   $0x30,0x4(%esp)
-    2e41:	00 
-    2e42:	89 1c 24             	mov    %ebx,(%esp)
-    2e45:	89 44 24 08          	mov    %eax,0x8(%esp)
-    2e49:	e8 fc ff ff ff       	call   0x2e4a
-    2e4e:	81 fe fe ff ff 7f    	cmp    $0x7ffffffe,%esi
-    2e54:	89 c2                	mov    %eax,%edx
-    2e56:	0f 87 57 fe ff ff    	ja     0x2cb3
-    2e5c:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
-    2e61:	29 f0                	sub    %esi,%eax
-    2e63:	39 c2                	cmp    %eax,%edx
-    2e65:	0f 87 7f d7 ff ff    	ja     0x5ea
-    2e6b:	8d 34 32             	lea    (%edx,%esi,1),%esi
-    2e6e:	85 f6                	test   %esi,%esi
-    2e70:	0f 88 61 fe ff ff    	js     0x2cd7
-    2e76:	8b 95 64 ef ff ff    	mov    -0x109c(%ebp),%edx
-    2e7c:	8b 83 98 00 00 00    	mov    0x98(%ebx),%eax
-    2e82:	89 7c 24 04          	mov    %edi,0x4(%esp)
-    2e86:	89 1c 24             	mov    %ebx,(%esp)
-    2e89:	c1 fa 02             	sar    $0x2,%edx
-    2e8c:	89 54 24 08          	mov    %edx,0x8(%esp)
-    2e90:	89 95 d4 ee ff ff    	mov    %edx,-0x112c(%ebp)
-    2e96:	ff 50 1c             	call   *0x1c(%eax)
-    2e99:	8b 95 d4 ee ff ff    	mov    -0x112c(%ebp),%edx
-    2e9f:	39 c2                	cmp    %eax,%edx
-    2ea1:	0f 85 43 d7 ff ff    	jne    0x5ea
-    2ea7:	bf ff ff ff 7f       	mov    $0x7fffffff,%edi
-    2eac:	89 f8                	mov    %edi,%eax
-    2eae:	29 f0                	sub    %esi,%eax
-    2eb0:	39 c2                	cmp    %eax,%edx
-    2eb2:	0f 87 32 d7 ff ff    	ja     0x5ea
-    2eb8:	8b 85 24 ef ff ff    	mov    -0x10dc(%ebp),%eax
-    2ebe:	01 d6                	add    %edx,%esi
-    2ec0:	2b 85 a8 ef ff ff    	sub    -0x1058(%ebp),%eax
-    2ec6:	03 85 70 ef ff ff    	add    -0x1090(%ebp),%eax
-    2ecc:	85 c0                	test   %eax,%eax
-    2ece:	0f 8e f7 db ff ff    	jle    0xacb
-    2ed4:	89 44 24 08          	mov    %eax,0x8(%esp)
-    2ed8:	c7 44 24 04 20 00 00 	movl   $0x20,0x4(%esp)
-    2edf:	00 
-    2ee0:	89 1c 24             	mov    %ebx,(%esp)
-    2ee3:	e8 fc ff ff ff       	call   0x2ee4
-    2ee8:	81 fe fe ff ff 7f    	cmp    $0x7ffffffe,%esi
-    2eee:	0f 87 bf fd ff ff    	ja     0x2cb3
-    2ef4:	29 f7                	sub    %esi,%edi
-    2ef6:	39 f8                	cmp    %edi,%eax
-    2ef8:	0f 86 ca db ff ff    	jbe    0xac8
-    2efe:	66 90                	xchg   %ax,%ax
+    23f7:	c7 85 50 ef ff ff 20 	movl   $0x20,-0x10b0(%ebp)
+    23fe:	00 00 00 
+    2401:	c7 40 fc 30 00 00 00 	movl   $0x30,-0x4(%eax)
+    2408:	b8 01 00 00 00       	mov    $0x1,%eax
+    240d:	83 ef 04             	sub    $0x4,%edi
+    2410:	e9 6d fa ff ff       	jmp    0x1e82
+    2415:	8b 95 b4 ef ff ff    	mov    -0x104c(%ebp),%edx
+    241b:	8b 8d b4 ef ff ff    	mov    -0x104c(%ebp),%ecx
+    2421:	83 c2 04             	add    $0x4,%edx
+    2424:	89 95 8c ef ff ff    	mov    %edx,-0x1074(%ebp)
+    242a:	0f bf 11             	movswl (%ecx),%edx
+    242d:	e9 0f fe ff ff       	jmp    0x2241
+    2432:	83 bd 14 ef ff ff 00 	cmpl   $0x0,-0x10ec(%ebp)
+    2439:	0f 84 57 04 00 00    	je     0x2896
+    243f:	8b 95 b4 ef ff ff    	mov    -0x104c(%ebp),%edx
+    2445:	8b 8d b4 ef ff ff    	mov    -0x104c(%ebp),%ecx
+    244b:	c7 85 7c ef ff ff 00 	movl   $0x0,-0x1084(%ebp)
+    2452:	00 00 00 
+    2455:	c7 85 40 ef ff ff 00 	movl   $0x0,-0x10c0(%ebp)
+    245c:	00 00 00 
+    245f:	83 c2 04             	add    $0x4,%edx
+    2462:	89 95 8c ef ff ff    	mov    %edx,-0x1074(%ebp)
+    2468:	0f b6 11             	movzbl (%ecx),%edx
+    246b:	c7 85 3c ef ff ff 00 	movl   $0x0,-0x10c4(%ebp)
+    2472:	00 00 00 
+    2475:	89 95 68 ef ff ff    	mov    %edx,-0x1098(%ebp)
+    247b:	e9 e5 fd ff ff       	jmp    0x2265
+    2480:	83 bd 7c ef ff ff 00 	cmpl   $0x0,-0x1084(%ebp)
+    2487:	0f 84 4e 01 00 00    	je     0x25db
+    248d:	8b 53 5c             	mov    0x5c(%ebx),%edx
+    2490:	85 d2                	test   %edx,%edx
+    2492:	0f 84 25 01 00 00    	je     0x25bd
+    2498:	8b 42 10             	mov    0x10(%edx),%eax
+    249b:	3b 42 14             	cmp    0x14(%edx),%eax
+    249e:	0f 83 19 01 00 00    	jae    0x25bd
+    24a4:	c7 00 2d 00 00 00    	movl   $0x2d,(%eax)
+    24aa:	83 c0 04             	add    $0x4,%eax
+    24ad:	89 42 10             	mov    %eax,0x10(%edx)
+    24b0:	81 fe ff ff ff 7f    	cmp    $0x7fffffff,%esi
+    24b6:	0f 84 2e e1 ff ff    	je     0x5ea
+    24bc:	83 ad 74 ef ff ff 01 	subl   $0x1,-0x108c(%ebp)
+    24c3:	83 c6 01             	add    $0x1,%esi
+    24c6:	83 bd 34 ef ff ff 00 	cmpl   $0x0,-0x10cc(%ebp)
+    24cd:	74 16                	je     0x24e5
+    24cf:	83 bd 68 ef ff ff 00 	cmpl   $0x0,-0x1098(%ebp)
+    24d6:	74 0d                	je     0x24e5
+    24d8:	83 bd 88 ef ff ff 10 	cmpl   $0x10,-0x1078(%ebp)
+    24df:	0f 84 2b 01 00 00    	je     0x2610
+    24e5:	83 bd a8 ef ff ff 00 	cmpl   $0x0,-0x1058(%ebp)
+    24ec:	74 3a                	je     0x2528
+    24ee:	8b 85 a8 ef ff ff    	mov    -0x1058(%ebp),%eax
+    24f4:	c7 44 24 04 30 00 00 	movl   $0x30,0x4(%esp)
+    24fb:	00 
+    24fc:	89 1c 24             	mov    %ebx,(%esp)
+    24ff:	89 44 24 08          	mov    %eax,0x8(%esp)
+    2503:	e8 fc ff ff ff       	call   0x2504
+    2508:	81 fe fe ff ff 7f    	cmp    $0x7ffffffe,%esi
+    250e:	89 c2                	mov    %eax,%edx
+    2510:	0f 87 ef f7 ff ff    	ja     0x1d05
+    2516:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
+    251b:	29 f0                	sub    %esi,%eax
+    251d:	39 c2                	cmp    %eax,%edx
+    251f:	0f 87 c5 e0 ff ff    	ja     0x5ea
+    2525:	8d 34 32             	lea    (%edx,%esi,1),%esi
+    2528:	85 f6                	test   %esi,%esi
+    252a:	0f 88 5c fb ff ff    	js     0x208c
+    2530:	8b 95 b4 ef ff ff    	mov    -0x104c(%ebp),%edx
+    2536:	8b 83 98 00 00 00    	mov    0x98(%ebx),%eax
+    253c:	89 7c 24 04          	mov    %edi,0x4(%esp)
+    2540:	89 1c 24             	mov    %ebx,(%esp)
+    2543:	c1 fa 02             	sar    $0x2,%edx
+    2546:	89 54 24 08          	mov    %edx,0x8(%esp)
+    254a:	89 95 d4 ee ff ff    	mov    %edx,-0x112c(%ebp)
+    2550:	ff 50 1c             	call   *0x1c(%eax)
+    2553:	8b 95 d4 ee ff ff    	mov    -0x112c(%ebp),%edx
+    2559:	39 c2                	cmp    %eax,%edx
+    255b:	0f 85 89 e0 ff ff    	jne    0x5ea
+    2561:	bf ff ff ff 7f       	mov    $0x7fffffff,%edi
+    2566:	89 f8                	mov    %edi,%eax
+    2568:	29 f0                	sub    %esi,%eax
+    256a:	39 c2                	cmp    %eax,%edx
+    256c:	0f 87 78 e0 ff ff    	ja     0x5ea
+    2572:	8b 85 4c ef ff ff    	mov    -0x10b4(%ebp),%eax
+    2578:	01 d6                	add    %edx,%esi
+    257a:	2b 85 a8 ef ff ff    	sub    -0x1058(%ebp),%eax
+    2580:	03 85 74 ef ff ff    	add    -0x108c(%ebp),%eax
+    2586:	85 c0                	test   %eax,%eax
+    2588:	0f 8e d0 f6 ff ff    	jle    0x1c5e
+    258e:	89 44 24 08          	mov    %eax,0x8(%esp)
+    2592:	c7 44 24 04 20 00 00 	movl   $0x20,0x4(%esp)
+    2599:	00 
+    259a:	89 1c 24             	mov    %ebx,(%esp)
+    259d:	e8 fc ff ff ff       	call   0x259e
+    25a2:	81 fe fe ff ff 7f    	cmp    $0x7ffffffe,%esi
+    25a8:	0f 87 57 f7 ff ff    	ja     0x1d05
+    25ae:	29 f7                	sub    %esi,%edi
+    25b0:	39 f8                	cmp    %edi,%eax
+    25b2:	0f 86 a3 f6 ff ff    	jbe    0x1c5b
+    25b8:	e9 2d e0 ff ff       	jmp    0x5ea
+    25bd:	c7 44 24 04 2d 00 00 	movl   $0x2d,0x4(%esp)
+    25c4:	00 
+    25c5:	89 1c 24             	mov    %ebx,(%esp)
+    25c8:	e8 fc ff ff ff       	call   0x25c9
+    25cd:	83 f8 ff             	cmp    $0xffffffff,%eax
+    25d0:	0f 85 da fe ff ff    	jne    0x24b0
+    25d6:	e9 0f e0 ff ff       	jmp    0x5ea
+    25db:	83 bd 40 ef ff ff 00 	cmpl   $0x0,-0x10c0(%ebp)
+    25e2:	0f 84 ba 00 00 00    	je     0x26a2
+    25e8:	8b 53 5c             	mov    0x5c(%ebx),%edx
+    25eb:	85 d2                	test   %edx,%edx
+    25ed:	0f 84 91 00 00 00    	je     0x2684
+    25f3:	8b 42 10             	mov    0x10(%edx),%eax
+    25f6:	3b 42 14             	cmp    0x14(%edx),%eax
+    25f9:	0f 83 85 00 00 00    	jae    0x2684
+    25ff:	c7 00 2b 00 00 00    	movl   $0x2b,(%eax)
+    2605:	83 c0 04             	add    $0x4,%eax
+    2608:	89 42 10             	mov    %eax,0x10(%edx)
+    260b:	e9 a0 fe ff ff       	jmp    0x24b0
+    2610:	8b 53 5c             	mov    0x5c(%ebx),%edx
+    2613:	85 d2                	test   %edx,%edx
+    2615:	0f 84 d0 00 00 00    	je     0x26eb
+    261b:	8b 42 10             	mov    0x10(%edx),%eax
+    261e:	3b 42 14             	cmp    0x14(%edx),%eax
+    2621:	0f 83 c4 00 00 00    	jae    0x26eb
+    2627:	c7 00 30 00 00 00    	movl   $0x30,(%eax)
+    262d:	83 c0 04             	add    $0x4,%eax
+    2630:	89 42 10             	mov    %eax,0x10(%edx)
+    2633:	81 fe ff ff ff 7f    	cmp    $0x7fffffff,%esi
+    2639:	0f 84 ab df ff ff    	je     0x5ea
+    263f:	8b 53 5c             	mov    0x5c(%ebx),%edx
+    2642:	85 d2                	test   %edx,%edx
+    2644:	0f 84 85 00 00 00    	je     0x26cf
+    264a:	8b 42 10             	mov    0x10(%edx),%eax
+    264d:	3b 42 14             	cmp    0x14(%edx),%eax
+    2650:	73 7d                	jae    0x26cf
+    2652:	8b 8d 94 ef ff ff    	mov    -0x106c(%ebp),%ecx
+    2658:	89 08                	mov    %ecx,(%eax)
+    265a:	83 c0 04             	add    $0x4,%eax
+    265d:	83 f9 ff             	cmp    $0xffffffff,%ecx
+    2660:	89 42 10             	mov    %eax,0x10(%edx)
+    2663:	0f 84 81 df ff ff    	je     0x5ea
+    2669:	81 fe fe ff ff 7f    	cmp    $0x7ffffffe,%esi
+    266f:	0f 84 75 df ff ff    	je     0x5ea
+    2675:	83 c6 02             	add    $0x2,%esi
+    2678:	83 ad 74 ef ff ff 02 	subl   $0x2,-0x108c(%ebp)
+    267f:	e9 61 fe ff ff       	jmp    0x24e5
+    2684:	c7 44 24 04 2b 00 00 	movl   $0x2b,0x4(%esp)
+    268b:	00 
+    268c:	89 1c 24             	mov    %ebx,(%esp)
+    268f:	e8 fc ff ff ff       	call   0x2690
+    2694:	83 f8 ff             	cmp    $0xffffffff,%eax
+    2697:	0f 85 13 fe ff ff    	jne    0x24b0
+    269d:	e9 48 df ff ff       	jmp    0x5ea
+    26a2:	83 bd 3c ef ff ff 00 	cmpl   $0x0,-0x10c4(%ebp)
+    26a9:	0f 84 17 fe ff ff    	je     0x24c6
+    26af:	8b 53 5c             	mov    0x5c(%ebx),%edx
+    26b2:	85 d2                	test   %edx,%edx
+    26b4:	74 53                	je     0x2709
+    26b6:	8b 42 10             	mov    0x10(%edx),%eax
+    26b9:	3b 42 14             	cmp    0x14(%edx),%eax
+    26bc:	73 4b                	jae    0x2709
+    26be:	c7 00 20 00 00 00    	movl   $0x20,(%eax)
+    26c4:	83 c0 04             	add    $0x4,%eax
+    26c7:	89 42 10             	mov    %eax,0x10(%edx)
+    26ca:	e9 e1 fd ff ff       	jmp    0x24b0
+    26cf:	8b 85 94 ef ff ff    	mov    -0x106c(%ebp),%eax
+    26d5:	89 1c 24             	mov    %ebx,(%esp)
+    26d8:	89 44 24 04          	mov    %eax,0x4(%esp)
+    26dc:	e8 fc ff ff ff       	call   0x26dd
+    26e1:	83 f8 ff             	cmp    $0xffffffff,%eax
+    26e4:	75 83                	jne    0x2669
+    26e6:	e9 ff de ff ff       	jmp    0x5ea
+    26eb:	c7 44 24 04 30 00 00 	movl   $0x30,0x4(%esp)
+    26f2:	00 
+    26f3:	89 1c 24             	mov    %ebx,(%esp)
+    26f6:	e8 fc ff ff ff       	call   0x26f7
+    26fb:	83 f8 ff             	cmp    $0xffffffff,%eax
+    26fe:	0f 85 2f ff ff ff    	jne    0x2633
+    2704:	e9 e1 de ff ff       	jmp    0x5ea
+    2709:	c7 44 24 04 20 00 00 	movl   $0x20,0x4(%esp)
+    2710:	00 
+    2711:	89 1c 24             	mov    %ebx,(%esp)
+    2714:	e8 fc ff ff ff       	call   0x2715
+    2719:	83 f8 ff             	cmp    $0xffffffff,%eax
+    271c:	0f 85 8e fd ff ff    	jne    0x24b0
+    2722:	e9 c3 de ff ff       	jmp    0x5ea
+    2727:	8b bd a8 ef ff ff    	mov    -0x1058(%ebp),%edi
+    272d:	89 d0                	mov    %edx,%eax
+    272f:	83 ef 04             	sub    $0x4,%edi
+    2732:	83 e0 07             	and    $0x7,%eax
+    2735:	8b 04 81             	mov    (%ecx,%eax,4),%eax
+    2738:	c1 ea 03             	shr    $0x3,%edx
+    273b:	85 d2                	test   %edx,%edx
+    273d:	89 07                	mov    %eax,(%edi)
+    273f:	75 ec                	jne    0x272d
+    2741:	e9 cb fb ff ff       	jmp    0x2311
+    2746:	83 bd 18 ef ff ff 00 	cmpl   $0x0,-0x10e8(%ebp)
+    274d:	0f 84 d8 fb ff ff    	je     0x232b
+    2753:	8b 8d a8 ef ff ff    	mov    -0x1058(%ebp),%ecx
+    2759:	89 f8                	mov    %edi,%eax
+    275b:	89 ca                	mov    %ecx,%edx
+    275d:	e8 3e da ff ff       	call   0x1a0
+    2762:	8b 8d a8 ef ff ff    	mov    -0x1058(%ebp),%ecx
+    2768:	29 c1                	sub    %eax,%ecx
+    276a:	89 c7                	mov    %eax,%edi
+    276c:	89 c8                	mov    %ecx,%eax
+    276e:	89 8d b4 ef ff ff    	mov    %ecx,-0x104c(%ebp)
+    2774:	c1 f8 02             	sar    $0x2,%eax
+    2777:	e9 06 f7 ff ff       	jmp    0x1e82
+    277c:	83 bd 4c ef ff ff 00 	cmpl   $0x0,-0x10b4(%ebp)
+    2783:	0f 84 95 fb ff ff    	je     0x231e
+    2789:	8b 85 38 ef ff ff    	mov    -0x10c8(%ebp),%eax
+    278f:	8b 95 a8 ef ff ff    	mov    -0x1058(%ebp),%edx
+    2795:	8b 8d 60 ef ff ff    	mov    -0x10a0(%ebp),%ecx
+    279b:	89 04 24             	mov    %eax,(%esp)
+    279e:	89 f8                	mov    %edi,%eax
+    27a0:	e8 1b d9 ff ff       	call   0xc0
+    27a5:	89 c7                	mov    %eax,%edi
+    27a7:	52                   	push   %edx
+    27a8:	e9 71 fb ff ff       	jmp    0x231e
+    27ad:	8b bd a8 ef ff ff    	mov    -0x1058(%ebp),%edi
+    27b3:	89 d0                	mov    %edx,%eax
+    27b5:	83 ef 04             	sub    $0x4,%edi
+    27b8:	83 e0 0f             	and    $0xf,%eax
+    27bb:	8b 04 81             	mov    (%ecx,%eax,4),%eax
+    27be:	c1 ea 04             	shr    $0x4,%edx
+    27c1:	85 d2                	test   %edx,%edx
+    27c3:	89 07                	mov    %eax,(%edi)
+    27c5:	75 ec                	jne    0x27b3
+    27c7:	e9 45 fb ff ff       	jmp    0x2311
+    27cc:	8b bd a8 ef ff ff    	mov    -0x1058(%ebp),%edi
+    27d2:	89 d0                	mov    %edx,%eax
+    27d4:	89 9d b4 ef ff ff    	mov    %ebx,-0x104c(%ebp)
+    27da:	31 d2                	xor    %edx,%edx
+    27dc:	bb 0a 00 00 00       	mov    $0xa,%ebx
+    27e1:	f7 f3                	div    %ebx
+    27e3:	83 ef 04             	sub    $0x4,%edi
+    27e6:	8b 14 91             	mov    (%ecx,%edx,4),%edx
+    27e9:	85 c0                	test   %eax,%eax
+    27eb:	89 17                	mov    %edx,(%edi)
+    27ed:	75 eb                	jne    0x27da
+    27ef:	8b 9d b4 ef ff ff    	mov    -0x104c(%ebp),%ebx
+    27f5:	e9 17 fb ff ff       	jmp    0x2311
+    27fa:	8b 4b 5c             	mov    0x5c(%ebx),%ecx
+    27fd:	85 c9                	test   %ecx,%ecx
+    27ff:	0f 84 34 01 00 00    	je     0x2939
+    2805:	8b 41 10             	mov    0x10(%ecx),%eax
+    2808:	3b 41 14             	cmp    0x14(%ecx),%eax
+    280b:	0f 83 28 01 00 00    	jae    0x2939
+    2811:	c7 00 30 00 00 00    	movl   $0x30,(%eax)
+    2817:	83 c0 04             	add    $0x4,%eax
+    281a:	89 41 10             	mov    %eax,0x10(%ecx)
+    281d:	81 fe ff ff ff 7f    	cmp    $0x7fffffff,%esi
+    2823:	0f 84 c1 dd ff ff    	je     0x5ea
+    2829:	8b 4b 5c             	mov    0x5c(%ebx),%ecx
+    282c:	85 c9                	test   %ecx,%ecx
+    282e:	89 8d 84 ef ff ff    	mov    %ecx,-0x107c(%ebp)
+    2834:	0f 84 d3 00 00 00    	je     0x290d
+    283a:	8b 41 10             	mov    0x10(%ecx),%eax
+    283d:	3b 41 14             	cmp    0x14(%ecx),%eax
+    2840:	89 85 88 ef ff ff    	mov    %eax,-0x1078(%ebp)
+    2846:	0f 83 c1 00 00 00    	jae    0x290d
+    284c:	8b 8d 94 ef ff ff    	mov    -0x106c(%ebp),%ecx
+    2852:	8b 85 88 ef ff ff    	mov    -0x1078(%ebp),%eax
+    2858:	89 08                	mov    %ecx,(%eax)
+    285a:	8b 8d 84 ef ff ff    	mov    -0x107c(%ebp),%ecx
+    2860:	83 c0 04             	add    $0x4,%eax
+    2863:	83 bd 94 ef ff ff ff 	cmpl   $0xffffffff,-0x106c(%ebp)
+    286a:	89 41 10             	mov    %eax,0x10(%ecx)
+    286d:	0f 84 77 dd ff ff    	je     0x5ea
+    2873:	81 fe fe ff ff 7f    	cmp    $0x7ffffffe,%esi
+    2879:	0f 84 6b dd ff ff    	je     0x5ea
+    287f:	83 c6 02             	add    $0x2,%esi
+    2882:	e9 25 f7 ff ff       	jmp    0x1fac
+    2887:	c7 85 50 ef ff ff 20 	movl   $0x20,-0x10b0(%ebp)
+    288e:	00 00 00 
+    2891:	e9 c2 f8 ff ff       	jmp    0x2158
+    2896:	83 bd 68 ef ff ff 00 	cmpl   $0x0,-0x1098(%ebp)
+    289d:	0f 85 c0 00 00 00    	jne    0x2963
+    28a3:	8b 85 b4 ef ff ff    	mov    -0x104c(%ebp),%eax
+    28a9:	8b bd b4 ef ff ff    	mov    -0x104c(%ebp),%edi
+    28af:	c7 85 7c ef ff ff 00 	movl   $0x0,-0x1084(%ebp)
+    28b6:	00 00 00 
+    28b9:	c7 85 40 ef ff ff 00 	movl   $0x0,-0x10c0(%ebp)
+    28c0:	00 00 00 
+    28c3:	8b 10                	mov    (%eax),%edx
+    28c5:	83 c7 04             	add    $0x4,%edi
+    28c8:	89 bd 8c ef ff ff    	mov    %edi,-0x1074(%ebp)
+    28ce:	c7 85 3c ef ff ff 00 	movl   $0x0,-0x10c4(%ebp)
+    28d5:	00 00 00 
+    28d8:	89 95 68 ef ff ff    	mov    %edx,-0x1098(%ebp)
+    28de:	e9 82 f9 ff ff       	jmp    0x2265
+    28e3:	89 95 d4 ee ff ff    	mov    %edx,-0x112c(%ebp)
+    28e9:	c7 44 24 04 20 00 00 	movl   $0x20,0x4(%esp)
+    28f0:	00 
+    28f1:	89 1c 24             	mov    %ebx,(%esp)
+    28f4:	e8 fc ff ff ff       	call   0x28f5
+    28f9:	8b 95 d4 ee ff ff    	mov    -0x112c(%ebp),%edx
+    28ff:	83 f8 ff             	cmp    $0xffffffff,%eax
+    2902:	0f 85 7f f6 ff ff    	jne    0x1f87
+    2908:	e9 dd dc ff ff       	jmp    0x5ea
+    290d:	8b 8d 94 ef ff ff    	mov    -0x106c(%ebp),%ecx
+    2913:	89 95 d4 ee ff ff    	mov    %edx,-0x112c(%ebp)
+    2919:	89 1c 24             	mov    %ebx,(%esp)
+    291c:	89 4c 24 04          	mov    %ecx,0x4(%esp)
+    2920:	e8 fc ff ff ff       	call   0x2921
+    2925:	8b 95 d4 ee ff ff    	mov    -0x112c(%ebp),%edx
+    292b:	83 f8 ff             	cmp    $0xffffffff,%eax
+    292e:	0f 85 3f ff ff ff    	jne    0x2873
+    2934:	e9 b1 dc ff ff       	jmp    0x5ea
+    2939:	89 95 d4 ee ff ff    	mov    %edx,-0x112c(%ebp)
+    293f:	c7 44 24 04 30 00 00 	movl   $0x30,0x4(%esp)
+    2946:	00 
+    2947:	89 1c 24             	mov    %ebx,(%esp)
+    294a:	e8 fc ff ff ff       	call   0x294b
+    294f:	8b 95 d4 ee ff ff    	mov    -0x112c(%ebp),%edx
+    2955:	83 f8 ff             	cmp    $0xffffffff,%eax
+    2958:	0f 85 bf fe ff ff    	jne    0x281d
+    295e:	e9 87 dc ff ff       	jmp    0x5ea
+    2963:	8b 95 b4 ef ff ff    	mov    -0x104c(%ebp),%edx
+    2969:	8b 8d b4 ef ff ff    	mov    -0x104c(%ebp),%ecx
+    296f:	c7 85 7c ef ff ff 00 	movl   $0x0,-0x1084(%ebp)
+    2976:	00 00 00 
+    2979:	c7 85 40 ef ff ff 00 	movl   $0x0,-0x10c0(%ebp)
+    2980:	00 00 00 
+    2983:	83 c2 04             	add    $0x4,%edx
+    2986:	89 95 8c ef ff ff    	mov    %edx,-0x1074(%ebp)
+    298c:	0f b7 11             	movzwl (%ecx),%edx
+    298f:	c7 85 3c ef ff ff 00 	movl   $0x0,-0x10c4(%ebp)
+    2996:	00 00 00 
+    2999:	89 95 68 ef ff ff    	mov    %edx,-0x1098(%ebp)
+    299f:	e9 c1 f8 ff ff       	jmp    0x2265
+    29a4:	c7 85 8c ef ff ff 10 	movl   $0x10,-0x1074(%ebp)
+    29ab:	00 00 00 
+    29ae:	83 bd 64 ef ff ff 00 	cmpl   $0x0,-0x109c(%ebp)
+    29b5:	0f 84 c6 07 00 00    	je     0x3181
+    29bb:	6b 85 6c ef ff ff 34 	imul   $0x34,-0x1094(%ebp),%eax
+    29c2:	03 85 80 ef ff ff    	add    -0x1080(%ebp),%eax
+    29c8:	0f 84 64 07 00 00    	je     0x3132
+    29ce:	6b 40 24 0c          	imul   $0xc,0x24(%eax),%eax
+    29d2:	8b bd 78 ef ff ff    	mov    -0x1088(%ebp),%edi
+    29d8:	8b 95 78 ef ff ff    	mov    -0x1088(%ebp),%edx
+    29de:	8b 3c 38             	mov    (%eax,%edi,1),%edi
+    29e1:	89 bd 64 ef ff ff    	mov    %edi,-0x109c(%ebp)
+    29e7:	8b 44 10 04          	mov    0x4(%eax,%edx,1),%eax
+    29eb:	c7 85 2c ef ff ff 00 	movl   $0x0,-0x10d4(%ebp)
+    29f2:	00 00 00 
+    29f5:	c7 85 28 ef ff ff 00 	movl   $0x0,-0x10d8(%ebp)
+    29fc:	00 00 00 
+    29ff:	c7 85 58 ef ff ff 00 	movl   $0x0,-0x10a8(%ebp)
+    2a06:	00 00 00 
+    2a09:	89 85 54 ef ff ff    	mov    %eax,-0x10ac(%ebp)
+    2a0f:	83 bd 90 ef ff ff 00 	cmpl   $0x0,-0x1070(%ebp)
+    2a16:	0f 8c 7f 0b 00 00    	jl     0x359b
+    2a1c:	0f 85 01 06 00 00    	jne    0x3023
+    2a22:	8b 8d 54 ef ff ff    	mov    -0x10ac(%ebp),%ecx
+    2a28:	0b 8d 64 ef ff ff    	or     -0x109c(%ebp),%ecx
+    2a2e:	0f 85 ef 05 00 00    	jne    0x3023
+    2a34:	83 bd 8c ef ff ff 08 	cmpl   $0x8,-0x1074(%ebp)
+    2a3b:	75 0d                	jne    0x2a4a
+    2a3d:	83 bd 10 ef ff ff 00 	cmpl   $0x0,-0x10f0(%ebp)
+    2a44:	0f 85 4a 1a 00 00    	jne    0x4494
+    2a4a:	8b bd a8 ef ff ff    	mov    -0x1058(%ebp),%edi
+    2a50:	c6 85 1f ef ff ff 20 	movb   $0x20,-0x10e1(%ebp)
+    2a57:	8b 8d 64 ef ff ff    	mov    -0x109c(%ebp),%ecx
+    2a5d:	0b 8d 54 ef ff ff    	or     -0x10ac(%ebp),%ecx
+    2a63:	0f 95 c0             	setne  %al
+    2a66:	0f b6 c0             	movzbl %al,%eax
+    2a69:	89 85 54 ef ff ff    	mov    %eax,-0x10ac(%ebp)
+    2a6f:	8b 85 a8 ef ff ff    	mov    -0x1058(%ebp),%eax
+    2a75:	29 f8                	sub    %edi,%eax
+    2a77:	89 85 64 ef ff ff    	mov    %eax,-0x109c(%ebp)
+    2a7d:	c1 f8 02             	sar    $0x2,%eax
+    2a80:	39 85 90 ef ff ff    	cmp    %eax,-0x1070(%ebp)
+    2a86:	7f 32                	jg     0x2aba
+    2a88:	83 bd 10 ef ff ff 00 	cmpl   $0x0,-0x10f0(%ebp)
+    2a8f:	74 29                	je     0x2aba
+    2a91:	83 bd 54 ef ff ff 00 	cmpl   $0x0,-0x10ac(%ebp)
+    2a98:	74 20                	je     0x2aba
+    2a9a:	83 bd 8c ef ff ff 08 	cmpl   $0x8,-0x1074(%ebp)
+    2aa1:	75 17                	jne    0x2aba
+    2aa3:	8b 85 a8 ef ff ff    	mov    -0x1058(%ebp),%eax
+    2aa9:	83 ef 04             	sub    $0x4,%edi
+    2aac:	c7 07 30 00 00 00    	movl   $0x30,(%edi)
+    2ab2:	29 f8                	sub    %edi,%eax
+    2ab4:	89 85 64 ef ff ff    	mov    %eax,-0x109c(%ebp)
+    2aba:	8b 95 64 ef ff ff    	mov    -0x109c(%ebp),%edx
+    2ac0:	c7 85 a8 ef ff ff 00 	movl   $0x0,-0x1058(%ebp)
+    2ac7:	00 00 00 
+    2aca:	c1 fa 02             	sar    $0x2,%edx
+    2acd:	f7 da                	neg    %edx
+    2acf:	89 d0                	mov    %edx,%eax
+    2ad1:	03 85 90 ef ff ff    	add    -0x1070(%ebp),%eax
+    2ad7:	0f 48 85 a8 ef ff ff 	cmovs  -0x1058(%ebp),%eax
+    2ade:	83 bd 20 ef ff ff 00 	cmpl   $0x0,-0x10e0(%ebp)
+    2ae5:	89 95 24 ef ff ff    	mov    %edx,-0x10dc(%ebp)
+    2aeb:	89 85 a8 ef ff ff    	mov    %eax,-0x1058(%ebp)
+    2af1:	0f 85 d0 02 00 00    	jne    0x2dc7
+    2af7:	03 95 70 ef ff ff    	add    -0x1090(%ebp),%edx
+    2afd:	29 c2                	sub    %eax,%edx
+    2aff:	83 bd 10 ef ff ff 00 	cmpl   $0x0,-0x10f0(%ebp)
+    2b06:	0f 95 c0             	setne  %al
+    2b09:	83 bd 54 ef ff ff 00 	cmpl   $0x0,-0x10ac(%ebp)
+    2b10:	0f 95 c1             	setne  %cl
+    2b13:	20 c8                	and    %cl,%al
+    2b15:	88 85 90 ef ff ff    	mov    %al,-0x1070(%ebp)
+    2b1b:	74 0d                	je     0x2b2a
+    2b1d:	83 bd 8c ef ff ff 10 	cmpl   $0x10,-0x1074(%ebp)
+    2b24:	8d 42 fe             	lea    -0x2(%edx),%eax
+    2b27:	0f 44 d0             	cmove  %eax,%edx
+    2b2a:	83 bd 28 ef ff ff 00 	cmpl   $0x0,-0x10d8(%ebp)
+    2b31:	75 12                	jne    0x2b45
+    2b33:	83 bd 58 ef ff ff 00 	cmpl   $0x0,-0x10a8(%ebp)
+    2b3a:	75 09                	jne    0x2b45
+    2b3c:	83 bd 2c ef ff ff 00 	cmpl   $0x0,-0x10d4(%ebp)
+    2b43:	74 03                	je     0x2b48
+    2b45:	83 ea 01             	sub    $0x1,%edx
+    2b48:	80 bd 1f ef ff ff 20 	cmpb   $0x20,-0x10e1(%ebp)
+    2b4f:	0f 84 d4 01 00 00    	je     0x2d29
+    2b55:	83 bd 58 ef ff ff 00 	cmpl   $0x0,-0x10a8(%ebp)
+    2b5c:	0f 84 9a 01 00 00    	je     0x2cfc
+    2b62:	8b 4b 5c             	mov    0x5c(%ebx),%ecx
+    2b65:	85 c9                	test   %ecx,%ecx
+    2b67:	0f 84 ca 00 00 00    	je     0x2c37
+    2b6d:	8b 41 10             	mov    0x10(%ecx),%eax
+    2b70:	3b 41 14             	cmp    0x14(%ecx),%eax
+    2b73:	0f 83 be 00 00 00    	jae    0x2c37
+    2b79:	c7 00 2d 00 00 00    	movl   $0x2d,(%eax)
+    2b7f:	83 c0 04             	add    $0x4,%eax
+    2b82:	89 41 10             	mov    %eax,0x10(%ecx)
+    2b85:	81 fe ff ff ff 7f    	cmp    $0x7fffffff,%esi
+    2b8b:	0f 84 59 da ff ff    	je     0x5ea
+    2b91:	83 c6 01             	add    $0x1,%esi
+    2b94:	80 bd 90 ef ff ff 00 	cmpb   $0x0,-0x1070(%ebp)
+    2b9b:	74 0d                	je     0x2baa
+    2b9d:	83 bd 8c ef ff ff 10 	cmpl   $0x10,-0x1074(%ebp)
+    2ba4:	0f 84 fb 04 00 00    	je     0x30a5
+    2baa:	03 95 a8 ef ff ff    	add    -0x1058(%ebp),%edx
+    2bb0:	85 d2                	test   %edx,%edx
+    2bb2:	7e 34                	jle    0x2be8
+    2bb4:	89 54 24 08          	mov    %edx,0x8(%esp)
+    2bb8:	c7 44 24 04 30 00 00 	movl   $0x30,0x4(%esp)
+    2bbf:	00 
+    2bc0:	89 1c 24             	mov    %ebx,(%esp)
+    2bc3:	e8 fc ff ff ff       	call   0x2bc4
+    2bc8:	81 fe fe ff ff 7f    	cmp    $0x7ffffffe,%esi
+    2bce:	89 c2                	mov    %eax,%edx
+    2bd0:	0f 87 de 00 00 00    	ja     0x2cb4
+    2bd6:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
+    2bdb:	29 f0                	sub    %esi,%eax
+    2bdd:	39 c2                	cmp    %eax,%edx
+    2bdf:	0f 87 05 da ff ff    	ja     0x5ea
+    2be5:	8d 34 32             	lea    (%edx,%esi,1),%esi
+    2be8:	85 f6                	test   %esi,%esi
+    2bea:	0f 88 e8 00 00 00    	js     0x2cd8
+    2bf0:	8b 95 64 ef ff ff    	mov    -0x109c(%ebp),%edx
+    2bf6:	8b 83 98 00 00 00    	mov    0x98(%ebx),%eax
+    2bfc:	89 7c 24 04          	mov    %edi,0x4(%esp)
+    2c00:	89 1c 24             	mov    %ebx,(%esp)
+    2c03:	c1 fa 02             	sar    $0x2,%edx
+    2c06:	89 54 24 08          	mov    %edx,0x8(%esp)
+    2c0a:	89 95 d4 ee ff ff    	mov    %edx,-0x112c(%ebp)
+    2c10:	ff 50 1c             	call   *0x1c(%eax)
+    2c13:	8b 95 d4 ee ff ff    	mov    -0x112c(%ebp),%edx
+    2c19:	39 c2                	cmp    %eax,%edx
+    2c1b:	0f 85 c9 d9 ff ff    	jne    0x5ea
+    2c21:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
+    2c26:	29 f0                	sub    %esi,%eax
+    2c28:	39 c2                	cmp    %eax,%edx
+    2c2a:	0f 87 ba d9 ff ff    	ja     0x5ea
+    2c30:	01 d6                	add    %edx,%esi
+    2c32:	e9 94 de ff ff       	jmp    0xacb
+    2c37:	89 95 d4 ee ff ff    	mov    %edx,-0x112c(%ebp)
+    2c3d:	c7 44 24 04 2d 00 00 	movl   $0x2d,0x4(%esp)
+    2c44:	00 
+    2c45:	89 1c 24             	mov    %ebx,(%esp)
+    2c48:	e8 fc ff ff ff       	call   0x2c49
+    2c4d:	8b 95 d4 ee ff ff    	mov    -0x112c(%ebp),%edx
+    2c53:	83 f8 ff             	cmp    $0xffffffff,%eax
+    2c56:	0f 85 29 ff ff ff    	jne    0x2b85
+    2c5c:	e9 89 d9 ff ff       	jmp    0x5ea
+    2c61:	6b 85 6c ef ff ff 34 	imul   $0x34,-0x1094(%ebp),%eax
+    2c68:	03 85 80 ef ff ff    	add    -0x1080(%ebp),%eax
+    2c6e:	89 85 a8 ef ff ff    	mov    %eax,-0x1058(%ebp)
+    2c74:	0f 84 3c 18 00 00    	je     0x44b6
+    2c7a:	8b 95 a8 ef ff ff    	mov    -0x1058(%ebp),%edx
+    2c80:	6b 42 24 0c          	imul   $0xc,0x24(%edx),%eax
+    2c84:	03 85 78 ef ff ff    	add    -0x1088(%ebp),%eax
+    2c8a:	89 45 dc             	mov    %eax,-0x24(%ebp)
+    2c8d:	8d 45 dc             	lea    -0x24(%ebp),%eax
+    2c90:	89 44 24 08          	mov    %eax,0x8(%esp)
+    2c94:	89 54 24 04          	mov    %edx,0x4(%esp)
+    2c98:	89 1c 24             	mov    %ebx,(%esp)
+    2c9b:	e8 fc ff ff ff       	call   0x2c9c
+    2ca0:	85 c0                	test   %eax,%eax
+    2ca2:	0f 88 42 d9 ff ff    	js     0x5ea
+    2ca8:	81 fe fe ff ff 7f    	cmp    $0x7ffffffe,%esi
+    2cae:	0f 86 05 de ff ff    	jbe    0xab9
+    2cb4:	c7 44 24 0c 26 00 00 	movl   $0x26,0xc(%esp)
+    2cbb:	00 
+    2cbc:	c7 44 24 08 c1 07 00 	movl   $0x7c1,0x8(%esp)
+    2cc3:	00 
+    2cc4:	c7 44 24 04 0c 00 00 	movl   $0xc,0x4(%esp)
+    2ccb:	00 
+    2ccc:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
+    2cd3:	e8 fc ff ff ff       	call   0x2cd4
+    2cd8:	c7 44 24 0c 26 00 00 	movl   $0x26,0xc(%esp)
+    2cdf:	00 
+    2ce0:	c7 44 24 08 c1 07 00 	movl   $0x7c1,0x8(%esp)
+    2ce7:	00 
+    2ce8:	c7 44 24 04 0c 00 00 	movl   $0xc,0x4(%esp)
+    2cef:	00 
+    2cf0:	c7 04 24 30 00 00 00 	movl   $0x30,(%esp)
+    2cf7:	e8 fc ff ff ff       	call   0x2cf8
+    2cfc:	83 bd 2c ef ff ff 00 	cmpl   $0x0,-0x10d4(%ebp)
+    2d03:	0f 84 89 00 00 00    	je     0x2d92
+    2d09:	8b 4b 5c             	mov    0x5c(%ebx),%ecx
+    2d0c:	85 c9                	test   %ecx,%ecx
+    2d0e:	74 58                	je     0x2d68
+    2d10:	8b 41 10             	mov    0x10(%ecx),%eax
+    2d13:	3b 41 14             	cmp    0x14(%ecx),%eax
+    2d16:	73 50                	jae    0x2d68
+    2d18:	c7 00 2b 00 00 00    	movl   $0x2b,(%eax)
+    2d1e:	83 c0 04             	add    $0x4,%eax
+    2d21:	89 41 10             	mov    %eax,0x10(%ecx)
+    2d24:	e9 5c fe ff ff       	jmp    0x2b85
+    2d29:	85 d2                	test   %edx,%edx
+    2d2b:	7e 34                	jle    0x2d61
+    2d2d:	89 54 24 08          	mov    %edx,0x8(%esp)
+    2d31:	c7 44 24 04 20 00 00 	movl   $0x20,0x4(%esp)
+    2d38:	00 
+    2d39:	89 1c 24             	mov    %ebx,(%esp)
+    2d3c:	e8 fc ff ff ff       	call   0x2d3d
+    2d41:	81 fe fe ff ff 7f    	cmp    $0x7ffffffe,%esi
+    2d47:	89 c2                	mov    %eax,%edx
+    2d49:	0f 87 65 ff ff ff    	ja     0x2cb4
+    2d4f:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
+    2d54:	29 f0                	sub    %esi,%eax
+    2d56:	39 c2                	cmp    %eax,%edx
+    2d58:	0f 87 8c d8 ff ff    	ja     0x5ea
+    2d5e:	8d 34 32             	lea    (%edx,%esi,1),%esi
+    2d61:	31 d2                	xor    %edx,%edx
+    2d63:	e9 ed fd ff ff       	jmp    0x2b55
+    2d68:	89 95 d4 ee ff ff    	mov    %edx,-0x112c(%ebp)
+    2d6e:	c7 44 24 04 2b 00 00 	movl   $0x2b,0x4(%esp)
+    2d75:	00 
+    2d76:	89 1c 24             	mov    %ebx,(%esp)
+    2d79:	e8 fc ff ff ff       	call   0x2d7a
+    2d7e:	8b 95 d4 ee ff ff    	mov    -0x112c(%ebp),%edx
+    2d84:	83 f8 ff             	cmp    $0xffffffff,%eax
+    2d87:	0f 85 f8 fd ff ff    	jne    0x2b85
+    2d8d:	e9 58 d8 ff ff       	jmp    0x5ea
+    2d92:	83 bd 28 ef ff ff 00 	cmpl   $0x0,-0x10d8(%ebp)
+    2d99:	0f 84 f5 fd ff ff    	je     0x2b94
+    2d9f:	8b 4b 5c             	mov    0x5c(%ebx),%ecx
+    2da2:	85 c9                	test   %ecx,%ecx
+    2da4:	0f 84 98 07 00 00    	je     0x3542
+    2daa:	8b 41 10             	mov    0x10(%ecx),%eax
+    2dad:	3b 41 14             	cmp    0x14(%ecx),%eax
+    2db0:	0f 83 8c 07 00 00    	jae    0x3542
+    2db6:	c7 00 20 00 00 00    	movl   $0x20,(%eax)
+    2dbc:	83 c0 04             	add    $0x4,%eax
+    2dbf:	89 41 10             	mov    %eax,0x10(%ecx)
+    2dc2:	e9 be fd ff ff       	jmp    0x2b85
+    2dc7:	83 bd 58 ef ff ff 00 	cmpl   $0x0,-0x10a8(%ebp)
+    2dce:	0f 84 4f 01 00 00    	je     0x2f23
+    2dd4:	8b 53 5c             	mov    0x5c(%ebx),%edx
+    2dd7:	85 d2                	test   %edx,%edx
+    2dd9:	0f 84 26 01 00 00    	je     0x2f05
+    2ddf:	8b 42 10             	mov    0x10(%edx),%eax
+    2de2:	3b 42 14             	cmp    0x14(%edx),%eax
+    2de5:	0f 83 1a 01 00 00    	jae    0x2f05
+    2deb:	c7 00 2d 00 00 00    	movl   $0x2d,(%eax)
+    2df1:	83 c0 04             	add    $0x4,%eax
+    2df4:	89 42 10             	mov    %eax,0x10(%edx)
+    2df7:	81 fe ff ff ff 7f    	cmp    $0x7fffffff,%esi
+    2dfd:	0f 84 e7 d7 ff ff    	je     0x5ea
+    2e03:	83 ad 70 ef ff ff 01 	subl   $0x1,-0x1090(%ebp)
+    2e0a:	83 c6 01             	add    $0x1,%esi
+    2e0d:	83 bd 10 ef ff ff 00 	cmpl   $0x0,-0x10f0(%ebp)
+    2e14:	74 16                	je     0x2e2c
+    2e16:	83 bd 54 ef ff ff 00 	cmpl   $0x0,-0x10ac(%ebp)
+    2e1d:	74 0d                	je     0x2e2c
+    2e1f:	83 bd 8c ef ff ff 10 	cmpl   $0x10,-0x1074(%ebp)
+    2e26:	0f 84 2c 01 00 00    	je     0x2f58
+    2e2c:	83 bd a8 ef ff ff 00 	cmpl   $0x0,-0x1058(%ebp)
+    2e33:	74 3a                	je     0x2e6f
+    2e35:	8b 85 a8 ef ff ff    	mov    -0x1058(%ebp),%eax
+    2e3b:	c7 44 24 04 30 00 00 	movl   $0x30,0x4(%esp)
+    2e42:	00 
+    2e43:	89 1c 24             	mov    %ebx,(%esp)
+    2e46:	89 44 24 08          	mov    %eax,0x8(%esp)
+    2e4a:	e8 fc ff ff ff       	call   0x2e4b
+    2e4f:	81 fe fe ff ff 7f    	cmp    $0x7ffffffe,%esi
+    2e55:	89 c2                	mov    %eax,%edx
+    2e57:	0f 87 57 fe ff ff    	ja     0x2cb4
+    2e5d:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
+    2e62:	29 f0                	sub    %esi,%eax
+    2e64:	39 c2                	cmp    %eax,%edx
+    2e66:	0f 87 7e d7 ff ff    	ja     0x5ea
+    2e6c:	8d 34 32             	lea    (%edx,%esi,1),%esi
+    2e6f:	85 f6                	test   %esi,%esi
+    2e71:	0f 88 61 fe ff ff    	js     0x2cd8
+    2e77:	8b 95 64 ef ff ff    	mov    -0x109c(%ebp),%edx
+    2e7d:	8b 83 98 00 00 00    	mov    0x98(%ebx),%eax
+    2e83:	89 7c 24 04          	mov    %edi,0x4(%esp)
+    2e87:	89 1c 24             	mov    %ebx,(%esp)
+    2e8a:	c1 fa 02             	sar    $0x2,%edx
+    2e8d:	89 54 24 08          	mov    %edx,0x8(%esp)
+    2e91:	89 95 d4 ee ff ff    	mov    %edx,-0x112c(%ebp)
+    2e97:	ff 50 1c             	call   *0x1c(%eax)
+    2e9a:	8b 95 d4 ee ff ff    	mov    -0x112c(%ebp),%edx
+    2ea0:	39 c2                	cmp    %eax,%edx
+    2ea2:	0f 85 42 d7 ff ff    	jne    0x5ea
+    2ea8:	bf ff ff ff 7f       	mov    $0x7fffffff,%edi
+    2ead:	89 f8                	mov    %edi,%eax
+    2eaf:	29 f0                	sub    %esi,%eax
+    2eb1:	39 c2                	cmp    %eax,%edx
+    2eb3:	0f 87 31 d7 ff ff    	ja     0x5ea
+    2eb9:	8b 85 24 ef ff ff    	mov    -0x10dc(%ebp),%eax
+    2ebf:	01 d6                	add    %edx,%esi
+    2ec1:	2b 85 a8 ef ff ff    	sub    -0x1058(%ebp),%eax
+    2ec7:	03 85 70 ef ff ff    	add    -0x1090(%ebp),%eax
+    2ecd:	85 c0                	test   %eax,%eax
+    2ecf:	0f 8e f6 db ff ff    	jle    0xacb
+    2ed5:	89 44 24 08          	mov    %eax,0x8(%esp)
+    2ed9:	c7 44 24 04 20 00 00 	movl   $0x20,0x4(%esp)
+    2ee0:	00 
+    2ee1:	89 1c 24             	mov    %ebx,(%esp)
+    2ee4:	e8 fc ff ff ff       	call   0x2ee5
+    2ee9:	81 fe fe ff ff 7f    	cmp    $0x7ffffffe,%esi
+    2eef:	0f 87 bf fd ff ff    	ja     0x2cb4
+    2ef5:	29 f7                	sub    %esi,%edi
+    2ef7:	39 f8                	cmp    %edi,%eax
+    2ef9:	0f 86 c9 db ff ff    	jbe    0xac8
+    2eff:	90                   	nop
     2f00:	e9 e5 d6 ff ff       	jmp    0x5ea
     2f05:	c7 44 24 04 2d 00 00 	movl   $0x2d,0x4(%esp)
     2f0c:	00 
     2f0d:	89 1c 24             	mov    %ebx,(%esp)
     2f10:	e8 fc ff ff ff       	call   0x2f11
     2f15:	83 f8 ff             	cmp    $0xffffffff,%eax
-    2f18:	0f 85 d8 fe ff ff    	jne    0x2df6
+    2f18:	0f 85 d9 fe ff ff    	jne    0x2df7
     2f1e:	e9 c7 d6 ff ff       	jmp    0x5ea
     2f23:	83 bd 2c ef ff ff 00 	cmpl   $0x0,-0x10d4(%ebp)
     2f2a:	0f 84 be 00 00 00    	je     0x2fee
@@ -2848,7 +2846,7 @@
     2f47:	c7 00 2b 00 00 00    	movl   $0x2b,(%eax)
     2f4d:	83 c0 04             	add    $0x4,%eax
     2f50:	89 42 10             	mov    %eax,0x10(%edx)
-    2f53:	e9 9e fe ff ff       	jmp    0x2df6
+    2f53:	e9 9f fe ff ff       	jmp    0x2df7
     2f58:	8b 53 5c             	mov    0x5c(%ebx),%edx
     2f5b:	85 d2                	test   %edx,%edx
     2f5d:	0f 84 c1 05 00 00    	je     0x3524
@@ -2876,16 +2874,16 @@
     2fbb:	0f 84 29 d6 ff ff    	je     0x5ea
     2fc1:	83 c6 02             	add    $0x2,%esi
     2fc4:	83 ad 70 ef ff ff 02 	subl   $0x2,-0x1090(%ebp)
-    2fcb:	e9 5b fe ff ff       	jmp    0x2e2b
+    2fcb:	e9 5c fe ff ff       	jmp    0x2e2c
     2fd0:	c7 44 24 04 2b 00 00 	movl   $0x2b,0x4(%esp)
     2fd7:	00 
     2fd8:	89 1c 24             	mov    %ebx,(%esp)
     2fdb:	e8 fc ff ff ff       	call   0x2fdc
     2fe0:	83 f8 ff             	cmp    $0xffffffff,%eax
-    2fe3:	0f 85 0d fe ff ff    	jne    0x2df6
+    2fe3:	0f 85 0e fe ff ff    	jne    0x2df7
     2fe9:	e9 fc d5 ff ff       	jmp    0x5ea
     2fee:	83 bd 28 ef ff ff 00 	cmpl   $0x0,-0x10d8(%ebp)
-    2ff5:	0f 84 11 fe ff ff    	je     0x2e0c
+    2ff5:	0f 84 12 fe ff ff    	je     0x2e0d
     2ffb:	8b 53 5c             	mov    0x5c(%ebx),%edx
     2ffe:	85 d2                	test   %edx,%edx
     3000:	0f 84 a4 05 00 00    	je     0x35aa
@@ -2895,7 +2893,7 @@
     3012:	c7 00 20 00 00 00    	movl   $0x20,(%eax)
     3018:	83 c0 04             	add    $0x4,%eax
     301b:	89 42 10             	mov    %eax,0x10(%edx)
-    301e:	e9 d3 fd ff ff       	jmp    0x2df6
+    301e:	e9 d4 fd ff ff       	jmp    0x2df7
     3023:	c6 85 1f ef ff ff 20 	movb   $0x20,-0x10e1(%ebp)
     302a:	31 c0                	xor    %eax,%eax
     302c:	8b bd 64 ef ff ff    	mov    -0x109c(%ebp),%edi
@@ -2914,15 +2912,15 @@
     306d:	89 c7                	mov    %eax,%edi
     306f:	0f 85 f7 04 00 00    	jne    0x356c
     3075:	83 bd 8c ef ff ff 0a 	cmpl   $0xa,-0x1074(%ebp)
-    307c:	0f 85 d4 f9 ff ff    	jne    0x2a56
+    307c:	0f 85 d5 f9 ff ff    	jne    0x2a57
     3082:	83 bd 08 ef ff ff 00 	cmpl   $0x0,-0x10f8(%ebp)
-    3089:	0f 84 c7 f9 ff ff    	je     0x2a56
+    3089:	0f 84 c8 f9 ff ff    	je     0x2a57
     308f:	8b 8d a8 ef ff ff    	mov    -0x1058(%ebp),%ecx
     3095:	89 f8                	mov    %edi,%eax
     3097:	89 ca                	mov    %ecx,%edx
     3099:	e8 02 d1 ff ff       	call   0x1a0
     309e:	89 c7                	mov    %eax,%edi
-    30a0:	e9 b1 f9 ff ff       	jmp    0x2a56
+    30a0:	e9 b2 f9 ff ff       	jmp    0x2a57
     30a5:	8b 4b 5c             	mov    0x5c(%ebx),%ecx
     30a8:	85 c9                	test   %ecx,%ecx
     30aa:	0f 84 44 05 00 00    	je     0x35f4
@@ -2953,7 +2951,7 @@
     311e:	81 fe fe ff ff 7f    	cmp    $0x7ffffffe,%esi
     3124:	0f 84 c0 d4 ff ff    	je     0x5ea
     312a:	83 c6 02             	add    $0x2,%esi
-    312d:	e9 77 fa ff ff       	jmp    0x2ba9
+    312d:	e9 78 fa ff ff       	jmp    0x2baa
     3132:	8b 85 b4 ef ff ff    	mov    -0x104c(%ebp),%eax
     3138:	8b 95 b4 ef ff ff    	mov    -0x104c(%ebp),%edx
     313e:	8b 8d b4 ef ff ff    	mov    -0x104c(%ebp),%ecx
@@ -2969,7 +2967,7 @@
     316f:	00 00 00 
     3172:	c7 85 58 ef ff ff 00 	movl   $0x0,-0x10a8(%ebp)
     3179:	00 00 00 
-    317c:	e9 8d f8 ff ff       	jmp    0x2a0e
+    317c:	e9 8e f8 ff ff       	jmp    0x2a0f
     3181:	6b 85 6c ef ff ff 34 	imul   $0x34,-0x1094(%ebp),%eax
     3188:	03 85 80 ef ff ff    	add    -0x1080(%ebp),%eax
     318e:	0f 84 6b 01 00 00    	je     0x32ff
@@ -3000,7 +2998,7 @@
     3207:	c7 85 64 ef ff ff 00 	movl   $0x0,-0x109c(%ebp)
     320e:	00 00 00 
     3211:	c6 85 1f ef ff ff 20 	movb   $0x20,-0x10e1(%ebp)
-    3218:	e9 62 f8 ff ff       	jmp    0x2a7f
+    3218:	e9 63 f8 ff ff       	jmp    0x2a80
     321d:	c6 85 1f ef ff ff 20 	movb   $0x20,-0x10e1(%ebp)
     3224:	83 bd 48 ef ff ff 58 	cmpl   $0x58,-0x10b8(%ebp)
     322b:	b9 00 00 00 00       	mov    $0x0,%ecx
@@ -3030,7 +3028,7 @@
     329d:	89 d0                	mov    %edx,%eax
     329f:	89 95 64 ef ff ff    	mov    %edx,-0x109c(%ebp)
     32a5:	c1 f8 02             	sar    $0x2,%eax
-    32a8:	e9 d2 f7 ff ff       	jmp    0x2a7f
+    32a8:	e9 d3 f7 ff ff       	jmp    0x2a80
     32ad:	c7 85 90 ef ff ff 01 	movl   $0x1,-0x1070(%ebp)
     32b4:	00 00 00 
     32b7:	e9 68 ff ff ff       	jmp    0x3224
@@ -3069,7 +3067,7 @@
     3364:	c7 40 fc 30 00 00 00 	movl   $0x30,-0x4(%eax)
     336b:	b8 01 00 00 00       	mov    $0x1,%eax
     3370:	83 ef 04             	sub    $0x4,%edi
-    3373:	e9 07 f7 ff ff       	jmp    0x2a7f
+    3373:	e9 08 f7 ff ff       	jmp    0x2a80
     3378:	6b 40 24 0c          	imul   $0xc,0x24(%eax),%eax
     337c:	8b 8d 78 ef ff ff    	mov    -0x1088(%ebp),%ecx
     3382:	0f b7 14 01          	movzwl (%ecx,%eax,1),%edx
@@ -3140,7 +3138,7 @@
     3488:	89 c8                	mov    %ecx,%eax
     348a:	89 8d 64 ef ff ff    	mov    %ecx,-0x109c(%ebp)
     3490:	c1 f8 02             	sar    $0x2,%eax
-    3493:	e9 e7 f5 ff ff       	jmp    0x2a7f
+    3493:	e9 e8 f5 ff ff       	jmp    0x2a80
     3498:	83 bd 0c ef ff ff 00 	cmpl   $0x0,-0x10f4(%ebp)
     349f:	0f 84 e3 fd ff ff    	je     0x3288
     34a5:	8b 85 38 ef ff ff    	mov    -0x10c8(%ebp),%eax
@@ -3185,7 +3183,7 @@
     3553:	e8 fc ff ff ff       	call   0x3554
     3558:	8b 95 d4 ee ff ff    	mov    -0x112c(%ebp),%edx
     355e:	83 f8 ff             	cmp    $0xffffffff,%eax
-    3561:	0f 85 1d f6 ff ff    	jne    0x2b84
+    3561:	0f 85 1e f6 ff ff    	jne    0x2b85
     3567:	e9 7e d0 ff ff       	jmp    0x5ea
     356c:	83 bd 0c ef ff ff 00 	cmpl   $0x0,-0x10f4(%ebp)
     3573:	0f 84 fc fa ff ff    	je     0x3075
@@ -3205,7 +3203,7 @@
     35b2:	89 1c 24             	mov    %ebx,(%esp)
     35b5:	e8 fc ff ff ff       	call   0x35b6
     35ba:	83 f8 ff             	cmp    $0xffffffff,%eax
-    35bd:	0f 85 33 f8 ff ff    	jne    0x2df6
+    35bd:	0f 85 34 f8 ff ff    	jne    0x2df7
     35c3:	e9 22 d0 ff ff       	jmp    0x5ea
     35c8:	8b 8d 48 ef ff ff    	mov    -0x10b8(%ebp),%ecx
     35ce:	89 95 d4 ee ff ff    	mov    %edx,-0x112c(%ebp)
@@ -3401,10 +3399,10 @@
     3914:	7f 44                	jg     0x395a
     3916:	83 bd 84 ef ff ff ff 	cmpl   $0xffffffff,-0x107c(%ebp)
     391d:	74 3b                	je     0x395a
-    391f:	ba 00 00 00 00       	mov    $0x0,%edx
-    3924:	31 ff                	xor    %edi,%edi
-    3926:	c7 85 b4 ef ff ff 00 	movl   $0x0,-0x104c(%ebp)
-    392d:	00 00 00 
+    391f:	c7 85 b4 ef ff ff 00 	movl   $0x0,-0x104c(%ebp)
+    3926:	00 00 00 
+    3929:	31 ff                	xor    %edi,%edi
+    392b:	ba 00 00 00 00       	mov    $0x0,%edx
     3930:	e9 e9 fd ff ff       	jmp    0x371e
     3935:	89 14 24             	mov    %edx,(%esp)
     3938:	89 95 d4 ee ff ff    	mov    %edx,-0x112c(%ebp)
@@ -3414,10 +3412,10 @@
     3950:	00 00 00 
     3953:	89 c7                	mov    %eax,%edi
     3955:	e9 c4 fd ff ff       	jmp    0x371e
-    395a:	ba 1c 00 00 00       	mov    $0x1c,%edx
-    395f:	bf 06 00 00 00       	mov    $0x6,%edi
-    3964:	c7 85 b4 ef ff ff 00 	movl   $0x0,-0x104c(%ebp)
-    396b:	00 00 00 
+    395a:	c7 85 b4 ef ff ff 00 	movl   $0x0,-0x104c(%ebp)
+    3961:	00 00 00 
+    3964:	bf 06 00 00 00       	mov    $0x6,%edi
+    3969:	ba 1c 00 00 00       	mov    $0x1c,%edx
     396e:	e9 ab fd ff ff       	jmp    0x371e
     3973:	6b 85 6c ef ff ff 34 	imul   $0x34,-0x1094(%ebp),%eax
     397a:	31 d2                	xor    %edx,%edx
@@ -3971,10 +3969,10 @@
     4247:	e9 9e c3 ff ff       	jmp    0x5ea
     424c:	c7 85 8c ef ff ff 0a 	movl   $0xa,-0x1074(%ebp)
     4253:	00 00 00 
-    4256:	e9 52 e7 ff ff       	jmp    0x29ad
+    4256:	e9 53 e7 ff ff       	jmp    0x29ae
     425b:	c7 85 8c ef ff ff 08 	movl   $0x8,-0x1074(%ebp)
     4262:	00 00 00 
-    4265:	e9 43 e7 ff ff       	jmp    0x29ad
+    4265:	e9 44 e7 ff ff       	jmp    0x29ae
     426a:	83 bd 64 ef ff ff 00 	cmpl   $0x0,-0x109c(%ebp)
     4271:	74 67                	je     0x42da
     4273:	6b 85 6c ef ff ff 34 	imul   $0x34,-0x1094(%ebp),%eax
@@ -3996,7 +3994,7 @@
     42af:	89 95 54 ef ff ff    	mov    %edx,-0x10ac(%ebp)
     42b5:	c7 85 8c ef ff ff 0a 	movl   $0xa,-0x1074(%ebp)
     42bc:	00 00 00 
-    42bf:	e9 4a e7 ff ff       	jmp    0x2a0e
+    42bf:	e9 4b e7 ff ff       	jmp    0x2a0f
     42c4:	8b bd b4 ef ff ff    	mov    -0x104c(%ebp),%edi
     42ca:	8b 07                	mov    (%edi),%eax
     42cc:	8b 57 04             	mov    0x4(%edi),%edx
@@ -4074,7 +4072,7 @@
     441a:	89 1c 24             	mov    %ebx,(%esp)
     441d:	e8 fc ff ff ff       	call   0x441e
     4422:	85 c0                	test   %eax,%eax
-    4424:	0f 89 7d e8 ff ff    	jns    0x2ca7
+    4424:	0f 89 7e e8 ff ff    	jns    0x2ca8
     442a:	e9 bb c1 ff ff       	jmp    0x5ea
     442f:	6b 85 6c ef ff ff 34 	imul   $0x34,-0x1094(%ebp),%eax
     4436:	03 85 80 ef ff ff    	add    -0x1080(%ebp),%eax
@@ -4101,7 +4099,7 @@
     44a0:	c6 85 1f ef ff ff 20 	movb   $0x20,-0x10e1(%ebp)
     44a7:	83 ef 04             	sub    $0x4,%edi
     44aa:	c7 40 fc 30 00 00 00 	movl   $0x30,-0x4(%eax)
-    44b1:	e9 a0 e5 ff ff       	jmp    0x2a56
+    44b1:	e9 a1 e5 ff ff       	jmp    0x2a57
     44b6:	8d 55 8c             	lea    -0x74(%ebp),%edx
     44b9:	b9 05 00 00 00       	mov    $0x5,%ecx
     44be:	89 d7                	mov    %edx,%edi
@@ -4160,7 +4158,7 @@
     45a4:	89 bd b4 ef ff ff    	mov    %edi,-0x104c(%ebp)
     45aa:	db 7d b0             	fstpt  -0x50(%ebp)
     45ad:	8d 45 b0             	lea    -0x50(%ebp),%eax
-    45b0:	e9 d4 e6 ff ff       	jmp    0x2c89
+    45b0:	e9 d5 e6 ff ff       	jmp    0x2c8a
     45b5:	8b bd b4 ef ff ff    	mov    -0x104c(%ebp),%edi
     45bb:	0f bf 17             	movswl (%edi),%edx
     45be:	83 c7 04             	add    $0x4,%edi
@@ -4341,15 +4339,15 @@
     48a3:	85 d2                	test   %edx,%edx
     48a5:	0f 84 19 04 00 00    	je     0x4cc4
     48ab:	89 95 68 ef ff ff    	mov    %edx,-0x1098(%ebp)
-    48b1:	c7 85 94 ef ff ff 78 	movl   $0x78,-0x106c(%ebp)
+    48b1:	c7 85 7c ef ff ff 00 	movl   $0x0,-0x1084(%ebp)
     48b8:	00 00 00 
-    48bb:	c7 85 4c ef ff ff 00 	movl   $0x0,-0x10b4(%ebp)
+    48bb:	c7 85 94 ef ff ff 78 	movl   $0x78,-0x106c(%ebp)
     48c2:	00 00 00 
-    48c5:	c7 85 34 ef ff ff 01 	movl   $0x1,-0x10cc(%ebp)
+    48c5:	c7 85 4c ef ff ff 00 	movl   $0x0,-0x10b4(%ebp)
     48cc:	00 00 00 
-    48cf:	c7 85 88 ef ff ff 10 	movl   $0x10,-0x1078(%ebp)
+    48cf:	c7 85 34 ef ff ff 01 	movl   $0x1,-0x10cc(%ebp)
     48d6:	00 00 00 
-    48d9:	c7 85 7c ef ff ff 00 	movl   $0x0,-0x1084(%ebp)
+    48d9:	c7 85 88 ef ff ff 10 	movl   $0x10,-0x1078(%ebp)
     48e0:	00 00 00 
     48e3:	e9 7d d9 ff ff       	jmp    0x2265
     48e8:	8b bd 74 ef ff ff    	mov    -0x108c(%ebp),%edi
--- /dev/fd/63	2012-05-05 15:41:47.000000000 +0200
+++ /dev/fd/62	2012-05-05 15:41:47.000000000 +0200
@@ -1,5 +1,5 @@
 
-../build-tree.good/kfreebsd-amd64-i386/stdio-common/vfprintf.o:     file format elf32-i386-freebsd
+build-tree/kfreebsd-amd64-i386/stdio-common/vfprintf.o:     file format elf32-i386-freebsd
 
 
 Disassembly of section .text:
@@ -3790,9 +3790,9 @@
     3f39:	7f 31                	jg     0x3f6c
     3f3b:	83 bd 4c fb ff ff ff 	cmpl   $0xffffffff,-0x4b4(%ebp)
     3f42:	74 28                	je     0x3f6c
-    3f44:	31 c9                	xor    %ecx,%ecx
-    3f46:	31 ff                	xor    %edi,%edi
-    3f48:	ba 17 00 00 00       	mov    $0x17,%edx
+    3f44:	ba 17 00 00 00       	mov    $0x17,%edx
+    3f49:	31 c9                	xor    %ecx,%ecx
+    3f4b:	31 ff                	xor    %edi,%edi
     3f4d:	e9 a8 f0 ff ff       	jmp    0x2ffa
     3f52:	89 54 24 04          	mov    %edx,0x4(%esp)
     3f56:	89 1c 24             	mov    %ebx,(%esp)
@@ -3800,9 +3800,9 @@
     3f5e:	83 f8 ff             	cmp    $0xffffffff,%eax
     3f61:	0f 85 6e ff ff ff    	jne    0x3ed5
     3f67:	e9 1c c9 ff ff       	jmp    0x888
-    3f6c:	31 c9                	xor    %ecx,%ecx
-    3f6e:	bf 06 00 00 00       	mov    $0x6,%edi
-    3f73:	ba 48 00 00 00       	mov    $0x48,%edx
+    3f6c:	ba 48 00 00 00       	mov    $0x48,%edx
+    3f71:	31 c9                	xor    %ecx,%ecx
+    3f73:	bf 06 00 00 00       	mov    $0x6,%edi
     3f78:	e9 7d f0 ff ff       	jmp    0x2ffa
     3f7d:	f6 43 3c 04          	testb  $0x4,0x3c(%ebx)
     3f81:	74 0d                	je     0x3f90
--- /dev/fd/63	2012-05-05 15:41:47.000000000 +0200
+++ /dev/fd/62	2012-05-05 15:41:47.000000000 +0200
@@ -1,5 +1,5 @@
 
-../build-tree.good/kfreebsd-amd64-i386/timezone/zic.o:     file format elf32-i386-freebsd
+build-tree/kfreebsd-amd64-i386/timezone/zic.o:     file format elf32-i386-freebsd
 
 
 Disassembly of section .text:
@@ -4426,8 +4426,8 @@
     4083:	01 00 00 00 
     4087:	85 c9                	test   %ecx,%ecx
     4089:	0f 8e af f7 ff ff    	jle    0x383e
-    408f:	31 c0                	xor    %eax,%eax
-    4091:	31 d2                	xor    %edx,%edx
+    408f:	31 d2                	xor    %edx,%edx
+    4091:	31 c0                	xor    %eax,%eax
     4093:	8d 9c 24 00 26 00 00 	lea    0x2600(%esp),%ebx
     409a:	8d b4 24 70 3d 00 00 	lea    0x3d70(%esp),%esi
     40a1:	eb 18                	jmp    0x40bb
--- /dev/fd/63	2012-05-05 15:41:47.000000000 +0200
+++ /dev/fd/62	2012-05-05 15:41:47.000000000 +0200
@@ -1,5 +1,5 @@
 
-../build-tree.good/kfreebsd-amd64-i386/stdio-common/vfwscanf.o:     file format elf32-i386-freebsd
+build-tree/kfreebsd-amd64-i386/stdio-common/vfwscanf.o:     file format elf32-i386-freebsd
 
 
 Disassembly of section .text:
@@ -39,9 +39,9 @@
       58:	8b 8d 34 ff ff ff    	mov    -0xcc(%ebp),%ecx
       5e:	8b 01                	mov    (%ecx),%eax
       60:	a8 04                	test   $0x4,%al
-      62:	0f 85 c3 37 00 00    	jne    0x382b
+      62:	0f 85 bf 37 00 00    	jne    0x3827
       68:	85 f6                	test   %esi,%esi
-      6a:	0f 84 14 43 00 00    	je     0x4384
+      6a:	0f 84 45 42 00 00    	je     0x42b5
       70:	8b 15 00 00 00 00    	mov    0x0,%edx
       76:	65 8b 12             	mov    %gs:(%edx),%edx
       79:	8b 12                	mov    (%edx),%edx
@@ -55,33 +55,33 @@
       97:	0f b6 d2             	movzbl %dl,%edx
       9a:	85 d2                	test   %edx,%edx
       9c:	89 95 e4 fe ff ff    	mov    %edx,-0x11c(%ebp)
-      a2:	0f 85 89 1f 00 00    	jne    0x2031
+      a2:	0f 85 11 1f 00 00    	jne    0x1fb9
       a8:	66 85 c0             	test   %ax,%ax
-      ab:	0f 89 6d 1f 00 00    	jns    0x201e
+      ab:	0f 89 f5 1e 00 00    	jns    0x1fa6
       b1:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
       b7:	31 db                	xor    %ebx,%ebx
       b9:	89 b5 48 ff ff ff    	mov    %esi,-0xb8(%ebp)
-      bf:	c6 85 0f ff ff ff 00 	movb   $0x0,-0xf1(%ebp)
-      c6:	c7 85 f8 fe ff ff 00 	movl   $0x0,-0x108(%ebp)
-      cd:	00 00 00 
-      d0:	89 95 08 ff ff ff    	mov    %edx,-0xf8(%ebp)
-      d6:	c7 85 ec fe ff ff 00 	movl   $0x0,-0x114(%ebp)
-      dd:	00 00 00 
-      e0:	c7 85 1c ff ff ff 00 	movl   $0x0,-0xe4(%ebp)
-      e7:	00 00 00 
-      ea:	c7 85 30 ff ff ff 00 	movl   $0x0,-0xd0(%ebp)
-      f1:	00 00 00 
-      f4:	c7 85 24 ff ff ff 00 	movl   $0x0,-0xdc(%ebp)
-      fb:	00 00 00 
-      fe:	c7 85 40 ff ff ff 00 	movl   $0x0,-0xc0(%ebp)
-     105:	00 00 00 
-     108:	c7 85 00 ff ff ff 00 	movl   $0x0,-0x100(%ebp)
+      bf:	c7 85 3c ff ff ff 00 	movl   $0x0,-0xc4(%ebp)
+      c6:	00 00 00 
+      c9:	c7 85 f8 fe ff ff 00 	movl   $0x0,-0x108(%ebp)
+      d0:	00 00 00 
+      d3:	89 95 08 ff ff ff    	mov    %edx,-0xf8(%ebp)
+      d9:	c7 85 ec fe ff ff 00 	movl   $0x0,-0x114(%ebp)
+      e0:	00 00 00 
+      e3:	c7 85 1c ff ff ff 00 	movl   $0x0,-0xe4(%ebp)
+      ea:	00 00 00 
+      ed:	c7 85 30 ff ff ff 00 	movl   $0x0,-0xd0(%ebp)
+      f4:	00 00 00 
+      f7:	c7 85 24 ff ff ff 00 	movl   $0x0,-0xdc(%ebp)
+      fe:	00 00 00 
+     101:	c6 85 0f ff ff ff 00 	movb   $0x0,-0xf1(%ebp)
+     108:	c7 85 40 ff ff ff 00 	movl   $0x0,-0xc0(%ebp)
      10f:	00 00 00 
-     112:	c7 85 10 ff ff ff 00 	movl   $0x0,-0xf0(%ebp)
+     112:	c7 85 44 ff ff ff 00 	movl   $0x0,-0xbc(%ebp)
      119:	00 00 00 
-     11c:	c7 85 44 ff ff ff 00 	movl   $0x0,-0xbc(%ebp)
+     11c:	c7 85 10 ff ff ff 00 	movl   $0x0,-0xf0(%ebp)
      123:	00 00 00 
-     126:	c7 85 3c ff ff ff 00 	movl   $0x0,-0xc4(%ebp)
+     126:	c7 85 00 ff ff ff 00 	movl   $0x0,-0x100(%ebp)
      12d:	00 00 00 
      130:	c7 85 fc fe ff ff 00 	movl   $0x0,-0x104(%ebp)
      137:	00 00 00 
@@ -100,7 +100,7 @@
      17a:	8b 8d 48 ff ff ff    	mov    -0xb8(%ebp),%ecx
      180:	8b 31                	mov    (%ecx),%esi
      182:	85 f6                	test   %esi,%esi
-     184:	0f 84 d2 1d 00 00    	je     0x1f5c
+     184:	0f 84 5c 1d 00 00    	je     0x1ee6
      18a:	83 85 48 ff ff ff 04 	addl   $0x4,-0xb8(%ebp)
      191:	83 fe 25             	cmp    $0x25,%esi
      194:	0f 84 86 01 00 00    	je     0x320
@@ -113,10 +113,10 @@
      1af:	8b bd 34 ff ff ff    	mov    -0xcc(%ebp),%edi
      1b5:	8b 47 5c             	mov    0x5c(%edi),%eax
      1b8:	85 c0                	test   %eax,%eax
-     1ba:	0f 84 a1 41 00 00    	je     0x4361
+     1ba:	0f 84 09 41 00 00    	je     0x42c9
      1c0:	8b 10                	mov    (%eax),%edx
      1c2:	3b 50 04             	cmp    0x4(%eax),%edx
-     1c5:	0f 83 96 41 00 00    	jae    0x4361
+     1c5:	0f 83 fe 40 00 00    	jae    0x42c9
      1cb:	8b 1a                	mov    (%edx),%ebx
      1cd:	83 c2 04             	add    $0x4,%edx
      1d0:	89 10                	mov    %edx,(%eax)
@@ -138,10 +138,10 @@
      212:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
      218:	8b 46 5c             	mov    0x5c(%esi),%eax
      21b:	85 c0                	test   %eax,%eax
-     21d:	0f 84 f9 35 00 00    	je     0x381c
+     21d:	0f 84 15 36 00 00    	je     0x3838
      223:	8b 10                	mov    (%eax),%edx
      225:	3b 50 04             	cmp    0x4(%eax),%edx
-     228:	0f 83 ee 35 00 00    	jae    0x381c
+     228:	0f 83 0a 36 00 00    	jae    0x3838
      22e:	8b 1a                	mov    (%edx),%ebx
      230:	83 c2 04             	add    $0x4,%edx
      233:	89 10                	mov    %edx,(%eax)
@@ -155,7 +155,7 @@
      249:	8b b5 3c ff ff ff    	mov    -0xc4(%ebp),%esi
      24f:	89 bd 38 ff ff ff    	mov    %edi,-0xc8(%ebp)
      255:	39 f3                	cmp    %esi,%ebx
-     257:	0f 85 26 61 00 00    	jne    0x6383
+     257:	0f 85 8d 6b 00 00    	jne    0x6dea
      25d:	8b bd 40 ff ff ff    	mov    -0xc0(%ebp),%edi
      263:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
      269:	c7 85 3c ff ff ff 00 	movl   $0x0,-0xc4(%ebp)
@@ -163,7 +163,7 @@
      273:	e9 ea fe ff ff       	jmp    0x162
      278:	8b 95 24 ff ff ff    	mov    -0xdc(%ebp),%edx
      27e:	85 d2                	test   %edx,%edx
-     280:	0f 85 cd 3a 00 00    	jne    0x3d53
+     280:	0f 85 e8 37 00 00    	jne    0x3a6e
      286:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
      28c:	83 cb ff             	or     $0xffffffff,%ebx
      28f:	bf 01 00 00 00       	mov    $0x1,%edi
@@ -184,7 +184,7 @@
      2d5:	8b 95 f4 fe ff ff    	mov    -0x10c(%ebp),%edx
      2db:	09 3a                	or     %edi,(%edx)
      2dd:	83 bd 24 ff ff ff ff 	cmpl   $0xffffffff,-0xdc(%ebp)
-     2e4:	0f 84 c1 60 00 00    	je     0x63ab
+     2e4:	0f 84 aa 63 00 00    	je     0x6694
      2ea:	8b 85 10 ff ff ff    	mov    -0xf0(%ebp),%eax
      2f0:	85 c0                	test   %eax,%eax
      2f2:	0f 84 4f fd ff ff    	je     0x47
@@ -242,7 +242,7 @@
      3ab:	31 ff                	xor    %edi,%edi
      3ad:	83 fa 09             	cmp    $0x9,%edx
      3b0:	89 8d 2c ff ff ff    	mov    %ecx,-0xd4(%ebp)
-     3b6:	0f 87 c1 1b 00 00    	ja     0x1f7d
+     3b6:	0f 87 4b 1b 00 00    	ja     0x1f07
      3bc:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
      3c0:	83 c0 04             	add    $0x4,%eax
      3c3:	8b 30                	mov    (%eax),%esi
@@ -263,7 +263,7 @@
      3f8:	89 f2                	mov    %esi,%edx
      3fa:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
      400:	85 d2                	test   %edx,%edx
-     402:	0f 84 d4 5f 00 00    	je     0x63dc
+     402:	0f 84 ee 61 00 00    	je     0x65f6
      408:	83 c0 04             	add    $0x4,%eax
      40b:	89 d6                	mov    %edx,%esi
      40d:	89 85 28 ff ff ff    	mov    %eax,-0xd8(%ebp)
@@ -298,14 +298,14 @@
      48b:	85 c0                	test   %eax,%eax
      48d:	74 59                	je     0x4e8
      48f:	83 fb ff             	cmp    $0xffffffff,%ebx
-     492:	0f 84 de 3e 00 00    	je     0x4376
+     492:	0f 84 0f 3e 00 00    	je     0x42a7
      498:	8b 95 34 ff ff ff    	mov    -0xcc(%ebp),%edx
      49e:	8b 42 5c             	mov    0x5c(%edx),%eax
      4a1:	85 c0                	test   %eax,%eax
-     4a3:	0f 84 1b 36 00 00    	je     0x3ac4
+     4a3:	0f 84 77 36 00 00    	je     0x3b20
      4a9:	8b 10                	mov    (%eax),%edx
      4ab:	3b 50 04             	cmp    0x4(%eax),%edx
-     4ae:	0f 83 10 36 00 00    	jae    0x3ac4
+     4ae:	0f 83 6c 36 00 00    	jae    0x3b20
      4b4:	8b 1a                	mov    (%edx),%ebx
      4b6:	83 c2 04             	add    $0x4,%edx
      4b9:	89 10                	mov    %edx,(%eax)
@@ -316,7 +316,7 @@
      4c9:	89 9d 1c ff ff ff    	mov    %ebx,-0xe4(%ebp)
      4cf:	89 d8                	mov    %ebx,%eax
      4d1:	83 f8 04             	cmp    $0x4,%eax
-     4d4:	0f 84 27 59 00 00    	je     0x5e01
+     4d4:	0f 84 c4 69 00 00    	je     0x6e9e
      4da:	83 cb ff             	or     $0xffffffff,%ebx
      4dd:	eb a4                	jmp    0x483
      4df:	90                   	nop
@@ -377,7 +377,7 @@
      5d0:	8b 85 28 ff ff ff    	mov    -0xd8(%ebp),%eax
      5d6:	8b 10                	mov    (%eax),%edx
      5d8:	83 fa 6c             	cmp    $0x6c,%edx
-     5db:	0f 84 8c 1b 00 00    	je     0x216d
+     5db:	0f 84 14 1b 00 00    	je     0x20f5
      5e1:	83 8d 2c ff ff ff 01 	orl    $0x1,-0xd4(%ebp)
      5e8:	8b 85 28 ff ff ff    	mov    -0xd8(%ebp),%eax
      5ee:	e9 0d fe ff ff       	jmp    0x400
@@ -389,7 +389,7 @@
      609:	8b b5 28 ff ff ff    	mov    -0xd8(%ebp),%esi
      60f:	8b 16                	mov    (%esi),%edx
      611:	83 fa 68             	cmp    $0x68,%edx
-     614:	0f 84 6b 1b 00 00    	je     0x2185
+     614:	0f 84 f3 1a 00 00    	je     0x210d
      61a:	83 8d 2c ff ff ff 04 	orl    $0x4,-0xd4(%ebp)
      621:	8b 85 28 ff ff ff    	mov    -0xd8(%ebp),%eax
      627:	e9 d4 fd ff ff       	jmp    0x400
@@ -443,10 +443,10 @@
      701:	8b 8d 34 ff ff ff    	mov    -0xcc(%ebp),%ecx
      707:	8b 41 5c             	mov    0x5c(%ecx),%eax
      70a:	85 c0                	test   %eax,%eax
-     70c:	0f 84 05 54 00 00    	je     0x5b17
+     70c:	0f 84 58 60 00 00    	je     0x676a
      712:	8b 10                	mov    (%eax),%edx
      714:	3b 50 04             	cmp    0x4(%eax),%edx
-     717:	0f 83 fa 53 00 00    	jae    0x5b17
+     717:	0f 83 4d 60 00 00    	jae    0x676a
      71d:	8b 1a                	mov    (%edx),%ebx
      71f:	83 c2 04             	add    $0x4,%edx
      722:	89 10                	mov    %edx,(%eax)
@@ -461,7 +461,7 @@
      744:	0f 85 a9 02 00 00    	jne    0x9f3
      74a:	8b 95 40 ff ff ff    	mov    -0xc0(%ebp),%edx
      750:	85 d2                	test   %edx,%edx
-     752:	0f 84 85 59 00 00    	je     0x60dd
+     752:	0f 84 0c 64 00 00    	je     0x6b64
      758:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
      75e:	89 1e                	mov    %ebx,(%esi)
      760:	8b 9d 34 ff ff ff    	mov    -0xcc(%ebp),%ebx
@@ -471,15 +471,15 @@
      76d:	29 c7                	sub    %eax,%edi
      76f:	8b 43 5c             	mov    0x5c(%ebx),%eax
      772:	85 c0                	test   %eax,%eax
-     774:	0f 84 3e 59 00 00    	je     0x60b8
+     774:	0f 84 1e 64 00 00    	je     0x6b98
      77a:	8b 10                	mov    (%eax),%edx
      77c:	3b 50 04             	cmp    0x4(%eax),%edx
-     77f:	0f 83 33 59 00 00    	jae    0x60b8
+     77f:	0f 83 13 64 00 00    	jae    0x6b98
      785:	8b 1a                	mov    (%edx),%ebx
      787:	83 c2 04             	add    $0x4,%edx
      78a:	89 10                	mov    %edx,(%eax)
      78c:	83 fb ff             	cmp    $0xffffffff,%ebx
-     78f:	0f 84 d3 18 00 00    	je     0x2068
+     78f:	0f 84 5b 18 00 00    	je     0x1ff0
      795:	83 85 38 ff ff ff 01 	addl   $0x1,-0xc8(%ebp)
      79c:	83 fb 30             	cmp    $0x30,%ebx
      79f:	89 b5 44 ff ff ff    	mov    %esi,-0xbc(%ebp)
@@ -493,7 +493,7 @@
      7c7:	0f b6 c0             	movzbl %al,%eax
      7ca:	29 c7                	sub    %eax,%edi
      7cc:	39 95 40 ff ff ff    	cmp    %edx,-0xc0(%ebp)
-     7d2:	0f 84 41 59 00 00    	je     0x6119
+     7d2:	0f 84 be 65 00 00    	je     0x6d96
      7d8:	8b 8d 40 ff ff ff    	mov    -0xc0(%ebp),%ecx
      7de:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
      7e4:	8b 85 48 ff ff ff    	mov    -0xb8(%ebp),%eax
@@ -501,15 +501,15 @@
      7f0:	c7 04 86 30 00 00 00 	movl   $0x30,(%esi,%eax,4)
      7f7:	8b 42 5c             	mov    0x5c(%edx),%eax
      7fa:	85 c0                	test   %eax,%eax
-     7fc:	0f 84 46 59 00 00    	je     0x6148
+     7fc:	0f 84 c7 65 00 00    	je     0x6dc9
      802:	8b 10                	mov    (%eax),%edx
      804:	3b 50 04             	cmp    0x4(%eax),%edx
-     807:	0f 83 3b 59 00 00    	jae    0x6148
+     807:	0f 83 bc 65 00 00    	jae    0x6dc9
      80d:	8b 1a                	mov    (%edx),%ebx
      80f:	83 c2 04             	add    $0x4,%edx
      812:	89 10                	mov    %edx,(%eax)
      814:	83 fb ff             	cmp    $0xffffffff,%ebx
-     817:	0f 84 38 18 00 00    	je     0x2055
+     817:	0f 84 c0 17 00 00    	je     0x1fdd
      81d:	83 85 38 ff ff ff 01 	addl   $0x1,-0xc8(%ebp)
      824:	85 ff                	test   %edi,%edi
      826:	74 1d                	je     0x845
@@ -518,7 +518,7 @@
      831:	e8 fc ff ff ff       	call   0x832
      836:	8b 8d cc fe ff ff    	mov    -0x134(%ebp),%ecx
      83c:	83 f8 78             	cmp    $0x78,%eax
-     83f:	0f 84 45 12 00 00    	je     0x1a8a
+     83f:	0f 84 c5 11 00 00    	je     0x1a0a
      845:	8b 95 3c ff ff ff    	mov    -0xc4(%ebp),%edx
      84b:	b8 08 00 00 00       	mov    $0x8,%eax
      850:	85 d2                	test   %edx,%edx
@@ -552,7 +552,7 @@
      8da:	85 f6                	test   %esi,%esi
      8dc:	0f 84 7e 06 00 00    	je     0xf60
      8e2:	83 bd 48 ff ff ff 01 	cmpl   $0x1,-0xb8(%ebp)
-     8e9:	0f 84 98 16 00 00    	je     0x1f87
+     8e9:	0f 84 22 16 00 00    	je     0x1f11
      8ef:	83 fb ff             	cmp    $0xffffffff,%ebx
      8f2:	74 19                	je     0x90d
      8f4:	8b 95 34 ff ff ff    	mov    -0xcc(%ebp),%edx
@@ -562,7 +562,7 @@
      908:	e8 fc ff ff ff       	call   0x909
      90d:	8b 8d 48 ff ff ff    	mov    -0xb8(%ebp),%ecx
      913:	39 8d 40 ff ff ff    	cmp    %ecx,-0xc0(%ebp)
-     919:	0f 84 85 56 00 00    	je     0x5fa4
+     919:	0f 84 11 61 00 00    	je     0x6a30
      91f:	8b bd 40 ff ff ff    	mov    -0xc0(%ebp),%edi
      925:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
      92b:	8b 8d 2c ff ff ff    	mov    -0xd4(%ebp),%ecx
@@ -585,7 +585,7 @@
      982:	89 45 dc             	mov    %eax,-0x24(%ebp)
      985:	89 55 e0             	mov    %edx,-0x20(%ebp)
      988:	3b 75 ec             	cmp    -0x14(%ebp),%esi
-     98b:	0f 84 3c 57 00 00    	je     0x60cd
+     98b:	0f 84 45 65 00 00    	je     0x6ed6
      991:	8b 95 28 ff ff ff    	mov    -0xd8(%ebp),%edx
      997:	f6 85 2c ff ff ff 08 	testb  $0x8,-0xd4(%ebp)
      99e:	c7 85 3c ff ff ff 00 	movl   $0x0,-0xc4(%ebp)
@@ -599,7 +599,7 @@
      9c9:	0f 84 5c 08 00 00    	je     0x122b
      9cf:	8b 85 20 ff ff ff    	mov    -0xe0(%ebp),%eax
      9d5:	85 c0                	test   %eax,%eax
-     9d7:	0f 85 96 29 00 00    	jne    0x3373
+     9d7:	0f 85 a2 29 00 00    	jne    0x337f
      9dd:	8b 8d 08 ff ff ff    	mov    -0xf8(%ebp),%ecx
      9e3:	8b 01                	mov    (%ecx),%eax
      9e5:	83 c1 04             	add    $0x4,%ecx
@@ -615,7 +615,7 @@
      a10:	0f 85 5c fe ff ff    	jne    0x872
      a16:	f7 85 2c ff ff ff 00 	testl  $0x400,-0xd4(%ebp)
      a1d:	04 00 00 
-     a20:	0f 85 06 51 00 00    	jne    0x5b2c
+     a20:	0f 85 59 5d 00 00    	jne    0x677f
      a26:	c7 85 3c ff ff ff 0a 	movl   $0xa,-0xc4(%ebp)
      a2d:	00 00 00 
      a30:	e9 4a fe ff ff       	jmp    0x87f
@@ -643,10 +643,10 @@
      a99:	0f 85 b5 00 00 00    	jne    0xb54
      a9f:	f7 85 2c ff ff ff 00 	testl  $0x2100,-0xd4(%ebp)
      aa6:	21 00 00 
-     aa9:	0f 84 81 19 00 00    	je     0x2430
+     aa9:	0f 84 11 19 00 00    	je     0x23c0
      aaf:	8b 95 20 ff ff ff    	mov    -0xe0(%ebp),%edx
      ab5:	85 d2                	test   %edx,%edx
-     ab7:	0f 85 b5 1d 00 00    	jne    0x2872
+     ab7:	0f 85 a9 1e 00 00    	jne    0x2966
      abd:	8b 8d 08 ff ff ff    	mov    -0xf8(%ebp),%ecx
      ac3:	8b 85 08 ff ff ff    	mov    -0xf8(%ebp),%eax
      ac9:	8b 09                	mov    (%ecx),%ecx
@@ -655,21 +655,21 @@
      ad4:	89 8d 10 ff ff ff    	mov    %ecx,-0xf0(%ebp)
      ada:	8b 85 10 ff ff ff    	mov    -0xf0(%ebp),%eax
      ae0:	85 c0                	test   %eax,%eax
-     ae2:	0f 84 86 5a 00 00    	je     0x656e
+     ae2:	0f 84 23 52 00 00    	je     0x5d0b
      ae8:	c7 04 24 90 01 00 00 	movl   $0x190,(%esp)
      aef:	e8 fc ff ff ff       	call   0xaf0
      af4:	8b 95 10 ff ff ff    	mov    -0xf0(%ebp),%edx
      afa:	85 c0                	test   %eax,%eax
      afc:	89 02                	mov    %eax,(%edx)
      afe:	89 85 f8 fe ff ff    	mov    %eax,-0x108(%ebp)
-     b04:	0f 84 a3 2e 00 00    	je     0x39ad
+     b04:	0f 84 8c 2e 00 00    	je     0x3996
      b0a:	8b 8d ec fe ff ff    	mov    -0x114(%ebp),%ecx
      b10:	85 c9                	test   %ecx,%ecx
-     b12:	0f 84 9e 2c 00 00    	je     0x37b6
+     b12:	0f 84 dc 2c 00 00    	je     0x37f4
      b18:	8b 8d ec fe ff ff    	mov    -0x114(%ebp),%ecx
      b1e:	8b 01                	mov    (%ecx),%eax
      b20:	83 f8 20             	cmp    $0x20,%eax
-     b23:	0f 84 8d 2c 00 00    	je     0x37b6
+     b23:	0f 84 cb 2c 00 00    	je     0x37f4
      b29:	8d 50 01             	lea    0x1(%eax),%edx
      b2c:	89 95 48 ff ff ff    	mov    %edx,-0xb8(%ebp)
      b32:	8b 95 ec fe ff ff    	mov    -0x114(%ebp),%edx
@@ -680,19 +680,19 @@
      b4c:	8b 85 48 ff ff ff    	mov    -0xb8(%ebp),%eax
      b52:	89 02                	mov    %eax,(%edx)
      b54:	83 fb ff             	cmp    $0xffffffff,%ebx
-     b57:	0f 84 cb 0f 00 00    	je     0x1b28
+     b57:	0f 84 4b 0f 00 00    	je     0x1aa8
      b5d:	8b 8d 34 ff ff ff    	mov    -0xcc(%ebp),%ecx
      b63:	8b 41 5c             	mov    0x5c(%ecx),%eax
      b66:	85 c0                	test   %eax,%eax
-     b68:	0f 84 26 4f 00 00    	je     0x5a94
+     b68:	0f 84 5f 48 00 00    	je     0x53cd
      b6e:	8b 10                	mov    (%eax),%edx
      b70:	3b 50 04             	cmp    0x4(%eax),%edx
-     b73:	0f 83 1b 4f 00 00    	jae    0x5a94
+     b73:	0f 83 54 48 00 00    	jae    0x53cd
      b79:	8b 1a                	mov    (%edx),%ebx
      b7b:	83 c2 04             	add    $0x4,%edx
      b7e:	89 10                	mov    %edx,(%eax)
      b80:	83 fb ff             	cmp    $0xffffffff,%ebx
-     b83:	0f 84 ad 0f 00 00    	je     0x1b36
+     b83:	0f 84 2d 0f 00 00    	je     0x1ab6
      b89:	8b 85 30 ff ff ff    	mov    -0xd0(%ebp),%eax
      b8f:	8b 95 2c ff ff ff    	mov    -0xd4(%ebp),%edx
      b95:	89 1c 24             	mov    %ebx,(%esp)
@@ -722,25 +722,25 @@
      bf4:	89 8d 30 ff ff ff    	mov    %ecx,-0xd0(%ebp)
      bfa:	8d 0c 10             	lea    (%eax,%edx,1),%ecx
      bfd:	39 ce                	cmp    %ecx,%esi
-     bff:	0f 84 72 2b 00 00    	je     0x3777
+     bff:	0f 84 7d 2a 00 00    	je     0x3682
      c05:	85 ff                	test   %edi,%edi
      c07:	7e 09                	jle    0xc12
      c09:	83 ef 01             	sub    $0x1,%edi
-     c0c:	0f 84 2a 2c 00 00    	je     0x383c
+     c0c:	0f 84 d1 2b 00 00    	je     0x37e3
      c12:	83 fb ff             	cmp    $0xffffffff,%ebx
-     c15:	0f 84 66 29 00 00    	je     0x3581
+     c15:	0f 84 fb 29 00 00    	je     0x3616
      c1b:	8b 95 34 ff ff ff    	mov    -0xcc(%ebp),%edx
      c21:	8b 42 5c             	mov    0x5c(%edx),%eax
      c24:	85 c0                	test   %eax,%eax
-     c26:	0f 84 8d 40 00 00    	je     0x4cb9
+     c26:	0f 84 d2 3c 00 00    	je     0x48fe
      c2c:	8b 10                	mov    (%eax),%edx
      c2e:	3b 50 04             	cmp    0x4(%eax),%edx
-     c31:	0f 83 82 40 00 00    	jae    0x4cb9
+     c31:	0f 83 c7 3c 00 00    	jae    0x48fe
      c37:	8b 1a                	mov    (%edx),%ebx
      c39:	83 c2 04             	add    $0x4,%edx
      c3c:	89 10                	mov    %edx,(%eax)
      c3e:	83 fb ff             	cmp    $0xffffffff,%ebx
-     c41:	0f 84 8b 11 00 00    	je     0x1dd2
+     c41:	0f 84 0b 11 00 00    	je     0x1d52
      c47:	89 1c 24             	mov    %ebx,(%esp)
      c4a:	83 85 38 ff ff ff 01 	addl   $0x1,-0xc8(%ebp)
      c51:	e8 fc ff ff ff       	call   0xc52
@@ -753,7 +753,7 @@
      c77:	89 5c 24 04          	mov    %ebx,0x4(%esp)
      c7b:	89 0c 24             	mov    %ecx,(%esp)
      c7e:	e8 fc ff ff ff       	call   0xc7f
-     c83:	e9 64 11 00 00       	jmp    0x1dec
+     c83:	e9 e4 10 00 00       	jmp    0x1d6c
      c88:	8b b5 2c ff ff ff    	mov    -0xd4(%ebp),%esi
      c8e:	83 ff ff             	cmp    $0xffffffff,%edi
      c91:	b8 01 00 00 00       	mov    $0x1,%eax
@@ -762,19 +762,19 @@
      c9c:	0f 85 be 00 00 00    	jne    0xd60
      ca2:	f7 85 2c ff ff ff 00 	testl  $0x2100,-0xd4(%ebp)
      ca9:	21 00 00 
-     cac:	0f 84 2b 17 00 00    	je     0x23dd
-     cb2:	8b 85 20 ff ff ff    	mov    -0xe0(%ebp),%eax
-     cb8:	85 c0                	test   %eax,%eax
-     cba:	0f 85 ef 1b 00 00    	jne    0x28af
+     cac:	0f 84 bf 16 00 00    	je     0x2371
+     cb2:	8b 95 20 ff ff ff    	mov    -0xe0(%ebp),%edx
+     cb8:	85 d2                	test   %edx,%edx
+     cba:	0f 85 7f 1c 00 00    	jne    0x293f
      cc0:	8b 85 08 ff ff ff    	mov    -0xf8(%ebp),%eax
      cc6:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
      ccc:	8b 00                	mov    (%eax),%eax
      cce:	83 c2 04             	add    $0x4,%edx
      cd1:	89 95 08 ff ff ff    	mov    %edx,-0xf8(%ebp)
      cd7:	89 85 10 ff ff ff    	mov    %eax,-0xf0(%ebp)
-     cdd:	8b 8d 10 ff ff ff    	mov    -0xf0(%ebp),%ecx
-     ce3:	85 c9                	test   %ecx,%ecx
-     ce5:	0f 84 2b 45 00 00    	je     0x5216
+     cdd:	8b 85 10 ff ff ff    	mov    -0xf0(%ebp),%eax
+     ce3:	85 c0                	test   %eax,%eax
+     ce5:	0f 84 5a 46 00 00    	je     0x5345
      ceb:	81 ff 00 04 00 00    	cmp    $0x400,%edi
      cf1:	b8 00 04 00 00       	mov    $0x400,%eax
      cf6:	0f 4e c7             	cmovle %edi,%eax
@@ -786,14 +786,14 @@
      d10:	85 c0                	test   %eax,%eax
      d12:	89 02                	mov    %eax,(%edx)
      d14:	89 85 f8 fe ff ff    	mov    %eax,-0x108(%ebp)
-     d1a:	0f 84 67 2c 00 00    	je     0x3987
-     d20:	8b 95 ec fe ff ff    	mov    -0x114(%ebp),%edx
-     d26:	85 d2                	test   %edx,%edx
-     d28:	0f 84 bb 2a 00 00    	je     0x37e9
+     d1a:	0f 84 9c 2c 00 00    	je     0x39bc
+     d20:	8b 8d ec fe ff ff    	mov    -0x114(%ebp),%ecx
+     d26:	85 c9                	test   %ecx,%ecx
+     d28:	0f 84 19 2b 00 00    	je     0x3847
      d2e:	8b 8d ec fe ff ff    	mov    -0x114(%ebp),%ecx
      d34:	8b 01                	mov    (%ecx),%eax
      d36:	83 f8 20             	cmp    $0x20,%eax
-     d39:	0f 84 aa 2a 00 00    	je     0x37e9
+     d39:	0f 84 08 2b 00 00    	je     0x3847
      d3f:	8d 50 01             	lea    0x1(%eax),%edx
      d42:	89 95 48 ff ff ff    	mov    %edx,-0xb8(%ebp)
      d48:	8b 95 ec fe ff ff    	mov    -0x114(%ebp),%edx
@@ -802,63 +802,62 @@
      d58:	8b 85 48 ff ff ff    	mov    -0xb8(%ebp),%eax
      d5e:	89 02                	mov    %eax,(%edx)
      d60:	83 fb ff             	cmp    $0xffffffff,%ebx
-     d63:	0f 84 8c 0d 00 00    	je     0x1af5
+     d63:	0f 84 0c 0d 00 00    	je     0x1a75
      d69:	8b 8d 34 ff ff ff    	mov    -0xcc(%ebp),%ecx
      d6f:	8b 41 5c             	mov    0x5c(%ecx),%eax
      d72:	85 c0                	test   %eax,%eax
-     d74:	0f 84 62 3b 00 00    	je     0x48dc
+     d74:	0f 84 c2 56 00 00    	je     0x643c
      d7a:	8b 10                	mov    (%eax),%edx
      d7c:	3b 50 04             	cmp    0x4(%eax),%edx
-     d7f:	0f 83 57 3b 00 00    	jae    0x48dc
+     d7f:	0f 83 b7 56 00 00    	jae    0x643c
      d85:	8b 1a                	mov    (%edx),%ebx
      d87:	83 c2 04             	add    $0x4,%edx
      d8a:	89 10                	mov    %edx,(%eax)
      d8c:	83 fb ff             	cmp    $0xffffffff,%ebx
-     d8f:	0f 84 6e 0d 00 00    	je     0x1b03
+     d8f:	0f 84 ee 0c 00 00    	je     0x1a83
      d95:	8b 85 30 ff ff ff    	mov    -0xd0(%ebp),%eax
      d9b:	83 c0 01             	add    $0x1,%eax
      d9e:	85 f6                	test   %esi,%esi
      da0:	89 85 38 ff ff ff    	mov    %eax,-0xc8(%ebp)
-     da6:	0f 85 cd 10 00 00    	jne    0x1e79
+     da6:	0f 85 4d 10 00 00    	jne    0x1df9
      dac:	8b 95 2c ff ff ff    	mov    -0xd4(%ebp),%edx
-     db2:	89 fe                	mov    %edi,%esi
-     db4:	8b 8d 00 ff ff ff    	mov    -0x100(%ebp),%ecx
-     dba:	8b bd f8 fe ff ff    	mov    -0x108(%ebp),%edi
-     dc0:	81 e2 00 21 00 00    	and    $0x2100,%edx
-     dc6:	89 95 48 ff ff ff    	mov    %edx,-0xb8(%ebp)
-     dcc:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-     dd0:	8b 85 48 ff ff ff    	mov    -0xb8(%ebp),%eax
-     dd6:	85 c0                	test   %eax,%eax
+     db2:	8b b5 f8 fe ff ff    	mov    -0x108(%ebp),%esi
+     db8:	81 e2 00 21 00 00    	and    $0x2100,%edx
+     dbe:	89 95 48 ff ff ff    	mov    %edx,-0xb8(%ebp)
+     dc4:	8b 95 00 ff ff ff    	mov    -0x100(%ebp),%edx
+     dca:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
+     dd0:	8b 8d 48 ff ff ff    	mov    -0xb8(%ebp),%ecx
+     dd6:	85 c9                	test   %ecx,%ecx
      dd8:	74 1f                	je     0xdf9
-     dda:	8b 95 10 ff ff ff    	mov    -0xf0(%ebp),%edx
-     de0:	8b 02                	mov    (%edx),%eax
-     de2:	8d 14 8d 00 00 00 00 	lea    0x0(,%ecx,4),%edx
-     de9:	89 95 3c ff ff ff    	mov    %edx,-0xc4(%ebp)
-     def:	01 c2                	add    %eax,%edx
-     df1:	39 d7                	cmp    %edx,%edi
-     df3:	0f 84 67 0d 00 00    	je     0x1b60
-     df9:	89 ca                	mov    %ecx,%edx
-     dfb:	83 ee 01             	sub    $0x1,%esi
-     dfe:	89 1f                	mov    %ebx,(%edi)
-     e00:	83 c7 04             	add    $0x4,%edi
-     e03:	85 f6                	test   %esi,%esi
-     e05:	0f 8e 5d 2a 00 00    	jle    0x3868
+     dda:	8b 8d 10 ff ff ff    	mov    -0xf0(%ebp),%ecx
+     de0:	8b 01                	mov    (%ecx),%eax
+     de2:	8d 0c 95 00 00 00 00 	lea    0x0(,%edx,4),%ecx
+     de9:	89 8d 3c ff ff ff    	mov    %ecx,-0xc4(%ebp)
+     def:	01 c1                	add    %eax,%ecx
+     df1:	39 ce                	cmp    %ecx,%esi
+     df3:	0f 84 e7 0c 00 00    	je     0x1ae0
+     df9:	89 d1                	mov    %edx,%ecx
+     dfb:	83 ef 01             	sub    $0x1,%edi
+     dfe:	89 1e                	mov    %ebx,(%esi)
+     e00:	83 c6 04             	add    $0x4,%esi
+     e03:	85 ff                	test   %edi,%edi
+     e05:	0f 8e db 2a 00 00    	jle    0x38e6
      e0b:	83 fb ff             	cmp    $0xffffffff,%ebx
-     e0e:	0f 84 39 2a 00 00    	je     0x384d
-     e14:	8b 8d 34 ff ff ff    	mov    -0xcc(%ebp),%ecx
-     e1a:	8b 41 5c             	mov    0x5c(%ecx),%eax
+     e0e:	0f 84 b9 2a 00 00    	je     0x38cd
+     e14:	8b 95 34 ff ff ff    	mov    -0xcc(%ebp),%edx
+     e1a:	8b 42 5c             	mov    0x5c(%edx),%eax
      e1d:	85 c0                	test   %eax,%eax
-     e1f:	0f 84 13 48 00 00    	je     0x5638
-     e25:	8b 08                	mov    (%eax),%ecx
-     e27:	3b 48 04             	cmp    0x4(%eax),%ecx
-     e2a:	0f 83 08 48 00 00    	jae    0x5638
-     e30:	8b 19                	mov    (%ecx),%ebx
-     e32:	83 c1 04             	add    $0x4,%ecx
-     e35:	89 08                	mov    %ecx,(%eax)
+     e1f:	0f 84 bd 45 00 00    	je     0x53e2
+     e25:	8b 10                	mov    (%eax),%edx
+     e27:	3b 50 04             	cmp    0x4(%eax),%edx
+     e2a:	0f 83 b2 45 00 00    	jae    0x53e2
+     e30:	8b 1a                	mov    (%edx),%ebx
+     e32:	83 c2 04             	add    $0x4,%edx
+     e35:	89 10                	mov    %edx,(%eax)
      e37:	83 fb ff             	cmp    $0xffffffff,%ebx
-     e3a:	0f 84 93 10 00 00    	je     0x1ed3
+     e3a:	0f 84 13 10 00 00    	je     0x1e53
      e40:	83 85 38 ff ff ff 01 	addl   $0x1,-0xc8(%ebp)
-     e47:	89 d1                	mov    %edx,%ecx
+     e47:	89 ca                	mov    %ecx,%edx
      e49:	eb 85                	jmp    0xdd0
      e4b:	90                   	nop
      e4c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
@@ -869,7 +868,7 @@
      e6a:	3b 9d 18 ff ff ff    	cmp    -0xe8(%ebp),%ebx
      e70:	0f 85 58 fa ff ff    	jne    0x8ce
      e76:	3b 95 48 ff ff ff    	cmp    -0xb8(%ebp),%edx
-     e7c:	0f 84 13 2e 00 00    	je     0x3c95
+     e7c:	0f 84 b3 2c 00 00    	je     0x3b35
      e82:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
      e88:	89 95 40 ff ff ff    	mov    %edx,-0xc0(%ebp)
      e8e:	89 1c 0e             	mov    %ebx,(%esi,%ecx,1)
@@ -880,10 +879,10 @@
      e9e:	29 c7                	sub    %eax,%edi
      ea0:	8b 43 5c             	mov    0x5c(%ebx),%eax
      ea3:	85 c0                	test   %eax,%eax
-     ea5:	0f 84 1d 2a 00 00    	je     0x38c8
+     ea5:	0f 84 46 2a 00 00    	je     0x38f1
      eab:	8b 10                	mov    (%eax),%edx
      ead:	3b 50 04             	cmp    0x4(%eax),%edx
-     eb0:	0f 83 12 2a 00 00    	jae    0x38c8
+     eb0:	0f 83 3b 2a 00 00    	jae    0x38f1
      eb6:	8b 1a                	mov    (%edx),%ebx
      eb8:	83 c2 04             	add    $0x4,%edx
      ebb:	89 10                	mov    %edx,(%eax)
@@ -922,87 +921,87 @@
      f55:	e9 46 f3 ff ff       	jmp    0x2a0
      f5a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
      f60:	83 fb 28             	cmp    $0x28,%ebx
-     f63:	0f 85 2f 10 00 00    	jne    0x1f98
+     f63:	0f 85 b9 0f 00 00    	jne    0x1f22
      f69:	f7 85 2c ff ff ff 00 	testl  $0x1000,-0xd4(%ebp)
      f70:	10 00 00 
-     f73:	0f 84 1f 10 00 00    	je     0x1f98
+     f73:	0f 84 a9 0f 00 00    	je     0x1f22
      f79:	8b 8d 34 ff ff ff    	mov    -0xcc(%ebp),%ecx
      f7f:	8b 41 5c             	mov    0x5c(%ecx),%eax
      f82:	85 c0                	test   %eax,%eax
-     f84:	0f 84 05 50 00 00    	je     0x5f8f
+     f84:	0f 84 37 5f 00 00    	je     0x6ec1
      f8a:	8b 08                	mov    (%eax),%ecx
      f8c:	3b 48 04             	cmp    0x4(%eax),%ecx
-     f8f:	0f 83 fa 4f 00 00    	jae    0x5f8f
+     f8f:	0f 83 2c 5f 00 00    	jae    0x6ec1
      f95:	8b 11                	mov    (%ecx),%edx
      f97:	83 c1 04             	add    $0x4,%ecx
      f9a:	89 08                	mov    %ecx,(%eax)
      f9c:	83 fa ff             	cmp    $0xffffffff,%edx
-     f9f:	0f 84 42 16 00 00    	je     0x25e7
+     f9f:	0f 84 cf 15 00 00    	je     0x2574
      fa5:	83 85 38 ff ff ff 01 	addl   $0x1,-0xc8(%ebp)
      fac:	89 d3                	mov    %edx,%ebx
      fae:	89 14 24             	mov    %edx,(%esp)
      fb1:	e8 fc ff ff ff       	call   0xfb2
      fb6:	83 f8 6e             	cmp    $0x6e,%eax
-     fb9:	0f 85 d9 0f 00 00    	jne    0x1f98
+     fb9:	0f 85 63 0f 00 00    	jne    0x1f22
      fbf:	83 fb ff             	cmp    $0xffffffff,%ebx
-     fc2:	0f 84 a2 13 00 00    	je     0x236a
+     fc2:	0f 84 36 13 00 00    	je     0x22fe
      fc8:	8b bd 34 ff ff ff    	mov    -0xcc(%ebp),%edi
      fce:	8b 47 5c             	mov    0x5c(%edi),%eax
      fd1:	85 c0                	test   %eax,%eax
-     fd3:	0f 84 29 4b 00 00    	je     0x5b02
+     fd3:	0f 84 7c 57 00 00    	je     0x6755
      fd9:	8b 10                	mov    (%eax),%edx
      fdb:	3b 50 04             	cmp    0x4(%eax),%edx
-     fde:	0f 83 1e 4b 00 00    	jae    0x5b02
+     fde:	0f 83 71 57 00 00    	jae    0x6755
      fe4:	8b 1a                	mov    (%edx),%ebx
      fe6:	83 c2 04             	add    $0x4,%edx
      fe9:	89 10                	mov    %edx,(%eax)
      feb:	83 fb ff             	cmp    $0xffffffff,%ebx
-     fee:	0f 84 db 15 00 00    	je     0x25cf
+     fee:	0f 84 68 15 00 00    	je     0x255c
      ff4:	83 85 38 ff ff ff 01 	addl   $0x1,-0xc8(%ebp)
      ffb:	89 de                	mov    %ebx,%esi
      ffd:	89 1c 24             	mov    %ebx,(%esp)
     1000:	e8 fc ff ff ff       	call   0x1001
     1005:	83 f8 69             	cmp    $0x69,%eax
-    1008:	0f 85 8c 0f 00 00    	jne    0x1f9a
+    1008:	0f 85 16 0f 00 00    	jne    0x1f24
     100e:	83 fe ff             	cmp    $0xffffffff,%esi
-    1011:	0f 84 3b 13 00 00    	je     0x2352
+    1011:	0f 84 cf 12 00 00    	je     0x22e6
     1017:	8b 8d 34 ff ff ff    	mov    -0xcc(%ebp),%ecx
     101d:	8b 41 5c             	mov    0x5c(%ecx),%eax
     1020:	85 c0                	test   %eax,%eax
-    1022:	0f 84 c5 4a 00 00    	je     0x5aed
+    1022:	0f 84 59 5d 00 00    	je     0x6d81
     1028:	8b 10                	mov    (%eax),%edx
     102a:	3b 50 04             	cmp    0x4(%eax),%edx
-    102d:	0f 83 ba 4a 00 00    	jae    0x5aed
+    102d:	0f 83 4e 5d 00 00    	jae    0x6d81
     1033:	8b 32                	mov    (%edx),%esi
     1035:	83 c2 04             	add    $0x4,%edx
     1038:	89 10                	mov    %edx,(%eax)
     103a:	83 fe ff             	cmp    $0xffffffff,%esi
-    103d:	0f 84 74 15 00 00    	je     0x25b7
+    103d:	0f 84 49 15 00 00    	je     0x258c
     1043:	83 85 38 ff ff ff 01 	addl   $0x1,-0xc8(%ebp)
     104a:	89 f3                	mov    %esi,%ebx
     104c:	89 34 24             	mov    %esi,(%esp)
     104f:	e8 fc ff ff ff       	call   0x1050
     1054:	83 f8 6c             	cmp    $0x6c,%eax
-    1057:	0f 85 3f 0f 00 00    	jne    0x1f9c
+    1057:	0f 85 c9 0e 00 00    	jne    0x1f26
     105d:	83 fb ff             	cmp    $0xffffffff,%ebx
-    1060:	0f 84 1c 13 00 00    	je     0x2382
+    1060:	0f 84 b0 12 00 00    	je     0x2316
     1066:	8b bd 34 ff ff ff    	mov    -0xcc(%ebp),%edi
     106c:	8b 47 5c             	mov    0x5c(%edi),%eax
     106f:	85 c0                	test   %eax,%eax
-    1071:	0f 84 61 4a 00 00    	je     0x5ad8
+    1071:	0f 84 bb 50 00 00    	je     0x6132
     1077:	8b 10                	mov    (%eax),%edx
     1079:	3b 50 04             	cmp    0x4(%eax),%edx
-    107c:	0f 83 56 4a 00 00    	jae    0x5ad8
+    107c:	0f 83 b0 50 00 00    	jae    0x6132
     1082:	8b 1a                	mov    (%edx),%ebx
     1084:	83 c2 04             	add    $0x4,%edx
     1087:	89 10                	mov    %edx,(%eax)
     1089:	83 fb ff             	cmp    $0xffffffff,%ebx
-    108c:	0f 84 13 0f 00 00    	je     0x1fa5
+    108c:	0f 84 9d 0e 00 00    	je     0x1f2f
     1092:	83 fb 29             	cmp    $0x29,%ebx
-    1095:	0f 85 d2 2b 00 00    	jne    0x3c6d
+    1095:	0f 85 41 2d 00 00    	jne    0x3ddc
     109b:	8b 8d 40 ff ff ff    	mov    -0xc0(%ebp),%ecx
     10a1:	85 c9                	test   %ecx,%ecx
-    10a3:	0f 84 0f 47 00 00    	je     0x57b8
+    10a3:	0f 84 a8 53 00 00    	je     0x6451
     10a9:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
     10af:	83 85 38 ff ff ff 01 	addl   $0x1,-0xc8(%ebp)
     10b6:	c7 06 30 00 00 00    	movl   $0x30,(%esi)
@@ -1033,7 +1032,7 @@
     112e:	0f 84 c9 00 00 00    	je     0x11fd
     1134:	8b 85 20 ff ff ff    	mov    -0xe0(%ebp),%eax
     113a:	85 c0                	test   %eax,%eax
-    113c:	0f 85 10 22 00 00    	jne    0x3352
+    113c:	0f 85 5e 22 00 00    	jne    0x33a0
     1142:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
     1148:	8b 02                	mov    (%edx),%eax
     114a:	83 c2 04             	add    $0x4,%edx
@@ -1079,20 +1078,20 @@
     11f6:	66 90                	xchg   %ax,%ax
     11f8:	e9 40 f4 ff ff       	jmp    0x63d
     11fd:	f6 85 2c ff ff ff 04 	testb  $0x4,-0xd4(%ebp)
-    1204:	0f 84 db 0d 00 00    	je     0x1fe5
+    1204:	0f 84 63 0d 00 00    	je     0x1f6d
     120a:	8b 8d 20 ff ff ff    	mov    -0xe0(%ebp),%ecx
     1210:	85 c9                	test   %ecx,%ecx
-    1212:	0f 85 39 16 00 00    	jne    0x2851
+    1212:	0f 85 f0 16 00 00    	jne    0x2908
     1218:	8b 8d 08 ff ff ff    	mov    -0xf8(%ebp),%ecx
     121e:	8b 01                	mov    (%ecx),%eax
     1220:	83 c1 04             	add    $0x4,%ecx
     1223:	89 8d 08 ff ff ff    	mov    %ecx,-0xf8(%ebp)
     1229:	eb 2c                	jmp    0x1257
     122b:	f6 85 2c ff ff ff 04 	testb  $0x4,-0xd4(%ebp)
-    1232:	0f 84 ad 0d 00 00    	je     0x1fe5
+    1232:	0f 84 35 0d 00 00    	je     0x1f6d
     1238:	8b 8d 20 ff ff ff    	mov    -0xe0(%ebp),%ecx
     123e:	85 c9                	test   %ecx,%ecx
-    1240:	0f 85 ea 15 00 00    	jne    0x2830
+    1240:	0f 85 7a 16 00 00    	jne    0x28c0
     1246:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
     124c:	8b 02                	mov    (%edx),%eax
     124e:	83 c2 04             	add    $0x4,%edx
@@ -1102,14 +1101,14 @@
     125d:	e9 fc fe ff ff       	jmp    0x115e
     1262:	8b b5 2c ff ff ff    	mov    -0xd4(%ebp),%esi
     1268:	83 e6 01             	and    $0x1,%esi
-    126b:	0f 84 42 09 00 00    	je     0x1bb3
+    126b:	0f 84 c2 08 00 00    	je     0x1b33
     1271:	f6 85 2c ff ff ff 08 	testb  $0x8,-0xd4(%ebp)
-    1278:	0f 85 f5 09 00 00    	jne    0x1c73
+    1278:	0f 85 75 09 00 00    	jne    0x1bf3
     127e:	f7 85 2c ff ff ff 00 	testl  $0x2100,-0xd4(%ebp)
     1285:	21 00 00 
-    1288:	0f 84 7a 23 00 00    	je     0x3608
+    1288:	0f 84 a7 23 00 00    	je     0x3635
     128e:	83 bd 20 ff ff ff 00 	cmpl   $0x0,-0xe0(%ebp)
-    1295:	0f 85 89 27 00 00    	jne    0x3a24
+    1295:	0f 85 ea 29 00 00    	jne    0x3c85
     129b:	8b 8d 08 ff ff ff    	mov    -0xf8(%ebp),%ecx
     12a1:	8b 85 08 ff ff ff    	mov    -0xf8(%ebp),%eax
     12a7:	8b 09                	mov    (%ecx),%ecx
@@ -1117,43 +1116,43 @@
     12ac:	89 85 08 ff ff ff    	mov    %eax,-0xf8(%ebp)
     12b2:	89 8d 10 ff ff ff    	mov    %ecx,-0xf0(%ebp)
     12b8:	83 bd 10 ff ff ff 00 	cmpl   $0x0,-0xf0(%ebp)
-    12bf:	0f 84 4c 32 00 00    	je     0x4511
+    12bf:	0f 84 9a 44 00 00    	je     0x575f
     12c5:	c7 04 24 90 01 00 00 	movl   $0x190,(%esp)
     12cc:	e8 fc ff ff ff       	call   0x12cd
     12d1:	8b 95 10 ff ff ff    	mov    -0xf0(%ebp),%edx
     12d7:	85 c0                	test   %eax,%eax
     12d9:	89 02                	mov    %eax,(%edx)
     12db:	89 85 f8 fe ff ff    	mov    %eax,-0x108(%ebp)
-    12e1:	0f 85 42 09 00 00    	jne    0x1c29
+    12e1:	0f 85 c2 08 00 00    	jne    0x1ba9
     12e7:	f7 85 2c ff ff ff 00 	testl  $0x2000,-0xd4(%ebp)
     12ee:	20 00 00 
-    12f1:	0f 85 73 16 00 00    	jne    0x296a
+    12f1:	0f 85 2a 17 00 00    	jne    0x2a21
     12f7:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
     12fd:	bf 02 00 00 00       	mov    $0x2,%edi
     1302:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
     1308:	e9 93 ef ff ff       	jmp    0x2a0
     130d:	8d 76 00             	lea    0x0(%esi),%esi
     1310:	83 fb ff             	cmp    $0xffffffff,%ebx
-    1313:	0f 84 47 1e 00 00    	je     0x3160
+    1313:	0f 84 27 1f 00 00    	je     0x3240
     1319:	8b 8d 34 ff ff ff    	mov    -0xcc(%ebp),%ecx
     131f:	8b 41 5c             	mov    0x5c(%ecx),%eax
     1322:	85 c0                	test   %eax,%eax
-    1324:	0f 84 78 5a 00 00    	je     0x6da2
+    1324:	0f 84 86 3d 00 00    	je     0x50b0
     132a:	8b 10                	mov    (%eax),%edx
     132c:	3b 50 04             	cmp    0x4(%eax),%edx
-    132f:	0f 83 6d 5a 00 00    	jae    0x6da2
+    132f:	0f 83 7b 3d 00 00    	jae    0x50b0
     1335:	8b 1a                	mov    (%edx),%ebx
     1337:	83 c2 04             	add    $0x4,%edx
     133a:	89 10                	mov    %edx,(%eax)
     133c:	83 fb ff             	cmp    $0xffffffff,%ebx
-    133f:	0f 84 75 20 00 00    	je     0x33ba
+    133f:	0f 84 43 22 00 00    	je     0x3588
     1345:	83 85 30 ff ff ff 01 	addl   $0x1,-0xd0(%ebp)
     134c:	31 c0                	xor    %eax,%eax
     134e:	85 ff                	test   %edi,%edi
     1350:	0f 9f c0             	setg   %al
     1353:	29 c7                	sub    %eax,%edi
     1355:	83 fb ff             	cmp    $0xffffffff,%ebx
-    1358:	0f 84 da 59 00 00    	je     0x6d38
+    1358:	0f 84 bf 53 00 00    	je     0x671d
     135e:	83 fb 2b             	cmp    $0x2b,%ebx
     1361:	74 0c                	je     0x136f
     1363:	83 fb 2d             	cmp    $0x2d,%ebx
@@ -1162,19 +1161,19 @@
     136f:	83 fb 2d             	cmp    $0x2d,%ebx
     1372:	0f 94 85 d6 fe ff ff 	sete   -0x12a(%ebp)
     1379:	85 ff                	test   %edi,%edi
-    137b:	0f 84 a4 45 00 00    	je     0x5925
+    137b:	0f 84 94 44 00 00    	je     0x5815
     1381:	8b b5 34 ff ff ff    	mov    -0xcc(%ebp),%esi
     1387:	8b 46 5c             	mov    0x5c(%esi),%eax
     138a:	85 c0                	test   %eax,%eax
-    138c:	0f 84 5c 46 00 00    	je     0x59ee
+    138c:	0f 84 6e 44 00 00    	je     0x5800
     1392:	8b 10                	mov    (%eax),%edx
     1394:	3b 50 04             	cmp    0x4(%eax),%edx
-    1397:	0f 83 51 46 00 00    	jae    0x59ee
+    1397:	0f 83 63 44 00 00    	jae    0x5800
     139d:	8b 1a                	mov    (%edx),%ebx
     139f:	83 c2 04             	add    $0x4,%edx
     13a2:	89 10                	mov    %edx,(%eax)
     13a4:	83 fb ff             	cmp    $0xffffffff,%ebx
-    13a7:	0f 84 ec 14 00 00    	je     0x2899
+    13a7:	0f 84 7c 15 00 00    	je     0x2929
     13ad:	31 c0                	xor    %eax,%eax
     13af:	83 85 30 ff ff ff 01 	addl   $0x1,-0xd0(%ebp)
     13b6:	85 ff                	test   %edi,%edi
@@ -1183,5183 +1182,5197 @@
     13bd:	89 1c 24             	mov    %ebx,(%esp)
     13c0:	e8 fc ff ff ff       	call   0x13c1
     13c5:	83 f8 6e             	cmp    $0x6e,%eax
-    13c8:	0f 84 a5 1d 00 00    	je     0x3173
+    13c8:	0f 84 85 1e 00 00    	je     0x3253
     13ce:	83 f8 69             	cmp    $0x69,%eax
-    13d1:	0f 84 f6 1f 00 00    	je     0x33cd
+    13d1:	0f 84 fd 1f 00 00    	je     0x33d4
     13d7:	83 fb 30             	cmp    $0x30,%ebx
-    13da:	75 0a                	jne    0x13e6
-    13dc:	85 ff                	test   %edi,%edi
-    13de:	66 90                	xchg   %ax,%ax
-    13e0:	0f 85 cb 1e 00 00    	jne    0x32b1
-    13e6:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
-    13ec:	31 c0                	xor    %eax,%eax
-    13ee:	c7 85 e0 fe ff ff 65 	movl   $0x65,-0x120(%ebp)
-    13f5:	00 00 00 
-    13f8:	8d 50 01             	lea    0x1(%eax),%edx
-    13fb:	8d 0c 85 00 00 00 00 	lea    0x0(,%eax,4),%ecx
-    1402:	8d 04 85 fc ff ff ff 	lea    -0x4(,%eax,4),%eax
-    1409:	89 8d 38 ff ff ff    	mov    %ecx,-0xc8(%ebp)
-    140f:	8b 8d 2c ff ff ff    	mov    -0xd4(%ebp),%ecx
-    1415:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
-    141b:	0f b6 85 2c ff ff ff 	movzbl -0xd4(%ebp),%eax
-    1422:	89 95 48 ff ff ff    	mov    %edx,-0xb8(%ebp)
-    1428:	8b 95 40 ff ff ff    	mov    -0xc0(%ebp),%edx
-    142e:	c6 85 e8 fe ff ff 00 	movb   $0x0,-0x118(%ebp)
-    1435:	81 e1 00 08 00 00    	and    $0x800,%ecx
-    143b:	83 e0 80             	and    $0xffffff80,%eax
-    143e:	c6 85 f0 fe ff ff 00 	movb   $0x0,-0x110(%ebp)
-    1445:	88 85 d7 fe ff ff    	mov    %al,-0x129(%ebp)
-    144b:	89 8d d8 fe ff ff    	mov    %ecx,-0x128(%ebp)
-    1451:	89 b5 14 ff ff ff    	mov    %esi,-0xec(%ebp)
-    1457:	90                   	nop
-    1458:	8b 85 48 ff ff ff    	mov    -0xb8(%ebp),%eax
-    145e:	83 e8 01             	sub    $0x1,%eax
-    1461:	89 85 44 ff ff ff    	mov    %eax,-0xbc(%ebp)
-    1467:	8d 43 d0             	lea    -0x30(%ebx),%eax
-    146a:	83 f8 09             	cmp    $0x9,%eax
-    146d:	0f 87 15 15 00 00    	ja     0x2988
-    1473:	3b 95 44 ff ff ff    	cmp    -0xbc(%ebp),%edx
-    1479:	0f 84 09 53 00 00    	je     0x6788
-    147f:	89 d1                	mov    %edx,%ecx
-    1481:	8b 95 38 ff ff ff    	mov    -0xc8(%ebp),%edx
-    1487:	89 1c 16             	mov    %ebx,(%esi,%edx,1)
-    148a:	85 ff                	test   %edi,%edi
-    148c:	0f 84 4b 21 00 00    	je     0x35dd
-    1492:	83 fb ff             	cmp    $0xffffffff,%ebx
-    1495:	0f 84 05 21 00 00    	je     0x35a0
-    149b:	8b 9d 34 ff ff ff    	mov    -0xcc(%ebp),%ebx
-    14a1:	8b 53 5c             	mov    0x5c(%ebx),%edx
-    14a4:	85 d2                	test   %edx,%edx
-    14a6:	0f 84 ad 41 00 00    	je     0x5659
-    14ac:	8b 02                	mov    (%edx),%eax
-    14ae:	3b 42 04             	cmp    0x4(%edx),%eax
-    14b1:	0f 83 a2 41 00 00    	jae    0x5659
-    14b7:	8b 18                	mov    (%eax),%ebx
-    14b9:	83 c0 04             	add    $0x4,%eax
-    14bc:	89 02                	mov    %eax,(%edx)
-    14be:	83 fb ff             	cmp    $0xffffffff,%ebx
-    14c1:	0f 84 3d 15 00 00    	je     0x2a04
-    14c7:	31 c0                	xor    %eax,%eax
-    14c9:	85 ff                	test   %edi,%edi
-    14cb:	0f 9f c0             	setg   %al
-    14ce:	89 ca                	mov    %ecx,%edx
-    14d0:	29 c7                	sub    %eax,%edi
-    14d2:	83 85 30 ff ff ff 01 	addl   $0x1,-0xd0(%ebp)
-    14d9:	83 85 48 ff ff ff 01 	addl   $0x1,-0xb8(%ebp)
-    14e0:	83 85 38 ff ff ff 04 	addl   $0x4,-0xc8(%ebp)
-    14e7:	83 85 3c ff ff ff 04 	addl   $0x4,-0xc4(%ebp)
-    14ee:	89 b5 14 ff ff ff    	mov    %esi,-0xec(%ebp)
-    14f4:	e9 5f ff ff ff       	jmp    0x1458
-    14f9:	83 fb ff             	cmp    $0xffffffff,%ebx
-    14fc:	0f 84 29 1c 00 00    	je     0x312b
-    1502:	8b b5 34 ff ff ff    	mov    -0xcc(%ebp),%esi
-    1508:	8b 46 5c             	mov    0x5c(%esi),%eax
-    150b:	85 c0                	test   %eax,%eax
-    150d:	0f 84 78 57 00 00    	je     0x6c8b
-    1513:	8b 10                	mov    (%eax),%edx
-    1515:	3b 50 04             	cmp    0x4(%eax),%edx
-    1518:	0f 83 6d 57 00 00    	jae    0x6c8b
-    151e:	8b 1a                	mov    (%edx),%ebx
-    1520:	83 c2 04             	add    $0x4,%edx
-    1523:	89 10                	mov    %edx,(%eax)
-    1525:	83 fb ff             	cmp    $0xffffffff,%ebx
-    1528:	0f 84 0b 1c 00 00    	je     0x3139
-    152e:	83 fb 25             	cmp    $0x25,%ebx
-    1531:	0f 85 7d 3c 00 00    	jne    0x51b4
-    1537:	8b 85 30 ff ff ff    	mov    -0xd0(%ebp),%eax
-    153d:	8b 95 28 ff ff ff    	mov    -0xd8(%ebp),%edx
-    1543:	8b bd 40 ff ff ff    	mov    -0xc0(%ebp),%edi
-    1549:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
-    154f:	83 c0 01             	add    $0x1,%eax
-    1552:	89 85 38 ff ff ff    	mov    %eax,-0xc8(%ebp)
-    1558:	89 95 48 ff ff ff    	mov    %edx,-0xb8(%ebp)
-    155e:	c7 85 3c ff ff ff 00 	movl   $0x0,-0xc4(%ebp)
-    1565:	00 00 00 
-    1568:	e9 f5 eb ff ff       	jmp    0x162
-    156d:	f6 85 2c ff ff ff 01 	testb  $0x1,-0xd4(%ebp)
-    1574:	0f 85 16 f5 ff ff    	jne    0xa90
-    157a:	8b b5 2c ff ff ff    	mov    -0xd4(%ebp),%esi
-    1580:	83 e6 08             	and    $0x8,%esi
-    1583:	0f 85 b2 00 00 00    	jne    0x163b
-    1589:	f7 85 2c ff ff ff 00 	testl  $0x2100,-0xd4(%ebp)
-    1590:	21 00 00 
-    1593:	0f 84 bc 20 00 00    	je     0x3655
-    1599:	83 bd 20 ff ff ff 00 	cmpl   $0x0,-0xe0(%ebp)
-    15a0:	0f 85 fe 25 00 00    	jne    0x3ba4
-    15a6:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
-    15ac:	8b 8d 08 ff ff ff    	mov    -0xf8(%ebp),%ecx
-    15b2:	8b 12                	mov    (%edx),%edx
-    15b4:	83 c1 04             	add    $0x4,%ecx
-    15b7:	89 8d 08 ff ff ff    	mov    %ecx,-0xf8(%ebp)
-    15bd:	89 95 10 ff ff ff    	mov    %edx,-0xf0(%ebp)
-    15c3:	83 bd 10 ff ff ff 00 	cmpl   $0x0,-0xf0(%ebp)
-    15ca:	0f 84 43 32 00 00    	je     0x4813
-    15d0:	c7 04 24 64 00 00 00 	movl   $0x64,(%esp)
-    15d7:	e8 fc ff ff ff       	call   0x15d8
-    15dc:	8b 95 10 ff ff ff    	mov    -0xf0(%ebp),%edx
-    15e2:	85 c0                	test   %eax,%eax
-    15e4:	89 85 fc fe ff ff    	mov    %eax,-0x104(%ebp)
-    15ea:	89 02                	mov    %eax,(%edx)
-    15ec:	0f 84 0f 2e 00 00    	je     0x4401
-    15f2:	83 bd ec fe ff ff 00 	cmpl   $0x0,-0x114(%ebp)
-    15f9:	0f 84 f3 25 00 00    	je     0x3bf2
-    15ff:	8b 8d ec fe ff ff    	mov    -0x114(%ebp),%ecx
-    1605:	8b 01                	mov    (%ecx),%eax
-    1607:	83 f8 20             	cmp    $0x20,%eax
-    160a:	0f 84 e2 25 00 00    	je     0x3bf2
-    1610:	8d 50 01             	lea    0x1(%eax),%edx
-    1613:	89 95 48 ff ff ff    	mov    %edx,-0xb8(%ebp)
-    1619:	8b 95 ec fe ff ff    	mov    -0x114(%ebp),%edx
-    161f:	8b 8d 10 ff ff ff    	mov    -0xf0(%ebp),%ecx
-    1625:	c7 85 00 ff ff ff 64 	movl   $0x64,-0x100(%ebp)
-    162c:	00 00 00 
-    162f:	89 4c 82 08          	mov    %ecx,0x8(%edx,%eax,4)
-    1633:	8b 85 48 ff ff ff    	mov    -0xb8(%ebp),%eax
-    1639:	89 02                	mov    %eax,(%edx)
-    163b:	83 fb ff             	cmp    $0xffffffff,%ebx
-    163e:	0f 84 3c 11 00 00    	je     0x2780
-    1644:	8b 8d 34 ff ff ff    	mov    -0xcc(%ebp),%ecx
-    164a:	8b 41 5c             	mov    0x5c(%ecx),%eax
-    164d:	85 c0                	test   %eax,%eax
-    164f:	0f 84 ae 43 00 00    	je     0x5a03
-    1655:	8b 10                	mov    (%eax),%edx
-    1657:	3b 50 04             	cmp    0x4(%eax),%edx
-    165a:	0f 83 a3 43 00 00    	jae    0x5a03
-    1660:	8b 1a                	mov    (%edx),%ebx
-    1662:	83 c2 04             	add    $0x4,%edx
-    1665:	89 10                	mov    %edx,(%eax)
-    1667:	83 fb ff             	cmp    $0xffffffff,%ebx
-    166a:	0f 84 1e 11 00 00    	je     0x278e
-    1670:	8b 85 30 ff ff ff    	mov    -0xd0(%ebp),%eax
-    1676:	8b 95 2c ff ff ff    	mov    -0xd4(%ebp),%edx
-    167c:	89 b5 48 ff ff ff    	mov    %esi,-0xb8(%ebp)
-    1682:	89 fe                	mov    %edi,%esi
-    1684:	8b bd fc fe ff ff    	mov    -0x104(%ebp),%edi
-    168a:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
-    1691:	83 c0 01             	add    $0x1,%eax
-    1694:	81 e2 00 21 00 00    	and    $0x2100,%edx
-    169a:	89 85 38 ff ff ff    	mov    %eax,-0xc8(%ebp)
-    16a0:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
-    16a7:	89 95 3c ff ff ff    	mov    %edx,-0xc4(%ebp)
-    16ad:	89 1c 24             	mov    %ebx,(%esp)
-    16b0:	e8 fc ff ff ff       	call   0x16b1
-    16b5:	85 c0                	test   %eax,%eax
-    16b7:	0f 85 57 27 00 00    	jne    0x3e14
-    16bd:	8b 95 48 ff ff ff    	mov    -0xb8(%ebp),%edx
-    16c3:	31 c0                	xor    %eax,%eax
-    16c5:	85 d2                	test   %edx,%edx
-    16c7:	75 40                	jne    0x1709
-    16c9:	8b 8d 3c ff ff ff    	mov    -0xc4(%ebp),%ecx
-    16cf:	85 c9                	test   %ecx,%ecx
-    16d1:	74 32                	je     0x1705
-    16d3:	8b 85 10 ff ff ff    	mov    -0xf0(%ebp),%eax
-    16d9:	8b 15 00 00 00 00    	mov    0x0,%edx
-    16df:	8b 00                	mov    (%eax),%eax
-    16e1:	89 85 14 ff ff ff    	mov    %eax,-0xec(%ebp)
-    16e7:	65 8b 02             	mov    %gs:(%edx),%eax
-    16ea:	8b 00                	mov    (%eax),%eax
-    16ec:	8b 48 5c             	mov    0x5c(%eax),%ecx
-    16ef:	8b 85 00 ff ff ff    	mov    -0x100(%ebp),%eax
-    16f5:	03 85 14 ff ff ff    	add    -0xec(%ebp),%eax
-    16fb:	01 f9                	add    %edi,%ecx
-    16fd:	39 c1                	cmp    %eax,%ecx
-    16ff:	0f 83 75 0f 00 00    	jae    0x267a
-    1705:	89 f8                	mov    %edi,%eax
-    1707:	89 c7                	mov    %eax,%edi
-    1709:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
-    170c:	89 4c 24 08          	mov    %ecx,0x8(%esp)
-    1710:	89 5c 24 04          	mov    %ebx,0x4(%esp)
-    1714:	89 04 24             	mov    %eax,(%esp)
-    1717:	e8 fc ff ff ff       	call   0x1718
-    171c:	83 f8 ff             	cmp    $0xffffffff,%eax
-    171f:	0f 84 a3 39 00 00    	je     0x50c8
-    1725:	8b 15 00 00 00 00    	mov    0x0,%edx
-    172b:	65 8b 12             	mov    %gs:(%edx),%edx
-    172e:	8b 12                	mov    (%edx),%edx
-    1730:	3b 42 5c             	cmp    0x5c(%edx),%eax
-    1733:	0f 87 6b 39 00 00    	ja     0x50a4
-    1739:	01 c7                	add    %eax,%edi
-    173b:	85 f6                	test   %esi,%esi
-    173d:	7e 09                	jle    0x1748
-    173f:	83 ee 01             	sub    $0x1,%esi
-    1742:	0f 84 f6 26 00 00    	je     0x3e3e
-    1748:	83 fb ff             	cmp    $0xffffffff,%ebx
-    174b:	0f 84 54 23 00 00    	je     0x3aa5
-    1751:	8b 95 34 ff ff ff    	mov    -0xcc(%ebp),%edx
-    1757:	8b 42 5c             	mov    0x5c(%edx),%eax
-    175a:	85 c0                	test   %eax,%eax
-    175c:	0f 84 0d 31 00 00    	je     0x486f
-    1762:	8b 10                	mov    (%eax),%edx
-    1764:	3b 50 04             	cmp    0x4(%eax),%edx
-    1767:	0f 83 02 31 00 00    	jae    0x486f
-    176d:	8b 1a                	mov    (%edx),%ebx
-    176f:	83 c2 04             	add    $0x4,%edx
-    1772:	89 10                	mov    %edx,(%eax)
-    1774:	83 fb ff             	cmp    $0xffffffff,%ebx
-    1777:	0f 84 cd 16 00 00    	je     0x2e4a
-    177d:	83 85 38 ff ff ff 01 	addl   $0x1,-0xc8(%ebp)
-    1784:	e9 24 ff ff ff       	jmp    0x16ad
-    1789:	f6 85 2c ff ff ff 08 	testb  $0x8,-0xd4(%ebp)
-    1790:	0f 85 1c 09 00 00    	jne    0x20b2
-    1796:	f6 85 2c ff ff ff 02 	testb  $0x2,-0xd4(%ebp)
-    179d:	0f 84 6f 0e 00 00    	je     0x2612
-    17a3:	8b 8d 20 ff ff ff    	mov    -0xe0(%ebp),%ecx
-    17a9:	85 c9                	test   %ecx,%ecx
-    17ab:	0f 85 52 22 00 00    	jne    0x3a03
-    17b1:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
-    17b7:	8b 02                	mov    (%edx),%eax
-    17b9:	83 c2 04             	add    $0x4,%edx
-    17bc:	89 95 08 ff ff ff    	mov    %edx,-0xf8(%ebp)
-    17c2:	8b 95 30 ff ff ff    	mov    -0xd0(%ebp),%edx
-    17c8:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
-    17cf:	89 10                	mov    %edx,(%eax)
-    17d1:	8b 8d 28 ff ff ff    	mov    -0xd8(%ebp),%ecx
-    17d7:	89 95 38 ff ff ff    	mov    %edx,-0xc8(%ebp)
-    17dd:	8b bd 40 ff ff ff    	mov    -0xc0(%ebp),%edi
-    17e3:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
-    17e9:	c7 85 3c ff ff ff 00 	movl   $0x0,-0xc4(%ebp)
-    17f0:	00 00 00 
-    17f3:	89 8d 48 ff ff ff    	mov    %ecx,-0xb8(%ebp)
-    17f9:	e9 64 e9 ff ff       	jmp    0x162
-    17fe:	83 8d 2c ff ff ff 40 	orl    $0x40,-0xd4(%ebp)
-    1805:	c7 85 3c ff ff ff 00 	movl   $0x0,-0xc4(%ebp)
-    180c:	00 00 00 
-    180f:	e9 e4 ee ff ff       	jmp    0x6f8
-    1814:	f6 85 2c ff ff ff 01 	testb  $0x1,-0xd4(%ebp)
-    181b:	0f 85 67 f4 ff ff    	jne    0xc88
-    1821:	8b b5 2c ff ff ff    	mov    -0xd4(%ebp),%esi
-    1827:	83 ff ff             	cmp    $0xffffffff,%edi
-    182a:	b8 01 00 00 00       	mov    $0x1,%eax
-    182f:	0f 44 f8             	cmove  %eax,%edi
-    1832:	83 e6 08             	and    $0x8,%esi
-    1835:	0f 85 b2 00 00 00    	jne    0x18ed
-    183b:	f7 85 2c ff ff ff 00 	testl  $0x2100,-0xd4(%ebp)
-    1842:	21 00 00 
-    1845:	0f 84 df 1e 00 00    	je     0x372a
-    184b:	83 bd 20 ff ff ff 00 	cmpl   $0x0,-0xe0(%ebp)
-    1852:	0f 85 41 25 00 00    	jne    0x3d99
-    1858:	8b 85 08 ff ff ff    	mov    -0xf8(%ebp),%eax
-    185e:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
-    1864:	8b 00                	mov    (%eax),%eax
-    1866:	83 c2 04             	add    $0x4,%edx
-    1869:	89 95 08 ff ff ff    	mov    %edx,-0xf8(%ebp)
-    186f:	89 85 10 ff ff ff    	mov    %eax,-0xf0(%ebp)
-    1875:	83 bd 10 ff ff ff 00 	cmpl   $0x0,-0xf0(%ebp)
-    187c:	0f 84 8b 3d 00 00    	je     0x560d
-    1882:	c7 04 24 64 00 00 00 	movl   $0x64,(%esp)
-    1889:	e8 fc ff ff ff       	call   0x188a
-    188e:	8b 95 10 ff ff ff    	mov    -0xf0(%ebp),%edx
-    1894:	85 c0                	test   %eax,%eax
-    1896:	89 85 fc fe ff ff    	mov    %eax,-0x104(%ebp)
-    189c:	89 02                	mov    %eax,(%edx)
-    189e:	0f 84 9e 28 00 00    	je     0x4142
-    18a4:	83 bd ec fe ff ff 00 	cmpl   $0x0,-0x114(%ebp)
-    18ab:	0f 84 0f 25 00 00    	je     0x3dc0
-    18b1:	8b 8d ec fe ff ff    	mov    -0x114(%ebp),%ecx
-    18b7:	8b 01                	mov    (%ecx),%eax
-    18b9:	83 f8 20             	cmp    $0x20,%eax
-    18bc:	0f 84 fe 24 00 00    	je     0x3dc0
-    18c2:	8d 50 01             	lea    0x1(%eax),%edx
-    18c5:	89 95 48 ff ff ff    	mov    %edx,-0xb8(%ebp)
-    18cb:	8b 95 ec fe ff ff    	mov    -0x114(%ebp),%edx
-    18d1:	8b 8d 10 ff ff ff    	mov    -0xf0(%ebp),%ecx
-    18d7:	c7 85 00 ff ff ff 64 	movl   $0x64,-0x100(%ebp)
-    18de:	00 00 00 
-    18e1:	89 4c 82 08          	mov    %ecx,0x8(%edx,%eax,4)
-    18e5:	8b 85 48 ff ff ff    	mov    -0xb8(%ebp),%eax
-    18eb:	89 02                	mov    %eax,(%edx)
-    18ed:	83 fb ff             	cmp    $0xffffffff,%ebx
-    18f0:	0f 84 bb 0e 00 00    	je     0x27b1
-    18f6:	8b 8d 34 ff ff ff    	mov    -0xcc(%ebp),%ecx
-    18fc:	8b 41 5c             	mov    0x5c(%ecx),%eax
-    18ff:	85 c0                	test   %eax,%eax
-    1901:	0f 84 0c 4f 00 00    	je     0x6813
-    1907:	8b 10                	mov    (%eax),%edx
-    1909:	3b 50 04             	cmp    0x4(%eax),%edx
-    190c:	0f 83 01 4f 00 00    	jae    0x6813
-    1912:	8b 1a                	mov    (%edx),%ebx
-    1914:	83 c2 04             	add    $0x4,%edx
-    1917:	89 10                	mov    %edx,(%eax)
-    1919:	83 fb ff             	cmp    $0xffffffff,%ebx
-    191c:	0f 84 9d 0e 00 00    	je     0x27bf
-    1922:	8b 95 2c ff ff ff    	mov    -0xd4(%ebp),%edx
-    1928:	8b 85 30 ff ff ff    	mov    -0xd0(%ebp),%eax
-    192e:	89 b5 48 ff ff ff    	mov    %esi,-0xb8(%ebp)
-    1934:	89 fe                	mov    %edi,%esi
-    1936:	8b bd fc fe ff ff    	mov    -0x104(%ebp),%edi
-    193c:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
-    1943:	81 e2 08 20 00 00    	and    $0x2008,%edx
-    1949:	83 c0 01             	add    $0x1,%eax
-    194c:	89 95 3c ff ff ff    	mov    %edx,-0xc4(%ebp)
-    1952:	81 bd 3c ff ff ff 00 	cmpl   $0x2000,-0xc4(%ebp)
-    1959:	20 00 00 
-    195c:	89 85 38 ff ff ff    	mov    %eax,-0xc8(%ebp)
-    1962:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
-    1969:	0f 84 86 00 00 00    	je     0x19f5
-    196f:	90                   	nop
-    1970:	8b 95 48 ff ff ff    	mov    -0xb8(%ebp),%edx
-    1976:	b8 00 00 00 00       	mov    $0x0,%eax
-    197b:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
-    197e:	89 4c 24 08          	mov    %ecx,0x8(%esp)
-    1982:	89 5c 24 04          	mov    %ebx,0x4(%esp)
-    1986:	85 d2                	test   %edx,%edx
-    1988:	0f 44 c7             	cmove  %edi,%eax
-    198b:	89 04 24             	mov    %eax,(%esp)
-    198e:	e8 fc ff ff ff       	call   0x198f
-    1993:	83 f8 ff             	cmp    $0xffffffff,%eax
-    1996:	0f 84 b4 34 00 00    	je     0x4e50
-    199c:	83 ee 01             	sub    $0x1,%esi
-    199f:	01 c7                	add    %eax,%edi
-    19a1:	85 f6                	test   %esi,%esi
-    19a3:	0f 8e a9 1f 00 00    	jle    0x3952
-    19a9:	83 fb ff             	cmp    $0xffffffff,%ebx
-    19ac:	0f 84 81 1f 00 00    	je     0x3933
-    19b2:	8b 95 34 ff ff ff    	mov    -0xcc(%ebp),%edx
-    19b8:	8b 42 5c             	mov    0x5c(%edx),%eax
-    19bb:	85 c0                	test   %eax,%eax
-    19bd:	0f 84 60 3c 00 00    	je     0x5623
-    19c3:	8b 10                	mov    (%eax),%edx
-    19c5:	3b 50 04             	cmp    0x4(%eax),%edx
-    19c8:	0f 83 55 3c 00 00    	jae    0x5623
-    19ce:	8b 1a                	mov    (%edx),%ebx
-    19d0:	83 c2 04             	add    $0x4,%edx
-    19d3:	89 10                	mov    %edx,(%eax)
-    19d5:	83 fb ff             	cmp    $0xffffffff,%ebx
-    19d8:	0f 84 25 13 00 00    	je     0x2d03
-    19de:	83 85 38 ff ff ff 01 	addl   $0x1,-0xc8(%ebp)
-    19e5:	81 bd 3c ff ff ff 00 	cmpl   $0x2000,-0xc4(%ebp)
-    19ec:	20 00 00 
-    19ef:	0f 85 7b ff ff ff    	jne    0x1970
-    19f5:	8b 15 00 00 00 00    	mov    0x0,%edx
-    19fb:	8b 8d 10 ff ff ff    	mov    -0xf0(%ebp),%ecx
-    1a01:	65 8b 02             	mov    %gs:(%edx),%eax
-    1a04:	8b 09                	mov    (%ecx),%ecx
-    1a06:	8b 00                	mov    (%eax),%eax
-    1a08:	89 8d 14 ff ff ff    	mov    %ecx,-0xec(%ebp)
-    1a0e:	8b 48 5c             	mov    0x5c(%eax),%ecx
-    1a11:	8b 85 00 ff ff ff    	mov    -0x100(%ebp),%eax
-    1a17:	03 85 14 ff ff ff    	add    -0xec(%ebp),%eax
-    1a1d:	01 f9                	add    %edi,%ecx
-    1a1f:	39 c1                	cmp    %eax,%ecx
-    1a21:	0f 82 49 ff ff ff    	jb     0x1970
-    1a27:	2b bd 14 ff ff ff    	sub    -0xec(%ebp),%edi
-    1a2d:	d1 a5 00 ff ff ff    	shll   -0x100(%ebp)
-    1a33:	8b 8d 00 ff ff ff    	mov    -0x100(%ebp),%ecx
-    1a39:	89 bd 30 ff ff ff    	mov    %edi,-0xd0(%ebp)
-    1a3f:	8b bd 14 ff ff ff    	mov    -0xec(%ebp),%edi
-    1a45:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
-    1a4b:	89 4c 24 04          	mov    %ecx,0x4(%esp)
-    1a4f:	89 3c 24             	mov    %edi,(%esp)
-    1a52:	e8 fc ff ff ff       	call   0x1a53
-    1a57:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
-    1a5d:	85 c0                	test   %eax,%eax
-    1a5f:	0f 84 ab 27 00 00    	je     0x4210
-    1a65:	8b bd 10 ff ff ff    	mov    -0xf0(%ebp),%edi
-    1a6b:	8b 95 30 ff ff ff    	mov    -0xd0(%ebp),%edx
-    1a71:	89 07                	mov    %eax,(%edi)
-    1a73:	8d 3c 10             	lea    (%eax,%edx,1),%edi
-    1a76:	e9 f5 fe ff ff       	jmp    0x1970
-    1a7b:	c7 85 3c ff ff ff 08 	movl   $0x8,-0xc4(%ebp)
-    1a82:	00 00 00 
-    1a85:	e9 6e ec ff ff       	jmp    0x6f8
-    1a8a:	8b 85 3c ff ff ff    	mov    -0xc4(%ebp),%eax
-    1a90:	85 c0                	test   %eax,%eax
-    1a92:	74 0d                	je     0x1aa1
-    1a94:	83 bd 3c ff ff ff 10 	cmpl   $0x10,-0xc4(%ebp)
-    1a9b:	0f 85 be ed ff ff    	jne    0x85f
-    1aa1:	31 c0                	xor    %eax,%eax
-    1aa3:	85 ff                	test   %edi,%edi
-    1aa5:	0f 9f c0             	setg   %al
-    1aa8:	29 c7                	sub    %eax,%edi
-    1aaa:	83 fb ff             	cmp    $0xffffffff,%ebx
-    1aad:	0f 84 b6 22 00 00    	je     0x3d69
-    1ab3:	8b 9d 34 ff ff ff    	mov    -0xcc(%ebp),%ebx
-    1ab9:	8b 43 5c             	mov    0x5c(%ebx),%eax
-    1abc:	85 c0                	test   %eax,%eax
-    1abe:	0f 84 ae 36 00 00    	je     0x5172
-    1ac4:	8b 10                	mov    (%eax),%edx
-    1ac6:	3b 50 04             	cmp    0x4(%eax),%edx
-    1ac9:	0f 83 a3 36 00 00    	jae    0x5172
-    1acf:	8b 1a                	mov    (%edx),%ebx
-    1ad1:	83 c2 04             	add    $0x4,%edx
-    1ad4:	89 10                	mov    %edx,(%eax)
-    1ad6:	83 fb ff             	cmp    $0xffffffff,%ebx
-    1ad9:	0f 84 46 26 00 00    	je     0x4125
-    1adf:	83 85 38 ff ff ff 01 	addl   $0x1,-0xc8(%ebp)
-    1ae6:	c7 85 3c ff ff ff 10 	movl   $0x10,-0xc4(%ebp)
-    1aed:	00 00 00 
-    1af0:	e9 6a ed ff ff       	jmp    0x85f
-    1af5:	a1 00 00 00 00       	mov    0x0,%eax
-    1afa:	8b 95 1c ff ff ff    	mov    -0xe4(%ebp),%edx
-    1b00:	65 89 10             	mov    %edx,%gs:(%eax)
-    1b03:	8b 95 24 ff ff ff    	mov    -0xdc(%ebp),%edx
-    1b09:	85 d2                	test   %edx,%edx
-    1b0b:	0f 84 75 e7 ff ff    	je     0x286
-    1b11:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
-    1b17:	bf 01 00 00 00       	mov    $0x1,%edi
-    1b1c:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
-    1b22:	e9 79 e7 ff ff       	jmp    0x2a0
-    1b27:	90                   	nop
-    1b28:	a1 00 00 00 00       	mov    0x0,%eax
-    1b2d:	8b 95 1c ff ff ff    	mov    -0xe4(%ebp),%edx
-    1b33:	65 89 10             	mov    %edx,%gs:(%eax)
-    1b36:	8b 8d 24 ff ff ff    	mov    -0xdc(%ebp),%ecx
-    1b3c:	85 c9                	test   %ecx,%ecx
-    1b3e:	0f 84 42 e7 ff ff    	je     0x286
-    1b44:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
-    1b4a:	bf 01 00 00 00       	mov    $0x1,%edi
-    1b4f:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
-    1b55:	e9 46 e7 ff ff       	jmp    0x2a0
-    1b5a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
-    1b60:	39 f1                	cmp    %esi,%ecx
-    1b62:	8d 56 ff             	lea    -0x1(%esi),%edx
-    1b65:	0f 4e d1             	cmovle %ecx,%edx
-    1b68:	01 ca                	add    %ecx,%edx
-    1b6a:	8d 3c 95 00 00 00 00 	lea    0x0(,%edx,4),%edi
-    1b71:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
-    1b77:	89 8d cc fe ff ff    	mov    %ecx,-0x134(%ebp)
-    1b7d:	89 7c 24 04          	mov    %edi,0x4(%esp)
-    1b81:	89 04 24             	mov    %eax,(%esp)
-    1b84:	e8 fc ff ff ff       	call   0x1b85
-    1b89:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
-    1b8f:	8b 8d cc fe ff ff    	mov    -0x134(%ebp),%ecx
-    1b95:	85 c0                	test   %eax,%eax
-    1b97:	0f 84 9b 0d 00 00    	je     0x2938
-    1b9d:	8b bd 10 ff ff ff    	mov    -0xf0(%ebp),%edi
-    1ba3:	8b 8d 3c ff ff ff    	mov    -0xc4(%ebp),%ecx
-    1ba9:	89 07                	mov    %eax,(%edi)
-    1bab:	8d 3c 08             	lea    (%eax,%ecx,1),%edi
-    1bae:	e9 48 f2 ff ff       	jmp    0xdfb
-    1bb3:	f6 85 2c ff ff ff 08 	testb  $0x8,-0xd4(%ebp)
-    1bba:	0f 85 b3 00 00 00    	jne    0x1c73
-    1bc0:	f7 85 2c ff ff ff 00 	testl  $0x2100,-0xd4(%ebp)
-    1bc7:	21 00 00 
-    1bca:	0f 84 d2 1a 00 00    	je     0x36a2
-    1bd0:	83 bd 20 ff ff ff 00 	cmpl   $0x0,-0xe0(%ebp)
-    1bd7:	0f 85 79 1f 00 00    	jne    0x3b56
-    1bdd:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
-    1be3:	8b 8d 08 ff ff ff    	mov    -0xf8(%ebp),%ecx
-    1be9:	8b 12                	mov    (%edx),%edx
-    1beb:	83 c1 04             	add    $0x4,%ecx
-    1bee:	89 8d 08 ff ff ff    	mov    %ecx,-0xf8(%ebp)
-    1bf4:	89 95 10 ff ff ff    	mov    %edx,-0xf0(%ebp)
-    1bfa:	83 bd 10 ff ff ff 00 	cmpl   $0x0,-0xf0(%ebp)
-    1c01:	0f 84 7d 2c 00 00    	je     0x4884
-    1c07:	c7 04 24 64 00 00 00 	movl   $0x64,(%esp)
-    1c0e:	e8 fc ff ff ff       	call   0x1c0f
-    1c13:	8b 95 10 ff ff ff    	mov    -0xf0(%ebp),%edx
-    1c19:	85 c0                	test   %eax,%eax
-    1c1b:	89 85 fc fe ff ff    	mov    %eax,-0x104(%ebp)
-    1c21:	89 02                	mov    %eax,(%edx)
-    1c23:	0f 84 6f 27 00 00    	je     0x4398
-    1c29:	8b 8d ec fe ff ff    	mov    -0x114(%ebp),%ecx
-    1c2f:	85 c9                	test   %ecx,%ecx
-    1c31:	0f 84 5e 1c 00 00    	je     0x3895
-    1c37:	8b 8d ec fe ff ff    	mov    -0x114(%ebp),%ecx
-    1c3d:	8b 01                	mov    (%ecx),%eax
-    1c3f:	83 f8 20             	cmp    $0x20,%eax
-    1c42:	0f 84 4d 1c 00 00    	je     0x3895
-    1c48:	8d 50 01             	lea    0x1(%eax),%edx
-    1c4b:	89 95 48 ff ff ff    	mov    %edx,-0xb8(%ebp)
-    1c51:	8b 95 ec fe ff ff    	mov    -0x114(%ebp),%edx
-    1c57:	8b 8d 10 ff ff ff    	mov    -0xf0(%ebp),%ecx
-    1c5d:	c7 85 00 ff ff ff 64 	movl   $0x64,-0x100(%ebp)
-    1c64:	00 00 00 
-    1c67:	89 4c 82 08          	mov    %ecx,0x8(%edx,%eax,4)
-    1c6b:	8b 85 48 ff ff ff    	mov    -0xb8(%ebp),%eax
-    1c71:	89 02                	mov    %eax,(%edx)
-    1c73:	8b 8d 28 ff ff ff    	mov    -0xd8(%ebp),%ecx
-    1c79:	31 d2                	xor    %edx,%edx
-    1c7b:	83 39 5e             	cmpl   $0x5e,(%ecx)
-    1c7e:	0f 84 1b 16 00 00    	je     0x329f
-    1c84:	8b 8d 14 ff ff ff    	mov    -0xec(%ebp),%ecx
-    1c8a:	85 ff                	test   %edi,%edi
-    1c8c:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
-    1c91:	0f 48 f8             	cmovs  %eax,%edi
-    1c94:	8b 01                	mov    (%ecx),%eax
-    1c96:	89 4d ec             	mov    %ecx,-0x14(%ebp)
-    1c99:	83 f8 5d             	cmp    $0x5d,%eax
-    1c9c:	0f 84 e7 15 00 00    	je     0x3289
-    1ca2:	89 b5 38 ff ff ff    	mov    %esi,-0xc8(%ebp)
-    1ca8:	8b 8d 14 ff ff ff    	mov    -0xec(%ebp),%ecx
-    1cae:	eb 05                	jmp    0x1cb5
-    1cb0:	8b 41 04             	mov    0x4(%ecx),%eax
-    1cb3:	89 f1                	mov    %esi,%ecx
-    1cb5:	85 c0                	test   %eax,%eax
-    1cb7:	0f 84 7f 16 00 00    	je     0x333c
-    1cbd:	83 f8 5d             	cmp    $0x5d,%eax
-    1cc0:	8d 71 04             	lea    0x4(%ecx),%esi
-    1cc3:	75 eb                	jne    0x1cb0
-    1cc5:	89 b5 48 ff ff ff    	mov    %esi,-0xb8(%ebp)
-    1ccb:	8b b5 38 ff ff ff    	mov    -0xc8(%ebp),%esi
-    1cd1:	89 8d 14 ff ff ff    	mov    %ecx,-0xec(%ebp)
-    1cd7:	85 f6                	test   %esi,%esi
-    1cd9:	0f 84 bd 04 00 00    	je     0x219c
-    1cdf:	83 fb ff             	cmp    $0xffffffff,%ebx
-    1ce2:	0f 84 1f 0c 00 00    	je     0x2907
-    1ce8:	8b b5 34 ff ff ff    	mov    -0xcc(%ebp),%esi
-    1cee:	8b 46 5c             	mov    0x5c(%esi),%eax
-    1cf1:	85 c0                	test   %eax,%eax
-    1cf3:	0f 84 c2 2b 00 00    	je     0x48bb
-    1cf9:	8b 08                	mov    (%eax),%ecx
-    1cfb:	3b 48 04             	cmp    0x4(%eax),%ecx
-    1cfe:	0f 83 b7 2b 00 00    	jae    0x48bb
-    1d04:	8b 31                	mov    (%ecx),%esi
-    1d06:	83 c1 04             	add    $0x4,%ecx
-    1d09:	89 08                	mov    %ecx,(%eax)
-    1d0b:	83 fe ff             	cmp    $0xffffffff,%esi
-    1d0e:	0f 84 01 0c 00 00    	je     0x2915
-    1d14:	8b 8d 30 ff ff ff    	mov    -0xd0(%ebp),%ecx
-    1d1a:	8b 9d 2c ff ff ff    	mov    -0xd4(%ebp),%ebx
-    1d20:	8b 85 2c ff ff ff    	mov    -0xd4(%ebp),%eax
-    1d26:	89 bd 28 ff ff ff    	mov    %edi,-0xd8(%ebp)
-    1d2c:	8b bd 14 ff ff ff    	mov    -0xec(%ebp),%edi
-    1d32:	83 c1 01             	add    $0x1,%ecx
-    1d35:	85 d2                	test   %edx,%edx
-    1d37:	0f 94 85 20 ff ff ff 	sete   -0xe0(%ebp)
-    1d3e:	83 e3 08             	and    $0x8,%ebx
-    1d41:	25 00 21 00 00       	and    $0x2100,%eax
-    1d46:	89 8d 38 ff ff ff    	mov    %ecx,-0xc8(%ebp)
-    1d4c:	88 95 e8 fe ff ff    	mov    %dl,-0x118(%ebp)
-    1d52:	89 9d f0 fe ff ff    	mov    %ebx,-0x110(%ebp)
-    1d58:	89 85 e0 fe ff ff    	mov    %eax,-0x120(%ebp)
-    1d5e:	8b 55 ec             	mov    -0x14(%ebp),%edx
-    1d61:	39 fa                	cmp    %edi,%edx
-    1d63:	89 95 3c ff ff ff    	mov    %edx,-0xc4(%ebp)
-    1d69:	0f 83 2a 10 00 00    	jae    0x2d99
-    1d6f:	89 d0                	mov    %edx,%eax
-    1d71:	eb 18                	jmp    0x1d8b
-    1d73:	90                   	nop
-    1d74:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    1d78:	39 f3                	cmp    %esi,%ebx
-    1d7a:	0f 84 73 12 00 00    	je     0x2ff3
-    1d80:	83 c0 04             	add    $0x4,%eax
-    1d83:	39 f8                	cmp    %edi,%eax
-    1d85:	0f 83 08 10 00 00    	jae    0x2d93
-    1d8b:	8b 18                	mov    (%eax),%ebx
-    1d8d:	83 fb 2d             	cmp    $0x2d,%ebx
-    1d90:	75 e6                	jne    0x1d78
-    1d92:	8b 50 04             	mov    0x4(%eax),%edx
-    1d95:	8d 48 04             	lea    0x4(%eax),%ecx
-    1d98:	85 d2                	test   %edx,%edx
-    1d9a:	74 dc                	je     0x1d78
-    1d9c:	39 f9                	cmp    %edi,%ecx
-    1d9e:	74 d8                	je     0x1d78
-    1da0:	3b 85 3c ff ff ff    	cmp    -0xc4(%ebp),%eax
-    1da6:	74 d0                	je     0x1d78
-    1da8:	8b 48 fc             	mov    -0x4(%eax),%ecx
-    1dab:	39 d1                	cmp    %edx,%ecx
-    1dad:	77 c9                	ja     0x1d78
-    1daf:	90                   	nop
-    1db0:	eb 0a                	jmp    0x1dbc
-    1db2:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
-    1db8:	39 f1                	cmp    %esi,%ecx
-    1dba:	74 07                	je     0x1dc3
-    1dbc:	83 c1 01             	add    $0x1,%ecx
-    1dbf:	39 ca                	cmp    %ecx,%edx
-    1dc1:	7d f5                	jge    0x1db8
-    1dc3:	39 d1                	cmp    %edx,%ecx
-    1dc5:	0f 8e 19 25 00 00    	jle    0x42e4
-    1dcb:	83 c0 08             	add    $0x8,%eax
-    1dce:	66 90                	xchg   %ax,%ax
-    1dd0:	eb b1                	jmp    0x1d83
-    1dd2:	a1 00 00 00 00       	mov    0x0,%eax
-    1dd7:	89 b5 f8 fe ff ff    	mov    %esi,-0x108(%ebp)
-    1ddd:	8b b5 48 ff ff ff    	mov    -0xb8(%ebp),%esi
-    1de3:	65 8b 00             	mov    %gs:(%eax),%eax
-    1de6:	89 85 1c ff ff ff    	mov    %eax,-0xe4(%ebp)
-    1dec:	85 f6                	test   %esi,%esi
-    1dee:	0f 85 ce 00 00 00    	jne    0x1ec2
-    1df4:	8b b5 f8 fe ff ff    	mov    -0x108(%ebp),%esi
-    1dfa:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
-    1e00:	83 c6 04             	add    $0x4,%esi
-    1e03:	f7 85 2c ff ff ff 00 	testl  $0x2100,-0xd4(%ebp)
-    1e0a:	21 00 00 
-    1e0d:	89 b5 f8 fe ff ff    	mov    %esi,-0x108(%ebp)
-    1e13:	74 2c                	je     0x1e41
-    1e15:	8b bd 10 ff ff ff    	mov    -0xf0(%ebp),%edi
-    1e1b:	89 f0                	mov    %esi,%eax
-    1e1d:	8b 17                	mov    (%edi),%edx
-    1e1f:	29 d0                	sub    %edx,%eax
-    1e21:	c1 f8 02             	sar    $0x2,%eax
-    1e24:	3b 85 00 ff ff ff    	cmp    -0x100(%ebp),%eax
-    1e2a:	74 15                	je     0x1e41
-    1e2c:	c1 e0 02             	shl    $0x2,%eax
-    1e2f:	89 44 24 04          	mov    %eax,0x4(%esp)
-    1e33:	89 14 24             	mov    %edx,(%esp)
-    1e36:	e8 fc ff ff ff       	call   0x1e37
-    1e3b:	85 c0                	test   %eax,%eax
-    1e3d:	74 02                	je     0x1e41
-    1e3f:	89 07                	mov    %eax,(%edi)
-    1e41:	8b 85 28 ff ff ff    	mov    -0xd8(%ebp),%eax
-    1e47:	83 85 24 ff ff ff 01 	addl   $0x1,-0xdc(%ebp)
-    1e4e:	8b bd 40 ff ff ff    	mov    -0xc0(%ebp),%edi
-    1e54:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
-    1e5a:	89 85 48 ff ff ff    	mov    %eax,-0xb8(%ebp)
-    1e60:	c7 85 10 ff ff ff 00 	movl   $0x0,-0xf0(%ebp)
-    1e67:	00 00 00 
-    1e6a:	c7 85 3c ff ff ff 00 	movl   $0x0,-0xc4(%ebp)
-    1e71:	00 00 00 
-    1e74:	e9 e9 e2 ff ff       	jmp    0x162
-    1e79:	83 ef 01             	sub    $0x1,%edi
-    1e7c:	85 ff                	test   %edi,%edi
-    1e7e:	7e 42                	jle    0x1ec2
-    1e80:	8b b5 38 ff ff ff    	mov    -0xc8(%ebp),%esi
-    1e86:	8b 95 34 ff ff ff    	mov    -0xcc(%ebp),%edx
-    1e8c:	8b 4a 5c             	mov    0x5c(%edx),%ecx
-    1e8f:	85 c9                	test   %ecx,%ecx
-    1e91:	0f 84 5b 37 00 00    	je     0x55f2
-    1e97:	8b 01                	mov    (%ecx),%eax
-    1e99:	3b 41 04             	cmp    0x4(%ecx),%eax
-    1e9c:	0f 83 50 37 00 00    	jae    0x55f2
-    1ea2:	8b 18                	mov    (%eax),%ebx
-    1ea4:	83 c0 04             	add    $0x4,%eax
-    1ea7:	89 01                	mov    %eax,(%ecx)
-    1ea9:	83 fb ff             	cmp    $0xffffffff,%ebx
-    1eac:	0f 84 0e 01 00 00    	je     0x1fc0
-    1eb2:	83 ef 01             	sub    $0x1,%edi
-    1eb5:	83 c6 01             	add    $0x1,%esi
-    1eb8:	85 ff                	test   %edi,%edi
-    1eba:	7f d0                	jg     0x1e8c
-    1ebc:	89 b5 38 ff ff ff    	mov    %esi,-0xc8(%ebp)
-    1ec2:	8b 85 28 ff ff ff    	mov    -0xd8(%ebp),%eax
-    1ec8:	89 85 48 ff ff ff    	mov    %eax,-0xb8(%ebp)
-    1ece:	e9 8a e3 ff ff       	jmp    0x25d
-    1ed3:	a1 00 00 00 00       	mov    0x0,%eax
-    1ed8:	89 d6                	mov    %edx,%esi
-    1eda:	89 bd f8 fe ff ff    	mov    %edi,-0x108(%ebp)
-    1ee0:	65 8b 00             	mov    %gs:(%eax),%eax
-    1ee3:	89 85 1c ff ff ff    	mov    %eax,-0xe4(%ebp)
-    1ee9:	83 bd 48 ff ff ff 00 	cmpl   $0x0,-0xb8(%ebp)
-    1ef0:	74 2c                	je     0x1f1e
-    1ef2:	8b bd 10 ff ff ff    	mov    -0xf0(%ebp),%edi
-    1ef8:	8b 85 f8 fe ff ff    	mov    -0x108(%ebp),%eax
-    1efe:	8b 17                	mov    (%edi),%edx
-    1f00:	29 d0                	sub    %edx,%eax
-    1f02:	c1 f8 02             	sar    $0x2,%eax
-    1f05:	39 f0                	cmp    %esi,%eax
-    1f07:	74 15                	je     0x1f1e
-    1f09:	c1 e0 02             	shl    $0x2,%eax
-    1f0c:	89 44 24 04          	mov    %eax,0x4(%esp)
-    1f10:	89 14 24             	mov    %edx,(%esp)
-    1f13:	e8 fc ff ff ff       	call   0x1f14
-    1f18:	85 c0                	test   %eax,%eax
-    1f1a:	74 02                	je     0x1f1e
-    1f1c:	89 07                	mov    %eax,(%edi)
-    1f1e:	8b 85 28 ff ff ff    	mov    -0xd8(%ebp),%eax
-    1f24:	89 b5 00 ff ff ff    	mov    %esi,-0x100(%ebp)
-    1f2a:	8b bd 40 ff ff ff    	mov    -0xc0(%ebp),%edi
-    1f30:	83 85 24 ff ff ff 01 	addl   $0x1,-0xdc(%ebp)
-    1f37:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
-    1f3d:	89 85 48 ff ff ff    	mov    %eax,-0xb8(%ebp)
-    1f43:	c7 85 10 ff ff ff 00 	movl   $0x0,-0xf0(%ebp)
-    1f4a:	00 00 00 
-    1f4d:	c7 85 3c ff ff ff 00 	movl   $0x0,-0xc4(%ebp)
-    1f54:	00 00 00 
-    1f57:	e9 06 e2 ff ff       	jmp    0x162
-    1f5c:	8b b5 3c ff ff ff    	mov    -0xc4(%ebp),%esi
-    1f62:	85 f6                	test   %esi,%esi
-    1f64:	0f 85 7b 01 00 00    	jne    0x20e5
-    1f6a:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
-    1f70:	31 ff                	xor    %edi,%edi
-    1f72:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
-    1f78:	e9 23 e3 ff ff       	jmp    0x2a0
-    1f7d:	bf ff ff ff ff       	mov    $0xffffffff,%edi
-    1f82:	e9 56 e4 ff ff       	jmp    0x3dd
-    1f87:	8b 95 44 ff ff ff    	mov    -0xbc(%ebp),%edx
-    1f8d:	8b 02                	mov    (%edx),%eax
-    1f8f:	83 f8 2d             	cmp    $0x2d,%eax
-    1f92:	0f 85 0e 04 00 00    	jne    0x23a6
-    1f98:	89 de                	mov    %ebx,%esi
-    1f9a:	89 f3                	mov    %esi,%ebx
-    1f9c:	83 fb ff             	cmp    $0xffffffff,%ebx
-    1f9f:	0f 85 c8 1c 00 00    	jne    0x3c6d
-    1fa5:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
-    1fab:	bf 02 00 00 00       	mov    $0x2,%edi
-    1fb0:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
-    1fb6:	e9 e5 e2 ff ff       	jmp    0x2a0
-    1fbb:	90                   	nop
-    1fbc:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    1fc0:	a1 00 00 00 00       	mov    0x0,%eax
-    1fc5:	89 b5 38 ff ff ff    	mov    %esi,-0xc8(%ebp)
-    1fcb:	65 8b 00             	mov    %gs:(%eax),%eax
-    1fce:	89 85 1c ff ff ff    	mov    %eax,-0xe4(%ebp)
-    1fd4:	8b 85 28 ff ff ff    	mov    -0xd8(%ebp),%eax
-    1fda:	89 85 48 ff ff ff    	mov    %eax,-0xb8(%ebp)
-    1fe0:	e9 78 e2 ff ff       	jmp    0x25d
-    1fe5:	f7 85 2c ff ff ff 00 	testl  $0x200,-0xd4(%ebp)
-    1fec:	02 00 00 
-    1fef:	0f 85 bf 03 00 00    	jne    0x23b4
-    1ff5:	8b 95 20 ff ff ff    	mov    -0xe0(%ebp),%edx
-    1ffb:	85 d2                	test   %edx,%edx
-    1ffd:	0f 85 5c 07 00 00    	jne    0x275f
-    2003:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
-    2009:	8b 02                	mov    (%edx),%eax
-    200b:	83 c2 04             	add    $0x4,%edx
-    200e:	89 95 08 ff ff ff    	mov    %edx,-0xf8(%ebp)
-    2014:	8b 55 dc             	mov    -0x24(%ebp),%edx
-    2017:	89 10                	mov    %edx,(%eax)
-    2019:	e9 40 f1 ff ff       	jmp    0x115e
-    201e:	8b 85 34 ff ff ff    	mov    -0xcc(%ebp),%eax
-    2024:	89 04 24             	mov    %eax,(%esp)
-    2027:	e8 fc ff ff ff       	call   0x2028
-    202c:	e9 80 e0 ff ff       	jmp    0xb1
-    2031:	8b bd 34 ff ff ff    	mov    -0xcc(%ebp),%edi
-    2037:	8d 45 cc             	lea    -0x34(%ebp),%eax
-    203a:	89 04 24             	mov    %eax,(%esp)
-    203d:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
-    2044:	00 
-    2045:	89 7c 24 08          	mov    %edi,0x8(%esp)
-    2049:	e8 fc ff ff ff       	call   0x204a
-    204e:	8b 07                	mov    (%edi),%eax
-    2050:	e9 53 e0 ff ff       	jmp    0xa8
-    2055:	a1 00 00 00 00       	mov    0x0,%eax
-    205a:	65 8b 00             	mov    %gs:(%eax),%eax
-    205d:	89 85 1c ff ff ff    	mov    %eax,-0xe4(%ebp)
-    2063:	e9 bc e7 ff ff       	jmp    0x824
-    2068:	a1 00 00 00 00       	mov    0x0,%eax
-    206d:	89 b5 44 ff ff ff    	mov    %esi,-0xbc(%ebp)
-    2073:	c7 85 48 ff ff ff 01 	movl   $0x1,-0xb8(%ebp)
-    207a:	00 00 00 
-    207d:	65 8b 00             	mov    %gs:(%eax),%eax
-    2080:	89 85 1c ff ff ff    	mov    %eax,-0xe4(%ebp)
-    2086:	e9 7d e9 ff ff       	jmp    0xa08
-    208b:	83 bd 20 ff ff ff 00 	cmpl   $0x0,-0xe0(%ebp)
-    2092:	0f 85 e5 20 00 00    	jne    0x417d
-    2098:	8b b5 08 ff ff ff    	mov    -0xf8(%ebp),%esi
-    209e:	8b 06                	mov    (%esi),%eax
-    20a0:	83 c6 04             	add    $0x4,%esi
-    20a3:	89 b5 08 ff ff ff    	mov    %esi,-0xf8(%ebp)
-    20a9:	0f b6 8d 30 ff ff ff 	movzbl -0xd0(%ebp),%ecx
-    20b0:	88 08                	mov    %cl,(%eax)
-    20b2:	8b b5 30 ff ff ff    	mov    -0xd0(%ebp),%esi
-    20b8:	8b bd 28 ff ff ff    	mov    -0xd8(%ebp),%edi
-    20be:	c7 85 3c ff ff ff 00 	movl   $0x0,-0xc4(%ebp)
-    20c5:	00 00 00 
-    20c8:	89 b5 38 ff ff ff    	mov    %esi,-0xc8(%ebp)
-    20ce:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
-    20d4:	89 bd 48 ff ff ff    	mov    %edi,-0xb8(%ebp)
-    20da:	8b bd 40 ff ff ff    	mov    -0xc0(%ebp),%edi
-    20e0:	e9 7d e0 ff ff       	jmp    0x162
-    20e5:	8b bd 1c ff ff ff    	mov    -0xe4(%ebp),%edi
-    20eb:	8b b5 34 ff ff ff    	mov    -0xcc(%ebp),%esi
-    20f1:	eb 33                	jmp    0x2126
-    20f3:	90                   	nop
-    20f4:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    20f8:	8b 46 5c             	mov    0x5c(%esi),%eax
-    20fb:	85 c0                	test   %eax,%eax
-    20fd:	0f 84 bf 45 00 00    	je     0x66c2
-    2103:	8b 10                	mov    (%eax),%edx
-    2105:	3b 50 04             	cmp    0x4(%eax),%edx
-    2108:	0f 83 b4 45 00 00    	jae    0x66c2
-    210e:	8b 1a                	mov    (%edx),%ebx
-    2110:	83 c2 04             	add    $0x4,%edx
-    2113:	89 10                	mov    %edx,(%eax)
-    2115:	83 fb ff             	cmp    $0xffffffff,%ebx
-    2118:	74 1b                	je     0x2135
-    211a:	89 1c 24             	mov    %ebx,(%esp)
-    211d:	e8 fc ff ff ff       	call   0x211e
-    2122:	85 c0                	test   %eax,%eax
-    2124:	74 19                	je     0x213f
-    2126:	83 fb ff             	cmp    $0xffffffff,%ebx
-    2129:	75 cd                	jne    0x20f8
-    212b:	a1 00 00 00 00       	mov    0x0,%eax
-    2130:	65 89 38             	mov    %edi,%gs:(%eax)
-    2133:	eb e5                	jmp    0x211a
-    2135:	a1 00 00 00 00       	mov    0x0,%eax
-    213a:	65 8b 38             	mov    %gs:(%eax),%edi
-    213d:	eb db                	jmp    0x211a
-    213f:	83 fb ff             	cmp    $0xffffffff,%ebx
-    2142:	0f 84 b7 04 00 00    	je     0x25ff
-    2148:	89 5c 24 04          	mov    %ebx,0x4(%esp)
-    214c:	8b 9d 34 ff ff ff    	mov    -0xcc(%ebp),%ebx
-    2152:	31 ff                	xor    %edi,%edi
-    2154:	89 1c 24             	mov    %ebx,(%esp)
-    2157:	e8 fc ff ff ff       	call   0x2158
-    215c:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
-    2162:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
-    2168:	e9 33 e1 ff ff       	jmp    0x2a0
-    216d:	8b 8d 28 ff ff ff    	mov    -0xd8(%ebp),%ecx
-    2173:	83 c0 04             	add    $0x4,%eax
-    2176:	83 8d 2c ff ff ff 03 	orl    $0x3,-0xd4(%ebp)
-    217d:	8b 51 04             	mov    0x4(%ecx),%edx
-    2180:	e9 7b e2 ff ff       	jmp    0x400
-    2185:	89 f0                	mov    %esi,%eax
-    2187:	8b 56 04             	mov    0x4(%esi),%edx
-    218a:	83 c0 04             	add    $0x4,%eax
-    218d:	81 8d 2c ff ff ff 00 	orl    $0x200,-0xd4(%ebp)
-    2194:	02 00 00 
-    2197:	e9 64 e2 ff ff       	jmp    0x400
-    219c:	83 fb ff             	cmp    $0xffffffff,%ebx
-    219f:	0f 84 31 07 00 00    	je     0x28d6
-    21a5:	8b 8d 34 ff ff ff    	mov    -0xcc(%ebp),%ecx
-    21ab:	8b 41 5c             	mov    0x5c(%ecx),%eax
-    21ae:	85 c0                	test   %eax,%eax
-    21b0:	0f 84 e4 26 00 00    	je     0x489a
-    21b6:	8b 08                	mov    (%eax),%ecx
-    21b8:	3b 48 04             	cmp    0x4(%eax),%ecx
-    21bb:	0f 83 d9 26 00 00    	jae    0x489a
-    21c1:	8b 31                	mov    (%ecx),%esi
-    21c3:	83 c1 04             	add    $0x4,%ecx
-    21c6:	89 08                	mov    %ecx,(%eax)
-    21c8:	83 fe ff             	cmp    $0xffffffff,%esi
-    21cb:	0f 84 13 07 00 00    	je     0x28e4
-    21d1:	8b 85 30 ff ff ff    	mov    -0xd0(%ebp),%eax
-    21d7:	88 95 e8 fe ff ff    	mov    %dl,-0x118(%ebp)
-    21dd:	8b 8d 2c ff ff ff    	mov    -0xd4(%ebp),%ecx
-    21e3:	89 bd 28 ff ff ff    	mov    %edi,-0xd8(%ebp)
-    21e9:	8b bd 14 ff ff ff    	mov    -0xec(%ebp),%edi
-    21ef:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
-    21f6:	83 c0 01             	add    $0x1,%eax
-    21f9:	85 d2                	test   %edx,%edx
-    21fb:	8b 95 2c ff ff ff    	mov    -0xd4(%ebp),%edx
-    2201:	0f 94 85 20 ff ff ff 	sete   -0xe0(%ebp)
-    2208:	81 e1 00 21 00 00    	and    $0x2100,%ecx
-    220e:	89 85 38 ff ff ff    	mov    %eax,-0xc8(%ebp)
-    2214:	83 e2 08             	and    $0x8,%edx
-    2217:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
-    221e:	89 95 f0 fe ff ff    	mov    %edx,-0x110(%ebp)
-    2224:	89 8d e0 fe ff ff    	mov    %ecx,-0x120(%ebp)
-    222a:	8b 5d ec             	mov    -0x14(%ebp),%ebx
-    222d:	39 fb                	cmp    %edi,%ebx
-    222f:	89 9d 3c ff ff ff    	mov    %ebx,-0xc4(%ebp)
-    2235:	73 61                	jae    0x2298
-    2237:	89 d8                	mov    %ebx,%eax
-    2239:	eb 17                	jmp    0x2252
-    223b:	90                   	nop
-    223c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    2240:	39 f3                	cmp    %esi,%ebx
-    2242:	0f 84 38 02 00 00    	je     0x2480
-    2248:	83 c0 04             	add    $0x4,%eax
-    224b:	39 f8                	cmp    %edi,%eax
-    224d:	8d 76 00             	lea    0x0(%esi),%esi
-    2250:	73 40                	jae    0x2292
-    2252:	8b 18                	mov    (%eax),%ebx
-    2254:	83 fb 2d             	cmp    $0x2d,%ebx
-    2257:	75 e7                	jne    0x2240
-    2259:	8b 50 04             	mov    0x4(%eax),%edx
-    225c:	8d 48 04             	lea    0x4(%eax),%ecx
-    225f:	85 d2                	test   %edx,%edx
-    2261:	74 dd                	je     0x2240
-    2263:	39 f9                	cmp    %edi,%ecx
-    2265:	74 d9                	je     0x2240
-    2267:	3b 85 3c ff ff ff    	cmp    -0xc4(%ebp),%eax
-    226d:	74 d1                	je     0x2240
-    226f:	8b 48 fc             	mov    -0x4(%eax),%ecx
-    2272:	39 d1                	cmp    %edx,%ecx
-    2274:	77 ca                	ja     0x2240
-    2276:	eb 04                	jmp    0x227c
-    2278:	39 f1                	cmp    %esi,%ecx
-    227a:	74 07                	je     0x2283
-    227c:	83 c1 01             	add    $0x1,%ecx
-    227f:	39 ca                	cmp    %ecx,%edx
-    2281:	7d f5                	jge    0x2278
-    2283:	39 d1                	cmp    %edx,%ecx
-    2285:	0f 8e 33 21 00 00    	jle    0x43be
-    228b:	83 c0 08             	add    $0x8,%eax
-    228e:	66 90                	xchg   %ax,%ax
-    2290:	eb b9                	jmp    0x224b
-    2292:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
-    2298:	39 bd 3c ff ff ff    	cmp    %edi,-0xc4(%ebp)
-    229e:	0f 84 ee 1e 00 00    	je     0x4192
-    22a4:	8b 8d f0 fe ff ff    	mov    -0x110(%ebp),%ecx
-    22aa:	31 c0                	xor    %eax,%eax
-    22ac:	85 c9                	test   %ecx,%ecx
-    22ae:	75 14                	jne    0x22c4
-    22b0:	8b 95 e0 fe ff ff    	mov    -0x120(%ebp),%edx
-    22b6:	85 d2                	test   %edx,%edx
-    22b8:	0f 85 03 04 00 00    	jne    0x26c1
-    22be:	8b 85 fc fe ff ff    	mov    -0x104(%ebp),%eax
-    22c4:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
-    22c7:	89 4c 24 08          	mov    %ecx,0x8(%esp)
-    22cb:	89 74 24 04          	mov    %esi,0x4(%esp)
-    22cf:	89 04 24             	mov    %eax,(%esp)
-    22d2:	e8 fc ff ff ff       	call   0x22d3
-    22d7:	83 f8 ff             	cmp    $0xffffffff,%eax
-    22da:	0f 84 6d 25 00 00    	je     0x484d
-    22e0:	8b 15 00 00 00 00    	mov    0x0,%edx
-    22e6:	65 8b 12             	mov    %gs:(%edx),%edx
-    22e9:	8b 12                	mov    (%edx),%edx
-    22eb:	3b 42 5c             	cmp    0x5c(%edx),%eax
-    22ee:	0f 87 35 25 00 00    	ja     0x4829
-    22f4:	83 ad 28 ff ff ff 01 	subl   $0x1,-0xd8(%ebp)
-    22fb:	01 85 fc fe ff ff    	add    %eax,-0x104(%ebp)
-    2301:	8b 85 28 ff ff ff    	mov    -0xd8(%ebp),%eax
-    2307:	85 c0                	test   %eax,%eax
-    2309:	0f 8e 4b 20 00 00    	jle    0x435a
-    230f:	83 fe ff             	cmp    $0xffffffff,%esi
-    2312:	0f 84 2c 20 00 00    	je     0x4344
-    2318:	8b b5 34 ff ff ff    	mov    -0xcc(%ebp),%esi
-    231e:	8b 56 5c             	mov    0x5c(%esi),%edx
-    2321:	85 d2                	test   %edx,%edx
-    2323:	0f 84 4d 49 00 00    	je     0x6c76
-    2329:	8b 0a                	mov    (%edx),%ecx
-    232b:	3b 4a 04             	cmp    0x4(%edx),%ecx
-    232e:	0f 83 42 49 00 00    	jae    0x6c76
-    2334:	8b 19                	mov    (%ecx),%ebx
-    2336:	83 c1 04             	add    $0x4,%ecx
-    2339:	89 0a                	mov    %ecx,(%edx)
-    233b:	83 fb ff             	cmp    $0xffffffff,%ebx
-    233e:	0f 84 63 10 00 00    	je     0x33a7
-    2344:	83 85 38 ff ff ff 01 	addl   $0x1,-0xc8(%ebp)
-    234b:	89 de                	mov    %ebx,%esi
-    234d:	e9 d8 fe ff ff       	jmp    0x222a
-    2352:	a1 00 00 00 00       	mov    0x0,%eax
-    2357:	bb ff ff ff ff       	mov    $0xffffffff,%ebx
-    235c:	8b 95 1c ff ff ff    	mov    -0xe4(%ebp),%edx
-    2362:	65 89 10             	mov    %edx,%gs:(%eax)
-    2365:	e9 e2 ec ff ff       	jmp    0x104c
-    236a:	8b b5 1c ff ff ff    	mov    -0xe4(%ebp),%esi
-    2370:	a1 00 00 00 00       	mov    0x0,%eax
-    2375:	65 89 30             	mov    %esi,%gs:(%eax)
-    2378:	be ff ff ff ff       	mov    $0xffffffff,%esi
-    237d:	e9 7b ec ff ff       	jmp    0xffd
-    2382:	8b b5 1c ff ff ff    	mov    -0xe4(%ebp),%esi
-    2388:	bf 02 00 00 00       	mov    $0x2,%edi
-    238d:	a1 00 00 00 00       	mov    0x0,%eax
-    2392:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
-    2398:	65 89 30             	mov    %esi,%gs:(%eax)
-    239b:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
-    23a1:	e9 fa de ff ff       	jmp    0x2a0
-    23a6:	83 f8 2b             	cmp    $0x2b,%eax
-    23a9:	0f 84 e9 fb ff ff    	je     0x1f98
-    23af:	e9 3b e5 ff ff       	jmp    0x8ef
-    23b4:	8b 85 20 ff ff ff    	mov    -0xe0(%ebp),%eax
-    23ba:	85 c0                	test   %eax,%eax
-    23bc:	0f 85 7c 03 00 00    	jne    0x273e
-    23c2:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
-    23c8:	8b 02                	mov    (%edx),%eax
-    23ca:	83 c2 04             	add    $0x4,%edx
-    23cd:	89 95 08 ff ff ff    	mov    %edx,-0xf8(%ebp)
-    23d3:	8b 55 dc             	mov    -0x24(%ebp),%edx
-    23d6:	88 10                	mov    %dl,(%eax)
-    23d8:	e9 81 ed ff ff       	jmp    0x115e
-    23dd:	8b 85 20 ff ff ff    	mov    -0xe0(%ebp),%eax
-    23e3:	85 c0                	test   %eax,%eax
-    23e5:	0f 85 1e 04 00 00    	jne    0x2809
-    23eb:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
-    23f1:	8b 8d 08 ff ff ff    	mov    -0xf8(%ebp),%ecx
-    23f7:	8b 12                	mov    (%edx),%edx
-    23f9:	83 c1 04             	add    $0x4,%ecx
-    23fc:	89 8d 08 ff ff ff    	mov    %ecx,-0xf8(%ebp)
-    2402:	89 95 f8 fe ff ff    	mov    %edx,-0x108(%ebp)
-    2408:	8b 8d f8 fe ff ff    	mov    -0x108(%ebp),%ecx
-    240e:	85 c9                	test   %ecx,%ecx
-    2410:	0f 85 4a e9 ff ff    	jne    0xd60
-    2416:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
-    241c:	bf 02 00 00 00       	mov    $0x2,%edi
-    2421:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
-    2427:	e9 74 de ff ff       	jmp    0x2a0
-    242c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    2430:	8b 95 20 ff ff ff    	mov    -0xe0(%ebp),%edx
-    2436:	85 d2                	test   %edx,%edx
-    2438:	0f 85 a4 03 00 00    	jne    0x27e2
-    243e:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
-    2444:	8b 8d 08 ff ff ff    	mov    -0xf8(%ebp),%ecx
-    244a:	8b 12                	mov    (%edx),%edx
-    244c:	83 c1 04             	add    $0x4,%ecx
-    244f:	89 8d 08 ff ff ff    	mov    %ecx,-0xf8(%ebp)
-    2455:	89 95 f8 fe ff ff    	mov    %edx,-0x108(%ebp)
-    245b:	8b 85 f8 fe ff ff    	mov    -0x108(%ebp),%eax
-    2461:	85 c0                	test   %eax,%eax
-    2463:	0f 85 eb e6 ff ff    	jne    0xb54
-    2469:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
-    246f:	bf 02 00 00 00       	mov    $0x2,%edi
-    2474:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
-    247a:	e9 21 de ff ff       	jmp    0x2a0
-    247f:	90                   	nop
-    2480:	80 bd 20 ff ff ff 00 	cmpb   $0x0,-0xe0(%ebp)
-    2487:	0f 85 05 fe ff ff    	jne    0x2292
-    248d:	80 bd e8 fe ff ff 00 	cmpb   $0x0,-0x118(%ebp)
-    2494:	0f 84 ae fd ff ff    	je     0x2248
-    249a:	83 fb ff             	cmp    $0xffffffff,%ebx
-    249d:	74 19                	je     0x24b8
-    249f:	8b bd 34 ff ff ff    	mov    -0xcc(%ebp),%edi
-    24a5:	83 ad 38 ff ff ff 01 	subl   $0x1,-0xc8(%ebp)
-    24ac:	89 5c 24 04          	mov    %ebx,0x4(%esp)
-    24b0:	89 3c 24             	mov    %edi,(%esp)
-    24b3:	e8 fc ff ff ff       	call   0x24b4
-    24b8:	8b 95 38 ff ff ff    	mov    -0xc8(%ebp),%edx
-    24be:	39 95 30 ff ff ff    	cmp    %edx,-0xd0(%ebp)
-    24c4:	0f 84 8d 27 00 00    	je     0x4c57
-    24ca:	f6 85 2c ff ff ff 08 	testb  $0x8,-0xd4(%ebp)
-    24d1:	0f 85 86 dd ff ff    	jne    0x25d
-    24d7:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
-    24da:	8d 75 a4             	lea    -0x5c(%ebp),%esi
-    24dd:	89 34 24             	mov    %esi,(%esp)
-    24e0:	89 4c 24 08          	mov    %ecx,0x8(%esp)
-    24e4:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
-    24eb:	00 
-    24ec:	e8 fc ff ff ff       	call   0x24ed
-    24f1:	85 c0                	test   %eax,%eax
-    24f3:	89 c6                	mov    %eax,%esi
-    24f5:	0f 84 50 15 00 00    	je     0x3a4b
-    24fb:	f7 85 2c ff ff ff 00 	testl  $0x2100,-0xd4(%ebp)
-    2502:	21 00 00 
-    2505:	0f 84 de 13 00 00    	je     0x38e9
-    250b:	8b bd 10 ff ff ff    	mov    -0xf0(%ebp),%edi
-    2511:	8b 95 fc fe ff ff    	mov    -0x104(%ebp),%edx
-    2517:	8b 07                	mov    (%edi),%eax
-    2519:	8b bd 00 ff ff ff    	mov    -0x100(%ebp),%edi
-    251f:	01 f2                	add    %esi,%edx
-    2521:	8d 0c 38             	lea    (%eax,%edi,1),%ecx
-    2524:	39 ca                	cmp    %ecx,%edx
-    2526:	0f 83 9c 1c 00 00    	jae    0x41c8
-    252c:	8b 85 fc fe ff ff    	mov    -0x104(%ebp),%eax
-    2532:	8d 7d a4             	lea    -0x5c(%ebp),%edi
-    2535:	89 74 24 08          	mov    %esi,0x8(%esp)
-    2539:	89 7c 24 04          	mov    %edi,0x4(%esp)
-    253d:	89 04 24             	mov    %eax,(%esp)
-    2540:	e8 fc ff ff ff       	call   0x2541
-    2545:	c6 00 00             	movb   $0x0,(%eax)
-    2548:	83 c0 01             	add    $0x1,%eax
-    254b:	89 85 fc fe ff ff    	mov    %eax,-0x104(%ebp)
-    2551:	8b bd 10 ff ff ff    	mov    -0xf0(%ebp),%edi
-    2557:	8b 85 fc fe ff ff    	mov    -0x104(%ebp),%eax
-    255d:	8b 17                	mov    (%edi),%edx
-    255f:	29 d0                	sub    %edx,%eax
-    2561:	3b 85 00 ff ff ff    	cmp    -0x100(%ebp),%eax
-    2567:	74 1c                	je     0x2585
-    2569:	89 44 24 04          	mov    %eax,0x4(%esp)
-    256d:	89 14 24             	mov    %edx,(%esp)
-    2570:	e8 fc ff ff ff       	call   0x2571
-    2575:	85 c0                	test   %eax,%eax
-    2577:	0f 84 f0 14 00 00    	je     0x3a6d
-    257d:	89 07                	mov    %eax,(%edi)
-    257f:	8b 85 00 ff ff ff    	mov    -0x100(%ebp),%eax
-    2585:	83 85 24 ff ff ff 01 	addl   $0x1,-0xdc(%ebp)
-    258c:	8b bd 40 ff ff ff    	mov    -0xc0(%ebp),%edi
-    2592:	89 85 00 ff ff ff    	mov    %eax,-0x100(%ebp)
-    2598:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
-    259e:	c7 85 10 ff ff ff 00 	movl   $0x0,-0xf0(%ebp)
-    25a5:	00 00 00 
-    25a8:	c7 85 3c ff ff ff 00 	movl   $0x0,-0xc4(%ebp)
-    25af:	00 00 00 
-    25b2:	e9 ab db ff ff       	jmp    0x162
-    25b7:	a1 00 00 00 00       	mov    0x0,%eax
-    25bc:	bb ff ff ff ff       	mov    $0xffffffff,%ebx
-    25c1:	65 8b 00             	mov    %gs:(%eax),%eax
-    25c4:	89 85 1c ff ff ff    	mov    %eax,-0xe4(%ebp)
-    25ca:	e9 7d ea ff ff       	jmp    0x104c
-    25cf:	a1 00 00 00 00       	mov    0x0,%eax
-    25d4:	be ff ff ff ff       	mov    $0xffffffff,%esi
-    25d9:	65 8b 00             	mov    %gs:(%eax),%eax
-    25dc:	89 85 1c ff ff ff    	mov    %eax,-0xe4(%ebp)
-    25e2:	e9 16 ea ff ff       	jmp    0xffd
-    25e7:	a1 00 00 00 00       	mov    0x0,%eax
-    25ec:	bb ff ff ff ff       	mov    $0xffffffff,%ebx
-    25f1:	65 8b 00             	mov    %gs:(%eax),%eax
-    25f4:	89 85 1c ff ff ff    	mov    %eax,-0xe4(%ebp)
-    25fa:	e9 af e9 ff ff       	jmp    0xfae
-    25ff:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
-    2605:	31 ff                	xor    %edi,%edi
-    2607:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
-    260d:	e9 8e dc ff ff       	jmp    0x2a0
-    2612:	f6 85 2c ff ff ff 04 	testb  $0x4,-0xd4(%ebp)
-    2619:	0f 84 d0 10 00 00    	je     0x36ef
-    261f:	83 bd 20 ff ff ff 00 	cmpl   $0x0,-0xe0(%ebp)
-    2626:	0f 85 44 18 00 00    	jne    0x3e70
-    262c:	8b b5 08 ff ff ff    	mov    -0xf8(%ebp),%esi
-    2632:	8b 06                	mov    (%esi),%eax
-    2634:	83 c6 04             	add    $0x4,%esi
-    2637:	89 b5 08 ff ff ff    	mov    %esi,-0xf8(%ebp)
-    263d:	8b b5 28 ff ff ff    	mov    -0xd8(%ebp),%esi
-    2643:	0f b7 95 30 ff ff ff 	movzwl -0xd0(%ebp),%edx
-    264a:	8b 8d 30 ff ff ff    	mov    -0xd0(%ebp),%ecx
-    2650:	8b bd 40 ff ff ff    	mov    -0xc0(%ebp),%edi
-    2656:	89 b5 48 ff ff ff    	mov    %esi,-0xb8(%ebp)
-    265c:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
-    2662:	66 89 10             	mov    %dx,(%eax)
-    2665:	89 8d 38 ff ff ff    	mov    %ecx,-0xc8(%ebp)
-    266b:	c7 85 3c ff ff ff 00 	movl   $0x0,-0xc4(%ebp)
-    2672:	00 00 00 
-    2675:	e9 e8 da ff ff       	jmp    0x162
-    267a:	d1 a5 00 ff ff ff    	shll   -0x100(%ebp)
-    2680:	8b 8d 00 ff ff ff    	mov    -0x100(%ebp),%ecx
-    2686:	8b 85 14 ff ff ff    	mov    -0xec(%ebp),%eax
-    268c:	2b bd 14 ff ff ff    	sub    -0xec(%ebp),%edi
-    2692:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
-    2698:	89 4c 24 04          	mov    %ecx,0x4(%esp)
-    269c:	89 04 24             	mov    %eax,(%esp)
-    269f:	e8 fc ff ff ff       	call   0x26a0
-    26a4:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
-    26aa:	85 c0                	test   %eax,%eax
-    26ac:	0f 84 b2 1b 00 00    	je     0x4264
-    26b2:	8b 95 10 ff ff ff    	mov    -0xf0(%ebp),%edx
-    26b8:	89 02                	mov    %eax,(%edx)
-    26ba:	01 f8                	add    %edi,%eax
-    26bc:	e9 46 f0 ff ff       	jmp    0x1707
-    26c1:	8b 95 10 ff ff ff    	mov    -0xf0(%ebp),%edx
-    26c7:	8b 9d fc fe ff ff    	mov    -0x104(%ebp),%ebx
-    26cd:	8b 02                	mov    (%edx),%eax
-    26cf:	8b 15 00 00 00 00    	mov    0x0,%edx
-    26d5:	65 8b 0a             	mov    %gs:(%edx),%ecx
-    26d8:	8b 09                	mov    (%ecx),%ecx
-    26da:	03 59 5c             	add    0x5c(%ecx),%ebx
-    26dd:	8b 8d 00 ff ff ff    	mov    -0x100(%ebp),%ecx
-    26e3:	89 9d 3c ff ff ff    	mov    %ebx,-0xc4(%ebp)
-    26e9:	8d 1c 08             	lea    (%eax,%ecx,1),%ebx
-    26ec:	39 9d 3c ff ff ff    	cmp    %ebx,-0xc4(%ebp)
-    26f2:	0f 82 c6 fb ff ff    	jb     0x22be
-    26f8:	8b 9d fc fe ff ff    	mov    -0x104(%ebp),%ebx
-    26fe:	01 c9                	add    %ecx,%ecx
-    2700:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
-    2706:	89 8d 00 ff ff ff    	mov    %ecx,-0x100(%ebp)
-    270c:	89 4c 24 04          	mov    %ecx,0x4(%esp)
-    2710:	29 c3                	sub    %eax,%ebx
-    2712:	89 04 24             	mov    %eax,(%esp)
-    2715:	e8 fc ff ff ff       	call   0x2716
-    271a:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
-    2720:	85 c0                	test   %eax,%eax
-    2722:	0f 84 45 25 00 00    	je     0x4c6d
-    2728:	8b 95 10 ff ff ff    	mov    -0xf0(%ebp),%edx
-    272e:	8d 1c 18             	lea    (%eax,%ebx,1),%ebx
-    2731:	89 9d fc fe ff ff    	mov    %ebx,-0x104(%ebp)
-    2737:	89 02                	mov    %eax,(%edx)
-    2739:	e9 80 fb ff ff       	jmp    0x22be
-    273e:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
-    2744:	8b 8d 20 ff ff ff    	mov    -0xe0(%ebp),%ecx
-    274a:	83 bd 20 ff ff ff 01 	cmpl   $0x1,-0xe0(%ebp)
-    2751:	8d 4c 8a fc          	lea    -0x4(%edx,%ecx,4),%ecx
-    2755:	0f 45 d1             	cmovne %ecx,%edx
-    2758:	8b 02                	mov    (%edx),%eax
-    275a:	e9 74 fc ff ff       	jmp    0x23d3
-    275f:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
-    2765:	8b 8d 20 ff ff ff    	mov    -0xe0(%ebp),%ecx
-    276b:	83 bd 20 ff ff ff 01 	cmpl   $0x1,-0xe0(%ebp)
-    2772:	8d 4c 8a fc          	lea    -0x4(%edx,%ecx,4),%ecx
-    2776:	0f 45 d1             	cmovne %ecx,%edx
-    2779:	8b 02                	mov    (%edx),%eax
-    277b:	e9 94 f8 ff ff       	jmp    0x2014
-    2780:	a1 00 00 00 00       	mov    0x0,%eax
-    2785:	8b 95 1c ff ff ff    	mov    -0xe4(%ebp),%edx
-    278b:	65 89 10             	mov    %edx,%gs:(%eax)
-    278e:	83 bd 24 ff ff ff 00 	cmpl   $0x0,-0xdc(%ebp)
-    2795:	0f 84 eb da ff ff    	je     0x286
-    279b:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
-    27a1:	bf 01 00 00 00       	mov    $0x1,%edi
-    27a6:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
-    27ac:	e9 ef da ff ff       	jmp    0x2a0
-    27b1:	a1 00 00 00 00       	mov    0x0,%eax
-    27b6:	8b 95 1c ff ff ff    	mov    -0xe4(%ebp),%edx
-    27bc:	65 89 10             	mov    %edx,%gs:(%eax)
-    27bf:	83 bd 24 ff ff ff 00 	cmpl   $0x0,-0xdc(%ebp)
-    27c6:	0f 84 ba da ff ff    	je     0x286
-    27cc:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
-    27d2:	bf 01 00 00 00       	mov    $0x1,%edi
-    27d7:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
-    27dd:	e9 be da ff ff       	jmp    0x2a0
-    27e2:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
-    27e8:	8b 85 20 ff ff ff    	mov    -0xe0(%ebp),%eax
-    27ee:	83 bd 20 ff ff ff 01 	cmpl   $0x1,-0xe0(%ebp)
-    27f5:	8d 44 82 fc          	lea    -0x4(%edx,%eax,4),%eax
-    27f9:	0f 45 d0             	cmovne %eax,%edx
-    27fc:	8b 12                	mov    (%edx),%edx
-    27fe:	89 95 f8 fe ff ff    	mov    %edx,-0x108(%ebp)
-    2804:	e9 52 fc ff ff       	jmp    0x245b
-    2809:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
-    280f:	8b 85 20 ff ff ff    	mov    -0xe0(%ebp),%eax
-    2815:	83 bd 20 ff ff ff 01 	cmpl   $0x1,-0xe0(%ebp)
-    281c:	8d 44 82 fc          	lea    -0x4(%edx,%eax,4),%eax
-    2820:	0f 45 d0             	cmovne %eax,%edx
-    2823:	8b 12                	mov    (%edx),%edx
-    2825:	89 95 f8 fe ff ff    	mov    %edx,-0x108(%ebp)
-    282b:	e9 d8 fb ff ff       	jmp    0x2408
-    2830:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
-    2836:	8b 8d 20 ff ff ff    	mov    -0xe0(%ebp),%ecx
-    283c:	83 bd 20 ff ff ff 01 	cmpl   $0x1,-0xe0(%ebp)
-    2843:	8d 4c 8a fc          	lea    -0x4(%edx,%ecx,4),%ecx
-    2847:	0f 45 d1             	cmovne %ecx,%edx
-    284a:	8b 02                	mov    (%edx),%eax
-    284c:	e9 06 ea ff ff       	jmp    0x1257
-    2851:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
-    2857:	8b 85 20 ff ff ff    	mov    -0xe0(%ebp),%eax
-    285d:	83 bd 20 ff ff ff 01 	cmpl   $0x1,-0xe0(%ebp)
-    2864:	8d 44 82 fc          	lea    -0x4(%edx,%eax,4),%eax
-    2868:	0f 45 d0             	cmovne %eax,%edx
-    286b:	8b 02                	mov    (%edx),%eax
-    286d:	e9 e5 e9 ff ff       	jmp    0x1257
-    2872:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
-    2878:	8b 8d 20 ff ff ff    	mov    -0xe0(%ebp),%ecx
-    287e:	83 bd 20 ff ff ff 01 	cmpl   $0x1,-0xe0(%ebp)
-    2885:	8d 4c 8a fc          	lea    -0x4(%edx,%ecx,4),%ecx
-    2889:	0f 45 d1             	cmovne %ecx,%edx
-    288c:	8b 12                	mov    (%edx),%edx
-    288e:	89 95 10 ff ff ff    	mov    %edx,-0xf0(%ebp)
-    2894:	e9 41 e2 ff ff       	jmp    0xada
-    2899:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
-    289f:	bf 02 00 00 00       	mov    $0x2,%edi
-    28a4:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
-    28aa:	e9 f1 d9 ff ff       	jmp    0x2a0
-    28af:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
-    28b5:	8b 8d 20 ff ff ff    	mov    -0xe0(%ebp),%ecx
-    28bb:	83 bd 20 ff ff ff 01 	cmpl   $0x1,-0xe0(%ebp)
-    28c2:	8d 4c 8a fc          	lea    -0x4(%edx,%ecx,4),%ecx
-    28c6:	0f 45 d1             	cmovne %ecx,%edx
-    28c9:	8b 12                	mov    (%edx),%edx
-    28cb:	89 95 10 ff ff ff    	mov    %edx,-0xf0(%ebp)
-    28d1:	e9 07 e4 ff ff       	jmp    0xcdd
-    28d6:	a1 00 00 00 00       	mov    0x0,%eax
-    28db:	8b bd 1c ff ff ff    	mov    -0xe4(%ebp),%edi
-    28e1:	65 89 38             	mov    %edi,%gs:(%eax)
-    28e4:	83 bd 24 ff ff ff 00 	cmpl   $0x0,-0xdc(%ebp)
-    28eb:	0f 84 95 d9 ff ff    	je     0x286
-    28f1:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
-    28f7:	bf 01 00 00 00       	mov    $0x1,%edi
-    28fc:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
-    2902:	e9 99 d9 ff ff       	jmp    0x2a0
-    2907:	a1 00 00 00 00       	mov    0x0,%eax
-    290c:	8b 9d 1c ff ff ff    	mov    -0xe4(%ebp),%ebx
-    2912:	65 89 18             	mov    %ebx,%gs:(%eax)
-    2915:	83 bd 24 ff ff ff 00 	cmpl   $0x0,-0xdc(%ebp)
-    291c:	0f 84 64 d9 ff ff    	je     0x286
-    2922:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
-    2928:	bf 01 00 00 00       	mov    $0x1,%edi
-    292d:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
-    2933:	e9 68 d9 ff ff       	jmp    0x2a0
-    2938:	8d 51 01             	lea    0x1(%ecx),%edx
-    293b:	8b 8d 10 ff ff ff    	mov    -0xf0(%ebp),%ecx
-    2941:	8d 04 95 00 00 00 00 	lea    0x0(,%edx,4),%eax
-    2948:	89 44 24 04          	mov    %eax,0x4(%esp)
-    294c:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
-    2952:	8b 01                	mov    (%ecx),%eax
-    2954:	89 04 24             	mov    %eax,(%esp)
-    2957:	e8 fc ff ff ff       	call   0x2958
-    295c:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
-    2962:	85 c0                	test   %eax,%eax
-    2964:	0f 85 33 f2 ff ff    	jne    0x1b9d
-    296a:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
-    2970:	83 cb ff             	or     $0xffffffff,%ebx
-    2973:	31 ff                	xor    %edi,%edi
-    2975:	c7 85 24 ff ff ff ff 	movl   $0xffffffff,-0xdc(%ebp)
-    297c:	ff ff ff 
-    297f:	e9 1c d9 ff ff       	jmp    0x2a0
-    2984:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    2988:	80 bd e8 fe ff ff 00 	cmpb   $0x0,-0x118(%ebp)
-    298f:	0f 84 b3 01 00 00    	je     0x2b48
-    2995:	8b 8d 3c ff ff ff    	mov    -0xc4(%ebp),%ecx
-    299b:	8b 85 e0 fe ff ff    	mov    -0x120(%ebp),%eax
-    29a1:	39 04 0e             	cmp    %eax,(%esi,%ecx,1)
-    29a4:	0f 84 88 05 00 00    	je     0x2f32
-    29aa:	0f b6 85 f0 fe ff ff 	movzbl -0x110(%ebp),%eax
-    29b1:	83 f0 01             	xor    $0x1,%eax
-    29b4:	3b 9d dc fe ff ff    	cmp    -0x124(%ebp),%ebx
-    29ba:	0f 84 be 02 00 00    	je     0x2c7e
-    29c0:	84 c0                	test   %al,%al
-    29c2:	0f 84 ba 02 00 00    	je     0x2c82
-    29c8:	80 bd d7 fe ff ff 00 	cmpb   $0x0,-0x129(%ebp)
-    29cf:	0f 84 ad 02 00 00    	je     0x2c82
-    29d5:	3b 9d 18 ff ff ff    	cmp    -0xe8(%ebp),%ebx
-    29db:	0f 85 a1 02 00 00    	jne    0x2c82
-    29e1:	3b 95 44 ff ff ff    	cmp    -0xbc(%ebp),%edx
-    29e7:	0f 84 8d 2c 00 00    	je     0x567a
-    29ed:	89 d1                	mov    %edx,%ecx
-    29ef:	8b 95 38 ff ff ff    	mov    -0xc8(%ebp),%edx
-    29f5:	c6 85 f0 fe ff ff 00 	movb   $0x0,-0x110(%ebp)
-    29fc:	89 1c 16             	mov    %ebx,(%esi,%edx,1)
-    29ff:	e9 86 ea ff ff       	jmp    0x148a
-    2a04:	a1 00 00 00 00       	mov    0x0,%eax
-    2a09:	8b 95 48 ff ff ff    	mov    -0xb8(%ebp),%edx
-    2a0f:	89 9d 3c ff ff ff    	mov    %ebx,-0xc4(%ebp)
-    2a15:	8b 9d 30 ff ff ff    	mov    -0xd0(%ebp),%ebx
-    2a1b:	89 8d 40 ff ff ff    	mov    %ecx,-0xc0(%ebp)
-    2a21:	65 8b 00             	mov    %gs:(%eax),%eax
-    2a24:	89 95 44 ff ff ff    	mov    %edx,-0xbc(%ebp)
-    2a2a:	89 f2                	mov    %esi,%edx
-    2a2c:	89 9d 38 ff ff ff    	mov    %ebx,-0xc8(%ebp)
-    2a32:	89 85 1c ff ff ff    	mov    %eax,-0xe4(%ebp)
-    2a38:	f7 85 2c ff ff ff 00 	testl  $0x400,-0xd4(%ebp)
-    2a3f:	04 00 00 
-    2a42:	0f 85 38 28 00 00    	jne    0x5280
-    2a48:	89 d6                	mov    %edx,%esi
-    2a4a:	8b 9d 44 ff ff ff    	mov    -0xbc(%ebp),%ebx
-    2a50:	85 db                	test   %ebx,%ebx
-    2a52:	0f 84 1b 39 00 00    	je     0x6373
-    2a58:	83 bd 44 ff ff ff 02 	cmpl   $0x2,-0xbc(%ebp)
-    2a5f:	0f 84 ee 38 00 00    	je     0x6353
-    2a65:	8b bd 44 ff ff ff    	mov    -0xbc(%ebp),%edi
-    2a6b:	39 bd 40 ff ff ff    	cmp    %edi,-0xc0(%ebp)
-    2a71:	0f 84 f9 37 00 00    	je     0x6270
-    2a77:	8b bd 40 ff ff ff    	mov    -0xc0(%ebp),%edi
-    2a7d:	89 d6                	mov    %edx,%esi
-    2a7f:	8b 9d 44 ff ff ff    	mov    -0xbc(%ebp),%ebx
-    2a85:	f6 85 2c ff ff ff 02 	testb  $0x2,-0xd4(%ebp)
-    2a8c:	c7 04 9e 00 00 00 00 	movl   $0x0,(%esi,%ebx,4)
-    2a93:	0f 85 2a 06 00 00    	jne    0x30c3
-    2a99:	f6 85 2c ff ff ff 03 	testb  $0x3,-0xd4(%ebp)
-    2aa0:	0f 84 e5 04 00 00    	je     0x2f8b
-    2aa6:	8b 85 2c ff ff ff    	mov    -0xd4(%ebp),%eax
-    2aac:	89 34 24             	mov    %esi,(%esp)
-    2aaf:	25 80 00 00 00       	and    $0x80,%eax
-    2ab4:	89 44 24 08          	mov    %eax,0x8(%esp)
-    2ab8:	8d 45 ec             	lea    -0x14(%ebp),%eax
-    2abb:	89 44 24 04          	mov    %eax,0x4(%esp)
-    2abf:	e8 fc ff ff ff       	call   0x2ac0
-    2ac4:	f6 85 2c ff ff ff 08 	testb  $0x8,-0xd4(%ebp)
-    2acb:	75 3a                	jne    0x2b07
-    2acd:	39 75 ec             	cmp    %esi,-0x14(%ebp)
-    2ad0:	0f 84 43 0e 00 00    	je     0x3919
-    2ad6:	83 bd 20 ff ff ff 00 	cmpl   $0x0,-0xe0(%ebp)
-    2add:	0f 85 42 11 00 00    	jne    0x3c25
-    2ae3:	8b 9d 08 ff ff ff    	mov    -0xf8(%ebp),%ebx
-    2ae9:	8b 03                	mov    (%ebx),%eax
-    2aeb:	83 c3 04             	add    $0x4,%ebx
-    2aee:	89 9d 08 ff ff ff    	mov    %ebx,-0xf8(%ebp)
-    2af4:	80 bd d6 fe ff ff 00 	cmpb   $0x0,-0x12a(%ebp)
-    2afb:	d9 c0                	fld    %st(0)
-    2afd:	d9 e0                	fchs   
-    2aff:	da c9                	fcmove %st(1),%st
-    2b01:	dd d9                	fstp   %st(1)
-    2b03:	dd 18                	fstpl  (%eax)
-    2b05:	eb 0a                	jmp    0x2b11
-    2b07:	dd d8                	fstp   %st(0)
-    2b09:	eb 06                	jmp    0x2b11
-    2b0b:	dd d8                	fstp   %st(0)
-    2b0d:	eb 02                	jmp    0x2b11
-    2b0f:	dd d8                	fstp   %st(0)
-    2b11:	3b 75 ec             	cmp    -0x14(%ebp),%esi
-    2b14:	0f 84 78 1b 00 00    	je     0x4692
-    2b1a:	f6 85 2c ff ff ff 08 	testb  $0x8,-0xd4(%ebp)
-    2b21:	0f 84 3c 04 00 00    	je     0x2f63
-    2b27:	8b 85 28 ff ff ff    	mov    -0xd8(%ebp),%eax
-    2b2d:	8b 9d 3c ff ff ff    	mov    -0xc4(%ebp),%ebx
-    2b33:	c7 85 3c ff ff ff 00 	movl   $0x0,-0xc4(%ebp)
-    2b3a:	00 00 00 
-    2b3d:	89 85 48 ff ff ff    	mov    %eax,-0xb8(%ebp)
-    2b43:	e9 1a d6 ff ff       	jmp    0x162
-    2b48:	8b 8d d8 fe ff ff    	mov    -0x128(%ebp),%ecx
-    2b4e:	85 c9                	test   %ecx,%ecx
-    2b50:	0f 84 c2 00 00 00    	je     0x2c18
-    2b56:	89 1c 24             	mov    %ebx,(%esp)
-    2b59:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
-    2b5f:	e8 fc ff ff ff       	call   0x2b60
-    2b64:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
-    2b6a:	85 c0                	test   %eax,%eax
-    2b6c:	0f 84 a6 00 00 00    	je     0x2c18
-    2b72:	3b 95 44 ff ff ff    	cmp    -0xbc(%ebp),%edx
-    2b78:	0f 85 01 e9 ff ff    	jne    0x147f
-    2b7e:	8d 0c 12             	lea    (%edx,%edx,1),%ecx
-    2b81:	b8 00 01 00 00       	mov    $0x100,%eax
-    2b86:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
-    2b8c:	0f 43 c1             	cmovae %ecx,%eax
-    2b8f:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
-    2b96:	89 85 44 ff ff ff    	mov    %eax,-0xbc(%ebp)
-    2b9c:	89 f0                	mov    %esi,%eax
-    2b9e:	75 12                	jne    0x2bb2
-    2ba0:	81 bd 44 ff ff ff 00 	cmpl   $0x10000,-0xbc(%ebp)
-    2ba7:	00 01 00 
-    2baa:	0f 86 3f 1a 00 00    	jbe    0x45ef
-    2bb0:	31 c0                	xor    %eax,%eax
-    2bb2:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
-    2bb8:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
-    2bbe:	89 04 24             	mov    %eax,(%esp)
-    2bc1:	89 74 24 04          	mov    %esi,0x4(%esp)
-    2bc5:	e8 fc ff ff ff       	call   0x2bc6
-    2bca:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
-    2bd0:	85 c0                	test   %eax,%eax
-    2bd2:	89 c6                	mov    %eax,%esi
-    2bd4:	0f 84 91 1a 00 00    	je     0x466b
-    2bda:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
-    2be1:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
-    2be7:	0f 85 94 e8 ff ff    	jne    0x1481
-    2bed:	8b 85 14 ff ff ff    	mov    -0xec(%ebp),%eax
-    2bf3:	89 54 24 08          	mov    %edx,0x8(%esp)
-    2bf7:	89 34 24             	mov    %esi,(%esp)
-    2bfa:	89 44 24 04          	mov    %eax,0x4(%esp)
-    2bfe:	e8 fc ff ff ff       	call   0x2bff
-    2c03:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
-    2c09:	c6 85 0f ff ff ff 01 	movb   $0x1,-0xf1(%ebp)
-    2c10:	e9 6c e8 ff ff       	jmp    0x1481
-    2c15:	8d 76 00             	lea    0x0(%esi),%esi
-    2c18:	8b 85 44 ff ff ff    	mov    -0xbc(%ebp),%eax
-    2c1e:	85 c0                	test   %eax,%eax
-    2c20:	0f 84 84 fd ff ff    	je     0x29aa
-    2c26:	89 1c 24             	mov    %ebx,(%esp)
-    2c29:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
-    2c2f:	e8 fc ff ff ff       	call   0x2c30
-    2c34:	8b 8d e0 fe ff ff    	mov    -0x120(%ebp),%ecx
-    2c3a:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
-    2c40:	39 c8                	cmp    %ecx,%eax
-    2c42:	89 85 40 ff ff ff    	mov    %eax,-0xc0(%ebp)
-    2c48:	0f 85 5c fd ff ff    	jne    0x29aa
-    2c4e:	3b 95 44 ff ff ff    	cmp    -0xbc(%ebp),%edx
-    2c54:	0f 84 f5 2c 00 00    	je     0x594f
-    2c5a:	89 d1                	mov    %edx,%ecx
-    2c5c:	8b 85 40 ff ff ff    	mov    -0xc0(%ebp),%eax
-    2c62:	8b 95 38 ff ff ff    	mov    -0xc8(%ebp),%edx
-    2c68:	c6 85 e8 fe ff ff 01 	movb   $0x1,-0x118(%ebp)
-    2c6f:	c6 85 f0 fe ff ff 01 	movb   $0x1,-0x110(%ebp)
-    2c76:	89 04 16             	mov    %eax,(%esi,%edx,1)
-    2c79:	e9 0c e8 ff ff       	jmp    0x148a
-    2c7e:	84 c0                	test   %al,%al
-    2c80:	75 5e                	jne    0x2ce0
-    2c82:	8b 8d 30 ff ff ff    	mov    -0xd0(%ebp),%ecx
-    2c88:	83 fb ff             	cmp    $0xffffffff,%ebx
-    2c8b:	89 95 40 ff ff ff    	mov    %edx,-0xc0(%ebp)
-    2c91:	8b 95 14 ff ff ff    	mov    -0xec(%ebp),%edx
-    2c97:	89 9d 3c ff ff ff    	mov    %ebx,-0xc4(%ebp)
-    2c9d:	89 8d 38 ff ff ff    	mov    %ecx,-0xc8(%ebp)
-    2ca3:	0f 84 8f fd ff ff    	je     0x2a38
-    2ca9:	8b 85 34 ff ff ff    	mov    -0xcc(%ebp),%eax
-    2caf:	89 ce                	mov    %ecx,%esi
-    2cb1:	83 ee 01             	sub    $0x1,%esi
-    2cb4:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
-    2cba:	89 b5 38 ff ff ff    	mov    %esi,-0xc8(%ebp)
-    2cc0:	89 5c 24 04          	mov    %ebx,0x4(%esp)
-    2cc4:	89 04 24             	mov    %eax,(%esp)
-    2cc7:	e8 fc ff ff ff       	call   0x2cc8
-    2ccc:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
-    2cd2:	89 9d 3c ff ff ff    	mov    %ebx,-0xc4(%ebp)
-    2cd8:	e9 5b fd ff ff       	jmp    0x2a38
-    2cdd:	8d 76 00             	lea    0x0(%esi),%esi
-    2ce0:	3b 95 44 ff ff ff    	cmp    -0xbc(%ebp),%edx
-    2ce6:	0f 84 98 38 00 00    	je     0x6584
-    2cec:	89 d1                	mov    %edx,%ecx
-    2cee:	8b 95 38 ff ff ff    	mov    -0xc8(%ebp),%edx
-    2cf4:	c6 85 f0 fe ff ff 01 	movb   $0x1,-0x110(%ebp)
-    2cfb:	89 1c 16             	mov    %ebx,(%esi,%edx,1)
-    2cfe:	e9 87 e7 ff ff       	jmp    0x148a
-    2d03:	a1 00 00 00 00       	mov    0x0,%eax
-    2d08:	8b b5 48 ff ff ff    	mov    -0xb8(%ebp),%esi
-    2d0e:	89 bd fc fe ff ff    	mov    %edi,-0x104(%ebp)
-    2d14:	65 8b 00             	mov    %gs:(%eax),%eax
-    2d17:	89 85 1c ff ff ff    	mov    %eax,-0xe4(%ebp)
-    2d1d:	85 f6                	test   %esi,%esi
-    2d1f:	0f 85 9d f1 ff ff    	jne    0x1ec2
-    2d25:	f7 85 2c ff ff ff 00 	testl  $0x2100,-0xd4(%ebp)
-    2d2c:	21 00 00 
-    2d2f:	74 2a                	je     0x2d5b
-    2d31:	8b b5 10 ff ff ff    	mov    -0xf0(%ebp),%esi
-    2d37:	8b 95 fc fe ff ff    	mov    -0x104(%ebp),%edx
-    2d3d:	8b 06                	mov    (%esi),%eax
-    2d3f:	29 c2                	sub    %eax,%edx
-    2d41:	3b 95 00 ff ff ff    	cmp    -0x100(%ebp),%edx
-    2d47:	74 12                	je     0x2d5b
-    2d49:	89 54 24 04          	mov    %edx,0x4(%esp)
-    2d4d:	89 04 24             	mov    %eax,(%esp)
-    2d50:	e8 fc ff ff ff       	call   0x2d51
-    2d55:	85 c0                	test   %eax,%eax
-    2d57:	74 02                	je     0x2d5b
-    2d59:	89 06                	mov    %eax,(%esi)
-    2d5b:	8b bd 28 ff ff ff    	mov    -0xd8(%ebp),%edi
-    2d61:	83 85 24 ff ff ff 01 	addl   $0x1,-0xdc(%ebp)
-    2d68:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
-    2d6e:	c7 85 10 ff ff ff 00 	movl   $0x0,-0xf0(%ebp)
-    2d75:	00 00 00 
-    2d78:	89 bd 48 ff ff ff    	mov    %edi,-0xb8(%ebp)
-    2d7e:	8b bd 40 ff ff ff    	mov    -0xc0(%ebp),%edi
-    2d84:	c7 85 3c ff ff ff 00 	movl   $0x0,-0xc4(%ebp)
-    2d8b:	00 00 00 
-    2d8e:	e9 cf d3 ff ff       	jmp    0x162
-    2d93:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
-    2d99:	39 bd 3c ff ff ff    	cmp    %edi,-0xc4(%ebp)
-    2d9f:	0f 84 09 15 00 00    	je     0x42ae
-    2da5:	8b 95 f0 fe ff ff    	mov    -0x110(%ebp),%edx
-    2dab:	85 d2                	test   %edx,%edx
-    2dad:	75 43                	jne    0x2df2
-    2daf:	8b 85 f8 fe ff ff    	mov    -0x108(%ebp),%eax
-    2db5:	89 30                	mov    %esi,(%eax)
-    2db7:	83 c0 04             	add    $0x4,%eax
-    2dba:	89 85 f8 fe ff ff    	mov    %eax,-0x108(%ebp)
-    2dc0:	8b 85 e0 fe ff ff    	mov    -0x120(%ebp),%eax
-    2dc6:	85 c0                	test   %eax,%eax
-    2dc8:	74 28                	je     0x2df2
-    2dca:	8b 95 10 ff ff ff    	mov    -0xf0(%ebp),%edx
-    2dd0:	8b 8d 00 ff ff ff    	mov    -0x100(%ebp),%ecx
-    2dd6:	8b 02                	mov    (%edx),%eax
-    2dd8:	89 cb                	mov    %ecx,%ebx
-    2dda:	c1 e3 02             	shl    $0x2,%ebx
-    2ddd:	89 8d 3c ff ff ff    	mov    %ecx,-0xc4(%ebp)
-    2de3:	8d 14 18             	lea    (%eax,%ebx,1),%edx
-    2de6:	39 95 f8 fe ff ff    	cmp    %edx,-0x108(%ebp)
-    2dec:	0f 84 35 16 00 00    	je     0x4427
-    2df2:	83 ad 28 ff ff ff 01 	subl   $0x1,-0xd8(%ebp)
-    2df9:	8b 9d 28 ff ff ff    	mov    -0xd8(%ebp),%ebx
-    2dff:	85 db                	test   %ebx,%ebx
-    2e01:	0f 8e 36 15 00 00    	jle    0x433d
-    2e07:	83 fe ff             	cmp    $0xffffffff,%esi
-    2e0a:	0f 84 17 15 00 00    	je     0x4327
-    2e10:	8b b5 34 ff ff ff    	mov    -0xcc(%ebp),%esi
-    2e16:	8b 56 5c             	mov    0x5c(%esi),%edx
-    2e19:	85 d2                	test   %edx,%edx
-    2e1b:	0f 84 19 2b 00 00    	je     0x593a
-    2e21:	8b 0a                	mov    (%edx),%ecx
-    2e23:	3b 4a 04             	cmp    0x4(%edx),%ecx
-    2e26:	0f 83 0e 2b 00 00    	jae    0x593a
-    2e2c:	8b 19                	mov    (%ecx),%ebx
-    2e2e:	83 c1 04             	add    $0x4,%ecx
-    2e31:	89 0a                	mov    %ecx,(%edx)
-    2e33:	83 fb ff             	cmp    $0xffffffff,%ebx
-    2e36:	0f 84 58 05 00 00    	je     0x3394
-    2e3c:	83 85 38 ff ff ff 01 	addl   $0x1,-0xc8(%ebp)
-    2e43:	89 de                	mov    %ebx,%esi
-    2e45:	e9 14 ef ff ff       	jmp    0x1d5e
-    2e4a:	a1 00 00 00 00       	mov    0x0,%eax
-    2e4f:	8b b5 48 ff ff ff    	mov    -0xb8(%ebp),%esi
-    2e55:	89 bd fc fe ff ff    	mov    %edi,-0x104(%ebp)
-    2e5b:	65 8b 00             	mov    %gs:(%eax),%eax
-    2e5e:	89 85 1c ff ff ff    	mov    %eax,-0xe4(%ebp)
-    2e64:	85 f6                	test   %esi,%esi
-    2e66:	0f 85 56 f0 ff ff    	jne    0x1ec2
-    2e6c:	8d 75 e4             	lea    -0x1c(%ebp),%esi
-    2e6f:	8d 7d a4             	lea    -0x5c(%ebp),%edi
-    2e72:	89 74 24 08          	mov    %esi,0x8(%esp)
-    2e76:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
-    2e7d:	00 
-    2e7e:	89 3c 24             	mov    %edi,(%esp)
-    2e81:	e8 fc ff ff ff       	call   0x2e82
-    2e86:	85 c0                	test   %eax,%eax
-    2e88:	89 c6                	mov    %eax,%esi
-    2e8a:	0f 84 e8 0b 00 00    	je     0x3a78
-    2e90:	f7 85 2c ff ff ff 00 	testl  $0x2100,-0xd4(%ebp)
-    2e97:	21 00 00 
-    2e9a:	0f 84 33 0b 00 00    	je     0x39d3
-    2ea0:	8b 95 10 ff ff ff    	mov    -0xf0(%ebp),%edx
-    2ea6:	8b bd 00 ff ff ff    	mov    -0x100(%ebp),%edi
-    2eac:	8b 02                	mov    (%edx),%eax
-    2eae:	8b 95 fc fe ff ff    	mov    -0x104(%ebp),%edx
-    2eb4:	8d 0c 38             	lea    (%eax,%edi,1),%ecx
-    2eb7:	01 f2                	add    %esi,%edx
-    2eb9:	39 ca                	cmp    %ecx,%edx
-    2ebb:	0f 83 f7 0f 00 00    	jae    0x3eb8
-    2ec1:	8b 95 fc fe ff ff    	mov    -0x104(%ebp),%edx
-    2ec7:	8d 45 a4             	lea    -0x5c(%ebp),%eax
-    2eca:	89 74 24 08          	mov    %esi,0x8(%esp)
-    2ece:	89 44 24 04          	mov    %eax,0x4(%esp)
-    2ed2:	89 14 24             	mov    %edx,(%esp)
-    2ed5:	e8 fc ff ff ff       	call   0x2ed6
-    2eda:	c6 00 00             	movb   $0x0,(%eax)
-    2edd:	83 c0 01             	add    $0x1,%eax
-    2ee0:	89 85 fc fe ff ff    	mov    %eax,-0x104(%ebp)
-    2ee6:	8b bd 10 ff ff ff    	mov    -0xf0(%ebp),%edi
-    2eec:	8b 85 fc fe ff ff    	mov    -0x104(%ebp),%eax
-    2ef2:	8b 17                	mov    (%edi),%edx
-    2ef4:	29 d0                	sub    %edx,%eax
-    2ef6:	3b 85 00 ff ff ff    	cmp    -0x100(%ebp),%eax
-    2efc:	74 1c                	je     0x2f1a
-    2efe:	89 44 24 04          	mov    %eax,0x4(%esp)
-    2f02:	89 14 24             	mov    %edx,(%esp)
-    2f05:	e8 fc ff ff ff       	call   0x2f06
-    2f0a:	85 c0                	test   %eax,%eax
-    2f0c:	0f 84 88 0b 00 00    	je     0x3a9a
-    2f12:	89 07                	mov    %eax,(%edi)
-    2f14:	8b 85 00 ff ff ff    	mov    -0x100(%ebp),%eax
-    2f1a:	8b 95 28 ff ff ff    	mov    -0xd8(%ebp),%edx
-    2f20:	83 85 24 ff ff ff 01 	addl   $0x1,-0xdc(%ebp)
-    2f27:	89 95 48 ff ff ff    	mov    %edx,-0xb8(%ebp)
-    2f2d:	e9 5a f6 ff ff       	jmp    0x258c
-    2f32:	83 fb 2b             	cmp    $0x2b,%ebx
-    2f35:	74 09                	je     0x2f40
-    2f37:	83 fb 2d             	cmp    $0x2d,%ebx
-    2f3a:	0f 85 6a fa ff ff    	jne    0x29aa
-    2f40:	3b 95 44 ff ff ff    	cmp    -0xbc(%ebp),%edx
-    2f46:	0f 84 56 17 00 00    	je     0x46a2
-    2f4c:	89 d1                	mov    %edx,%ecx
-    2f4e:	8b 95 38 ff ff ff    	mov    -0xc8(%ebp),%edx
-    2f54:	c6 85 e8 fe ff ff 01 	movb   $0x1,-0x118(%ebp)
-    2f5b:	89 1c 16             	mov    %ebx,(%esi,%edx,1)
-    2f5e:	e9 27 e5 ff ff       	jmp    0x148a
-    2f63:	8b 95 28 ff ff ff    	mov    -0xd8(%ebp),%edx
-    2f69:	8b 9d 3c ff ff ff    	mov    -0xc4(%ebp),%ebx
-    2f6f:	83 85 24 ff ff ff 01 	addl   $0x1,-0xdc(%ebp)
-    2f76:	89 95 48 ff ff ff    	mov    %edx,-0xb8(%ebp)
-    2f7c:	c7 85 3c ff ff ff 00 	movl   $0x0,-0xc4(%ebp)
-    2f83:	00 00 00 
-    2f86:	e9 d7 d1 ff ff       	jmp    0x162
-    2f8b:	8b 85 2c ff ff ff    	mov    -0xd4(%ebp),%eax
-    2f91:	89 34 24             	mov    %esi,(%esp)
-    2f94:	25 80 00 00 00       	and    $0x80,%eax
-    2f99:	89 44 24 08          	mov    %eax,0x8(%esp)
-    2f9d:	8d 45 ec             	lea    -0x14(%ebp),%eax
-    2fa0:	89 44 24 04          	mov    %eax,0x4(%esp)
-    2fa4:	e8 fc ff ff ff       	call   0x2fa5
-    2fa9:	f6 85 2c ff ff ff 08 	testb  $0x8,-0xd4(%ebp)
-    2fb0:	0f 85 55 fb ff ff    	jne    0x2b0b
-    2fb6:	39 75 ec             	cmp    %esi,-0x14(%ebp)
-    2fb9:	0f 84 5e 09 00 00    	je     0x391d
-    2fbf:	83 bd 20 ff ff ff 00 	cmpl   $0x0,-0xe0(%ebp)
-    2fc6:	0f 85 83 0e 00 00    	jne    0x3e4f
-    2fcc:	8b 9d 08 ff ff ff    	mov    -0xf8(%ebp),%ebx
-    2fd2:	8b 03                	mov    (%ebx),%eax
-    2fd4:	83 c3 04             	add    $0x4,%ebx
-    2fd7:	89 9d 08 ff ff ff    	mov    %ebx,-0xf8(%ebp)
-    2fdd:	80 bd d6 fe ff ff 00 	cmpb   $0x0,-0x12a(%ebp)
-    2fe4:	d9 c0                	fld    %st(0)
-    2fe6:	d9 e0                	fchs   
-    2fe8:	da c9                	fcmove %st(1),%st
-    2fea:	dd d9                	fstp   %st(1)
-    2fec:	d9 18                	fstps  (%eax)
-    2fee:	e9 1e fb ff ff       	jmp    0x2b11
-    2ff3:	80 bd 20 ff ff ff 00 	cmpb   $0x0,-0xe0(%ebp)
-    2ffa:	0f 85 93 fd ff ff    	jne    0x2d93
-    3000:	80 bd e8 fe ff ff 00 	cmpb   $0x0,-0x118(%ebp)
-    3007:	0f 84 73 ed ff ff    	je     0x1d80
-    300d:	83 fb ff             	cmp    $0xffffffff,%ebx
-    3010:	74 19                	je     0x302b
-    3012:	8b b5 34 ff ff ff    	mov    -0xcc(%ebp),%esi
-    3018:	83 ad 38 ff ff ff 01 	subl   $0x1,-0xc8(%ebp)
-    301f:	89 5c 24 04          	mov    %ebx,0x4(%esp)
-    3023:	89 34 24             	mov    %esi,(%esp)
-    3026:	e8 fc ff ff ff       	call   0x3027
-    302b:	8b 95 38 ff ff ff    	mov    -0xc8(%ebp),%edx
-    3031:	39 95 30 ff ff ff    	cmp    %edx,-0xd0(%ebp)
-    3037:	0f 84 1d 32 00 00    	je     0x625a
-    303d:	f6 85 2c ff ff ff 08 	testb  $0x8,-0xd4(%ebp)
-    3044:	0f 85 13 d2 ff ff    	jne    0x25d
-    304a:	8b 8d f8 fe ff ff    	mov    -0x108(%ebp),%ecx
-    3050:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
-    3056:	83 c1 04             	add    $0x4,%ecx
-    3059:	f7 85 2c ff ff ff 00 	testl  $0x2100,-0xd4(%ebp)
-    3060:	21 00 00 
-    3063:	89 8d f8 fe ff ff    	mov    %ecx,-0x108(%ebp)
-    3069:	74 2c                	je     0x3097
-    306b:	8b b5 10 ff ff ff    	mov    -0xf0(%ebp),%esi
-    3071:	89 c8                	mov    %ecx,%eax
-    3073:	8b 16                	mov    (%esi),%edx
-    3075:	29 d0                	sub    %edx,%eax
-    3077:	c1 f8 02             	sar    $0x2,%eax
-    307a:	3b 85 00 ff ff ff    	cmp    -0x100(%ebp),%eax
-    3080:	74 15                	je     0x3097
-    3082:	c1 e0 02             	shl    $0x2,%eax
-    3085:	89 44 24 04          	mov    %eax,0x4(%esp)
-    3089:	89 14 24             	mov    %edx,(%esp)
-    308c:	e8 fc ff ff ff       	call   0x308d
-    3091:	85 c0                	test   %eax,%eax
-    3093:	74 02                	je     0x3097
-    3095:	89 06                	mov    %eax,(%esi)
-    3097:	83 85 24 ff ff ff 01 	addl   $0x1,-0xdc(%ebp)
-    309e:	8b bd 40 ff ff ff    	mov    -0xc0(%ebp),%edi
-    30a4:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
-    30aa:	c7 85 10 ff ff ff 00 	movl   $0x0,-0xf0(%ebp)
-    30b1:	00 00 00 
-    30b4:	c7 85 3c ff ff ff 00 	movl   $0x0,-0xc4(%ebp)
-    30bb:	00 00 00 
-    30be:	e9 9f d0 ff ff       	jmp    0x162
-    30c3:	8b 85 2c ff ff ff    	mov    -0xd4(%ebp),%eax
-    30c9:	89 34 24             	mov    %esi,(%esp)
-    30cc:	25 80 00 00 00       	and    $0x80,%eax
-    30d1:	89 44 24 08          	mov    %eax,0x8(%esp)
-    30d5:	8d 45 ec             	lea    -0x14(%ebp),%eax
-    30d8:	89 44 24 04          	mov    %eax,0x4(%esp)
-    30dc:	e8 fc ff ff ff       	call   0x30dd
-    30e1:	f6 85 2c ff ff ff 08 	testb  $0x8,-0xd4(%ebp)
-    30e8:	0f 85 21 fa ff ff    	jne    0x2b0f
-    30ee:	39 75 ec             	cmp    %esi,-0x14(%ebp)
-    30f1:	0f 84 2a 08 00 00    	je     0x3921
-    30f7:	83 bd 20 ff ff ff 00 	cmpl   $0x0,-0xe0(%ebp)
-    30fe:	0f 85 ef 0c 00 00    	jne    0x3df3
-    3104:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
-    310a:	8b 02                	mov    (%edx),%eax
-    310c:	83 c2 04             	add    $0x4,%edx
-    310f:	89 95 08 ff ff ff    	mov    %edx,-0xf8(%ebp)
-    3115:	80 bd d6 fe ff ff 00 	cmpb   $0x0,-0x12a(%ebp)
-    311c:	d9 c0                	fld    %st(0)
-    311e:	d9 e0                	fchs   
-    3120:	da c9                	fcmove %st(1),%st
-    3122:	dd d9                	fstp   %st(1)
-    3124:	db 38                	fstpt  (%eax)
-    3126:	e9 e6 f9 ff ff       	jmp    0x2b11
-    312b:	a1 00 00 00 00       	mov    0x0,%eax
-    3130:	8b 9d 1c ff ff ff    	mov    -0xe4(%ebp),%ebx
-    3136:	65 89 18             	mov    %ebx,%gs:(%eax)
-    3139:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
-    313f:	85 db                	test   %ebx,%ebx
-    3141:	0f 84 3f d1 ff ff    	je     0x286
-    3147:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
-    314d:	bf 01 00 00 00       	mov    $0x1,%edi
-    3152:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
-    3158:	e9 43 d1 ff ff       	jmp    0x2a0
-    315d:	8d 76 00             	lea    0x0(%esi),%esi
-    3160:	a1 00 00 00 00       	mov    0x0,%eax
-    3165:	8b 95 1c ff ff ff    	mov    -0xe4(%ebp),%edx
-    316b:	65 89 10             	mov    %edx,%gs:(%eax)
-    316e:	e9 d9 e1 ff ff       	jmp    0x134c
-    3173:	8b b5 40 ff ff ff    	mov    -0xc0(%ebp),%esi
-    3179:	85 f6                	test   %esi,%esi
-    317b:	0f 84 56 13 00 00    	je     0x44d7
-    3181:	8b 95 44 ff ff ff    	mov    -0xbc(%ebp),%edx
-    3187:	85 ff                	test   %edi,%edi
-    3189:	89 1a                	mov    %ebx,(%edx)
-    318b:	0f 84 f2 06 00 00    	je     0x3883
-    3191:	83 fb ff             	cmp    $0xffffffff,%ebx
-    3194:	0f 84 db 06 00 00    	je     0x3875
-    319a:	8b 8d 34 ff ff ff    	mov    -0xcc(%ebp),%ecx
-    31a0:	8b 41 5c             	mov    0x5c(%ecx),%eax
-    31a3:	85 c0                	test   %eax,%eax
-    31a5:	0f 84 46 17 00 00    	je     0x48f1
-    31ab:	8b 08                	mov    (%eax),%ecx
-    31ad:	3b 48 04             	cmp    0x4(%eax),%ecx
-    31b0:	0f 83 3b 17 00 00    	jae    0x48f1
-    31b6:	8b 19                	mov    (%ecx),%ebx
-    31b8:	83 c1 04             	add    $0x4,%ecx
-    31bb:	89 08                	mov    %ecx,(%eax)
-    31bd:	83 fb ff             	cmp    $0xffffffff,%ebx
-    31c0:	0f 84 bd 06 00 00    	je     0x3883
-    31c6:	89 1c 24             	mov    %ebx,(%esp)
-    31c9:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
-    31cf:	e8 fc ff ff ff       	call   0x31d0
-    31d4:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
-    31da:	83 f8 61             	cmp    $0x61,%eax
-    31dd:	0f 85 7c 1d 00 00    	jne    0x4f5f
-    31e3:	31 c0                	xor    %eax,%eax
-    31e5:	85 ff                	test   %edi,%edi
-    31e7:	0f 9f c0             	setg   %al
-    31ea:	29 c7                	sub    %eax,%edi
-    31ec:	83 bd 40 ff ff ff 01 	cmpl   $0x1,-0xc0(%ebp)
-    31f3:	0f 84 2c 1d 00 00    	je     0x4f25
-    31f9:	89 d6                	mov    %edx,%esi
-    31fb:	85 ff                	test   %edi,%edi
-    31fd:	89 5e 04             	mov    %ebx,0x4(%esi)
-    3200:	0f 84 0f 1d 00 00    	je     0x4f15
-    3206:	8b bd 34 ff ff ff    	mov    -0xcc(%ebp),%edi
-    320c:	8b 47 5c             	mov    0x5c(%edi),%eax
-    320f:	85 c0                	test   %eax,%eax
-    3211:	0f 84 e5 1c 00 00    	je     0x4efc
-    3217:	8b 10                	mov    (%eax),%edx
-    3219:	3b 50 04             	cmp    0x4(%eax),%edx
-    321c:	0f 83 da 1c 00 00    	jae    0x4efc
-    3222:	8b 0a                	mov    (%edx),%ecx
-    3224:	83 c2 04             	add    $0x4,%edx
-    3227:	89 10                	mov    %edx,(%eax)
-    3229:	89 8d 3c ff ff ff    	mov    %ecx,-0xc4(%ebp)
-    322f:	83 bd 3c ff ff ff ff 	cmpl   $0xffffffff,-0xc4(%ebp)
-    3236:	0f 84 d9 1c 00 00    	je     0x4f15
-    323c:	8b bd 3c ff ff ff    	mov    -0xc4(%ebp),%edi
-    3242:	89 3c 24             	mov    %edi,(%esp)
-    3245:	e8 fc ff ff ff       	call   0x3246
-    324a:	83 f8 6e             	cmp    $0x6e,%eax
-    324d:	0f 85 57 26 00 00    	jne    0x58aa
-    3253:	83 bd 40 ff ff ff 02 	cmpl   $0x2,-0xc0(%ebp)
-    325a:	0f 84 1c 26 00 00    	je     0x587c
-    3260:	89 f2                	mov    %esi,%edx
-    3262:	8b b5 30 ff ff ff    	mov    -0xd0(%ebp),%esi
-    3268:	8b bd 3c ff ff ff    	mov    -0xc4(%ebp),%edi
-    326e:	c7 85 44 ff ff ff 03 	movl   $0x3,-0xbc(%ebp)
-    3275:	00 00 00 
-    3278:	83 c6 02             	add    $0x2,%esi
-    327b:	89 b5 38 ff ff ff    	mov    %esi,-0xc8(%ebp)
-    3281:	89 7a 08             	mov    %edi,0x8(%edx)
-    3284:	e9 dc f7 ff ff       	jmp    0x2a65
-    3289:	83 c1 04             	add    $0x4,%ecx
-    328c:	89 8d 14 ff ff ff    	mov    %ecx,-0xec(%ebp)
-    3292:	8b 01                	mov    (%ecx),%eax
-    3294:	89 b5 38 ff ff ff    	mov    %esi,-0xc8(%ebp)
-    329a:	e9 16 ea ff ff       	jmp    0x1cb5
-    329f:	89 c8                	mov    %ecx,%eax
-    32a1:	b2 01                	mov    $0x1,%dl
-    32a3:	83 c0 04             	add    $0x4,%eax
-    32a6:	89 85 14 ff ff ff    	mov    %eax,-0xec(%ebp)
-    32ac:	e9 d3 e9 ff ff       	jmp    0x1c84
-    32b1:	8b 9d 40 ff ff ff    	mov    -0xc0(%ebp),%ebx
-    32b7:	85 db                	test   %ebx,%ebx
-    32b9:	0f 84 9f 31 00 00    	je     0x645e
-    32bf:	8b 95 44 ff ff ff    	mov    -0xbc(%ebp),%edx
-    32c5:	8b b5 34 ff ff ff    	mov    -0xcc(%ebp),%esi
-    32cb:	c7 02 30 00 00 00    	movl   $0x30,(%edx)
-    32d1:	8b 46 5c             	mov    0x5c(%esi),%eax
-    32d4:	85 c0                	test   %eax,%eax
-    32d6:	0f 84 b7 1e 00 00    	je     0x5193
-    32dc:	8b 08                	mov    (%eax),%ecx
-    32de:	3b 48 04             	cmp    0x4(%eax),%ecx
-    32e1:	0f 83 ac 1e 00 00    	jae    0x5193
-    32e7:	8b 19                	mov    (%ecx),%ebx
-    32e9:	83 c1 04             	add    $0x4,%ecx
-    32ec:	89 08                	mov    %ecx,(%eax)
-    32ee:	83 fb ff             	cmp    $0xffffffff,%ebx
-    32f1:	0f 84 8f 0a 00 00    	je     0x3d86
-    32f7:	83 85 30 ff ff ff 01 	addl   $0x1,-0xd0(%ebp)
-    32fe:	31 c0                	xor    %eax,%eax
-    3300:	85 ff                	test   %edi,%edi
-    3302:	0f 9f c0             	setg   %al
-    3305:	29 c7                	sub    %eax,%edi
-    3307:	74 1d                	je     0x3326
-    3309:	89 1c 24             	mov    %ebx,(%esp)
-    330c:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
-    3312:	e8 fc ff ff ff       	call   0x3313
-    3317:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
-    331d:	83 f8 78             	cmp    $0x78,%eax
-    3320:	0f 84 b3 07 00 00    	je     0x3ad9
-    3326:	89 d6                	mov    %edx,%esi
-    3328:	b8 01 00 00 00       	mov    $0x1,%eax
-    332d:	c7 85 e0 fe ff ff 65 	movl   $0x65,-0x120(%ebp)
-    3334:	00 00 00 
-    3337:	e9 bc e0 ff ff       	jmp    0x13f8
-    333c:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
-    3342:	bf 02 00 00 00       	mov    $0x2,%edi
-    3347:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
-    334d:	e9 4e cf ff ff       	jmp    0x2a0
-    3352:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
-    3358:	8b 8d 20 ff ff ff    	mov    -0xe0(%ebp),%ecx
-    335e:	83 bd 20 ff ff ff 01 	cmpl   $0x1,-0xe0(%ebp)
-    3365:	8d 44 8a fc          	lea    -0x4(%edx,%ecx,4),%eax
-    3369:	0f 44 c2             	cmove  %edx,%eax
-    336c:	8b 00                	mov    (%eax),%eax
-    336e:	e9 e0 dd ff ff       	jmp    0x1153
-    3373:	8b 8d 04 ff ff ff    	mov    -0xfc(%ebp),%ecx
-    3379:	8b 95 20 ff ff ff    	mov    -0xe0(%ebp),%edx
-    337f:	83 bd 20 ff ff ff 01 	cmpl   $0x1,-0xe0(%ebp)
-    3386:	8d 44 91 fc          	lea    -0x4(%ecx,%edx,4),%eax
-    338a:	0f 44 c1             	cmove  %ecx,%eax
-    338d:	8b 00                	mov    (%eax),%eax
-    338f:	e9 bf dd ff ff       	jmp    0x1153
-    3394:	a1 00 00 00 00       	mov    0x0,%eax
-    3399:	65 8b 00             	mov    %gs:(%eax),%eax
-    339c:	89 85 1c ff ff ff    	mov    %eax,-0xe4(%ebp)
-    33a2:	e9 84 fc ff ff       	jmp    0x302b
-    33a7:	a1 00 00 00 00       	mov    0x0,%eax
-    33ac:	65 8b 00             	mov    %gs:(%eax),%eax
-    33af:	89 85 1c ff ff ff    	mov    %eax,-0xe4(%ebp)
-    33b5:	e9 fe f0 ff ff       	jmp    0x24b8
-    33ba:	a1 00 00 00 00       	mov    0x0,%eax
-    33bf:	65 8b 00             	mov    %gs:(%eax),%eax
-    33c2:	89 85 1c ff ff ff    	mov    %eax,-0xe4(%ebp)
-    33c8:	e9 7f df ff ff       	jmp    0x134c
-    33cd:	83 bd 40 ff ff ff 00 	cmpl   $0x0,-0xc0(%ebp)
-    33d4:	0f 84 02 1e 00 00    	je     0x51dc
-    33da:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
-    33e0:	85 ff                	test   %edi,%edi
-    33e2:	89 1e                	mov    %ebx,(%esi)
-    33e4:	0f 84 87 05 00 00    	je     0x3971
-    33ea:	83 fb ff             	cmp    $0xffffffff,%ebx
-    33ed:	0f 84 70 05 00 00    	je     0x3963
-    33f3:	8b 95 34 ff ff ff    	mov    -0xcc(%ebp),%edx
-    33f9:	8b 42 5c             	mov    0x5c(%edx),%eax
-    33fc:	85 c0                	test   %eax,%eax
-    33fe:	0f 84 6f 1a 00 00    	je     0x4e73
-    3404:	8b 10                	mov    (%eax),%edx
-    3406:	3b 50 04             	cmp    0x4(%eax),%edx
-    3409:	0f 83 64 1a 00 00    	jae    0x4e73
-    340f:	8b 1a                	mov    (%edx),%ebx
-    3411:	83 c2 04             	add    $0x4,%edx
-    3414:	89 10                	mov    %edx,(%eax)
-    3416:	83 fb ff             	cmp    $0xffffffff,%ebx
-    3419:	0f 84 52 05 00 00    	je     0x3971
-    341f:	89 1c 24             	mov    %ebx,(%esp)
-    3422:	e8 fc ff ff ff       	call   0x3423
-    3427:	83 f8 6e             	cmp    $0x6e,%eax
-    342a:	0f 85 f3 1b 00 00    	jne    0x5023
-    3430:	31 c0                	xor    %eax,%eax
-    3432:	85 ff                	test   %edi,%edi
-    3434:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
-    343a:	0f 9f c0             	setg   %al
-    343d:	29 c7                	sub    %eax,%edi
-    343f:	83 bd 40 ff ff ff 01 	cmpl   $0x1,-0xc0(%ebp)
-    3446:	0f 84 a9 1b 00 00    	je     0x4ff5
-    344c:	85 ff                	test   %edi,%edi
-    344e:	89 5e 04             	mov    %ebx,0x4(%esi)
-    3451:	0f 84 8e 1b 00 00    	je     0x4fe5
-    3457:	8b 95 34 ff ff ff    	mov    -0xcc(%ebp),%edx
-    345d:	8b 42 5c             	mov    0x5c(%edx),%eax
-    3460:	85 c0                	test   %eax,%eax
-    3462:	0f 84 64 1b 00 00    	je     0x4fcc
-    3468:	8b 10                	mov    (%eax),%edx
-    346a:	3b 50 04             	cmp    0x4(%eax),%edx
-    346d:	0f 83 59 1b 00 00    	jae    0x4fcc
-    3473:	8b 1a                	mov    (%edx),%ebx
-    3475:	83 c2 04             	add    $0x4,%edx
-    3478:	89 10                	mov    %edx,(%eax)
-    347a:	89 9d 3c ff ff ff    	mov    %ebx,-0xc4(%ebp)
-    3480:	83 bd 3c ff ff ff ff 	cmpl   $0xffffffff,-0xc4(%ebp)
-    3487:	0f 84 58 1b 00 00    	je     0x4fe5
-    348d:	8b 85 3c ff ff ff    	mov    -0xc4(%ebp),%eax
-    3493:	89 04 24             	mov    %eax,(%esp)
-    3496:	e8 fc ff ff ff       	call   0x3497
-    349b:	83 f8 66             	cmp    $0x66,%eax
-    349e:	0f 85 de 18 00 00    	jne    0x4d82
-    34a4:	31 c0                	xor    %eax,%eax
-    34a6:	85 ff                	test   %edi,%edi
-    34a8:	0f 9f c0             	setg   %al
-    34ab:	89 f2                	mov    %esi,%edx
-    34ad:	29 c7                	sub    %eax,%edi
-    34af:	83 bd 40 ff ff ff 02 	cmpl   $0x2,-0xc0(%ebp)
-    34b6:	0f 84 98 18 00 00    	je     0x4d54
-    34bc:	8b 8d 30 ff ff ff    	mov    -0xd0(%ebp),%ecx
-    34c2:	8b 9d 3c ff ff ff    	mov    -0xc4(%ebp),%ebx
-    34c8:	c7 85 44 ff ff ff 03 	movl   $0x3,-0xbc(%ebp)
-    34cf:	00 00 00 
-    34d2:	83 c1 02             	add    $0x2,%ecx
-    34d5:	85 ff                	test   %edi,%edi
-    34d7:	89 8d 38 ff ff ff    	mov    %ecx,-0xc8(%ebp)
-    34dd:	89 5a 08             	mov    %ebx,0x8(%edx)
-    34e0:	0f 84 7f f5 ff ff    	je     0x2a65
-    34e6:	8b b5 34 ff ff ff    	mov    -0xcc(%ebp),%esi
-    34ec:	8b 46 5c             	mov    0x5c(%esi),%eax
-    34ef:	85 c0                	test   %eax,%eax
-    34f1:	0f 84 06 19 00 00    	je     0x4dfd
-    34f7:	8b 08                	mov    (%eax),%ecx
-    34f9:	3b 48 04             	cmp    0x4(%eax),%ecx
-    34fc:	0f 83 fb 18 00 00    	jae    0x4dfd
-    3502:	8b 19                	mov    (%ecx),%ebx
-    3504:	83 c1 04             	add    $0x4,%ecx
-    3507:	89 08                	mov    %ecx,(%eax)
-    3509:	89 9d 3c ff ff ff    	mov    %ebx,-0xc4(%ebp)
-    350f:	83 bd 3c ff ff ff ff 	cmpl   $0xffffffff,-0xc4(%ebp)
-    3516:	0f 84 ec 0b 00 00    	je     0x4108
-    351c:	8b 85 3c ff ff ff    	mov    -0xc4(%ebp),%eax
-    3522:	8b b5 38 ff ff ff    	mov    -0xc8(%ebp),%esi
-    3528:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
-    352e:	89 04 24             	mov    %eax,(%esp)
-    3531:	83 c6 01             	add    $0x1,%esi
-    3534:	89 b5 48 ff ff ff    	mov    %esi,-0xb8(%ebp)
-    353a:	e8 fc ff ff ff       	call   0x353b
-    353f:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
-    3545:	83 f8 69             	cmp    $0x69,%eax
-    3548:	0f 84 b2 09 00 00    	je     0x3f00
-    354e:	8b bd 3c ff ff ff    	mov    -0xc4(%ebp),%edi
-    3554:	8b 85 34 ff ff ff    	mov    -0xcc(%ebp),%eax
-    355a:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
-    3560:	89 7c 24 04          	mov    %edi,0x4(%esp)
-    3564:	89 04 24             	mov    %eax,(%esp)
-    3567:	e8 fc ff ff ff       	call   0x3568
-    356c:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
-    3572:	c7 85 44 ff ff ff 03 	movl   $0x3,-0xbc(%ebp)
-    3579:	00 00 00 
-    357c:	e9 e4 f4 ff ff       	jmp    0x2a65
-    3581:	a1 00 00 00 00       	mov    0x0,%eax
-    3586:	8b bd 1c ff ff ff    	mov    -0xe4(%ebp),%edi
-    358c:	89 b5 f8 fe ff ff    	mov    %esi,-0x108(%ebp)
-    3592:	8b b5 48 ff ff ff    	mov    -0xb8(%ebp),%esi
-    3598:	65 89 38             	mov    %edi,%gs:(%eax)
-    359b:	e9 4c e8 ff ff       	jmp    0x1dec
-    35a0:	a1 00 00 00 00       	mov    0x0,%eax
-    35a5:	8b 95 1c ff ff ff    	mov    -0xe4(%ebp),%edx
-    35ab:	8b 9d 48 ff ff ff    	mov    -0xb8(%ebp),%ebx
-    35b1:	c7 85 3c ff ff ff ff 	movl   $0xffffffff,-0xc4(%ebp)
-    35b8:	ff ff ff 
-    35bb:	89 8d 40 ff ff ff    	mov    %ecx,-0xc0(%ebp)
-    35c1:	65 89 10             	mov    %edx,%gs:(%eax)
-    35c4:	8b 85 30 ff ff ff    	mov    -0xd0(%ebp),%eax
-    35ca:	89 f2                	mov    %esi,%edx
-    35cc:	89 9d 44 ff ff ff    	mov    %ebx,-0xbc(%ebp)
-    35d2:	89 85 38 ff ff ff    	mov    %eax,-0xc8(%ebp)
-    35d8:	e9 5b f4 ff ff       	jmp    0x2a38
-    35dd:	8b 95 30 ff ff ff    	mov    -0xd0(%ebp),%edx
-    35e3:	8b 85 48 ff ff ff    	mov    -0xb8(%ebp),%eax
-    35e9:	89 9d 3c ff ff ff    	mov    %ebx,-0xc4(%ebp)
-    35ef:	89 8d 40 ff ff ff    	mov    %ecx,-0xc0(%ebp)
-    35f5:	89 95 38 ff ff ff    	mov    %edx,-0xc8(%ebp)
-    35fb:	89 f2                	mov    %esi,%edx
-    35fd:	89 85 44 ff ff ff    	mov    %eax,-0xbc(%ebp)
-    3603:	e9 30 f4 ff ff       	jmp    0x2a38
-    3608:	83 bd 20 ff ff ff 00 	cmpl   $0x0,-0xe0(%ebp)
-    360f:	0f 85 b6 05 00 00    	jne    0x3bcb
-    3615:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
-    361b:	8b 8d 08 ff ff ff    	mov    -0xf8(%ebp),%ecx
-    3621:	8b 12                	mov    (%edx),%edx
-    3623:	83 c1 04             	add    $0x4,%ecx
-    3626:	89 8d 08 ff ff ff    	mov    %ecx,-0xf8(%ebp)
-    362c:	89 95 f8 fe ff ff    	mov    %edx,-0x108(%ebp)
-    3632:	83 bd f8 fe ff ff 00 	cmpl   $0x0,-0x108(%ebp)
-    3639:	0f 85 34 e6 ff ff    	jne    0x1c73
-    363f:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
-    3645:	bf 02 00 00 00       	mov    $0x2,%edi
-    364a:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
-    3650:	e9 4b cc ff ff       	jmp    0x2a0
-    3655:	83 bd 20 ff ff ff 00 	cmpl   $0x0,-0xe0(%ebp)
-    365c:	0f 85 1b 05 00 00    	jne    0x3b7d
-    3662:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
-    3668:	8b 8d 08 ff ff ff    	mov    -0xf8(%ebp),%ecx
-    366e:	8b 12                	mov    (%edx),%edx
-    3670:	83 c1 04             	add    $0x4,%ecx
-    3673:	89 8d 08 ff ff ff    	mov    %ecx,-0xf8(%ebp)
-    3679:	89 95 fc fe ff ff    	mov    %edx,-0x104(%ebp)
-    367f:	83 bd fc fe ff ff 00 	cmpl   $0x0,-0x104(%ebp)
-    3686:	0f 85 af df ff ff    	jne    0x163b
-    368c:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
-    3692:	bf 02 00 00 00       	mov    $0x2,%edi
-    3697:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
-    369d:	e9 fe cb ff ff       	jmp    0x2a0
-    36a2:	83 bd 20 ff ff ff 00 	cmpl   $0x0,-0xe0(%ebp)
-    36a9:	0f 85 e2 07 00 00    	jne    0x3e91
-    36af:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
-    36b5:	8b 8d 08 ff ff ff    	mov    -0xf8(%ebp),%ecx
-    36bb:	8b 12                	mov    (%edx),%edx
-    36bd:	83 c1 04             	add    $0x4,%ecx
-    36c0:	89 8d 08 ff ff ff    	mov    %ecx,-0xf8(%ebp)
-    36c6:	89 95 fc fe ff ff    	mov    %edx,-0x104(%ebp)
-    36cc:	83 bd fc fe ff ff 00 	cmpl   $0x0,-0x104(%ebp)
-    36d3:	0f 85 9a e5 ff ff    	jne    0x1c73
-    36d9:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
-    36df:	bf 02 00 00 00       	mov    $0x2,%edi
-    36e4:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
-    36ea:	e9 b1 cb ff ff       	jmp    0x2a0
-    36ef:	f7 85 2c ff ff ff 00 	testl  $0x200,-0xd4(%ebp)
-    36f6:	02 00 00 
-    36f9:	0f 85 8c e9 ff ff    	jne    0x208b
-    36ff:	83 bd 20 ff ff ff 00 	cmpl   $0x0,-0xe0(%ebp)
-    3706:	0f 85 5c 0a 00 00    	jne    0x4168
-    370c:	8b bd 08 ff ff ff    	mov    -0xf8(%ebp),%edi
-    3712:	8b 07                	mov    (%edi),%eax
-    3714:	83 c7 04             	add    $0x4,%edi
-    3717:	89 bd 08 ff ff ff    	mov    %edi,-0xf8(%ebp)
-    371d:	8b 95 30 ff ff ff    	mov    -0xd0(%ebp),%edx
-    3723:	89 10                	mov    %edx,(%eax)
-    3725:	e9 a7 e0 ff ff       	jmp    0x17d1
-    372a:	83 bd 20 ff ff ff 00 	cmpl   $0x0,-0xe0(%ebp)
-    3731:	0f 85 0f 05 00 00    	jne    0x3c46
-    3737:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
-    373d:	8b 8d 08 ff ff ff    	mov    -0xf8(%ebp),%ecx
-    3743:	8b 12                	mov    (%edx),%edx
-    3745:	83 c1 04             	add    $0x4,%ecx
-    3748:	89 8d 08 ff ff ff    	mov    %ecx,-0xf8(%ebp)
-    374e:	89 95 fc fe ff ff    	mov    %edx,-0x104(%ebp)
-    3754:	83 bd fc fe ff ff 00 	cmpl   $0x0,-0x104(%ebp)
-    375b:	0f 85 8c e1 ff ff    	jne    0x18ed
-    3761:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
-    3767:	bf 02 00 00 00       	mov    $0x2,%edi
-    376c:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
-    3772:	e9 29 cb ff ff       	jmp    0x2a0
-    3777:	8b 8d 00 ff ff ff    	mov    -0x100(%ebp),%ecx
-    377d:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
-    3783:	89 04 24             	mov    %eax,(%esp)
-    3786:	c1 e1 03             	shl    $0x3,%ecx
-    3789:	89 4c 24 04          	mov    %ecx,0x4(%esp)
-    378d:	e8 fc ff ff ff       	call   0x378e
-    3792:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
-    3798:	85 c0                	test   %eax,%eax
-    379a:	0f 84 31 2f 00 00    	je     0x66d1
-    37a0:	8b b5 10 ff ff ff    	mov    -0xf0(%ebp),%esi
-    37a6:	d1 a5 00 ff ff ff    	shll   -0x100(%ebp)
-    37ac:	89 06                	mov    %eax,(%esi)
-    37ae:	8d 34 10             	lea    (%eax,%edx,1),%esi
-    37b1:	e9 4f d4 ff ff       	jmp    0xc05
-    37b6:	8b 8d ec fe ff ff    	mov    -0x114(%ebp),%ecx
-    37bc:	81 ec 98 00 00 00    	sub    $0x98,%esp
-    37c2:	8d 44 24 1f          	lea    0x1f(%esp),%eax
-    37c6:	83 e0 f0             	and    $0xfffffff0,%eax
-    37c9:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
-    37cf:	89 48 04             	mov    %ecx,0x4(%eax)
-    37d2:	89 85 ec fe ff ff    	mov    %eax,-0x114(%ebp)
-    37d8:	31 c0                	xor    %eax,%eax
-    37da:	c7 85 48 ff ff ff 01 	movl   $0x1,-0xb8(%ebp)
-    37e1:	00 00 00 
-    37e4:	e9 49 d3 ff ff       	jmp    0xb32
-    37e9:	8b 8d ec fe ff ff    	mov    -0x114(%ebp),%ecx
-    37ef:	81 ec 98 00 00 00    	sub    $0x98,%esp
-    37f5:	8d 44 24 1f          	lea    0x1f(%esp),%eax
-    37f9:	83 e0 f0             	and    $0xfffffff0,%eax
-    37fc:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
-    3802:	89 48 04             	mov    %ecx,0x4(%eax)
-    3805:	89 85 ec fe ff ff    	mov    %eax,-0x114(%ebp)
-    380b:	31 c0                	xor    %eax,%eax
-    380d:	c7 85 48 ff ff ff 01 	movl   $0x1,-0xb8(%ebp)
-    3814:	00 00 00 
-    3817:	e9 2c d5 ff ff       	jmp    0xd48
-    381c:	89 34 24             	mov    %esi,(%esp)
-    381f:	e8 fc ff ff ff       	call   0x3820
-    3824:	89 c3                	mov    %eax,%ebx
-    3826:	e9 0a ca ff ff       	jmp    0x235
-    382b:	a1 00 00 00 00       	mov    0x0,%eax
-    3830:	65 c7 00 09 00 00 00 	movl   $0x9,%gs:(%eax)
-    3837:	e9 0b c8 ff ff       	jmp    0x47
-    383c:	89 b5 f8 fe ff ff    	mov    %esi,-0x108(%ebp)
-    3842:	8b b5 48 ff ff ff    	mov    -0xb8(%ebp),%esi
-    3848:	e9 9f e5 ff ff       	jmp    0x1dec
-    384d:	89 bd f8 fe ff ff    	mov    %edi,-0x108(%ebp)
-    3853:	a1 00 00 00 00       	mov    0x0,%eax
-    3858:	89 d6                	mov    %edx,%esi
-    385a:	8b bd 1c ff ff ff    	mov    -0xe4(%ebp),%edi
-    3860:	65 89 38             	mov    %edi,%gs:(%eax)
-    3863:	e9 81 e6 ff ff       	jmp    0x1ee9
-    3868:	89 bd f8 fe ff ff    	mov    %edi,-0x108(%ebp)
-    386e:	89 d6                	mov    %edx,%esi
-    3870:	e9 74 e6 ff ff       	jmp    0x1ee9
-    3875:	a1 00 00 00 00       	mov    0x0,%eax
-    387a:	8b bd 1c ff ff ff    	mov    -0xe4(%ebp),%edi
-    3880:	65 89 38             	mov    %edi,%gs:(%eax)
-    3883:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
-    3889:	89 d6                	mov    %edx,%esi
-    388b:	bf 02 00 00 00       	mov    $0x2,%edi
-    3890:	e9 0b ca ff ff       	jmp    0x2a0
-    3895:	8b 8d ec fe ff ff    	mov    -0x114(%ebp),%ecx
-    389b:	81 ec 98 00 00 00    	sub    $0x98,%esp
-    38a1:	8d 44 24 1f          	lea    0x1f(%esp),%eax
-    38a5:	83 e0 f0             	and    $0xfffffff0,%eax
-    38a8:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
-    38ae:	89 48 04             	mov    %ecx,0x4(%eax)
-    38b1:	89 85 ec fe ff ff    	mov    %eax,-0x114(%ebp)
-    38b7:	31 c0                	xor    %eax,%eax
-    38b9:	c7 85 48 ff ff ff 01 	movl   $0x1,-0xb8(%ebp)
-    38c0:	00 00 00 
-    38c3:	e9 89 e3 ff ff       	jmp    0x1c51
-    38c8:	8b 85 34 ff ff ff    	mov    -0xcc(%ebp),%eax
-    38ce:	89 8d cc fe ff ff    	mov    %ecx,-0x134(%ebp)
-    38d4:	89 04 24             	mov    %eax,(%esp)
-    38d7:	e8 fc ff ff ff       	call   0x38d8
-    38dc:	8b 8d cc fe ff ff    	mov    -0x134(%ebp),%ecx
-    38e2:	89 c3                	mov    %eax,%ebx
-    38e4:	e9 d4 d5 ff ff       	jmp    0xebd
-    38e9:	8b 8d fc fe ff ff    	mov    -0x104(%ebp),%ecx
-    38ef:	8d 55 a4             	lea    -0x5c(%ebp),%edx
-    38f2:	89 44 24 08          	mov    %eax,0x8(%esp)
-    38f6:	89 54 24 04          	mov    %edx,0x4(%esp)
-    38fa:	89 0c 24             	mov    %ecx,(%esp)
-    38fd:	e8 fc ff ff ff       	call   0x38fe
-    3902:	c6 00 00             	movb   $0x0,(%eax)
-    3905:	83 c0 01             	add    $0x1,%eax
-    3908:	89 85 fc fe ff ff    	mov    %eax,-0x104(%ebp)
-    390e:	8b 85 00 ff ff ff    	mov    -0x100(%ebp),%eax
-    3914:	e9 6c ec ff ff       	jmp    0x2585
-    3919:	dd d8                	fstp   %st(0)
-    391b:	eb 06                	jmp    0x3923
-    391d:	dd d8                	fstp   %st(0)
-    391f:	eb 02                	jmp    0x3923
-    3921:	dd d8                	fstp   %st(0)
-    3923:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
-    3929:	bf 02 00 00 00       	mov    $0x2,%edi
-    392e:	e9 6d c9 ff ff       	jmp    0x2a0
-    3933:	89 bd fc fe ff ff    	mov    %edi,-0x104(%ebp)
-    3939:	a1 00 00 00 00       	mov    0x0,%eax
-    393e:	8b bd 1c ff ff ff    	mov    -0xe4(%ebp),%edi
-    3944:	8b b5 48 ff ff ff    	mov    -0xb8(%ebp),%esi
-    394a:	65 89 38             	mov    %edi,%gs:(%eax)
-    394d:	e9 cb f3 ff ff       	jmp    0x2d1d
-    3952:	8b b5 48 ff ff ff    	mov    -0xb8(%ebp),%esi
-    3958:	89 bd fc fe ff ff    	mov    %edi,-0x104(%ebp)
-    395e:	e9 ba f3 ff ff       	jmp    0x2d1d
-    3963:	a1 00 00 00 00       	mov    0x0,%eax
-    3968:	8b bd 1c ff ff ff    	mov    -0xe4(%ebp),%edi
-    396e:	65 89 38             	mov    %edi,%gs:(%eax)
-    3971:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
-    3977:	bf 02 00 00 00       	mov    $0x2,%edi
-    397c:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
-    3982:	e9 19 c9 ff ff       	jmp    0x2a0
-    3987:	f7 85 2c ff ff ff 00 	testl  $0x2000,-0xd4(%ebp)
-    398e:	20 00 00 
-    3991:	0f 85 d3 ef ff ff    	jne    0x296a
-    3997:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
-    399d:	bf 02 00 00 00       	mov    $0x2,%edi
-    39a2:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
-    39a8:	e9 f3 c8 ff ff       	jmp    0x2a0
-    39ad:	f7 85 2c ff ff ff 00 	testl  $0x2000,-0xd4(%ebp)
-    39b4:	20 00 00 
-    39b7:	0f 85 ad ef ff ff    	jne    0x296a
-    39bd:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
-    39c3:	bf 02 00 00 00       	mov    $0x2,%edi
-    39c8:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
-    39ce:	e9 cd c8 ff ff       	jmp    0x2a0
-    39d3:	8b b5 fc fe ff ff    	mov    -0x104(%ebp),%esi
-    39d9:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
-    39dc:	89 44 24 08          	mov    %eax,0x8(%esp)
-    39e0:	89 4c 24 04          	mov    %ecx,0x4(%esp)
-    39e4:	89 34 24             	mov    %esi,(%esp)
-    39e7:	e8 fc ff ff ff       	call   0x39e8
-    39ec:	c6 00 00             	movb   $0x0,(%eax)
-    39ef:	83 c0 01             	add    $0x1,%eax
-    39f2:	89 85 fc fe ff ff    	mov    %eax,-0x104(%ebp)
-    39f8:	8b 85 00 ff ff ff    	mov    -0x100(%ebp),%eax
-    39fe:	e9 17 f5 ff ff       	jmp    0x2f1a
-    3a03:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
-    3a09:	8b 8d 20 ff ff ff    	mov    -0xe0(%ebp),%ecx
-    3a0f:	83 bd 20 ff ff ff 01 	cmpl   $0x1,-0xe0(%ebp)
-    3a16:	8d 44 8a fc          	lea    -0x4(%edx,%ecx,4),%eax
-    3a1a:	0f 45 d0             	cmovne %eax,%edx
-    3a1d:	8b 02                	mov    (%edx),%eax
-    3a1f:	e9 9e dd ff ff       	jmp    0x17c2
-    3a24:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
-    3a2a:	8b 8d 20 ff ff ff    	mov    -0xe0(%ebp),%ecx
-    3a30:	83 bd 20 ff ff ff 01 	cmpl   $0x1,-0xe0(%ebp)
-    3a37:	8d 4c 8a fc          	lea    -0x4(%edx,%ecx,4),%ecx
-    3a3b:	0f 45 d1             	cmovne %ecx,%edx
-    3a3e:	8b 12                	mov    (%edx),%edx
-    3a40:	89 95 10 ff ff ff    	mov    %edx,-0xf0(%ebp)
-    3a46:	e9 6d d8 ff ff       	jmp    0x12b8
-    3a4b:	8b b5 fc fe ff ff    	mov    -0x104(%ebp),%esi
-    3a51:	c6 06 00             	movb   $0x0,(%esi)
-    3a54:	83 c6 01             	add    $0x1,%esi
-    3a57:	f7 85 2c ff ff ff 00 	testl  $0x2100,-0xd4(%ebp)
-    3a5e:	21 00 00 
-    3a61:	89 b5 fc fe ff ff    	mov    %esi,-0x104(%ebp)
-    3a67:	0f 85 e4 ea ff ff    	jne    0x2551
-    3a6d:	8b 85 00 ff ff ff    	mov    -0x100(%ebp),%eax
-    3a73:	e9 0d eb ff ff       	jmp    0x2585
-    3a78:	8b b5 fc fe ff ff    	mov    -0x104(%ebp),%esi
-    3a7e:	c6 06 00             	movb   $0x0,(%esi)
-    3a81:	83 c6 01             	add    $0x1,%esi
-    3a84:	f7 85 2c ff ff ff 00 	testl  $0x2100,-0xd4(%ebp)
-    3a8b:	21 00 00 
-    3a8e:	89 b5 fc fe ff ff    	mov    %esi,-0x104(%ebp)
-    3a94:	0f 85 4c f4 ff ff    	jne    0x2ee6
-    3a9a:	8b 85 00 ff ff ff    	mov    -0x100(%ebp),%eax
-    3aa0:	e9 75 f4 ff ff       	jmp    0x2f1a
-    3aa5:	89 bd fc fe ff ff    	mov    %edi,-0x104(%ebp)
-    3aab:	a1 00 00 00 00       	mov    0x0,%eax
-    3ab0:	8b bd 1c ff ff ff    	mov    -0xe4(%ebp),%edi
-    3ab6:	8b b5 48 ff ff ff    	mov    -0xb8(%ebp),%esi
-    3abc:	65 89 38             	mov    %edi,%gs:(%eax)
-    3abf:	e9 a0 f3 ff ff       	jmp    0x2e64
-    3ac4:	8b 8d 34 ff ff ff    	mov    -0xcc(%ebp),%ecx
-    3aca:	89 0c 24             	mov    %ecx,(%esp)
-    3acd:	e8 fc ff ff ff       	call   0x3ace
-    3ad2:	89 c3                	mov    %eax,%ebx
-    3ad4:	e9 e2 c9 ff ff       	jmp    0x4bb
-    3ad9:	83 bd 40 ff ff ff 01 	cmpl   $0x1,-0xc0(%ebp)
-    3ae0:	89 d6                	mov    %edx,%esi
-    3ae2:	0f 84 3e 29 00 00    	je     0x6426
-    3ae8:	81 8d 2c ff ff ff 00 	orl    $0x800,-0xd4(%ebp)
-    3aef:	08 00 00 
-    3af2:	81 a5 2c ff ff ff 7f 	andl   $0xffffff7f,-0xd4(%ebp)
-    3af9:	ff ff ff 
-    3afc:	83 fb ff             	cmp    $0xffffffff,%ebx
-    3aff:	89 5e 04             	mov    %ebx,0x4(%esi)
-    3b02:	0f 84 0b 29 00 00    	je     0x6413
-    3b08:	8b 8d 34 ff ff ff    	mov    -0xcc(%ebp),%ecx
-    3b0e:	8b 41 5c             	mov    0x5c(%ecx),%eax
-    3b11:	85 c0                	test   %eax,%eax
-    3b13:	0f 84 e5 28 00 00    	je     0x63fe
-    3b19:	8b 10                	mov    (%eax),%edx
-    3b1b:	3b 50 04             	cmp    0x4(%eax),%edx
-    3b1e:	0f 83 da 28 00 00    	jae    0x63fe
-    3b24:	8b 1a                	mov    (%edx),%ebx
-    3b26:	83 c2 04             	add    $0x4,%edx
-    3b29:	89 10                	mov    %edx,(%eax)
-    3b2b:	83 fb ff             	cmp    $0xffffffff,%ebx
-    3b2e:	0f 84 cc 0c 00 00    	je     0x4800
-    3b34:	83 85 30 ff ff ff 01 	addl   $0x1,-0xd0(%ebp)
-    3b3b:	85 ff                	test   %edi,%edi
-    3b3d:	7e 03                	jle    0x3b42
-    3b3f:	83 ef 01             	sub    $0x1,%edi
-    3b42:	b8 02 00 00 00       	mov    $0x2,%eax
-    3b47:	c7 85 e0 fe ff ff 70 	movl   $0x70,-0x120(%ebp)
-    3b4e:	00 00 00 
-    3b51:	e9 a2 d8 ff ff       	jmp    0x13f8
-    3b56:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
-    3b5c:	8b 85 20 ff ff ff    	mov    -0xe0(%ebp),%eax
-    3b62:	83 bd 20 ff ff ff 01 	cmpl   $0x1,-0xe0(%ebp)
-    3b69:	8d 44 82 fc          	lea    -0x4(%edx,%eax,4),%eax
-    3b6d:	0f 45 d0             	cmovne %eax,%edx
-    3b70:	8b 12                	mov    (%edx),%edx
-    3b72:	89 95 10 ff ff ff    	mov    %edx,-0xf0(%ebp)
-    3b78:	e9 7d e0 ff ff       	jmp    0x1bfa
-    3b7d:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
-    3b83:	8b 85 20 ff ff ff    	mov    -0xe0(%ebp),%eax
-    3b89:	83 bd 20 ff ff ff 01 	cmpl   $0x1,-0xe0(%ebp)
-    3b90:	8d 44 82 fc          	lea    -0x4(%edx,%eax,4),%eax
-    3b94:	0f 45 d0             	cmovne %eax,%edx
-    3b97:	8b 12                	mov    (%edx),%edx
-    3b99:	89 95 fc fe ff ff    	mov    %edx,-0x104(%ebp)
-    3b9f:	e9 db fa ff ff       	jmp    0x367f
-    3ba4:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
-    3baa:	8b 85 20 ff ff ff    	mov    -0xe0(%ebp),%eax
-    3bb0:	83 bd 20 ff ff ff 01 	cmpl   $0x1,-0xe0(%ebp)
-    3bb7:	8d 44 82 fc          	lea    -0x4(%edx,%eax,4),%eax
-    3bbb:	0f 45 d0             	cmovne %eax,%edx
-    3bbe:	8b 12                	mov    (%edx),%edx
-    3bc0:	89 95 10 ff ff ff    	mov    %edx,-0xf0(%ebp)
-    3bc6:	e9 f8 d9 ff ff       	jmp    0x15c3
-    3bcb:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
-    3bd1:	8b 85 20 ff ff ff    	mov    -0xe0(%ebp),%eax
-    3bd7:	83 bd 20 ff ff ff 01 	cmpl   $0x1,-0xe0(%ebp)
-    3bde:	8d 44 82 fc          	lea    -0x4(%edx,%eax,4),%eax
-    3be2:	0f 45 d0             	cmovne %eax,%edx
-    3be5:	8b 12                	mov    (%edx),%edx
-    3be7:	89 95 f8 fe ff ff    	mov    %edx,-0x108(%ebp)
-    3bed:	e9 40 fa ff ff       	jmp    0x3632
-    3bf2:	8b 8d ec fe ff ff    	mov    -0x114(%ebp),%ecx
-    3bf8:	81 ec 98 00 00 00    	sub    $0x98,%esp
-    3bfe:	8d 44 24 1f          	lea    0x1f(%esp),%eax
-    3c02:	83 e0 f0             	and    $0xfffffff0,%eax
-    3c05:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
-    3c0b:	89 48 04             	mov    %ecx,0x4(%eax)
-    3c0e:	89 85 ec fe ff ff    	mov    %eax,-0x114(%ebp)
-    3c14:	31 c0                	xor    %eax,%eax
-    3c16:	c7 85 48 ff ff ff 01 	movl   $0x1,-0xb8(%ebp)
-    3c1d:	00 00 00 
-    3c20:	e9 f4 d9 ff ff       	jmp    0x1619
-    3c25:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
-    3c2b:	8b 8d 20 ff ff ff    	mov    -0xe0(%ebp),%ecx
-    3c31:	83 bd 20 ff ff ff 01 	cmpl   $0x1,-0xe0(%ebp)
-    3c38:	8d 44 8a fc          	lea    -0x4(%edx,%ecx,4),%eax
-    3c3c:	0f 45 d0             	cmovne %eax,%edx
-    3c3f:	8b 02                	mov    (%edx),%eax
-    3c41:	e9 ae ee ff ff       	jmp    0x2af4
-    3c46:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
-    3c4c:	8b 85 20 ff ff ff    	mov    -0xe0(%ebp),%eax
-    3c52:	83 bd 20 ff ff ff 01 	cmpl   $0x1,-0xe0(%ebp)
-    3c59:	8d 44 82 fc          	lea    -0x4(%edx,%eax,4),%eax
-    3c5d:	0f 45 d0             	cmovne %eax,%edx
-    3c60:	8b 12                	mov    (%edx),%edx
-    3c62:	89 95 fc fe ff ff    	mov    %edx,-0x104(%ebp)
-    3c68:	e9 e7 fa ff ff       	jmp    0x3754
-    3c6d:	8b 85 34 ff ff ff    	mov    -0xcc(%ebp),%eax
-    3c73:	bf 02 00 00 00       	mov    $0x2,%edi
-    3c78:	89 5c 24 04          	mov    %ebx,0x4(%esp)
-    3c7c:	89 04 24             	mov    %eax,(%esp)
-    3c7f:	e8 fc ff ff ff       	call   0x3c80
-    3c84:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
-    3c8a:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
-    3c90:	e9 0b c6 ff ff       	jmp    0x2a0
-    3c95:	8b b5 48 ff ff ff    	mov    -0xb8(%ebp),%esi
-    3c9b:	b8 00 01 00 00       	mov    $0x100,%eax
-    3ca0:	01 f6                	add    %esi,%esi
-    3ca2:	81 fe 00 01 00 00    	cmp    $0x100,%esi
-    3ca8:	0f 43 c6             	cmovae %esi,%eax
-    3cab:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
-    3cb2:	89 85 14 ff ff ff    	mov    %eax,-0xec(%ebp)
-    3cb8:	8b 85 44 ff ff ff    	mov    -0xbc(%ebp),%eax
-    3cbe:	75 12                	jne    0x3cd2
-    3cc0:	81 bd 14 ff ff ff 00 	cmpl   $0x10000,-0xec(%ebp)
-    3cc7:	00 01 00 
-    3cca:	0f 86 1a 14 00 00    	jbe    0x50ea
-    3cd0:	31 c0                	xor    %eax,%eax
-    3cd2:	8b 95 14 ff ff ff    	mov    -0xec(%ebp),%edx
-    3cd8:	89 8d cc fe ff ff    	mov    %ecx,-0x134(%ebp)
-    3cde:	89 04 24             	mov    %eax,(%esp)
-    3ce1:	89 54 24 04          	mov    %edx,0x4(%esp)
-    3ce5:	e8 fc ff ff ff       	call   0x3ce6
-    3cea:	8b 8d cc fe ff ff    	mov    -0x134(%ebp),%ecx
-    3cf0:	85 c0                	test   %eax,%eax
-    3cf2:	89 c6                	mov    %eax,%esi
-    3cf4:	0f 84 f2 1a 00 00    	je     0x57ec
-    3cfa:	8b 85 14 ff ff ff    	mov    -0xec(%ebp),%eax
-    3d00:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
-    3d07:	89 85 40 ff ff ff    	mov    %eax,-0xc0(%ebp)
-    3d0d:	0f 85 7b d1 ff ff    	jne    0xe8e
-    3d13:	8b 95 48 ff ff ff    	mov    -0xb8(%ebp),%edx
-    3d19:	8b 85 44 ff ff ff    	mov    -0xbc(%ebp),%eax
-    3d1f:	89 8d cc fe ff ff    	mov    %ecx,-0x134(%ebp)
-    3d25:	89 34 24             	mov    %esi,(%esp)
-    3d28:	89 54 24 08          	mov    %edx,0x8(%esp)
-    3d2c:	89 44 24 04          	mov    %eax,0x4(%esp)
-    3d30:	e8 fc ff ff ff       	call   0x3d31
-    3d35:	8b 95 14 ff ff ff    	mov    -0xec(%ebp),%edx
-    3d3b:	c6 85 0f ff ff ff 01 	movb   $0x1,-0xf1(%ebp)
-    3d42:	8b 8d cc fe ff ff    	mov    -0x134(%ebp),%ecx
-    3d48:	89 95 40 ff ff ff    	mov    %edx,-0xc0(%ebp)
-    3d4e:	e9 3b d1 ff ff       	jmp    0xe8e
-    3d53:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
-    3d59:	bf 01 00 00 00       	mov    $0x1,%edi
-    3d5e:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
-    3d64:	e9 37 c5 ff ff       	jmp    0x2a0
-    3d69:	a1 00 00 00 00       	mov    0x0,%eax
-    3d6e:	8b 95 1c ff ff ff    	mov    -0xe4(%ebp),%edx
-    3d74:	c7 85 3c ff ff ff 10 	movl   $0x10,-0xc4(%ebp)
-    3d7b:	00 00 00 
-    3d7e:	65 89 10             	mov    %edx,%gs:(%eax)
-    3d81:	e9 d9 ca ff ff       	jmp    0x85f
-    3d86:	a1 00 00 00 00       	mov    0x0,%eax
-    3d8b:	65 8b 00             	mov    %gs:(%eax),%eax
-    3d8e:	89 85 1c ff ff ff    	mov    %eax,-0xe4(%ebp)
-    3d94:	e9 65 f5 ff ff       	jmp    0x32fe
-    3d99:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
-    3d9f:	8b 8d 20 ff ff ff    	mov    -0xe0(%ebp),%ecx
-    3da5:	83 bd 20 ff ff ff 01 	cmpl   $0x1,-0xe0(%ebp)
-    3dac:	8d 4c 8a fc          	lea    -0x4(%edx,%ecx,4),%ecx
-    3db0:	0f 45 d1             	cmovne %ecx,%edx
-    3db3:	8b 12                	mov    (%edx),%edx
-    3db5:	89 95 10 ff ff ff    	mov    %edx,-0xf0(%ebp)
-    3dbb:	e9 b5 da ff ff       	jmp    0x1875
-    3dc0:	8b 8d ec fe ff ff    	mov    -0x114(%ebp),%ecx
-    3dc6:	81 ec 98 00 00 00    	sub    $0x98,%esp
-    3dcc:	8d 44 24 1f          	lea    0x1f(%esp),%eax
-    3dd0:	83 e0 f0             	and    $0xfffffff0,%eax
-    3dd3:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
-    3dd9:	89 48 04             	mov    %ecx,0x4(%eax)
-    3ddc:	89 85 ec fe ff ff    	mov    %eax,-0x114(%ebp)
-    3de2:	31 c0                	xor    %eax,%eax
-    3de4:	c7 85 48 ff ff ff 01 	movl   $0x1,-0xb8(%ebp)
-    3deb:	00 00 00 
-    3dee:	e9 d8 da ff ff       	jmp    0x18cb
-    3df3:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
-    3df9:	8b 8d 20 ff ff ff    	mov    -0xe0(%ebp),%ecx
-    3dff:	83 bd 20 ff ff ff 01 	cmpl   $0x1,-0xe0(%ebp)
-    3e06:	8d 44 8a fc          	lea    -0x4(%edx,%ecx,4),%eax
-    3e0a:	0f 45 d0             	cmovne %eax,%edx
-    3e0d:	8b 02                	mov    (%edx),%eax
-    3e0f:	e9 01 f3 ff ff       	jmp    0x3115
-    3e14:	8b 8d 34 ff ff ff    	mov    -0xcc(%ebp),%ecx
-    3e1a:	8b b5 48 ff ff ff    	mov    -0xb8(%ebp),%esi
-    3e20:	89 bd fc fe ff ff    	mov    %edi,-0x104(%ebp)
-    3e26:	83 ad 38 ff ff ff 01 	subl   $0x1,-0xc8(%ebp)
-    3e2d:	89 5c 24 04          	mov    %ebx,0x4(%esp)
-    3e31:	89 0c 24             	mov    %ecx,(%esp)
-    3e34:	e8 fc ff ff ff       	call   0x3e35
-    3e39:	e9 26 f0 ff ff       	jmp    0x2e64
-    3e3e:	8b b5 48 ff ff ff    	mov    -0xb8(%ebp),%esi
-    3e44:	89 bd fc fe ff ff    	mov    %edi,-0x104(%ebp)
-    3e4a:	e9 15 f0 ff ff       	jmp    0x2e64
-    3e4f:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
-    3e55:	8b 8d 20 ff ff ff    	mov    -0xe0(%ebp),%ecx
-    3e5b:	83 bd 20 ff ff ff 01 	cmpl   $0x1,-0xe0(%ebp)
-    3e62:	8d 44 8a fc          	lea    -0x4(%edx,%ecx,4),%eax
-    3e66:	0f 45 d0             	cmovne %eax,%edx
-    3e69:	8b 02                	mov    (%edx),%eax
-    3e6b:	e9 6d f1 ff ff       	jmp    0x2fdd
-    3e70:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
-    3e76:	8b bd 20 ff ff ff    	mov    -0xe0(%ebp),%edi
-    3e7c:	83 bd 20 ff ff ff 01 	cmpl   $0x1,-0xe0(%ebp)
-    3e83:	8d 44 ba fc          	lea    -0x4(%edx,%edi,4),%eax
-    3e87:	0f 45 d0             	cmovne %eax,%edx
-    3e8a:	8b 02                	mov    (%edx),%eax
-    3e8c:	e9 ac e7 ff ff       	jmp    0x263d
-    3e91:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
-    3e97:	8b 85 20 ff ff ff    	mov    -0xe0(%ebp),%eax
-    3e9d:	83 bd 20 ff ff ff 01 	cmpl   $0x1,-0xe0(%ebp)
-    3ea4:	8d 44 82 fc          	lea    -0x4(%edx,%eax,4),%eax
-    3ea8:	0f 45 d0             	cmovne %eax,%edx
-    3eab:	8b 12                	mov    (%edx),%edx
-    3ead:	89 95 fc fe ff ff    	mov    %edx,-0x104(%ebp)
-    3eb3:	e9 14 f8 ff ff       	jmp    0x36cc
-    3eb8:	8b bd fc fe ff ff    	mov    -0x104(%ebp),%edi
-    3ebe:	89 04 24             	mov    %eax,(%esp)
-    3ec1:	29 c7                	sub    %eax,%edi
-    3ec3:	8d 54 37 01          	lea    0x1(%edi,%esi,1),%edx
-    3ec7:	89 54 24 04          	mov    %edx,0x4(%esp)
-    3ecb:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
-    3ed1:	e8 fc ff ff ff       	call   0x3ed2
-    3ed6:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
-    3edc:	85 c0                	test   %eax,%eax
-    3ede:	0f 84 ea 0d 00 00    	je     0x4cce
-    3ee4:	8b 8d 10 ff ff ff    	mov    -0xf0(%ebp),%ecx
-    3eea:	8d 3c 38             	lea    (%eax,%edi,1),%edi
-    3eed:	89 bd fc fe ff ff    	mov    %edi,-0x104(%ebp)
-    3ef3:	89 95 00 ff ff ff    	mov    %edx,-0x100(%ebp)
-    3ef9:	89 01                	mov    %eax,(%ecx)
-    3efb:	e9 c1 ef ff ff       	jmp    0x2ec1
-    3f00:	31 c0                	xor    %eax,%eax
-    3f02:	85 ff                	test   %edi,%edi
-    3f04:	0f 9f c0             	setg   %al
-    3f07:	89 d6                	mov    %edx,%esi
-    3f09:	29 c7                	sub    %eax,%edi
-    3f0b:	83 bd 40 ff ff ff 03 	cmpl   $0x3,-0xc0(%ebp)
-    3f12:	0f 84 43 0c 00 00    	je     0x4b5b
-    3f18:	8b 9d 3c ff ff ff    	mov    -0xc4(%ebp),%ebx
-    3f1e:	85 ff                	test   %edi,%edi
-    3f20:	89 5e 0c             	mov    %ebx,0xc(%esi)
-    3f23:	0f 84 22 0c 00 00    	je     0x4b4b
-    3f29:	8b 95 34 ff ff ff    	mov    -0xcc(%ebp),%edx
-    3f2f:	8b 42 5c             	mov    0x5c(%edx),%eax
-    3f32:	85 c0                	test   %eax,%eax
-    3f34:	0f 84 f8 0b 00 00    	je     0x4b32
-    3f3a:	8b 10                	mov    (%eax),%edx
-    3f3c:	3b 50 04             	cmp    0x4(%eax),%edx
-    3f3f:	0f 83 ed 0b 00 00    	jae    0x4b32
-    3f45:	8b 1a                	mov    (%edx),%ebx
-    3f47:	83 c2 04             	add    $0x4,%edx
-    3f4a:	89 10                	mov    %edx,(%eax)
-    3f4c:	89 9d 44 ff ff ff    	mov    %ebx,-0xbc(%ebp)
-    3f52:	83 bd 44 ff ff ff ff 	cmpl   $0xffffffff,-0xbc(%ebp)
-    3f59:	0f 84 ec 0b 00 00    	je     0x4b4b
-    3f5f:	8b 95 44 ff ff ff    	mov    -0xbc(%ebp),%edx
-    3f65:	89 14 24             	mov    %edx,(%esp)
-    3f68:	e8 fc ff ff ff       	call   0x3f69
-    3f6d:	83 f8 6e             	cmp    $0x6e,%eax
-    3f70:	0f 85 ac 0b 00 00    	jne    0x4b22
-    3f76:	31 c0                	xor    %eax,%eax
-    3f78:	85 ff                	test   %edi,%edi
-    3f7a:	0f 9f c0             	setg   %al
-    3f7d:	29 c7                	sub    %eax,%edi
-    3f7f:	83 bd 40 ff ff ff 04 	cmpl   $0x4,-0xc0(%ebp)
-    3f86:	0f 84 60 0b 00 00    	je     0x4aec
-    3f8c:	8b 95 44 ff ff ff    	mov    -0xbc(%ebp),%edx
-    3f92:	85 ff                	test   %edi,%edi
-    3f94:	89 56 10             	mov    %edx,0x10(%esi)
-    3f97:	0f 84 3f 0b 00 00    	je     0x4adc
-    3f9d:	8b 8d 34 ff ff ff    	mov    -0xcc(%ebp),%ecx
-    3fa3:	8b 41 5c             	mov    0x5c(%ecx),%eax
-    3fa6:	85 c0                	test   %eax,%eax
-    3fa8:	0f 84 15 0b 00 00    	je     0x4ac3
-    3fae:	8b 10                	mov    (%eax),%edx
-    3fb0:	3b 50 04             	cmp    0x4(%eax),%edx
-    3fb3:	0f 83 0a 0b 00 00    	jae    0x4ac3
-    3fb9:	8b 0a                	mov    (%edx),%ecx
-    3fbb:	83 c2 04             	add    $0x4,%edx
-    3fbe:	89 10                	mov    %edx,(%eax)
-    3fc0:	89 8d 44 ff ff ff    	mov    %ecx,-0xbc(%ebp)
-    3fc6:	83 bd 44 ff ff ff ff 	cmpl   $0xffffffff,-0xbc(%ebp)
-    3fcd:	0f 84 09 0b 00 00    	je     0x4adc
-    3fd3:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
-    3fd9:	89 0c 24             	mov    %ecx,(%esp)
-    3fdc:	e8 fc ff ff ff       	call   0x3fdd
-    3fe1:	83 f8 69             	cmp    $0x69,%eax
-    3fe4:	0f 85 c9 0a 00 00    	jne    0x4ab3
-    3fea:	31 c0                	xor    %eax,%eax
-    3fec:	85 ff                	test   %edi,%edi
-    3fee:	0f 9f c0             	setg   %al
-    3ff1:	29 c7                	sub    %eax,%edi
-    3ff3:	83 bd 40 ff ff ff 05 	cmpl   $0x5,-0xc0(%ebp)
-    3ffa:	0f 84 b6 09 00 00    	je     0x49b6
-    4000:	8b 95 44 ff ff ff    	mov    -0xbc(%ebp),%edx
-    4006:	85 ff                	test   %edi,%edi
-    4008:	89 56 14             	mov    %edx,0x14(%esi)
-    400b:	0f 84 95 09 00 00    	je     0x49a6
-    4011:	8b 8d 34 ff ff ff    	mov    -0xcc(%ebp),%ecx
-    4017:	8b 41 5c             	mov    0x5c(%ecx),%eax
-    401a:	85 c0                	test   %eax,%eax
-    401c:	0f 84 6b 09 00 00    	je     0x498d
-    4022:	8b 10                	mov    (%eax),%edx
-    4024:	3b 50 04             	cmp    0x4(%eax),%edx
-    4027:	0f 83 60 09 00 00    	jae    0x498d
-    402d:	8b 0a                	mov    (%edx),%ecx
-    402f:	83 c2 04             	add    $0x4,%edx
-    4032:	89 10                	mov    %edx,(%eax)
-    4034:	89 8d 44 ff ff ff    	mov    %ecx,-0xbc(%ebp)
-    403a:	83 bd 44 ff ff ff ff 	cmpl   $0xffffffff,-0xbc(%ebp)
-    4041:	0f 84 5f 09 00 00    	je     0x49a6
-    4047:	8b 9d 44 ff ff ff    	mov    -0xbc(%ebp),%ebx
-    404d:	89 1c 24             	mov    %ebx,(%esp)
-    4050:	e8 fc ff ff ff       	call   0x4051
-    4055:	83 f8 74             	cmp    $0x74,%eax
-    4058:	0f 85 1f 09 00 00    	jne    0x497d
-    405e:	31 c0                	xor    %eax,%eax
-    4060:	85 ff                	test   %edi,%edi
-    4062:	0f 9f c0             	setg   %al
-    4065:	29 c7                	sub    %eax,%edi
-    4067:	83 bd 40 ff ff ff 06 	cmpl   $0x6,-0xc0(%ebp)
-    406e:	0f 84 d7 08 00 00    	je     0x494b
-    4074:	8b 9d 44 ff ff ff    	mov    -0xbc(%ebp),%ebx
-    407a:	85 ff                	test   %edi,%edi
-    407c:	89 5e 18             	mov    %ebx,0x18(%esi)
-    407f:	0f 84 b6 08 00 00    	je     0x493b
-    4085:	8b bd 34 ff ff ff    	mov    -0xcc(%ebp),%edi
-    408b:	8b 47 5c             	mov    0x5c(%edi),%eax
-    408e:	85 c0                	test   %eax,%eax
-    4090:	0f 84 8c 08 00 00    	je     0x4922
-    4096:	8b 10                	mov    (%eax),%edx
-    4098:	3b 50 04             	cmp    0x4(%eax),%edx
-    409b:	0f 83 81 08 00 00    	jae    0x4922
-    40a1:	8b 0a                	mov    (%edx),%ecx
-    40a3:	83 c2 04             	add    $0x4,%edx
-    40a6:	89 10                	mov    %edx,(%eax)
-    40a8:	89 8d 3c ff ff ff    	mov    %ecx,-0xc4(%ebp)
-    40ae:	83 bd 3c ff ff ff ff 	cmpl   $0xffffffff,-0xc4(%ebp)
-    40b5:	0f 84 80 08 00 00    	je     0x493b
-    40bb:	8b bd 3c ff ff ff    	mov    -0xc4(%ebp),%edi
-    40c1:	89 3c 24             	mov    %edi,(%esp)
-    40c4:	e8 fc ff ff ff       	call   0x40c5
-    40c9:	83 f8 79             	cmp    $0x79,%eax
-    40cc:	0f 85 40 08 00 00    	jne    0x4912
-    40d2:	83 bd 40 ff ff ff 07 	cmpl   $0x7,-0xc0(%ebp)
-    40d9:	89 f2                	mov    %esi,%edx
-    40db:	0f 84 41 0d 00 00    	je     0x4e22
-    40e1:	8b 9d 48 ff ff ff    	mov    -0xb8(%ebp),%ebx
-    40e7:	8b b5 3c ff ff ff    	mov    -0xc4(%ebp),%esi
-    40ed:	c7 85 44 ff ff ff 08 	movl   $0x8,-0xbc(%ebp)
-    40f4:	00 00 00 
-    40f7:	83 c3 04             	add    $0x4,%ebx
-    40fa:	89 9d 38 ff ff ff    	mov    %ebx,-0xc8(%ebp)
-    4100:	89 72 1c             	mov    %esi,0x1c(%edx)
-    4103:	e9 5d e9 ff ff       	jmp    0x2a65
-    4108:	a1 00 00 00 00       	mov    0x0,%eax
-    410d:	c7 85 44 ff ff ff 03 	movl   $0x3,-0xbc(%ebp)
-    4114:	00 00 00 
-    4117:	65 8b 00             	mov    %gs:(%eax),%eax
-    411a:	89 85 1c ff ff ff    	mov    %eax,-0xe4(%ebp)
-    4120:	e9 40 e9 ff ff       	jmp    0x2a65
-    4125:	a1 00 00 00 00       	mov    0x0,%eax
-    412a:	c7 85 3c ff ff ff 10 	movl   $0x10,-0xc4(%ebp)
-    4131:	00 00 00 
-    4134:	65 8b 00             	mov    %gs:(%eax),%eax
-    4137:	89 85 1c ff ff ff    	mov    %eax,-0xe4(%ebp)
-    413d:	e9 1d c7 ff ff       	jmp    0x85f
-    4142:	f7 85 2c ff ff ff 00 	testl  $0x2000,-0xd4(%ebp)
-    4149:	20 00 00 
-    414c:	0f 85 18 e8 ff ff    	jne    0x296a
-    4152:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
-    4158:	bf 02 00 00 00       	mov    $0x2,%edi
-    415d:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
-    4163:	e9 38 c1 ff ff       	jmp    0x2a0
-    4168:	8b 95 20 ff ff ff    	mov    -0xe0(%ebp),%edx
-    416e:	8b 8d 04 ff ff ff    	mov    -0xfc(%ebp),%ecx
-    4174:	8b 44 91 fc          	mov    -0x4(%ecx,%edx,4),%eax
-    4178:	e9 a0 f5 ff ff       	jmp    0x371d
-    417d:	8b bd 20 ff ff ff    	mov    -0xe0(%ebp),%edi
-    4183:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
-    4189:	8b 44 ba fc          	mov    -0x4(%edx,%edi,4),%eax
-    418d:	e9 17 df ff ff       	jmp    0x20a9
-    4192:	80 bd 20 ff ff ff 00 	cmpb   $0x0,-0xe0(%ebp)
-    4199:	0f 84 05 e1 ff ff    	je     0x22a4
-    419f:	83 fe ff             	cmp    $0xffffffff,%esi
-    41a2:	89 f3                	mov    %esi,%ebx
-    41a4:	0f 84 0e e3 ff ff    	je     0x24b8
-    41aa:	8b 85 34 ff ff ff    	mov    -0xcc(%ebp),%eax
-    41b0:	83 ad 38 ff ff ff 01 	subl   $0x1,-0xc8(%ebp)
-    41b7:	89 74 24 04          	mov    %esi,0x4(%esp)
-    41bb:	89 04 24             	mov    %eax,(%esp)
-    41be:	e8 fc ff ff ff       	call   0x41bf
-    41c3:	e9 f0 e2 ff ff       	jmp    0x24b8
-    41c8:	8b bd fc fe ff ff    	mov    -0x104(%ebp),%edi
-    41ce:	89 04 24             	mov    %eax,(%esp)
-    41d1:	29 c7                	sub    %eax,%edi
-    41d3:	8d 54 37 01          	lea    0x1(%edi,%esi,1),%edx
-    41d7:	89 54 24 04          	mov    %edx,0x4(%esp)
-    41db:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
-    41e1:	e8 fc ff ff ff       	call   0x41e2
-    41e6:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
-    41ec:	85 c0                	test   %eax,%eax
-    41ee:	0f 84 ac 2a 00 00    	je     0x6ca0
-    41f4:	8b 8d 10 ff ff ff    	mov    -0xf0(%ebp),%ecx
-    41fa:	8d 3c 38             	lea    (%eax,%edi,1),%edi
-    41fd:	89 bd fc fe ff ff    	mov    %edi,-0x104(%ebp)
-    4203:	89 95 00 ff ff ff    	mov    %edx,-0x100(%ebp)
-    4209:	89 01                	mov    %eax,(%ecx)
-    420b:	e9 1c e3 ff ff       	jmp    0x252c
-    4210:	65 8b 02             	mov    %gs:(%edx),%eax
-    4213:	8b 8d 10 ff ff ff    	mov    -0xf0(%ebp),%ecx
-    4219:	8b 00                	mov    (%eax),%eax
-    421b:	8b 40 5c             	mov    0x5c(%eax),%eax
-    421e:	03 85 30 ff ff ff    	add    -0xd0(%ebp),%eax
-    4224:	89 44 24 04          	mov    %eax,0x4(%esp)
-    4228:	8b 01                	mov    (%ecx),%eax
-    422a:	89 04 24             	mov    %eax,(%esp)
-    422d:	e8 fc ff ff ff       	call   0x422e
-    4232:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
-    4238:	85 c0                	test   %eax,%eax
-    423a:	0f 84 2a e7 ff ff    	je     0x296a
-    4240:	8b bd 10 ff ff ff    	mov    -0xf0(%ebp),%edi
-    4246:	8b 8d 30 ff ff ff    	mov    -0xd0(%ebp),%ecx
-    424c:	89 07                	mov    %eax,(%edi)
-    424e:	8d 3c 08             	lea    (%eax,%ecx,1),%edi
-    4251:	65 8b 02             	mov    %gs:(%edx),%eax
-    4254:	8b 00                	mov    (%eax),%eax
-    4256:	03 48 5c             	add    0x5c(%eax),%ecx
-    4259:	89 8d 00 ff ff ff    	mov    %ecx,-0x100(%ebp)
-    425f:	e9 0c d7 ff ff       	jmp    0x1970
-    4264:	65 8b 02             	mov    %gs:(%edx),%eax
-    4267:	8b 00                	mov    (%eax),%eax
-    4269:	8b 48 5c             	mov    0x5c(%eax),%ecx
-    426c:	8d 04 0f             	lea    (%edi,%ecx,1),%eax
-    426f:	8b 8d 10 ff ff ff    	mov    -0xf0(%ebp),%ecx
-    4275:	89 44 24 04          	mov    %eax,0x4(%esp)
-    4279:	8b 01                	mov    (%ecx),%eax
-    427b:	89 04 24             	mov    %eax,(%esp)
-    427e:	e8 fc ff ff ff       	call   0x427f
-    4283:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
-    4289:	85 c0                	test   %eax,%eax
-    428b:	0f 84 c6 01 00 00    	je     0x4457
-    4291:	65 8b 12             	mov    %gs:(%edx),%edx
-    4294:	8b 8d 10 ff ff ff    	mov    -0xf0(%ebp),%ecx
-    429a:	8b 12                	mov    (%edx),%edx
-    429c:	89 01                	mov    %eax,(%ecx)
-    429e:	01 f8                	add    %edi,%eax
-    42a0:	03 7a 5c             	add    0x5c(%edx),%edi
-    42a3:	89 bd 00 ff ff ff    	mov    %edi,-0x100(%ebp)
-    42a9:	e9 59 d4 ff ff       	jmp    0x1707
-    42ae:	80 bd 20 ff ff ff 00 	cmpb   $0x0,-0xe0(%ebp)
-    42b5:	0f 84 ea ea ff ff    	je     0x2da5
-    42bb:	83 fe ff             	cmp    $0xffffffff,%esi
-    42be:	89 f3                	mov    %esi,%ebx
-    42c0:	0f 84 65 ed ff ff    	je     0x302b
-    42c6:	8b bd 34 ff ff ff    	mov    -0xcc(%ebp),%edi
-    42cc:	83 ad 38 ff ff ff 01 	subl   $0x1,-0xc8(%ebp)
-    42d3:	89 74 24 04          	mov    %esi,0x4(%esp)
-    42d7:	89 3c 24             	mov    %edi,(%esp)
-    42da:	e8 fc ff ff ff       	call   0x42db
-    42df:	e9 47 ed ff ff       	jmp    0x302b
-    42e4:	80 bd 20 ff ff ff 00 	cmpb   $0x0,-0xe0(%ebp)
-    42eb:	0f 85 a2 ea ff ff    	jne    0x2d93
-    42f1:	80 bd e8 fe ff ff 00 	cmpb   $0x0,-0x118(%ebp)
-    42f8:	0f 84 cd da ff ff    	je     0x1dcb
-    42fe:	83 fe ff             	cmp    $0xffffffff,%esi
-    4301:	89 f3                	mov    %esi,%ebx
-    4303:	0f 84 22 ed ff ff    	je     0x302b
-    4309:	8b 8d 34 ff ff ff    	mov    -0xcc(%ebp),%ecx
-    430f:	83 ad 38 ff ff ff 01 	subl   $0x1,-0xc8(%ebp)
-    4316:	89 74 24 04          	mov    %esi,0x4(%esp)
-    431a:	89 0c 24             	mov    %ecx,(%esp)
-    431d:	e8 fc ff ff ff       	call   0x431e
-    4322:	e9 04 ed ff ff       	jmp    0x302b
-    4327:	8b 9d 1c ff ff ff    	mov    -0xe4(%ebp),%ebx
-    432d:	a1 00 00 00 00       	mov    0x0,%eax
-    4332:	65 89 18             	mov    %ebx,%gs:(%eax)
-    4335:	83 cb ff             	or     $0xffffffff,%ebx
-    4338:	e9 ee ec ff ff       	jmp    0x302b
-    433d:	89 f3                	mov    %esi,%ebx
-    433f:	e9 e7 ec ff ff       	jmp    0x302b
-    4344:	8b 9d 1c ff ff ff    	mov    -0xe4(%ebp),%ebx
-    434a:	a1 00 00 00 00       	mov    0x0,%eax
-    434f:	65 89 18             	mov    %ebx,%gs:(%eax)
-    4352:	83 cb ff             	or     $0xffffffff,%ebx
-    4355:	e9 5e e1 ff ff       	jmp    0x24b8
-    435a:	89 f3                	mov    %esi,%ebx
-    435c:	e9 57 e1 ff ff       	jmp    0x24b8
-    4361:	8b 85 34 ff ff ff    	mov    -0xcc(%ebp),%eax
-    4367:	89 04 24             	mov    %eax,(%esp)
-    436a:	e8 fc ff ff ff       	call   0x436b
-    436f:	89 c3                	mov    %eax,%ebx
-    4371:	e9 5c be ff ff       	jmp    0x1d2
-    4376:	8b 1d 00 00 00 00    	mov    0x0,%ebx
-    437c:	65 8b 03             	mov    %gs:(%ebx),%eax
-    437f:	e9 4d c1 ff ff       	jmp    0x4d1
-    4384:	a1 00 00 00 00       	mov    0x0,%eax
-    4389:	83 cb ff             	or     $0xffffffff,%ebx
-    438c:	65 c7 00 16 00 00 00 	movl   $0x16,%gs:(%eax)
-    4393:	e9 af bc ff ff       	jmp    0x47
-    4398:	f7 85 2c ff ff ff 00 	testl  $0x2000,-0xd4(%ebp)
-    439f:	20 00 00 
-    43a2:	0f 85 c2 e5 ff ff    	jne    0x296a
-    43a8:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
-    43ae:	bf 02 00 00 00       	mov    $0x2,%edi
-    43b3:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
-    43b9:	e9 e2 be ff ff       	jmp    0x2a0
-    43be:	80 bd 20 ff ff ff 00 	cmpb   $0x0,-0xe0(%ebp)
-    43c5:	0f 85 c7 de ff ff    	jne    0x2292
-    43cb:	80 bd e8 fe ff ff 00 	cmpb   $0x0,-0x118(%ebp)
-    43d2:	0f 84 b3 de ff ff    	je     0x228b
-    43d8:	83 fe ff             	cmp    $0xffffffff,%esi
-    43db:	89 f3                	mov    %esi,%ebx
-    43dd:	0f 84 d5 e0 ff ff    	je     0x24b8
-    43e3:	89 74 24 04          	mov    %esi,0x4(%esp)
-    43e7:	8b b5 34 ff ff ff    	mov    -0xcc(%ebp),%esi
-    43ed:	83 ad 38 ff ff ff 01 	subl   $0x1,-0xc8(%ebp)
-    43f4:	89 34 24             	mov    %esi,(%esp)
-    43f7:	e8 fc ff ff ff       	call   0x43f8
-    43fc:	e9 b7 e0 ff ff       	jmp    0x24b8
-    4401:	f7 85 2c ff ff ff 00 	testl  $0x2000,-0xd4(%ebp)
-    4408:	20 00 00 
-    440b:	0f 85 59 e5 ff ff    	jne    0x296a
-    4411:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
-    4417:	bf 02 00 00 00       	mov    $0x2,%edi
-    441c:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
-    4422:	e9 79 be ff ff       	jmp    0x2a0
-    4427:	89 ca                	mov    %ecx,%edx
-    4429:	c1 e2 03             	shl    $0x3,%edx
-    442c:	89 54 24 04          	mov    %edx,0x4(%esp)
-    4430:	89 04 24             	mov    %eax,(%esp)
-    4433:	e8 fc ff ff ff       	call   0x4434
-    4438:	85 c0                	test   %eax,%eax
-    443a:	74 5e                	je     0x449a
-    443c:	8b 8d 10 ff ff ff    	mov    -0xf0(%ebp),%ecx
-    4442:	d1 a5 00 ff ff ff    	shll   -0x100(%ebp)
-    4448:	89 01                	mov    %eax,(%ecx)
-    444a:	01 d8                	add    %ebx,%eax
-    444c:	89 85 f8 fe ff ff    	mov    %eax,-0x108(%ebp)
-    4452:	e9 9b e9 ff ff       	jmp    0x2df2
-    4457:	f7 85 2c ff ff ff 00 	testl  $0x2000,-0xd4(%ebp)
-    445e:	20 00 00 
-    4461:	0f 85 03 e5 ff ff    	jne    0x296a
-    4467:	8b 9d 10 ff ff ff    	mov    -0xf0(%ebp),%ebx
-    446d:	8b 03                	mov    (%ebx),%eax
-    446f:	c6 04 38 00          	movb   $0x0,(%eax,%edi,1)
-    4473:	bf 02 00 00 00       	mov    $0x2,%edi
-    4478:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
-    447e:	83 85 24 ff ff ff 01 	addl   $0x1,-0xdc(%ebp)
-    4485:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
-    448b:	c7 85 10 ff ff ff 00 	movl   $0x0,-0xf0(%ebp)
-    4492:	00 00 00 
+    13da:	0f 85 d7 11 00 00    	jne    0x25b7
+    13e0:	85 ff                	test   %edi,%edi
+    13e2:	0f 84 cf 11 00 00    	je     0x25b7
+    13e8:	8b 9d 40 ff ff ff    	mov    -0xc0(%ebp),%ebx
+    13ee:	85 db                	test   %ebx,%ebx
+    13f0:	0f 84 82 36 00 00    	je     0x4a78
+    13f6:	8b 95 44 ff ff ff    	mov    -0xbc(%ebp),%edx
+    13fc:	8b b5 34 ff ff ff    	mov    -0xcc(%ebp),%esi
+    1402:	c7 02 30 00 00 00    	movl   $0x30,(%edx)
+    1408:	8b 46 5c             	mov    0x5c(%esi),%eax
+    140b:	85 c0                	test   %eax,%eax
+    140d:	0f 84 de 3d 00 00    	je     0x51f1
+    1413:	8b 08                	mov    (%eax),%ecx
+    1415:	3b 48 04             	cmp    0x4(%eax),%ecx
+    1418:	0f 83 d3 3d 00 00    	jae    0x51f1
+    141e:	8b 19                	mov    (%ecx),%ebx
+    1420:	83 c1 04             	add    $0x4,%ecx
+    1423:	89 08                	mov    %ecx,(%eax)
+    1425:	83 fb ff             	cmp    $0xffffffff,%ebx
+    1428:	0f 84 eb 28 00 00    	je     0x3d19
+    142e:	83 85 30 ff ff ff 01 	addl   $0x1,-0xd0(%ebp)
+    1435:	31 c0                	xor    %eax,%eax
+    1437:	85 ff                	test   %edi,%edi
+    1439:	0f 9f c0             	setg   %al
+    143c:	29 c7                	sub    %eax,%edi
+    143e:	74 1d                	je     0x145d
+    1440:	89 1c 24             	mov    %ebx,(%esp)
+    1443:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
+    1449:	e8 fc ff ff ff       	call   0x144a
+    144e:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
+    1454:	83 f8 78             	cmp    $0x78,%eax
+    1457:	0f 84 cf 28 00 00    	je     0x3d2c
+    145d:	89 d6                	mov    %edx,%esi
+    145f:	b8 01 00 00 00       	mov    $0x1,%eax
+    1464:	c7 85 e0 fe ff ff 65 	movl   $0x65,-0x120(%ebp)
+    146b:	00 00 00 
+    146e:	e9 56 11 00 00       	jmp    0x25c9
+    1473:	83 fb ff             	cmp    $0xffffffff,%ebx
+    1476:	0f 84 27 1d 00 00    	je     0x31a3
+    147c:	8b b5 34 ff ff ff    	mov    -0xcc(%ebp),%esi
+    1482:	8b 46 5c             	mov    0x5c(%esi),%eax
+    1485:	85 c0                	test   %eax,%eax
+    1487:	0f 84 b3 52 00 00    	je     0x6740
+    148d:	8b 10                	mov    (%eax),%edx
+    148f:	3b 50 04             	cmp    0x4(%eax),%edx
+    1492:	0f 83 a8 52 00 00    	jae    0x6740
+    1498:	8b 1a                	mov    (%edx),%ebx
+    149a:	83 c2 04             	add    $0x4,%edx
+    149d:	89 10                	mov    %edx,(%eax)
+    149f:	83 fb ff             	cmp    $0xffffffff,%ebx
+    14a2:	0f 84 09 1d 00 00    	je     0x31b1
+    14a8:	83 fb 25             	cmp    $0x25,%ebx
+    14ab:	0f 85 20 52 00 00    	jne    0x66d1
+    14b1:	8b 85 30 ff ff ff    	mov    -0xd0(%ebp),%eax
+    14b7:	8b 95 28 ff ff ff    	mov    -0xd8(%ebp),%edx
+    14bd:	8b bd 40 ff ff ff    	mov    -0xc0(%ebp),%edi
+    14c3:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
+    14c9:	83 c0 01             	add    $0x1,%eax
+    14cc:	89 85 38 ff ff ff    	mov    %eax,-0xc8(%ebp)
+    14d2:	89 95 48 ff ff ff    	mov    %edx,-0xb8(%ebp)
+    14d8:	c7 85 3c ff ff ff 00 	movl   $0x0,-0xc4(%ebp)
+    14df:	00 00 00 
+    14e2:	e9 7b ec ff ff       	jmp    0x162
+    14e7:	f6 85 2c ff ff ff 01 	testb  $0x1,-0xd4(%ebp)
+    14ee:	0f 85 9c f5 ff ff    	jne    0xa90
+    14f4:	8b b5 2c ff ff ff    	mov    -0xd4(%ebp),%esi
+    14fa:	83 e6 08             	and    $0x8,%esi
+    14fd:	0f 85 b2 00 00 00    	jne    0x15b5
+    1503:	f7 85 2c ff ff ff 00 	testl  $0x2100,-0xd4(%ebp)
+    150a:	21 00 00 
+    150d:	0f 84 ae 21 00 00    	je     0x36c1
+    1513:	83 bd 20 ff ff ff 00 	cmpl   $0x0,-0xe0(%ebp)
+    151a:	0f 85 8c 27 00 00    	jne    0x3cac
+    1520:	8b 85 08 ff ff ff    	mov    -0xf8(%ebp),%eax
+    1526:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
+    152c:	8b 00                	mov    (%eax),%eax
+    152e:	83 c2 04             	add    $0x4,%edx
+    1531:	89 95 08 ff ff ff    	mov    %edx,-0xf8(%ebp)
+    1537:	89 85 10 ff ff ff    	mov    %eax,-0xf0(%ebp)
+    153d:	83 bd 10 ff ff ff 00 	cmpl   $0x0,-0xf0(%ebp)
+    1544:	0f 84 3a 2f 00 00    	je     0x4484
+    154a:	c7 04 24 64 00 00 00 	movl   $0x64,(%esp)
+    1551:	e8 fc ff ff ff       	call   0x1552
+    1556:	8b 95 10 ff ff ff    	mov    -0xf0(%ebp),%edx
+    155c:	85 c0                	test   %eax,%eax
+    155e:	89 85 fc fe ff ff    	mov    %eax,-0x104(%ebp)
+    1564:	89 02                	mov    %eax,(%edx)
+    1566:	0f 84 9b 29 00 00    	je     0x3f07
+    156c:	83 bd ec fe ff ff 00 	cmpl   $0x0,-0x114(%ebp)
+    1573:	0f 84 30 28 00 00    	je     0x3da9
+    1579:	8b 8d ec fe ff ff    	mov    -0x114(%ebp),%ecx
+    157f:	8b 01                	mov    (%ecx),%eax
+    1581:	83 f8 20             	cmp    $0x20,%eax
+    1584:	0f 84 1f 28 00 00    	je     0x3da9
+    158a:	8d 50 01             	lea    0x1(%eax),%edx
+    158d:	89 95 48 ff ff ff    	mov    %edx,-0xb8(%ebp)
+    1593:	8b 95 ec fe ff ff    	mov    -0x114(%ebp),%edx
+    1599:	8b 8d 10 ff ff ff    	mov    -0xf0(%ebp),%ecx
+    159f:	c7 85 00 ff ff ff 64 	movl   $0x64,-0x100(%ebp)
+    15a6:	00 00 00 
+    15a9:	89 4c 82 08          	mov    %ecx,0x8(%edx,%eax,4)
+    15ad:	8b 85 48 ff ff ff    	mov    -0xb8(%ebp),%eax
+    15b3:	89 02                	mov    %eax,(%edx)
+    15b5:	83 fb ff             	cmp    $0xffffffff,%ebx
+    15b8:	0f 84 89 12 00 00    	je     0x2847
+    15be:	8b 8d 34 ff ff ff    	mov    -0xcc(%ebp),%ecx
+    15c4:	8b 41 5c             	mov    0x5c(%ecx),%eax
+    15c7:	85 c0                	test   %eax,%eax
+    15c9:	0f 84 cb 2e 00 00    	je     0x449a
+    15cf:	8b 10                	mov    (%eax),%edx
+    15d1:	3b 50 04             	cmp    0x4(%eax),%edx
+    15d4:	0f 83 c0 2e 00 00    	jae    0x449a
+    15da:	8b 1a                	mov    (%edx),%ebx
+    15dc:	83 c2 04             	add    $0x4,%edx
+    15df:	89 10                	mov    %edx,(%eax)
+    15e1:	83 fb ff             	cmp    $0xffffffff,%ebx
+    15e4:	0f 84 6b 12 00 00    	je     0x2855
+    15ea:	8b 85 30 ff ff ff    	mov    -0xd0(%ebp),%eax
+    15f0:	8b 95 2c ff ff ff    	mov    -0xd4(%ebp),%edx
+    15f6:	89 b5 48 ff ff ff    	mov    %esi,-0xb8(%ebp)
+    15fc:	89 fe                	mov    %edi,%esi
+    15fe:	8b bd fc fe ff ff    	mov    -0x104(%ebp),%edi
+    1604:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
+    160b:	83 c0 01             	add    $0x1,%eax
+    160e:	81 e2 00 21 00 00    	and    $0x2100,%edx
+    1614:	89 85 38 ff ff ff    	mov    %eax,-0xc8(%ebp)
+    161a:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
+    1621:	89 95 3c ff ff ff    	mov    %edx,-0xc4(%ebp)
+    1627:	89 1c 24             	mov    %ebx,(%esp)
+    162a:	e8 fc ff ff ff       	call   0x162b
+    162f:	85 c0                	test   %eax,%eax
+    1631:	0f 85 00 28 00 00    	jne    0x3e37
+    1637:	8b 95 48 ff ff ff    	mov    -0xb8(%ebp),%edx
+    163d:	31 c0                	xor    %eax,%eax
+    163f:	85 d2                	test   %edx,%edx
+    1641:	75 40                	jne    0x1683
+    1643:	8b 8d 3c ff ff ff    	mov    -0xc4(%ebp),%ecx
+    1649:	85 c9                	test   %ecx,%ecx
+    164b:	74 32                	je     0x167f
+    164d:	8b 85 10 ff ff ff    	mov    -0xf0(%ebp),%eax
+    1653:	8b 15 00 00 00 00    	mov    0x0,%edx
+    1659:	8b 00                	mov    (%eax),%eax
+    165b:	89 85 14 ff ff ff    	mov    %eax,-0xec(%ebp)
+    1661:	65 8b 02             	mov    %gs:(%edx),%eax
+    1664:	8b 00                	mov    (%eax),%eax
+    1666:	8b 48 5c             	mov    0x5c(%eax),%ecx
+    1669:	8b 85 00 ff ff ff    	mov    -0x100(%ebp),%eax
+    166f:	03 85 14 ff ff ff    	add    -0xec(%ebp),%eax
+    1675:	01 f9                	add    %edi,%ecx
+    1677:	39 c1                	cmp    %eax,%ecx
+    1679:	0f 83 b2 10 00 00    	jae    0x2731
+    167f:	89 f8                	mov    %edi,%eax
+    1681:	89 c7                	mov    %eax,%edi
+    1683:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
+    1686:	89 4c 24 08          	mov    %ecx,0x8(%esp)
+    168a:	89 5c 24 04          	mov    %ebx,0x4(%esp)
+    168e:	89 04 24             	mov    %eax,(%esp)
+    1691:	e8 fc ff ff ff       	call   0x1692
+    1696:	83 f8 ff             	cmp    $0xffffffff,%eax
+    1699:	0f 84 aa 31 00 00    	je     0x4849
+    169f:	8b 15 00 00 00 00    	mov    0x0,%edx
+    16a5:	65 8b 12             	mov    %gs:(%edx),%edx
+    16a8:	8b 12                	mov    (%edx),%edx
+    16aa:	3b 42 5c             	cmp    0x5c(%edx),%eax
+    16ad:	0f 87 72 31 00 00    	ja     0x4825
+    16b3:	01 c7                	add    %eax,%edi
+    16b5:	85 f6                	test   %esi,%esi
+    16b7:	7e 09                	jle    0x16c2
+    16b9:	83 ee 01             	sub    $0x1,%esi
+    16bc:	0f 84 9f 27 00 00    	je     0x3e61
+    16c2:	83 fb ff             	cmp    $0xffffffff,%ebx
+    16c5:	0f 84 2f 26 00 00    	je     0x3cfa
+    16cb:	8b 95 34 ff ff ff    	mov    -0xcc(%ebp),%edx
+    16d1:	8b 42 5c             	mov    0x5c(%edx),%eax
+    16d4:	85 c0                	test   %eax,%eax
+    16d6:	0f 84 00 3b 00 00    	je     0x51dc
+    16dc:	8b 10                	mov    (%eax),%edx
+    16de:	3b 50 04             	cmp    0x4(%eax),%edx
+    16e1:	0f 83 f5 3a 00 00    	jae    0x51dc
+    16e7:	8b 1a                	mov    (%edx),%ebx
+    16e9:	83 c2 04             	add    $0x4,%edx
+    16ec:	89 10                	mov    %edx,(%eax)
+    16ee:	83 fb ff             	cmp    $0xffffffff,%ebx
+    16f1:	0f 84 0b 18 00 00    	je     0x2f02
+    16f7:	83 85 38 ff ff ff 01 	addl   $0x1,-0xc8(%ebp)
+    16fe:	e9 24 ff ff ff       	jmp    0x1627
+    1703:	f6 85 2c ff ff ff 08 	testb  $0x8,-0xd4(%ebp)
+    170a:	0f 85 2a 09 00 00    	jne    0x203a
+    1710:	f6 85 2c ff ff ff 02 	testb  $0x2,-0xd4(%ebp)
+    1717:	0f 84 ac 0f 00 00    	je     0x26c9
+    171d:	8b b5 20 ff ff ff    	mov    -0xe0(%ebp),%esi
+    1723:	85 f6                	test   %esi,%esi
+    1725:	0f 85 e7 22 00 00    	jne    0x3a12
+    172b:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
+    1731:	8b 02                	mov    (%edx),%eax
+    1733:	83 c2 04             	add    $0x4,%edx
+    1736:	89 95 08 ff ff ff    	mov    %edx,-0xf8(%ebp)
+    173c:	8b 95 30 ff ff ff    	mov    -0xd0(%ebp),%edx
+    1742:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
+    1749:	89 10                	mov    %edx,(%eax)
+    174b:	8b 8d 28 ff ff ff    	mov    -0xd8(%ebp),%ecx
+    1751:	89 95 38 ff ff ff    	mov    %edx,-0xc8(%ebp)
+    1757:	8b bd 40 ff ff ff    	mov    -0xc0(%ebp),%edi
+    175d:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
+    1763:	c7 85 3c ff ff ff 00 	movl   $0x0,-0xc4(%ebp)
+    176a:	00 00 00 
+    176d:	89 8d 48 ff ff ff    	mov    %ecx,-0xb8(%ebp)
+    1773:	e9 ea e9 ff ff       	jmp    0x162
+    1778:	83 8d 2c ff ff ff 40 	orl    $0x40,-0xd4(%ebp)
+    177f:	c7 85 3c ff ff ff 00 	movl   $0x0,-0xc4(%ebp)
+    1786:	00 00 00 
+    1789:	e9 6a ef ff ff       	jmp    0x6f8
+    178e:	f6 85 2c ff ff ff 01 	testb  $0x1,-0xd4(%ebp)
+    1795:	0f 85 ed f4 ff ff    	jne    0xc88
+    179b:	8b b5 2c ff ff ff    	mov    -0xd4(%ebp),%esi
+    17a1:	83 ff ff             	cmp    $0xffffffff,%edi
+    17a4:	b8 01 00 00 00       	mov    $0x1,%eax
+    17a9:	0f 44 f8             	cmove  %eax,%edi
+    17ac:	83 e6 08             	and    $0x8,%esi
+    17af:	0f 85 b2 00 00 00    	jne    0x1867
+    17b5:	f7 85 2c ff ff ff 00 	testl  $0x2100,-0xd4(%ebp)
+    17bc:	21 00 00 
+    17bf:	0f 84 49 1f 00 00    	je     0x370e
+    17c5:	83 bd 20 ff ff ff 00 	cmpl   $0x0,-0xe0(%ebp)
+    17cc:	0f 85 65 24 00 00    	jne    0x3c37
+    17d2:	8b 85 08 ff ff ff    	mov    -0xf8(%ebp),%eax
+    17d8:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
+    17de:	8b 00                	mov    (%eax),%eax
+    17e0:	83 c2 04             	add    $0x4,%edx
+    17e3:	89 95 08 ff ff ff    	mov    %edx,-0xf8(%ebp)
+    17e9:	89 85 10 ff ff ff    	mov    %eax,-0xf0(%ebp)
+    17ef:	83 bd 10 ff ff ff 00 	cmpl   $0x0,-0xf0(%ebp)
+    17f6:	0f 84 1b 4b 00 00    	je     0x6317
+    17fc:	c7 04 24 64 00 00 00 	movl   $0x64,(%esp)
+    1803:	e8 fc ff ff ff       	call   0x1804
+    1808:	8b 95 10 ff ff ff    	mov    -0xf0(%ebp),%edx
+    180e:	85 c0                	test   %eax,%eax
+    1810:	89 85 fc fe ff ff    	mov    %eax,-0x104(%ebp)
+    1816:	89 02                	mov    %eax,(%edx)
+    1818:	0f 84 4a 2b 00 00    	je     0x4368
+    181e:	83 bd ec fe ff ff 00 	cmpl   $0x0,-0x114(%ebp)
+    1825:	0f 84 d9 25 00 00    	je     0x3e04
+    182b:	8b 8d ec fe ff ff    	mov    -0x114(%ebp),%ecx
+    1831:	8b 01                	mov    (%ecx),%eax
+    1833:	83 f8 20             	cmp    $0x20,%eax
+    1836:	0f 84 c8 25 00 00    	je     0x3e04
+    183c:	8d 50 01             	lea    0x1(%eax),%edx
+    183f:	89 95 48 ff ff ff    	mov    %edx,-0xb8(%ebp)
+    1845:	8b 95 ec fe ff ff    	mov    -0x114(%ebp),%edx
+    184b:	8b 8d 10 ff ff ff    	mov    -0xf0(%ebp),%ecx
+    1851:	c7 85 00 ff ff ff 64 	movl   $0x64,-0x100(%ebp)
+    1858:	00 00 00 
+    185b:	89 4c 82 08          	mov    %ecx,0x8(%edx,%eax,4)
+    185f:	8b 85 48 ff ff ff    	mov    -0xb8(%ebp),%eax
+    1865:	89 02                	mov    %eax,(%edx)
+    1867:	83 fb ff             	cmp    $0xffffffff,%ebx
+    186a:	0f 84 85 0f 00 00    	je     0x27f5
+    1870:	8b 8d 34 ff ff ff    	mov    -0xcc(%ebp),%ecx
+    1876:	8b 41 5c             	mov    0x5c(%ecx),%eax
+    1879:	85 c0                	test   %eax,%eax
+    187b:	0f 84 3d 31 00 00    	je     0x49be
+    1881:	8b 10                	mov    (%eax),%edx
+    1883:	3b 50 04             	cmp    0x4(%eax),%edx
+    1886:	0f 83 32 31 00 00    	jae    0x49be
+    188c:	8b 1a                	mov    (%edx),%ebx
+    188e:	83 c2 04             	add    $0x4,%edx
+    1891:	89 10                	mov    %edx,(%eax)
+    1893:	83 fb ff             	cmp    $0xffffffff,%ebx
+    1896:	0f 84 67 0f 00 00    	je     0x2803
+    189c:	8b 95 2c ff ff ff    	mov    -0xd4(%ebp),%edx
+    18a2:	8b 85 30 ff ff ff    	mov    -0xd0(%ebp),%eax
+    18a8:	89 b5 48 ff ff ff    	mov    %esi,-0xb8(%ebp)
+    18ae:	89 fe                	mov    %edi,%esi
+    18b0:	8b bd fc fe ff ff    	mov    -0x104(%ebp),%edi
+    18b6:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
+    18bd:	81 e2 08 20 00 00    	and    $0x2008,%edx
+    18c3:	83 c0 01             	add    $0x1,%eax
+    18c6:	89 95 3c ff ff ff    	mov    %edx,-0xc4(%ebp)
+    18cc:	81 bd 3c ff ff ff 00 	cmpl   $0x2000,-0xc4(%ebp)
+    18d3:	20 00 00 
+    18d6:	89 85 38 ff ff ff    	mov    %eax,-0xc8(%ebp)
+    18dc:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
+    18e3:	0f 84 8c 00 00 00    	je     0x1975
+    18e9:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
+    18f0:	8b 8d 48 ff ff ff    	mov    -0xb8(%ebp),%ecx
+    18f6:	b8 00 00 00 00       	mov    $0x0,%eax
+    18fb:	89 5c 24 04          	mov    %ebx,0x4(%esp)
+    18ff:	85 c9                	test   %ecx,%ecx
+    1901:	0f 44 c7             	cmove  %edi,%eax
+    1904:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
+    1907:	89 4c 24 08          	mov    %ecx,0x8(%esp)
+    190b:	89 04 24             	mov    %eax,(%esp)
+    190e:	e8 fc ff ff ff       	call   0x190f
+    1913:	83 f8 ff             	cmp    $0xffffffff,%eax
+    1916:	0f 84 44 36 00 00    	je     0x4f60
+    191c:	83 ee 01             	sub    $0x1,%esi
+    191f:	01 c7                	add    %eax,%edi
+    1921:	85 f6                	test   %esi,%esi
+    1923:	0f 8e 38 20 00 00    	jle    0x3961
+    1929:	83 fb ff             	cmp    $0xffffffff,%ebx
+    192c:	0f 84 10 20 00 00    	je     0x3942
+    1932:	8b 95 34 ff ff ff    	mov    -0xcc(%ebp),%edx
+    1938:	8b 42 5c             	mov    0x5c(%edx),%eax
+    193b:	85 c0                	test   %eax,%eax
+    193d:	0f 84 08 36 00 00    	je     0x4f4b
+    1943:	8b 10                	mov    (%eax),%edx
+    1945:	3b 50 04             	cmp    0x4(%eax),%edx
+    1948:	0f 83 fd 35 00 00    	jae    0x4f4b
+    194e:	8b 1a                	mov    (%edx),%ebx
+    1950:	83 c2 04             	add    $0x4,%edx
+    1953:	89 10                	mov    %edx,(%eax)
+    1955:	83 fb ff             	cmp    $0xffffffff,%ebx
+    1958:	0f 84 5d 14 00 00    	je     0x2dbb
+    195e:	83 85 38 ff ff ff 01 	addl   $0x1,-0xc8(%ebp)
+    1965:	81 bd 3c ff ff ff 00 	cmpl   $0x2000,-0xc4(%ebp)
+    196c:	20 00 00 
+    196f:	0f 85 7b ff ff ff    	jne    0x18f0
+    1975:	8b 15 00 00 00 00    	mov    0x0,%edx
+    197b:	8b 8d 10 ff ff ff    	mov    -0xf0(%ebp),%ecx
+    1981:	65 8b 02             	mov    %gs:(%edx),%eax
+    1984:	8b 09                	mov    (%ecx),%ecx
+    1986:	8b 00                	mov    (%eax),%eax
+    1988:	89 8d 14 ff ff ff    	mov    %ecx,-0xec(%ebp)
+    198e:	8b 48 5c             	mov    0x5c(%eax),%ecx
+    1991:	8b 85 00 ff ff ff    	mov    -0x100(%ebp),%eax
+    1997:	03 85 14 ff ff ff    	add    -0xec(%ebp),%eax
+    199d:	01 f9                	add    %edi,%ecx
+    199f:	39 c1                	cmp    %eax,%ecx
+    19a1:	0f 82 49 ff ff ff    	jb     0x18f0
+    19a7:	2b bd 14 ff ff ff    	sub    -0xec(%ebp),%edi
+    19ad:	d1 a5 00 ff ff ff    	shll   -0x100(%ebp)
+    19b3:	8b 8d 00 ff ff ff    	mov    -0x100(%ebp),%ecx
+    19b9:	89 bd 30 ff ff ff    	mov    %edi,-0xd0(%ebp)
+    19bf:	8b bd 14 ff ff ff    	mov    -0xec(%ebp),%edi
+    19c5:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
+    19cb:	89 4c 24 04          	mov    %ecx,0x4(%esp)
+    19cf:	89 3c 24             	mov    %edi,(%esp)
+    19d2:	e8 fc ff ff ff       	call   0x19d3
+    19d7:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
+    19dd:	85 c0                	test   %eax,%eax
+    19df:	0f 84 2f 29 00 00    	je     0x4314
+    19e5:	8b bd 10 ff ff ff    	mov    -0xf0(%ebp),%edi
+    19eb:	8b 95 30 ff ff ff    	mov    -0xd0(%ebp),%edx
+    19f1:	89 07                	mov    %eax,(%edi)
+    19f3:	8d 3c 10             	lea    (%eax,%edx,1),%edi
+    19f6:	e9 f5 fe ff ff       	jmp    0x18f0
+    19fb:	c7 85 3c ff ff ff 08 	movl   $0x8,-0xc4(%ebp)
+    1a02:	00 00 00 
+    1a05:	e9 ee ec ff ff       	jmp    0x6f8
+    1a0a:	8b 85 3c ff ff ff    	mov    -0xc4(%ebp),%eax
+    1a10:	85 c0                	test   %eax,%eax
+    1a12:	74 0d                	je     0x1a21
+    1a14:	83 bd 3c ff ff ff 10 	cmpl   $0x10,-0xc4(%ebp)
+    1a1b:	0f 85 3e ee ff ff    	jne    0x85f
+    1a21:	31 c0                	xor    %eax,%eax
+    1a23:	85 ff                	test   %edi,%edi
+    1a25:	0f 9f c0             	setg   %al
+    1a28:	29 c7                	sub    %eax,%edi
+    1a2a:	83 fb ff             	cmp    $0xffffffff,%ebx
+    1a2d:	0f 84 c0 21 00 00    	je     0x3bf3
+    1a33:	8b 9d 34 ff ff ff    	mov    -0xcc(%ebp),%ebx
+    1a39:	8b 43 5c             	mov    0x5c(%ebx),%eax
+    1a3c:	85 c0                	test   %eax,%eax
+    1a3e:	0f 84 39 39 00 00    	je     0x537d
+    1a44:	8b 10                	mov    (%eax),%edx
+    1a46:	3b 50 04             	cmp    0x4(%eax),%edx
+    1a49:	0f 83 2e 39 00 00    	jae    0x537d
+    1a4f:	8b 1a                	mov    (%edx),%ebx
+    1a51:	83 c2 04             	add    $0x4,%edx
+    1a54:	89 10                	mov    %edx,(%eax)
+    1a56:	83 fb ff             	cmp    $0xffffffff,%ebx
+    1a59:	0f 84 08 2a 00 00    	je     0x4467
+    1a5f:	83 85 38 ff ff ff 01 	addl   $0x1,-0xc8(%ebp)
+    1a66:	c7 85 3c ff ff ff 10 	movl   $0x10,-0xc4(%ebp)
+    1a6d:	00 00 00 
+    1a70:	e9 ea ed ff ff       	jmp    0x85f
+    1a75:	a1 00 00 00 00       	mov    0x0,%eax
+    1a7a:	8b 95 1c ff ff ff    	mov    -0xe4(%ebp),%edx
+    1a80:	65 89 10             	mov    %edx,%gs:(%eax)
+    1a83:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
+    1a89:	85 db                	test   %ebx,%ebx
+    1a8b:	0f 84 f5 e7 ff ff    	je     0x286
+    1a91:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
+    1a97:	bf 01 00 00 00       	mov    $0x1,%edi
+    1a9c:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
+    1aa2:	e9 f9 e7 ff ff       	jmp    0x2a0
+    1aa7:	90                   	nop
+    1aa8:	a1 00 00 00 00       	mov    0x0,%eax
+    1aad:	8b 95 1c ff ff ff    	mov    -0xe4(%ebp),%edx
+    1ab3:	65 89 10             	mov    %edx,%gs:(%eax)
+    1ab6:	8b 8d 24 ff ff ff    	mov    -0xdc(%ebp),%ecx
+    1abc:	85 c9                	test   %ecx,%ecx
+    1abe:	0f 84 c2 e7 ff ff    	je     0x286
+    1ac4:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
+    1aca:	bf 01 00 00 00       	mov    $0x1,%edi
+    1acf:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
+    1ad5:	e9 c6 e7 ff ff       	jmp    0x2a0
+    1ada:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
+    1ae0:	39 fa                	cmp    %edi,%edx
+    1ae2:	8d 4f ff             	lea    -0x1(%edi),%ecx
+    1ae5:	0f 4e ca             	cmovle %edx,%ecx
+    1ae8:	01 d1                	add    %edx,%ecx
+    1aea:	8d 34 8d 00 00 00 00 	lea    0x0(,%ecx,4),%esi
+    1af1:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
+    1af7:	89 8d cc fe ff ff    	mov    %ecx,-0x134(%ebp)
+    1afd:	89 74 24 04          	mov    %esi,0x4(%esp)
+    1b01:	89 04 24             	mov    %eax,(%esp)
+    1b04:	e8 fc ff ff ff       	call   0x1b05
+    1b09:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
+    1b0f:	8b 8d cc fe ff ff    	mov    -0x134(%ebp),%ecx
+    1b15:	85 c0                	test   %eax,%eax
+    1b17:	0f 84 d2 0e 00 00    	je     0x29ef
+    1b1d:	8b b5 10 ff ff ff    	mov    -0xf0(%ebp),%esi
+    1b23:	8b 95 3c ff ff ff    	mov    -0xc4(%ebp),%edx
+    1b29:	89 06                	mov    %eax,(%esi)
+    1b2b:	8d 34 10             	lea    (%eax,%edx,1),%esi
+    1b2e:	e9 c8 f2 ff ff       	jmp    0xdfb
+    1b33:	f6 85 2c ff ff ff 08 	testb  $0x8,-0xd4(%ebp)
+    1b3a:	0f 85 b3 00 00 00    	jne    0x1bf3
+    1b40:	f7 85 2c ff ff ff 00 	testl  $0x2100,-0xd4(%ebp)
+    1b47:	21 00 00 
+    1b4a:	0f 84 0b 1c 00 00    	je     0x375b
+    1b50:	83 bd 20 ff ff ff 00 	cmpl   $0x0,-0xe0(%ebp)
+    1b57:	0f 85 01 21 00 00    	jne    0x3c5e
+    1b5d:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
+    1b63:	8b 8d 08 ff ff ff    	mov    -0xf8(%ebp),%ecx
+    1b69:	8b 12                	mov    (%edx),%edx
+    1b6b:	83 c1 04             	add    $0x4,%ecx
+    1b6e:	89 8d 08 ff ff ff    	mov    %ecx,-0xf8(%ebp)
+    1b74:	89 95 10 ff ff ff    	mov    %edx,-0xf0(%ebp)
+    1b7a:	83 bd 10 ff ff ff 00 	cmpl   $0x0,-0xf0(%ebp)
+    1b81:	0f 84 4c 2e 00 00    	je     0x49d3
+    1b87:	c7 04 24 64 00 00 00 	movl   $0x64,(%esp)
+    1b8e:	e8 fc ff ff ff       	call   0x1b8f
+    1b93:	8b 95 10 ff ff ff    	mov    -0xf0(%ebp),%edx
+    1b99:	85 c0                	test   %eax,%eax
+    1b9b:	89 85 fc fe ff ff    	mov    %eax,-0x104(%ebp)
+    1ba1:	89 02                	mov    %eax,(%edx)
+    1ba3:	0f 84 38 23 00 00    	je     0x3ee1
+    1ba9:	8b 8d ec fe ff ff    	mov    -0x114(%ebp),%ecx
+    1baf:	85 c9                	test   %ecx,%ecx
+    1bb1:	0f 84 e3 1c 00 00    	je     0x389a
+    1bb7:	8b 8d ec fe ff ff    	mov    -0x114(%ebp),%ecx
+    1bbd:	8b 01                	mov    (%ecx),%eax
+    1bbf:	83 f8 20             	cmp    $0x20,%eax
+    1bc2:	0f 84 d2 1c 00 00    	je     0x389a
+    1bc8:	8d 50 01             	lea    0x1(%eax),%edx
+    1bcb:	89 95 48 ff ff ff    	mov    %edx,-0xb8(%ebp)
+    1bd1:	8b 95 ec fe ff ff    	mov    -0x114(%ebp),%edx
+    1bd7:	8b 8d 10 ff ff ff    	mov    -0xf0(%ebp),%ecx
+    1bdd:	c7 85 00 ff ff ff 64 	movl   $0x64,-0x100(%ebp)
+    1be4:	00 00 00 
+    1be7:	89 4c 82 08          	mov    %ecx,0x8(%edx,%eax,4)
+    1beb:	8b 85 48 ff ff ff    	mov    -0xb8(%ebp),%eax
+    1bf1:	89 02                	mov    %eax,(%edx)
+    1bf3:	8b 8d 28 ff ff ff    	mov    -0xd8(%ebp),%ecx
+    1bf9:	31 d2                	xor    %edx,%edx
+    1bfb:	83 39 5e             	cmpl   $0x5e,(%ecx)
+    1bfe:	0f 84 77 15 00 00    	je     0x317b
+    1c04:	8b 8d 14 ff ff ff    	mov    -0xec(%ebp),%ecx
+    1c0a:	85 ff                	test   %edi,%edi
+    1c0c:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
+    1c11:	0f 48 f8             	cmovs  %eax,%edi
+    1c14:	8b 01                	mov    (%ecx),%eax
+    1c16:	89 4d ec             	mov    %ecx,-0x14(%ebp)
+    1c19:	83 f8 5d             	cmp    $0x5d,%eax
+    1c1c:	0f 84 6b 15 00 00    	je     0x318d
+    1c22:	89 b5 38 ff ff ff    	mov    %esi,-0xc8(%ebp)
+    1c28:	8b 8d 14 ff ff ff    	mov    -0xec(%ebp),%ecx
+    1c2e:	eb 05                	jmp    0x1c35
+    1c30:	8b 41 04             	mov    0x4(%ecx),%eax
+    1c33:	89 f1                	mov    %esi,%ecx
+    1c35:	85 c0                	test   %eax,%eax
+    1c37:	0f 84 2c 17 00 00    	je     0x3369
+    1c3d:	83 f8 5d             	cmp    $0x5d,%eax
+    1c40:	8d 71 04             	lea    0x4(%ecx),%esi
+    1c43:	75 eb                	jne    0x1c30
+    1c45:	89 b5 48 ff ff ff    	mov    %esi,-0xb8(%ebp)
+    1c4b:	8b b5 38 ff ff ff    	mov    -0xc8(%ebp),%esi
+    1c51:	89 8d 14 ff ff ff    	mov    %ecx,-0xec(%ebp)
+    1c57:	85 f6                	test   %esi,%esi
+    1c59:	0f 84 c5 04 00 00    	je     0x2124
+    1c5f:	83 fb ff             	cmp    $0xffffffff,%ebx
+    1c62:	0f 84 25 0d 00 00    	je     0x298d
+    1c68:	8b b5 34 ff ff ff    	mov    -0xcc(%ebp),%esi
+    1c6e:	8b 46 5c             	mov    0x5c(%esi),%eax
+    1c71:	85 c0                	test   %eax,%eax
+    1c73:	0f 84 8a 37 00 00    	je     0x5403
+    1c79:	8b 08                	mov    (%eax),%ecx
+    1c7b:	3b 48 04             	cmp    0x4(%eax),%ecx
+    1c7e:	0f 83 7f 37 00 00    	jae    0x5403
+    1c84:	8b 31                	mov    (%ecx),%esi
+    1c86:	83 c1 04             	add    $0x4,%ecx
+    1c89:	89 08                	mov    %ecx,(%eax)
+    1c8b:	83 fe ff             	cmp    $0xffffffff,%esi
+    1c8e:	0f 84 07 0d 00 00    	je     0x299b
+    1c94:	8b 8d 30 ff ff ff    	mov    -0xd0(%ebp),%ecx
+    1c9a:	8b 9d 2c ff ff ff    	mov    -0xd4(%ebp),%ebx
+    1ca0:	8b 85 2c ff ff ff    	mov    -0xd4(%ebp),%eax
+    1ca6:	89 bd 28 ff ff ff    	mov    %edi,-0xd8(%ebp)
+    1cac:	8b bd 14 ff ff ff    	mov    -0xec(%ebp),%edi
+    1cb2:	83 c1 01             	add    $0x1,%ecx
+    1cb5:	85 d2                	test   %edx,%edx
+    1cb7:	0f 94 85 20 ff ff ff 	sete   -0xe0(%ebp)
+    1cbe:	83 e3 08             	and    $0x8,%ebx
+    1cc1:	25 00 21 00 00       	and    $0x2100,%eax
+    1cc6:	89 8d 38 ff ff ff    	mov    %ecx,-0xc8(%ebp)
+    1ccc:	88 95 e8 fe ff ff    	mov    %dl,-0x118(%ebp)
+    1cd2:	89 9d f0 fe ff ff    	mov    %ebx,-0x110(%ebp)
+    1cd8:	89 85 e0 fe ff ff    	mov    %eax,-0x120(%ebp)
+    1cde:	8b 55 ec             	mov    -0x14(%ebp),%edx
+    1ce1:	39 fa                	cmp    %edi,%edx
+    1ce3:	89 95 3c ff ff ff    	mov    %edx,-0xc4(%ebp)
+    1ce9:	0f 83 62 11 00 00    	jae    0x2e51
+    1cef:	89 d0                	mov    %edx,%eax
+    1cf1:	eb 18                	jmp    0x1d0b
+    1cf3:	90                   	nop
+    1cf4:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    1cf8:	39 f3                	cmp    %esi,%ebx
+    1cfa:	0f 84 ab 13 00 00    	je     0x30ab
+    1d00:	83 c0 04             	add    $0x4,%eax
+    1d03:	39 f8                	cmp    %edi,%eax
+    1d05:	0f 83 40 11 00 00    	jae    0x2e4b
+    1d0b:	8b 18                	mov    (%eax),%ebx
+    1d0d:	83 fb 2d             	cmp    $0x2d,%ebx
+    1d10:	75 e6                	jne    0x1cf8
+    1d12:	8b 50 04             	mov    0x4(%eax),%edx
+    1d15:	8d 48 04             	lea    0x4(%eax),%ecx
+    1d18:	85 d2                	test   %edx,%edx
+    1d1a:	74 dc                	je     0x1cf8
+    1d1c:	39 f9                	cmp    %edi,%ecx
+    1d1e:	74 d8                	je     0x1cf8
+    1d20:	3b 85 3c ff ff ff    	cmp    -0xc4(%ebp),%eax
+    1d26:	74 d0                	je     0x1cf8
+    1d28:	8b 48 fc             	mov    -0x4(%eax),%ecx
+    1d2b:	39 d1                	cmp    %edx,%ecx
+    1d2d:	77 c9                	ja     0x1cf8
+    1d2f:	90                   	nop
+    1d30:	eb 0a                	jmp    0x1d3c
+    1d32:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
+    1d38:	39 f1                	cmp    %esi,%ecx
+    1d3a:	74 07                	je     0x1d43
+    1d3c:	83 c1 01             	add    $0x1,%ecx
+    1d3f:	39 ca                	cmp    %ecx,%edx
+    1d41:	7d f5                	jge    0x1d38
+    1d43:	39 d1                	cmp    %edx,%ecx
+    1d45:	0f 8e 99 24 00 00    	jle    0x41e4
+    1d4b:	83 c0 08             	add    $0x8,%eax
+    1d4e:	66 90                	xchg   %ax,%ax
+    1d50:	eb b1                	jmp    0x1d03
+    1d52:	a1 00 00 00 00       	mov    0x0,%eax
+    1d57:	89 b5 f8 fe ff ff    	mov    %esi,-0x108(%ebp)
+    1d5d:	8b b5 48 ff ff ff    	mov    -0xb8(%ebp),%esi
+    1d63:	65 8b 00             	mov    %gs:(%eax),%eax
+    1d66:	89 85 1c ff ff ff    	mov    %eax,-0xe4(%ebp)
+    1d6c:	85 f6                	test   %esi,%esi
+    1d6e:	0f 85 ce 00 00 00    	jne    0x1e42
+    1d74:	8b b5 f8 fe ff ff    	mov    -0x108(%ebp),%esi
+    1d7a:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
+    1d80:	83 c6 04             	add    $0x4,%esi
+    1d83:	f7 85 2c ff ff ff 00 	testl  $0x2100,-0xd4(%ebp)
+    1d8a:	21 00 00 
+    1d8d:	89 b5 f8 fe ff ff    	mov    %esi,-0x108(%ebp)
+    1d93:	74 2c                	je     0x1dc1
+    1d95:	8b bd 10 ff ff ff    	mov    -0xf0(%ebp),%edi
+    1d9b:	89 f0                	mov    %esi,%eax
+    1d9d:	8b 17                	mov    (%edi),%edx
+    1d9f:	29 d0                	sub    %edx,%eax
+    1da1:	c1 f8 02             	sar    $0x2,%eax
+    1da4:	3b 85 00 ff ff ff    	cmp    -0x100(%ebp),%eax
+    1daa:	74 15                	je     0x1dc1
+    1dac:	c1 e0 02             	shl    $0x2,%eax
+    1daf:	89 44 24 04          	mov    %eax,0x4(%esp)
+    1db3:	89 14 24             	mov    %edx,(%esp)
+    1db6:	e8 fc ff ff ff       	call   0x1db7
+    1dbb:	85 c0                	test   %eax,%eax
+    1dbd:	74 02                	je     0x1dc1
+    1dbf:	89 07                	mov    %eax,(%edi)
+    1dc1:	8b 85 28 ff ff ff    	mov    -0xd8(%ebp),%eax
+    1dc7:	83 85 24 ff ff ff 01 	addl   $0x1,-0xdc(%ebp)
+    1dce:	8b bd 40 ff ff ff    	mov    -0xc0(%ebp),%edi
+    1dd4:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
+    1dda:	89 85 48 ff ff ff    	mov    %eax,-0xb8(%ebp)
+    1de0:	c7 85 3c ff ff ff 00 	movl   $0x0,-0xc4(%ebp)
+    1de7:	00 00 00 
+    1dea:	c7 85 10 ff ff ff 00 	movl   $0x0,-0xf0(%ebp)
+    1df1:	00 00 00 
+    1df4:	e9 69 e3 ff ff       	jmp    0x162
+    1df9:	83 ef 01             	sub    $0x1,%edi
+    1dfc:	85 ff                	test   %edi,%edi
+    1dfe:	7e 42                	jle    0x1e42
+    1e00:	8b b5 38 ff ff ff    	mov    -0xc8(%ebp),%esi
+    1e06:	8b 95 34 ff ff ff    	mov    -0xcc(%ebp),%edx
+    1e0c:	8b 4a 5c             	mov    0x5c(%edx),%ecx
+    1e0f:	85 c9                	test   %ecx,%ecx
+    1e11:	0f 84 d9 46 00 00    	je     0x64f0
+    1e17:	8b 01                	mov    (%ecx),%eax
+    1e19:	3b 41 04             	cmp    0x4(%ecx),%eax
+    1e1c:	0f 83 ce 46 00 00    	jae    0x64f0
+    1e22:	8b 18                	mov    (%eax),%ebx
+    1e24:	83 c0 04             	add    $0x4,%eax
+    1e27:	89 01                	mov    %eax,(%ecx)
+    1e29:	83 fb ff             	cmp    $0xffffffff,%ebx
+    1e2c:	0f 84 16 01 00 00    	je     0x1f48
+    1e32:	83 ef 01             	sub    $0x1,%edi
+    1e35:	83 c6 01             	add    $0x1,%esi
+    1e38:	85 ff                	test   %edi,%edi
+    1e3a:	7f d0                	jg     0x1e0c
+    1e3c:	89 b5 38 ff ff ff    	mov    %esi,-0xc8(%ebp)
+    1e42:	8b 85 28 ff ff ff    	mov    -0xd8(%ebp),%eax
+    1e48:	89 85 48 ff ff ff    	mov    %eax,-0xb8(%ebp)
+    1e4e:	e9 0a e4 ff ff       	jmp    0x25d
+    1e53:	a1 00 00 00 00       	mov    0x0,%eax
+    1e58:	89 b5 f8 fe ff ff    	mov    %esi,-0x108(%ebp)
+    1e5e:	65 8b 00             	mov    %gs:(%eax),%eax
+    1e61:	89 85 1c ff ff ff    	mov    %eax,-0xe4(%ebp)
+    1e67:	83 bd 48 ff ff ff 00 	cmpl   $0x0,-0xb8(%ebp)
+    1e6e:	74 38                	je     0x1ea8
+    1e70:	8b b5 10 ff ff ff    	mov    -0xf0(%ebp),%esi
+    1e76:	8b 85 f8 fe ff ff    	mov    -0x108(%ebp),%eax
+    1e7c:	8b 16                	mov    (%esi),%edx
+    1e7e:	29 d0                	sub    %edx,%eax
+    1e80:	c1 f8 02             	sar    $0x2,%eax
+    1e83:	39 c8                	cmp    %ecx,%eax
+    1e85:	74 21                	je     0x1ea8
+    1e87:	c1 e0 02             	shl    $0x2,%eax
+    1e8a:	89 8d cc fe ff ff    	mov    %ecx,-0x134(%ebp)
+    1e90:	89 44 24 04          	mov    %eax,0x4(%esp)
+    1e94:	89 14 24             	mov    %edx,(%esp)
+    1e97:	e8 fc ff ff ff       	call   0x1e98
+    1e9c:	8b 8d cc fe ff ff    	mov    -0x134(%ebp),%ecx
+    1ea2:	85 c0                	test   %eax,%eax
+    1ea4:	74 02                	je     0x1ea8
+    1ea6:	89 06                	mov    %eax,(%esi)
+    1ea8:	8b bd 28 ff ff ff    	mov    -0xd8(%ebp),%edi
+    1eae:	83 85 24 ff ff ff 01 	addl   $0x1,-0xdc(%ebp)
+    1eb5:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
+    1ebb:	89 8d 00 ff ff ff    	mov    %ecx,-0x100(%ebp)
+    1ec1:	89 bd 48 ff ff ff    	mov    %edi,-0xb8(%ebp)
+    1ec7:	8b bd 40 ff ff ff    	mov    -0xc0(%ebp),%edi
+    1ecd:	c7 85 3c ff ff ff 00 	movl   $0x0,-0xc4(%ebp)
+    1ed4:	00 00 00 
+    1ed7:	c7 85 10 ff ff ff 00 	movl   $0x0,-0xf0(%ebp)
+    1ede:	00 00 00 
+    1ee1:	e9 7c e2 ff ff       	jmp    0x162
+    1ee6:	8b b5 3c ff ff ff    	mov    -0xc4(%ebp),%esi
+    1eec:	85 f6                	test   %esi,%esi
+    1eee:	0f 85 79 01 00 00    	jne    0x206d
+    1ef4:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
+    1efa:	31 ff                	xor    %edi,%edi
+    1efc:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
+    1f02:	e9 99 e3 ff ff       	jmp    0x2a0
+    1f07:	bf ff ff ff ff       	mov    $0xffffffff,%edi
+    1f0c:	e9 cc e4 ff ff       	jmp    0x3dd
+    1f11:	8b 95 44 ff ff ff    	mov    -0xbc(%ebp),%edx
+    1f17:	8b 02                	mov    (%edx),%eax
+    1f19:	83 f8 2d             	cmp    $0x2d,%eax
+    1f1c:	0f 85 18 04 00 00    	jne    0x233a
+    1f22:	89 de                	mov    %ebx,%esi
+    1f24:	89 f3                	mov    %esi,%ebx
+    1f26:	83 fb ff             	cmp    $0xffffffff,%ebx
+    1f29:	0f 85 ad 1e 00 00    	jne    0x3ddc
+    1f2f:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
+    1f35:	bf 02 00 00 00       	mov    $0x2,%edi
+    1f3a:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
+    1f40:	e9 5b e3 ff ff       	jmp    0x2a0
+    1f45:	8d 76 00             	lea    0x0(%esi),%esi
+    1f48:	a1 00 00 00 00       	mov    0x0,%eax
+    1f4d:	89 b5 38 ff ff ff    	mov    %esi,-0xc8(%ebp)
+    1f53:	65 8b 00             	mov    %gs:(%eax),%eax
+    1f56:	89 85 1c ff ff ff    	mov    %eax,-0xe4(%ebp)
+    1f5c:	8b 85 28 ff ff ff    	mov    -0xd8(%ebp),%eax
+    1f62:	89 85 48 ff ff ff    	mov    %eax,-0xb8(%ebp)
+    1f68:	e9 f0 e2 ff ff       	jmp    0x25d
+    1f6d:	f7 85 2c ff ff ff 00 	testl  $0x200,-0xd4(%ebp)
+    1f74:	02 00 00 
+    1f77:	0f 85 cb 03 00 00    	jne    0x2348
+    1f7d:	8b 95 20 ff ff ff    	mov    -0xe0(%ebp),%edx
+    1f83:	85 d2                	test   %edx,%edx
+    1f85:	0f 85 9b 08 00 00    	jne    0x2826
+    1f8b:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
+    1f91:	8b 02                	mov    (%edx),%eax
+    1f93:	83 c2 04             	add    $0x4,%edx
+    1f96:	89 95 08 ff ff ff    	mov    %edx,-0xf8(%ebp)
+    1f9c:	8b 55 dc             	mov    -0x24(%ebp),%edx
+    1f9f:	89 10                	mov    %edx,(%eax)
+    1fa1:	e9 b8 f1 ff ff       	jmp    0x115e
+    1fa6:	8b 85 34 ff ff ff    	mov    -0xcc(%ebp),%eax
+    1fac:	89 04 24             	mov    %eax,(%esp)
+    1faf:	e8 fc ff ff ff       	call   0x1fb0
+    1fb4:	e9 f8 e0 ff ff       	jmp    0xb1
+    1fb9:	8b bd 34 ff ff ff    	mov    -0xcc(%ebp),%edi
+    1fbf:	8d 45 cc             	lea    -0x34(%ebp),%eax
+    1fc2:	89 04 24             	mov    %eax,(%esp)
+    1fc5:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
+    1fcc:	00 
+    1fcd:	89 7c 24 08          	mov    %edi,0x8(%esp)
+    1fd1:	e8 fc ff ff ff       	call   0x1fd2
+    1fd6:	8b 07                	mov    (%edi),%eax
+    1fd8:	e9 cb e0 ff ff       	jmp    0xa8
+    1fdd:	a1 00 00 00 00       	mov    0x0,%eax
+    1fe2:	65 8b 00             	mov    %gs:(%eax),%eax
+    1fe5:	89 85 1c ff ff ff    	mov    %eax,-0xe4(%ebp)
+    1feb:	e9 34 e8 ff ff       	jmp    0x824
+    1ff0:	a1 00 00 00 00       	mov    0x0,%eax
+    1ff5:	89 b5 44 ff ff ff    	mov    %esi,-0xbc(%ebp)
+    1ffb:	c7 85 48 ff ff ff 01 	movl   $0x1,-0xb8(%ebp)
+    2002:	00 00 00 
+    2005:	65 8b 00             	mov    %gs:(%eax),%eax
+    2008:	89 85 1c ff ff ff    	mov    %eax,-0xe4(%ebp)
+    200e:	e9 f5 e9 ff ff       	jmp    0xa08
+    2013:	83 bd 20 ff ff ff 00 	cmpl   $0x0,-0xe0(%ebp)
+    201a:	0f 85 32 24 00 00    	jne    0x4452
+    2020:	8b b5 08 ff ff ff    	mov    -0xf8(%ebp),%esi
+    2026:	8b 06                	mov    (%esi),%eax
+    2028:	83 c6 04             	add    $0x4,%esi
+    202b:	89 b5 08 ff ff ff    	mov    %esi,-0xf8(%ebp)
+    2031:	0f b6 8d 30 ff ff ff 	movzbl -0xd0(%ebp),%ecx
+    2038:	88 08                	mov    %cl,(%eax)
+    203a:	8b b5 30 ff ff ff    	mov    -0xd0(%ebp),%esi
+    2040:	8b bd 28 ff ff ff    	mov    -0xd8(%ebp),%edi
+    2046:	c7 85 3c ff ff ff 00 	movl   $0x0,-0xc4(%ebp)
+    204d:	00 00 00 
+    2050:	89 b5 38 ff ff ff    	mov    %esi,-0xc8(%ebp)
+    2056:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
+    205c:	89 bd 48 ff ff ff    	mov    %edi,-0xb8(%ebp)
+    2062:	8b bd 40 ff ff ff    	mov    -0xc0(%ebp),%edi
+    2068:	e9 f5 e0 ff ff       	jmp    0x162
+    206d:	8b bd 1c ff ff ff    	mov    -0xe4(%ebp),%edi
+    2073:	8b b5 34 ff ff ff    	mov    -0xcc(%ebp),%esi
+    2079:	eb 33                	jmp    0x20ae
+    207b:	90                   	nop
+    207c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    2080:	8b 46 5c             	mov    0x5c(%esi),%eax
+    2083:	85 c0                	test   %eax,%eax
+    2085:	0f 84 96 3c 00 00    	je     0x5d21
+    208b:	8b 10                	mov    (%eax),%edx
+    208d:	3b 50 04             	cmp    0x4(%eax),%edx
+    2090:	0f 83 8b 3c 00 00    	jae    0x5d21
+    2096:	8b 1a                	mov    (%edx),%ebx
+    2098:	83 c2 04             	add    $0x4,%edx
+    209b:	89 10                	mov    %edx,(%eax)
+    209d:	83 fb ff             	cmp    $0xffffffff,%ebx
+    20a0:	74 1b                	je     0x20bd
+    20a2:	89 1c 24             	mov    %ebx,(%esp)
+    20a5:	e8 fc ff ff ff       	call   0x20a6
+    20aa:	85 c0                	test   %eax,%eax
+    20ac:	74 19                	je     0x20c7
+    20ae:	83 fb ff             	cmp    $0xffffffff,%ebx
+    20b1:	75 cd                	jne    0x2080
+    20b3:	a1 00 00 00 00       	mov    0x0,%eax
+    20b8:	65 89 38             	mov    %edi,%gs:(%eax)
+    20bb:	eb e5                	jmp    0x20a2
+    20bd:	a1 00 00 00 00       	mov    0x0,%eax
+    20c2:	65 8b 38             	mov    %gs:(%eax),%edi
+    20c5:	eb db                	jmp    0x20a2
+    20c7:	83 fb ff             	cmp    $0xffffffff,%ebx
+    20ca:	0f 84 d4 04 00 00    	je     0x25a4
+    20d0:	89 5c 24 04          	mov    %ebx,0x4(%esp)
+    20d4:	8b 9d 34 ff ff ff    	mov    -0xcc(%ebp),%ebx
+    20da:	31 ff                	xor    %edi,%edi
+    20dc:	89 1c 24             	mov    %ebx,(%esp)
+    20df:	e8 fc ff ff ff       	call   0x20e0
+    20e4:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
+    20ea:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
+    20f0:	e9 ab e1 ff ff       	jmp    0x2a0
+    20f5:	8b 8d 28 ff ff ff    	mov    -0xd8(%ebp),%ecx
+    20fb:	83 c0 04             	add    $0x4,%eax
+    20fe:	83 8d 2c ff ff ff 03 	orl    $0x3,-0xd4(%ebp)
+    2105:	8b 51 04             	mov    0x4(%ecx),%edx
+    2108:	e9 f3 e2 ff ff       	jmp    0x400
+    210d:	89 f0                	mov    %esi,%eax
+    210f:	8b 56 04             	mov    0x4(%esi),%edx
+    2112:	83 c0 04             	add    $0x4,%eax
+    2115:	81 8d 2c ff ff ff 00 	orl    $0x200,-0xd4(%ebp)
+    211c:	02 00 00 
+    211f:	e9 dc e2 ff ff       	jmp    0x400
+    2124:	83 fb ff             	cmp    $0xffffffff,%ebx
+    2127:	0f 84 91 08 00 00    	je     0x29be
+    212d:	8b 8d 34 ff ff ff    	mov    -0xcc(%ebp),%ecx
+    2133:	8b 41 5c             	mov    0x5c(%ecx),%eax
+    2136:	85 c0                	test   %eax,%eax
+    2138:	0f 84 3f 40 00 00    	je     0x617d
+    213e:	8b 08                	mov    (%eax),%ecx
+    2140:	3b 48 04             	cmp    0x4(%eax),%ecx
+    2143:	0f 83 34 40 00 00    	jae    0x617d
+    2149:	8b 31                	mov    (%ecx),%esi
+    214b:	83 c1 04             	add    $0x4,%ecx
+    214e:	89 08                	mov    %ecx,(%eax)
+    2150:	83 fe ff             	cmp    $0xffffffff,%esi
+    2153:	0f 84 73 08 00 00    	je     0x29cc
+    2159:	8b 85 30 ff ff ff    	mov    -0xd0(%ebp),%eax
+    215f:	88 95 e8 fe ff ff    	mov    %dl,-0x118(%ebp)
+    2165:	8b 8d 2c ff ff ff    	mov    -0xd4(%ebp),%ecx
+    216b:	89 bd 28 ff ff ff    	mov    %edi,-0xd8(%ebp)
+    2171:	8b bd 14 ff ff ff    	mov    -0xec(%ebp),%edi
+    2177:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
+    217e:	83 c0 01             	add    $0x1,%eax
+    2181:	85 d2                	test   %edx,%edx
+    2183:	8b 95 2c ff ff ff    	mov    -0xd4(%ebp),%edx
+    2189:	0f 94 85 20 ff ff ff 	sete   -0xe0(%ebp)
+    2190:	81 e1 00 21 00 00    	and    $0x2100,%ecx
+    2196:	89 85 38 ff ff ff    	mov    %eax,-0xc8(%ebp)
+    219c:	83 e2 08             	and    $0x8,%edx
+    219f:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
+    21a6:	89 95 f0 fe ff ff    	mov    %edx,-0x110(%ebp)
+    21ac:	89 8d e0 fe ff ff    	mov    %ecx,-0x120(%ebp)
+    21b2:	8b 5d ec             	mov    -0x14(%ebp),%ebx
+    21b5:	39 fb                	cmp    %edi,%ebx
+    21b7:	89 9d 3c ff ff ff    	mov    %ebx,-0xc4(%ebp)
+    21bd:	73 62                	jae    0x2221
+    21bf:	89 d8                	mov    %ebx,%eax
+    21c1:	eb 14                	jmp    0x21d7
+    21c3:	90                   	nop
+    21c4:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    21c8:	39 f3                	cmp    %esi,%ebx
+    21ca:	0f 84 55 02 00 00    	je     0x2425
+    21d0:	83 c0 04             	add    $0x4,%eax
+    21d3:	39 f8                	cmp    %edi,%eax
+    21d5:	73 44                	jae    0x221b
+    21d7:	8b 18                	mov    (%eax),%ebx
+    21d9:	83 fb 2d             	cmp    $0x2d,%ebx
+    21dc:	75 ea                	jne    0x21c8
+    21de:	8b 50 04             	mov    0x4(%eax),%edx
+    21e1:	8d 48 04             	lea    0x4(%eax),%ecx
+    21e4:	85 d2                	test   %edx,%edx
+    21e6:	74 e0                	je     0x21c8
+    21e8:	39 f9                	cmp    %edi,%ecx
+    21ea:	74 dc                	je     0x21c8
+    21ec:	3b 85 3c ff ff ff    	cmp    -0xc4(%ebp),%eax
+    21f2:	74 d4                	je     0x21c8
+    21f4:	8b 48 fc             	mov    -0x4(%eax),%ecx
+    21f7:	39 d1                	cmp    %edx,%ecx
+    21f9:	77 cd                	ja     0x21c8
+    21fb:	eb 07                	jmp    0x2204
+    21fd:	8d 76 00             	lea    0x0(%esi),%esi
+    2200:	39 f1                	cmp    %esi,%ecx
+    2202:	74 07                	je     0x220b
+    2204:	83 c1 01             	add    $0x1,%ecx
+    2207:	39 ca                	cmp    %ecx,%edx
+    2209:	7d f5                	jge    0x2200
+    220b:	39 d1                	cmp    %edx,%ecx
+    220d:	8d 76 00             	lea    0x0(%esi),%esi
+    2210:	0f 8e 47 20 00 00    	jle    0x425d
+    2216:	83 c0 08             	add    $0x8,%eax
+    2219:	eb b8                	jmp    0x21d3
+    221b:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
+    2221:	39 bd 3c ff ff ff    	cmp    %edi,-0xc4(%ebp)
+    2227:	0f 84 fa 1f 00 00    	je     0x4227
+    222d:	8b 8d f0 fe ff ff    	mov    -0x110(%ebp),%ecx
+    2233:	85 c9                	test   %ecx,%ecx
+    2235:	0f 85 d5 01 00 00    	jne    0x2410
+    223b:	8b 95 e0 fe ff ff    	mov    -0x120(%ebp),%edx
+    2241:	85 d2                	test   %edx,%edx
+    2243:	0f 85 2f 05 00 00    	jne    0x2778
+    2249:	8b 9d fc fe ff ff    	mov    -0x104(%ebp),%ebx
+    224f:	8b 85 fc fe ff ff    	mov    -0x104(%ebp),%eax
+    2255:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
+    2258:	89 4c 24 08          	mov    %ecx,0x8(%esp)
+    225c:	89 74 24 04          	mov    %esi,0x4(%esp)
+    2260:	89 04 24             	mov    %eax,(%esp)
+    2263:	e8 fc ff ff ff       	call   0x2264
+    2268:	83 f8 ff             	cmp    $0xffffffff,%eax
+    226b:	0f 84 ea 30 00 00    	je     0x535b
+    2271:	8b 15 00 00 00 00    	mov    0x0,%edx
+    2277:	65 8b 12             	mov    %gs:(%edx),%edx
+    227a:	8b 12                	mov    (%edx),%edx
+    227c:	3b 42 5c             	cmp    0x5c(%edx),%eax
+    227f:	0f 87 74 44 00 00    	ja     0x66f9
+    2285:	8d 04 03             	lea    (%ebx,%eax,1),%eax
+    2288:	83 ad 28 ff ff ff 01 	subl   $0x1,-0xd8(%ebp)
+    228f:	89 85 fc fe ff ff    	mov    %eax,-0x104(%ebp)
+    2295:	8b 85 28 ff ff ff    	mov    -0xd8(%ebp),%eax
+    229b:	85 c0                	test   %eax,%eax
+    229d:	0f 8e fd 1f 00 00    	jle    0x42a0
+    22a3:	83 fe ff             	cmp    $0xffffffff,%esi
+    22a6:	0f 84 90 21 00 00    	je     0x443c
+    22ac:	8b 8d 34 ff ff ff    	mov    -0xcc(%ebp),%ecx
+    22b2:	8b 51 5c             	mov    0x5c(%ecx),%edx
+    22b5:	85 d2                	test   %edx,%edx
+    22b7:	0f 84 7a 33 00 00    	je     0x5637
+    22bd:	8b 0a                	mov    (%edx),%ecx
+    22bf:	3b 4a 04             	cmp    0x4(%edx),%ecx
+    22c2:	0f 83 6f 33 00 00    	jae    0x5637
+    22c8:	8b 19                	mov    (%ecx),%ebx
+    22ca:	83 c1 04             	add    $0x4,%ecx
+    22cd:	89 0a                	mov    %ecx,(%edx)
+    22cf:	83 fb ff             	cmp    $0xffffffff,%ebx
+    22d2:	0f 84 c3 12 00 00    	je     0x359b
+    22d8:	83 85 38 ff ff ff 01 	addl   $0x1,-0xc8(%ebp)
+    22df:	89 de                	mov    %ebx,%esi
+    22e1:	e9 cc fe ff ff       	jmp    0x21b2
+    22e6:	a1 00 00 00 00       	mov    0x0,%eax
+    22eb:	bb ff ff ff ff       	mov    $0xffffffff,%ebx
+    22f0:	8b 95 1c ff ff ff    	mov    -0xe4(%ebp),%edx
+    22f6:	65 89 10             	mov    %edx,%gs:(%eax)
+    22f9:	e9 4e ed ff ff       	jmp    0x104c
+    22fe:	8b b5 1c ff ff ff    	mov    -0xe4(%ebp),%esi
+    2304:	a1 00 00 00 00       	mov    0x0,%eax
+    2309:	65 89 30             	mov    %esi,%gs:(%eax)
+    230c:	be ff ff ff ff       	mov    $0xffffffff,%esi
+    2311:	e9 e7 ec ff ff       	jmp    0xffd
+    2316:	8b b5 1c ff ff ff    	mov    -0xe4(%ebp),%esi
+    231c:	bf 02 00 00 00       	mov    $0x2,%edi
+    2321:	a1 00 00 00 00       	mov    0x0,%eax
+    2326:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
+    232c:	65 89 30             	mov    %esi,%gs:(%eax)
+    232f:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
+    2335:	e9 66 df ff ff       	jmp    0x2a0
+    233a:	83 f8 2b             	cmp    $0x2b,%eax
+    233d:	0f 84 df fb ff ff    	je     0x1f22
+    2343:	e9 a7 e5 ff ff       	jmp    0x8ef
+    2348:	8b 85 20 ff ff ff    	mov    -0xe0(%ebp),%eax
+    234e:	85 c0                	test   %eax,%eax
+    2350:	0f 85 22 05 00 00    	jne    0x2878
+    2356:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
+    235c:	8b 02                	mov    (%edx),%eax
+    235e:	83 c2 04             	add    $0x4,%edx
+    2361:	89 95 08 ff ff ff    	mov    %edx,-0xf8(%ebp)
+    2367:	8b 55 dc             	mov    -0x24(%ebp),%edx
+    236a:	88 10                	mov    %dl,(%eax)
+    236c:	e9 ed ed ff ff       	jmp    0x115e
+    2371:	8b 95 20 ff ff ff    	mov    -0xe0(%ebp),%edx
+    2377:	85 d2                	test   %edx,%edx
+    2379:	0f 85 1a 05 00 00    	jne    0x2899
+    237f:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
+    2385:	8b 8d 08 ff ff ff    	mov    -0xf8(%ebp),%ecx
+    238b:	8b 12                	mov    (%edx),%edx
+    238d:	83 c1 04             	add    $0x4,%ecx
+    2390:	89 8d 08 ff ff ff    	mov    %ecx,-0xf8(%ebp)
+    2396:	89 95 f8 fe ff ff    	mov    %edx,-0x108(%ebp)
+    239c:	8b 85 f8 fe ff ff    	mov    -0x108(%ebp),%eax
+    23a2:	85 c0                	test   %eax,%eax
+    23a4:	0f 85 b6 e9 ff ff    	jne    0xd60
+    23aa:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
+    23b0:	bf 02 00 00 00       	mov    $0x2,%edi
+    23b5:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
+    23bb:	e9 e0 de ff ff       	jmp    0x2a0
+    23c0:	8b 95 20 ff ff ff    	mov    -0xe0(%ebp),%edx
+    23c6:	85 d2                	test   %edx,%edx
+    23c8:	0f 85 13 05 00 00    	jne    0x28e1
+    23ce:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
+    23d4:	8b 8d 08 ff ff ff    	mov    -0xf8(%ebp),%ecx
+    23da:	8b 12                	mov    (%edx),%edx
+    23dc:	83 c1 04             	add    $0x4,%ecx
+    23df:	89 8d 08 ff ff ff    	mov    %ecx,-0xf8(%ebp)
+    23e5:	89 95 f8 fe ff ff    	mov    %edx,-0x108(%ebp)
+    23eb:	8b 85 f8 fe ff ff    	mov    -0x108(%ebp),%eax
+    23f1:	85 c0                	test   %eax,%eax
+    23f3:	0f 85 5b e7 ff ff    	jne    0xb54
+    23f9:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
+    23ff:	bf 02 00 00 00       	mov    $0x2,%edi
+    2404:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
+    240a:	e9 91 de ff ff       	jmp    0x2a0
+    240f:	90                   	nop
+    2410:	8b 9d fc fe ff ff    	mov    -0x104(%ebp),%ebx
+    2416:	c7 85 fc fe ff ff 00 	movl   $0x0,-0x104(%ebp)
+    241d:	00 00 00 
+    2420:	e9 2a fe ff ff       	jmp    0x224f
+    2425:	80 bd 20 ff ff ff 00 	cmpb   $0x0,-0xe0(%ebp)
+    242c:	0f 85 e9 fd ff ff    	jne    0x221b
+    2432:	80 bd e8 fe ff ff 00 	cmpb   $0x0,-0x118(%ebp)
+    2439:	0f 84 91 fd ff ff    	je     0x21d0
+    243f:	83 fb ff             	cmp    $0xffffffff,%ebx
+    2442:	74 19                	je     0x245d
+    2444:	8b bd 34 ff ff ff    	mov    -0xcc(%ebp),%edi
+    244a:	83 ad 38 ff ff ff 01 	subl   $0x1,-0xc8(%ebp)
+    2451:	89 5c 24 04          	mov    %ebx,0x4(%esp)
+    2455:	89 3c 24             	mov    %edi,(%esp)
+    2458:	e8 fc ff ff ff       	call   0x2459
+    245d:	8b b5 38 ff ff ff    	mov    -0xc8(%ebp),%esi
+    2463:	39 b5 30 ff ff ff    	cmp    %esi,-0xd0(%ebp)
+    2469:	0f 84 b2 31 00 00    	je     0x5621
+    246f:	f6 85 2c ff ff ff 08 	testb  $0x8,-0xd4(%ebp)
+    2476:	0f 85 e1 dd ff ff    	jne    0x25d
+    247c:	8d 45 a4             	lea    -0x5c(%ebp),%eax
+    247f:	8d 7d e4             	lea    -0x1c(%ebp),%edi
+    2482:	89 7c 24 08          	mov    %edi,0x8(%esp)
+    2486:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
+    248d:	00 
+    248e:	89 04 24             	mov    %eax,(%esp)
+    2491:	e8 fc ff ff ff       	call   0x2492
+    2496:	85 c0                	test   %eax,%eax
+    2498:	89 c6                	mov    %eax,%esi
+    249a:	0f 84 e4 15 00 00    	je     0x3a84
+    24a0:	f7 85 2c ff ff ff 00 	testl  $0x2100,-0xd4(%ebp)
+    24a7:	21 00 00 
+    24aa:	0f 84 62 14 00 00    	je     0x3912
+    24b0:	8b 95 10 ff ff ff    	mov    -0xf0(%ebp),%edx
+    24b6:	8b bd 00 ff ff ff    	mov    -0x100(%ebp),%edi
+    24bc:	8b 02                	mov    (%edx),%eax
+    24be:	8b 95 fc fe ff ff    	mov    -0x104(%ebp),%edx
+    24c4:	8d 0c 38             	lea    (%eax,%edi,1),%ecx
+    24c7:	01 f2                	add    %esi,%edx
+    24c9:	39 ca                	cmp    %ecx,%edx
+    24cb:	0f 83 5c 1a 00 00    	jae    0x3f2d
+    24d1:	8b 85 fc fe ff ff    	mov    -0x104(%ebp),%eax
+    24d7:	8d 7d a4             	lea    -0x5c(%ebp),%edi
+    24da:	89 74 24 08          	mov    %esi,0x8(%esp)
+    24de:	89 7c 24 04          	mov    %edi,0x4(%esp)
+    24e2:	89 04 24             	mov    %eax,(%esp)
+    24e5:	e8 fc ff ff ff       	call   0x24e6
+    24ea:	c6 00 00             	movb   $0x0,(%eax)
+    24ed:	83 c0 01             	add    $0x1,%eax
+    24f0:	89 85 fc fe ff ff    	mov    %eax,-0x104(%ebp)
+    24f6:	8b bd 10 ff ff ff    	mov    -0xf0(%ebp),%edi
+    24fc:	8b 85 fc fe ff ff    	mov    -0x104(%ebp),%eax
+    2502:	8b 17                	mov    (%edi),%edx
+    2504:	29 d0                	sub    %edx,%eax
+    2506:	3b 85 00 ff ff ff    	cmp    -0x100(%ebp),%eax
+    250c:	74 1c                	je     0x252a
+    250e:	89 44 24 04          	mov    %eax,0x4(%esp)
+    2512:	89 14 24             	mov    %edx,(%esp)
+    2515:	e8 fc ff ff ff       	call   0x2516
+    251a:	85 c0                	test   %eax,%eax
+    251c:	0f 84 84 15 00 00    	je     0x3aa6
+    2522:	89 07                	mov    %eax,(%edi)
+    2524:	8b 85 00 ff ff ff    	mov    -0x100(%ebp),%eax
+    252a:	83 85 24 ff ff ff 01 	addl   $0x1,-0xdc(%ebp)
+    2531:	8b bd 40 ff ff ff    	mov    -0xc0(%ebp),%edi
+    2537:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
+    253d:	89 85 00 ff ff ff    	mov    %eax,-0x100(%ebp)
+    2543:	c7 85 3c ff ff ff 00 	movl   $0x0,-0xc4(%ebp)
+    254a:	00 00 00 
+    254d:	c7 85 10 ff ff ff 00 	movl   $0x0,-0xf0(%ebp)
+    2554:	00 00 00 
+    2557:	e9 06 dc ff ff       	jmp    0x162
+    255c:	a1 00 00 00 00       	mov    0x0,%eax
+    2561:	be ff ff ff ff       	mov    $0xffffffff,%esi
+    2566:	65 8b 00             	mov    %gs:(%eax),%eax
+    2569:	89 85 1c ff ff ff    	mov    %eax,-0xe4(%ebp)
+    256f:	e9 89 ea ff ff       	jmp    0xffd
+    2574:	a1 00 00 00 00       	mov    0x0,%eax
+    2579:	bb ff ff ff ff       	mov    $0xffffffff,%ebx
+    257e:	65 8b 00             	mov    %gs:(%eax),%eax
+    2581:	89 85 1c ff ff ff    	mov    %eax,-0xe4(%ebp)
+    2587:	e9 22 ea ff ff       	jmp    0xfae
+    258c:	a1 00 00 00 00       	mov    0x0,%eax
+    2591:	bb ff ff ff ff       	mov    $0xffffffff,%ebx
+    2596:	65 8b 00             	mov    %gs:(%eax),%eax
+    2599:	89 85 1c ff ff ff    	mov    %eax,-0xe4(%ebp)
+    259f:	e9 a8 ea ff ff       	jmp    0x104c
+    25a4:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
+    25aa:	31 ff                	xor    %edi,%edi
+    25ac:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
+    25b2:	e9 e9 dc ff ff       	jmp    0x2a0
+    25b7:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
+    25bd:	31 c0                	xor    %eax,%eax
+    25bf:	c7 85 e0 fe ff ff 65 	movl   $0x65,-0x120(%ebp)
+    25c6:	00 00 00 
+    25c9:	8d 50 01             	lea    0x1(%eax),%edx
+    25cc:	8d 0c 85 00 00 00 00 	lea    0x0(,%eax,4),%ecx
+    25d3:	8d 04 85 fc ff ff ff 	lea    -0x4(,%eax,4),%eax
+    25da:	89 8d 38 ff ff ff    	mov    %ecx,-0xc8(%ebp)
+    25e0:	8b 8d 2c ff ff ff    	mov    -0xd4(%ebp),%ecx
+    25e6:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
+    25ec:	0f b6 85 2c ff ff ff 	movzbl -0xd4(%ebp),%eax
+    25f3:	89 95 48 ff ff ff    	mov    %edx,-0xb8(%ebp)
+    25f9:	8b 95 40 ff ff ff    	mov    -0xc0(%ebp),%edx
+    25ff:	c6 85 e8 fe ff ff 00 	movb   $0x0,-0x118(%ebp)
+    2606:	81 e1 00 08 00 00    	and    $0x800,%ecx
+    260c:	83 e0 80             	and    $0xffffff80,%eax
+    260f:	c6 85 f0 fe ff ff 00 	movb   $0x0,-0x110(%ebp)
+    2616:	88 85 d7 fe ff ff    	mov    %al,-0x129(%ebp)
+    261c:	89 8d d8 fe ff ff    	mov    %ecx,-0x128(%ebp)
+    2622:	89 b5 14 ff ff ff    	mov    %esi,-0xec(%ebp)
+    2628:	8b 85 48 ff ff ff    	mov    -0xb8(%ebp),%eax
+    262e:	83 e8 01             	sub    $0x1,%eax
+    2631:	89 85 44 ff ff ff    	mov    %eax,-0xbc(%ebp)
+    2637:	8d 43 d0             	lea    -0x30(%ebx),%eax
+    263a:	83 f8 09             	cmp    $0x9,%eax
+    263d:	0f 87 fd 03 00 00    	ja     0x2a40
+    2643:	3b 95 44 ff ff ff    	cmp    -0xbc(%ebp),%edx
+    2649:	0f 84 26 31 00 00    	je     0x5775
+    264f:	89 d1                	mov    %edx,%ecx
+    2651:	8b 95 38 ff ff ff    	mov    -0xc8(%ebp),%edx
+    2657:	89 1c 16             	mov    %ebx,(%esi,%edx,1)
+    265a:	85 ff                	test   %edi,%edi
+    265c:	0f 84 89 0f 00 00    	je     0x35eb
+    2662:	83 fb ff             	cmp    $0xffffffff,%ebx
+    2665:	0f 84 43 0f 00 00    	je     0x35ae
+    266b:	8b 9d 34 ff ff ff    	mov    -0xcc(%ebp),%ebx
+    2671:	8b 53 5c             	mov    0x5c(%ebx),%edx
+    2674:	85 d2                	test   %edx,%edx
+    2676:	0f 84 33 1e 00 00    	je     0x44af
+    267c:	8b 02                	mov    (%edx),%eax
+    267e:	3b 42 04             	cmp    0x4(%edx),%eax
+    2681:	0f 83 28 1e 00 00    	jae    0x44af
+    2687:	8b 18                	mov    (%eax),%ebx
+    2689:	83 c0 04             	add    $0x4,%eax
+    268c:	89 02                	mov    %eax,(%edx)
+    268e:	83 fb ff             	cmp    $0xffffffff,%ebx
+    2691:	0f 84 25 04 00 00    	je     0x2abc
+    2697:	31 c0                	xor    %eax,%eax
+    2699:	85 ff                	test   %edi,%edi
+    269b:	0f 9f c0             	setg   %al
+    269e:	89 ca                	mov    %ecx,%edx
+    26a0:	29 c7                	sub    %eax,%edi
+    26a2:	83 85 30 ff ff ff 01 	addl   $0x1,-0xd0(%ebp)
+    26a9:	83 85 48 ff ff ff 01 	addl   $0x1,-0xb8(%ebp)
+    26b0:	83 85 38 ff ff ff 04 	addl   $0x4,-0xc8(%ebp)
+    26b7:	83 85 3c ff ff ff 04 	addl   $0x4,-0xc4(%ebp)
+    26be:	89 b5 14 ff ff ff    	mov    %esi,-0xec(%ebp)
+    26c4:	e9 5f ff ff ff       	jmp    0x2628
+    26c9:	f6 85 2c ff ff ff 04 	testb  $0x4,-0xd4(%ebp)
+    26d0:	0f 84 d2 10 00 00    	je     0x37a8
+    26d6:	83 bd 20 ff ff ff 00 	cmpl   $0x0,-0xe0(%ebp)
+    26dd:	0f 85 b6 17 00 00    	jne    0x3e99
+    26e3:	8b b5 08 ff ff ff    	mov    -0xf8(%ebp),%esi
+    26e9:	8b 06                	mov    (%esi),%eax
+    26eb:	83 c6 04             	add    $0x4,%esi
+    26ee:	89 b5 08 ff ff ff    	mov    %esi,-0xf8(%ebp)
+    26f4:	8b b5 28 ff ff ff    	mov    -0xd8(%ebp),%esi
+    26fa:	0f b7 95 30 ff ff ff 	movzwl -0xd0(%ebp),%edx
+    2701:	8b 8d 30 ff ff ff    	mov    -0xd0(%ebp),%ecx
+    2707:	8b bd 40 ff ff ff    	mov    -0xc0(%ebp),%edi
+    270d:	89 b5 48 ff ff ff    	mov    %esi,-0xb8(%ebp)
+    2713:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
+    2719:	66 89 10             	mov    %dx,(%eax)
+    271c:	89 8d 38 ff ff ff    	mov    %ecx,-0xc8(%ebp)
+    2722:	c7 85 3c ff ff ff 00 	movl   $0x0,-0xc4(%ebp)
+    2729:	00 00 00 
+    272c:	e9 31 da ff ff       	jmp    0x162
+    2731:	d1 a5 00 ff ff ff    	shll   -0x100(%ebp)
+    2737:	8b 8d 00 ff ff ff    	mov    -0x100(%ebp),%ecx
+    273d:	8b 85 14 ff ff ff    	mov    -0xec(%ebp),%eax
+    2743:	2b bd 14 ff ff ff    	sub    -0xec(%ebp),%edi
+    2749:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
+    274f:	89 4c 24 04          	mov    %ecx,0x4(%esp)
+    2753:	89 04 24             	mov    %eax,(%esp)
+    2756:	e8 fc ff ff ff       	call   0x2757
+    275b:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
+    2761:	85 c0                	test   %eax,%eax
+    2763:	0f 84 0c 18 00 00    	je     0x3f75
+    2769:	8b 95 10 ff ff ff    	mov    -0xf0(%ebp),%edx
+    276f:	89 02                	mov    %eax,(%edx)
+    2771:	01 f8                	add    %edi,%eax
+    2773:	e9 09 ef ff ff       	jmp    0x1681
+    2778:	8b 95 10 ff ff ff    	mov    -0xf0(%ebp),%edx
+    277e:	8b 9d fc fe ff ff    	mov    -0x104(%ebp),%ebx
+    2784:	8b 0a                	mov    (%edx),%ecx
+    2786:	8b 15 00 00 00 00    	mov    0x0,%edx
+    278c:	65 8b 02             	mov    %gs:(%edx),%eax
+    278f:	8b 00                	mov    (%eax),%eax
+    2791:	03 58 5c             	add    0x5c(%eax),%ebx
+    2794:	8b 85 00 ff ff ff    	mov    -0x100(%ebp),%eax
+    279a:	89 9d 3c ff ff ff    	mov    %ebx,-0xc4(%ebp)
+    27a0:	8d 1c 01             	lea    (%ecx,%eax,1),%ebx
+    27a3:	39 9d 3c ff ff ff    	cmp    %ebx,-0xc4(%ebp)
+    27a9:	0f 82 9a fa ff ff    	jb     0x2249
+    27af:	8b 9d fc fe ff ff    	mov    -0x104(%ebp),%ebx
+    27b5:	01 c0                	add    %eax,%eax
+    27b7:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
+    27bd:	89 85 00 ff ff ff    	mov    %eax,-0x100(%ebp)
+    27c3:	89 44 24 04          	mov    %eax,0x4(%esp)
+    27c7:	29 cb                	sub    %ecx,%ebx
+    27c9:	89 0c 24             	mov    %ecx,(%esp)
+    27cc:	e8 fc ff ff ff       	call   0x27cd
+    27d1:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
+    27d7:	85 c0                	test   %eax,%eax
+    27d9:	0f 84 c1 3c 00 00    	je     0x64a0
+    27df:	8b 95 10 ff ff ff    	mov    -0xf0(%ebp),%edx
+    27e5:	8d 1c 18             	lea    (%eax,%ebx,1),%ebx
+    27e8:	89 9d fc fe ff ff    	mov    %ebx,-0x104(%ebp)
+    27ee:	89 02                	mov    %eax,(%edx)
+    27f0:	e9 54 fa ff ff       	jmp    0x2249
+    27f5:	a1 00 00 00 00       	mov    0x0,%eax
+    27fa:	8b 95 1c ff ff ff    	mov    -0xe4(%ebp),%edx
+    2800:	65 89 10             	mov    %edx,%gs:(%eax)
+    2803:	83 bd 24 ff ff ff 00 	cmpl   $0x0,-0xdc(%ebp)
+    280a:	0f 84 76 da ff ff    	je     0x286
+    2810:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
+    2816:	bf 01 00 00 00       	mov    $0x1,%edi
+    281b:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
+    2821:	e9 7a da ff ff       	jmp    0x2a0
+    2826:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
+    282c:	8b 8d 20 ff ff ff    	mov    -0xe0(%ebp),%ecx
+    2832:	83 bd 20 ff ff ff 01 	cmpl   $0x1,-0xe0(%ebp)
+    2839:	8d 4c 8a fc          	lea    -0x4(%edx,%ecx,4),%ecx
+    283d:	0f 45 d1             	cmovne %ecx,%edx
+    2840:	8b 02                	mov    (%edx),%eax
+    2842:	e9 55 f7 ff ff       	jmp    0x1f9c
+    2847:	a1 00 00 00 00       	mov    0x0,%eax
+    284c:	8b 95 1c ff ff ff    	mov    -0xe4(%ebp),%edx
+    2852:	65 89 10             	mov    %edx,%gs:(%eax)
+    2855:	83 bd 24 ff ff ff 00 	cmpl   $0x0,-0xdc(%ebp)
+    285c:	0f 84 24 da ff ff    	je     0x286
+    2862:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
+    2868:	bf 01 00 00 00       	mov    $0x1,%edi
+    286d:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
+    2873:	e9 28 da ff ff       	jmp    0x2a0
+    2878:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
+    287e:	8b 8d 20 ff ff ff    	mov    -0xe0(%ebp),%ecx
+    2884:	83 bd 20 ff ff ff 01 	cmpl   $0x1,-0xe0(%ebp)
+    288b:	8d 4c 8a fc          	lea    -0x4(%edx,%ecx,4),%ecx
+    288f:	0f 45 d1             	cmovne %ecx,%edx
+    2892:	8b 02                	mov    (%edx),%eax
+    2894:	e9 ce fa ff ff       	jmp    0x2367
+    2899:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
+    289f:	8b 85 20 ff ff ff    	mov    -0xe0(%ebp),%eax
+    28a5:	83 bd 20 ff ff ff 01 	cmpl   $0x1,-0xe0(%ebp)
+    28ac:	8d 44 82 fc          	lea    -0x4(%edx,%eax,4),%eax
+    28b0:	0f 45 d0             	cmovne %eax,%edx
+    28b3:	8b 12                	mov    (%edx),%edx
+    28b5:	89 95 f8 fe ff ff    	mov    %edx,-0x108(%ebp)
+    28bb:	e9 dc fa ff ff       	jmp    0x239c
+    28c0:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
+    28c6:	8b 8d 20 ff ff ff    	mov    -0xe0(%ebp),%ecx
+    28cc:	83 bd 20 ff ff ff 01 	cmpl   $0x1,-0xe0(%ebp)
+    28d3:	8d 4c 8a fc          	lea    -0x4(%edx,%ecx,4),%ecx
+    28d7:	0f 45 d1             	cmovne %ecx,%edx
+    28da:	8b 02                	mov    (%edx),%eax
+    28dc:	e9 76 e9 ff ff       	jmp    0x1257
+    28e1:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
+    28e7:	8b 85 20 ff ff ff    	mov    -0xe0(%ebp),%eax
+    28ed:	83 bd 20 ff ff ff 01 	cmpl   $0x1,-0xe0(%ebp)
+    28f4:	8d 44 82 fc          	lea    -0x4(%edx,%eax,4),%eax
+    28f8:	0f 45 d0             	cmovne %eax,%edx
+    28fb:	8b 12                	mov    (%edx),%edx
+    28fd:	89 95 f8 fe ff ff    	mov    %edx,-0x108(%ebp)
+    2903:	e9 e3 fa ff ff       	jmp    0x23eb
+    2908:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
+    290e:	8b 85 20 ff ff ff    	mov    -0xe0(%ebp),%eax
+    2914:	83 bd 20 ff ff ff 01 	cmpl   $0x1,-0xe0(%ebp)
+    291b:	8d 44 82 fc          	lea    -0x4(%edx,%eax,4),%eax
+    291f:	0f 45 d0             	cmovne %eax,%edx
+    2922:	8b 02                	mov    (%edx),%eax
+    2924:	e9 2e e9 ff ff       	jmp    0x1257
+    2929:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
+    292f:	bf 02 00 00 00       	mov    $0x2,%edi
+    2934:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
+    293a:	e9 61 d9 ff ff       	jmp    0x2a0
+    293f:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
+    2945:	8b 8d 20 ff ff ff    	mov    -0xe0(%ebp),%ecx
+    294b:	83 bd 20 ff ff ff 01 	cmpl   $0x1,-0xe0(%ebp)
+    2952:	8d 4c 8a fc          	lea    -0x4(%edx,%ecx,4),%ecx
+    2956:	0f 45 d1             	cmovne %ecx,%edx
+    2959:	8b 12                	mov    (%edx),%edx
+    295b:	89 95 10 ff ff ff    	mov    %edx,-0xf0(%ebp)
+    2961:	e9 77 e3 ff ff       	jmp    0xcdd
+    2966:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
+    296c:	8b 8d 20 ff ff ff    	mov    -0xe0(%ebp),%ecx
+    2972:	83 bd 20 ff ff ff 01 	cmpl   $0x1,-0xe0(%ebp)
+    2979:	8d 4c 8a fc          	lea    -0x4(%edx,%ecx,4),%ecx
+    297d:	0f 45 d1             	cmovne %ecx,%edx
+    2980:	8b 12                	mov    (%edx),%edx
+    2982:	89 95 10 ff ff ff    	mov    %edx,-0xf0(%ebp)
+    2988:	e9 4d e1 ff ff       	jmp    0xada
+    298d:	a1 00 00 00 00       	mov    0x0,%eax
+    2992:	8b 9d 1c ff ff ff    	mov    -0xe4(%ebp),%ebx
+    2998:	65 89 18             	mov    %ebx,%gs:(%eax)
+    299b:	83 bd 24 ff ff ff 00 	cmpl   $0x0,-0xdc(%ebp)
+    29a2:	0f 84 de d8 ff ff    	je     0x286
+    29a8:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
+    29ae:	bf 01 00 00 00       	mov    $0x1,%edi
+    29b3:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
+    29b9:	e9 e2 d8 ff ff       	jmp    0x2a0
+    29be:	a1 00 00 00 00       	mov    0x0,%eax
+    29c3:	8b bd 1c ff ff ff    	mov    -0xe4(%ebp),%edi
+    29c9:	65 89 38             	mov    %edi,%gs:(%eax)
+    29cc:	83 bd 24 ff ff ff 00 	cmpl   $0x0,-0xdc(%ebp)
+    29d3:	0f 84 ad d8 ff ff    	je     0x286
+    29d9:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
+    29df:	bf 01 00 00 00       	mov    $0x1,%edi
+    29e4:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
+    29ea:	e9 b1 d8 ff ff       	jmp    0x2a0
+    29ef:	8b b5 10 ff ff ff    	mov    -0xf0(%ebp),%esi
+    29f5:	8d 4a 01             	lea    0x1(%edx),%ecx
+    29f8:	8d 04 8d 00 00 00 00 	lea    0x0(,%ecx,4),%eax
+    29ff:	89 44 24 04          	mov    %eax,0x4(%esp)
+    2a03:	89 8d cc fe ff ff    	mov    %ecx,-0x134(%ebp)
+    2a09:	8b 06                	mov    (%esi),%eax
+    2a0b:	89 04 24             	mov    %eax,(%esp)
+    2a0e:	e8 fc ff ff ff       	call   0x2a0f
+    2a13:	8b 8d cc fe ff ff    	mov    -0x134(%ebp),%ecx
+    2a19:	85 c0                	test   %eax,%eax
+    2a1b:	0f 85 02 f1 ff ff    	jne    0x1b23
+    2a21:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
+    2a27:	83 cb ff             	or     $0xffffffff,%ebx
+    2a2a:	31 ff                	xor    %edi,%edi
+    2a2c:	c7 85 24 ff ff ff ff 	movl   $0xffffffff,-0xdc(%ebp)
+    2a33:	ff ff ff 
+    2a36:	e9 65 d8 ff ff       	jmp    0x2a0
+    2a3b:	90                   	nop
+    2a3c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    2a40:	80 bd e8 fe ff ff 00 	cmpb   $0x0,-0x118(%ebp)
+    2a47:	0f 84 b3 01 00 00    	je     0x2c00
+    2a4d:	8b 8d 3c ff ff ff    	mov    -0xc4(%ebp),%ecx
+    2a53:	8b 85 e0 fe ff ff    	mov    -0x120(%ebp),%eax
+    2a59:	39 04 0e             	cmp    %eax,(%esi,%ecx,1)
+    2a5c:	0f 84 b0 05 00 00    	je     0x3012
+    2a62:	0f b6 85 f0 fe ff ff 	movzbl -0x110(%ebp),%eax
+    2a69:	83 f0 01             	xor    $0x1,%eax
+    2a6c:	3b 9d dc fe ff ff    	cmp    -0x124(%ebp),%ebx
+    2a72:	0f 84 be 02 00 00    	je     0x2d36
+    2a78:	84 c0                	test   %al,%al
+    2a7a:	0f 84 ba 02 00 00    	je     0x2d3a
+    2a80:	80 bd d7 fe ff ff 00 	cmpb   $0x0,-0x129(%ebp)
+    2a87:	0f 84 ad 02 00 00    	je     0x2d3a
+    2a8d:	3b 9d 18 ff ff ff    	cmp    -0xe8(%ebp),%ebx
+    2a93:	0f 85 a1 02 00 00    	jne    0x2d3a
+    2a99:	3b 95 44 ff ff ff    	cmp    -0xbc(%ebp),%edx
+    2a9f:	0f 84 2b 1a 00 00    	je     0x44d0
+    2aa5:	89 d1                	mov    %edx,%ecx
+    2aa7:	8b 95 38 ff ff ff    	mov    -0xc8(%ebp),%edx
+    2aad:	c6 85 f0 fe ff ff 00 	movb   $0x0,-0x110(%ebp)
+    2ab4:	89 1c 16             	mov    %ebx,(%esi,%edx,1)
+    2ab7:	e9 9e fb ff ff       	jmp    0x265a
+    2abc:	a1 00 00 00 00       	mov    0x0,%eax
+    2ac1:	8b 95 48 ff ff ff    	mov    -0xb8(%ebp),%edx
+    2ac7:	89 9d 3c ff ff ff    	mov    %ebx,-0xc4(%ebp)
+    2acd:	8b 9d 30 ff ff ff    	mov    -0xd0(%ebp),%ebx
+    2ad3:	89 8d 40 ff ff ff    	mov    %ecx,-0xc0(%ebp)
+    2ad9:	65 8b 00             	mov    %gs:(%eax),%eax
+    2adc:	89 95 44 ff ff ff    	mov    %edx,-0xbc(%ebp)
+    2ae2:	89 f2                	mov    %esi,%edx
+    2ae4:	89 9d 38 ff ff ff    	mov    %ebx,-0xc8(%ebp)
+    2aea:	89 85 1c ff ff ff    	mov    %eax,-0xe4(%ebp)
+    2af0:	f7 85 2c ff ff ff 00 	testl  $0x400,-0xd4(%ebp)
+    2af7:	04 00 00 
+    2afa:	0f 85 3a 2d 00 00    	jne    0x583a
+    2b00:	89 d6                	mov    %edx,%esi
+    2b02:	8b 9d 44 ff ff ff    	mov    -0xbc(%ebp),%ebx
+    2b08:	85 db                	test   %ebx,%ebx
+    2b0a:	0f 84 1a 2d 00 00    	je     0x582a
+    2b10:	83 bd 44 ff ff ff 02 	cmpl   $0x2,-0xbc(%ebp)
+    2b17:	0f 84 eb 25 00 00    	je     0x5108
+    2b1d:	8b bd 44 ff ff ff    	mov    -0xbc(%ebp),%edi
+    2b23:	39 bd 40 ff ff ff    	cmp    %edi,-0xc0(%ebp)
+    2b29:	0f 84 9e 23 00 00    	je     0x4ecd
+    2b2f:	8b bd 40 ff ff ff    	mov    -0xc0(%ebp),%edi
+    2b35:	89 d6                	mov    %edx,%esi
+    2b37:	8b 9d 44 ff ff ff    	mov    -0xbc(%ebp),%ebx
+    2b3d:	f6 85 2c ff ff ff 02 	testb  $0x2,-0xd4(%ebp)
+    2b44:	c7 04 9e 00 00 00 00 	movl   $0x0,(%esi,%ebx,4)
+    2b4b:	0f 85 87 06 00 00    	jne    0x31d8
+    2b51:	f6 85 2c ff ff ff 03 	testb  $0x3,-0xd4(%ebp)
+    2b58:	0f 84 e5 04 00 00    	je     0x3043
+    2b5e:	8b 85 2c ff ff ff    	mov    -0xd4(%ebp),%eax
+    2b64:	89 34 24             	mov    %esi,(%esp)
+    2b67:	25 80 00 00 00       	and    $0x80,%eax
+    2b6c:	89 44 24 08          	mov    %eax,0x8(%esp)
+    2b70:	8d 45 ec             	lea    -0x14(%ebp),%eax
+    2b73:	89 44 24 04          	mov    %eax,0x4(%esp)
+    2b77:	e8 fc ff ff ff       	call   0x2b78
+    2b7c:	f6 85 2c ff ff ff 08 	testb  $0x8,-0xd4(%ebp)
+    2b83:	75 3a                	jne    0x2bbf
+    2b85:	39 75 ec             	cmp    %esi,-0x14(%ebp)
+    2b88:	0f 84 a5 0e 00 00    	je     0x3a33
+    2b8e:	83 bd 20 ff ff ff 00 	cmpl   $0x0,-0xe0(%ebp)
+    2b95:	0f 85 b2 0e 00 00    	jne    0x3a4d
+    2b9b:	8b 9d 08 ff ff ff    	mov    -0xf8(%ebp),%ebx
+    2ba1:	8b 03                	mov    (%ebx),%eax
+    2ba3:	83 c3 04             	add    $0x4,%ebx
+    2ba6:	89 9d 08 ff ff ff    	mov    %ebx,-0xf8(%ebp)
+    2bac:	80 bd d6 fe ff ff 00 	cmpb   $0x0,-0x12a(%ebp)
+    2bb3:	d9 c0                	fld    %st(0)
+    2bb5:	d9 e0                	fchs   
+    2bb7:	da c9                	fcmove %st(1),%st
+    2bb9:	dd d9                	fstp   %st(1)
+    2bbb:	dd 18                	fstpl  (%eax)
+    2bbd:	eb 0a                	jmp    0x2bc9
+    2bbf:	dd d8                	fstp   %st(0)
+    2bc1:	eb 06                	jmp    0x2bc9
+    2bc3:	dd d8                	fstp   %st(0)
+    2bc5:	eb 02                	jmp    0x2bc9
+    2bc7:	dd d8                	fstp   %st(0)
+    2bc9:	3b 75 ec             	cmp    -0x14(%ebp),%esi
+    2bcc:	0f 84 96 31 00 00    	je     0x5d68
+    2bd2:	f6 85 2c ff ff ff 08 	testb  $0x8,-0xd4(%ebp)
+    2bd9:	0f 84 0b 04 00 00    	je     0x2fea
+    2bdf:	8b 85 28 ff ff ff    	mov    -0xd8(%ebp),%eax
+    2be5:	8b 9d 3c ff ff ff    	mov    -0xc4(%ebp),%ebx
+    2beb:	c7 85 3c ff ff ff 00 	movl   $0x0,-0xc4(%ebp)
+    2bf2:	00 00 00 
+    2bf5:	89 85 48 ff ff ff    	mov    %eax,-0xb8(%ebp)
+    2bfb:	e9 62 d5 ff ff       	jmp    0x162
+    2c00:	8b 8d d8 fe ff ff    	mov    -0x128(%ebp),%ecx
+    2c06:	85 c9                	test   %ecx,%ecx
+    2c08:	0f 84 c2 00 00 00    	je     0x2cd0
+    2c0e:	89 1c 24             	mov    %ebx,(%esp)
+    2c11:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
+    2c17:	e8 fc ff ff ff       	call   0x2c18
+    2c1c:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
+    2c22:	85 c0                	test   %eax,%eax
+    2c24:	0f 84 a6 00 00 00    	je     0x2cd0
+    2c2a:	3b 95 44 ff ff ff    	cmp    -0xbc(%ebp),%edx
+    2c30:	0f 85 19 fa ff ff    	jne    0x264f
+    2c36:	8d 0c 12             	lea    (%edx,%edx,1),%ecx
+    2c39:	b8 00 01 00 00       	mov    $0x100,%eax
+    2c3e:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
+    2c44:	0f 43 c1             	cmovae %ecx,%eax
+    2c47:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
+    2c4e:	89 85 44 ff ff ff    	mov    %eax,-0xbc(%ebp)
+    2c54:	89 f0                	mov    %esi,%eax
+    2c56:	75 12                	jne    0x2c6a
+    2c58:	81 bd 44 ff ff ff 00 	cmpl   $0x10000,-0xbc(%ebp)
+    2c5f:	00 01 00 
+    2c62:	0f 86 25 1b 00 00    	jbe    0x478d
+    2c68:	31 c0                	xor    %eax,%eax
+    2c6a:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
+    2c70:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
+    2c76:	89 04 24             	mov    %eax,(%esp)
+    2c79:	89 74 24 04          	mov    %esi,0x4(%esp)
+    2c7d:	e8 fc ff ff ff       	call   0x2c7e
+    2c82:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
+    2c88:	85 c0                	test   %eax,%eax
+    2c8a:	89 c6                	mov    %eax,%esi
+    2c8c:	0f 84 8a 19 00 00    	je     0x461c
+    2c92:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
+    2c99:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
+    2c9f:	0f 85 ac f9 ff ff    	jne    0x2651
+    2ca5:	8b 85 14 ff ff ff    	mov    -0xec(%ebp),%eax
+    2cab:	89 54 24 08          	mov    %edx,0x8(%esp)
+    2caf:	89 34 24             	mov    %esi,(%esp)
+    2cb2:	89 44 24 04          	mov    %eax,0x4(%esp)
+    2cb6:	e8 fc ff ff ff       	call   0x2cb7
+    2cbb:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
+    2cc1:	c6 85 0f ff ff ff 01 	movb   $0x1,-0xf1(%ebp)
+    2cc8:	e9 84 f9 ff ff       	jmp    0x2651
+    2ccd:	8d 76 00             	lea    0x0(%esi),%esi
+    2cd0:	8b 85 44 ff ff ff    	mov    -0xbc(%ebp),%eax
+    2cd6:	85 c0                	test   %eax,%eax
+    2cd8:	0f 84 84 fd ff ff    	je     0x2a62
+    2cde:	89 1c 24             	mov    %ebx,(%esp)
+    2ce1:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
+    2ce7:	e8 fc ff ff ff       	call   0x2ce8
+    2cec:	8b 8d e0 fe ff ff    	mov    -0x120(%ebp),%ecx
+    2cf2:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
+    2cf8:	39 c8                	cmp    %ecx,%eax
+    2cfa:	89 85 40 ff ff ff    	mov    %eax,-0xc0(%ebp)
+    2d00:	0f 85 5c fd ff ff    	jne    0x2a62
+    2d06:	3b 95 44 ff ff ff    	cmp    -0xbc(%ebp),%edx
+    2d0c:	0f 84 35 19 00 00    	je     0x4647
+    2d12:	89 d1                	mov    %edx,%ecx
+    2d14:	8b 85 40 ff ff ff    	mov    -0xc0(%ebp),%eax
+    2d1a:	8b 95 38 ff ff ff    	mov    -0xc8(%ebp),%edx
+    2d20:	c6 85 e8 fe ff ff 01 	movb   $0x1,-0x118(%ebp)
+    2d27:	c6 85 f0 fe ff ff 01 	movb   $0x1,-0x110(%ebp)
+    2d2e:	89 04 16             	mov    %eax,(%esi,%edx,1)
+    2d31:	e9 24 f9 ff ff       	jmp    0x265a
+    2d36:	84 c0                	test   %al,%al
+    2d38:	75 5e                	jne    0x2d98
+    2d3a:	8b 8d 30 ff ff ff    	mov    -0xd0(%ebp),%ecx
+    2d40:	83 fb ff             	cmp    $0xffffffff,%ebx
+    2d43:	89 95 40 ff ff ff    	mov    %edx,-0xc0(%ebp)
+    2d49:	8b 95 14 ff ff ff    	mov    -0xec(%ebp),%edx
+    2d4f:	89 9d 3c ff ff ff    	mov    %ebx,-0xc4(%ebp)
+    2d55:	89 8d 38 ff ff ff    	mov    %ecx,-0xc8(%ebp)
+    2d5b:	0f 84 8f fd ff ff    	je     0x2af0
+    2d61:	8b 85 34 ff ff ff    	mov    -0xcc(%ebp),%eax
+    2d67:	89 ce                	mov    %ecx,%esi
+    2d69:	83 ee 01             	sub    $0x1,%esi
+    2d6c:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
+    2d72:	89 b5 38 ff ff ff    	mov    %esi,-0xc8(%ebp)
+    2d78:	89 5c 24 04          	mov    %ebx,0x4(%esp)
+    2d7c:	89 04 24             	mov    %eax,(%esp)
+    2d7f:	e8 fc ff ff ff       	call   0x2d80
+    2d84:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
+    2d8a:	89 9d 3c ff ff ff    	mov    %ebx,-0xc4(%ebp)
+    2d90:	e9 5b fd ff ff       	jmp    0x2af0
+    2d95:	8d 76 00             	lea    0x0(%esi),%esi
+    2d98:	3b 95 44 ff ff ff    	cmp    -0xbc(%ebp),%edx
+    2d9e:	0f 84 c2 26 00 00    	je     0x5466
+    2da4:	89 d1                	mov    %edx,%ecx
+    2da6:	8b 95 38 ff ff ff    	mov    -0xc8(%ebp),%edx
+    2dac:	c6 85 f0 fe ff ff 01 	movb   $0x1,-0x110(%ebp)
+    2db3:	89 1c 16             	mov    %ebx,(%esi,%edx,1)
+    2db6:	e9 9f f8 ff ff       	jmp    0x265a
+    2dbb:	a1 00 00 00 00       	mov    0x0,%eax
+    2dc0:	8b b5 48 ff ff ff    	mov    -0xb8(%ebp),%esi
+    2dc6:	89 bd fc fe ff ff    	mov    %edi,-0x104(%ebp)
+    2dcc:	65 8b 00             	mov    %gs:(%eax),%eax
+    2dcf:	89 85 1c ff ff ff    	mov    %eax,-0xe4(%ebp)
+    2dd5:	85 f6                	test   %esi,%esi
+    2dd7:	0f 85 65 f0 ff ff    	jne    0x1e42
+    2ddd:	f7 85 2c ff ff ff 00 	testl  $0x2100,-0xd4(%ebp)
+    2de4:	21 00 00 
+    2de7:	74 2a                	je     0x2e13
+    2de9:	8b b5 10 ff ff ff    	mov    -0xf0(%ebp),%esi
+    2def:	8b 95 fc fe ff ff    	mov    -0x104(%ebp),%edx
+    2df5:	8b 06                	mov    (%esi),%eax
+    2df7:	29 c2                	sub    %eax,%edx
+    2df9:	3b 95 00 ff ff ff    	cmp    -0x100(%ebp),%edx
+    2dff:	74 12                	je     0x2e13
+    2e01:	89 54 24 04          	mov    %edx,0x4(%esp)
+    2e05:	89 04 24             	mov    %eax,(%esp)
+    2e08:	e8 fc ff ff ff       	call   0x2e09
+    2e0d:	85 c0                	test   %eax,%eax
+    2e0f:	74 02                	je     0x2e13
+    2e11:	89 06                	mov    %eax,(%esi)
+    2e13:	8b bd 28 ff ff ff    	mov    -0xd8(%ebp),%edi
+    2e19:	83 85 24 ff ff ff 01 	addl   $0x1,-0xdc(%ebp)
+    2e20:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
+    2e26:	c7 85 3c ff ff ff 00 	movl   $0x0,-0xc4(%ebp)
+    2e2d:	00 00 00 
+    2e30:	89 bd 48 ff ff ff    	mov    %edi,-0xb8(%ebp)
+    2e36:	8b bd 40 ff ff ff    	mov    -0xc0(%ebp),%edi
+    2e3c:	c7 85 10 ff ff ff 00 	movl   $0x0,-0xf0(%ebp)
+    2e43:	00 00 00 
+    2e46:	e9 17 d3 ff ff       	jmp    0x162
+    2e4b:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
+    2e51:	39 bd 3c ff ff ff    	cmp    %edi,-0xc4(%ebp)
+    2e57:	0f 84 81 14 00 00    	je     0x42de
+    2e5d:	8b 95 f0 fe ff ff    	mov    -0x110(%ebp),%edx
+    2e63:	85 d2                	test   %edx,%edx
+    2e65:	75 43                	jne    0x2eaa
+    2e67:	8b 85 f8 fe ff ff    	mov    -0x108(%ebp),%eax
+    2e6d:	89 30                	mov    %esi,(%eax)
+    2e6f:	83 c0 04             	add    $0x4,%eax
+    2e72:	89 85 f8 fe ff ff    	mov    %eax,-0x108(%ebp)
+    2e78:	8b 85 e0 fe ff ff    	mov    -0x120(%ebp),%eax
+    2e7e:	85 c0                	test   %eax,%eax
+    2e80:	74 28                	je     0x2eaa
+    2e82:	8b 95 10 ff ff ff    	mov    -0xf0(%ebp),%edx
+    2e88:	8b 8d 00 ff ff ff    	mov    -0x100(%ebp),%ecx
+    2e8e:	8b 02                	mov    (%edx),%eax
+    2e90:	89 cb                	mov    %ecx,%ebx
+    2e92:	c1 e3 02             	shl    $0x2,%ebx
+    2e95:	89 8d 3c ff ff ff    	mov    %ecx,-0xc4(%ebp)
+    2e9b:	8d 14 18             	lea    (%eax,%ebx,1),%edx
+    2e9e:	39 95 f8 fe ff ff    	cmp    %edx,-0x108(%ebp)
+    2ea4:	0f 84 16 15 00 00    	je     0x43c0
+    2eaa:	83 ad 28 ff ff ff 01 	subl   $0x1,-0xd8(%ebp)
+    2eb1:	8b 9d 28 ff ff ff    	mov    -0xd8(%ebp),%ebx
+    2eb7:	85 db                	test   %ebx,%ebx
+    2eb9:	0f 8e e5 14 00 00    	jle    0x43a4
+    2ebf:	83 fe ff             	cmp    $0xffffffff,%esi
+    2ec2:	0f 84 c6 14 00 00    	je     0x438e
+    2ec8:	8b b5 34 ff ff ff    	mov    -0xcc(%ebp),%esi
+    2ece:	8b 56 5c             	mov    0x5c(%esi),%edx
+    2ed1:	85 d2                	test   %edx,%edx
+    2ed3:	0f 84 33 27 00 00    	je     0x560c
+    2ed9:	8b 0a                	mov    (%edx),%ecx
+    2edb:	3b 4a 04             	cmp    0x4(%edx),%ecx
+    2ede:	0f 83 28 27 00 00    	jae    0x560c
+    2ee4:	8b 19                	mov    (%ecx),%ebx
+    2ee6:	83 c1 04             	add    $0x4,%ecx
+    2ee9:	89 0a                	mov    %ecx,(%edx)
+    2eeb:	83 fb ff             	cmp    $0xffffffff,%ebx
+    2eee:	0f 84 cd 04 00 00    	je     0x33c1
+    2ef4:	83 85 38 ff ff ff 01 	addl   $0x1,-0xc8(%ebp)
+    2efb:	89 de                	mov    %ebx,%esi
+    2efd:	e9 dc ed ff ff       	jmp    0x1cde
+    2f02:	a1 00 00 00 00       	mov    0x0,%eax
+    2f07:	8b b5 48 ff ff ff    	mov    -0xb8(%ebp),%esi
+    2f0d:	89 bd fc fe ff ff    	mov    %edi,-0x104(%ebp)
+    2f13:	65 8b 00             	mov    %gs:(%eax),%eax
+    2f16:	89 85 1c ff ff ff    	mov    %eax,-0xe4(%ebp)
+    2f1c:	85 f6                	test   %esi,%esi
+    2f1e:	0f 85 1e ef ff ff    	jne    0x1e42
+    2f24:	8d 75 e4             	lea    -0x1c(%ebp),%esi
+    2f27:	8d 7d a4             	lea    -0x5c(%ebp),%edi
+    2f2a:	89 74 24 08          	mov    %esi,0x8(%esp)
+    2f2e:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
+    2f35:	00 
+    2f36:	89 3c 24             	mov    %edi,(%esp)
+    2f39:	e8 fc ff ff ff       	call   0x2f3a
+    2f3e:	85 c0                	test   %eax,%eax
+    2f40:	89 c6                	mov    %eax,%esi
+    2f42:	0f 84 69 0b 00 00    	je     0x3ab1
+    2f48:	f7 85 2c ff ff ff 00 	testl  $0x2100,-0xd4(%ebp)
+    2f4f:	21 00 00 
+    2f52:	0f 84 8a 0a 00 00    	je     0x39e2
+    2f58:	8b 95 10 ff ff ff    	mov    -0xf0(%ebp),%edx
+    2f5e:	8b bd 00 ff ff ff    	mov    -0x100(%ebp),%edi
+    2f64:	8b 02                	mov    (%edx),%eax
+    2f66:	8b 95 fc fe ff ff    	mov    -0x104(%ebp),%edx
+    2f6c:	8d 0c 38             	lea    (%eax,%edi,1),%ecx
+    2f6f:	01 f2                	add    %esi,%edx
+    2f71:	39 ca                	cmp    %ecx,%edx
+    2f73:	0f 83 7b 14 00 00    	jae    0x43f4
+    2f79:	8b 95 fc fe ff ff    	mov    -0x104(%ebp),%edx
+    2f7f:	8d 45 a4             	lea    -0x5c(%ebp),%eax
+    2f82:	89 74 24 08          	mov    %esi,0x8(%esp)
+    2f86:	89 44 24 04          	mov    %eax,0x4(%esp)
+    2f8a:	89 14 24             	mov    %edx,(%esp)
+    2f8d:	e8 fc ff ff ff       	call   0x2f8e
+    2f92:	c6 00 00             	movb   $0x0,(%eax)
+    2f95:	83 c0 01             	add    $0x1,%eax
+    2f98:	89 85 fc fe ff ff    	mov    %eax,-0x104(%ebp)
+    2f9e:	8b bd 10 ff ff ff    	mov    -0xf0(%ebp),%edi
+    2fa4:	8b 85 fc fe ff ff    	mov    -0x104(%ebp),%eax
+    2faa:	8b 17                	mov    (%edi),%edx
+    2fac:	29 d0                	sub    %edx,%eax
+    2fae:	3b 85 00 ff ff ff    	cmp    -0x100(%ebp),%eax
+    2fb4:	74 1c                	je     0x2fd2
+    2fb6:	89 44 24 04          	mov    %eax,0x4(%esp)
+    2fba:	89 14 24             	mov    %edx,(%esp)
+    2fbd:	e8 fc ff ff ff       	call   0x2fbe
+    2fc2:	85 c0                	test   %eax,%eax
+    2fc4:	0f 84 09 0b 00 00    	je     0x3ad3
+    2fca:	89 07                	mov    %eax,(%edi)
+    2fcc:	8b 85 00 ff ff ff    	mov    -0x100(%ebp),%eax
+    2fd2:	8b 95 28 ff ff ff    	mov    -0xd8(%ebp),%edx
+    2fd8:	83 85 24 ff ff ff 01 	addl   $0x1,-0xdc(%ebp)
+    2fdf:	89 95 48 ff ff ff    	mov    %edx,-0xb8(%ebp)
+    2fe5:	e9 47 f5 ff ff       	jmp    0x2531
+    2fea:	8b 95 28 ff ff ff    	mov    -0xd8(%ebp),%edx
+    2ff0:	8b 9d 3c ff ff ff    	mov    -0xc4(%ebp),%ebx
+    2ff6:	83 85 24 ff ff ff 01 	addl   $0x1,-0xdc(%ebp)
+    2ffd:	89 95 48 ff ff ff    	mov    %edx,-0xb8(%ebp)
+    3003:	c7 85 3c ff ff ff 00 	movl   $0x0,-0xc4(%ebp)
+    300a:	00 00 00 
+    300d:	e9 50 d1 ff ff       	jmp    0x162
+    3012:	83 fb 2b             	cmp    $0x2b,%ebx
+    3015:	74 09                	je     0x3020
+    3017:	83 fb 2d             	cmp    $0x2d,%ebx
+    301a:	0f 85 42 fa ff ff    	jne    0x2a62
+    3020:	3b 95 44 ff ff ff    	cmp    -0xbc(%ebp),%edx
+    3026:	0f 84 3f 18 00 00    	je     0x486b
+    302c:	89 d1                	mov    %edx,%ecx
+    302e:	8b 95 38 ff ff ff    	mov    -0xc8(%ebp),%edx
+    3034:	c6 85 e8 fe ff ff 01 	movb   $0x1,-0x118(%ebp)
+    303b:	89 1c 16             	mov    %ebx,(%esi,%edx,1)
+    303e:	e9 17 f6 ff ff       	jmp    0x265a
+    3043:	8b 85 2c ff ff ff    	mov    -0xd4(%ebp),%eax
+    3049:	89 34 24             	mov    %esi,(%esp)
+    304c:	25 80 00 00 00       	and    $0x80,%eax
+    3051:	89 44 24 08          	mov    %eax,0x8(%esp)
+    3055:	8d 45 ec             	lea    -0x14(%ebp),%eax
+    3058:	89 44 24 04          	mov    %eax,0x4(%esp)
+    305c:	e8 fc ff ff ff       	call   0x305d
+    3061:	f6 85 2c ff ff ff 08 	testb  $0x8,-0xd4(%ebp)
+    3068:	0f 85 55 fb ff ff    	jne    0x2bc3
+    306e:	39 75 ec             	cmp    %esi,-0x14(%ebp)
+    3071:	0f 84 c0 09 00 00    	je     0x3a37
+    3077:	83 bd 20 ff ff ff 00 	cmpl   $0x0,-0xe0(%ebp)
+    307e:	0f 85 7b 0a 00 00    	jne    0x3aff
+    3084:	8b 9d 08 ff ff ff    	mov    -0xf8(%ebp),%ebx
+    308a:	8b 03                	mov    (%ebx),%eax
+    308c:	83 c3 04             	add    $0x4,%ebx
+    308f:	89 9d 08 ff ff ff    	mov    %ebx,-0xf8(%ebp)
+    3095:	80 bd d6 fe ff ff 00 	cmpb   $0x0,-0x12a(%ebp)
+    309c:	d9 c0                	fld    %st(0)
+    309e:	d9 e0                	fchs   
+    30a0:	da c9                	fcmove %st(1),%st
+    30a2:	dd d9                	fstp   %st(1)
+    30a4:	d9 18                	fstps  (%eax)
+    30a6:	e9 1e fb ff ff       	jmp    0x2bc9
+    30ab:	80 bd 20 ff ff ff 00 	cmpb   $0x0,-0xe0(%ebp)
+    30b2:	0f 85 93 fd ff ff    	jne    0x2e4b
+    30b8:	80 bd e8 fe ff ff 00 	cmpb   $0x0,-0x118(%ebp)
+    30bf:	0f 84 3b ec ff ff    	je     0x1d00
+    30c5:	83 fb ff             	cmp    $0xffffffff,%ebx
+    30c8:	74 19                	je     0x30e3
+    30ca:	8b b5 34 ff ff ff    	mov    -0xcc(%ebp),%esi
+    30d0:	83 ad 38 ff ff ff 01 	subl   $0x1,-0xc8(%ebp)
+    30d7:	89 5c 24 04          	mov    %ebx,0x4(%esp)
+    30db:	89 34 24             	mov    %esi,(%esp)
+    30de:	e8 fc ff ff ff       	call   0x30df
+    30e3:	8b 95 38 ff ff ff    	mov    -0xc8(%ebp),%edx
+    30e9:	39 95 30 ff ff ff    	cmp    %edx,-0xd0(%ebp)
+    30ef:	0f 84 11 15 00 00    	je     0x4606
+    30f5:	f6 85 2c ff ff ff 08 	testb  $0x8,-0xd4(%ebp)
+    30fc:	0f 85 5b d1 ff ff    	jne    0x25d
+    3102:	8b 8d f8 fe ff ff    	mov    -0x108(%ebp),%ecx
+    3108:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
+    310e:	83 c1 04             	add    $0x4,%ecx
+    3111:	f7 85 2c ff ff ff 00 	testl  $0x2100,-0xd4(%ebp)
+    3118:	21 00 00 
+    311b:	89 8d f8 fe ff ff    	mov    %ecx,-0x108(%ebp)
+    3121:	74 2c                	je     0x314f
+    3123:	8b b5 10 ff ff ff    	mov    -0xf0(%ebp),%esi
+    3129:	89 c8                	mov    %ecx,%eax
+    312b:	8b 16                	mov    (%esi),%edx
+    312d:	29 d0                	sub    %edx,%eax
+    312f:	c1 f8 02             	sar    $0x2,%eax
+    3132:	3b 85 00 ff ff ff    	cmp    -0x100(%ebp),%eax
+    3138:	74 15                	je     0x314f
+    313a:	c1 e0 02             	shl    $0x2,%eax
+    313d:	89 44 24 04          	mov    %eax,0x4(%esp)
+    3141:	89 14 24             	mov    %edx,(%esp)
+    3144:	e8 fc ff ff ff       	call   0x3145
+    3149:	85 c0                	test   %eax,%eax
+    314b:	74 02                	je     0x314f
+    314d:	89 06                	mov    %eax,(%esi)
+    314f:	83 85 24 ff ff ff 01 	addl   $0x1,-0xdc(%ebp)
+    3156:	8b bd 40 ff ff ff    	mov    -0xc0(%ebp),%edi
+    315c:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
+    3162:	c7 85 3c ff ff ff 00 	movl   $0x0,-0xc4(%ebp)
+    3169:	00 00 00 
+    316c:	c7 85 10 ff ff ff 00 	movl   $0x0,-0xf0(%ebp)
+    3173:	00 00 00 
+    3176:	e9 e7 cf ff ff       	jmp    0x162
+    317b:	89 c8                	mov    %ecx,%eax
+    317d:	b2 01                	mov    $0x1,%dl
+    317f:	83 c0 04             	add    $0x4,%eax
+    3182:	89 85 14 ff ff ff    	mov    %eax,-0xec(%ebp)
+    3188:	e9 77 ea ff ff       	jmp    0x1c04
+    318d:	83 c1 04             	add    $0x4,%ecx
+    3190:	89 8d 14 ff ff ff    	mov    %ecx,-0xec(%ebp)
+    3196:	8b 01                	mov    (%ecx),%eax
+    3198:	89 b5 38 ff ff ff    	mov    %esi,-0xc8(%ebp)
+    319e:	e9 92 ea ff ff       	jmp    0x1c35
+    31a3:	a1 00 00 00 00       	mov    0x0,%eax
+    31a8:	8b 9d 1c ff ff ff    	mov    -0xe4(%ebp),%ebx
+    31ae:	65 89 18             	mov    %ebx,%gs:(%eax)
+    31b1:	8b bd 24 ff ff ff    	mov    -0xdc(%ebp),%edi
+    31b7:	85 ff                	test   %edi,%edi
+    31b9:	0f 84 c7 d0 ff ff    	je     0x286
+    31bf:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
+    31c5:	bf 01 00 00 00       	mov    $0x1,%edi
+    31ca:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
+    31d0:	e9 cb d0 ff ff       	jmp    0x2a0
+    31d5:	8d 76 00             	lea    0x0(%esi),%esi
+    31d8:	8b 85 2c ff ff ff    	mov    -0xd4(%ebp),%eax
+    31de:	89 34 24             	mov    %esi,(%esp)
+    31e1:	25 80 00 00 00       	and    $0x80,%eax
+    31e6:	89 44 24 08          	mov    %eax,0x8(%esp)
+    31ea:	8d 45 ec             	lea    -0x14(%ebp),%eax
+    31ed:	89 44 24 04          	mov    %eax,0x4(%esp)
+    31f1:	e8 fc ff ff ff       	call   0x31f2
+    31f6:	f6 85 2c ff ff ff 08 	testb  $0x8,-0xd4(%ebp)
+    31fd:	0f 85 c4 f9 ff ff    	jne    0x2bc7
+    3203:	39 75 ec             	cmp    %esi,-0x14(%ebp)
+    3206:	0f 84 2f 08 00 00    	je     0x3a3b
+    320c:	83 bd 20 ff ff ff 00 	cmpl   $0x0,-0xe0(%ebp)
+    3213:	0f 85 c5 08 00 00    	jne    0x3ade
+    3219:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
+    321f:	8b 02                	mov    (%edx),%eax
+    3221:	83 c2 04             	add    $0x4,%edx
+    3224:	89 95 08 ff ff ff    	mov    %edx,-0xf8(%ebp)
+    322a:	80 bd d6 fe ff ff 00 	cmpb   $0x0,-0x12a(%ebp)
+    3231:	d9 c0                	fld    %st(0)
+    3233:	d9 e0                	fchs   
+    3235:	da c9                	fcmove %st(1),%st
+    3237:	dd d9                	fstp   %st(1)
+    3239:	db 38                	fstpt  (%eax)
+    323b:	e9 89 f9 ff ff       	jmp    0x2bc9
+    3240:	a1 00 00 00 00       	mov    0x0,%eax
+    3245:	8b 95 1c ff ff ff    	mov    -0xe4(%ebp),%edx
+    324b:	65 89 10             	mov    %edx,%gs:(%eax)
+    324e:	e9 f9 e0 ff ff       	jmp    0x134c
+    3253:	8b b5 40 ff ff ff    	mov    -0xc0(%ebp),%esi
+    3259:	85 f6                	test   %esi,%esi
+    325b:	0f 84 e6 2e 00 00    	je     0x6147
+    3261:	8b 95 44 ff ff ff    	mov    -0xbc(%ebp),%edx
+    3267:	85 ff                	test   %edi,%edi
+    3269:	89 1a                	mov    %ebx,(%edx)
+    326b:	0f 84 17 06 00 00    	je     0x3888
+    3271:	83 fb ff             	cmp    $0xffffffff,%ebx
+    3274:	0f 84 00 06 00 00    	je     0x387a
+    327a:	8b 8d 34 ff ff ff    	mov    -0xcc(%ebp),%ecx
+    3280:	8b 41 5c             	mov    0x5c(%ecx),%eax
+    3283:	85 c0                	test   %eax,%eax
+    3285:	0f 84 19 23 00 00    	je     0x55a4
+    328b:	8b 08                	mov    (%eax),%ecx
+    328d:	3b 48 04             	cmp    0x4(%eax),%ecx
+    3290:	0f 83 0e 23 00 00    	jae    0x55a4
+    3296:	8b 19                	mov    (%ecx),%ebx
+    3298:	83 c1 04             	add    $0x4,%ecx
+    329b:	89 08                	mov    %ecx,(%eax)
+    329d:	83 fb ff             	cmp    $0xffffffff,%ebx
+    32a0:	0f 84 e2 05 00 00    	je     0x3888
+    32a6:	89 1c 24             	mov    %ebx,(%esp)
+    32a9:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
+    32af:	e8 fc ff ff ff       	call   0x32b0
+    32b4:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
+    32ba:	83 f8 61             	cmp    $0x61,%eax
+    32bd:	0f 85 2f 24 00 00    	jne    0x56f2
+    32c3:	31 c0                	xor    %eax,%eax
+    32c5:	85 ff                	test   %edi,%edi
+    32c7:	0f 9f c0             	setg   %al
+    32ca:	29 c7                	sub    %eax,%edi
+    32cc:	83 bd 40 ff ff ff 01 	cmpl   $0x1,-0xc0(%ebp)
+    32d3:	0f 84 df 23 00 00    	je     0x56b8
+    32d9:	89 d6                	mov    %edx,%esi
+    32db:	85 ff                	test   %edi,%edi
+    32dd:	89 5e 04             	mov    %ebx,0x4(%esi)
+    32e0:	0f 84 c2 23 00 00    	je     0x56a8
+    32e6:	8b bd 34 ff ff ff    	mov    -0xcc(%ebp),%edi
+    32ec:	8b 47 5c             	mov    0x5c(%edi),%eax
+    32ef:	85 c0                	test   %eax,%eax
+    32f1:	0f 84 98 23 00 00    	je     0x568f
+    32f7:	8b 10                	mov    (%eax),%edx
+    32f9:	3b 50 04             	cmp    0x4(%eax),%edx
+    32fc:	0f 83 8d 23 00 00    	jae    0x568f
+    3302:	8b 0a                	mov    (%edx),%ecx
+    3304:	83 c2 04             	add    $0x4,%edx
+    3307:	89 10                	mov    %edx,(%eax)
+    3309:	89 8d 3c ff ff ff    	mov    %ecx,-0xc4(%ebp)
+    330f:	83 bd 3c ff ff ff ff 	cmpl   $0xffffffff,-0xc4(%ebp)
+    3316:	0f 84 8c 23 00 00    	je     0x56a8
+    331c:	8b bd 3c ff ff ff    	mov    -0xc4(%ebp),%edi
+    3322:	89 3c 24             	mov    %edi,(%esp)
+    3325:	e8 fc ff ff ff       	call   0x3326
+    332a:	83 f8 6e             	cmp    $0x6e,%eax
+    332d:	0f 85 69 2f 00 00    	jne    0x629c
+    3333:	83 bd 40 ff ff ff 02 	cmpl   $0x2,-0xc0(%ebp)
+    333a:	0f 84 2e 2f 00 00    	je     0x626e
+    3340:	89 f2                	mov    %esi,%edx
+    3342:	8b b5 30 ff ff ff    	mov    -0xd0(%ebp),%esi
+    3348:	8b bd 3c ff ff ff    	mov    -0xc4(%ebp),%edi
+    334e:	c7 85 44 ff ff ff 03 	movl   $0x3,-0xbc(%ebp)
+    3355:	00 00 00 
+    3358:	83 c6 02             	add    $0x2,%esi
+    335b:	89 b5 38 ff ff ff    	mov    %esi,-0xc8(%ebp)
+    3361:	89 7a 08             	mov    %edi,0x8(%edx)
+    3364:	e9 b4 f7 ff ff       	jmp    0x2b1d
+    3369:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
+    336f:	bf 02 00 00 00       	mov    $0x2,%edi
+    3374:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
+    337a:	e9 21 cf ff ff       	jmp    0x2a0
+    337f:	8b 8d 04 ff ff ff    	mov    -0xfc(%ebp),%ecx
+    3385:	8b 95 20 ff ff ff    	mov    -0xe0(%ebp),%edx
+    338b:	83 bd 20 ff ff ff 01 	cmpl   $0x1,-0xe0(%ebp)
+    3392:	8d 44 91 fc          	lea    -0x4(%ecx,%edx,4),%eax
+    3396:	0f 44 c1             	cmove  %ecx,%eax
+    3399:	8b 00                	mov    (%eax),%eax
+    339b:	e9 b3 dd ff ff       	jmp    0x1153
+    33a0:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
+    33a6:	8b 8d 20 ff ff ff    	mov    -0xe0(%ebp),%ecx
+    33ac:	83 bd 20 ff ff ff 01 	cmpl   $0x1,-0xe0(%ebp)
+    33b3:	8d 44 8a fc          	lea    -0x4(%edx,%ecx,4),%eax
+    33b7:	0f 44 c2             	cmove  %edx,%eax
+    33ba:	8b 00                	mov    (%eax),%eax
+    33bc:	e9 92 dd ff ff       	jmp    0x1153
+    33c1:	a1 00 00 00 00       	mov    0x0,%eax
+    33c6:	65 8b 00             	mov    %gs:(%eax),%eax
+    33c9:	89 85 1c ff ff ff    	mov    %eax,-0xe4(%ebp)
+    33cf:	e9 0f fd ff ff       	jmp    0x30e3
+    33d4:	83 bd 40 ff ff ff 00 	cmpl   $0x0,-0xc0(%ebp)
+    33db:	0f 84 1d 16 00 00    	je     0x49fe
+    33e1:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
+    33e7:	85 ff                	test   %edi,%edi
+    33e9:	89 1e                	mov    %ebx,(%esi)
+    33eb:	0f 84 8f 05 00 00    	je     0x3980
+    33f1:	83 fb ff             	cmp    $0xffffffff,%ebx
+    33f4:	0f 84 78 05 00 00    	je     0x3972
+    33fa:	8b 95 34 ff ff ff    	mov    -0xcc(%ebp),%edx
+    3400:	8b 42 5c             	mov    0x5c(%edx),%eax
+    3403:	85 c0                	test   %eax,%eax
+    3405:	0f 84 de 15 00 00    	je     0x49e9
+    340b:	8b 10                	mov    (%eax),%edx
+    340d:	3b 50 04             	cmp    0x4(%eax),%edx
+    3410:	0f 83 d3 15 00 00    	jae    0x49e9
+    3416:	8b 1a                	mov    (%edx),%ebx
+    3418:	83 c2 04             	add    $0x4,%edx
+    341b:	89 10                	mov    %edx,(%eax)
+    341d:	83 fb ff             	cmp    $0xffffffff,%ebx
+    3420:	0f 84 5a 05 00 00    	je     0x3980
+    3426:	89 1c 24             	mov    %ebx,(%esp)
+    3429:	e8 fc ff ff ff       	call   0x342a
+    342e:	83 f8 6e             	cmp    $0x6e,%eax
+    3431:	0f 85 8d 1e 00 00    	jne    0x52c4
+    3437:	31 c0                	xor    %eax,%eax
+    3439:	85 ff                	test   %edi,%edi
+    343b:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
+    3441:	0f 9f c0             	setg   %al
+    3444:	29 c7                	sub    %eax,%edi
+    3446:	83 bd 40 ff ff ff 01 	cmpl   $0x1,-0xc0(%ebp)
+    344d:	0f 84 43 1e 00 00    	je     0x5296
+    3453:	85 ff                	test   %edi,%edi
+    3455:	89 5e 04             	mov    %ebx,0x4(%esi)
+    3458:	0f 84 28 1e 00 00    	je     0x5286
+    345e:	8b 95 34 ff ff ff    	mov    -0xcc(%ebp),%edx
+    3464:	8b 42 5c             	mov    0x5c(%edx),%eax
+    3467:	85 c0                	test   %eax,%eax
+    3469:	0f 84 fe 1d 00 00    	je     0x526d
+    346f:	8b 10                	mov    (%eax),%edx
+    3471:	3b 50 04             	cmp    0x4(%eax),%edx
+    3474:	0f 83 f3 1d 00 00    	jae    0x526d
+    347a:	8b 1a                	mov    (%edx),%ebx
+    347c:	83 c2 04             	add    $0x4,%edx
+    347f:	89 10                	mov    %edx,(%eax)
+    3481:	89 9d 3c ff ff ff    	mov    %ebx,-0xc4(%ebp)
+    3487:	83 bd 3c ff ff ff ff 	cmpl   $0xffffffff,-0xc4(%ebp)
+    348e:	0f 84 f2 1d 00 00    	je     0x5286
+    3494:	8b 85 3c ff ff ff    	mov    -0xc4(%ebp),%eax
+    349a:	89 04 24             	mov    %eax,(%esp)
+    349d:	e8 fc ff ff ff       	call   0x349e
+    34a2:	83 f8 66             	cmp    $0x66,%eax
+    34a5:	0f 85 2f 1b 00 00    	jne    0x4fda
+    34ab:	31 c0                	xor    %eax,%eax
+    34ad:	85 ff                	test   %edi,%edi
+    34af:	0f 9f c0             	setg   %al
+    34b2:	89 f2                	mov    %esi,%edx
+    34b4:	29 c7                	sub    %eax,%edi
+    34b6:	83 bd 40 ff ff ff 02 	cmpl   $0x2,-0xc0(%ebp)
+    34bd:	0f 84 e9 1a 00 00    	je     0x4fac
+    34c3:	8b 8d 30 ff ff ff    	mov    -0xd0(%ebp),%ecx
+    34c9:	8b 9d 3c ff ff ff    	mov    -0xc4(%ebp),%ebx
+    34cf:	c7 85 44 ff ff ff 03 	movl   $0x3,-0xbc(%ebp)
+    34d6:	00 00 00 
+    34d9:	83 c1 02             	add    $0x2,%ecx
+    34dc:	85 ff                	test   %edi,%edi
+    34de:	89 8d 38 ff ff ff    	mov    %ecx,-0xc8(%ebp)
+    34e4:	89 5a 08             	mov    %ebx,0x8(%edx)
+    34e7:	0f 84 30 f6 ff ff    	je     0x2b1d
+    34ed:	8b b5 34 ff ff ff    	mov    -0xcc(%ebp),%esi
+    34f3:	8b 46 5c             	mov    0x5c(%esi),%eax
+    34f6:	85 c0                	test   %eax,%eax
+    34f8:	0f 84 57 1b 00 00    	je     0x5055
+    34fe:	8b 08                	mov    (%eax),%ecx
+    3500:	3b 48 04             	cmp    0x4(%eax),%ecx
+    3503:	0f 83 4c 1b 00 00    	jae    0x5055
+    3509:	8b 19                	mov    (%ecx),%ebx
+    350b:	83 c1 04             	add    $0x4,%ecx
+    350e:	89 08                	mov    %ecx,(%eax)
+    3510:	89 9d 3c ff ff ff    	mov    %ebx,-0xc4(%ebp)
+    3516:	83 bd 3c ff ff ff ff 	cmpl   $0xffffffff,-0xc4(%ebp)
+    351d:	0f 84 a4 0c 00 00    	je     0x41c7
+    3523:	8b 85 3c ff ff ff    	mov    -0xc4(%ebp),%eax
+    3529:	8b b5 38 ff ff ff    	mov    -0xc8(%ebp),%esi
+    352f:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
+    3535:	89 04 24             	mov    %eax,(%esp)
+    3538:	83 c6 01             	add    $0x1,%esi
+    353b:	89 b5 48 ff ff ff    	mov    %esi,-0xb8(%ebp)
+    3541:	e8 fc ff ff ff       	call   0x3542
+    3546:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
+    354c:	83 f8 69             	cmp    $0x69,%eax
+    354f:	0f 84 6a 0a 00 00    	je     0x3fbf
+    3555:	8b bd 3c ff ff ff    	mov    -0xc4(%ebp),%edi
+    355b:	8b 85 34 ff ff ff    	mov    -0xcc(%ebp),%eax
+    3561:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
+    3567:	89 7c 24 04          	mov    %edi,0x4(%esp)
+    356b:	89 04 24             	mov    %eax,(%esp)
+    356e:	e8 fc ff ff ff       	call   0x356f
+    3573:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
+    3579:	c7 85 44 ff ff ff 03 	movl   $0x3,-0xbc(%ebp)
+    3580:	00 00 00 
+    3583:	e9 95 f5 ff ff       	jmp    0x2b1d
+    3588:	a1 00 00 00 00       	mov    0x0,%eax
+    358d:	65 8b 00             	mov    %gs:(%eax),%eax
+    3590:	89 85 1c ff ff ff    	mov    %eax,-0xe4(%ebp)
+    3596:	e9 b1 dd ff ff       	jmp    0x134c
+    359b:	a1 00 00 00 00       	mov    0x0,%eax
+    35a0:	65 8b 00             	mov    %gs:(%eax),%eax
+    35a3:	89 85 1c ff ff ff    	mov    %eax,-0xe4(%ebp)
+    35a9:	e9 af ee ff ff       	jmp    0x245d
+    35ae:	a1 00 00 00 00       	mov    0x0,%eax
+    35b3:	8b 95 1c ff ff ff    	mov    -0xe4(%ebp),%edx
+    35b9:	8b 9d 48 ff ff ff    	mov    -0xb8(%ebp),%ebx
+    35bf:	c7 85 3c ff ff ff ff 	movl   $0xffffffff,-0xc4(%ebp)
+    35c6:	ff ff ff 
+    35c9:	89 8d 40 ff ff ff    	mov    %ecx,-0xc0(%ebp)
+    35cf:	65 89 10             	mov    %edx,%gs:(%eax)
+    35d2:	8b 85 30 ff ff ff    	mov    -0xd0(%ebp),%eax
+    35d8:	89 f2                	mov    %esi,%edx
+    35da:	89 9d 44 ff ff ff    	mov    %ebx,-0xbc(%ebp)
+    35e0:	89 85 38 ff ff ff    	mov    %eax,-0xc8(%ebp)
+    35e6:	e9 05 f5 ff ff       	jmp    0x2af0
+    35eb:	8b 95 30 ff ff ff    	mov    -0xd0(%ebp),%edx
+    35f1:	8b 85 48 ff ff ff    	mov    -0xb8(%ebp),%eax
+    35f7:	89 9d 3c ff ff ff    	mov    %ebx,-0xc4(%ebp)
+    35fd:	89 8d 40 ff ff ff    	mov    %ecx,-0xc0(%ebp)
+    3603:	89 95 38 ff ff ff    	mov    %edx,-0xc8(%ebp)
+    3609:	89 f2                	mov    %esi,%edx
+    360b:	89 85 44 ff ff ff    	mov    %eax,-0xbc(%ebp)
+    3611:	e9 da f4 ff ff       	jmp    0x2af0
+    3616:	a1 00 00 00 00       	mov    0x0,%eax
+    361b:	8b bd 1c ff ff ff    	mov    -0xe4(%ebp),%edi
+    3621:	89 b5 f8 fe ff ff    	mov    %esi,-0x108(%ebp)
+    3627:	8b b5 48 ff ff ff    	mov    -0xb8(%ebp),%esi
+    362d:	65 89 38             	mov    %edi,%gs:(%eax)
+    3630:	e9 37 e7 ff ff       	jmp    0x1d6c
+    3635:	83 bd 20 ff ff ff 00 	cmpl   $0x0,-0xe0(%ebp)
+    363c:	0f 85 91 06 00 00    	jne    0x3cd3
+    3642:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
+    3648:	8b 8d 08 ff ff ff    	mov    -0xf8(%ebp),%ecx
+    364e:	8b 12                	mov    (%edx),%edx
+    3650:	83 c1 04             	add    $0x4,%ecx
+    3653:	89 8d 08 ff ff ff    	mov    %ecx,-0xf8(%ebp)
+    3659:	89 95 f8 fe ff ff    	mov    %edx,-0x108(%ebp)
+    365f:	83 bd f8 fe ff ff 00 	cmpl   $0x0,-0x108(%ebp)
+    3666:	0f 85 87 e5 ff ff    	jne    0x1bf3
+    366c:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
+    3672:	bf 02 00 00 00       	mov    $0x2,%edi
+    3677:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
+    367d:	e9 1e cc ff ff       	jmp    0x2a0
+    3682:	8b 8d 00 ff ff ff    	mov    -0x100(%ebp),%ecx
+    3688:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
+    368e:	89 04 24             	mov    %eax,(%esp)
+    3691:	c1 e1 03             	shl    $0x3,%ecx
+    3694:	89 4c 24 04          	mov    %ecx,0x4(%esp)
+    3698:	e8 fc ff ff ff       	call   0x3699
+    369d:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
+    36a3:	85 c0                	test   %eax,%eax
+    36a5:	0f 84 79 1d 00 00    	je     0x5424
+    36ab:	8b b5 10 ff ff ff    	mov    -0xf0(%ebp),%esi
+    36b1:	d1 a5 00 ff ff ff    	shll   -0x100(%ebp)
+    36b7:	89 06                	mov    %eax,(%esi)
+    36b9:	8d 34 10             	lea    (%eax,%edx,1),%esi
+    36bc:	e9 44 d5 ff ff       	jmp    0xc05
+    36c1:	83 bd 20 ff ff ff 00 	cmpl   $0x0,-0xe0(%ebp)
+    36c8:	0f 85 42 05 00 00    	jne    0x3c10
+    36ce:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
+    36d4:	8b 8d 08 ff ff ff    	mov    -0xf8(%ebp),%ecx
+    36da:	8b 12                	mov    (%edx),%edx
+    36dc:	83 c1 04             	add    $0x4,%ecx
+    36df:	89 8d 08 ff ff ff    	mov    %ecx,-0xf8(%ebp)
+    36e5:	89 95 fc fe ff ff    	mov    %edx,-0x104(%ebp)
+    36eb:	83 bd fc fe ff ff 00 	cmpl   $0x0,-0x104(%ebp)
+    36f2:	0f 85 bd de ff ff    	jne    0x15b5
+    36f8:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
+    36fe:	bf 02 00 00 00       	mov    $0x2,%edi
+    3703:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
+    3709:	e9 92 cb ff ff       	jmp    0x2a0
+    370e:	83 bd 20 ff ff ff 00 	cmpl   $0x0,-0xe0(%ebp)
+    3715:	0f 85 57 07 00 00    	jne    0x3e72
+    371b:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
+    3721:	8b 8d 08 ff ff ff    	mov    -0xf8(%ebp),%ecx
+    3727:	8b 12                	mov    (%edx),%edx
+    3729:	83 c1 04             	add    $0x4,%ecx
+    372c:	89 8d 08 ff ff ff    	mov    %ecx,-0xf8(%ebp)
+    3732:	89 95 fc fe ff ff    	mov    %edx,-0x104(%ebp)
+    3738:	83 bd fc fe ff ff 00 	cmpl   $0x0,-0x104(%ebp)
+    373f:	0f 85 22 e1 ff ff    	jne    0x1867
+    3745:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
+    374b:	bf 02 00 00 00       	mov    $0x2,%edi
+    3750:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
+    3756:	e9 45 cb ff ff       	jmp    0x2a0
+    375b:	83 bd 20 ff ff ff 00 	cmpl   $0x0,-0xe0(%ebp)
+    3762:	0f 85 52 07 00 00    	jne    0x3eba
+    3768:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
+    376e:	8b 8d 08 ff ff ff    	mov    -0xf8(%ebp),%ecx
+    3774:	8b 12                	mov    (%edx),%edx
+    3776:	83 c1 04             	add    $0x4,%ecx
+    3779:	89 8d 08 ff ff ff    	mov    %ecx,-0xf8(%ebp)
+    377f:	89 95 fc fe ff ff    	mov    %edx,-0x104(%ebp)
+    3785:	83 bd fc fe ff ff 00 	cmpl   $0x0,-0x104(%ebp)
+    378c:	0f 85 61 e4 ff ff    	jne    0x1bf3
+    3792:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
+    3798:	bf 02 00 00 00       	mov    $0x2,%edi
+    379d:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
+    37a3:	e9 f8 ca ff ff       	jmp    0x2a0
+    37a8:	f7 85 2c ff ff ff 00 	testl  $0x200,-0xd4(%ebp)
+    37af:	02 00 00 
+    37b2:	0f 85 5b e8 ff ff    	jne    0x2013
+    37b8:	83 bd 20 ff ff ff 00 	cmpl   $0x0,-0xe0(%ebp)
+    37bf:	0f 85 e6 0b 00 00    	jne    0x43ab
+    37c5:	8b bd 08 ff ff ff    	mov    -0xf8(%ebp),%edi
+    37cb:	8b 07                	mov    (%edi),%eax
+    37cd:	83 c7 04             	add    $0x4,%edi
+    37d0:	89 bd 08 ff ff ff    	mov    %edi,-0xf8(%ebp)
+    37d6:	8b 95 30 ff ff ff    	mov    -0xd0(%ebp),%edx
+    37dc:	89 10                	mov    %edx,(%eax)
+    37de:	e9 68 df ff ff       	jmp    0x174b
+    37e3:	89 b5 f8 fe ff ff    	mov    %esi,-0x108(%ebp)
+    37e9:	8b b5 48 ff ff ff    	mov    -0xb8(%ebp),%esi
+    37ef:	e9 78 e5 ff ff       	jmp    0x1d6c
+    37f4:	8b 8d ec fe ff ff    	mov    -0x114(%ebp),%ecx
+    37fa:	81 ec 98 00 00 00    	sub    $0x98,%esp
+    3800:	8d 44 24 1f          	lea    0x1f(%esp),%eax
+    3804:	83 e0 f0             	and    $0xfffffff0,%eax
+    3807:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
+    380d:	89 48 04             	mov    %ecx,0x4(%eax)
+    3810:	89 85 ec fe ff ff    	mov    %eax,-0x114(%ebp)
+    3816:	31 c0                	xor    %eax,%eax
+    3818:	c7 85 48 ff ff ff 01 	movl   $0x1,-0xb8(%ebp)
+    381f:	00 00 00 
+    3822:	e9 0b d3 ff ff       	jmp    0xb32
+    3827:	a1 00 00 00 00       	mov    0x0,%eax
+    382c:	65 c7 00 09 00 00 00 	movl   $0x9,%gs:(%eax)
+    3833:	e9 0f c8 ff ff       	jmp    0x47
+    3838:	89 34 24             	mov    %esi,(%esp)
+    383b:	e8 fc ff ff ff       	call   0x383c
+    3840:	89 c3                	mov    %eax,%ebx
+    3842:	e9 ee c9 ff ff       	jmp    0x235
+    3847:	8b 8d ec fe ff ff    	mov    -0x114(%ebp),%ecx
+    384d:	81 ec 98 00 00 00    	sub    $0x98,%esp
+    3853:	8d 44 24 1f          	lea    0x1f(%esp),%eax
+    3857:	83 e0 f0             	and    $0xfffffff0,%eax
+    385a:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
+    3860:	89 48 04             	mov    %ecx,0x4(%eax)
+    3863:	89 85 ec fe ff ff    	mov    %eax,-0x114(%ebp)
+    3869:	31 c0                	xor    %eax,%eax
+    386b:	c7 85 48 ff ff ff 01 	movl   $0x1,-0xb8(%ebp)
+    3872:	00 00 00 
+    3875:	e9 ce d4 ff ff       	jmp    0xd48
+    387a:	a1 00 00 00 00       	mov    0x0,%eax
+    387f:	8b bd 1c ff ff ff    	mov    -0xe4(%ebp),%edi
+    3885:	65 89 38             	mov    %edi,%gs:(%eax)
+    3888:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
+    388e:	89 d6                	mov    %edx,%esi
+    3890:	bf 02 00 00 00       	mov    $0x2,%edi
+    3895:	e9 06 ca ff ff       	jmp    0x2a0
+    389a:	8b 8d ec fe ff ff    	mov    -0x114(%ebp),%ecx
+    38a0:	81 ec 98 00 00 00    	sub    $0x98,%esp
+    38a6:	8d 44 24 1f          	lea    0x1f(%esp),%eax
+    38aa:	83 e0 f0             	and    $0xfffffff0,%eax
+    38ad:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
+    38b3:	89 48 04             	mov    %ecx,0x4(%eax)
+    38b6:	89 85 ec fe ff ff    	mov    %eax,-0x114(%ebp)
+    38bc:	31 c0                	xor    %eax,%eax
+    38be:	c7 85 48 ff ff ff 01 	movl   $0x1,-0xb8(%ebp)
+    38c5:	00 00 00 
+    38c8:	e9 04 e3 ff ff       	jmp    0x1bd1
+    38cd:	89 b5 f8 fe ff ff    	mov    %esi,-0x108(%ebp)
+    38d3:	a1 00 00 00 00       	mov    0x0,%eax
+    38d8:	8b b5 1c ff ff ff    	mov    -0xe4(%ebp),%esi
+    38de:	65 89 30             	mov    %esi,%gs:(%eax)
+    38e1:	e9 81 e5 ff ff       	jmp    0x1e67
+    38e6:	89 b5 f8 fe ff ff    	mov    %esi,-0x108(%ebp)
+    38ec:	e9 76 e5 ff ff       	jmp    0x1e67
+    38f1:	8b 85 34 ff ff ff    	mov    -0xcc(%ebp),%eax
+    38f7:	89 8d cc fe ff ff    	mov    %ecx,-0x134(%ebp)
+    38fd:	89 04 24             	mov    %eax,(%esp)
+    3900:	e8 fc ff ff ff       	call   0x3901
+    3905:	8b 8d cc fe ff ff    	mov    -0x134(%ebp),%ecx
+    390b:	89 c3                	mov    %eax,%ebx
+    390d:	e9 ab d5 ff ff       	jmp    0xebd
+    3912:	8b 8d fc fe ff ff    	mov    -0x104(%ebp),%ecx
+    3918:	8d 55 a4             	lea    -0x5c(%ebp),%edx
+    391b:	89 44 24 08          	mov    %eax,0x8(%esp)
+    391f:	89 54 24 04          	mov    %edx,0x4(%esp)
+    3923:	89 0c 24             	mov    %ecx,(%esp)
+    3926:	e8 fc ff ff ff       	call   0x3927
+    392b:	c6 00 00             	movb   $0x0,(%eax)
+    392e:	83 c0 01             	add    $0x1,%eax
+    3931:	89 85 fc fe ff ff    	mov    %eax,-0x104(%ebp)
+    3937:	8b 85 00 ff ff ff    	mov    -0x100(%ebp),%eax
+    393d:	e9 e8 eb ff ff       	jmp    0x252a
+    3942:	89 bd fc fe ff ff    	mov    %edi,-0x104(%ebp)
+    3948:	a1 00 00 00 00       	mov    0x0,%eax
+    394d:	8b bd 1c ff ff ff    	mov    -0xe4(%ebp),%edi
+    3953:	8b b5 48 ff ff ff    	mov    -0xb8(%ebp),%esi
+    3959:	65 89 38             	mov    %edi,%gs:(%eax)
+    395c:	e9 74 f4 ff ff       	jmp    0x2dd5
+    3961:	8b b5 48 ff ff ff    	mov    -0xb8(%ebp),%esi
+    3967:	89 bd fc fe ff ff    	mov    %edi,-0x104(%ebp)
+    396d:	e9 63 f4 ff ff       	jmp    0x2dd5
+    3972:	a1 00 00 00 00       	mov    0x0,%eax
+    3977:	8b bd 1c ff ff ff    	mov    -0xe4(%ebp),%edi
+    397d:	65 89 38             	mov    %edi,%gs:(%eax)
+    3980:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
+    3986:	bf 02 00 00 00       	mov    $0x2,%edi
+    398b:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
+    3991:	e9 0a c9 ff ff       	jmp    0x2a0
+    3996:	f7 85 2c ff ff ff 00 	testl  $0x2000,-0xd4(%ebp)
+    399d:	20 00 00 
+    39a0:	0f 85 7b f0 ff ff    	jne    0x2a21
+    39a6:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
+    39ac:	bf 02 00 00 00       	mov    $0x2,%edi
+    39b1:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
+    39b7:	e9 e4 c8 ff ff       	jmp    0x2a0
+    39bc:	f7 85 2c ff ff ff 00 	testl  $0x2000,-0xd4(%ebp)
+    39c3:	20 00 00 
+    39c6:	0f 85 55 f0 ff ff    	jne    0x2a21
+    39cc:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
+    39d2:	bf 02 00 00 00       	mov    $0x2,%edi
+    39d7:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
+    39dd:	e9 be c8 ff ff       	jmp    0x2a0
+    39e2:	8b b5 fc fe ff ff    	mov    -0x104(%ebp),%esi
+    39e8:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
+    39eb:	89 44 24 08          	mov    %eax,0x8(%esp)
+    39ef:	89 4c 24 04          	mov    %ecx,0x4(%esp)
+    39f3:	89 34 24             	mov    %esi,(%esp)
+    39f6:	e8 fc ff ff ff       	call   0x39f7
+    39fb:	c6 00 00             	movb   $0x0,(%eax)
+    39fe:	83 c0 01             	add    $0x1,%eax
+    3a01:	89 85 fc fe ff ff    	mov    %eax,-0x104(%ebp)
+    3a07:	8b 85 00 ff ff ff    	mov    -0x100(%ebp),%eax
+    3a0d:	e9 c0 f5 ff ff       	jmp    0x2fd2
+    3a12:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
+    3a18:	8b 8d 20 ff ff ff    	mov    -0xe0(%ebp),%ecx
+    3a1e:	83 bd 20 ff ff ff 01 	cmpl   $0x1,-0xe0(%ebp)
+    3a25:	8d 44 8a fc          	lea    -0x4(%edx,%ecx,4),%eax
+    3a29:	0f 45 d0             	cmovne %eax,%edx
+    3a2c:	8b 02                	mov    (%edx),%eax
+    3a2e:	e9 09 dd ff ff       	jmp    0x173c
+    3a33:	dd d8                	fstp   %st(0)
+    3a35:	eb 06                	jmp    0x3a3d
+    3a37:	dd d8                	fstp   %st(0)
+    3a39:	eb 02                	jmp    0x3a3d
+    3a3b:	dd d8                	fstp   %st(0)
+    3a3d:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
+    3a43:	bf 02 00 00 00       	mov    $0x2,%edi
+    3a48:	e9 53 c8 ff ff       	jmp    0x2a0
+    3a4d:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
+    3a53:	8b 8d 20 ff ff ff    	mov    -0xe0(%ebp),%ecx
+    3a59:	83 bd 20 ff ff ff 01 	cmpl   $0x1,-0xe0(%ebp)
+    3a60:	8d 44 8a fc          	lea    -0x4(%edx,%ecx,4),%eax
+    3a64:	0f 45 d0             	cmovne %eax,%edx
+    3a67:	8b 02                	mov    (%edx),%eax
+    3a69:	e9 3e f1 ff ff       	jmp    0x2bac
+    3a6e:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
+    3a74:	bf 01 00 00 00       	mov    $0x1,%edi
+    3a79:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
+    3a7f:	e9 1c c8 ff ff       	jmp    0x2a0
+    3a84:	8b b5 fc fe ff ff    	mov    -0x104(%ebp),%esi
+    3a8a:	c6 06 00             	movb   $0x0,(%esi)
+    3a8d:	83 c6 01             	add    $0x1,%esi
+    3a90:	f7 85 2c ff ff ff 00 	testl  $0x2100,-0xd4(%ebp)
+    3a97:	21 00 00 
+    3a9a:	89 b5 fc fe ff ff    	mov    %esi,-0x104(%ebp)
+    3aa0:	0f 85 50 ea ff ff    	jne    0x24f6
+    3aa6:	8b 85 00 ff ff ff    	mov    -0x100(%ebp),%eax
+    3aac:	e9 79 ea ff ff       	jmp    0x252a
+    3ab1:	8b b5 fc fe ff ff    	mov    -0x104(%ebp),%esi
+    3ab7:	c6 06 00             	movb   $0x0,(%esi)
+    3aba:	83 c6 01             	add    $0x1,%esi
+    3abd:	f7 85 2c ff ff ff 00 	testl  $0x2100,-0xd4(%ebp)
+    3ac4:	21 00 00 
+    3ac7:	89 b5 fc fe ff ff    	mov    %esi,-0x104(%ebp)
+    3acd:	0f 85 cb f4 ff ff    	jne    0x2f9e
+    3ad3:	8b 85 00 ff ff ff    	mov    -0x100(%ebp),%eax
+    3ad9:	e9 f4 f4 ff ff       	jmp    0x2fd2
+    3ade:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
+    3ae4:	8b 8d 20 ff ff ff    	mov    -0xe0(%ebp),%ecx
+    3aea:	83 bd 20 ff ff ff 01 	cmpl   $0x1,-0xe0(%ebp)
+    3af1:	8d 44 8a fc          	lea    -0x4(%edx,%ecx,4),%eax
+    3af5:	0f 45 d0             	cmovne %eax,%edx
+    3af8:	8b 02                	mov    (%edx),%eax
+    3afa:	e9 2b f7 ff ff       	jmp    0x322a
+    3aff:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
+    3b05:	8b 8d 20 ff ff ff    	mov    -0xe0(%ebp),%ecx
+    3b0b:	83 bd 20 ff ff ff 01 	cmpl   $0x1,-0xe0(%ebp)
+    3b12:	8d 44 8a fc          	lea    -0x4(%edx,%ecx,4),%eax
+    3b16:	0f 45 d0             	cmovne %eax,%edx
+    3b19:	8b 02                	mov    (%edx),%eax
+    3b1b:	e9 75 f5 ff ff       	jmp    0x3095
+    3b20:	8b 8d 34 ff ff ff    	mov    -0xcc(%ebp),%ecx
+    3b26:	89 0c 24             	mov    %ecx,(%esp)
+    3b29:	e8 fc ff ff ff       	call   0x3b2a
+    3b2e:	89 c3                	mov    %eax,%ebx
+    3b30:	e9 86 c9 ff ff       	jmp    0x4bb
+    3b35:	8b b5 48 ff ff ff    	mov    -0xb8(%ebp),%esi
+    3b3b:	b8 00 01 00 00       	mov    $0x100,%eax
+    3b40:	01 f6                	add    %esi,%esi
+    3b42:	81 fe 00 01 00 00    	cmp    $0x100,%esi
+    3b48:	0f 43 c6             	cmovae %esi,%eax
+    3b4b:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
+    3b52:	89 85 14 ff ff ff    	mov    %eax,-0xec(%ebp)
+    3b58:	8b 85 44 ff ff ff    	mov    -0xbc(%ebp),%eax
+    3b5e:	75 12                	jne    0x3b72
+    3b60:	81 bd 14 ff ff ff 00 	cmpl   $0x10000,-0xec(%ebp)
+    3b67:	00 01 00 
+    3b6a:	0f 86 9c 2a 00 00    	jbe    0x660c
+    3b70:	31 c0                	xor    %eax,%eax
+    3b72:	8b 95 14 ff ff ff    	mov    -0xec(%ebp),%edx
+    3b78:	89 8d cc fe ff ff    	mov    %ecx,-0x134(%ebp)
+    3b7e:	89 04 24             	mov    %eax,(%esp)
+    3b81:	89 54 24 04          	mov    %edx,0x4(%esp)
+    3b85:	e8 fc ff ff ff       	call   0x3b86
+    3b8a:	8b 8d cc fe ff ff    	mov    -0x134(%ebp),%ecx
+    3b90:	85 c0                	test   %eax,%eax
+    3b92:	89 c6                	mov    %eax,%esi
+    3b94:	0f 84 04 18 00 00    	je     0x539e
+    3b9a:	8b 85 14 ff ff ff    	mov    -0xec(%ebp),%eax
+    3ba0:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
+    3ba7:	89 85 40 ff ff ff    	mov    %eax,-0xc0(%ebp)
+    3bad:	0f 85 db d2 ff ff    	jne    0xe8e
+    3bb3:	8b 95 48 ff ff ff    	mov    -0xb8(%ebp),%edx
+    3bb9:	8b 85 44 ff ff ff    	mov    -0xbc(%ebp),%eax
+    3bbf:	89 8d cc fe ff ff    	mov    %ecx,-0x134(%ebp)
+    3bc5:	89 34 24             	mov    %esi,(%esp)
+    3bc8:	89 54 24 08          	mov    %edx,0x8(%esp)
+    3bcc:	89 44 24 04          	mov    %eax,0x4(%esp)
+    3bd0:	e8 fc ff ff ff       	call   0x3bd1
+    3bd5:	8b 95 14 ff ff ff    	mov    -0xec(%ebp),%edx
+    3bdb:	c6 85 0f ff ff ff 01 	movb   $0x1,-0xf1(%ebp)
+    3be2:	8b 8d cc fe ff ff    	mov    -0x134(%ebp),%ecx
+    3be8:	89 95 40 ff ff ff    	mov    %edx,-0xc0(%ebp)
+    3bee:	e9 9b d2 ff ff       	jmp    0xe8e
+    3bf3:	a1 00 00 00 00       	mov    0x0,%eax
+    3bf8:	8b 95 1c ff ff ff    	mov    -0xe4(%ebp),%edx
+    3bfe:	c7 85 3c ff ff ff 10 	movl   $0x10,-0xc4(%ebp)
+    3c05:	00 00 00 
+    3c08:	65 89 10             	mov    %edx,%gs:(%eax)
+    3c0b:	e9 4f cc ff ff       	jmp    0x85f
+    3c10:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
+    3c16:	8b 85 20 ff ff ff    	mov    -0xe0(%ebp),%eax
+    3c1c:	83 bd 20 ff ff ff 01 	cmpl   $0x1,-0xe0(%ebp)
+    3c23:	8d 44 82 fc          	lea    -0x4(%edx,%eax,4),%eax
+    3c27:	0f 45 d0             	cmovne %eax,%edx
+    3c2a:	8b 12                	mov    (%edx),%edx
+    3c2c:	89 95 fc fe ff ff    	mov    %edx,-0x104(%ebp)
+    3c32:	e9 b4 fa ff ff       	jmp    0x36eb
+    3c37:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
+    3c3d:	8b 8d 20 ff ff ff    	mov    -0xe0(%ebp),%ecx
+    3c43:	83 bd 20 ff ff ff 01 	cmpl   $0x1,-0xe0(%ebp)
+    3c4a:	8d 4c 8a fc          	lea    -0x4(%edx,%ecx,4),%ecx
+    3c4e:	0f 45 d1             	cmovne %ecx,%edx
+    3c51:	8b 12                	mov    (%edx),%edx
+    3c53:	89 95 10 ff ff ff    	mov    %edx,-0xf0(%ebp)
+    3c59:	e9 91 db ff ff       	jmp    0x17ef
+    3c5e:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
+    3c64:	8b 85 20 ff ff ff    	mov    -0xe0(%ebp),%eax
+    3c6a:	83 bd 20 ff ff ff 01 	cmpl   $0x1,-0xe0(%ebp)
+    3c71:	8d 44 82 fc          	lea    -0x4(%edx,%eax,4),%eax
+    3c75:	0f 45 d0             	cmovne %eax,%edx
+    3c78:	8b 12                	mov    (%edx),%edx
+    3c7a:	89 95 10 ff ff ff    	mov    %edx,-0xf0(%ebp)
+    3c80:	e9 f5 de ff ff       	jmp    0x1b7a
+    3c85:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
+    3c8b:	8b 8d 20 ff ff ff    	mov    -0xe0(%ebp),%ecx
+    3c91:	83 bd 20 ff ff ff 01 	cmpl   $0x1,-0xe0(%ebp)
+    3c98:	8d 4c 8a fc          	lea    -0x4(%edx,%ecx,4),%ecx
+    3c9c:	0f 45 d1             	cmovne %ecx,%edx
+    3c9f:	8b 12                	mov    (%edx),%edx
+    3ca1:	89 95 10 ff ff ff    	mov    %edx,-0xf0(%ebp)
+    3ca7:	e9 0c d6 ff ff       	jmp    0x12b8
+    3cac:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
+    3cb2:	8b 8d 20 ff ff ff    	mov    -0xe0(%ebp),%ecx
+    3cb8:	83 bd 20 ff ff ff 01 	cmpl   $0x1,-0xe0(%ebp)
+    3cbf:	8d 4c 8a fc          	lea    -0x4(%edx,%ecx,4),%ecx
+    3cc3:	0f 45 d1             	cmovne %ecx,%edx
+    3cc6:	8b 12                	mov    (%edx),%edx
+    3cc8:	89 95 10 ff ff ff    	mov    %edx,-0xf0(%ebp)
+    3cce:	e9 6a d8 ff ff       	jmp    0x153d
+    3cd3:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
+    3cd9:	8b 85 20 ff ff ff    	mov    -0xe0(%ebp),%eax
+    3cdf:	83 bd 20 ff ff ff 01 	cmpl   $0x1,-0xe0(%ebp)
+    3ce6:	8d 44 82 fc          	lea    -0x4(%edx,%eax,4),%eax
+    3cea:	0f 45 d0             	cmovne %eax,%edx
+    3ced:	8b 12                	mov    (%edx),%edx
+    3cef:	89 95 f8 fe ff ff    	mov    %edx,-0x108(%ebp)
+    3cf5:	e9 65 f9 ff ff       	jmp    0x365f
+    3cfa:	89 bd fc fe ff ff    	mov    %edi,-0x104(%ebp)
+    3d00:	a1 00 00 00 00       	mov    0x0,%eax
+    3d05:	8b bd 1c ff ff ff    	mov    -0xe4(%ebp),%edi
+    3d0b:	8b b5 48 ff ff ff    	mov    -0xb8(%ebp),%esi
+    3d11:	65 89 38             	mov    %edi,%gs:(%eax)
+    3d14:	e9 03 f2 ff ff       	jmp    0x2f1c
+    3d19:	a1 00 00 00 00       	mov    0x0,%eax
+    3d1e:	65 8b 00             	mov    %gs:(%eax),%eax
+    3d21:	89 85 1c ff ff ff    	mov    %eax,-0xe4(%ebp)
+    3d27:	e9 09 d7 ff ff       	jmp    0x1435
+    3d2c:	83 bd 40 ff ff ff 01 	cmpl   $0x1,-0xc0(%ebp)
+    3d33:	89 d6                	mov    %edx,%esi
+    3d35:	0f 84 05 0d 00 00    	je     0x4a40
+    3d3b:	81 8d 2c ff ff ff 00 	orl    $0x800,-0xd4(%ebp)
+    3d42:	08 00 00 
+    3d45:	81 a5 2c ff ff ff 7f 	andl   $0xffffff7f,-0xd4(%ebp)
+    3d4c:	ff ff ff 
+    3d4f:	83 fb ff             	cmp    $0xffffffff,%ebx
+    3d52:	89 5e 04             	mov    %ebx,0x4(%esi)
+    3d55:	0f 84 ce 26 00 00    	je     0x6429
+    3d5b:	8b 8d 34 ff ff ff    	mov    -0xcc(%ebp),%ecx
+    3d61:	8b 41 5c             	mov    0x5c(%ecx),%eax
+    3d64:	85 c0                	test   %eax,%eax
+    3d66:	0f 84 a8 26 00 00    	je     0x6414
+    3d6c:	8b 10                	mov    (%eax),%edx
+    3d6e:	3b 50 04             	cmp    0x4(%eax),%edx
+    3d71:	0f 83 9d 26 00 00    	jae    0x6414
+    3d77:	8b 1a                	mov    (%edx),%ebx
+    3d79:	83 c2 04             	add    $0x4,%edx
+    3d7c:	89 10                	mov    %edx,(%eax)
+    3d7e:	83 fb ff             	cmp    $0xffffffff,%ebx
+    3d81:	0f 84 06 27 00 00    	je     0x648d
+    3d87:	83 85 30 ff ff ff 01 	addl   $0x1,-0xd0(%ebp)
+    3d8e:	85 ff                	test   %edi,%edi
+    3d90:	7e 03                	jle    0x3d95
+    3d92:	83 ef 01             	sub    $0x1,%edi
+    3d95:	b8 02 00 00 00       	mov    $0x2,%eax
+    3d9a:	c7 85 e0 fe ff ff 70 	movl   $0x70,-0x120(%ebp)
+    3da1:	00 00 00 
+    3da4:	e9 20 e8 ff ff       	jmp    0x25c9
+    3da9:	8b 8d ec fe ff ff    	mov    -0x114(%ebp),%ecx
+    3daf:	81 ec 98 00 00 00    	sub    $0x98,%esp
+    3db5:	8d 44 24 1f          	lea    0x1f(%esp),%eax
+    3db9:	83 e0 f0             	and    $0xfffffff0,%eax
+    3dbc:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
+    3dc2:	89 48 04             	mov    %ecx,0x4(%eax)
+    3dc5:	89 85 ec fe ff ff    	mov    %eax,-0x114(%ebp)
+    3dcb:	31 c0                	xor    %eax,%eax
+    3dcd:	c7 85 48 ff ff ff 01 	movl   $0x1,-0xb8(%ebp)
+    3dd4:	00 00 00 
+    3dd7:	e9 b7 d7 ff ff       	jmp    0x1593
+    3ddc:	8b 85 34 ff ff ff    	mov    -0xcc(%ebp),%eax
+    3de2:	bf 02 00 00 00       	mov    $0x2,%edi
+    3de7:	89 5c 24 04          	mov    %ebx,0x4(%esp)
+    3deb:	89 04 24             	mov    %eax,(%esp)
+    3dee:	e8 fc ff ff ff       	call   0x3def
+    3df3:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
+    3df9:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
+    3dff:	e9 9c c4 ff ff       	jmp    0x2a0
+    3e04:	8b 8d ec fe ff ff    	mov    -0x114(%ebp),%ecx
+    3e0a:	81 ec 98 00 00 00    	sub    $0x98,%esp
+    3e10:	8d 44 24 1f          	lea    0x1f(%esp),%eax
+    3e14:	83 e0 f0             	and    $0xfffffff0,%eax
+    3e17:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
+    3e1d:	89 48 04             	mov    %ecx,0x4(%eax)
+    3e20:	89 85 ec fe ff ff    	mov    %eax,-0x114(%ebp)
+    3e26:	31 c0                	xor    %eax,%eax
+    3e28:	c7 85 48 ff ff ff 01 	movl   $0x1,-0xb8(%ebp)
+    3e2f:	00 00 00 
+    3e32:	e9 0e da ff ff       	jmp    0x1845
+    3e37:	8b 8d 34 ff ff ff    	mov    -0xcc(%ebp),%ecx
+    3e3d:	8b b5 48 ff ff ff    	mov    -0xb8(%ebp),%esi
+    3e43:	89 bd fc fe ff ff    	mov    %edi,-0x104(%ebp)
+    3e49:	83 ad 38 ff ff ff 01 	subl   $0x1,-0xc8(%ebp)
+    3e50:	89 5c 24 04          	mov    %ebx,0x4(%esp)
+    3e54:	89 0c 24             	mov    %ecx,(%esp)
+    3e57:	e8 fc ff ff ff       	call   0x3e58
+    3e5c:	e9 bb f0 ff ff       	jmp    0x2f1c
+    3e61:	8b b5 48 ff ff ff    	mov    -0xb8(%ebp),%esi
+    3e67:	89 bd fc fe ff ff    	mov    %edi,-0x104(%ebp)
+    3e6d:	e9 aa f0 ff ff       	jmp    0x2f1c
+    3e72:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
+    3e78:	8b 85 20 ff ff ff    	mov    -0xe0(%ebp),%eax
+    3e7e:	83 bd 20 ff ff ff 01 	cmpl   $0x1,-0xe0(%ebp)
+    3e85:	8d 44 82 fc          	lea    -0x4(%edx,%eax,4),%eax
+    3e89:	0f 45 d0             	cmovne %eax,%edx
+    3e8c:	8b 12                	mov    (%edx),%edx
+    3e8e:	89 95 fc fe ff ff    	mov    %edx,-0x104(%ebp)
+    3e94:	e9 9f f8 ff ff       	jmp    0x3738
+    3e99:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
+    3e9f:	8b bd 20 ff ff ff    	mov    -0xe0(%ebp),%edi
+    3ea5:	83 bd 20 ff ff ff 01 	cmpl   $0x1,-0xe0(%ebp)
+    3eac:	8d 44 ba fc          	lea    -0x4(%edx,%edi,4),%eax
+    3eb0:	0f 45 d0             	cmovne %eax,%edx
+    3eb3:	8b 02                	mov    (%edx),%eax
+    3eb5:	e9 3a e8 ff ff       	jmp    0x26f4
+    3eba:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
+    3ec0:	8b 85 20 ff ff ff    	mov    -0xe0(%ebp),%eax
+    3ec6:	83 bd 20 ff ff ff 01 	cmpl   $0x1,-0xe0(%ebp)
+    3ecd:	8d 44 82 fc          	lea    -0x4(%edx,%eax,4),%eax
+    3ed1:	0f 45 d0             	cmovne %eax,%edx
+    3ed4:	8b 12                	mov    (%edx),%edx
+    3ed6:	89 95 fc fe ff ff    	mov    %edx,-0x104(%ebp)
+    3edc:	e9 a4 f8 ff ff       	jmp    0x3785
+    3ee1:	f7 85 2c ff ff ff 00 	testl  $0x2000,-0xd4(%ebp)
+    3ee8:	20 00 00 
+    3eeb:	0f 85 30 eb ff ff    	jne    0x2a21
+    3ef1:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
+    3ef7:	bf 02 00 00 00       	mov    $0x2,%edi
+    3efc:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
+    3f02:	e9 99 c3 ff ff       	jmp    0x2a0
+    3f07:	f7 85 2c ff ff ff 00 	testl  $0x2000,-0xd4(%ebp)
+    3f0e:	20 00 00 
+    3f11:	0f 85 0a eb ff ff    	jne    0x2a21
+    3f17:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
+    3f1d:	bf 02 00 00 00       	mov    $0x2,%edi
+    3f22:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
+    3f28:	e9 73 c3 ff ff       	jmp    0x2a0
+    3f2d:	8b bd fc fe ff ff    	mov    -0x104(%ebp),%edi
+    3f33:	89 04 24             	mov    %eax,(%esp)
+    3f36:	29 c7                	sub    %eax,%edi
+    3f38:	8d 54 37 01          	lea    0x1(%edi,%esi,1),%edx
+    3f3c:	89 54 24 04          	mov    %edx,0x4(%esp)
+    3f40:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
+    3f46:	e8 fc ff ff ff       	call   0x3f47
+    3f4b:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
+    3f51:	85 c0                	test   %eax,%eax
+    3f53:	0f 84 17 26 00 00    	je     0x6570
+    3f59:	8b 8d 10 ff ff ff    	mov    -0xf0(%ebp),%ecx
+    3f5f:	8d 3c 38             	lea    (%eax,%edi,1),%edi
+    3f62:	89 bd fc fe ff ff    	mov    %edi,-0x104(%ebp)
+    3f68:	89 95 00 ff ff ff    	mov    %edx,-0x100(%ebp)
+    3f6e:	89 01                	mov    %eax,(%ecx)
+    3f70:	e9 5c e5 ff ff       	jmp    0x24d1
+    3f75:	65 8b 02             	mov    %gs:(%edx),%eax
+    3f78:	8b 00                	mov    (%eax),%eax
+    3f7a:	8b 48 5c             	mov    0x5c(%eax),%ecx
+    3f7d:	8d 04 0f             	lea    (%edi,%ecx,1),%eax
+    3f80:	8b 8d 10 ff ff ff    	mov    -0xf0(%ebp),%ecx
+    3f86:	89 44 24 04          	mov    %eax,0x4(%esp)
+    3f8a:	8b 01                	mov    (%ecx),%eax
+    3f8c:	89 04 24             	mov    %eax,(%esp)
+    3f8f:	e8 fc ff ff ff       	call   0x3f90
+    3f94:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
+    3f9a:	85 c0                	test   %eax,%eax
+    3f9c:	0f 84 23 11 00 00    	je     0x50c5
+    3fa2:	65 8b 12             	mov    %gs:(%edx),%edx
+    3fa5:	8b 8d 10 ff ff ff    	mov    -0xf0(%ebp),%ecx
+    3fab:	8b 12                	mov    (%edx),%edx
+    3fad:	89 01                	mov    %eax,(%ecx)
+    3faf:	01 f8                	add    %edi,%eax
+    3fb1:	03 7a 5c             	add    0x5c(%edx),%edi
+    3fb4:	89 bd 00 ff ff ff    	mov    %edi,-0x100(%ebp)
+    3fba:	e9 c2 d6 ff ff       	jmp    0x1681
+    3fbf:	31 c0                	xor    %eax,%eax
+    3fc1:	85 ff                	test   %edi,%edi
+    3fc3:	0f 9f c0             	setg   %al
+    3fc6:	89 d6                	mov    %edx,%esi
+    3fc8:	29 c7                	sub    %eax,%edi
+    3fca:	83 bd 40 ff ff ff 03 	cmpl   $0x3,-0xc0(%ebp)
+    3fd1:	0f 84 fa 0d 00 00    	je     0x4dd1
+    3fd7:	8b 9d 3c ff ff ff    	mov    -0xc4(%ebp),%ebx
+    3fdd:	85 ff                	test   %edi,%edi
+    3fdf:	89 5e 0c             	mov    %ebx,0xc(%esi)
+    3fe2:	0f 84 d9 0d 00 00    	je     0x4dc1
+    3fe8:	8b 95 34 ff ff ff    	mov    -0xcc(%ebp),%edx
+    3fee:	8b 42 5c             	mov    0x5c(%edx),%eax
+    3ff1:	85 c0                	test   %eax,%eax
+    3ff3:	0f 84 af 0d 00 00    	je     0x4da8
+    3ff9:	8b 10                	mov    (%eax),%edx
+    3ffb:	3b 50 04             	cmp    0x4(%eax),%edx
+    3ffe:	0f 83 a4 0d 00 00    	jae    0x4da8
+    4004:	8b 1a                	mov    (%edx),%ebx
+    4006:	83 c2 04             	add    $0x4,%edx
+    4009:	89 10                	mov    %edx,(%eax)
+    400b:	89 9d 44 ff ff ff    	mov    %ebx,-0xbc(%ebp)
+    4011:	83 bd 44 ff ff ff ff 	cmpl   $0xffffffff,-0xbc(%ebp)
+    4018:	0f 84 a3 0d 00 00    	je     0x4dc1
+    401e:	8b 95 44 ff ff ff    	mov    -0xbc(%ebp),%edx
+    4024:	89 14 24             	mov    %edx,(%esp)
+    4027:	e8 fc ff ff ff       	call   0x4028
+    402c:	83 f8 6e             	cmp    $0x6e,%eax
+    402f:	0f 85 63 0d 00 00    	jne    0x4d98
+    4035:	31 c0                	xor    %eax,%eax
+    4037:	85 ff                	test   %edi,%edi
+    4039:	0f 9f c0             	setg   %al
+    403c:	29 c7                	sub    %eax,%edi
+    403e:	83 bd 40 ff ff ff 04 	cmpl   $0x4,-0xc0(%ebp)
+    4045:	0f 84 17 0d 00 00    	je     0x4d62
+    404b:	8b 95 44 ff ff ff    	mov    -0xbc(%ebp),%edx
+    4051:	85 ff                	test   %edi,%edi
+    4053:	89 56 10             	mov    %edx,0x10(%esi)
+    4056:	0f 84 f6 0c 00 00    	je     0x4d52
+    405c:	8b 8d 34 ff ff ff    	mov    -0xcc(%ebp),%ecx
+    4062:	8b 41 5c             	mov    0x5c(%ecx),%eax
+    4065:	85 c0                	test   %eax,%eax
+    4067:	0f 84 cc 0c 00 00    	je     0x4d39
+    406d:	8b 10                	mov    (%eax),%edx
+    406f:	3b 50 04             	cmp    0x4(%eax),%edx
+    4072:	0f 83 c1 0c 00 00    	jae    0x4d39
+    4078:	8b 0a                	mov    (%edx),%ecx
+    407a:	83 c2 04             	add    $0x4,%edx
+    407d:	89 10                	mov    %edx,(%eax)
+    407f:	89 8d 44 ff ff ff    	mov    %ecx,-0xbc(%ebp)
+    4085:	83 bd 44 ff ff ff ff 	cmpl   $0xffffffff,-0xbc(%ebp)
+    408c:	0f 84 c0 0c 00 00    	je     0x4d52
+    4092:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
+    4098:	89 0c 24             	mov    %ecx,(%esp)
+    409b:	e8 fc ff ff ff       	call   0x409c
+    40a0:	83 f8 69             	cmp    $0x69,%eax
+    40a3:	0f 85 80 0c 00 00    	jne    0x4d29
+    40a9:	31 c0                	xor    %eax,%eax
+    40ab:	85 ff                	test   %edi,%edi
+    40ad:	0f 9f c0             	setg   %al
+    40b0:	29 c7                	sub    %eax,%edi
+    40b2:	83 bd 40 ff ff ff 05 	cmpl   $0x5,-0xc0(%ebp)
+    40b9:	0f 84 6d 0b 00 00    	je     0x4c2c
+    40bf:	8b 95 44 ff ff ff    	mov    -0xbc(%ebp),%edx
+    40c5:	85 ff                	test   %edi,%edi
+    40c7:	89 56 14             	mov    %edx,0x14(%esi)
+    40ca:	0f 84 4c 0b 00 00    	je     0x4c1c
+    40d0:	8b 8d 34 ff ff ff    	mov    -0xcc(%ebp),%ecx
+    40d6:	8b 41 5c             	mov    0x5c(%ecx),%eax
+    40d9:	85 c0                	test   %eax,%eax
+    40db:	0f 84 22 0b 00 00    	je     0x4c03
+    40e1:	8b 10                	mov    (%eax),%edx
+    40e3:	3b 50 04             	cmp    0x4(%eax),%edx
+    40e6:	0f 83 17 0b 00 00    	jae    0x4c03
+    40ec:	8b 0a                	mov    (%edx),%ecx
+    40ee:	83 c2 04             	add    $0x4,%edx
+    40f1:	89 10                	mov    %edx,(%eax)
+    40f3:	89 8d 44 ff ff ff    	mov    %ecx,-0xbc(%ebp)
+    40f9:	83 bd 44 ff ff ff ff 	cmpl   $0xffffffff,-0xbc(%ebp)
+    4100:	0f 84 16 0b 00 00    	je     0x4c1c
+    4106:	8b 9d 44 ff ff ff    	mov    -0xbc(%ebp),%ebx
+    410c:	89 1c 24             	mov    %ebx,(%esp)
+    410f:	e8 fc ff ff ff       	call   0x4110
+    4114:	83 f8 74             	cmp    $0x74,%eax
+    4117:	0f 85 d6 0a 00 00    	jne    0x4bf3
+    411d:	31 c0                	xor    %eax,%eax
+    411f:	85 ff                	test   %edi,%edi
+    4121:	0f 9f c0             	setg   %al
+    4124:	29 c7                	sub    %eax,%edi
+    4126:	83 bd 40 ff ff ff 06 	cmpl   $0x6,-0xc0(%ebp)
+    412d:	0f 84 8e 0a 00 00    	je     0x4bc1
+    4133:	8b 9d 44 ff ff ff    	mov    -0xbc(%ebp),%ebx
+    4139:	85 ff                	test   %edi,%edi
+    413b:	89 5e 18             	mov    %ebx,0x18(%esi)
+    413e:	0f 84 6d 0a 00 00    	je     0x4bb1
+    4144:	8b bd 34 ff ff ff    	mov    -0xcc(%ebp),%edi
+    414a:	8b 47 5c             	mov    0x5c(%edi),%eax
+    414d:	85 c0                	test   %eax,%eax
+    414f:	0f 84 43 0a 00 00    	je     0x4b98
+    4155:	8b 10                	mov    (%eax),%edx
+    4157:	3b 50 04             	cmp    0x4(%eax),%edx
+    415a:	0f 83 38 0a 00 00    	jae    0x4b98
+    4160:	8b 0a                	mov    (%edx),%ecx
+    4162:	83 c2 04             	add    $0x4,%edx
+    4165:	89 10                	mov    %edx,(%eax)
+    4167:	89 8d 3c ff ff ff    	mov    %ecx,-0xc4(%ebp)
+    416d:	83 bd 3c ff ff ff ff 	cmpl   $0xffffffff,-0xc4(%ebp)
+    4174:	0f 84 37 0a 00 00    	je     0x4bb1
+    417a:	8b bd 3c ff ff ff    	mov    -0xc4(%ebp),%edi
+    4180:	89 3c 24             	mov    %edi,(%esp)
+    4183:	e8 fc ff ff ff       	call   0x4184
+    4188:	83 f8 79             	cmp    $0x79,%eax
+    418b:	0f 85 f7 09 00 00    	jne    0x4b88
+    4191:	83 bd 40 ff ff ff 07 	cmpl   $0x7,-0xc0(%ebp)
+    4198:	89 f2                	mov    %esi,%edx
+    419a:	0f 84 da 0e 00 00    	je     0x507a
+    41a0:	8b 9d 48 ff ff ff    	mov    -0xb8(%ebp),%ebx
+    41a6:	8b b5 3c ff ff ff    	mov    -0xc4(%ebp),%esi
+    41ac:	c7 85 44 ff ff ff 08 	movl   $0x8,-0xbc(%ebp)
+    41b3:	00 00 00 
+    41b6:	83 c3 04             	add    $0x4,%ebx
+    41b9:	89 9d 38 ff ff ff    	mov    %ebx,-0xc8(%ebp)
+    41bf:	89 72 1c             	mov    %esi,0x1c(%edx)
+    41c2:	e9 56 e9 ff ff       	jmp    0x2b1d
+    41c7:	a1 00 00 00 00       	mov    0x0,%eax
+    41cc:	c7 85 44 ff ff ff 03 	movl   $0x3,-0xbc(%ebp)
+    41d3:	00 00 00 
+    41d6:	65 8b 00             	mov    %gs:(%eax),%eax
+    41d9:	89 85 1c ff ff ff    	mov    %eax,-0xe4(%ebp)
+    41df:	e9 39 e9 ff ff       	jmp    0x2b1d
+    41e4:	80 bd 20 ff ff ff 00 	cmpb   $0x0,-0xe0(%ebp)
+    41eb:	0f 85 5a ec ff ff    	jne    0x2e4b
+    41f1:	80 bd e8 fe ff ff 00 	cmpb   $0x0,-0x118(%ebp)
+    41f8:	0f 84 4d db ff ff    	je     0x1d4b
+    41fe:	83 fe ff             	cmp    $0xffffffff,%esi
+    4201:	89 f3                	mov    %esi,%ebx
+    4203:	0f 84 da ee ff ff    	je     0x30e3
+    4209:	8b 8d 34 ff ff ff    	mov    -0xcc(%ebp),%ecx
+    420f:	83 ad 38 ff ff ff 01 	subl   $0x1,-0xc8(%ebp)
+    4216:	89 74 24 04          	mov    %esi,0x4(%esp)
+    421a:	89 0c 24             	mov    %ecx,(%esp)
+    421d:	e8 fc ff ff ff       	call   0x421e
+    4222:	e9 bc ee ff ff       	jmp    0x30e3
+    4227:	80 bd 20 ff ff ff 00 	cmpb   $0x0,-0xe0(%ebp)
+    422e:	0f 84 f9 df ff ff    	je     0x222d
+    4234:	83 fe ff             	cmp    $0xffffffff,%esi
+    4237:	89 f3                	mov    %esi,%ebx
+    4239:	0f 84 1e e2 ff ff    	je     0x245d
+    423f:	8b 85 34 ff ff ff    	mov    -0xcc(%ebp),%eax
+    4245:	83 ad 38 ff ff ff 01 	subl   $0x1,-0xc8(%ebp)
+    424c:	89 74 24 04          	mov    %esi,0x4(%esp)
+    4250:	89 04 24             	mov    %eax,(%esp)
+    4253:	e8 fc ff ff ff       	call   0x4254
+    4258:	e9 00 e2 ff ff       	jmp    0x245d
+    425d:	80 bd 20 ff ff ff 00 	cmpb   $0x0,-0xe0(%ebp)
+    4264:	0f 85 b1 df ff ff    	jne    0x221b
+    426a:	80 bd e8 fe ff ff 00 	cmpb   $0x0,-0x118(%ebp)
+    4271:	0f 84 9f df ff ff    	je     0x2216
+    4277:	83 fe ff             	cmp    $0xffffffff,%esi
+    427a:	89 f3                	mov    %esi,%ebx
+    427c:	0f 84 db e1 ff ff    	je     0x245d
+    4282:	89 74 24 04          	mov    %esi,0x4(%esp)
+    4286:	8b b5 34 ff ff ff    	mov    -0xcc(%ebp),%esi
+    428c:	83 ad 38 ff ff ff 01 	subl   $0x1,-0xc8(%ebp)
+    4293:	89 34 24             	mov    %esi,(%esp)
+    4296:	e8 fc ff ff ff       	call   0x4297
+    429b:	e9 bd e1 ff ff       	jmp    0x245d
+    42a0:	89 f3                	mov    %esi,%ebx
+    42a2:	e9 b6 e1 ff ff       	jmp    0x245d
+    42a7:	8b 1d 00 00 00 00    	mov    0x0,%ebx
+    42ad:	65 8b 03             	mov    %gs:(%ebx),%eax
+    42b0:	e9 1c c2 ff ff       	jmp    0x4d1
+    42b5:	a1 00 00 00 00       	mov    0x0,%eax
+    42ba:	83 cb ff             	or     $0xffffffff,%ebx
+    42bd:	65 c7 00 16 00 00 00 	movl   $0x16,%gs:(%eax)
+    42c4:	e9 7e bd ff ff       	jmp    0x47
+    42c9:	8b 85 34 ff ff ff    	mov    -0xcc(%ebp),%eax
+    42cf:	89 04 24             	mov    %eax,(%esp)
+    42d2:	e8 fc ff ff ff       	call   0x42d3
+    42d7:	89 c3                	mov    %eax,%ebx
+    42d9:	e9 f4 be ff ff       	jmp    0x1d2
+    42de:	80 bd 20 ff ff ff 00 	cmpb   $0x0,-0xe0(%ebp)
+    42e5:	0f 84 72 eb ff ff    	je     0x2e5d
+    42eb:	83 fe ff             	cmp    $0xffffffff,%esi
+    42ee:	89 f3                	mov    %esi,%ebx
+    42f0:	0f 84 ed ed ff ff    	je     0x30e3
+    42f6:	8b bd 34 ff ff ff    	mov    -0xcc(%ebp),%edi
+    42fc:	83 ad 38 ff ff ff 01 	subl   $0x1,-0xc8(%ebp)
+    4303:	89 74 24 04          	mov    %esi,0x4(%esp)
+    4307:	89 3c 24             	mov    %edi,(%esp)
+    430a:	e8 fc ff ff ff       	call   0x430b
+    430f:	e9 cf ed ff ff       	jmp    0x30e3
+    4314:	65 8b 02             	mov    %gs:(%edx),%eax
+    4317:	8b 8d 10 ff ff ff    	mov    -0xf0(%ebp),%ecx
+    431d:	8b 00                	mov    (%eax),%eax
+    431f:	8b 40 5c             	mov    0x5c(%eax),%eax
+    4322:	03 85 30 ff ff ff    	add    -0xd0(%ebp),%eax
+    4328:	89 44 24 04          	mov    %eax,0x4(%esp)
+    432c:	8b 01                	mov    (%ecx),%eax
+    432e:	89 04 24             	mov    %eax,(%esp)
+    4331:	e8 fc ff ff ff       	call   0x4332
+    4336:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
+    433c:	85 c0                	test   %eax,%eax
+    433e:	0f 84 dd e6 ff ff    	je     0x2a21
+    4344:	8b bd 10 ff ff ff    	mov    -0xf0(%ebp),%edi
+    434a:	8b 8d 30 ff ff ff    	mov    -0xd0(%ebp),%ecx
+    4350:	89 07                	mov    %eax,(%edi)
+    4352:	8d 3c 08             	lea    (%eax,%ecx,1),%edi
+    4355:	65 8b 02             	mov    %gs:(%edx),%eax
+    4358:	8b 00                	mov    (%eax),%eax
+    435a:	03 48 5c             	add    0x5c(%eax),%ecx
+    435d:	89 8d 00 ff ff ff    	mov    %ecx,-0x100(%ebp)
+    4363:	e9 88 d5 ff ff       	jmp    0x18f0
+    4368:	f7 85 2c ff ff ff 00 	testl  $0x2000,-0xd4(%ebp)
+    436f:	20 00 00 
+    4372:	0f 85 a9 e6 ff ff    	jne    0x2a21
+    4378:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
+    437e:	bf 02 00 00 00       	mov    $0x2,%edi
+    4383:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
+    4389:	e9 12 bf ff ff       	jmp    0x2a0
+    438e:	8b 9d 1c ff ff ff    	mov    -0xe4(%ebp),%ebx
+    4394:	a1 00 00 00 00       	mov    0x0,%eax
+    4399:	65 89 18             	mov    %ebx,%gs:(%eax)
+    439c:	83 cb ff             	or     $0xffffffff,%ebx
+    439f:	e9 3f ed ff ff       	jmp    0x30e3
+    43a4:	89 f3                	mov    %esi,%ebx
+    43a6:	e9 38 ed ff ff       	jmp    0x30e3
+    43ab:	8b 95 20 ff ff ff    	mov    -0xe0(%ebp),%edx
+    43b1:	8b 8d 04 ff ff ff    	mov    -0xfc(%ebp),%ecx
+    43b7:	8b 44 91 fc          	mov    -0x4(%ecx,%edx,4),%eax
+    43bb:	e9 16 f4 ff ff       	jmp    0x37d6
+    43c0:	89 ca                	mov    %ecx,%edx
+    43c2:	c1 e2 03             	shl    $0x3,%edx
+    43c5:	89 54 24 04          	mov    %edx,0x4(%esp)
+    43c9:	89 04 24             	mov    %eax,(%esp)
+    43cc:	e8 fc ff ff ff       	call   0x43cd
+    43d1:	85 c0                	test   %eax,%eax
+    43d3:	0f 84 9f 19 00 00    	je     0x5d78
+    43d9:	8b 8d 10 ff ff ff    	mov    -0xf0(%ebp),%ecx
+    43df:	d1 a5 00 ff ff ff    	shll   -0x100(%ebp)
+    43e5:	89 01                	mov    %eax,(%ecx)
+    43e7:	01 d8                	add    %ebx,%eax
+    43e9:	89 85 f8 fe ff ff    	mov    %eax,-0x108(%ebp)
+    43ef:	e9 b6 ea ff ff       	jmp    0x2eaa
+    43f4:	8b bd fc fe ff ff    	mov    -0x104(%ebp),%edi
+    43fa:	89 04 24             	mov    %eax,(%esp)
+    43fd:	29 c7                	sub    %eax,%edi
+    43ff:	8d 54 37 01          	lea    0x1(%edi,%esi,1),%edx
+    4403:	89 54 24 04          	mov    %edx,0x4(%esp)
+    4407:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
+    440d:	e8 fc ff ff ff       	call   0x440e
+    4412:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
+    4418:	85 c0                	test   %eax,%eax
+    441a:	0f 84 2c 12 00 00    	je     0x564c
+    4420:	8b 8d 10 ff ff ff    	mov    -0xf0(%ebp),%ecx
+    4426:	8d 3c 38             	lea    (%eax,%edi,1),%edi
+    4429:	89 bd fc fe ff ff    	mov    %edi,-0x104(%ebp)
+    442f:	89 95 00 ff ff ff    	mov    %edx,-0x100(%ebp)
+    4435:	89 01                	mov    %eax,(%ecx)
+    4437:	e9 3d eb ff ff       	jmp    0x2f79
+    443c:	a1 00 00 00 00       	mov    0x0,%eax
+    4441:	83 cb ff             	or     $0xffffffff,%ebx
+    4444:	8b 95 1c ff ff ff    	mov    -0xe4(%ebp),%edx
+    444a:	65 89 10             	mov    %edx,%gs:(%eax)
+    444d:	e9 0b e0 ff ff       	jmp    0x245d
+    4452:	8b bd 20 ff ff ff    	mov    -0xe0(%ebp),%edi
+    4458:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
+    445e:	8b 44 ba fc          	mov    -0x4(%edx,%edi,4),%eax
+    4462:	e9 ca db ff ff       	jmp    0x2031
+    4467:	a1 00 00 00 00       	mov    0x0,%eax
+    446c:	c7 85 3c ff ff ff 10 	movl   $0x10,-0xc4(%ebp)
+    4473:	00 00 00 
+    4476:	65 8b 00             	mov    %gs:(%eax),%eax
+    4479:	89 85 1c ff ff ff    	mov    %eax,-0xe4(%ebp)
+    447f:	e9 db c3 ff ff       	jmp    0x85f
+    4484:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
+    448a:	bf 02 00 00 00       	mov    $0x2,%edi
+    448f:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
     4495:	e9 06 be ff ff       	jmp    0x2a0
-    449a:	83 85 00 ff ff ff 01 	addl   $0x1,-0x100(%ebp)
-    44a1:	8b 85 00 ff ff ff    	mov    -0x100(%ebp),%eax
-    44a7:	8b 95 10 ff ff ff    	mov    -0xf0(%ebp),%edx
-    44ad:	c1 e0 02             	shl    $0x2,%eax
-    44b0:	89 44 24 04          	mov    %eax,0x4(%esp)
-    44b4:	8b 02                	mov    (%edx),%eax
-    44b6:	89 04 24             	mov    %eax,(%esp)
-    44b9:	e8 fc ff ff ff       	call   0x44ba
-    44be:	85 c0                	test   %eax,%eax
-    44c0:	74 65                	je     0x4527
-    44c2:	8b 95 10 ff ff ff    	mov    -0xf0(%ebp),%edx
-    44c8:	89 02                	mov    %eax,(%edx)
-    44ca:	01 d8                	add    %ebx,%eax
-    44cc:	89 85 f8 fe ff ff    	mov    %eax,-0x108(%ebp)
-    44d2:	e9 1b e9 ff ff       	jmp    0x2df2
-    44d7:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
-    44de:	0f 84 b2 00 00 00    	je     0x4596
-    44e4:	8b 95 44 ff ff ff    	mov    -0xbc(%ebp),%edx
-    44ea:	c7 44 24 04 00 01 00 	movl   $0x100,0x4(%esp)
-    44f1:	00 
-    44f2:	89 14 24             	mov    %edx,(%esp)
-    44f5:	e8 fc ff ff ff       	call   0x44f6
-    44fa:	85 c0                	test   %eax,%eax
-    44fc:	89 c6                	mov    %eax,%esi
-    44fe:	74 74                	je     0x4574
-    4500:	89 c2                	mov    %eax,%edx
-    4502:	c7 85 40 ff ff ff 00 	movl   $0x100,-0xc0(%ebp)
-    4509:	01 00 00 
-    450c:	e9 76 ec ff ff       	jmp    0x3187
-    4511:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
-    4517:	bf 02 00 00 00       	mov    $0x2,%edi
-    451c:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
-    4522:	e9 79 bd ff ff       	jmp    0x2a0
-    4527:	f7 85 2c ff ff ff 00 	testl  $0x2000,-0xd4(%ebp)
-    452e:	20 00 00 
-    4531:	0f 85 33 e4 ff ff    	jne    0x296a
-    4537:	8b 8d 10 ff ff ff    	mov    -0xf0(%ebp),%ecx
-    453d:	bf 02 00 00 00       	mov    $0x2,%edi
-    4542:	8b 9d 3c ff ff ff    	mov    -0xc4(%ebp),%ebx
-    4548:	83 85 24 ff ff ff 01 	addl   $0x1,-0xdc(%ebp)
-    454f:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
-    4555:	8b 01                	mov    (%ecx),%eax
-    4557:	c7 85 10 ff ff ff 00 	movl   $0x0,-0xf0(%ebp)
-    455e:	00 00 00 
-    4561:	c7 44 98 fc 00 00 00 	movl   $0x0,-0x4(%eax,%ebx,4)
-    4568:	00 
-    4569:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
-    456f:	e9 2c bd ff ff       	jmp    0x2a0
-    4574:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
-    457a:	83 cb ff             	or     $0xffffffff,%ebx
-    457d:	31 ff                	xor    %edi,%edi
-    457f:	89 0c 24             	mov    %ecx,(%esp)
-    4582:	e8 fc ff ff ff       	call   0x4583
-    4587:	c7 85 24 ff ff ff ff 	movl   $0xffffffff,-0xdc(%ebp)
-    458e:	ff ff ff 
-    4591:	e9 0a bd ff ff       	jmp    0x2a0
-    4596:	81 ec 10 04 00 00    	sub    $0x410,%esp
-    459c:	8d 54 24 1f          	lea    0x1f(%esp),%edx
-    45a0:	83 e2 f0             	and    $0xfffffff0,%edx
-    45a3:	83 bd 44 ff ff ff 00 	cmpl   $0x0,-0xbc(%ebp)
-    45aa:	c7 85 40 ff ff ff 00 	movl   $0x100,-0xc0(%ebp)
-    45b1:	01 00 00 
-    45b4:	0f 84 cd eb ff ff    	je     0x3187
-    45ba:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
-    45c0:	89 14 24             	mov    %edx,(%esp)
-    45c3:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
-    45c9:	c7 44 24 08 00 00 00 	movl   $0x0,0x8(%esp)
-    45d0:	00 
-    45d1:	89 74 24 04          	mov    %esi,0x4(%esp)
-    45d5:	e8 fc ff ff ff       	call   0x45d6
-    45da:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
-    45e0:	c7 85 40 ff ff ff 00 	movl   $0x100,-0xc0(%ebp)
-    45e7:	01 00 00 
-    45ea:	e9 98 eb ff ff       	jmp    0x3187
-    45ef:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
-    45f5:	c1 e1 02             	shl    $0x2,%ecx
-    45f8:	89 c8                	mov    %ecx,%eax
-    45fa:	83 c0 10             	add    $0x10,%eax
-    45fd:	29 c4                	sub    %eax,%esp
-    45ff:	8d 44 24 1f          	lea    0x1f(%esp),%eax
-    4603:	83 e0 f0             	and    $0xfffffff0,%eax
-    4606:	89 8d 44 ff ff ff    	mov    %ecx,-0xbc(%ebp)
-    460c:	01 c1                	add    %eax,%ecx
-    460e:	39 ce                	cmp    %ecx,%esi
-    4610:	89 c6                	mov    %eax,%esi
-    4612:	89 8d 40 ff ff ff    	mov    %ecx,-0xc0(%ebp)
-    4618:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
-    461e:	8d 0c 91             	lea    (%ecx,%edx,4),%ecx
-    4621:	89 8d c8 fe ff ff    	mov    %ecx,-0x138(%ebp)
-    4627:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
-    462d:	0f 44 8d c8 fe ff ff 	cmove  -0x138(%ebp),%ecx
-    4634:	c1 e9 02             	shr    $0x2,%ecx
-    4637:	83 bd 14 ff ff ff 00 	cmpl   $0x0,-0xec(%ebp)
-    463e:	0f 84 3d ce ff ff    	je     0x1481
-    4644:	8b 85 14 ff ff ff    	mov    -0xec(%ebp),%eax
-    464a:	89 8d cc fe ff ff    	mov    %ecx,-0x134(%ebp)
-    4650:	89 54 24 08          	mov    %edx,0x8(%esp)
-    4654:	89 34 24             	mov    %esi,(%esp)
-    4657:	89 44 24 04          	mov    %eax,0x4(%esp)
-    465b:	e8 fc ff ff ff       	call   0x465c
-    4660:	8b 8d cc fe ff ff    	mov    -0x134(%ebp),%ecx
-    4666:	e9 16 ce ff ff       	jmp    0x1481
-    466b:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
-    4672:	8b 95 14 ff ff ff    	mov    -0xec(%ebp),%edx
-    4678:	0f 85 bb 00 00 00    	jne    0x4739
-    467e:	83 cb ff             	or     $0xffffffff,%ebx
-    4681:	31 ff                	xor    %edi,%edi
-    4683:	c7 85 24 ff ff ff ff 	movl   $0xffffffff,-0xdc(%ebp)
-    468a:	ff ff ff 
-    468d:	e9 0e bc ff ff       	jmp    0x2a0
-    4692:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
-    4698:	bf 02 00 00 00       	mov    $0x2,%edi
-    469d:	e9 fe bb ff ff       	jmp    0x2a0
-    46a2:	8d 0c 12             	lea    (%edx,%edx,1),%ecx
-    46a5:	b8 00 01 00 00       	mov    $0x100,%eax
-    46aa:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
-    46b0:	0f 43 c1             	cmovae %ecx,%eax
-    46b3:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
-    46ba:	89 85 44 ff ff ff    	mov    %eax,-0xbc(%ebp)
-    46c0:	89 f0                	mov    %esi,%eax
-    46c2:	75 12                	jne    0x46d6
-    46c4:	81 bd 44 ff ff ff 00 	cmpl   $0x10000,-0xbc(%ebp)
-    46cb:	00 01 00 
-    46ce:	0f 86 81 00 00 00    	jbe    0x4755
-    46d4:	31 c0                	xor    %eax,%eax
-    46d6:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
-    46dc:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
-    46e2:	89 04 24             	mov    %eax,(%esp)
-    46e5:	89 74 24 04          	mov    %esi,0x4(%esp)
-    46e9:	e8 fc ff ff ff       	call   0x46ea
-    46ee:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
-    46f4:	85 c0                	test   %eax,%eax
-    46f6:	89 c6                	mov    %eax,%esi
-    46f8:	0f 84 d3 00 00 00    	je     0x47d1
-    46fe:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
-    4705:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
-    470b:	0f 85 3d e8 ff ff    	jne    0x2f4e
-    4711:	8b 85 14 ff ff ff    	mov    -0xec(%ebp),%eax
-    4717:	89 54 24 08          	mov    %edx,0x8(%esp)
-    471b:	89 34 24             	mov    %esi,(%esp)
-    471e:	89 44 24 04          	mov    %eax,0x4(%esp)
-    4722:	e8 fc ff ff ff       	call   0x4723
-    4727:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
-    472d:	c6 85 0f ff ff ff 01 	movb   $0x1,-0xf1(%ebp)
-    4734:	e9 15 e8 ff ff       	jmp    0x2f4e
-    4739:	89 14 24             	mov    %edx,(%esp)
-    473c:	83 cb ff             	or     $0xffffffff,%ebx
-    473f:	31 ff                	xor    %edi,%edi
-    4741:	e8 fc ff ff ff       	call   0x4742
-    4746:	c7 85 24 ff ff ff ff 	movl   $0xffffffff,-0xdc(%ebp)
-    474d:	ff ff ff 
-    4750:	e9 4b bb ff ff       	jmp    0x2a0
-    4755:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
-    475b:	c1 e1 02             	shl    $0x2,%ecx
-    475e:	89 c8                	mov    %ecx,%eax
-    4760:	83 c0 10             	add    $0x10,%eax
-    4763:	29 c4                	sub    %eax,%esp
-    4765:	8d 44 24 1f          	lea    0x1f(%esp),%eax
-    4769:	83 e0 f0             	and    $0xfffffff0,%eax
-    476c:	89 8d 44 ff ff ff    	mov    %ecx,-0xbc(%ebp)
-    4772:	01 c1                	add    %eax,%ecx
-    4774:	39 ce                	cmp    %ecx,%esi
-    4776:	89 c6                	mov    %eax,%esi
-    4778:	89 8d 40 ff ff ff    	mov    %ecx,-0xc0(%ebp)
-    477e:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
-    4784:	8d 0c 91             	lea    (%ecx,%edx,4),%ecx
-    4787:	89 8d e8 fe ff ff    	mov    %ecx,-0x118(%ebp)
+    449a:	8b 9d 34 ff ff ff    	mov    -0xcc(%ebp),%ebx
+    44a0:	89 1c 24             	mov    %ebx,(%esp)
+    44a3:	e8 fc ff ff ff       	call   0x44a4
+    44a8:	89 c3                	mov    %eax,%ebx
+    44aa:	e9 32 d1 ff ff       	jmp    0x15e1
+    44af:	8b 85 34 ff ff ff    	mov    -0xcc(%ebp),%eax
+    44b5:	89 8d cc fe ff ff    	mov    %ecx,-0x134(%ebp)
+    44bb:	89 04 24             	mov    %eax,(%esp)
+    44be:	e8 fc ff ff ff       	call   0x44bf
+    44c3:	8b 8d cc fe ff ff    	mov    -0x134(%ebp),%ecx
+    44c9:	89 c3                	mov    %eax,%ebx
+    44cb:	e9 be e1 ff ff       	jmp    0x268e
+    44d0:	8d 0c 12             	lea    (%edx,%edx,1),%ecx
+    44d3:	b8 00 01 00 00       	mov    $0x100,%eax
+    44d8:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
+    44de:	0f 43 c1             	cmovae %ecx,%eax
+    44e1:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
+    44e8:	89 85 44 ff ff ff    	mov    %eax,-0xbc(%ebp)
+    44ee:	89 f0                	mov    %esi,%eax
+    44f0:	75 0e                	jne    0x4500
+    44f2:	81 bd 44 ff ff ff 00 	cmpl   $0x10000,-0xbc(%ebp)
+    44f9:	00 01 00 
+    44fc:	76 65                	jbe    0x4563
+    44fe:	31 c0                	xor    %eax,%eax
+    4500:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
+    4506:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
+    450c:	89 04 24             	mov    %eax,(%esp)
+    450f:	89 74 24 04          	mov    %esi,0x4(%esp)
+    4513:	e8 fc ff ff ff       	call   0x4514
+    4518:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
+    451e:	85 c0                	test   %eax,%eax
+    4520:	89 c6                	mov    %eax,%esi
+    4522:	0f 84 b7 00 00 00    	je     0x45df
+    4528:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
+    452f:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
+    4535:	0f 85 6c e5 ff ff    	jne    0x2aa7
+    453b:	8b 85 14 ff ff ff    	mov    -0xec(%ebp),%eax
+    4541:	89 54 24 08          	mov    %edx,0x8(%esp)
+    4545:	89 34 24             	mov    %esi,(%esp)
+    4548:	89 44 24 04          	mov    %eax,0x4(%esp)
+    454c:	e8 fc ff ff ff       	call   0x454d
+    4551:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
+    4557:	c6 85 0f ff ff ff 01 	movb   $0x1,-0xf1(%ebp)
+    455e:	e9 44 e5 ff ff       	jmp    0x2aa7
+    4563:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
+    4569:	c1 e1 02             	shl    $0x2,%ecx
+    456c:	89 c8                	mov    %ecx,%eax
+    456e:	83 c0 10             	add    $0x10,%eax
+    4571:	29 c4                	sub    %eax,%esp
+    4573:	8d 44 24 1f          	lea    0x1f(%esp),%eax
+    4577:	83 e0 f0             	and    $0xfffffff0,%eax
+    457a:	89 8d 44 ff ff ff    	mov    %ecx,-0xbc(%ebp)
+    4580:	01 c1                	add    %eax,%ecx
+    4582:	39 ce                	cmp    %ecx,%esi
+    4584:	89 c6                	mov    %eax,%esi
+    4586:	89 8d 40 ff ff ff    	mov    %ecx,-0xc0(%ebp)
+    458c:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
+    4592:	8d 0c 91             	lea    (%ecx,%edx,4),%ecx
+    4595:	89 8d f0 fe ff ff    	mov    %ecx,-0x110(%ebp)
+    459b:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
+    45a1:	0f 44 8d f0 fe ff ff 	cmove  -0x110(%ebp),%ecx
+    45a8:	c1 e9 02             	shr    $0x2,%ecx
+    45ab:	83 bd 14 ff ff ff 00 	cmpl   $0x0,-0xec(%ebp)
+    45b2:	0f 84 ef e4 ff ff    	je     0x2aa7
+    45b8:	8b 85 14 ff ff ff    	mov    -0xec(%ebp),%eax
+    45be:	89 8d cc fe ff ff    	mov    %ecx,-0x134(%ebp)
+    45c4:	89 54 24 08          	mov    %edx,0x8(%esp)
+    45c8:	89 34 24             	mov    %esi,(%esp)
+    45cb:	89 44 24 04          	mov    %eax,0x4(%esp)
+    45cf:	e8 fc ff ff ff       	call   0x45d0
+    45d4:	8b 8d cc fe ff ff    	mov    -0x134(%ebp),%ecx
+    45da:	e9 c8 e4 ff ff       	jmp    0x2aa7
+    45df:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
+    45e6:	8b 95 14 ff ff ff    	mov    -0xec(%ebp),%edx
+    45ec:	0f 85 17 02 00 00    	jne    0x4809
+    45f2:	83 cb ff             	or     $0xffffffff,%ebx
+    45f5:	31 ff                	xor    %edi,%edi
+    45f7:	c7 85 24 ff ff ff ff 	movl   $0xffffffff,-0xdc(%ebp)
+    45fe:	ff ff ff 
+    4601:	e9 9a bc ff ff       	jmp    0x2a0
+    4606:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
+    460c:	bf 02 00 00 00       	mov    $0x2,%edi
+    4611:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
+    4617:	e9 84 bc ff ff       	jmp    0x2a0
+    461c:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
+    4623:	8b 95 14 ff ff ff    	mov    -0xec(%ebp),%edx
+    4629:	74 c7                	je     0x45f2
+    462b:	89 14 24             	mov    %edx,(%esp)
+    462e:	83 cb ff             	or     $0xffffffff,%ebx
+    4631:	31 ff                	xor    %edi,%edi
+    4633:	e8 fc ff ff ff       	call   0x4634
+    4638:	c7 85 24 ff ff ff ff 	movl   $0xffffffff,-0xdc(%ebp)
+    463f:	ff ff ff 
+    4642:	e9 59 bc ff ff       	jmp    0x2a0
+    4647:	8b 85 44 ff ff ff    	mov    -0xbc(%ebp),%eax
+    464d:	01 c0                	add    %eax,%eax
+    464f:	89 85 f0 fe ff ff    	mov    %eax,-0x110(%ebp)
+    4655:	3d 00 01 00 00       	cmp    $0x100,%eax
+    465a:	b8 00 01 00 00       	mov    $0x100,%eax
+    465f:	0f 43 85 f0 fe ff ff 	cmovae -0x110(%ebp),%eax
+    4666:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
+    466d:	89 85 f0 fe ff ff    	mov    %eax,-0x110(%ebp)
+    4673:	89 f0                	mov    %esi,%eax
+    4675:	75 0e                	jne    0x4685
+    4677:	81 bd f0 fe ff ff 00 	cmpl   $0x10000,-0x110(%ebp)
+    467e:	00 01 00 
+    4681:	76 5f                	jbe    0x46e2
+    4683:	31 c0                	xor    %eax,%eax
+    4685:	8b 95 f0 fe ff ff    	mov    -0x110(%ebp),%edx
+    468b:	89 04 24             	mov    %eax,(%esp)
+    468e:	89 54 24 04          	mov    %edx,0x4(%esp)
+    4692:	e8 fc ff ff ff       	call   0x4693
+    4697:	85 c0                	test   %eax,%eax
+    4699:	89 c6                	mov    %eax,%esi
+    469b:	0f 84 bd 00 00 00    	je     0x475e
+    46a1:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
+    46a8:	8b 8d f0 fe ff ff    	mov    -0x110(%ebp),%ecx
+    46ae:	0f 85 60 e6 ff ff    	jne    0x2d14
+    46b4:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
+    46ba:	8b 85 14 ff ff ff    	mov    -0xec(%ebp),%eax
+    46c0:	89 34 24             	mov    %esi,(%esp)
+    46c3:	89 4c 24 08          	mov    %ecx,0x8(%esp)
+    46c7:	89 44 24 04          	mov    %eax,0x4(%esp)
+    46cb:	e8 fc ff ff ff       	call   0x46cc
+    46d0:	8b 8d f0 fe ff ff    	mov    -0x110(%ebp),%ecx
+    46d6:	c6 85 0f ff ff ff 01 	movb   $0x1,-0xf1(%ebp)
+    46dd:	e9 32 e6 ff ff       	jmp    0x2d14
+    46e2:	8b 8d f0 fe ff ff    	mov    -0x110(%ebp),%ecx
+    46e8:	c1 e1 02             	shl    $0x2,%ecx
+    46eb:	89 c8                	mov    %ecx,%eax
+    46ed:	83 c0 10             	add    $0x10,%eax
+    46f0:	29 c4                	sub    %eax,%esp
+    46f2:	8d 44 24 1f          	lea    0x1f(%esp),%eax
+    46f6:	83 e0 f0             	and    $0xfffffff0,%eax
+    46f9:	89 8d 44 ff ff ff    	mov    %ecx,-0xbc(%ebp)
+    46ff:	01 c1                	add    %eax,%ecx
+    4701:	39 ce                	cmp    %ecx,%esi
+    4703:	89 c6                	mov    %eax,%esi
+    4705:	89 8d f0 fe ff ff    	mov    %ecx,-0x110(%ebp)
+    470b:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
+    4711:	8d 0c 91             	lea    (%ecx,%edx,4),%ecx
+    4714:	89 8d e8 fe ff ff    	mov    %ecx,-0x118(%ebp)
+    471a:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
+    4720:	0f 44 8d e8 fe ff ff 	cmove  -0x118(%ebp),%ecx
+    4727:	c1 e9 02             	shr    $0x2,%ecx
+    472a:	83 bd 14 ff ff ff 00 	cmpl   $0x0,-0xec(%ebp)
+    4731:	0f 84 dd e5 ff ff    	je     0x2d14
+    4737:	8b 85 14 ff ff ff    	mov    -0xec(%ebp),%eax
+    473d:	89 8d cc fe ff ff    	mov    %ecx,-0x134(%ebp)
+    4743:	89 54 24 08          	mov    %edx,0x8(%esp)
+    4747:	89 34 24             	mov    %esi,(%esp)
+    474a:	89 44 24 04          	mov    %eax,0x4(%esp)
+    474e:	e8 fc ff ff ff       	call   0x474f
+    4753:	8b 8d cc fe ff ff    	mov    -0x134(%ebp),%ecx
+    4759:	e9 b6 e5 ff ff       	jmp    0x2d14
+    475e:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
+    4765:	8b 95 14 ff ff ff    	mov    -0xec(%ebp),%edx
+    476b:	0f 84 81 fe ff ff    	je     0x45f2
+    4771:	89 14 24             	mov    %edx,(%esp)
+    4774:	83 cb ff             	or     $0xffffffff,%ebx
+    4777:	31 ff                	xor    %edi,%edi
+    4779:	e8 fc ff ff ff       	call   0x477a
+    477e:	c7 85 24 ff ff ff ff 	movl   $0xffffffff,-0xdc(%ebp)
+    4785:	ff ff ff 
+    4788:	e9 13 bb ff ff       	jmp    0x2a0
     478d:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
-    4793:	0f 44 8d e8 fe ff ff 	cmove  -0x118(%ebp),%ecx
-    479a:	c1 e9 02             	shr    $0x2,%ecx
-    479d:	83 bd 14 ff ff ff 00 	cmpl   $0x0,-0xec(%ebp)
-    47a4:	0f 84 a4 e7 ff ff    	je     0x2f4e
-    47aa:	8b 85 14 ff ff ff    	mov    -0xec(%ebp),%eax
-    47b0:	89 8d cc fe ff ff    	mov    %ecx,-0x134(%ebp)
-    47b6:	89 54 24 08          	mov    %edx,0x8(%esp)
-    47ba:	89 34 24             	mov    %esi,(%esp)
-    47bd:	89 44 24 04          	mov    %eax,0x4(%esp)
-    47c1:	e8 fc ff ff ff       	call   0x47c2
-    47c6:	8b 8d cc fe ff ff    	mov    -0x134(%ebp),%ecx
-    47cc:	e9 7d e7 ff ff       	jmp    0x2f4e
-    47d1:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
-    47d8:	8b 95 14 ff ff ff    	mov    -0xec(%ebp),%edx
-    47de:	0f 84 9a fe ff ff    	je     0x467e
-    47e4:	89 14 24             	mov    %edx,(%esp)
-    47e7:	83 cb ff             	or     $0xffffffff,%ebx
-    47ea:	31 ff                	xor    %edi,%edi
-    47ec:	e8 fc ff ff ff       	call   0x47ed
-    47f1:	c7 85 24 ff ff ff ff 	movl   $0xffffffff,-0xdc(%ebp)
-    47f8:	ff ff ff 
-    47fb:	e9 a0 ba ff ff       	jmp    0x2a0
-    4800:	a1 00 00 00 00       	mov    0x0,%eax
-    4805:	65 8b 00             	mov    %gs:(%eax),%eax
-    4808:	89 85 1c ff ff ff    	mov    %eax,-0xe4(%ebp)
-    480e:	e9 28 f3 ff ff       	jmp    0x3b3b
-    4813:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
-    4819:	bf 02 00 00 00       	mov    $0x2,%edi
-    481e:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
-    4824:	e9 77 ba ff ff       	jmp    0x2a0
-    4829:	c7 44 24 0c 15 00 00 	movl   $0x15,0xc(%esp)
-    4830:	00 
-    4831:	c7 44 24 08 e5 0a 00 	movl   $0xae5,0x8(%esp)
-    4838:	00 
-    4839:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
-    4840:	00 
-    4841:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
-    4848:	e8 fc ff ff ff       	call   0x4849
-    484d:	a1 00 00 00 00       	mov    0x0,%eax
-    4852:	bf 04 00 00 00       	mov    $0x4,%edi
-    4857:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
-    485d:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
-    4863:	65 c7 00 56 00 00 00 	movl   $0x56,%gs:(%eax)
-    486a:	e9 31 ba ff ff       	jmp    0x2a0
-    486f:	8b 8d 34 ff ff ff    	mov    -0xcc(%ebp),%ecx
-    4875:	89 0c 24             	mov    %ecx,(%esp)
-    4878:	e8 fc ff ff ff       	call   0x4879
-    487d:	89 c3                	mov    %eax,%ebx
-    487f:	e9 f0 ce ff ff       	jmp    0x1774
-    4884:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
-    488a:	bf 02 00 00 00       	mov    $0x2,%edi
-    488f:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
-    4895:	e9 06 ba ff ff       	jmp    0x2a0
-    489a:	8b 9d 34 ff ff ff    	mov    -0xcc(%ebp),%ebx
-    48a0:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
-    48a6:	89 1c 24             	mov    %ebx,(%esp)
-    48a9:	e8 fc ff ff ff       	call   0x48aa
-    48ae:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
-    48b4:	89 c6                	mov    %eax,%esi
-    48b6:	e9 0d d9 ff ff       	jmp    0x21c8
-    48bb:	8b 85 34 ff ff ff    	mov    -0xcc(%ebp),%eax
-    48c1:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
-    48c7:	89 04 24             	mov    %eax,(%esp)
-    48ca:	e8 fc ff ff ff       	call   0x48cb
-    48cf:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
-    48d5:	89 c6                	mov    %eax,%esi
-    48d7:	e9 2f d4 ff ff       	jmp    0x1d0b
-    48dc:	8b 9d 34 ff ff ff    	mov    -0xcc(%ebp),%ebx
-    48e2:	89 1c 24             	mov    %ebx,(%esp)
-    48e5:	e8 fc ff ff ff       	call   0x48e6
-    48ea:	89 c3                	mov    %eax,%ebx
-    48ec:	e9 9b c4 ff ff       	jmp    0xd8c
-    48f1:	8b 9d 34 ff ff ff    	mov    -0xcc(%ebp),%ebx
-    48f7:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
-    48fd:	89 1c 24             	mov    %ebx,(%esp)
-    4900:	e8 fc ff ff ff       	call   0x4901
-    4905:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
-    490b:	89 c3                	mov    %eax,%ebx
-    490d:	e9 ab e8 ff ff       	jmp    0x31bd
-    4912:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
-    4918:	bf 02 00 00 00       	mov    $0x2,%edi
-    491d:	e9 7e b9 ff ff       	jmp    0x2a0
-    4922:	8b 85 34 ff ff ff    	mov    -0xcc(%ebp),%eax
-    4928:	89 04 24             	mov    %eax,(%esp)
-    492b:	e8 fc ff ff ff       	call   0x492c
-    4930:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
-    4936:	e9 73 f7 ff ff       	jmp    0x40ae
-    493b:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
-    4941:	bf 02 00 00 00       	mov    $0x2,%edi
-    4946:	e9 55 b9 ff ff       	jmp    0x2a0
-    494b:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
-    4952:	0f 84 ae 00 00 00    	je     0x4a06
-    4958:	c7 44 24 04 00 01 00 	movl   $0x100,0x4(%esp)
-    495f:	00 
-    4960:	89 34 24             	mov    %esi,(%esp)
-    4963:	e8 fc ff ff ff       	call   0x4964
-    4968:	85 c0                	test   %eax,%eax
-    496a:	74 7c                	je     0x49e8
-    496c:	89 c6                	mov    %eax,%esi
-    496e:	c7 85 40 ff ff ff 00 	movl   $0x100,-0xc0(%ebp)
-    4975:	01 00 00 
-    4978:	e9 f7 f6 ff ff       	jmp    0x4074
-    497d:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
-    4983:	bf 02 00 00 00       	mov    $0x2,%edi
-    4988:	e9 13 b9 ff ff       	jmp    0x2a0
-    498d:	8b 9d 34 ff ff ff    	mov    -0xcc(%ebp),%ebx
-    4993:	89 1c 24             	mov    %ebx,(%esp)
-    4996:	e8 fc ff ff ff       	call   0x4997
-    499b:	89 85 44 ff ff ff    	mov    %eax,-0xbc(%ebp)
-    49a1:	e9 94 f6 ff ff       	jmp    0x403a
-    49a6:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
-    49ac:	bf 02 00 00 00       	mov    $0x2,%edi
-    49b1:	e9 ea b8 ff ff       	jmp    0x2a0
-    49b6:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
-    49bd:	0f 84 ad 00 00 00    	je     0x4a70
-    49c3:	c7 44 24 04 00 01 00 	movl   $0x100,0x4(%esp)
-    49ca:	00 
-    49cb:	89 34 24             	mov    %esi,(%esp)
-    49ce:	e8 fc ff ff ff       	call   0x49cf
-    49d3:	85 c0                	test   %eax,%eax
-    49d5:	74 7b                	je     0x4a52
-    49d7:	89 c6                	mov    %eax,%esi
-    49d9:	c7 85 40 ff ff ff 00 	movl   $0x100,-0xc0(%ebp)
-    49e0:	01 00 00 
-    49e3:	e9 18 f6 ff ff       	jmp    0x4000
-    49e8:	89 34 24             	mov    %esi,(%esp)
-    49eb:	83 cb ff             	or     $0xffffffff,%ebx
-    49ee:	31 f6                	xor    %esi,%esi
-    49f0:	e8 fc ff ff ff       	call   0x49f1
-    49f5:	31 ff                	xor    %edi,%edi
-    49f7:	c7 85 24 ff ff ff ff 	movl   $0xffffffff,-0xdc(%ebp)
-    49fe:	ff ff ff 
-    4a01:	e9 9a b8 ff ff       	jmp    0x2a0
-    4a06:	81 ec 10 04 00 00    	sub    $0x410,%esp
-    4a0c:	8d 5c 24 1f          	lea    0x1f(%esp),%ebx
-    4a10:	83 e3 f0             	and    $0xfffffff0,%ebx
-    4a13:	8d 83 00 04 00 00    	lea    0x400(%ebx),%eax
-    4a19:	39 c6                	cmp    %eax,%esi
-    4a1b:	b8 00 01 00 00       	mov    $0x100,%eax
-    4a20:	c7 85 40 ff ff ff 06 	movl   $0x106,-0xc0(%ebp)
-    4a27:	01 00 00 
-    4a2a:	0f 44 85 40 ff ff ff 	cmove  -0xc0(%ebp),%eax
-    4a31:	89 74 24 04          	mov    %esi,0x4(%esp)
-    4a35:	89 de                	mov    %ebx,%esi
-    4a37:	c7 44 24 08 06 00 00 	movl   $0x6,0x8(%esp)
-    4a3e:	00 
-    4a3f:	89 85 40 ff ff ff    	mov    %eax,-0xc0(%ebp)
-    4a45:	89 1c 24             	mov    %ebx,(%esp)
-    4a48:	e8 fc ff ff ff       	call   0x4a49
-    4a4d:	e9 22 f6 ff ff       	jmp    0x4074
-    4a52:	89 34 24             	mov    %esi,(%esp)
-    4a55:	83 cb ff             	or     $0xffffffff,%ebx
-    4a58:	31 f6                	xor    %esi,%esi
-    4a5a:	e8 fc ff ff ff       	call   0x4a5b
-    4a5f:	31 ff                	xor    %edi,%edi
-    4a61:	c7 85 24 ff ff ff ff 	movl   $0xffffffff,-0xdc(%ebp)
-    4a68:	ff ff ff 
-    4a6b:	e9 30 b8 ff ff       	jmp    0x2a0
-    4a70:	81 ec 10 04 00 00    	sub    $0x410,%esp
-    4a76:	8d 5c 24 1f          	lea    0x1f(%esp),%ebx
-    4a7a:	83 e3 f0             	and    $0xfffffff0,%ebx
-    4a7d:	8d 83 00 04 00 00    	lea    0x400(%ebx),%eax
-    4a83:	39 c6                	cmp    %eax,%esi
-    4a85:	0f 94 c0             	sete   %al
-    4a88:	0f b6 c0             	movzbl %al,%eax
-    4a8b:	8d 84 80 00 01 00 00 	lea    0x100(%eax,%eax,4),%eax
-    4a92:	89 74 24 04          	mov    %esi,0x4(%esp)
-    4a96:	89 de                	mov    %ebx,%esi
-    4a98:	89 85 40 ff ff ff    	mov    %eax,-0xc0(%ebp)
-    4a9e:	c7 44 24 08 05 00 00 	movl   $0x5,0x8(%esp)
-    4aa5:	00 
-    4aa6:	89 1c 24             	mov    %ebx,(%esp)
-    4aa9:	e8 fc ff ff ff       	call   0x4aaa
-    4aae:	e9 4d f5 ff ff       	jmp    0x4000
-    4ab3:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
-    4ab9:	bf 02 00 00 00       	mov    $0x2,%edi
-    4abe:	e9 dd b7 ff ff       	jmp    0x2a0
-    4ac3:	8b 9d 34 ff ff ff    	mov    -0xcc(%ebp),%ebx
-    4ac9:	89 1c 24             	mov    %ebx,(%esp)
-    4acc:	e8 fc ff ff ff       	call   0x4acd
-    4ad1:	89 85 44 ff ff ff    	mov    %eax,-0xbc(%ebp)
-    4ad7:	e9 ea f4 ff ff       	jmp    0x3fc6
-    4adc:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
-    4ae2:	bf 02 00 00 00       	mov    $0x2,%edi
-    4ae7:	e9 b4 b7 ff ff       	jmp    0x2a0
-    4aec:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
-    4af3:	0f 84 be 00 00 00    	je     0x4bb7
-    4af9:	c7 44 24 04 00 01 00 	movl   $0x100,0x4(%esp)
-    4b00:	00 
-    4b01:	89 34 24             	mov    %esi,(%esp)
-    4b04:	e8 fc ff ff ff       	call   0x4b05
-    4b09:	85 c0                	test   %eax,%eax
-    4b0b:	0f 84 88 00 00 00    	je     0x4b99
-    4b11:	89 c6                	mov    %eax,%esi
-    4b13:	c7 85 40 ff ff ff 00 	movl   $0x100,-0xc0(%ebp)
-    4b1a:	01 00 00 
-    4b1d:	e9 6a f4 ff ff       	jmp    0x3f8c
-    4b22:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
-    4b28:	bf 02 00 00 00       	mov    $0x2,%edi
-    4b2d:	e9 6e b7 ff ff       	jmp    0x2a0
-    4b32:	8b 8d 34 ff ff ff    	mov    -0xcc(%ebp),%ecx
-    4b38:	89 0c 24             	mov    %ecx,(%esp)
-    4b3b:	e8 fc ff ff ff       	call   0x4b3c
-    4b40:	89 85 44 ff ff ff    	mov    %eax,-0xbc(%ebp)
-    4b46:	e9 07 f4 ff ff       	jmp    0x3f52
-    4b4b:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
-    4b51:	bf 02 00 00 00       	mov    $0x2,%edi
-    4b56:	e9 45 b7 ff ff       	jmp    0x2a0
-    4b5b:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
-    4b62:	0f 84 ae 00 00 00    	je     0x4c16
-    4b68:	89 14 24             	mov    %edx,(%esp)
-    4b6b:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
-    4b71:	c7 44 24 04 00 01 00 	movl   $0x100,0x4(%esp)
-    4b78:	00 
-    4b79:	e8 fc ff ff ff       	call   0x4b7a
-    4b7e:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
-    4b84:	85 c0                	test   %eax,%eax
-    4b86:	89 c6                	mov    %eax,%esi
-    4b88:	74 70                	je     0x4bfa
-    4b8a:	c7 85 40 ff ff ff 00 	movl   $0x100,-0xc0(%ebp)
-    4b91:	01 00 00 
-    4b94:	e9 7f f3 ff ff       	jmp    0x3f18
-    4b99:	89 34 24             	mov    %esi,(%esp)
-    4b9c:	83 cb ff             	or     $0xffffffff,%ebx
-    4b9f:	31 f6                	xor    %esi,%esi
+    4793:	c1 e1 02             	shl    $0x2,%ecx
+    4796:	89 c8                	mov    %ecx,%eax
+    4798:	83 c0 10             	add    $0x10,%eax
+    479b:	29 c4                	sub    %eax,%esp
+    479d:	8d 44 24 1f          	lea    0x1f(%esp),%eax
+    47a1:	83 e0 f0             	and    $0xfffffff0,%eax
+    47a4:	89 8d 44 ff ff ff    	mov    %ecx,-0xbc(%ebp)
+    47aa:	01 c1                	add    %eax,%ecx
+    47ac:	39 ce                	cmp    %ecx,%esi
+    47ae:	89 c6                	mov    %eax,%esi
+    47b0:	89 8d 40 ff ff ff    	mov    %ecx,-0xc0(%ebp)
+    47b6:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
+    47bc:	8d 0c 91             	lea    (%ecx,%edx,4),%ecx
+    47bf:	89 8d c8 fe ff ff    	mov    %ecx,-0x138(%ebp)
+    47c5:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
+    47cb:	0f 44 8d c8 fe ff ff 	cmove  -0x138(%ebp),%ecx
+    47d2:	c1 e9 02             	shr    $0x2,%ecx
+    47d5:	83 bd 14 ff ff ff 00 	cmpl   $0x0,-0xec(%ebp)
+    47dc:	0f 84 6f de ff ff    	je     0x2651
+    47e2:	8b 85 14 ff ff ff    	mov    -0xec(%ebp),%eax
+    47e8:	89 8d cc fe ff ff    	mov    %ecx,-0x134(%ebp)
+    47ee:	89 54 24 08          	mov    %edx,0x8(%esp)
+    47f2:	89 34 24             	mov    %esi,(%esp)
+    47f5:	89 44 24 04          	mov    %eax,0x4(%esp)
+    47f9:	e8 fc ff ff ff       	call   0x47fa
+    47fe:	8b 8d cc fe ff ff    	mov    -0x134(%ebp),%ecx
+    4804:	e9 48 de ff ff       	jmp    0x2651
+    4809:	89 14 24             	mov    %edx,(%esp)
+    480c:	83 cb ff             	or     $0xffffffff,%ebx
+    480f:	31 ff                	xor    %edi,%edi
+    4811:	e8 fc ff ff ff       	call   0x4812
+    4816:	c7 85 24 ff ff ff ff 	movl   $0xffffffff,-0xdc(%ebp)
+    481d:	ff ff ff 
+    4820:	e9 7b ba ff ff       	jmp    0x2a0
+    4825:	c7 44 24 0c 15 00 00 	movl   $0x15,0xc(%esp)
+    482c:	00 
+    482d:	c7 44 24 08 40 04 00 	movl   $0x440,0x8(%esp)
+    4834:	00 
+    4835:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
+    483c:	00 
+    483d:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
+    4844:	e8 fc ff ff ff       	call   0x4845
+    4849:	a1 00 00 00 00       	mov    0x0,%eax
+    484e:	bf 04 00 00 00       	mov    $0x4,%edi
+    4853:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
+    4859:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
+    485f:	65 c7 00 56 00 00 00 	movl   $0x56,%gs:(%eax)
+    4866:	e9 35 ba ff ff       	jmp    0x2a0
+    486b:	8d 0c 12             	lea    (%edx,%edx,1),%ecx
+    486e:	b8 00 01 00 00       	mov    $0x100,%eax
+    4873:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
+    4879:	0f 43 c1             	cmovae %ecx,%eax
+    487c:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
+    4883:	89 85 44 ff ff ff    	mov    %eax,-0xbc(%ebp)
+    4889:	89 f0                	mov    %esi,%eax
+    488b:	75 0e                	jne    0x489b
+    488d:	81 bd 44 ff ff ff 00 	cmpl   $0x10000,-0xbc(%ebp)
+    4894:	00 01 00 
+    4897:	76 7a                	jbe    0x4913
+    4899:	31 c0                	xor    %eax,%eax
+    489b:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
+    48a1:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
+    48a7:	89 04 24             	mov    %eax,(%esp)
+    48aa:	89 74 24 04          	mov    %esi,0x4(%esp)
+    48ae:	e8 fc ff ff ff       	call   0x48af
+    48b3:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
+    48b9:	85 c0                	test   %eax,%eax
+    48bb:	89 c6                	mov    %eax,%esi
+    48bd:	0f 84 cc 00 00 00    	je     0x498f
+    48c3:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
+    48ca:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
+    48d0:	0f 85 58 e7 ff ff    	jne    0x302e
+    48d6:	8b 85 14 ff ff ff    	mov    -0xec(%ebp),%eax
+    48dc:	89 54 24 08          	mov    %edx,0x8(%esp)
+    48e0:	89 34 24             	mov    %esi,(%esp)
+    48e3:	89 44 24 04          	mov    %eax,0x4(%esp)
+    48e7:	e8 fc ff ff ff       	call   0x48e8
+    48ec:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
+    48f2:	c6 85 0f ff ff ff 01 	movb   $0x1,-0xf1(%ebp)
+    48f9:	e9 30 e7 ff ff       	jmp    0x302e
+    48fe:	8b 8d 34 ff ff ff    	mov    -0xcc(%ebp),%ecx
+    4904:	89 0c 24             	mov    %ecx,(%esp)
+    4907:	e8 fc ff ff ff       	call   0x4908
+    490c:	89 c3                	mov    %eax,%ebx
+    490e:	e9 2b c3 ff ff       	jmp    0xc3e
+    4913:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
+    4919:	c1 e1 02             	shl    $0x2,%ecx
+    491c:	89 c8                	mov    %ecx,%eax
+    491e:	83 c0 10             	add    $0x10,%eax
+    4921:	29 c4                	sub    %eax,%esp
+    4923:	8d 44 24 1f          	lea    0x1f(%esp),%eax
+    4927:	83 e0 f0             	and    $0xfffffff0,%eax
+    492a:	89 8d 44 ff ff ff    	mov    %ecx,-0xbc(%ebp)
+    4930:	01 c1                	add    %eax,%ecx
+    4932:	39 ce                	cmp    %ecx,%esi
+    4934:	89 c6                	mov    %eax,%esi
+    4936:	89 8d 40 ff ff ff    	mov    %ecx,-0xc0(%ebp)
+    493c:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
+    4942:	8d 0c 91             	lea    (%ecx,%edx,4),%ecx
+    4945:	89 8d e8 fe ff ff    	mov    %ecx,-0x118(%ebp)
+    494b:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
+    4951:	0f 44 8d e8 fe ff ff 	cmove  -0x118(%ebp),%ecx
+    4958:	c1 e9 02             	shr    $0x2,%ecx
+    495b:	83 bd 14 ff ff ff 00 	cmpl   $0x0,-0xec(%ebp)
+    4962:	0f 84 c6 e6 ff ff    	je     0x302e
+    4968:	8b 85 14 ff ff ff    	mov    -0xec(%ebp),%eax
+    496e:	89 8d cc fe ff ff    	mov    %ecx,-0x134(%ebp)
+    4974:	89 54 24 08          	mov    %edx,0x8(%esp)
+    4978:	89 34 24             	mov    %esi,(%esp)
+    497b:	89 44 24 04          	mov    %eax,0x4(%esp)
+    497f:	e8 fc ff ff ff       	call   0x4980
+    4984:	8b 8d cc fe ff ff    	mov    -0x134(%ebp),%ecx
+    498a:	e9 9f e6 ff ff       	jmp    0x302e
+    498f:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
+    4996:	8b 95 14 ff ff ff    	mov    -0xec(%ebp),%edx
+    499c:	0f 84 50 fc ff ff    	je     0x45f2
+    49a2:	89 14 24             	mov    %edx,(%esp)
+    49a5:	83 cb ff             	or     $0xffffffff,%ebx
+    49a8:	31 ff                	xor    %edi,%edi
+    49aa:	e8 fc ff ff ff       	call   0x49ab
+    49af:	c7 85 24 ff ff ff ff 	movl   $0xffffffff,-0xdc(%ebp)
+    49b6:	ff ff ff 
+    49b9:	e9 e2 b8 ff ff       	jmp    0x2a0
+    49be:	8b 9d 34 ff ff ff    	mov    -0xcc(%ebp),%ebx
+    49c4:	89 1c 24             	mov    %ebx,(%esp)
+    49c7:	e8 fc ff ff ff       	call   0x49c8
+    49cc:	89 c3                	mov    %eax,%ebx
+    49ce:	e9 c0 ce ff ff       	jmp    0x1893
+    49d3:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
+    49d9:	bf 02 00 00 00       	mov    $0x2,%edi
+    49de:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
+    49e4:	e9 b7 b8 ff ff       	jmp    0x2a0
+    49e9:	8b 8d 34 ff ff ff    	mov    -0xcc(%ebp),%ecx
+    49ef:	89 0c 24             	mov    %ecx,(%esp)
+    49f2:	e8 fc ff ff ff       	call   0x49f3
+    49f7:	89 c3                	mov    %eax,%ebx
+    49f9:	e9 1f ea ff ff       	jmp    0x341d
+    49fe:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
+    4a05:	0f 84 29 08 00 00    	je     0x5234
+    4a0b:	8b 85 44 ff ff ff    	mov    -0xbc(%ebp),%eax
+    4a11:	c7 44 24 04 00 01 00 	movl   $0x100,0x4(%esp)
+    4a18:	00 
+    4a19:	89 04 24             	mov    %eax,(%esp)
+    4a1c:	e8 fc ff ff ff       	call   0x4a1d
+    4a21:	85 c0                	test   %eax,%eax
+    4a23:	89 c6                	mov    %eax,%esi
+    4a25:	0f 84 e7 07 00 00    	je     0x5212
+    4a2b:	89 b5 44 ff ff ff    	mov    %esi,-0xbc(%ebp)
+    4a31:	c7 85 40 ff ff ff 00 	movl   $0x100,-0xc0(%ebp)
+    4a38:	01 00 00 
+    4a3b:	e9 a1 e9 ff ff       	jmp    0x33e1
+    4a40:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
+    4a47:	0f 84 81 00 00 00    	je     0x4ace
+    4a4d:	89 14 24             	mov    %edx,(%esp)
+    4a50:	c7 44 24 04 00 01 00 	movl   $0x100,0x4(%esp)
+    4a57:	00 
+    4a58:	e8 fc ff ff ff       	call   0x4a59
+    4a5d:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
+    4a63:	85 c0                	test   %eax,%eax
+    4a65:	89 c6                	mov    %eax,%esi
+    4a67:	74 49                	je     0x4ab2
+    4a69:	c7 85 40 ff ff ff 00 	movl   $0x100,-0xc0(%ebp)
+    4a70:	01 00 00 
+    4a73:	e9 c3 f2 ff ff       	jmp    0x3d3b
+    4a78:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
+    4a7f:	0f 84 aa 00 00 00    	je     0x4b2f
+    4a85:	8b 95 44 ff ff ff    	mov    -0xbc(%ebp),%edx
+    4a8b:	c7 44 24 04 00 01 00 	movl   $0x100,0x4(%esp)
+    4a92:	00 
+    4a93:	89 14 24             	mov    %edx,(%esp)
+    4a96:	e8 fc ff ff ff       	call   0x4a97
+    4a9b:	85 c0                	test   %eax,%eax
+    4a9d:	89 c6                	mov    %eax,%esi
+    4a9f:	74 6c                	je     0x4b0d
+    4aa1:	89 c2                	mov    %eax,%edx
+    4aa3:	c7 85 40 ff ff ff 00 	movl   $0x100,-0xc0(%ebp)
+    4aaa:	01 00 00 
+    4aad:	e9 4a c9 ff ff       	jmp    0x13fc
+    4ab2:	89 14 24             	mov    %edx,(%esp)
+    4ab5:	83 cb ff             	or     $0xffffffff,%ebx
+    4ab8:	31 ff                	xor    %edi,%edi
+    4aba:	e8 fc ff ff ff       	call   0x4abb
+    4abf:	c7 85 24 ff ff ff ff 	movl   $0xffffffff,-0xdc(%ebp)
+    4ac6:	ff ff ff 
+    4ac9:	e9 d2 b7 ff ff       	jmp    0x2a0
+    4ace:	81 ec 10 04 00 00    	sub    $0x410,%esp
+    4ad4:	8d 74 24 1f          	lea    0x1f(%esp),%esi
+    4ad8:	83 e6 f0             	and    $0xfffffff0,%esi
+    4adb:	8d 86 00 04 00 00    	lea    0x400(%esi),%eax
+    4ae1:	39 c2                	cmp    %eax,%edx
+    4ae3:	0f 94 c0             	sete   %al
+    4ae6:	0f b6 c0             	movzbl %al,%eax
+    4ae9:	05 00 01 00 00       	add    $0x100,%eax
+    4aee:	89 85 40 ff ff ff    	mov    %eax,-0xc0(%ebp)
+    4af4:	c7 44 24 08 01 00 00 	movl   $0x1,0x8(%esp)
+    4afb:	00 
+    4afc:	89 54 24 04          	mov    %edx,0x4(%esp)
+    4b00:	89 34 24             	mov    %esi,(%esp)
+    4b03:	e8 fc ff ff ff       	call   0x4b04
+    4b08:	e9 2e f2 ff ff       	jmp    0x3d3b
+    4b0d:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
+    4b13:	83 cb ff             	or     $0xffffffff,%ebx
+    4b16:	31 ff                	xor    %edi,%edi
+    4b18:	89 0c 24             	mov    %ecx,(%esp)
+    4b1b:	e8 fc ff ff ff       	call   0x4b1c
+    4b20:	c7 85 24 ff ff ff ff 	movl   $0xffffffff,-0xdc(%ebp)
+    4b27:	ff ff ff 
+    4b2a:	e9 71 b7 ff ff       	jmp    0x2a0
+    4b2f:	81 ec 10 04 00 00    	sub    $0x410,%esp
+    4b35:	8d 54 24 1f          	lea    0x1f(%esp),%edx
+    4b39:	83 e2 f0             	and    $0xfffffff0,%edx
+    4b3c:	83 bd 44 ff ff ff 00 	cmpl   $0x0,-0xbc(%ebp)
+    4b43:	c7 85 40 ff ff ff 00 	movl   $0x100,-0xc0(%ebp)
+    4b4a:	01 00 00 
+    4b4d:	0f 84 a9 c8 ff ff    	je     0x13fc
+    4b53:	8b 9d 44 ff ff ff    	mov    -0xbc(%ebp),%ebx
+    4b59:	89 14 24             	mov    %edx,(%esp)
+    4b5c:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
+    4b62:	c7 44 24 08 00 00 00 	movl   $0x0,0x8(%esp)
+    4b69:	00 
+    4b6a:	89 5c 24 04          	mov    %ebx,0x4(%esp)
+    4b6e:	e8 fc ff ff ff       	call   0x4b6f
+    4b73:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
+    4b79:	c7 85 40 ff ff ff 00 	movl   $0x100,-0xc0(%ebp)
+    4b80:	01 00 00 
+    4b83:	e9 74 c8 ff ff       	jmp    0x13fc
+    4b88:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
+    4b8e:	bf 02 00 00 00       	mov    $0x2,%edi
+    4b93:	e9 08 b7 ff ff       	jmp    0x2a0
+    4b98:	8b 85 34 ff ff ff    	mov    -0xcc(%ebp),%eax
+    4b9e:	89 04 24             	mov    %eax,(%esp)
     4ba1:	e8 fc ff ff ff       	call   0x4ba2
-    4ba6:	31 ff                	xor    %edi,%edi
-    4ba8:	c7 85 24 ff ff ff ff 	movl   $0xffffffff,-0xdc(%ebp)
-    4baf:	ff ff ff 
-    4bb2:	e9 e9 b6 ff ff       	jmp    0x2a0
-    4bb7:	81 ec 10 04 00 00    	sub    $0x410,%esp
-    4bbd:	8d 5c 24 1f          	lea    0x1f(%esp),%ebx
-    4bc1:	83 e3 f0             	and    $0xfffffff0,%ebx
-    4bc4:	8d 83 00 04 00 00    	lea    0x400(%ebx),%eax
-    4bca:	39 c6                	cmp    %eax,%esi
-    4bcc:	0f 94 c0             	sete   %al
-    4bcf:	0f b6 c0             	movzbl %al,%eax
-    4bd2:	8d 04 85 00 01 00 00 	lea    0x100(,%eax,4),%eax
-    4bd9:	89 74 24 04          	mov    %esi,0x4(%esp)
-    4bdd:	89 de                	mov    %ebx,%esi
-    4bdf:	89 85 40 ff ff ff    	mov    %eax,-0xc0(%ebp)
-    4be5:	c7 44 24 08 04 00 00 	movl   $0x4,0x8(%esp)
-    4bec:	00 
-    4bed:	89 1c 24             	mov    %ebx,(%esp)
-    4bf0:	e8 fc ff ff ff       	call   0x4bf1
-    4bf5:	e9 92 f3 ff ff       	jmp    0x3f8c
-    4bfa:	89 14 24             	mov    %edx,(%esp)
-    4bfd:	83 cb ff             	or     $0xffffffff,%ebx
-    4c00:	31 ff                	xor    %edi,%edi
-    4c02:	e8 fc ff ff ff       	call   0x4c03
-    4c07:	c7 85 24 ff ff ff ff 	movl   $0xffffffff,-0xdc(%ebp)
-    4c0e:	ff ff ff 
-    4c11:	e9 8a b6 ff ff       	jmp    0x2a0
-    4c16:	81 ec 10 04 00 00    	sub    $0x410,%esp
-    4c1c:	8d 74 24 1f          	lea    0x1f(%esp),%esi
-    4c20:	83 e6 f0             	and    $0xfffffff0,%esi
-    4c23:	8d 86 00 04 00 00    	lea    0x400(%esi),%eax
-    4c29:	39 c2                	cmp    %eax,%edx
-    4c2b:	0f 94 c0             	sete   %al
-    4c2e:	0f b6 c0             	movzbl %al,%eax
-    4c31:	8d 8c 40 00 01 00 00 	lea    0x100(%eax,%eax,2),%ecx
-    4c38:	89 8d 40 ff ff ff    	mov    %ecx,-0xc0(%ebp)
-    4c3e:	c7 44 24 08 03 00 00 	movl   $0x3,0x8(%esp)
-    4c45:	00 
-    4c46:	89 54 24 04          	mov    %edx,0x4(%esp)
-    4c4a:	89 34 24             	mov    %esi,(%esp)
-    4c4d:	e8 fc ff ff ff       	call   0x4c4e
-    4c52:	e9 c1 f2 ff ff       	jmp    0x3f18
-    4c57:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
-    4c5d:	bf 02 00 00 00       	mov    $0x2,%edi
-    4c62:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
-    4c68:	e9 33 b6 ff ff       	jmp    0x2a0
-    4c6d:	65 8b 02             	mov    %gs:(%edx),%eax
-    4c70:	8b 00                	mov    (%eax),%eax
-    4c72:	8b 48 5c             	mov    0x5c(%eax),%ecx
-    4c75:	8d 04 0b             	lea    (%ebx,%ecx,1),%eax
-    4c78:	8b 8d 10 ff ff ff    	mov    -0xf0(%ebp),%ecx
-    4c7e:	89 44 24 04          	mov    %eax,0x4(%esp)
-    4c82:	8b 01                	mov    (%ecx),%eax
-    4c84:	89 04 24             	mov    %eax,(%esp)
-    4c87:	e8 fc ff ff ff       	call   0x4c88
-    4c8c:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
-    4c92:	85 c0                	test   %eax,%eax
-    4c94:	74 7b                	je     0x4d11
-    4c96:	8b 8d 10 ff ff ff    	mov    -0xf0(%ebp),%ecx
-    4c9c:	89 01                	mov    %eax,(%ecx)
-    4c9e:	01 d8                	add    %ebx,%eax
-    4ca0:	89 85 fc fe ff ff    	mov    %eax,-0x104(%ebp)
-    4ca6:	65 8b 02             	mov    %gs:(%edx),%eax
-    4ca9:	8b 00                	mov    (%eax),%eax
-    4cab:	03 58 5c             	add    0x5c(%eax),%ebx
-    4cae:	89 9d 00 ff ff ff    	mov    %ebx,-0x100(%ebp)
-    4cb4:	e9 05 d6 ff ff       	jmp    0x22be
-    4cb9:	8b 8d 34 ff ff ff    	mov    -0xcc(%ebp),%ecx
-    4cbf:	89 0c 24             	mov    %ecx,(%esp)
-    4cc2:	e8 fc ff ff ff       	call   0x4cc3
-    4cc7:	89 c3                	mov    %eax,%ebx
-    4cc9:	e9 70 bf ff ff       	jmp    0xc3e
-    4cce:	f7 85 2c ff ff ff 00 	testl  $0x2000,-0xd4(%ebp)
-    4cd5:	20 00 00 
-    4cd8:	0f 85 8c dc ff ff    	jne    0x296a
-    4cde:	8b 95 10 ff ff ff    	mov    -0xf0(%ebp),%edx
-    4ce4:	8b 02                	mov    (%edx),%eax
-    4ce6:	c6 04 38 00          	movb   $0x0,(%eax,%edi,1)
-    4cea:	bf 02 00 00 00       	mov    $0x2,%edi
-    4cef:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
-    4cf5:	83 85 24 ff ff ff 01 	addl   $0x1,-0xdc(%ebp)
-    4cfc:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
-    4d02:	c7 85 10 ff ff ff 00 	movl   $0x0,-0xf0(%ebp)
-    4d09:	00 00 00 
-    4d0c:	e9 8f b5 ff ff       	jmp    0x2a0
-    4d11:	f7 85 2c ff ff ff 00 	testl  $0x2000,-0xd4(%ebp)
-    4d18:	20 00 00 
-    4d1b:	0f 85 49 dc ff ff    	jne    0x296a
-    4d21:	8b b5 10 ff ff ff    	mov    -0xf0(%ebp),%esi
-    4d27:	bf 02 00 00 00       	mov    $0x2,%edi
-    4d2c:	8b 06                	mov    (%esi),%eax
-    4d2e:	c6 04 18 00          	movb   $0x0,(%eax,%ebx,1)
-    4d32:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
-    4d38:	83 85 24 ff ff ff 01 	addl   $0x1,-0xdc(%ebp)
-    4d3f:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
-    4d45:	c7 85 10 ff ff ff 00 	movl   $0x0,-0xf0(%ebp)
-    4d4c:	00 00 00 
-    4d4f:	e9 4c b5 ff ff       	jmp    0x2a0
-    4d54:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
-    4d5b:	74 53                	je     0x4db0
-    4d5d:	c7 44 24 04 00 01 00 	movl   $0x100,0x4(%esp)
-    4d64:	00 
-    4d65:	89 34 24             	mov    %esi,(%esp)
-    4d68:	e8 fc ff ff ff       	call   0x4d69
-    4d6d:	85 c0                	test   %eax,%eax
-    4d6f:	89 c2                	mov    %eax,%edx
-    4d71:	74 1f                	je     0x4d92
-    4d73:	c7 85 40 ff ff ff 00 	movl   $0x100,-0xc0(%ebp)
-    4d7a:	01 00 00 
-    4d7d:	e9 3a e7 ff ff       	jmp    0x34bc
-    4d82:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
-    4d88:	bf 02 00 00 00       	mov    $0x2,%edi
-    4d8d:	e9 0e b5 ff ff       	jmp    0x2a0
-    4d92:	89 34 24             	mov    %esi,(%esp)
-    4d95:	83 cb ff             	or     $0xffffffff,%ebx
-    4d98:	31 f6                	xor    %esi,%esi
-    4d9a:	e8 fc ff ff ff       	call   0x4d9b
-    4d9f:	31 ff                	xor    %edi,%edi
-    4da1:	c7 85 24 ff ff ff ff 	movl   $0xffffffff,-0xdc(%ebp)
-    4da8:	ff ff ff 
-    4dab:	e9 f0 b4 ff ff       	jmp    0x2a0
-    4db0:	81 ec 10 04 00 00    	sub    $0x410,%esp
-    4db6:	8d 54 24 1f          	lea    0x1f(%esp),%edx
-    4dba:	83 e2 f0             	and    $0xfffffff0,%edx
-    4dbd:	8d 82 00 04 00 00    	lea    0x400(%edx),%eax
-    4dc3:	39 c6                	cmp    %eax,%esi
-    4dc5:	0f 94 c0             	sete   %al
-    4dc8:	0f b6 c0             	movzbl %al,%eax
-    4dcb:	8d 84 00 00 01 00 00 	lea    0x100(%eax,%eax,1),%eax
-    4dd2:	89 14 24             	mov    %edx,(%esp)
-    4dd5:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
-    4ddb:	89 85 40 ff ff ff    	mov    %eax,-0xc0(%ebp)
-    4de1:	c7 44 24 08 02 00 00 	movl   $0x2,0x8(%esp)
-    4de8:	00 
-    4de9:	89 74 24 04          	mov    %esi,0x4(%esp)
-    4ded:	e8 fc ff ff ff       	call   0x4dee
-    4df2:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
-    4df8:	e9 bf e6 ff ff       	jmp    0x34bc
-    4dfd:	8b 85 34 ff ff ff    	mov    -0xcc(%ebp),%eax
-    4e03:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
-    4e09:	89 04 24             	mov    %eax,(%esp)
-    4e0c:	e8 fc ff ff ff       	call   0x4e0d
-    4e11:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
-    4e17:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
-    4e1d:	e9 ed e6 ff ff       	jmp    0x350f
-    4e22:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
-    4e29:	74 7b                	je     0x4ea6
-    4e2b:	c7 44 24 04 00 01 00 	movl   $0x100,0x4(%esp)
-    4e32:	00 
-    4e33:	89 34 24             	mov    %esi,(%esp)
-    4e36:	e8 fc ff ff ff       	call   0x4e37
-    4e3b:	85 c0                	test   %eax,%eax
-    4e3d:	89 c2                	mov    %eax,%edx
-    4e3f:	74 47                	je     0x4e88
-    4e41:	c7 85 40 ff ff ff 00 	movl   $0x100,-0xc0(%ebp)
-    4e48:	01 00 00 
-    4e4b:	e9 91 f2 ff ff       	jmp    0x40e1
-    4e50:	83 bd 24 ff ff ff 00 	cmpl   $0x0,-0xdc(%ebp)
-    4e57:	0f 84 29 b4 ff ff    	je     0x286
-    4e5d:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
-    4e63:	bf 01 00 00 00       	mov    $0x1,%edi
-    4e68:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
-    4e6e:	e9 2d b4 ff ff       	jmp    0x2a0
-    4e73:	8b 8d 34 ff ff ff    	mov    -0xcc(%ebp),%ecx
-    4e79:	89 0c 24             	mov    %ecx,(%esp)
-    4e7c:	e8 fc ff ff ff       	call   0x4e7d
-    4e81:	89 c3                	mov    %eax,%ebx
-    4e83:	e9 8e e5 ff ff       	jmp    0x3416
-    4e88:	89 34 24             	mov    %esi,(%esp)
-    4e8b:	83 cb ff             	or     $0xffffffff,%ebx
-    4e8e:	31 f6                	xor    %esi,%esi
-    4e90:	e8 fc ff ff ff       	call   0x4e91
-    4e95:	31 ff                	xor    %edi,%edi
-    4e97:	c7 85 24 ff ff ff ff 	movl   $0xffffffff,-0xdc(%ebp)
-    4e9e:	ff ff ff 
-    4ea1:	e9 fa b3 ff ff       	jmp    0x2a0
-    4ea6:	81 ec 10 04 00 00    	sub    $0x410,%esp
-    4eac:	8d 54 24 1f          	lea    0x1f(%esp),%edx
-    4eb0:	83 e2 f0             	and    $0xfffffff0,%edx
-    4eb3:	8d 82 00 04 00 00    	lea    0x400(%edx),%eax
-    4eb9:	c7 85 40 ff ff ff 07 	movl   $0x107,-0xc0(%ebp)
-    4ec0:	01 00 00 
-    4ec3:	39 c6                	cmp    %eax,%esi
-    4ec5:	b8 00 01 00 00       	mov    $0x100,%eax
-    4eca:	0f 44 85 40 ff ff ff 	cmove  -0xc0(%ebp),%eax
-    4ed1:	89 14 24             	mov    %edx,(%esp)
-    4ed4:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
-    4eda:	89 85 40 ff ff ff    	mov    %eax,-0xc0(%ebp)
-    4ee0:	c7 44 24 08 07 00 00 	movl   $0x7,0x8(%esp)
-    4ee7:	00 
-    4ee8:	89 74 24 04          	mov    %esi,0x4(%esp)
-    4eec:	e8 fc ff ff ff       	call   0x4eed
-    4ef1:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
-    4ef7:	e9 e5 f1 ff ff       	jmp    0x40e1
-    4efc:	8b 85 34 ff ff ff    	mov    -0xcc(%ebp),%eax
-    4f02:	89 04 24             	mov    %eax,(%esp)
-    4f05:	e8 fc ff ff ff       	call   0x4f06
-    4f0a:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
-    4f10:	e9 1a e3 ff ff       	jmp    0x322f
-    4f15:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
-    4f1b:	bf 02 00 00 00       	mov    $0x2,%edi
-    4f20:	e9 7b b3 ff ff       	jmp    0x2a0
-    4f25:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
-    4f2c:	74 5f                	je     0x4f8d
-    4f2e:	89 14 24             	mov    %edx,(%esp)
-    4f31:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
-    4f37:	c7 44 24 04 00 01 00 	movl   $0x100,0x4(%esp)
-    4f3e:	00 
-    4f3f:	e8 fc ff ff ff       	call   0x4f40
-    4f44:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
-    4f4a:	85 c0                	test   %eax,%eax
-    4f4c:	89 c6                	mov    %eax,%esi
-    4f4e:	74 21                	je     0x4f71
-    4f50:	c7 85 40 ff ff ff 00 	movl   $0x100,-0xc0(%ebp)
-    4f57:	01 00 00 
-    4f5a:	e9 9c e2 ff ff       	jmp    0x31fb
-    4f5f:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
-    4f65:	89 d6                	mov    %edx,%esi
-    4f67:	bf 02 00 00 00       	mov    $0x2,%edi
-    4f6c:	e9 2f b3 ff ff       	jmp    0x2a0
-    4f71:	89 14 24             	mov    %edx,(%esp)
-    4f74:	83 cb ff             	or     $0xffffffff,%ebx
-    4f77:	31 ff                	xor    %edi,%edi
-    4f79:	e8 fc ff ff ff       	call   0x4f7a
-    4f7e:	c7 85 24 ff ff ff ff 	movl   $0xffffffff,-0xdc(%ebp)
-    4f85:	ff ff ff 
-    4f88:	e9 13 b3 ff ff       	jmp    0x2a0
-    4f8d:	81 ec 10 04 00 00    	sub    $0x410,%esp
-    4f93:	8d 74 24 1f          	lea    0x1f(%esp),%esi
-    4f97:	83 e6 f0             	and    $0xfffffff0,%esi
-    4f9a:	8d 86 00 04 00 00    	lea    0x400(%esi),%eax
-    4fa0:	39 c2                	cmp    %eax,%edx
-    4fa2:	0f 94 c0             	sete   %al
-    4fa5:	0f b6 c0             	movzbl %al,%eax
-    4fa8:	05 00 01 00 00       	add    $0x100,%eax
-    4fad:	89 85 40 ff ff ff    	mov    %eax,-0xc0(%ebp)
-    4fb3:	c7 44 24 08 01 00 00 	movl   $0x1,0x8(%esp)
-    4fba:	00 
-    4fbb:	89 54 24 04          	mov    %edx,0x4(%esp)
-    4fbf:	89 34 24             	mov    %esi,(%esp)
-    4fc2:	e8 fc ff ff ff       	call   0x4fc3
-    4fc7:	e9 2f e2 ff ff       	jmp    0x31fb
-    4fcc:	8b 8d 34 ff ff ff    	mov    -0xcc(%ebp),%ecx
-    4fd2:	89 0c 24             	mov    %ecx,(%esp)
-    4fd5:	e8 fc ff ff ff       	call   0x4fd6
-    4fda:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
-    4fe0:	e9 9b e4 ff ff       	jmp    0x3480
-    4fe5:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
-    4feb:	bf 02 00 00 00       	mov    $0x2,%edi
-    4ff0:	e9 ab b2 ff ff       	jmp    0x2a0
-    4ff5:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
-    4ffc:	74 5d                	je     0x505b
-    4ffe:	89 34 24             	mov    %esi,(%esp)
-    5001:	c7 44 24 04 00 01 00 	movl   $0x100,0x4(%esp)
-    5008:	00 
-    5009:	e8 fc ff ff ff       	call   0x500a
-    500e:	85 c0                	test   %eax,%eax
-    5010:	89 c6                	mov    %eax,%esi
-    5012:	74 25                	je     0x5039
-    5014:	c7 85 40 ff ff ff 00 	movl   $0x100,-0xc0(%ebp)
-    501b:	01 00 00 
-    501e:	e9 29 e4 ff ff       	jmp    0x344c
-    5023:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
-    5029:	bf 02 00 00 00       	mov    $0x2,%edi
-    502e:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
-    5034:	e9 67 b2 ff ff       	jmp    0x2a0
-    5039:	8b bd 44 ff ff ff    	mov    -0xbc(%ebp),%edi
-    503f:	83 cb ff             	or     $0xffffffff,%ebx
-    5042:	89 3c 24             	mov    %edi,(%esp)
-    5045:	31 ff                	xor    %edi,%edi
-    5047:	e8 fc ff ff ff       	call   0x5048
-    504c:	c7 85 24 ff ff ff ff 	movl   $0xffffffff,-0xdc(%ebp)
-    5053:	ff ff ff 
-    5056:	e9 45 b2 ff ff       	jmp    0x2a0
-    505b:	81 ec 10 04 00 00    	sub    $0x410,%esp
-    5061:	8d 74 24 1f          	lea    0x1f(%esp),%esi
-    5065:	83 e6 f0             	and    $0xfffffff0,%esi
-    5068:	8d 86 00 04 00 00    	lea    0x400(%esi),%eax
-    506e:	39 85 44 ff ff ff    	cmp    %eax,-0xbc(%ebp)
-    5074:	c7 44 24 08 01 00 00 	movl   $0x1,0x8(%esp)
-    507b:	00 
-    507c:	89 34 24             	mov    %esi,(%esp)
-    507f:	0f 94 c0             	sete   %al
-    5082:	0f b6 c0             	movzbl %al,%eax
-    5085:	05 00 01 00 00       	add    $0x100,%eax
-    508a:	89 85 40 ff ff ff    	mov    %eax,-0xc0(%ebp)
-    5090:	8b 85 44 ff ff ff    	mov    -0xbc(%ebp),%eax
-    5096:	89 44 24 04          	mov    %eax,0x4(%esp)
-    509a:	e8 fc ff ff ff       	call   0x509b
-    509f:	e9 a8 e3 ff ff       	jmp    0x344c
-    50a4:	c7 44 24 0c 15 00 00 	movl   $0x15,0xc(%esp)
-    50ab:	00 
-    50ac:	c7 44 24 08 40 04 00 	movl   $0x440,0x8(%esp)
-    50b3:	00 
-    50b4:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
-    50bb:	00 
-    50bc:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
-    50c3:	e8 fc ff ff ff       	call   0x50c4
-    50c8:	a1 00 00 00 00       	mov    0x0,%eax
-    50cd:	bf 04 00 00 00       	mov    $0x4,%edi
-    50d2:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
-    50d8:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
-    50de:	65 c7 00 56 00 00 00 	movl   $0x56,%gs:(%eax)
-    50e5:	e9 b6 b1 ff ff       	jmp    0x2a0
-    50ea:	8b b5 14 ff ff ff    	mov    -0xec(%ebp),%esi
-    50f0:	c1 e6 02             	shl    $0x2,%esi
-    50f3:	89 b5 40 ff ff ff    	mov    %esi,-0xc0(%ebp)
-    50f9:	83 c6 10             	add    $0x10,%esi
-    50fc:	8b 85 40 ff ff ff    	mov    -0xc0(%ebp),%eax
-    5102:	29 f4                	sub    %esi,%esp
-    5104:	8d 74 24 1f          	lea    0x1f(%esp),%esi
-    5108:	83 e6 f0             	and    $0xfffffff0,%esi
-    510b:	01 f0                	add    %esi,%eax
-    510d:	89 85 14 ff ff ff    	mov    %eax,-0xec(%ebp)
-    5113:	39 85 44 ff ff ff    	cmp    %eax,-0xbc(%ebp)
-    5119:	8b 85 40 ff ff ff    	mov    -0xc0(%ebp),%eax
-    511f:	8d 04 90             	lea    (%eax,%edx,4),%eax
-    5122:	89 85 f0 fe ff ff    	mov    %eax,-0x110(%ebp)
-    5128:	8b 85 40 ff ff ff    	mov    -0xc0(%ebp),%eax
-    512e:	0f 44 85 f0 fe ff ff 	cmove  -0x110(%ebp),%eax
-    5135:	c1 e8 02             	shr    $0x2,%eax
-    5138:	83 bd 44 ff ff ff 00 	cmpl   $0x0,-0xbc(%ebp)
-    513f:	89 85 40 ff ff ff    	mov    %eax,-0xc0(%ebp)
-    5145:	0f 84 43 bd ff ff    	je     0xe8e
-    514b:	89 54 24 08          	mov    %edx,0x8(%esp)
-    514f:	8b 95 44 ff ff ff    	mov    -0xbc(%ebp),%edx
-    5155:	89 8d cc fe ff ff    	mov    %ecx,-0x134(%ebp)
+    4ba6:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
+    4bac:	e9 bc f5 ff ff       	jmp    0x416d
+    4bb1:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
+    4bb7:	bf 02 00 00 00       	mov    $0x2,%edi
+    4bbc:	e9 df b6 ff ff       	jmp    0x2a0
+    4bc1:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
+    4bc8:	0f 84 ae 00 00 00    	je     0x4c7c
+    4bce:	c7 44 24 04 00 01 00 	movl   $0x100,0x4(%esp)
+    4bd5:	00 
+    4bd6:	89 34 24             	mov    %esi,(%esp)
+    4bd9:	e8 fc ff ff ff       	call   0x4bda
+    4bde:	85 c0                	test   %eax,%eax
+    4be0:	74 7c                	je     0x4c5e
+    4be2:	89 c6                	mov    %eax,%esi
+    4be4:	c7 85 40 ff ff ff 00 	movl   $0x100,-0xc0(%ebp)
+    4beb:	01 00 00 
+    4bee:	e9 40 f5 ff ff       	jmp    0x4133
+    4bf3:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
+    4bf9:	bf 02 00 00 00       	mov    $0x2,%edi
+    4bfe:	e9 9d b6 ff ff       	jmp    0x2a0
+    4c03:	8b 9d 34 ff ff ff    	mov    -0xcc(%ebp),%ebx
+    4c09:	89 1c 24             	mov    %ebx,(%esp)
+    4c0c:	e8 fc ff ff ff       	call   0x4c0d
+    4c11:	89 85 44 ff ff ff    	mov    %eax,-0xbc(%ebp)
+    4c17:	e9 dd f4 ff ff       	jmp    0x40f9
+    4c1c:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
+    4c22:	bf 02 00 00 00       	mov    $0x2,%edi
+    4c27:	e9 74 b6 ff ff       	jmp    0x2a0
+    4c2c:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
+    4c33:	0f 84 ad 00 00 00    	je     0x4ce6
+    4c39:	c7 44 24 04 00 01 00 	movl   $0x100,0x4(%esp)
+    4c40:	00 
+    4c41:	89 34 24             	mov    %esi,(%esp)
+    4c44:	e8 fc ff ff ff       	call   0x4c45
+    4c49:	85 c0                	test   %eax,%eax
+    4c4b:	74 7b                	je     0x4cc8
+    4c4d:	89 c6                	mov    %eax,%esi
+    4c4f:	c7 85 40 ff ff ff 00 	movl   $0x100,-0xc0(%ebp)
+    4c56:	01 00 00 
+    4c59:	e9 61 f4 ff ff       	jmp    0x40bf
+    4c5e:	89 34 24             	mov    %esi,(%esp)
+    4c61:	83 cb ff             	or     $0xffffffff,%ebx
+    4c64:	31 f6                	xor    %esi,%esi
+    4c66:	e8 fc ff ff ff       	call   0x4c67
+    4c6b:	31 ff                	xor    %edi,%edi
+    4c6d:	c7 85 24 ff ff ff ff 	movl   $0xffffffff,-0xdc(%ebp)
+    4c74:	ff ff ff 
+    4c77:	e9 24 b6 ff ff       	jmp    0x2a0
+    4c7c:	81 ec 10 04 00 00    	sub    $0x410,%esp
+    4c82:	8d 5c 24 1f          	lea    0x1f(%esp),%ebx
+    4c86:	83 e3 f0             	and    $0xfffffff0,%ebx
+    4c89:	8d 83 00 04 00 00    	lea    0x400(%ebx),%eax
+    4c8f:	39 c6                	cmp    %eax,%esi
+    4c91:	b8 00 01 00 00       	mov    $0x100,%eax
+    4c96:	c7 85 40 ff ff ff 06 	movl   $0x106,-0xc0(%ebp)
+    4c9d:	01 00 00 
+    4ca0:	0f 44 85 40 ff ff ff 	cmove  -0xc0(%ebp),%eax
+    4ca7:	89 74 24 04          	mov    %esi,0x4(%esp)
+    4cab:	89 de                	mov    %ebx,%esi
+    4cad:	c7 44 24 08 06 00 00 	movl   $0x6,0x8(%esp)
+    4cb4:	00 
+    4cb5:	89 85 40 ff ff ff    	mov    %eax,-0xc0(%ebp)
+    4cbb:	89 1c 24             	mov    %ebx,(%esp)
+    4cbe:	e8 fc ff ff ff       	call   0x4cbf
+    4cc3:	e9 6b f4 ff ff       	jmp    0x4133
+    4cc8:	89 34 24             	mov    %esi,(%esp)
+    4ccb:	83 cb ff             	or     $0xffffffff,%ebx
+    4cce:	31 f6                	xor    %esi,%esi
+    4cd0:	e8 fc ff ff ff       	call   0x4cd1
+    4cd5:	31 ff                	xor    %edi,%edi
+    4cd7:	c7 85 24 ff ff ff ff 	movl   $0xffffffff,-0xdc(%ebp)
+    4cde:	ff ff ff 
+    4ce1:	e9 ba b5 ff ff       	jmp    0x2a0
+    4ce6:	81 ec 10 04 00 00    	sub    $0x410,%esp
+    4cec:	8d 5c 24 1f          	lea    0x1f(%esp),%ebx
+    4cf0:	83 e3 f0             	and    $0xfffffff0,%ebx
+    4cf3:	8d 83 00 04 00 00    	lea    0x400(%ebx),%eax
+    4cf9:	39 c6                	cmp    %eax,%esi
+    4cfb:	0f 94 c0             	sete   %al
+    4cfe:	0f b6 c0             	movzbl %al,%eax
+    4d01:	8d 84 80 00 01 00 00 	lea    0x100(%eax,%eax,4),%eax
+    4d08:	89 74 24 04          	mov    %esi,0x4(%esp)
+    4d0c:	89 de                	mov    %ebx,%esi
+    4d0e:	89 85 40 ff ff ff    	mov    %eax,-0xc0(%ebp)
+    4d14:	c7 44 24 08 05 00 00 	movl   $0x5,0x8(%esp)
+    4d1b:	00 
+    4d1c:	89 1c 24             	mov    %ebx,(%esp)
+    4d1f:	e8 fc ff ff ff       	call   0x4d20
+    4d24:	e9 96 f3 ff ff       	jmp    0x40bf
+    4d29:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
+    4d2f:	bf 02 00 00 00       	mov    $0x2,%edi
+    4d34:	e9 67 b5 ff ff       	jmp    0x2a0
+    4d39:	8b 9d 34 ff ff ff    	mov    -0xcc(%ebp),%ebx
+    4d3f:	89 1c 24             	mov    %ebx,(%esp)
+    4d42:	e8 fc ff ff ff       	call   0x4d43
+    4d47:	89 85 44 ff ff ff    	mov    %eax,-0xbc(%ebp)
+    4d4d:	e9 33 f3 ff ff       	jmp    0x4085
+    4d52:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
+    4d58:	bf 02 00 00 00       	mov    $0x2,%edi
+    4d5d:	e9 3e b5 ff ff       	jmp    0x2a0
+    4d62:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
+    4d69:	0f 84 be 00 00 00    	je     0x4e2d
+    4d6f:	c7 44 24 04 00 01 00 	movl   $0x100,0x4(%esp)
+    4d76:	00 
+    4d77:	89 34 24             	mov    %esi,(%esp)
+    4d7a:	e8 fc ff ff ff       	call   0x4d7b
+    4d7f:	85 c0                	test   %eax,%eax
+    4d81:	0f 84 88 00 00 00    	je     0x4e0f
+    4d87:	89 c6                	mov    %eax,%esi
+    4d89:	c7 85 40 ff ff ff 00 	movl   $0x100,-0xc0(%ebp)
+    4d90:	01 00 00 
+    4d93:	e9 b3 f2 ff ff       	jmp    0x404b
+    4d98:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
+    4d9e:	bf 02 00 00 00       	mov    $0x2,%edi
+    4da3:	e9 f8 b4 ff ff       	jmp    0x2a0
+    4da8:	8b 8d 34 ff ff ff    	mov    -0xcc(%ebp),%ecx
+    4dae:	89 0c 24             	mov    %ecx,(%esp)
+    4db1:	e8 fc ff ff ff       	call   0x4db2
+    4db6:	89 85 44 ff ff ff    	mov    %eax,-0xbc(%ebp)
+    4dbc:	e9 50 f2 ff ff       	jmp    0x4011
+    4dc1:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
+    4dc7:	bf 02 00 00 00       	mov    $0x2,%edi
+    4dcc:	e9 cf b4 ff ff       	jmp    0x2a0
+    4dd1:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
+    4dd8:	0f 84 ae 00 00 00    	je     0x4e8c
+    4dde:	89 14 24             	mov    %edx,(%esp)
+    4de1:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
+    4de7:	c7 44 24 04 00 01 00 	movl   $0x100,0x4(%esp)
+    4dee:	00 
+    4def:	e8 fc ff ff ff       	call   0x4df0
+    4df4:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
+    4dfa:	85 c0                	test   %eax,%eax
+    4dfc:	89 c6                	mov    %eax,%esi
+    4dfe:	74 70                	je     0x4e70
+    4e00:	c7 85 40 ff ff ff 00 	movl   $0x100,-0xc0(%ebp)
+    4e07:	01 00 00 
+    4e0a:	e9 c8 f1 ff ff       	jmp    0x3fd7
+    4e0f:	89 34 24             	mov    %esi,(%esp)
+    4e12:	83 cb ff             	or     $0xffffffff,%ebx
+    4e15:	31 f6                	xor    %esi,%esi
+    4e17:	e8 fc ff ff ff       	call   0x4e18
+    4e1c:	31 ff                	xor    %edi,%edi
+    4e1e:	c7 85 24 ff ff ff ff 	movl   $0xffffffff,-0xdc(%ebp)
+    4e25:	ff ff ff 
+    4e28:	e9 73 b4 ff ff       	jmp    0x2a0
+    4e2d:	81 ec 10 04 00 00    	sub    $0x410,%esp
+    4e33:	8d 5c 24 1f          	lea    0x1f(%esp),%ebx
+    4e37:	83 e3 f0             	and    $0xfffffff0,%ebx
+    4e3a:	8d 83 00 04 00 00    	lea    0x400(%ebx),%eax
+    4e40:	39 c6                	cmp    %eax,%esi
+    4e42:	0f 94 c0             	sete   %al
+    4e45:	0f b6 c0             	movzbl %al,%eax
+    4e48:	8d 04 85 00 01 00 00 	lea    0x100(,%eax,4),%eax
+    4e4f:	89 74 24 04          	mov    %esi,0x4(%esp)
+    4e53:	89 de                	mov    %ebx,%esi
+    4e55:	89 85 40 ff ff ff    	mov    %eax,-0xc0(%ebp)
+    4e5b:	c7 44 24 08 04 00 00 	movl   $0x4,0x8(%esp)
+    4e62:	00 
+    4e63:	89 1c 24             	mov    %ebx,(%esp)
+    4e66:	e8 fc ff ff ff       	call   0x4e67
+    4e6b:	e9 db f1 ff ff       	jmp    0x404b
+    4e70:	89 14 24             	mov    %edx,(%esp)
+    4e73:	83 cb ff             	or     $0xffffffff,%ebx
+    4e76:	31 ff                	xor    %edi,%edi
+    4e78:	e8 fc ff ff ff       	call   0x4e79
+    4e7d:	c7 85 24 ff ff ff ff 	movl   $0xffffffff,-0xdc(%ebp)
+    4e84:	ff ff ff 
+    4e87:	e9 14 b4 ff ff       	jmp    0x2a0
+    4e8c:	81 ec 10 04 00 00    	sub    $0x410,%esp
+    4e92:	8d 74 24 1f          	lea    0x1f(%esp),%esi
+    4e96:	83 e6 f0             	and    $0xfffffff0,%esi
+    4e99:	8d 86 00 04 00 00    	lea    0x400(%esi),%eax
+    4e9f:	39 c2                	cmp    %eax,%edx
+    4ea1:	0f 94 c0             	sete   %al
+    4ea4:	0f b6 c0             	movzbl %al,%eax
+    4ea7:	8d 8c 40 00 01 00 00 	lea    0x100(%eax,%eax,2),%ecx
+    4eae:	89 8d 40 ff ff ff    	mov    %ecx,-0xc0(%ebp)
+    4eb4:	c7 44 24 08 03 00 00 	movl   $0x3,0x8(%esp)
+    4ebb:	00 
+    4ebc:	89 54 24 04          	mov    %edx,0x4(%esp)
+    4ec0:	89 34 24             	mov    %esi,(%esp)
+    4ec3:	e8 fc ff ff ff       	call   0x4ec4
+    4ec8:	e9 0a f1 ff ff       	jmp    0x3fd7
+    4ecd:	8b 9d 40 ff ff ff    	mov    -0xc0(%ebp),%ebx
+    4ed3:	b8 00 01 00 00       	mov    $0x100,%eax
+    4ed8:	01 db                	add    %ebx,%ebx
+    4eda:	81 fb 00 01 00 00    	cmp    $0x100,%ebx
+    4ee0:	0f 42 d8             	cmovb  %eax,%ebx
+    4ee3:	89 d0                	mov    %edx,%eax
+    4ee5:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
+    4eec:	75 0e                	jne    0x4efc
+    4eee:	81 fb 00 00 01 00    	cmp    $0x10000,%ebx
+    4ef4:	0f 86 2e 02 00 00    	jbe    0x5128
+    4efa:	31 c0                	xor    %eax,%eax
+    4efc:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
+    4f02:	89 5c 24 04          	mov    %ebx,0x4(%esp)
+    4f06:	89 04 24             	mov    %eax,(%esp)
+    4f09:	e8 fc ff ff ff       	call   0x4f0a
+    4f0e:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
+    4f14:	85 c0                	test   %eax,%eax
+    4f16:	89 c6                	mov    %eax,%esi
+    4f18:	74 69                	je     0x4f83
+    4f1a:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
+    4f21:	89 df                	mov    %ebx,%edi
+    4f23:	0f 85 0e dc ff ff    	jne    0x2b37
+    4f29:	8b 85 40 ff ff ff    	mov    -0xc0(%ebp),%eax
+    4f2f:	89 54 24 04          	mov    %edx,0x4(%esp)
+    4f33:	89 34 24             	mov    %esi,(%esp)
+    4f36:	89 44 24 08          	mov    %eax,0x8(%esp)
+    4f3a:	e8 fc ff ff ff       	call   0x4f3b
+    4f3f:	c6 85 0f ff ff ff 01 	movb   $0x1,-0xf1(%ebp)
+    4f46:	e9 ec db ff ff       	jmp    0x2b37
+    4f4b:	8b 8d 34 ff ff ff    	mov    -0xcc(%ebp),%ecx
+    4f51:	89 0c 24             	mov    %ecx,(%esp)
+    4f54:	e8 fc ff ff ff       	call   0x4f55
+    4f59:	89 c3                	mov    %eax,%ebx
+    4f5b:	e9 f5 c9 ff ff       	jmp    0x1955
+    4f60:	83 bd 24 ff ff ff 00 	cmpl   $0x0,-0xdc(%ebp)
+    4f67:	0f 84 19 b3 ff ff    	je     0x286
+    4f6d:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
+    4f73:	bf 01 00 00 00       	mov    $0x1,%edi
+    4f78:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
+    4f7e:	e9 1d b3 ff ff       	jmp    0x2a0
+    4f83:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
+    4f8a:	0f 84 62 f6 ff ff    	je     0x45f2
+    4f90:	89 14 24             	mov    %edx,(%esp)
+    4f93:	83 cb ff             	or     $0xffffffff,%ebx
+    4f96:	31 ff                	xor    %edi,%edi
+    4f98:	e8 fc ff ff ff       	call   0x4f99
+    4f9d:	c7 85 24 ff ff ff ff 	movl   $0xffffffff,-0xdc(%ebp)
+    4fa4:	ff ff ff 
+    4fa7:	e9 f4 b2 ff ff       	jmp    0x2a0
+    4fac:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
+    4fb3:	74 53                	je     0x5008
+    4fb5:	c7 44 24 04 00 01 00 	movl   $0x100,0x4(%esp)
+    4fbc:	00 
+    4fbd:	89 34 24             	mov    %esi,(%esp)
+    4fc0:	e8 fc ff ff ff       	call   0x4fc1
+    4fc5:	85 c0                	test   %eax,%eax
+    4fc7:	89 c2                	mov    %eax,%edx
+    4fc9:	74 1f                	je     0x4fea
+    4fcb:	c7 85 40 ff ff ff 00 	movl   $0x100,-0xc0(%ebp)
+    4fd2:	01 00 00 
+    4fd5:	e9 e9 e4 ff ff       	jmp    0x34c3
+    4fda:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
+    4fe0:	bf 02 00 00 00       	mov    $0x2,%edi
+    4fe5:	e9 b6 b2 ff ff       	jmp    0x2a0
+    4fea:	89 34 24             	mov    %esi,(%esp)
+    4fed:	83 cb ff             	or     $0xffffffff,%ebx
+    4ff0:	31 f6                	xor    %esi,%esi
+    4ff2:	e8 fc ff ff ff       	call   0x4ff3
+    4ff7:	31 ff                	xor    %edi,%edi
+    4ff9:	c7 85 24 ff ff ff ff 	movl   $0xffffffff,-0xdc(%ebp)
+    5000:	ff ff ff 
+    5003:	e9 98 b2 ff ff       	jmp    0x2a0
+    5008:	81 ec 10 04 00 00    	sub    $0x410,%esp
+    500e:	8d 54 24 1f          	lea    0x1f(%esp),%edx
+    5012:	83 e2 f0             	and    $0xfffffff0,%edx
+    5015:	8d 82 00 04 00 00    	lea    0x400(%edx),%eax
+    501b:	39 c6                	cmp    %eax,%esi
+    501d:	0f 94 c0             	sete   %al
+    5020:	0f b6 c0             	movzbl %al,%eax
+    5023:	8d 84 00 00 01 00 00 	lea    0x100(%eax,%eax,1),%eax
+    502a:	89 14 24             	mov    %edx,(%esp)
+    502d:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
+    5033:	89 85 40 ff ff ff    	mov    %eax,-0xc0(%ebp)
+    5039:	c7 44 24 08 02 00 00 	movl   $0x2,0x8(%esp)
+    5040:	00 
+    5041:	89 74 24 04          	mov    %esi,0x4(%esp)
+    5045:	e8 fc ff ff ff       	call   0x5046
+    504a:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
+    5050:	e9 6e e4 ff ff       	jmp    0x34c3
+    5055:	8b 85 34 ff ff ff    	mov    -0xcc(%ebp),%eax
+    505b:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
+    5061:	89 04 24             	mov    %eax,(%esp)
+    5064:	e8 fc ff ff ff       	call   0x5065
+    5069:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
+    506f:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
+    5075:	e9 9c e4 ff ff       	jmp    0x3516
+    507a:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
+    5081:	0f 84 ff 00 00 00    	je     0x5186
+    5087:	c7 44 24 04 00 01 00 	movl   $0x100,0x4(%esp)
+    508e:	00 
+    508f:	89 34 24             	mov    %esi,(%esp)
+    5092:	e8 fc ff ff ff       	call   0x5093
+    5097:	85 c0                	test   %eax,%eax
+    5099:	89 c2                	mov    %eax,%edx
+    509b:	0f 84 c7 00 00 00    	je     0x5168
+    50a1:	c7 85 40 ff ff ff 00 	movl   $0x100,-0xc0(%ebp)
+    50a8:	01 00 00 
+    50ab:	e9 f0 f0 ff ff       	jmp    0x41a0
+    50b0:	8b 9d 34 ff ff ff    	mov    -0xcc(%ebp),%ebx
+    50b6:	89 1c 24             	mov    %ebx,(%esp)
+    50b9:	e8 fc ff ff ff       	call   0x50ba
+    50be:	89 c3                	mov    %eax,%ebx
+    50c0:	e9 77 c2 ff ff       	jmp    0x133c
+    50c5:	f7 85 2c ff ff ff 00 	testl  $0x2000,-0xd4(%ebp)
+    50cc:	20 00 00 
+    50cf:	0f 85 4c d9 ff ff    	jne    0x2a21
+    50d5:	8b 9d 10 ff ff ff    	mov    -0xf0(%ebp),%ebx
+    50db:	8b 03                	mov    (%ebx),%eax
+    50dd:	c6 04 38 00          	movb   $0x0,(%eax,%edi,1)
+    50e1:	bf 02 00 00 00       	mov    $0x2,%edi
+    50e6:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
+    50ec:	83 85 24 ff ff ff 01 	addl   $0x1,-0xdc(%ebp)
+    50f3:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
+    50f9:	c7 85 10 ff ff ff 00 	movl   $0x0,-0xf0(%ebp)
+    5100:	00 00 00 
+    5103:	e9 98 b1 ff ff       	jmp    0x2a0
+    5108:	f7 85 2c ff ff ff 00 	testl  $0x800,-0xd4(%ebp)
+    510f:	08 00 00 
+    5112:	0f 84 05 da ff ff    	je     0x2b1d
+    5118:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
+    511e:	bf 02 00 00 00       	mov    $0x2,%edi
+    5123:	e9 78 b1 ff ff       	jmp    0x2a0
+    5128:	c1 e3 02             	shl    $0x2,%ebx
+    512b:	8b 8d 40 ff ff ff    	mov    -0xc0(%ebp),%ecx
+    5131:	8d 43 10             	lea    0x10(%ebx),%eax
+    5134:	29 c4                	sub    %eax,%esp
+    5136:	8d 74 24 1f          	lea    0x1f(%esp),%esi
+    513a:	83 e6 f0             	and    $0xfffffff0,%esi
+    513d:	8d 04 1e             	lea    (%esi,%ebx,1),%eax
+    5140:	39 c2                	cmp    %eax,%edx
+    5142:	8d 3c 8b             	lea    (%ebx,%ecx,4),%edi
+    5145:	0f 45 fb             	cmovne %ebx,%edi
+    5148:	c1 ef 02             	shr    $0x2,%edi
+    514b:	85 d2                	test   %edx,%edx
+    514d:	0f 84 e4 d9 ff ff    	je     0x2b37
+    5153:	89 4c 24 08          	mov    %ecx,0x8(%esp)
+    5157:	89 54 24 04          	mov    %edx,0x4(%esp)
     515b:	89 34 24             	mov    %esi,(%esp)
-    515e:	89 54 24 04          	mov    %edx,0x4(%esp)
-    5162:	e8 fc ff ff ff       	call   0x5163
-    5167:	8b 8d cc fe ff ff    	mov    -0x134(%ebp),%ecx
-    516d:	e9 1c bd ff ff       	jmp    0xe8e
-    5172:	8b 85 34 ff ff ff    	mov    -0xcc(%ebp),%eax
-    5178:	89 8d cc fe ff ff    	mov    %ecx,-0x134(%ebp)
-    517e:	89 04 24             	mov    %eax,(%esp)
-    5181:	e8 fc ff ff ff       	call   0x5182
-    5186:	8b 8d cc fe ff ff    	mov    -0x134(%ebp),%ecx
-    518c:	89 c3                	mov    %eax,%ebx
-    518e:	e9 43 c9 ff ff       	jmp    0x1ad6
-    5193:	8b 85 34 ff ff ff    	mov    -0xcc(%ebp),%eax
-    5199:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
-    519f:	89 04 24             	mov    %eax,(%esp)
-    51a2:	e8 fc ff ff ff       	call   0x51a3
-    51a7:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
-    51ad:	89 c3                	mov    %eax,%ebx
-    51af:	e9 3a e1 ff ff       	jmp    0x32ee
-    51b4:	8b 8d 34 ff ff ff    	mov    -0xcc(%ebp),%ecx
-    51ba:	bf 02 00 00 00       	mov    $0x2,%edi
-    51bf:	89 5c 24 04          	mov    %ebx,0x4(%esp)
-    51c3:	89 0c 24             	mov    %ecx,(%esp)
-    51c6:	e8 fc ff ff ff       	call   0x51c7
-    51cb:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
-    51d1:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
-    51d7:	e9 c4 b0 ff ff       	jmp    0x2a0
-    51dc:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
-    51e3:	74 69                	je     0x524e
-    51e5:	8b 85 44 ff ff ff    	mov    -0xbc(%ebp),%eax
-    51eb:	c7 44 24 04 00 01 00 	movl   $0x100,0x4(%esp)
-    51f2:	00 
-    51f3:	89 04 24             	mov    %eax,(%esp)
-    51f6:	e8 fc ff ff ff       	call   0x51f7
-    51fb:	85 c0                	test   %eax,%eax
-    51fd:	89 c6                	mov    %eax,%esi
-    51ff:	74 2b                	je     0x522c
-    5201:	89 b5 44 ff ff ff    	mov    %esi,-0xbc(%ebp)
-    5207:	c7 85 40 ff ff ff 00 	movl   $0x100,-0xc0(%ebp)
-    520e:	01 00 00 
-    5211:	e9 c4 e1 ff ff       	jmp    0x33da
-    5216:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
-    521c:	bf 02 00 00 00       	mov    $0x2,%edi
-    5221:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
-    5227:	e9 74 b0 ff ff       	jmp    0x2a0
-    522c:	8b 95 44 ff ff ff    	mov    -0xbc(%ebp),%edx
-    5232:	83 cb ff             	or     $0xffffffff,%ebx
-    5235:	31 ff                	xor    %edi,%edi
-    5237:	89 14 24             	mov    %edx,(%esp)
-    523a:	e8 fc ff ff ff       	call   0x523b
-    523f:	c7 85 24 ff ff ff ff 	movl   $0xffffffff,-0xdc(%ebp)
-    5246:	ff ff ff 
-    5249:	e9 52 b0 ff ff       	jmp    0x2a0
-    524e:	81 ec 10 04 00 00    	sub    $0x410,%esp
-    5254:	8d 74 24 1f          	lea    0x1f(%esp),%esi
-    5258:	83 e6 f0             	and    $0xfffffff0,%esi
-    525b:	83 bd 44 ff ff ff 00 	cmpl   $0x0,-0xbc(%ebp)
-    5262:	74 9d                	je     0x5201
-    5264:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
-    526a:	c7 44 24 08 00 00 00 	movl   $0x0,0x8(%esp)
-    5271:	00 
-    5272:	89 34 24             	mov    %esi,(%esp)
-    5275:	89 4c 24 04          	mov    %ecx,0x4(%esp)
-    5279:	e8 fc ff ff ff       	call   0x527a
-    527e:	eb 81                	jmp    0x5201
-    5280:	f7 85 2c ff ff ff 00 	testl  $0x800,-0xd4(%ebp)
-    5287:	08 00 00 
-    528a:	0f 85 b8 d7 ff ff    	jne    0x2a48
-    5290:	83 bd 44 ff ff ff 00 	cmpl   $0x0,-0xbc(%ebp)
-    5297:	0f 94 85 48 ff ff ff 	sete   -0xb8(%ebp)
-    529e:	80 bd f0 fe ff ff 00 	cmpb   $0x0,-0x110(%ebp)
-    52a5:	75 0d                	jne    0x52b4
-    52a7:	80 bd 48 ff ff ff 00 	cmpb   $0x0,-0xb8(%ebp)
-    52ae:	0f 84 b1 d7 ff ff    	je     0x2a65
-    52b4:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
-    52ba:	c7 04 24 0a 00 00 00 	movl   $0xa,(%esp)
-    52c1:	e8 fc ff ff ff       	call   0x52c2
-    52c6:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
-    52cc:	85 c0                	test   %eax,%eax
-    52ce:	89 c3                	mov    %eax,%ebx
-    52d0:	0f 84 72 d7 ff ff    	je     0x2a48
-    52d6:	83 bd 3c ff ff ff ff 	cmpl   $0xffffffff,-0xc4(%ebp)
-    52dd:	0f 84 30 14 00 00    	je     0x6713
-    52e3:	8b b5 34 ff ff ff    	mov    -0xcc(%ebp),%esi
-    52e9:	8b 46 5c             	mov    0x5c(%esi),%eax
-    52ec:	85 c0                	test   %eax,%eax
-    52ee:	0f 84 e2 01 00 00    	je     0x54d6
-    52f4:	8b 08                	mov    (%eax),%ecx
-    52f6:	3b 48 04             	cmp    0x4(%eax),%ecx
-    52f9:	0f 83 d7 01 00 00    	jae    0x54d6
-    52ff:	8b 31                	mov    (%ecx),%esi
-    5301:	83 c1 04             	add    $0x4,%ecx
-    5304:	89 08                	mov    %ecx,(%eax)
-    5306:	89 b5 3c ff ff ff    	mov    %esi,-0xc4(%ebp)
-    530c:	83 bd 3c ff ff ff ff 	cmpl   $0xffffffff,-0xc4(%ebp)
-    5313:	0f 84 aa 01 00 00    	je     0x54c3
-    5319:	83 85 38 ff ff ff 01 	addl   $0x1,-0xc8(%ebp)
-    5320:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
-    5326:	89 5c 24 04          	mov    %ebx,0x4(%esp)
-    532a:	c7 04 24 2e 00 00 00 	movl   $0x2e,(%esp)
-    5331:	e8 fc ff ff ff       	call   0x5332
-    5336:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
-    533c:	80 bd 48 ff ff ff 00 	cmpb   $0x0,-0xb8(%ebp)
-    5343:	89 85 78 ff ff ff    	mov    %eax,-0x88(%ebp)
-    5349:	75 19                	jne    0x5364
-    534b:	83 bd 44 ff ff ff 01 	cmpl   $0x1,-0xbc(%ebp)
-    5352:	0f 85 0d d7 ff ff    	jne    0x2a65
-    5358:	39 85 dc fe ff ff    	cmp    %eax,-0x124(%ebp)
-    535e:	0f 85 01 d7 ff ff    	jne    0x2a65
-    5364:	8b 85 2c ff ff ff    	mov    -0xd4(%ebp),%eax
-    536a:	be 30 00 00 00       	mov    $0x30,%esi
-    536f:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
-    5375:	89 5c 24 04          	mov    %ebx,0x4(%esp)
-    5379:	c7 04 24 30 00 00 00 	movl   $0x30,(%esp)
-    5380:	25 80 00 00 00       	and    $0x80,%eax
-    5385:	89 85 48 ff ff ff    	mov    %eax,-0xb8(%ebp)
-    538b:	e8 fc ff ff ff       	call   0x538c
-    5390:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
-    5396:	89 85 4c ff ff ff    	mov    %eax,-0xb4(%ebp)
-    539c:	83 c6 01             	add    $0x1,%esi
-    539f:	83 fe 3a             	cmp    $0x3a,%esi
-    53a2:	0f 85 04 16 00 00    	jne    0x69ac
-    53a8:	89 5c 24 04          	mov    %ebx,0x4(%esp)
-    53ac:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
-    53b2:	c7 04 24 2c 00 00 00 	movl   $0x2c,(%esp)
+    515e:	e8 fc ff ff ff       	call   0x515f
+    5163:	e9 cf d9 ff ff       	jmp    0x2b37
+    5168:	89 34 24             	mov    %esi,(%esp)
+    516b:	83 cb ff             	or     $0xffffffff,%ebx
+    516e:	31 f6                	xor    %esi,%esi
+    5170:	e8 fc ff ff ff       	call   0x5171
+    5175:	31 ff                	xor    %edi,%edi
+    5177:	c7 85 24 ff ff ff ff 	movl   $0xffffffff,-0xdc(%ebp)
+    517e:	ff ff ff 
+    5181:	e9 1a b1 ff ff       	jmp    0x2a0
+    5186:	81 ec 10 04 00 00    	sub    $0x410,%esp
+    518c:	8d 54 24 1f          	lea    0x1f(%esp),%edx
+    5190:	83 e2 f0             	and    $0xfffffff0,%edx
+    5193:	8d 82 00 04 00 00    	lea    0x400(%edx),%eax
+    5199:	c7 85 40 ff ff ff 07 	movl   $0x107,-0xc0(%ebp)
+    51a0:	01 00 00 
+    51a3:	39 c6                	cmp    %eax,%esi
+    51a5:	b8 00 01 00 00       	mov    $0x100,%eax
+    51aa:	0f 44 85 40 ff ff ff 	cmove  -0xc0(%ebp),%eax
+    51b1:	89 14 24             	mov    %edx,(%esp)
+    51b4:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
+    51ba:	89 85 40 ff ff ff    	mov    %eax,-0xc0(%ebp)
+    51c0:	c7 44 24 08 07 00 00 	movl   $0x7,0x8(%esp)
+    51c7:	00 
+    51c8:	89 74 24 04          	mov    %esi,0x4(%esp)
+    51cc:	e8 fc ff ff ff       	call   0x51cd
+    51d1:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
+    51d7:	e9 c4 ef ff ff       	jmp    0x41a0
+    51dc:	8b 8d 34 ff ff ff    	mov    -0xcc(%ebp),%ecx
+    51e2:	89 0c 24             	mov    %ecx,(%esp)
+    51e5:	e8 fc ff ff ff       	call   0x51e6
+    51ea:	89 c3                	mov    %eax,%ebx
+    51ec:	e9 fd c4 ff ff       	jmp    0x16ee
+    51f1:	8b 85 34 ff ff ff    	mov    -0xcc(%ebp),%eax
+    51f7:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
+    51fd:	89 04 24             	mov    %eax,(%esp)
+    5200:	e8 fc ff ff ff       	call   0x5201
+    5205:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
+    520b:	89 c3                	mov    %eax,%ebx
+    520d:	e9 13 c2 ff ff       	jmp    0x1425
+    5212:	8b 95 44 ff ff ff    	mov    -0xbc(%ebp),%edx
+    5218:	83 cb ff             	or     $0xffffffff,%ebx
+    521b:	31 ff                	xor    %edi,%edi
+    521d:	89 14 24             	mov    %edx,(%esp)
+    5220:	e8 fc ff ff ff       	call   0x5221
+    5225:	c7 85 24 ff ff ff ff 	movl   $0xffffffff,-0xdc(%ebp)
+    522c:	ff ff ff 
+    522f:	e9 6c b0 ff ff       	jmp    0x2a0
+    5234:	81 ec 10 04 00 00    	sub    $0x410,%esp
+    523a:	8d 74 24 1f          	lea    0x1f(%esp),%esi
+    523e:	83 e6 f0             	and    $0xfffffff0,%esi
+    5241:	83 bd 44 ff ff ff 00 	cmpl   $0x0,-0xbc(%ebp)
+    5248:	0f 84 dd f7 ff ff    	je     0x4a2b
+    524e:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
+    5254:	c7 44 24 08 00 00 00 	movl   $0x0,0x8(%esp)
+    525b:	00 
+    525c:	89 34 24             	mov    %esi,(%esp)
+    525f:	89 4c 24 04          	mov    %ecx,0x4(%esp)
+    5263:	e8 fc ff ff ff       	call   0x5264
+    5268:	e9 be f7 ff ff       	jmp    0x4a2b
+    526d:	8b 8d 34 ff ff ff    	mov    -0xcc(%ebp),%ecx
+    5273:	89 0c 24             	mov    %ecx,(%esp)
+    5276:	e8 fc ff ff ff       	call   0x5277
+    527b:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
+    5281:	e9 01 e2 ff ff       	jmp    0x3487
+    5286:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
+    528c:	bf 02 00 00 00       	mov    $0x2,%edi
+    5291:	e9 0a b0 ff ff       	jmp    0x2a0
+    5296:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
+    529d:	74 5d                	je     0x52fc
+    529f:	89 34 24             	mov    %esi,(%esp)
+    52a2:	c7 44 24 04 00 01 00 	movl   $0x100,0x4(%esp)
+    52a9:	00 
+    52aa:	e8 fc ff ff ff       	call   0x52ab
+    52af:	85 c0                	test   %eax,%eax
+    52b1:	89 c6                	mov    %eax,%esi
+    52b3:	74 25                	je     0x52da
+    52b5:	c7 85 40 ff ff ff 00 	movl   $0x100,-0xc0(%ebp)
+    52bc:	01 00 00 
+    52bf:	e9 8f e1 ff ff       	jmp    0x3453
+    52c4:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
+    52ca:	bf 02 00 00 00       	mov    $0x2,%edi
+    52cf:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
+    52d5:	e9 c6 af ff ff       	jmp    0x2a0
+    52da:	8b bd 44 ff ff ff    	mov    -0xbc(%ebp),%edi
+    52e0:	83 cb ff             	or     $0xffffffff,%ebx
+    52e3:	89 3c 24             	mov    %edi,(%esp)
+    52e6:	31 ff                	xor    %edi,%edi
+    52e8:	e8 fc ff ff ff       	call   0x52e9
+    52ed:	c7 85 24 ff ff ff ff 	movl   $0xffffffff,-0xdc(%ebp)
+    52f4:	ff ff ff 
+    52f7:	e9 a4 af ff ff       	jmp    0x2a0
+    52fc:	81 ec 10 04 00 00    	sub    $0x410,%esp
+    5302:	8d 74 24 1f          	lea    0x1f(%esp),%esi
+    5306:	83 e6 f0             	and    $0xfffffff0,%esi
+    5309:	8d 86 00 04 00 00    	lea    0x400(%esi),%eax
+    530f:	39 85 44 ff ff ff    	cmp    %eax,-0xbc(%ebp)
+    5315:	c7 44 24 08 01 00 00 	movl   $0x1,0x8(%esp)
+    531c:	00 
+    531d:	89 34 24             	mov    %esi,(%esp)
+    5320:	0f 94 c0             	sete   %al
+    5323:	0f b6 c0             	movzbl %al,%eax
+    5326:	05 00 01 00 00       	add    $0x100,%eax
+    532b:	89 85 40 ff ff ff    	mov    %eax,-0xc0(%ebp)
+    5331:	8b 85 44 ff ff ff    	mov    -0xbc(%ebp),%eax
+    5337:	89 44 24 04          	mov    %eax,0x4(%esp)
+    533b:	e8 fc ff ff ff       	call   0x533c
+    5340:	e9 0e e1 ff ff       	jmp    0x3453
+    5345:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
+    534b:	bf 02 00 00 00       	mov    $0x2,%edi
+    5350:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
+    5356:	e9 45 af ff ff       	jmp    0x2a0
+    535b:	a1 00 00 00 00       	mov    0x0,%eax
+    5360:	bf 04 00 00 00       	mov    $0x4,%edi
+    5365:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
+    536b:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
+    5371:	65 c7 00 56 00 00 00 	movl   $0x56,%gs:(%eax)
+    5378:	e9 23 af ff ff       	jmp    0x2a0
+    537d:	8b 85 34 ff ff ff    	mov    -0xcc(%ebp),%eax
+    5383:	89 8d cc fe ff ff    	mov    %ecx,-0x134(%ebp)
+    5389:	89 04 24             	mov    %eax,(%esp)
+    538c:	e8 fc ff ff ff       	call   0x538d
+    5391:	8b 8d cc fe ff ff    	mov    -0x134(%ebp),%ecx
+    5397:	89 c3                	mov    %eax,%ebx
+    5399:	e9 b8 c6 ff ff       	jmp    0x1a56
+    539e:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
+    53a5:	0f 84 47 f2 ff ff    	je     0x45f2
+    53ab:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
+    53b1:	83 cb ff             	or     $0xffffffff,%ebx
+    53b4:	31 ff                	xor    %edi,%edi
+    53b6:	89 0c 24             	mov    %ecx,(%esp)
     53b9:	e8 fc ff ff ff       	call   0x53ba
-    53be:	8b 9d 44 ff ff ff    	mov    -0xbc(%ebp),%ebx
-    53c4:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
-    53ca:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
-    53d0:	89 bd 30 ff ff ff    	mov    %edi,-0xd0(%ebp)
-    53d6:	8d 1c 9d fc ff ff ff 	lea    -0x4(,%ebx,4),%ebx
-    53dd:	89 9d 14 ff ff ff    	mov    %ebx,-0xec(%ebp)
-    53e3:	8b 9d 40 ff ff ff    	mov    -0xc0(%ebp),%ebx
-    53e9:	85 c0                	test   %eax,%eax
-    53eb:	89 d7                	mov    %edx,%edi
-    53ed:	0f 95 c1             	setne  %cl
-    53f0:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
-    53f6:	31 c0                	xor    %eax,%eax
-    53f8:	83 bd 48 ff ff ff 00 	cmpl   $0x0,-0xb8(%ebp)
-    53ff:	0f 95 c0             	setne  %al
-    5402:	83 c6 01             	add    $0x1,%esi
-    5405:	21 c8                	and    %ecx,%eax
-    5407:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
-    540d:	89 85 d8 fe ff ff    	mov    %eax,-0x128(%ebp)
-    5413:	89 b5 44 ff ff ff    	mov    %esi,-0xbc(%ebp)
-    5419:	c1 e1 02             	shl    $0x2,%ecx
-    541c:	89 8d 48 ff ff ff    	mov    %ecx,-0xb8(%ebp)
-    5422:	8b 95 44 ff ff ff    	mov    -0xbc(%ebp),%edx
-    5428:	83 ea 01             	sub    $0x1,%edx
-    542b:	80 bd e8 fe ff ff 00 	cmpb   $0x0,-0x118(%ebp)
-    5432:	0f 84 1a 15 00 00    	je     0x6952
-    5438:	8b 85 14 ff ff ff    	mov    -0xec(%ebp),%eax
-    543e:	8b 8d e0 fe ff ff    	mov    -0x120(%ebp),%ecx
-    5444:	3b 0c 07             	cmp    (%edi,%eax,1),%ecx
-    5447:	0f 84 56 01 00 00    	je     0x55a3
-    544d:	c7 85 40 ff ff ff 00 	movl   $0x0,-0xc0(%ebp)
-    5454:	00 00 00 
-    5457:	31 c0                	xor    %eax,%eax
-    5459:	8b 8c 85 4c ff ff ff 	mov    -0xb4(%ebp,%eax,4),%ecx
-    5460:	3b 8d 3c ff ff ff    	cmp    -0xc4(%ebp),%ecx
-    5466:	0f 84 8f 00 00 00    	je     0x54fb
-    546c:	83 c0 01             	add    $0x1,%eax
-    546f:	83 f8 0c             	cmp    $0xc,%eax
-    5472:	75 e5                	jne    0x5459
-    5474:	89 9d 40 ff ff ff    	mov    %ebx,-0xc0(%ebp)
-    547a:	89 d3                	mov    %edx,%ebx
-    547c:	89 fe                	mov    %edi,%esi
-    547e:	89 fa                	mov    %edi,%edx
-    5480:	89 9d 44 ff ff ff    	mov    %ebx,-0xbc(%ebp)
-    5486:	83 bd 3c ff ff ff ff 	cmpl   $0xffffffff,-0xc4(%ebp)
-    548d:	0f 84 b7 d5 ff ff    	je     0x2a4a
-    5493:	8b 8d 3c ff ff ff    	mov    -0xc4(%ebp),%ecx
-    5499:	8b 9d 34 ff ff ff    	mov    -0xcc(%ebp),%ebx
-    549f:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
-    54a5:	83 ad 38 ff ff ff 01 	subl   $0x1,-0xc8(%ebp)
-    54ac:	89 4c 24 04          	mov    %ecx,0x4(%esp)
-    54b0:	89 1c 24             	mov    %ebx,(%esp)
-    54b3:	e8 fc ff ff ff       	call   0x54b4
-    54b8:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
-    54be:	e9 87 d5 ff ff       	jmp    0x2a4a
-    54c3:	a1 00 00 00 00       	mov    0x0,%eax
-    54c8:	65 8b 00             	mov    %gs:(%eax),%eax
-    54cb:	89 85 1c ff ff ff    	mov    %eax,-0xe4(%ebp)
-    54d1:	e9 4a fe ff ff       	jmp    0x5320
-    54d6:	8b 85 34 ff ff ff    	mov    -0xcc(%ebp),%eax
-    54dc:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
-    54e2:	89 04 24             	mov    %eax,(%esp)
-    54e5:	e8 fc ff ff ff       	call   0x54e6
-    54ea:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
-    54f0:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
-    54f6:	e9 11 fe ff ff       	jmp    0x530c
-    54fb:	83 f8 09             	cmp    $0x9,%eax
-    54fe:	89 85 40 ff ff ff    	mov    %eax,-0xc0(%ebp)
-    5504:	0f 8f b5 15 00 00    	jg     0x6abf
-    550a:	39 da                	cmp    %ebx,%edx
-    550c:	0f 84 14 12 00 00    	je     0x6726
-    5512:	8b 85 40 ff ff ff    	mov    -0xc0(%ebp),%eax
-    5518:	8b 95 48 ff ff ff    	mov    -0xb8(%ebp),%edx
-    551e:	83 c0 30             	add    $0x30,%eax
-    5521:	89 04 17             	mov    %eax,(%edi,%edx,1)
-    5524:	83 bd 30 ff ff ff 00 	cmpl   $0x0,-0xd0(%ebp)
-    552b:	0f 84 14 13 00 00    	je     0x6845
-    5531:	83 bd 3c ff ff ff ff 	cmpl   $0xffffffff,-0xc4(%ebp)
-    5538:	0f 84 ea 12 00 00    	je     0x6828
-    553e:	8b 95 34 ff ff ff    	mov    -0xcc(%ebp),%edx
-    5544:	8b 42 5c             	mov    0x5c(%edx),%eax
-    5547:	85 c0                	test   %eax,%eax
-    5549:	0f 84 03 13 00 00    	je     0x6852
-    554f:	8b 10                	mov    (%eax),%edx
-    5551:	3b 50 04             	cmp    0x4(%eax),%edx
-    5554:	0f 83 f8 12 00 00    	jae    0x6852
-    555a:	8b 32                	mov    (%edx),%esi
-    555c:	83 c2 04             	add    $0x4,%edx
-    555f:	89 10                	mov    %edx,(%eax)
-    5561:	89 b5 3c ff ff ff    	mov    %esi,-0xc4(%ebp)
-    5567:	83 bd 3c ff ff ff ff 	cmpl   $0xffffffff,-0xc4(%ebp)
-    556e:	74 65                	je     0x55d5
-    5570:	31 c0                	xor    %eax,%eax
-    5572:	83 bd 30 ff ff ff 00 	cmpl   $0x0,-0xd0(%ebp)
-    5579:	0f 9f c0             	setg   %al
-    557c:	83 85 38 ff ff ff 01 	addl   $0x1,-0xc8(%ebp)
-    5583:	29 85 30 ff ff ff    	sub    %eax,-0xd0(%ebp)
-    5589:	83 85 44 ff ff ff 01 	addl   $0x1,-0xbc(%ebp)
-    5590:	83 85 48 ff ff ff 04 	addl   $0x4,-0xb8(%ebp)
-    5597:	83 85 14 ff ff ff 04 	addl   $0x4,-0xec(%ebp)
-    559e:	e9 7f fe ff ff       	jmp    0x5422
-    55a3:	83 bd 3c ff ff ff 2b 	cmpl   $0x2b,-0xc4(%ebp)
-    55aa:	74 0d                	je     0x55b9
-    55ac:	83 bd 3c ff ff ff 2d 	cmpl   $0x2d,-0xc4(%ebp)
-    55b3:	0f 85 94 fe ff ff    	jne    0x544d
-    55b9:	39 da                	cmp    %ebx,%edx
-    55bb:	0f 84 aa 12 00 00    	je     0x686b
-    55c1:	8b 85 3c ff ff ff    	mov    -0xc4(%ebp),%eax
-    55c7:	8b b5 48 ff ff ff    	mov    -0xb8(%ebp),%esi
-    55cd:	89 04 37             	mov    %eax,(%edi,%esi,1)
-    55d0:	e9 4f ff ff ff       	jmp    0x5524
-    55d5:	a1 00 00 00 00       	mov    0x0,%eax
-    55da:	89 fa                	mov    %edi,%edx
-    55dc:	89 fe                	mov    %edi,%esi
-    55de:	89 9d 40 ff ff ff    	mov    %ebx,-0xc0(%ebp)
-    55e4:	65 8b 00             	mov    %gs:(%eax),%eax
-    55e7:	89 85 1c ff ff ff    	mov    %eax,-0xe4(%ebp)
-    55ed:	e9 58 d4 ff ff       	jmp    0x2a4a
-    55f2:	89 14 24             	mov    %edx,(%esp)
-    55f5:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
-    55fb:	e8 fc ff ff ff       	call   0x55fc
-    5600:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
-    5606:	89 c3                	mov    %eax,%ebx
-    5608:	e9 9c c8 ff ff       	jmp    0x1ea9
-    560d:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
-    5613:	bf 02 00 00 00       	mov    $0x2,%edi
-    5618:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
-    561e:	e9 7d ac ff ff       	jmp    0x2a0
-    5623:	8b 8d 34 ff ff ff    	mov    -0xcc(%ebp),%ecx
-    5629:	89 0c 24             	mov    %ecx,(%esp)
-    562c:	e8 fc ff ff ff       	call   0x562d
-    5631:	89 c3                	mov    %eax,%ebx
-    5633:	e9 9d c3 ff ff       	jmp    0x19d5
-    5638:	8b 9d 34 ff ff ff    	mov    -0xcc(%ebp),%ebx
-    563e:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
-    5644:	89 1c 24             	mov    %ebx,(%esp)
-    5647:	e8 fc ff ff ff       	call   0x5648
-    564c:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
-    5652:	89 c3                	mov    %eax,%ebx
-    5654:	e9 de b7 ff ff       	jmp    0xe37
-    5659:	8b 85 34 ff ff ff    	mov    -0xcc(%ebp),%eax
-    565f:	89 8d cc fe ff ff    	mov    %ecx,-0x134(%ebp)
-    5665:	89 04 24             	mov    %eax,(%esp)
-    5668:	e8 fc ff ff ff       	call   0x5669
-    566d:	8b 8d cc fe ff ff    	mov    -0x134(%ebp),%ecx
-    5673:	89 c3                	mov    %eax,%ebx
-    5675:	e9 44 be ff ff       	jmp    0x14be
-    567a:	8d 0c 12             	lea    (%edx,%edx,1),%ecx
-    567d:	b8 00 01 00 00       	mov    $0x100,%eax
-    5682:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
-    5688:	0f 43 c1             	cmovae %ecx,%eax
-    568b:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
-    5692:	89 85 44 ff ff ff    	mov    %eax,-0xbc(%ebp)
-    5698:	89 f0                	mov    %esi,%eax
-    569a:	75 0e                	jne    0x56aa
-    569c:	81 bd 44 ff ff ff 00 	cmpl   $0x10000,-0xbc(%ebp)
-    56a3:	00 01 00 
-    56a6:	76 65                	jbe    0x570d
-    56a8:	31 c0                	xor    %eax,%eax
-    56aa:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
-    56b0:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
-    56b6:	89 04 24             	mov    %eax,(%esp)
-    56b9:	89 74 24 04          	mov    %esi,0x4(%esp)
-    56bd:	e8 fc ff ff ff       	call   0x56be
-    56c2:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
-    56c8:	85 c0                	test   %eax,%eax
-    56ca:	89 c6                	mov    %eax,%esi
-    56cc:	0f 84 b7 00 00 00    	je     0x5789
-    56d2:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
-    56d9:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
-    56df:	0f 85 0a d3 ff ff    	jne    0x29ef
-    56e5:	8b 85 14 ff ff ff    	mov    -0xec(%ebp),%eax
-    56eb:	89 54 24 08          	mov    %edx,0x8(%esp)
-    56ef:	89 34 24             	mov    %esi,(%esp)
-    56f2:	89 44 24 04          	mov    %eax,0x4(%esp)
-    56f6:	e8 fc ff ff ff       	call   0x56f7
-    56fb:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
-    5701:	c6 85 0f ff ff ff 01 	movb   $0x1,-0xf1(%ebp)
-    5708:	e9 e2 d2 ff ff       	jmp    0x29ef
-    570d:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
-    5713:	c1 e1 02             	shl    $0x2,%ecx
-    5716:	89 c8                	mov    %ecx,%eax
-    5718:	83 c0 10             	add    $0x10,%eax
-    571b:	29 c4                	sub    %eax,%esp
-    571d:	8d 44 24 1f          	lea    0x1f(%esp),%eax
-    5721:	83 e0 f0             	and    $0xfffffff0,%eax
-    5724:	89 8d 44 ff ff ff    	mov    %ecx,-0xbc(%ebp)
-    572a:	01 c1                	add    %eax,%ecx
-    572c:	39 ce                	cmp    %ecx,%esi
-    572e:	89 c6                	mov    %eax,%esi
-    5730:	89 8d 40 ff ff ff    	mov    %ecx,-0xc0(%ebp)
-    5736:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
-    573c:	8d 0c 91             	lea    (%ecx,%edx,4),%ecx
-    573f:	89 8d f0 fe ff ff    	mov    %ecx,-0x110(%ebp)
-    5745:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
-    574b:	0f 44 8d f0 fe ff ff 	cmove  -0x110(%ebp),%ecx
-    5752:	c1 e9 02             	shr    $0x2,%ecx
-    5755:	83 bd 14 ff ff ff 00 	cmpl   $0x0,-0xec(%ebp)
-    575c:	0f 84 8d d2 ff ff    	je     0x29ef
-    5762:	8b 85 14 ff ff ff    	mov    -0xec(%ebp),%eax
-    5768:	89 8d cc fe ff ff    	mov    %ecx,-0x134(%ebp)
-    576e:	89 54 24 08          	mov    %edx,0x8(%esp)
-    5772:	89 34 24             	mov    %esi,(%esp)
-    5775:	89 44 24 04          	mov    %eax,0x4(%esp)
-    5779:	e8 fc ff ff ff       	call   0x577a
-    577e:	8b 8d cc fe ff ff    	mov    -0x134(%ebp),%ecx
-    5784:	e9 66 d2 ff ff       	jmp    0x29ef
-    5789:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
-    5790:	8b 95 14 ff ff ff    	mov    -0xec(%ebp),%edx
-    5796:	0f 84 e2 ee ff ff    	je     0x467e
-    579c:	89 14 24             	mov    %edx,(%esp)
-    579f:	83 cb ff             	or     $0xffffffff,%ebx
-    57a2:	31 ff                	xor    %edi,%edi
-    57a4:	e8 fc ff ff ff       	call   0x57a5
-    57a9:	c7 85 24 ff ff ff ff 	movl   $0xffffffff,-0xdc(%ebp)
-    57b0:	ff ff ff 
-    57b3:	e9 e8 aa ff ff       	jmp    0x2a0
-    57b8:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
-    57bf:	74 7c                	je     0x583d
-    57c1:	8b 95 44 ff ff ff    	mov    -0xbc(%ebp),%edx
-    57c7:	c7 44 24 04 00 01 00 	movl   $0x100,0x4(%esp)
-    57ce:	00 
-    57cf:	89 14 24             	mov    %edx,(%esp)
-    57d2:	e8 fc ff ff ff       	call   0x57d3
-    57d7:	85 c0                	test   %eax,%eax
-    57d9:	89 c6                	mov    %eax,%esi
-    57db:	74 3e                	je     0x581b
-    57dd:	c7 85 40 ff ff ff 00 	movl   $0x100,-0xc0(%ebp)
-    57e4:	01 00 00 
-    57e7:	e9 c3 b8 ff ff       	jmp    0x10af
-    57ec:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
-    57f3:	0f 84 85 ee ff ff    	je     0x467e
-    57f9:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
-    57ff:	83 cb ff             	or     $0xffffffff,%ebx
-    5802:	31 ff                	xor    %edi,%edi
-    5804:	89 0c 24             	mov    %ecx,(%esp)
-    5807:	e8 fc ff ff ff       	call   0x5808
-    580c:	c7 85 24 ff ff ff ff 	movl   $0xffffffff,-0xdc(%ebp)
-    5813:	ff ff ff 
-    5816:	e9 85 aa ff ff       	jmp    0x2a0
-    581b:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
-    5821:	83 cb ff             	or     $0xffffffff,%ebx
-    5824:	31 ff                	xor    %edi,%edi
-    5826:	89 0c 24             	mov    %ecx,(%esp)
-    5829:	e8 fc ff ff ff       	call   0x582a
-    582e:	c7 85 24 ff ff ff ff 	movl   $0xffffffff,-0xdc(%ebp)
-    5835:	ff ff ff 
-    5838:	e9 63 aa ff ff       	jmp    0x2a0
-    583d:	81 ec 10 04 00 00    	sub    $0x410,%esp
-    5843:	8d 74 24 1f          	lea    0x1f(%esp),%esi
-    5847:	83 e6 f0             	and    $0xfffffff0,%esi
+    53be:	c7 85 24 ff ff ff ff 	movl   $0xffffffff,-0xdc(%ebp)
+    53c5:	ff ff ff 
+    53c8:	e9 d3 ae ff ff       	jmp    0x2a0
+    53cd:	8b 9d 34 ff ff ff    	mov    -0xcc(%ebp),%ebx
+    53d3:	89 1c 24             	mov    %ebx,(%esp)
+    53d6:	e8 fc ff ff ff       	call   0x53d7
+    53db:	89 c3                	mov    %eax,%ebx
+    53dd:	e9 9e b7 ff ff       	jmp    0xb80
+    53e2:	8b 9d 34 ff ff ff    	mov    -0xcc(%ebp),%ebx
+    53e8:	89 8d cc fe ff ff    	mov    %ecx,-0x134(%ebp)
+    53ee:	89 1c 24             	mov    %ebx,(%esp)
+    53f1:	e8 fc ff ff ff       	call   0x53f2
+    53f6:	8b 8d cc fe ff ff    	mov    -0x134(%ebp),%ecx
+    53fc:	89 c3                	mov    %eax,%ebx
+    53fe:	e9 34 ba ff ff       	jmp    0xe37
+    5403:	8b 85 34 ff ff ff    	mov    -0xcc(%ebp),%eax
+    5409:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
+    540f:	89 04 24             	mov    %eax,(%esp)
+    5412:	e8 fc ff ff ff       	call   0x5413
+    5417:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
+    541d:	89 c6                	mov    %eax,%esi
+    541f:	e9 67 c8 ff ff       	jmp    0x1c8b
+    5424:	83 85 00 ff ff ff 01 	addl   $0x1,-0x100(%ebp)
+    542b:	8b 85 00 ff ff ff    	mov    -0x100(%ebp),%eax
+    5431:	8b b5 10 ff ff ff    	mov    -0xf0(%ebp),%esi
+    5437:	c1 e0 02             	shl    $0x2,%eax
+    543a:	89 44 24 04          	mov    %eax,0x4(%esp)
+    543e:	8b 06                	mov    (%esi),%eax
+    5440:	89 04 24             	mov    %eax,(%esp)
+    5443:	e8 fc ff ff ff       	call   0x5444
+    5448:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
+    544e:	85 c0                	test   %eax,%eax
+    5450:	0f 84 6f 01 00 00    	je     0x55c5
+    5456:	8b 8d 10 ff ff ff    	mov    -0xf0(%ebp),%ecx
+    545c:	8d 34 10             	lea    (%eax,%edx,1),%esi
+    545f:	89 01                	mov    %eax,(%ecx)
+    5461:	e9 9f b7 ff ff       	jmp    0xc05
+    5466:	8d 0c 12             	lea    (%edx,%edx,1),%ecx
+    5469:	b8 00 01 00 00       	mov    $0x100,%eax
+    546e:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
+    5474:	0f 43 c1             	cmovae %ecx,%eax
+    5477:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
+    547e:	89 85 44 ff ff ff    	mov    %eax,-0xbc(%ebp)
+    5484:	89 f0                	mov    %esi,%eax
+    5486:	75 0e                	jne    0x5496
+    5488:	81 bd 44 ff ff ff 00 	cmpl   $0x10000,-0xbc(%ebp)
+    548f:	00 01 00 
+    5492:	76 65                	jbe    0x54f9
+    5494:	31 c0                	xor    %eax,%eax
+    5496:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
+    549c:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
+    54a2:	89 04 24             	mov    %eax,(%esp)
+    54a5:	89 74 24 04          	mov    %esi,0x4(%esp)
+    54a9:	e8 fc ff ff ff       	call   0x54aa
+    54ae:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
+    54b4:	85 c0                	test   %eax,%eax
+    54b6:	89 c6                	mov    %eax,%esi
+    54b8:	0f 84 b7 00 00 00    	je     0x5575
+    54be:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
+    54c5:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
+    54cb:	0f 85 d5 d8 ff ff    	jne    0x2da6
+    54d1:	8b 85 14 ff ff ff    	mov    -0xec(%ebp),%eax
+    54d7:	89 54 24 08          	mov    %edx,0x8(%esp)
+    54db:	89 34 24             	mov    %esi,(%esp)
+    54de:	89 44 24 04          	mov    %eax,0x4(%esp)
+    54e2:	e8 fc ff ff ff       	call   0x54e3
+    54e7:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
+    54ed:	c6 85 0f ff ff ff 01 	movb   $0x1,-0xf1(%ebp)
+    54f4:	e9 ad d8 ff ff       	jmp    0x2da6
+    54f9:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
+    54ff:	c1 e1 02             	shl    $0x2,%ecx
+    5502:	89 c8                	mov    %ecx,%eax
+    5504:	83 c0 10             	add    $0x10,%eax
+    5507:	29 c4                	sub    %eax,%esp
+    5509:	8d 44 24 1f          	lea    0x1f(%esp),%eax
+    550d:	83 e0 f0             	and    $0xfffffff0,%eax
+    5510:	89 8d 44 ff ff ff    	mov    %ecx,-0xbc(%ebp)
+    5516:	01 c1                	add    %eax,%ecx
+    5518:	39 ce                	cmp    %ecx,%esi
+    551a:	89 c6                	mov    %eax,%esi
+    551c:	89 8d 40 ff ff ff    	mov    %ecx,-0xc0(%ebp)
+    5522:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
+    5528:	8d 0c 91             	lea    (%ecx,%edx,4),%ecx
+    552b:	89 8d f0 fe ff ff    	mov    %ecx,-0x110(%ebp)
+    5531:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
+    5537:	0f 44 8d f0 fe ff ff 	cmove  -0x110(%ebp),%ecx
+    553e:	c1 e9 02             	shr    $0x2,%ecx
+    5541:	83 bd 14 ff ff ff 00 	cmpl   $0x0,-0xec(%ebp)
+    5548:	0f 84 58 d8 ff ff    	je     0x2da6
+    554e:	8b 85 14 ff ff ff    	mov    -0xec(%ebp),%eax
+    5554:	89 8d cc fe ff ff    	mov    %ecx,-0x134(%ebp)
+    555a:	89 54 24 08          	mov    %edx,0x8(%esp)
+    555e:	89 34 24             	mov    %esi,(%esp)
+    5561:	89 44 24 04          	mov    %eax,0x4(%esp)
+    5565:	e8 fc ff ff ff       	call   0x5566
+    556a:	8b 8d cc fe ff ff    	mov    -0x134(%ebp),%ecx
+    5570:	e9 31 d8 ff ff       	jmp    0x2da6
+    5575:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
+    557c:	8b 95 14 ff ff ff    	mov    -0xec(%ebp),%edx
+    5582:	0f 84 6a f0 ff ff    	je     0x45f2
+    5588:	89 14 24             	mov    %edx,(%esp)
+    558b:	83 cb ff             	or     $0xffffffff,%ebx
+    558e:	31 ff                	xor    %edi,%edi
+    5590:	e8 fc ff ff ff       	call   0x5591
+    5595:	c7 85 24 ff ff ff ff 	movl   $0xffffffff,-0xdc(%ebp)
+    559c:	ff ff ff 
+    559f:	e9 fc ac ff ff       	jmp    0x2a0
+    55a4:	8b 9d 34 ff ff ff    	mov    -0xcc(%ebp),%ebx
+    55aa:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
+    55b0:	89 1c 24             	mov    %ebx,(%esp)
+    55b3:	e8 fc ff ff ff       	call   0x55b4
+    55b8:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
+    55be:	89 c3                	mov    %eax,%ebx
+    55c0:	e9 d8 dc ff ff       	jmp    0x329d
+    55c5:	f7 85 2c ff ff ff 00 	testl  $0x2000,-0xd4(%ebp)
+    55cc:	20 00 00 
+    55cf:	0f 85 4c d4 ff ff    	jne    0x2a21
+    55d5:	8b 06                	mov    (%esi),%eax
+    55d7:	8b bd 30 ff ff ff    	mov    -0xd0(%ebp),%edi
+    55dd:	83 85 24 ff ff ff 01 	addl   $0x1,-0xdc(%ebp)
+    55e4:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
+    55ea:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
+    55f0:	c7 44 b8 fc 00 00 00 	movl   $0x0,-0x4(%eax,%edi,4)
+    55f7:	00 
+    55f8:	bf 02 00 00 00       	mov    $0x2,%edi
+    55fd:	c7 85 10 ff ff ff 00 	movl   $0x0,-0xf0(%ebp)
+    5604:	00 00 00 
+    5607:	e9 94 ac ff ff       	jmp    0x2a0
+    560c:	8b 85 34 ff ff ff    	mov    -0xcc(%ebp),%eax
+    5612:	89 04 24             	mov    %eax,(%esp)
+    5615:	e8 fc ff ff ff       	call   0x5616
+    561a:	89 c3                	mov    %eax,%ebx
+    561c:	e9 ca d8 ff ff       	jmp    0x2eeb
+    5621:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
+    5627:	bf 02 00 00 00       	mov    $0x2,%edi
+    562c:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
+    5632:	e9 69 ac ff ff       	jmp    0x2a0
+    5637:	8b 9d 34 ff ff ff    	mov    -0xcc(%ebp),%ebx
+    563d:	89 1c 24             	mov    %ebx,(%esp)
+    5640:	e8 fc ff ff ff       	call   0x5641
+    5645:	89 c3                	mov    %eax,%ebx
+    5647:	e9 83 cc ff ff       	jmp    0x22cf
+    564c:	f7 85 2c ff ff ff 00 	testl  $0x2000,-0xd4(%ebp)
+    5653:	20 00 00 
+    5656:	0f 85 c5 d3 ff ff    	jne    0x2a21
+    565c:	8b 95 10 ff ff ff    	mov    -0xf0(%ebp),%edx
+    5662:	8b 02                	mov    (%edx),%eax
+    5664:	c6 04 38 00          	movb   $0x0,(%eax,%edi,1)
+    5668:	bf 02 00 00 00       	mov    $0x2,%edi
+    566d:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
+    5673:	83 85 24 ff ff ff 01 	addl   $0x1,-0xdc(%ebp)
+    567a:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
+    5680:	c7 85 10 ff ff ff 00 	movl   $0x0,-0xf0(%ebp)
+    5687:	00 00 00 
+    568a:	e9 11 ac ff ff       	jmp    0x2a0
+    568f:	8b 85 34 ff ff ff    	mov    -0xcc(%ebp),%eax
+    5695:	89 04 24             	mov    %eax,(%esp)
+    5698:	e8 fc ff ff ff       	call   0x5699
+    569d:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
+    56a3:	e9 67 dc ff ff       	jmp    0x330f
+    56a8:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
+    56ae:	bf 02 00 00 00       	mov    $0x2,%edi
+    56b3:	e9 e8 ab ff ff       	jmp    0x2a0
+    56b8:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
+    56bf:	74 5f                	je     0x5720
+    56c1:	89 14 24             	mov    %edx,(%esp)
+    56c4:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
+    56ca:	c7 44 24 04 00 01 00 	movl   $0x100,0x4(%esp)
+    56d1:	00 
+    56d2:	e8 fc ff ff ff       	call   0x56d3
+    56d7:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
+    56dd:	85 c0                	test   %eax,%eax
+    56df:	89 c6                	mov    %eax,%esi
+    56e1:	74 21                	je     0x5704
+    56e3:	c7 85 40 ff ff ff 00 	movl   $0x100,-0xc0(%ebp)
+    56ea:	01 00 00 
+    56ed:	e9 e9 db ff ff       	jmp    0x32db
+    56f2:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
+    56f8:	89 d6                	mov    %edx,%esi
+    56fa:	bf 02 00 00 00       	mov    $0x2,%edi
+    56ff:	e9 9c ab ff ff       	jmp    0x2a0
+    5704:	89 14 24             	mov    %edx,(%esp)
+    5707:	83 cb ff             	or     $0xffffffff,%ebx
+    570a:	31 ff                	xor    %edi,%edi
+    570c:	e8 fc ff ff ff       	call   0x570d
+    5711:	c7 85 24 ff ff ff ff 	movl   $0xffffffff,-0xdc(%ebp)
+    5718:	ff ff ff 
+    571b:	e9 80 ab ff ff       	jmp    0x2a0
+    5720:	81 ec 10 04 00 00    	sub    $0x410,%esp
+    5726:	8d 74 24 1f          	lea    0x1f(%esp),%esi
+    572a:	83 e6 f0             	and    $0xfffffff0,%esi
+    572d:	8d 86 00 04 00 00    	lea    0x400(%esi),%eax
+    5733:	39 c2                	cmp    %eax,%edx
+    5735:	0f 94 c0             	sete   %al
+    5738:	0f b6 c0             	movzbl %al,%eax
+    573b:	05 00 01 00 00       	add    $0x100,%eax
+    5740:	89 85 40 ff ff ff    	mov    %eax,-0xc0(%ebp)
+    5746:	c7 44 24 08 01 00 00 	movl   $0x1,0x8(%esp)
+    574d:	00 
+    574e:	89 54 24 04          	mov    %edx,0x4(%esp)
+    5752:	89 34 24             	mov    %esi,(%esp)
+    5755:	e8 fc ff ff ff       	call   0x5756
+    575a:	e9 7c db ff ff       	jmp    0x32db
+    575f:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
+    5765:	bf 02 00 00 00       	mov    $0x2,%edi
+    576a:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
+    5770:	e9 2b ab ff ff       	jmp    0x2a0
+    5775:	8d 0c 12             	lea    (%edx,%edx,1),%ecx
+    5778:	b8 00 01 00 00       	mov    $0x100,%eax
+    577d:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
+    5783:	0f 43 c1             	cmovae %ecx,%eax
+    5786:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
+    578d:	89 85 44 ff ff ff    	mov    %eax,-0xbc(%ebp)
+    5793:	89 f0                	mov    %esi,%eax
+    5795:	75 12                	jne    0x57a9
+    5797:	81 bd 44 ff ff ff 00 	cmpl   $0x10000,-0xbc(%ebp)
+    579e:	00 01 00 
+    57a1:	0f 86 e6 ef ff ff    	jbe    0x478d
+    57a7:	31 c0                	xor    %eax,%eax
+    57a9:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
+    57af:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
+    57b5:	89 04 24             	mov    %eax,(%esp)
+    57b8:	89 74 24 04          	mov    %esi,0x4(%esp)
+    57bc:	e8 fc ff ff ff       	call   0x57bd
+    57c1:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
+    57c7:	85 c0                	test   %eax,%eax
+    57c9:	89 c6                	mov    %eax,%esi
+    57cb:	0f 85 c1 d4 ff ff    	jne    0x2c92
+    57d1:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
+    57d8:	8b 95 14 ff ff ff    	mov    -0xec(%ebp),%edx
+    57de:	0f 84 0e ee ff ff    	je     0x45f2
+    57e4:	89 14 24             	mov    %edx,(%esp)
+    57e7:	83 cb ff             	or     $0xffffffff,%ebx
+    57ea:	31 ff                	xor    %edi,%edi
+    57ec:	e8 fc ff ff ff       	call   0x57ed
+    57f1:	c7 85 24 ff ff ff ff 	movl   $0xffffffff,-0xdc(%ebp)
+    57f8:	ff ff ff 
+    57fb:	e9 a0 aa ff ff       	jmp    0x2a0
+    5800:	8b 85 34 ff ff ff    	mov    -0xcc(%ebp),%eax
+    5806:	89 04 24             	mov    %eax,(%esp)
+    5809:	e8 fc ff ff ff       	call   0x580a
+    580e:	89 c3                	mov    %eax,%ebx
+    5810:	e9 8f bb ff ff       	jmp    0x13a4
+    5815:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
+    581b:	66 bf 02 00          	mov    $0x2,%di
+    581f:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
+    5825:	e9 76 aa ff ff       	jmp    0x2a0
+    582a:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
+    5830:	bf 02 00 00 00       	mov    $0x2,%edi
+    5835:	e9 66 aa ff ff       	jmp    0x2a0
+    583a:	f7 85 2c ff ff ff 00 	testl  $0x800,-0xd4(%ebp)
+    5841:	08 00 00 
+    5844:	0f 85 b6 d2 ff ff    	jne    0x2b00
     584a:	83 bd 44 ff ff ff 00 	cmpl   $0x0,-0xbc(%ebp)
-    5851:	74 8a                	je     0x57dd
-    5853:	8b bd 44 ff ff ff    	mov    -0xbc(%ebp),%edi
-    5859:	c7 44 24 08 00 00 00 	movl   $0x0,0x8(%esp)
-    5860:	00 
-    5861:	89 34 24             	mov    %esi,(%esp)
-    5864:	89 7c 24 04          	mov    %edi,0x4(%esp)
-    5868:	e8 fc ff ff ff       	call   0x5869
-    586d:	c7 85 40 ff ff ff 00 	movl   $0x100,-0xc0(%ebp)
-    5874:	01 00 00 
-    5877:	e9 33 b8 ff ff       	jmp    0x10af
-    587c:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
-    5883:	74 53                	je     0x58d8
-    5885:	c7 44 24 04 00 01 00 	movl   $0x100,0x4(%esp)
-    588c:	00 
-    588d:	89 34 24             	mov    %esi,(%esp)
-    5890:	e8 fc ff ff ff       	call   0x5891
-    5895:	85 c0                	test   %eax,%eax
-    5897:	89 c2                	mov    %eax,%edx
-    5899:	74 1f                	je     0x58ba
-    589b:	c7 85 40 ff ff ff 00 	movl   $0x100,-0xc0(%ebp)
-    58a2:	01 00 00 
-    58a5:	e9 b8 d9 ff ff       	jmp    0x3262
-    58aa:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
-    58b0:	bf 02 00 00 00       	mov    $0x2,%edi
-    58b5:	e9 e6 a9 ff ff       	jmp    0x2a0
-    58ba:	89 34 24             	mov    %esi,(%esp)
-    58bd:	83 cb ff             	or     $0xffffffff,%ebx
-    58c0:	31 f6                	xor    %esi,%esi
-    58c2:	e8 fc ff ff ff       	call   0x58c3
-    58c7:	31 ff                	xor    %edi,%edi
-    58c9:	c7 85 24 ff ff ff ff 	movl   $0xffffffff,-0xdc(%ebp)
-    58d0:	ff ff ff 
-    58d3:	e9 c8 a9 ff ff       	jmp    0x2a0
-    58d8:	81 ec 10 04 00 00    	sub    $0x410,%esp
-    58de:	8d 54 24 1f          	lea    0x1f(%esp),%edx
-    58e2:	83 e2 f0             	and    $0xfffffff0,%edx
-    58e5:	8d 82 00 04 00 00    	lea    0x400(%edx),%eax
-    58eb:	39 c6                	cmp    %eax,%esi
-    58ed:	0f 94 c0             	sete   %al
-    58f0:	0f b6 c0             	movzbl %al,%eax
-    58f3:	8d 9c 00 00 01 00 00 	lea    0x100(%eax,%eax,1),%ebx
-    58fa:	89 14 24             	mov    %edx,(%esp)
-    58fd:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
-    5903:	89 9d 40 ff ff ff    	mov    %ebx,-0xc0(%ebp)
-    5909:	c7 44 24 08 02 00 00 	movl   $0x2,0x8(%esp)
-    5910:	00 
-    5911:	89 74 24 04          	mov    %esi,0x4(%esp)
-    5915:	e8 fc ff ff ff       	call   0x5916
-    591a:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
-    5920:	e9 3d d9 ff ff       	jmp    0x3262
-    5925:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
-    592b:	66 bf 02 00          	mov    $0x2,%di
-    592f:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
-    5935:	e9 66 a9 ff ff       	jmp    0x2a0
-    593a:	8b 85 34 ff ff ff    	mov    -0xcc(%ebp),%eax
-    5940:	89 04 24             	mov    %eax,(%esp)
-    5943:	e8 fc ff ff ff       	call   0x5944
-    5948:	89 c3                	mov    %eax,%ebx
-    594a:	e9 e4 d4 ff ff       	jmp    0x2e33
-    594f:	8b 85 44 ff ff ff    	mov    -0xbc(%ebp),%eax
-    5955:	01 c0                	add    %eax,%eax
-    5957:	89 85 f0 fe ff ff    	mov    %eax,-0x110(%ebp)
-    595d:	3d 00 01 00 00       	cmp    $0x100,%eax
-    5962:	b8 00 01 00 00       	mov    $0x100,%eax
-    5967:	0f 43 85 f0 fe ff ff 	cmovae -0x110(%ebp),%eax
-    596e:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
-    5975:	89 85 f0 fe ff ff    	mov    %eax,-0x110(%ebp)
-    597b:	89 f0                	mov    %esi,%eax
-    597d:	75 12                	jne    0x5991
-    597f:	81 bd f0 fe ff ff 00 	cmpl   $0x10000,-0x110(%ebp)
-    5986:	00 01 00 
-    5989:	0f 86 89 00 00 00    	jbe    0x5a18
-    598f:	31 c0                	xor    %eax,%eax
-    5991:	8b 95 f0 fe ff ff    	mov    -0x110(%ebp),%edx
-    5997:	89 04 24             	mov    %eax,(%esp)
-    599a:	89 54 24 04          	mov    %edx,0x4(%esp)
-    599e:	e8 fc ff ff ff       	call   0x599f
+    5851:	0f 94 85 48 ff ff ff 	sete   -0xb8(%ebp)
+    5858:	80 bd f0 fe ff ff 00 	cmpb   $0x0,-0x110(%ebp)
+    585f:	75 0d                	jne    0x586e
+    5861:	80 bd 48 ff ff ff 00 	cmpb   $0x0,-0xb8(%ebp)
+    5868:	0f 84 af d2 ff ff    	je     0x2b1d
+    586e:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
+    5874:	c7 04 24 0a 00 00 00 	movl   $0xa,(%esp)
+    587b:	e8 fc ff ff ff       	call   0x587c
+    5880:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
+    5886:	85 c0                	test   %eax,%eax
+    5888:	89 c3                	mov    %eax,%ebx
+    588a:	0f 84 70 d2 ff ff    	je     0x2b00
+    5890:	83 bd 3c ff ff ff ff 	cmpl   $0xffffffff,-0xc4(%ebp)
+    5897:	0f 84 b8 04 00 00    	je     0x5d55
+    589d:	8b b5 34 ff ff ff    	mov    -0xcc(%ebp),%esi
+    58a3:	8b 46 5c             	mov    0x5c(%esi),%eax
+    58a6:	85 c0                	test   %eax,%eax
+    58a8:	0f 84 82 04 00 00    	je     0x5d30
+    58ae:	8b 08                	mov    (%eax),%ecx
+    58b0:	3b 48 04             	cmp    0x4(%eax),%ecx
+    58b3:	0f 83 77 04 00 00    	jae    0x5d30
+    58b9:	8b 31                	mov    (%ecx),%esi
+    58bb:	83 c1 04             	add    $0x4,%ecx
+    58be:	89 08                	mov    %ecx,(%eax)
+    58c0:	89 b5 3c ff ff ff    	mov    %esi,-0xc4(%ebp)
+    58c6:	83 bd 3c ff ff ff ff 	cmpl   $0xffffffff,-0xc4(%ebp)
+    58cd:	0f 84 a6 01 00 00    	je     0x5a79
+    58d3:	83 85 38 ff ff ff 01 	addl   $0x1,-0xc8(%ebp)
+    58da:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
+    58e0:	89 5c 24 04          	mov    %ebx,0x4(%esp)
+    58e4:	c7 04 24 2e 00 00 00 	movl   $0x2e,(%esp)
+    58eb:	e8 fc ff ff ff       	call   0x58ec
+    58f0:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
+    58f6:	80 bd 48 ff ff ff 00 	cmpb   $0x0,-0xb8(%ebp)
+    58fd:	89 85 78 ff ff ff    	mov    %eax,-0x88(%ebp)
+    5903:	75 19                	jne    0x591e
+    5905:	83 bd 44 ff ff ff 01 	cmpl   $0x1,-0xbc(%ebp)
+    590c:	0f 85 0b d2 ff ff    	jne    0x2b1d
+    5912:	39 85 dc fe ff ff    	cmp    %eax,-0x124(%ebp)
+    5918:	0f 85 ff d1 ff ff    	jne    0x2b1d
+    591e:	8b 85 2c ff ff ff    	mov    -0xd4(%ebp),%eax
+    5924:	be 30 00 00 00       	mov    $0x30,%esi
+    5929:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
+    592f:	89 5c 24 04          	mov    %ebx,0x4(%esp)
+    5933:	c7 04 24 30 00 00 00 	movl   $0x30,(%esp)
+    593a:	25 80 00 00 00       	and    $0x80,%eax
+    593f:	89 85 48 ff ff ff    	mov    %eax,-0xb8(%ebp)
+    5945:	e8 fc ff ff ff       	call   0x5946
+    594a:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
+    5950:	89 85 4c ff ff ff    	mov    %eax,-0xb4(%ebp)
+    5956:	83 c6 01             	add    $0x1,%esi
+    5959:	83 fe 3a             	cmp    $0x3a,%esi
+    595c:	0f 85 f7 04 00 00    	jne    0x5e59
+    5962:	89 5c 24 04          	mov    %ebx,0x4(%esp)
+    5966:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
+    596c:	c7 04 24 2c 00 00 00 	movl   $0x2c,(%esp)
+    5973:	e8 fc ff ff ff       	call   0x5974
+    5978:	8b 9d 44 ff ff ff    	mov    -0xbc(%ebp),%ebx
+    597e:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
+    5984:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
+    598a:	89 bd 30 ff ff ff    	mov    %edi,-0xd0(%ebp)
+    5990:	8d 1c 9d fc ff ff ff 	lea    -0x4(,%ebx,4),%ebx
+    5997:	89 9d 14 ff ff ff    	mov    %ebx,-0xec(%ebp)
+    599d:	8b 9d 40 ff ff ff    	mov    -0xc0(%ebp),%ebx
     59a3:	85 c0                	test   %eax,%eax
-    59a5:	89 c6                	mov    %eax,%esi
-    59a7:	0f 84 fc 00 00 00    	je     0x5aa9
-    59ad:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
-    59b4:	8b 8d f0 fe ff ff    	mov    -0x110(%ebp),%ecx
-    59ba:	0f 85 9c d2 ff ff    	jne    0x2c5c
-    59c0:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
-    59c6:	8b 85 14 ff ff ff    	mov    -0xec(%ebp),%eax
-    59cc:	89 34 24             	mov    %esi,(%esp)
-    59cf:	89 4c 24 08          	mov    %ecx,0x8(%esp)
-    59d3:	89 44 24 04          	mov    %eax,0x4(%esp)
-    59d7:	e8 fc ff ff ff       	call   0x59d8
-    59dc:	8b 8d f0 fe ff ff    	mov    -0x110(%ebp),%ecx
-    59e2:	c6 85 0f ff ff ff 01 	movb   $0x1,-0xf1(%ebp)
-    59e9:	e9 6e d2 ff ff       	jmp    0x2c5c
-    59ee:	8b 85 34 ff ff ff    	mov    -0xcc(%ebp),%eax
-    59f4:	89 04 24             	mov    %eax,(%esp)
-    59f7:	e8 fc ff ff ff       	call   0x59f8
-    59fc:	89 c3                	mov    %eax,%ebx
-    59fe:	e9 a1 b9 ff ff       	jmp    0x13a4
-    5a03:	8b 9d 34 ff ff ff    	mov    -0xcc(%ebp),%ebx
-    5a09:	89 1c 24             	mov    %ebx,(%esp)
-    5a0c:	e8 fc ff ff ff       	call   0x5a0d
-    5a11:	89 c3                	mov    %eax,%ebx
-    5a13:	e9 4f bc ff ff       	jmp    0x1667
-    5a18:	8b 8d f0 fe ff ff    	mov    -0x110(%ebp),%ecx
-    5a1e:	c1 e1 02             	shl    $0x2,%ecx
-    5a21:	89 c8                	mov    %ecx,%eax
-    5a23:	83 c0 10             	add    $0x10,%eax
-    5a26:	29 c4                	sub    %eax,%esp
-    5a28:	8d 44 24 1f          	lea    0x1f(%esp),%eax
-    5a2c:	83 e0 f0             	and    $0xfffffff0,%eax
-    5a2f:	89 8d 44 ff ff ff    	mov    %ecx,-0xbc(%ebp)
-    5a35:	01 c1                	add    %eax,%ecx
-    5a37:	39 ce                	cmp    %ecx,%esi
-    5a39:	89 c6                	mov    %eax,%esi
-    5a3b:	89 8d f0 fe ff ff    	mov    %ecx,-0x110(%ebp)
-    5a41:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
-    5a47:	8d 0c 91             	lea    (%ecx,%edx,4),%ecx
-    5a4a:	89 8d e8 fe ff ff    	mov    %ecx,-0x118(%ebp)
-    5a50:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
-    5a56:	0f 44 8d e8 fe ff ff 	cmove  -0x118(%ebp),%ecx
-    5a5d:	c1 e9 02             	shr    $0x2,%ecx
-    5a60:	83 bd 14 ff ff ff 00 	cmpl   $0x0,-0xec(%ebp)
-    5a67:	0f 84 ef d1 ff ff    	je     0x2c5c
-    5a6d:	8b 85 14 ff ff ff    	mov    -0xec(%ebp),%eax
-    5a73:	89 8d cc fe ff ff    	mov    %ecx,-0x134(%ebp)
-    5a79:	89 54 24 08          	mov    %edx,0x8(%esp)
-    5a7d:	89 34 24             	mov    %esi,(%esp)
-    5a80:	89 44 24 04          	mov    %eax,0x4(%esp)
-    5a84:	e8 fc ff ff ff       	call   0x5a85
-    5a89:	8b 8d cc fe ff ff    	mov    -0x134(%ebp),%ecx
-    5a8f:	e9 c8 d1 ff ff       	jmp    0x2c5c
-    5a94:	8b 9d 34 ff ff ff    	mov    -0xcc(%ebp),%ebx
-    5a9a:	89 1c 24             	mov    %ebx,(%esp)
-    5a9d:	e8 fc ff ff ff       	call   0x5a9e
-    5aa2:	89 c3                	mov    %eax,%ebx
-    5aa4:	e9 d7 b0 ff ff       	jmp    0xb80
-    5aa9:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
-    5ab0:	8b 95 14 ff ff ff    	mov    -0xec(%ebp),%edx
-    5ab6:	0f 84 c2 eb ff ff    	je     0x467e
-    5abc:	89 14 24             	mov    %edx,(%esp)
-    5abf:	83 cb ff             	or     $0xffffffff,%ebx
-    5ac2:	31 ff                	xor    %edi,%edi
-    5ac4:	e8 fc ff ff ff       	call   0x5ac5
-    5ac9:	c7 85 24 ff ff ff ff 	movl   $0xffffffff,-0xdc(%ebp)
-    5ad0:	ff ff ff 
-    5ad3:	e9 c8 a7 ff ff       	jmp    0x2a0
-    5ad8:	8b 85 34 ff ff ff    	mov    -0xcc(%ebp),%eax
-    5ade:	89 04 24             	mov    %eax,(%esp)
-    5ae1:	e8 fc ff ff ff       	call   0x5ae2
-    5ae6:	89 c3                	mov    %eax,%ebx
-    5ae8:	e9 9c b5 ff ff       	jmp    0x1089
-    5aed:	8b 9d 34 ff ff ff    	mov    -0xcc(%ebp),%ebx
-    5af3:	89 1c 24             	mov    %ebx,(%esp)
-    5af6:	e8 fc ff ff ff       	call   0x5af7
-    5afb:	89 c6                	mov    %eax,%esi
-    5afd:	e9 38 b5 ff ff       	jmp    0x103a
-    5b02:	8b 85 34 ff ff ff    	mov    -0xcc(%ebp),%eax
-    5b08:	89 04 24             	mov    %eax,(%esp)
-    5b0b:	e8 fc ff ff ff       	call   0x5b0c
-    5b10:	89 c3                	mov    %eax,%ebx
-    5b12:	e9 d4 b4 ff ff       	jmp    0xfeb
-    5b17:	8b 9d 34 ff ff ff    	mov    -0xcc(%ebp),%ebx
-    5b1d:	89 1c 24             	mov    %ebx,(%esp)
-    5b20:	e8 fc ff ff ff       	call   0x5b21
-    5b25:	89 c3                	mov    %eax,%ebx
-    5b27:	e9 f8 ab ff ff       	jmp    0x724
-    5b2c:	c7 04 24 0a 00 00 00 	movl   $0xa,(%esp)
-    5b33:	e8 fc ff ff ff       	call   0x5b34
-    5b38:	8b 0d 00 00 00 00    	mov    0x0,%ecx
-    5b3e:	89 85 f0 fe ff ff    	mov    %eax,-0x110(%ebp)
-    5b44:	65 8b 01             	mov    %gs:(%ecx),%eax
-    5b47:	83 bd f0 fe ff ff 00 	cmpl   $0x0,-0x110(%ebp)
-    5b4e:	8b 08                	mov    (%eax),%ecx
-    5b50:	8b 91 a0 00 00 00    	mov    0xa0(%ecx),%edx
-    5b56:	8d 72 ff             	lea    -0x1(%edx),%esi
-    5b59:	89 b5 3c ff ff ff    	mov    %esi,-0xc4(%ebp)
-    5b5f:	0f 85 df 01 00 00    	jne    0x5d44
-    5b65:	8b b5 48 ff ff ff    	mov    -0xb8(%ebp),%esi
-    5b6b:	0f b6 85 2c ff ff ff 	movzbl -0xd4(%ebp),%eax
-    5b72:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
-    5b78:	c7 85 30 ff ff ff 00 	movl   $0x0,-0xd0(%ebp)
-    5b7f:	00 00 00 
-    5b82:	c1 e6 02             	shl    $0x2,%esi
-    5b85:	83 e0 80             	and    $0xffffff80,%eax
-    5b88:	89 b5 14 ff ff ff    	mov    %esi,-0xec(%ebp)
-    5b8e:	88 85 e0 fe ff ff    	mov    %al,-0x120(%ebp)
-    5b94:	85 ff                	test   %edi,%edi
-    5b96:	0f 84 67 01 00 00    	je     0x5d03
-    5b9c:	83 fb ff             	cmp    $0xffffffff,%ebx
-    5b9f:	0f 84 5e 01 00 00    	je     0x5d03
-    5ba5:	8b b5 30 ff ff ff    	mov    -0xd0(%ebp),%esi
-    5bab:	a1 00 00 00 00       	mov    0x0,%eax
-    5bb0:	89 8d d8 fe ff ff    	mov    %ecx,-0x128(%ebp)
-    5bb6:	c1 e6 02             	shl    $0x2,%esi
-    5bb9:	89 b5 44 ff ff ff    	mov    %esi,-0xbc(%ebp)
-    5bbf:	65 8b 30             	mov    %gs:(%eax),%esi
-    5bc2:	31 c0                	xor    %eax,%eax
-    5bc4:	eb 40                	jmp    0x5c06
-    5bc6:	8b 0e                	mov    (%esi),%ecx
-    5bc8:	8d 50 1f             	lea    0x1f(%eax),%edx
-    5bcb:	81 e2 ff ff 00 00    	and    $0xffff,%edx
-    5bd1:	8b 4c 91 28          	mov    0x28(%ecx,%edx,4),%ecx
-    5bd5:	89 8d e8 fe ff ff    	mov    %ecx,-0x118(%ebp)
-    5bdb:	89 4c 85 a4          	mov    %ecx,-0x5c(%ebp,%eax,4)
-    5bdf:	8b 95 e8 fe ff ff    	mov    -0x118(%ebp),%edx
-    5be5:	03 95 44 ff ff ff    	add    -0xbc(%ebp),%edx
-    5beb:	39 1a                	cmp    %ebx,(%edx)
-    5bed:	89 54 85 a4          	mov    %edx,-0x5c(%ebp,%eax,4)
-    5bf1:	0f 84 21 01 00 00    	je     0x5d18
-    5bf7:	83 c2 04             	add    $0x4,%edx
-    5bfa:	89 54 85 a4          	mov    %edx,-0x5c(%ebp,%eax,4)
-    5bfe:	83 c0 01             	add    $0x1,%eax
-    5c01:	83 f8 0a             	cmp    $0xa,%eax
-    5c04:	74 1c                	je     0x5c22
-    5c06:	83 bd f0 fe ff ff 00 	cmpl   $0x0,-0x110(%ebp)
-    5c0d:	74 b7                	je     0x5bc6
-    5c0f:	8b 94 85 7c ff ff ff 	mov    -0x84(%ebp,%eax,4),%edx
-    5c16:	89 95 e8 fe ff ff    	mov    %edx,-0x118(%ebp)
-    5c1c:	89 54 85 a4          	mov    %edx,-0x5c(%ebp,%eax,4)
-    5c20:	eb bd                	jmp    0x5bdf
-    5c22:	8b 95 30 ff ff ff    	mov    -0xd0(%ebp),%edx
-    5c28:	8b 8d d8 fe ff ff    	mov    -0x128(%ebp),%ecx
-    5c2e:	83 c2 01             	add    $0x1,%edx
-    5c31:	39 95 3c ff ff ff    	cmp    %edx,-0xc4(%ebp)
-    5c37:	0f 8c b1 00 00 00    	jl     0x5cee
-    5c3d:	31 c0                	xor    %eax,%eax
-    5c3f:	eb 13                	jmp    0x5c54
-    5c41:	83 c6 04             	add    $0x4,%esi
-    5c44:	89 74 85 a4          	mov    %esi,-0x5c(%ebp,%eax,4)
-    5c48:	83 c0 01             	add    $0x1,%eax
-    5c4b:	83 f8 0a             	cmp    $0xa,%eax
-    5c4e:	0f 84 86 00 00 00    	je     0x5cda
-    5c54:	8b 74 85 a4          	mov    -0x5c(%ebp,%eax,4),%esi
-    5c58:	39 1e                	cmp    %ebx,(%esi)
-    5c5a:	75 e5                	jne    0x5c41
-    5c5c:	89 95 3c ff ff ff    	mov    %edx,-0xc4(%ebp)
-    5c62:	89 95 30 ff ff ff    	mov    %edx,-0xd0(%ebp)
-    5c68:	8d 58 30             	lea    0x30(%eax),%ebx
-    5c6b:	8b 85 48 ff ff ff    	mov    -0xb8(%ebp),%eax
-    5c71:	39 85 40 ff ff ff    	cmp    %eax,-0xc0(%ebp)
-    5c77:	0f 84 c5 01 00 00    	je     0x5e42
-    5c7d:	8b 95 14 ff ff ff    	mov    -0xec(%ebp),%edx
-    5c83:	31 c0                	xor    %eax,%eax
-    5c85:	85 ff                	test   %edi,%edi
-    5c87:	0f 9f c0             	setg   %al
-    5c8a:	29 c7                	sub    %eax,%edi
-    5c8c:	83 fb ff             	cmp    $0xffffffff,%ebx
-    5c8f:	89 1c 11             	mov    %ebx,(%ecx,%edx,1)
-    5c92:	0f 84 97 01 00 00    	je     0x5e2f
-    5c98:	8b 95 34 ff ff ff    	mov    -0xcc(%ebp),%edx
-    5c9e:	8b 42 5c             	mov    0x5c(%edx),%eax
-    5ca1:	85 c0                	test   %eax,%eax
-    5ca3:	0f 84 c5 02 00 00    	je     0x5f6e
-    5ca9:	8b 10                	mov    (%eax),%edx
-    5cab:	3b 50 04             	cmp    0x4(%eax),%edx
-    5cae:	0f 83 ba 02 00 00    	jae    0x5f6e
-    5cb4:	8b 1a                	mov    (%edx),%ebx
-    5cb6:	83 c2 04             	add    $0x4,%edx
-    5cb9:	89 10                	mov    %edx,(%eax)
-    5cbb:	83 fb ff             	cmp    $0xffffffff,%ebx
-    5cbe:	74 74                	je     0x5d34
-    5cc0:	83 85 38 ff ff ff 01 	addl   $0x1,-0xc8(%ebp)
-    5cc7:	83 85 48 ff ff ff 01 	addl   $0x1,-0xb8(%ebp)
-    5cce:	83 85 14 ff ff ff 04 	addl   $0x4,-0xec(%ebp)
-    5cd5:	e9 ba fe ff ff       	jmp    0x5b94
-    5cda:	83 c2 01             	add    $0x1,%edx
-    5cdd:	e9 4f ff ff ff       	jmp    0x5c31
-    5ce2:	8b b5 30 ff ff ff    	mov    -0xd0(%ebp),%esi
-    5ce8:	89 b5 3c ff ff ff    	mov    %esi,-0xc4(%ebp)
-    5cee:	80 bd e0 fe ff ff 00 	cmpb   $0x0,-0x120(%ebp)
-    5cf5:	74 0c                	je     0x5d03
-    5cf7:	3b 9d 18 ff ff ff    	cmp    -0xe8(%ebp),%ebx
-    5cfd:	0f 84 68 ff ff ff    	je     0x5c6b
-    5d03:	89 8d 44 ff ff ff    	mov    %ecx,-0xbc(%ebp)
-    5d09:	c7 85 3c ff ff ff 0a 	movl   $0xa,-0xc4(%ebp)
-    5d10:	00 00 00 
-    5d13:	e9 bc ab ff ff       	jmp    0x8d4
-    5d18:	83 f8 09             	cmp    $0x9,%eax
-    5d1b:	8b 8d d8 fe ff ff    	mov    -0x128(%ebp),%ecx
-    5d21:	7f bf                	jg     0x5ce2
-    5d23:	8b 9d 30 ff ff ff    	mov    -0xd0(%ebp),%ebx
-    5d29:	89 9d 3c ff ff ff    	mov    %ebx,-0xc4(%ebp)
-    5d2f:	e9 34 ff ff ff       	jmp    0x5c68
-    5d34:	a1 00 00 00 00       	mov    0x0,%eax
-    5d39:	65 8b 00             	mov    %gs:(%eax),%eax
-    5d3c:	89 85 1c ff ff ff    	mov    %eax,-0xe4(%ebp)
-    5d42:	eb 83                	jmp    0x5cc7
-    5d44:	8d 04 95 00 00 00 00 	lea    0x0(,%edx,4),%eax
-    5d4b:	8d 34 95 04 00 00 00 	lea    0x4(,%edx,4),%esi
-    5d52:	89 85 14 ff ff ff    	mov    %eax,-0xec(%ebp)
-    5d58:	8d 04 95 18 00 00 00 	lea    0x18(,%edx,4),%eax
-    5d5f:	89 b5 30 ff ff ff    	mov    %esi,-0xd0(%ebp)
-    5d65:	be 1f 00 00 00       	mov    $0x1f,%esi
-    5d6a:	89 95 3c ff ff ff    	mov    %edx,-0xc4(%ebp)
-    5d70:	89 85 e8 fe ff ff    	mov    %eax,-0x118(%ebp)
-    5d76:	89 9d e0 fe ff ff    	mov    %ebx,-0x120(%ebp)
-    5d7c:	89 f0                	mov    %esi,%eax
-    5d7e:	2b a5 e8 fe ff ff    	sub    -0x118(%ebp),%esp
-    5d84:	25 ff ff 00 00       	and    $0xffff,%eax
-    5d89:	8b 44 81 28          	mov    0x28(%ecx,%eax,4),%eax
-    5d8d:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
-    5d93:	8d 5c 24 1f          	lea    0x1f(%esp),%ebx
-    5d97:	83 e3 f0             	and    $0xfffffff0,%ebx
-    5d9a:	89 54 24 08          	mov    %edx,0x8(%esp)
-    5d9e:	89 84 b5 28 ff ff ff 	mov    %eax,-0xd8(%ebp,%esi,4)
-    5da5:	89 44 24 04          	mov    %eax,0x4(%esp)
-    5da9:	89 1c 24             	mov    %ebx,(%esp)
-    5dac:	e8 fc ff ff ff       	call   0x5dad
-    5db1:	8b 8d f0 fe ff ff    	mov    -0x110(%ebp),%ecx
-    5db7:	8d 46 11             	lea    0x11(%esi),%eax
-    5dba:	89 04 24             	mov    %eax,(%esp)
-    5dbd:	89 4c 24 04          	mov    %ecx,0x4(%esp)
-    5dc1:	e8 fc ff ff ff       	call   0x5dc2
-    5dc6:	8b 8d 14 ff ff ff    	mov    -0xec(%ebp),%ecx
-    5dcc:	89 9c b5 00 ff ff ff 	mov    %ebx,-0x100(%ebp,%esi,4)
-    5dd3:	83 c6 01             	add    $0x1,%esi
-    5dd6:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
-    5ddc:	83 fe 29             	cmp    $0x29,%esi
-    5ddf:	89 04 0b             	mov    %eax,(%ebx,%ecx,1)
-    5de2:	8b 85 30 ff ff ff    	mov    -0xd0(%ebp),%eax
-    5de8:	c7 04 03 00 00 00 00 	movl   $0x0,(%ebx,%eax,1)
-    5def:	74 33                	je     0x5e24
-    5df1:	8b 0d 00 00 00 00    	mov    0x0,%ecx
-    5df7:	65 8b 01             	mov    %gs:(%ecx),%eax
-    5dfa:	8b 08                	mov    (%eax),%ecx
-    5dfc:	e9 7b ff ff ff       	jmp    0x5d7c
-    5e01:	83 bd 24 ff ff ff 00 	cmpl   $0x0,-0xdc(%ebp)
-    5e08:	0f 84 78 a4 ff ff    	je     0x286
-    5e0e:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
-    5e14:	bf 01 00 00 00       	mov    $0x1,%edi
-    5e19:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
-    5e1f:	e9 7c a4 ff ff       	jmp    0x2a0
-    5e24:	8b 9d e0 fe ff ff    	mov    -0x120(%ebp),%ebx
-    5e2a:	e9 36 fd ff ff       	jmp    0x5b65
-    5e2f:	a1 00 00 00 00       	mov    0x0,%eax
-    5e34:	8b b5 1c ff ff ff    	mov    -0xe4(%ebp),%esi
-    5e3a:	65 89 30             	mov    %esi,%gs:(%eax)
-    5e3d:	e9 85 fe ff ff       	jmp    0x5cc7
-    5e42:	89 c6                	mov    %eax,%esi
-    5e44:	b8 00 01 00 00       	mov    $0x100,%eax
-    5e49:	01 f6                	add    %esi,%esi
-    5e4b:	81 fe 00 01 00 00    	cmp    $0x100,%esi
-    5e51:	0f 42 f0             	cmovb  %eax,%esi
-    5e54:	89 c8                	mov    %ecx,%eax
-    5e56:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
-    5e5d:	75 0a                	jne    0x5e69
-    5e5f:	81 fe 00 00 01 00    	cmp    $0x10000,%esi
-    5e65:	76 3a                	jbe    0x5ea1
-    5e67:	31 c0                	xor    %eax,%eax
-    5e69:	89 8d cc fe ff ff    	mov    %ecx,-0x134(%ebp)
-    5e6f:	89 74 24 04          	mov    %esi,0x4(%esp)
-    5e73:	89 04 24             	mov    %eax,(%esp)
-    5e76:	e8 fc ff ff ff       	call   0x5e77
-    5e7b:	8b 8d cc fe ff ff    	mov    -0x134(%ebp),%ecx
-    5e81:	85 c0                	test   %eax,%eax
-    5e83:	89 c2                	mov    %eax,%edx
-    5e85:	0f 84 b2 00 00 00    	je     0x5f3d
-    5e8b:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
-    5e92:	74 73                	je     0x5f07
-    5e94:	89 b5 40 ff ff ff    	mov    %esi,-0xc0(%ebp)
-    5e9a:	89 c1                	mov    %eax,%ecx
-    5e9c:	e9 dc fd ff ff       	jmp    0x5c7d
-    5ea1:	8d 04 b5 00 00 00 00 	lea    0x0(,%esi,4),%eax
-    5ea8:	8d 50 10             	lea    0x10(%eax),%edx
-    5eab:	29 d4                	sub    %edx,%esp
-    5ead:	8d 74 24 1f          	lea    0x1f(%esp),%esi
-    5eb1:	83 e6 f0             	and    $0xfffffff0,%esi
-    5eb4:	8d 14 06             	lea    (%esi,%eax,1),%edx
-    5eb7:	39 d1                	cmp    %edx,%ecx
-    5eb9:	89 95 44 ff ff ff    	mov    %edx,-0xbc(%ebp)
-    5ebf:	8b 95 40 ff ff ff    	mov    -0xc0(%ebp),%edx
-    5ec5:	8d 14 90             	lea    (%eax,%edx,4),%edx
-    5ec8:	89 95 e8 fe ff ff    	mov    %edx,-0x118(%ebp)
-    5ece:	0f 45 d0             	cmovne %eax,%edx
-    5ed1:	c1 ea 02             	shr    $0x2,%edx
-    5ed4:	85 c9                	test   %ecx,%ecx
-    5ed6:	74 22                	je     0x5efa
-    5ed8:	8b 85 40 ff ff ff    	mov    -0xc0(%ebp),%eax
-    5ede:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
-    5ee4:	89 4c 24 04          	mov    %ecx,0x4(%esp)
-    5ee8:	89 34 24             	mov    %esi,(%esp)
-    5eeb:	89 44 24 08          	mov    %eax,0x8(%esp)
-    5eef:	e8 fc ff ff ff       	call   0x5ef0
-    5ef4:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
-    5efa:	89 95 40 ff ff ff    	mov    %edx,-0xc0(%ebp)
-    5f00:	89 f1                	mov    %esi,%ecx
-    5f02:	e9 76 fd ff ff       	jmp    0x5c7d
-    5f07:	8b 85 48 ff ff ff    	mov    -0xb8(%ebp),%eax
-    5f0d:	89 4c 24 04          	mov    %ecx,0x4(%esp)
-    5f11:	89 14 24             	mov    %edx,(%esp)
-    5f14:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
-    5f1a:	89 44 24 08          	mov    %eax,0x8(%esp)
-    5f1e:	e8 fc ff ff ff       	call   0x5f1f
-    5f23:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
-    5f29:	89 b5 40 ff ff ff    	mov    %esi,-0xc0(%ebp)
-    5f2f:	c6 85 0f ff ff ff 01 	movb   $0x1,-0xf1(%ebp)
-    5f36:	89 d1                	mov    %edx,%ecx
-    5f38:	e9 40 fd ff ff       	jmp    0x5c7d
-    5f3d:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
-    5f44:	89 c6                	mov    %eax,%esi
-    5f46:	89 8d 44 ff ff ff    	mov    %ecx,-0xbc(%ebp)
-    5f4c:	0f 84 2c e7 ff ff    	je     0x467e
-    5f52:	89 0c 24             	mov    %ecx,(%esp)
-    5f55:	83 cb ff             	or     $0xffffffff,%ebx
-    5f58:	31 ff                	xor    %edi,%edi
-    5f5a:	e8 fc ff ff ff       	call   0x5f5b
-    5f5f:	c7 85 24 ff ff ff ff 	movl   $0xffffffff,-0xdc(%ebp)
-    5f66:	ff ff ff 
-    5f69:	e9 32 a3 ff ff       	jmp    0x2a0
-    5f6e:	8b 9d 34 ff ff ff    	mov    -0xcc(%ebp),%ebx
-    5f74:	89 8d cc fe ff ff    	mov    %ecx,-0x134(%ebp)
-    5f7a:	89 1c 24             	mov    %ebx,(%esp)
-    5f7d:	e8 fc ff ff ff       	call   0x5f7e
-    5f82:	8b 8d cc fe ff ff    	mov    -0x134(%ebp),%ecx
-    5f88:	89 c3                	mov    %eax,%ebx
-    5f8a:	e9 2c fd ff ff       	jmp    0x5cbb
-    5f8f:	8b 9d 34 ff ff ff    	mov    -0xcc(%ebp),%ebx
-    5f95:	89 1c 24             	mov    %ebx,(%esp)
-    5f98:	e8 fc ff ff ff       	call   0x5f99
-    5f9d:	89 c2                	mov    %eax,%edx
-    5f9f:	e9 f8 af ff ff       	jmp    0xf9c
-    5fa4:	8b 95 40 ff ff ff    	mov    -0xc0(%ebp),%edx
-    5faa:	b8 00 01 00 00       	mov    $0x100,%eax
-    5faf:	01 d2                	add    %edx,%edx
-    5fb1:	81 fa 00 01 00 00    	cmp    $0x100,%edx
-    5fb7:	0f 42 d0             	cmovb  %eax,%edx
-    5fba:	8b 85 44 ff ff ff    	mov    -0xbc(%ebp),%eax
-    5fc0:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
-    5fc7:	75 0a                	jne    0x5fd3
-    5fc9:	81 fa 00 00 01 00    	cmp    $0x10000,%edx
-    5fcf:	76 69                	jbe    0x603a
-    5fd1:	31 c0                	xor    %eax,%eax
-    5fd3:	89 54 24 04          	mov    %edx,0x4(%esp)
-    5fd7:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
-    5fdd:	89 04 24             	mov    %eax,(%esp)
-    5fe0:	e8 fc ff ff ff       	call   0x5fe1
-    5fe5:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
-    5feb:	85 c0                	test   %eax,%eax
-    5fed:	89 c6                	mov    %eax,%esi
-    5fef:	0f 84 94 00 00 00    	je     0x6089
-    5ff5:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
-    5ffc:	89 d7                	mov    %edx,%edi
-    5ffe:	0f 85 27 a9 ff ff    	jne    0x92b
-    6004:	8b bd 40 ff ff ff    	mov    -0xc0(%ebp),%edi
-    600a:	8b 85 44 ff ff ff    	mov    -0xbc(%ebp),%eax
-    6010:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
-    6016:	89 34 24             	mov    %esi,(%esp)
-    6019:	89 7c 24 08          	mov    %edi,0x8(%esp)
-    601d:	89 44 24 04          	mov    %eax,0x4(%esp)
-    6021:	e8 fc ff ff ff       	call   0x6022
-    6026:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
-    602c:	c6 85 0f ff ff ff 01 	movb   $0x1,-0xf1(%ebp)
-    6033:	89 d7                	mov    %edx,%edi
-    6035:	e9 f1 a8 ff ff       	jmp    0x92b
-    603a:	c1 e2 02             	shl    $0x2,%edx
-    603d:	8b 8d 40 ff ff ff    	mov    -0xc0(%ebp),%ecx
-    6043:	8d 42 10             	lea    0x10(%edx),%eax
-    6046:	29 c4                	sub    %eax,%esp
-    6048:	8d 74 24 1f          	lea    0x1f(%esp),%esi
-    604c:	83 e6 f0             	and    $0xfffffff0,%esi
-    604f:	8d 04 16             	lea    (%esi,%edx,1),%eax
-    6052:	39 85 44 ff ff ff    	cmp    %eax,-0xbc(%ebp)
-    6058:	8d 3c 8a             	lea    (%edx,%ecx,4),%edi
-    605b:	0f 45 fa             	cmovne %edx,%edi
-    605e:	c1 ef 02             	shr    $0x2,%edi
-    6061:	83 bd 44 ff ff ff 00 	cmpl   $0x0,-0xbc(%ebp)
-    6068:	0f 84 bd a8 ff ff    	je     0x92b
-    606e:	8b 85 44 ff ff ff    	mov    -0xbc(%ebp),%eax
-    6074:	89 4c 24 08          	mov    %ecx,0x8(%esp)
+    59a5:	89 d7                	mov    %edx,%edi
+    59a7:	0f 95 c1             	setne  %cl
+    59aa:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
+    59b0:	31 c0                	xor    %eax,%eax
+    59b2:	83 bd 48 ff ff ff 00 	cmpl   $0x0,-0xb8(%ebp)
+    59b9:	0f 95 c0             	setne  %al
+    59bc:	83 c6 01             	add    $0x1,%esi
+    59bf:	21 c8                	and    %ecx,%eax
+    59c1:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
+    59c7:	89 85 d8 fe ff ff    	mov    %eax,-0x128(%ebp)
+    59cd:	89 b5 44 ff ff ff    	mov    %esi,-0xbc(%ebp)
+    59d3:	c1 e1 02             	shl    $0x2,%ecx
+    59d6:	89 8d 48 ff ff ff    	mov    %ecx,-0xb8(%ebp)
+    59dc:	8b 95 44 ff ff ff    	mov    -0xbc(%ebp),%edx
+    59e2:	83 ea 01             	sub    $0x1,%edx
+    59e5:	80 bd e8 fe ff ff 00 	cmpb   $0x0,-0x118(%ebp)
+    59ec:	0f 84 c7 03 00 00    	je     0x5db9
+    59f2:	8b 85 14 ff ff ff    	mov    -0xec(%ebp),%eax
+    59f8:	8b 8d e0 fe ff ff    	mov    -0x120(%ebp),%ecx
+    59fe:	3b 0c 07             	cmp    (%edi,%eax,1),%ecx
+    5a01:	0f 84 2d 01 00 00    	je     0x5b34
+    5a07:	c7 85 40 ff ff ff 00 	movl   $0x0,-0xc0(%ebp)
+    5a0e:	00 00 00 
+    5a11:	31 c0                	xor    %eax,%eax
+    5a13:	8b 8c 85 4c ff ff ff 	mov    -0xb4(%ebp,%eax,4),%ecx
+    5a1a:	3b 8d 3c ff ff ff    	cmp    -0xc4(%ebp),%ecx
+    5a20:	74 6a                	je     0x5a8c
+    5a22:	83 c0 01             	add    $0x1,%eax
+    5a25:	83 f8 0c             	cmp    $0xc,%eax
+    5a28:	75 e9                	jne    0x5a13
+    5a2a:	89 9d 40 ff ff ff    	mov    %ebx,-0xc0(%ebp)
+    5a30:	89 d3                	mov    %edx,%ebx
+    5a32:	89 fe                	mov    %edi,%esi
+    5a34:	89 fa                	mov    %edi,%edx
+    5a36:	89 9d 44 ff ff ff    	mov    %ebx,-0xbc(%ebp)
+    5a3c:	83 bd 3c ff ff ff ff 	cmpl   $0xffffffff,-0xc4(%ebp)
+    5a43:	0f 84 b9 d0 ff ff    	je     0x2b02
+    5a49:	8b 8d 3c ff ff ff    	mov    -0xc4(%ebp),%ecx
+    5a4f:	8b 9d 34 ff ff ff    	mov    -0xcc(%ebp),%ebx
+    5a55:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
+    5a5b:	83 ad 38 ff ff ff 01 	subl   $0x1,-0xc8(%ebp)
+    5a62:	89 4c 24 04          	mov    %ecx,0x4(%esp)
+    5a66:	89 1c 24             	mov    %ebx,(%esp)
+    5a69:	e8 fc ff ff ff       	call   0x5a6a
+    5a6e:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
+    5a74:	e9 89 d0 ff ff       	jmp    0x2b02
+    5a79:	a1 00 00 00 00       	mov    0x0,%eax
+    5a7e:	65 8b 00             	mov    %gs:(%eax),%eax
+    5a81:	89 85 1c ff ff ff    	mov    %eax,-0xe4(%ebp)
+    5a87:	e9 4e fe ff ff       	jmp    0x58da
+    5a8c:	83 f8 09             	cmp    $0x9,%eax
+    5a8f:	89 85 40 ff ff ff    	mov    %eax,-0xc0(%ebp)
+    5a95:	0f 8f 7c 03 00 00    	jg     0x5e17
+    5a9b:	39 da                	cmp    %ebx,%edx
+    5a9d:	0f 84 06 02 00 00    	je     0x5ca9
+    5aa3:	8b 85 40 ff ff ff    	mov    -0xc0(%ebp),%eax
+    5aa9:	8b 95 48 ff ff ff    	mov    -0xb8(%ebp),%edx
+    5aaf:	83 c0 30             	add    $0x30,%eax
+    5ab2:	89 04 17             	mov    %eax,(%edi,%edx,1)
+    5ab5:	83 bd 30 ff ff ff 00 	cmpl   $0x0,-0xd0(%ebp)
+    5abc:	0f 84 da 00 00 00    	je     0x5b9c
+    5ac2:	83 bd 3c ff ff ff ff 	cmpl   $0xffffffff,-0xc4(%ebp)
+    5ac9:	0f 84 b0 00 00 00    	je     0x5b7f
+    5acf:	8b 95 34 ff ff ff    	mov    -0xcc(%ebp),%edx
+    5ad5:	8b 42 5c             	mov    0x5c(%edx),%eax
+    5ad8:	85 c0                	test   %eax,%eax
+    5ada:	0f 84 c9 00 00 00    	je     0x5ba9
+    5ae0:	8b 10                	mov    (%eax),%edx
+    5ae2:	3b 50 04             	cmp    0x4(%eax),%edx
+    5ae5:	0f 83 be 00 00 00    	jae    0x5ba9
+    5aeb:	8b 32                	mov    (%edx),%esi
+    5aed:	83 c2 04             	add    $0x4,%edx
+    5af0:	89 10                	mov    %edx,(%eax)
+    5af2:	89 b5 3c ff ff ff    	mov    %esi,-0xc4(%ebp)
+    5af8:	83 bd 3c ff ff ff ff 	cmpl   $0xffffffff,-0xc4(%ebp)
+    5aff:	74 61                	je     0x5b62
+    5b01:	31 c0                	xor    %eax,%eax
+    5b03:	83 bd 30 ff ff ff 00 	cmpl   $0x0,-0xd0(%ebp)
+    5b0a:	0f 9f c0             	setg   %al
+    5b0d:	83 85 38 ff ff ff 01 	addl   $0x1,-0xc8(%ebp)
+    5b14:	29 85 30 ff ff ff    	sub    %eax,-0xd0(%ebp)
+    5b1a:	83 85 44 ff ff ff 01 	addl   $0x1,-0xbc(%ebp)
+    5b21:	83 85 48 ff ff ff 04 	addl   $0x4,-0xb8(%ebp)
+    5b28:	83 85 14 ff ff ff 04 	addl   $0x4,-0xec(%ebp)
+    5b2f:	e9 a8 fe ff ff       	jmp    0x59dc
+    5b34:	83 bd 3c ff ff ff 2b 	cmpl   $0x2b,-0xc4(%ebp)
+    5b3b:	74 0d                	je     0x5b4a
+    5b3d:	83 bd 3c ff ff ff 2d 	cmpl   $0x2d,-0xc4(%ebp)
+    5b44:	0f 85 bd fe ff ff    	jne    0x5a07
+    5b4a:	39 da                	cmp    %ebx,%edx
+    5b4c:	74 74                	je     0x5bc2
+    5b4e:	8b 85 3c ff ff ff    	mov    -0xc4(%ebp),%eax
+    5b54:	8b b5 48 ff ff ff    	mov    -0xb8(%ebp),%esi
+    5b5a:	89 04 37             	mov    %eax,(%edi,%esi,1)
+    5b5d:	e9 53 ff ff ff       	jmp    0x5ab5
+    5b62:	a1 00 00 00 00       	mov    0x0,%eax
+    5b67:	89 fa                	mov    %edi,%edx
+    5b69:	89 fe                	mov    %edi,%esi
+    5b6b:	89 9d 40 ff ff ff    	mov    %ebx,-0xc0(%ebp)
+    5b71:	65 8b 00             	mov    %gs:(%eax),%eax
+    5b74:	89 85 1c ff ff ff    	mov    %eax,-0xe4(%ebp)
+    5b7a:	e9 83 cf ff ff       	jmp    0x2b02
+    5b7f:	8b b5 1c ff ff ff    	mov    -0xe4(%ebp),%esi
+    5b85:	89 fa                	mov    %edi,%edx
+    5b87:	a1 00 00 00 00       	mov    0x0,%eax
+    5b8c:	89 9d 40 ff ff ff    	mov    %ebx,-0xc0(%ebp)
+    5b92:	65 89 30             	mov    %esi,%gs:(%eax)
+    5b95:	89 fe                	mov    %edi,%esi
+    5b97:	e9 66 cf ff ff       	jmp    0x2b02
+    5b9c:	89 9d 40 ff ff ff    	mov    %ebx,-0xc0(%ebp)
+    5ba2:	89 fa                	mov    %edi,%edx
+    5ba4:	e9 57 cf ff ff       	jmp    0x2b00
+    5ba9:	8b 8d 34 ff ff ff    	mov    -0xcc(%ebp),%ecx
+    5baf:	89 0c 24             	mov    %ecx,(%esp)
+    5bb2:	e8 fc ff ff ff       	call   0x5bb3
+    5bb7:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
+    5bbd:	e9 36 ff ff ff       	jmp    0x5af8
+    5bc2:	8d 0c 1b             	lea    (%ebx,%ebx,1),%ecx
+    5bc5:	b8 00 01 00 00       	mov    $0x100,%eax
+    5bca:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
+    5bd0:	0f 42 c8             	cmovb  %eax,%ecx
+    5bd3:	89 f8                	mov    %edi,%eax
+    5bd5:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
+    5bdc:	75 0a                	jne    0x5be8
+    5bde:	81 f9 00 00 01 00    	cmp    $0x10000,%ecx
+    5be4:	76 32                	jbe    0x5c18
+    5be6:	31 c0                	xor    %eax,%eax
+    5be8:	89 4c 24 04          	mov    %ecx,0x4(%esp)
+    5bec:	89 8d cc fe ff ff    	mov    %ecx,-0x134(%ebp)
+    5bf2:	89 04 24             	mov    %eax,(%esp)
+    5bf5:	e8 fc ff ff ff       	call   0x5bf6
+    5bfa:	8b 8d cc fe ff ff    	mov    -0x134(%ebp),%ecx
+    5c00:	85 c0                	test   %eax,%eax
+    5c02:	89 c6                	mov    %eax,%esi
+    5c04:	74 7a                	je     0x5c80
+    5c06:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
+    5c0d:	74 45                	je     0x5c54
+    5c0f:	89 cb                	mov    %ecx,%ebx
+    5c11:	89 c7                	mov    %eax,%edi
+    5c13:	e9 36 ff ff ff       	jmp    0x5b4e
+    5c18:	8d 04 8d 00 00 00 00 	lea    0x0(,%ecx,4),%eax
+    5c1f:	8d 48 10             	lea    0x10(%eax),%ecx
+    5c22:	29 cc                	sub    %ecx,%esp
+    5c24:	8d 74 24 1f          	lea    0x1f(%esp),%esi
+    5c28:	83 e6 f0             	and    $0xfffffff0,%esi
+    5c2b:	8d 0c 06             	lea    (%esi,%eax,1),%ecx
+    5c2e:	39 cf                	cmp    %ecx,%edi
+    5c30:	8d 1c 90             	lea    (%eax,%edx,4),%ebx
+    5c33:	0f 45 d8             	cmovne %eax,%ebx
+    5c36:	c1 eb 02             	shr    $0x2,%ebx
+    5c39:	85 ff                	test   %edi,%edi
+    5c3b:	74 10                	je     0x5c4d
+    5c3d:	89 54 24 08          	mov    %edx,0x8(%esp)
+    5c41:	89 7c 24 04          	mov    %edi,0x4(%esp)
+    5c45:	89 34 24             	mov    %esi,(%esp)
+    5c48:	e8 fc ff ff ff       	call   0x5c49
+    5c4d:	89 f7                	mov    %esi,%edi
+    5c4f:	e9 fa fe ff ff       	jmp    0x5b4e
+    5c54:	89 5c 24 08          	mov    %ebx,0x8(%esp)
+    5c58:	89 7c 24 04          	mov    %edi,0x4(%esp)
+    5c5c:	89 f7                	mov    %esi,%edi
+    5c5e:	89 8d cc fe ff ff    	mov    %ecx,-0x134(%ebp)
+    5c64:	89 04 24             	mov    %eax,(%esp)
+    5c67:	e8 fc ff ff ff       	call   0x5c68
+    5c6c:	8b 8d cc fe ff ff    	mov    -0x134(%ebp),%ecx
+    5c72:	c6 85 0f ff ff ff 01 	movb   $0x1,-0xf1(%ebp)
+    5c79:	89 cb                	mov    %ecx,%ebx
+    5c7b:	e9 ce fe ff ff       	jmp    0x5b4e
+    5c80:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
+    5c87:	0f 84 65 e9 ff ff    	je     0x45f2
+    5c8d:	89 3c 24             	mov    %edi,(%esp)
+    5c90:	83 cb ff             	or     $0xffffffff,%ebx
+    5c93:	31 ff                	xor    %edi,%edi
+    5c95:	e8 fc ff ff ff       	call   0x5c96
+    5c9a:	c7 85 24 ff ff ff ff 	movl   $0xffffffff,-0xdc(%ebp)
+    5ca1:	ff ff ff 
+    5ca4:	e9 f7 a5 ff ff       	jmp    0x2a0
+    5ca9:	8d 0c 1b             	lea    (%ebx,%ebx,1),%ecx
+    5cac:	b8 00 01 00 00       	mov    $0x100,%eax
+    5cb1:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
+    5cb7:	0f 42 c8             	cmovb  %eax,%ecx
+    5cba:	89 f8                	mov    %edi,%eax
+    5cbc:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
+    5cc3:	75 0e                	jne    0x5cd3
+    5cc5:	81 f9 00 00 01 00    	cmp    $0x10000,%ecx
+    5ccb:	0f 86 ac 01 00 00    	jbe    0x5e7d
+    5cd1:	31 c0                	xor    %eax,%eax
+    5cd3:	89 4c 24 04          	mov    %ecx,0x4(%esp)
+    5cd7:	89 8d cc fe ff ff    	mov    %ecx,-0x134(%ebp)
+    5cdd:	89 04 24             	mov    %eax,(%esp)
+    5ce0:	e8 fc ff ff ff       	call   0x5ce1
+    5ce5:	8b 8d cc fe ff ff    	mov    -0x134(%ebp),%ecx
+    5ceb:	85 c0                	test   %eax,%eax
+    5ced:	89 c6                	mov    %eax,%esi
+    5cef:	0f 84 50 05 00 00    	je     0x6245
+    5cf5:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
+    5cfc:	0f 84 17 05 00 00    	je     0x6219
+    5d02:	89 cb                	mov    %ecx,%ebx
+    5d04:	89 c7                	mov    %eax,%edi
+    5d06:	e9 98 fd ff ff       	jmp    0x5aa3
+    5d0b:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
+    5d11:	bf 02 00 00 00       	mov    $0x2,%edi
+    5d16:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
+    5d1c:	e9 7f a5 ff ff       	jmp    0x2a0
+    5d21:	89 34 24             	mov    %esi,(%esp)
+    5d24:	e8 fc ff ff ff       	call   0x5d25
+    5d29:	89 c3                	mov    %eax,%ebx
+    5d2b:	e9 6d c3 ff ff       	jmp    0x209d
+    5d30:	8b 85 34 ff ff ff    	mov    -0xcc(%ebp),%eax
+    5d36:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
+    5d3c:	89 04 24             	mov    %eax,(%esp)
+    5d3f:	e8 fc ff ff ff       	call   0x5d40
+    5d44:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
+    5d4a:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
+    5d50:	e9 71 fb ff ff       	jmp    0x58c6
+    5d55:	a1 00 00 00 00       	mov    0x0,%eax
+    5d5a:	8b 8d 1c ff ff ff    	mov    -0xe4(%ebp),%ecx
+    5d60:	65 89 08             	mov    %ecx,%gs:(%eax)
+    5d63:	e9 72 fb ff ff       	jmp    0x58da
+    5d68:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
+    5d6e:	bf 02 00 00 00       	mov    $0x2,%edi
+    5d73:	e9 28 a5 ff ff       	jmp    0x2a0
+    5d78:	83 85 00 ff ff ff 01 	addl   $0x1,-0x100(%ebp)
+    5d7f:	8b 85 00 ff ff ff    	mov    -0x100(%ebp),%eax
+    5d85:	8b 95 10 ff ff ff    	mov    -0xf0(%ebp),%edx
+    5d8b:	c1 e0 02             	shl    $0x2,%eax
+    5d8e:	89 44 24 04          	mov    %eax,0x4(%esp)
+    5d92:	8b 02                	mov    (%edx),%eax
+    5d94:	89 04 24             	mov    %eax,(%esp)
+    5d97:	e8 fc ff ff ff       	call   0x5d98
+    5d9c:	85 c0                	test   %eax,%eax
+    5d9e:	0f 84 04 02 00 00    	je     0x5fa8
+    5da4:	8b 95 10 ff ff ff    	mov    -0xf0(%ebp),%edx
+    5daa:	89 02                	mov    %eax,(%edx)
+    5dac:	01 d8                	add    %ebx,%eax
+    5dae:	89 85 f8 fe ff ff    	mov    %eax,-0x108(%ebp)
+    5db4:	e9 f1 d0 ff ff       	jmp    0x2eaa
+    5db9:	85 d2                	test   %edx,%edx
+    5dbb:	0f 84 46 fc ff ff    	je     0x5a07
+    5dc1:	8b 8d 3c ff ff ff    	mov    -0xc4(%ebp),%ecx
+    5dc7:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
+    5dcd:	89 0c 24             	mov    %ecx,(%esp)
+    5dd0:	e8 fc ff ff ff       	call   0x5dd1
+    5dd5:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
+    5ddb:	39 85 e0 fe ff ff    	cmp    %eax,-0x120(%ebp)
+    5de1:	89 85 40 ff ff ff    	mov    %eax,-0xc0(%ebp)
+    5de7:	0f 85 1a fc ff ff    	jne    0x5a07
+    5ded:	39 da                	cmp    %ebx,%edx
+    5def:	0f 84 c4 00 00 00    	je     0x5eb9
+    5df5:	8b 85 40 ff ff ff    	mov    -0xc0(%ebp),%eax
+    5dfb:	8b b5 48 ff ff ff    	mov    -0xb8(%ebp),%esi
+    5e01:	c6 85 e8 fe ff ff 01 	movb   $0x1,-0x118(%ebp)
+    5e08:	c6 85 f0 fe ff ff 01 	movb   $0x1,-0x110(%ebp)
+    5e0f:	89 04 37             	mov    %eax,(%edi,%esi,1)
+    5e12:	e9 9e fc ff ff       	jmp    0x5ab5
+    5e17:	0f b6 85 f0 fe ff ff 	movzbl -0x110(%ebp),%eax
+    5e1e:	83 f0 01             	xor    $0x1,%eax
+    5e21:	83 bd 40 ff ff ff 0b 	cmpl   $0xb,-0xc0(%ebp)
+    5e28:	0f 85 cb 02 00 00    	jne    0x60f9
+    5e2e:	84 c0                	test   %al,%al
+    5e30:	0f 84 a6 02 00 00    	je     0x60dc
+    5e36:	39 da                	cmp    %ebx,%edx
+    5e38:	0f 84 b7 01 00 00    	je     0x5ff5
+    5e3e:	8b b5 dc fe ff ff    	mov    -0x124(%ebp),%esi
+    5e44:	8b 8d 48 ff ff ff    	mov    -0xb8(%ebp),%ecx
+    5e4a:	c6 85 f0 fe ff ff 01 	movb   $0x1,-0x110(%ebp)
+    5e51:	89 34 0f             	mov    %esi,(%edi,%ecx,1)
+    5e54:	e9 5c fc ff ff       	jmp    0x5ab5
+    5e59:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
+    5e5f:	89 5c 24 04          	mov    %ebx,0x4(%esp)
+    5e63:	89 34 24             	mov    %esi,(%esp)
+    5e66:	e8 fc ff ff ff       	call   0x5e67
+    5e6b:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
+    5e71:	89 84 b5 8c fe ff ff 	mov    %eax,-0x174(%ebp,%esi,4)
+    5e78:	e9 d9 fa ff ff       	jmp    0x5956
+    5e7d:	8d 04 8d 00 00 00 00 	lea    0x0(,%ecx,4),%eax
+    5e84:	8d 48 10             	lea    0x10(%eax),%ecx
+    5e87:	29 cc                	sub    %ecx,%esp
+    5e89:	8d 74 24 1f          	lea    0x1f(%esp),%esi
+    5e8d:	83 e6 f0             	and    $0xfffffff0,%esi
+    5e90:	8d 0c 06             	lea    (%esi,%eax,1),%ecx
+    5e93:	39 cf                	cmp    %ecx,%edi
+    5e95:	8d 1c 90             	lea    (%eax,%edx,4),%ebx
+    5e98:	0f 45 d8             	cmovne %eax,%ebx
+    5e9b:	c1 eb 02             	shr    $0x2,%ebx
+    5e9e:	85 ff                	test   %edi,%edi
+    5ea0:	74 10                	je     0x5eb2
+    5ea2:	89 54 24 08          	mov    %edx,0x8(%esp)
+    5ea6:	89 7c 24 04          	mov    %edi,0x4(%esp)
+    5eaa:	89 34 24             	mov    %esi,(%esp)
+    5ead:	e8 fc ff ff ff       	call   0x5eae
+    5eb2:	89 f7                	mov    %esi,%edi
+    5eb4:	e9 ea fb ff ff       	jmp    0x5aa3
+    5eb9:	8d 0c 1b             	lea    (%ebx,%ebx,1),%ecx
+    5ebc:	b8 00 01 00 00       	mov    $0x100,%eax
+    5ec1:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
+    5ec7:	0f 42 c8             	cmovb  %eax,%ecx
+    5eca:	89 f8                	mov    %edi,%eax
+    5ecc:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
+    5ed3:	75 0a                	jne    0x5edf
+    5ed5:	81 f9 00 00 01 00    	cmp    $0x10000,%ecx
+    5edb:	76 3e                	jbe    0x5f1b
+    5edd:	31 c0                	xor    %eax,%eax
+    5edf:	89 4c 24 04          	mov    %ecx,0x4(%esp)
+    5ee3:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
+    5ee9:	89 8d cc fe ff ff    	mov    %ecx,-0x134(%ebp)
+    5eef:	89 04 24             	mov    %eax,(%esp)
+    5ef2:	e8 fc ff ff ff       	call   0x5ef3
+    5ef7:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
+    5efd:	8b 8d cc fe ff ff    	mov    -0x134(%ebp),%ecx
+    5f03:	85 c0                	test   %eax,%eax
+    5f05:	89 c6                	mov    %eax,%esi
+    5f07:	74 76                	je     0x5f7f
+    5f09:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
+    5f10:	74 41                	je     0x5f53
+    5f12:	89 cb                	mov    %ecx,%ebx
+    5f14:	89 c7                	mov    %eax,%edi
+    5f16:	e9 da fe ff ff       	jmp    0x5df5
+    5f1b:	c1 e1 02             	shl    $0x2,%ecx
+    5f1e:	8d 41 10             	lea    0x10(%ecx),%eax
+    5f21:	29 c4                	sub    %eax,%esp
+    5f23:	8d 74 24 1f          	lea    0x1f(%esp),%esi
+    5f27:	83 e6 f0             	and    $0xfffffff0,%esi
+    5f2a:	8d 04 0e             	lea    (%esi,%ecx,1),%eax
+    5f2d:	39 c7                	cmp    %eax,%edi
+    5f2f:	8d 1c 99             	lea    (%ecx,%ebx,4),%ebx
+    5f32:	0f 45 d9             	cmovne %ecx,%ebx
+    5f35:	c1 eb 02             	shr    $0x2,%ebx
+    5f38:	85 ff                	test   %edi,%edi
+    5f3a:	74 10                	je     0x5f4c
+    5f3c:	89 54 24 08          	mov    %edx,0x8(%esp)
+    5f40:	89 7c 24 04          	mov    %edi,0x4(%esp)
+    5f44:	89 34 24             	mov    %esi,(%esp)
+    5f47:	e8 fc ff ff ff       	call   0x5f48
+    5f4c:	89 f7                	mov    %esi,%edi
+    5f4e:	e9 a2 fe ff ff       	jmp    0x5df5
+    5f53:	89 7c 24 04          	mov    %edi,0x4(%esp)
+    5f57:	89 f7                	mov    %esi,%edi
+    5f59:	89 8d cc fe ff ff    	mov    %ecx,-0x134(%ebp)
+    5f5f:	89 54 24 08          	mov    %edx,0x8(%esp)
+    5f63:	89 04 24             	mov    %eax,(%esp)
+    5f66:	e8 fc ff ff ff       	call   0x5f67
+    5f6b:	8b 8d cc fe ff ff    	mov    -0x134(%ebp),%ecx
+    5f71:	c6 85 0f ff ff ff 01 	movb   $0x1,-0xf1(%ebp)
+    5f78:	89 cb                	mov    %ecx,%ebx
+    5f7a:	e9 76 fe ff ff       	jmp    0x5df5
+    5f7f:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
+    5f86:	0f 84 66 e6 ff ff    	je     0x45f2
+    5f8c:	89 3c 24             	mov    %edi,(%esp)
+    5f8f:	83 cb ff             	or     $0xffffffff,%ebx
+    5f92:	31 ff                	xor    %edi,%edi
+    5f94:	e8 fc ff ff ff       	call   0x5f95
+    5f99:	c7 85 24 ff ff ff ff 	movl   $0xffffffff,-0xdc(%ebp)
+    5fa0:	ff ff ff 
+    5fa3:	e9 f8 a2 ff ff       	jmp    0x2a0
+    5fa8:	f7 85 2c ff ff ff 00 	testl  $0x2000,-0xd4(%ebp)
+    5faf:	20 00 00 
+    5fb2:	0f 85 69 ca ff ff    	jne    0x2a21
+    5fb8:	8b 8d 10 ff ff ff    	mov    -0xf0(%ebp),%ecx
+    5fbe:	bf 02 00 00 00       	mov    $0x2,%edi
+    5fc3:	8b 9d 3c ff ff ff    	mov    -0xc4(%ebp),%ebx
+    5fc9:	83 85 24 ff ff ff 01 	addl   $0x1,-0xdc(%ebp)
+    5fd0:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
+    5fd6:	8b 01                	mov    (%ecx),%eax
+    5fd8:	c7 85 10 ff ff ff 00 	movl   $0x0,-0xf0(%ebp)
+    5fdf:	00 00 00 
+    5fe2:	c7 44 98 fc 00 00 00 	movl   $0x0,-0x4(%eax,%ebx,4)
+    5fe9:	00 
+    5fea:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
+    5ff0:	e9 ab a2 ff ff       	jmp    0x2a0
+    5ff5:	8d 0c 1b             	lea    (%ebx,%ebx,1),%ecx
+    5ff8:	b8 00 01 00 00       	mov    $0x100,%eax
+    5ffd:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
+    6003:	0f 42 c8             	cmovb  %eax,%ecx
+    6006:	89 f8                	mov    %edi,%eax
+    6008:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
+    600f:	75 0a                	jne    0x601b
+    6011:	81 f9 00 00 01 00    	cmp    $0x10000,%ecx
+    6017:	76 32                	jbe    0x604b
+    6019:	31 c0                	xor    %eax,%eax
+    601b:	89 4c 24 04          	mov    %ecx,0x4(%esp)
+    601f:	89 8d cc fe ff ff    	mov    %ecx,-0x134(%ebp)
+    6025:	89 04 24             	mov    %eax,(%esp)
+    6028:	e8 fc ff ff ff       	call   0x6029
+    602d:	8b 8d cc fe ff ff    	mov    -0x134(%ebp),%ecx
+    6033:	85 c0                	test   %eax,%eax
+    6035:	89 c6                	mov    %eax,%esi
+    6037:	74 7a                	je     0x60b3
+    6039:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
+    6040:	74 45                	je     0x6087
+    6042:	89 cb                	mov    %ecx,%ebx
+    6044:	89 c7                	mov    %eax,%edi
+    6046:	e9 f3 fd ff ff       	jmp    0x5e3e
+    604b:	8d 04 8d 00 00 00 00 	lea    0x0(,%ecx,4),%eax
+    6052:	8d 48 10             	lea    0x10(%eax),%ecx
+    6055:	29 cc                	sub    %ecx,%esp
+    6057:	8d 74 24 1f          	lea    0x1f(%esp),%esi
+    605b:	83 e6 f0             	and    $0xfffffff0,%esi
+    605e:	8d 0c 06             	lea    (%esi,%eax,1),%ecx
+    6061:	39 cf                	cmp    %ecx,%edi
+    6063:	8d 1c 90             	lea    (%eax,%edx,4),%ebx
+    6066:	0f 45 d8             	cmovne %eax,%ebx
+    6069:	c1 eb 02             	shr    $0x2,%ebx
+    606c:	85 ff                	test   %edi,%edi
+    606e:	74 10                	je     0x6080
+    6070:	89 54 24 08          	mov    %edx,0x8(%esp)
+    6074:	89 7c 24 04          	mov    %edi,0x4(%esp)
     6078:	89 34 24             	mov    %esi,(%esp)
-    607b:	89 44 24 04          	mov    %eax,0x4(%esp)
-    607f:	e8 fc ff ff ff       	call   0x6080
-    6084:	e9 a2 a8 ff ff       	jmp    0x92b
-    6089:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
-    6090:	0f 84 e8 e5 ff ff    	je     0x467e
-    6096:	8b 9d 44 ff ff ff    	mov    -0xbc(%ebp),%ebx
-    609c:	31 ff                	xor    %edi,%edi
-    609e:	89 1c 24             	mov    %ebx,(%esp)
-    60a1:	83 cb ff             	or     $0xffffffff,%ebx
-    60a4:	e8 fc ff ff ff       	call   0x60a5
-    60a9:	c7 85 24 ff ff ff ff 	movl   $0xffffffff,-0xdc(%ebp)
-    60b0:	ff ff ff 
-    60b3:	e9 e8 a1 ff ff       	jmp    0x2a0
-    60b8:	8b 85 34 ff ff ff    	mov    -0xcc(%ebp),%eax
-    60be:	89 04 24             	mov    %eax,(%esp)
-    60c1:	e8 fc ff ff ff       	call   0x60c2
-    60c6:	89 c3                	mov    %eax,%ebx
-    60c8:	e9 bf a6 ff ff       	jmp    0x78c
-    60cd:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
-    60d3:	bf 02 00 00 00       	mov    $0x2,%edi
-    60d8:	e9 c3 a1 ff ff       	jmp    0x2a0
-    60dd:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
-    60e4:	0f 84 2d 01 00 00    	je     0x6217
-    60ea:	8b 85 44 ff ff ff    	mov    -0xbc(%ebp),%eax
-    60f0:	c7 44 24 04 00 01 00 	movl   $0x100,0x4(%esp)
-    60f7:	00 
-    60f8:	89 04 24             	mov    %eax,(%esp)
-    60fb:	e8 fc ff ff ff       	call   0x60fc
-    6100:	85 c0                	test   %eax,%eax
-    6102:	89 c6                	mov    %eax,%esi
-    6104:	0f 84 eb 00 00 00    	je     0x61f5
-    610a:	c7 85 40 ff ff ff 00 	movl   $0x100,-0xc0(%ebp)
-    6111:	01 00 00 
-    6114:	e9 45 a6 ff ff       	jmp    0x75e
-    6119:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
-    6120:	74 69                	je     0x618b
-    6122:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
-    6128:	c7 44 24 04 00 01 00 	movl   $0x100,0x4(%esp)
-    612f:	00 
-    6130:	89 0c 24             	mov    %ecx,(%esp)
-    6133:	e8 fc ff ff ff       	call   0x6134
-    6138:	85 c0                	test   %eax,%eax
-    613a:	89 c6                	mov    %eax,%esi
-    613c:	74 2b                	je     0x6169
-    613e:	b9 00 01 00 00       	mov    $0x100,%ecx
-    6143:	e9 9c a6 ff ff       	jmp    0x7e4
-    6148:	8b 9d 34 ff ff ff    	mov    -0xcc(%ebp),%ebx
-    614e:	89 8d cc fe ff ff    	mov    %ecx,-0x134(%ebp)
-    6154:	89 1c 24             	mov    %ebx,(%esp)
-    6157:	e8 fc ff ff ff       	call   0x6158
-    615c:	8b 8d cc fe ff ff    	mov    -0x134(%ebp),%ecx
-    6162:	89 c3                	mov    %eax,%ebx
-    6164:	e9 ab a6 ff ff       	jmp    0x814
-    6169:	8b 9d 44 ff ff ff    	mov    -0xbc(%ebp),%ebx
-    616f:	31 ff                	xor    %edi,%edi
-    6171:	89 1c 24             	mov    %ebx,(%esp)
-    6174:	83 cb ff             	or     $0xffffffff,%ebx
-    6177:	e8 fc ff ff ff       	call   0x6178
-    617c:	c7 85 24 ff ff ff ff 	movl   $0xffffffff,-0xdc(%ebp)
-    6183:	ff ff ff 
-    6186:	e9 15 a1 ff ff       	jmp    0x2a0
-    618b:	81 ec 10 04 00 00    	sub    $0x410,%esp
-    6191:	b9 00 01 00 00       	mov    $0x100,%ecx
-    6196:	8d 74 24 1f          	lea    0x1f(%esp),%esi
-    619a:	83 e6 f0             	and    $0xfffffff0,%esi
-    619d:	8d 86 00 04 00 00    	lea    0x400(%esi),%eax
-    61a3:	39 85 44 ff ff ff    	cmp    %eax,-0xbc(%ebp)
-    61a9:	75 10                	jne    0x61bb
-    61ab:	8b 85 40 ff ff ff    	mov    -0xc0(%ebp),%eax
-    61b1:	8d 0c 85 00 04 00 00 	lea    0x400(,%eax,4),%ecx
-    61b8:	c1 e9 02             	shr    $0x2,%ecx
-    61bb:	83 bd 44 ff ff ff 00 	cmpl   $0x0,-0xbc(%ebp)
-    61c2:	0f 84 1c a6 ff ff    	je     0x7e4
-    61c8:	8b 95 40 ff ff ff    	mov    -0xc0(%ebp),%edx
-    61ce:	8b 9d 44 ff ff ff    	mov    -0xbc(%ebp),%ebx
-    61d4:	89 8d cc fe ff ff    	mov    %ecx,-0x134(%ebp)
-    61da:	89 34 24             	mov    %esi,(%esp)
-    61dd:	89 54 24 08          	mov    %edx,0x8(%esp)
-    61e1:	89 5c 24 04          	mov    %ebx,0x4(%esp)
-    61e5:	e8 fc ff ff ff       	call   0x61e6
-    61ea:	8b 8d cc fe ff ff    	mov    -0x134(%ebp),%ecx
-    61f0:	e9 ef a5 ff ff       	jmp    0x7e4
-    61f5:	8b 95 44 ff ff ff    	mov    -0xbc(%ebp),%edx
-    61fb:	83 cb ff             	or     $0xffffffff,%ebx
-    61fe:	31 ff                	xor    %edi,%edi
-    6200:	89 14 24             	mov    %edx,(%esp)
-    6203:	e8 fc ff ff ff       	call   0x6204
-    6208:	c7 85 24 ff ff ff ff 	movl   $0xffffffff,-0xdc(%ebp)
-    620f:	ff ff ff 
-    6212:	e9 89 a0 ff ff       	jmp    0x2a0
-    6217:	81 ec 10 04 00 00    	sub    $0x410,%esp
-    621d:	8d 74 24 1f          	lea    0x1f(%esp),%esi
-    6221:	83 e6 f0             	and    $0xfffffff0,%esi
-    6224:	83 bd 44 ff ff ff 00 	cmpl   $0x0,-0xbc(%ebp)
-    622b:	0f 84 d9 fe ff ff    	je     0x610a
-    6231:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
-    6237:	c7 44 24 08 00 00 00 	movl   $0x0,0x8(%esp)
-    623e:	00 
-    623f:	89 34 24             	mov    %esi,(%esp)
-    6242:	89 4c 24 04          	mov    %ecx,0x4(%esp)
-    6246:	e8 fc ff ff ff       	call   0x6247
-    624b:	c7 85 40 ff ff ff 00 	movl   $0x100,-0xc0(%ebp)
-    6252:	01 00 00 
-    6255:	e9 04 a5 ff ff       	jmp    0x75e
-    625a:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
-    6260:	bf 02 00 00 00       	mov    $0x2,%edi
-    6265:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
-    626b:	e9 30 a0 ff ff       	jmp    0x2a0
-    6270:	8b 9d 40 ff ff ff    	mov    -0xc0(%ebp),%ebx
-    6276:	b8 00 01 00 00       	mov    $0x100,%eax
-    627b:	01 db                	add    %ebx,%ebx
-    627d:	81 fb 00 01 00 00    	cmp    $0x100,%ebx
-    6283:	0f 42 d8             	cmovb  %eax,%ebx
-    6286:	89 d0                	mov    %edx,%eax
-    6288:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
-    628f:	75 0a                	jne    0x629b
-    6291:	81 fb 00 00 01 00    	cmp    $0x10000,%ebx
-    6297:	76 51                	jbe    0x62ea
-    6299:	31 c0                	xor    %eax,%eax
-    629b:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
-    62a1:	89 5c 24 04          	mov    %ebx,0x4(%esp)
-    62a5:	89 04 24             	mov    %eax,(%esp)
-    62a8:	e8 fc ff ff ff       	call   0x62a9
-    62ad:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
-    62b3:	85 c0                	test   %eax,%eax
-    62b5:	89 c6                	mov    %eax,%esi
-    62b7:	74 71                	je     0x632a
-    62b9:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
-    62c0:	89 df                	mov    %ebx,%edi
-    62c2:	0f 85 b7 c7 ff ff    	jne    0x2a7f
-    62c8:	8b 85 40 ff ff ff    	mov    -0xc0(%ebp),%eax
-    62ce:	89 54 24 04          	mov    %edx,0x4(%esp)
-    62d2:	89 34 24             	mov    %esi,(%esp)
-    62d5:	89 44 24 08          	mov    %eax,0x8(%esp)
-    62d9:	e8 fc ff ff ff       	call   0x62da
-    62de:	c6 85 0f ff ff ff 01 	movb   $0x1,-0xf1(%ebp)
-    62e5:	e9 95 c7 ff ff       	jmp    0x2a7f
-    62ea:	c1 e3 02             	shl    $0x2,%ebx
-    62ed:	8b 8d 40 ff ff ff    	mov    -0xc0(%ebp),%ecx
-    62f3:	8d 43 10             	lea    0x10(%ebx),%eax
-    62f6:	29 c4                	sub    %eax,%esp
-    62f8:	8d 74 24 1f          	lea    0x1f(%esp),%esi
-    62fc:	83 e6 f0             	and    $0xfffffff0,%esi
-    62ff:	8d 04 1e             	lea    (%esi,%ebx,1),%eax
-    6302:	39 c2                	cmp    %eax,%edx
-    6304:	8d 3c 8b             	lea    (%ebx,%ecx,4),%edi
-    6307:	0f 45 fb             	cmovne %ebx,%edi
-    630a:	c1 ef 02             	shr    $0x2,%edi
-    630d:	85 d2                	test   %edx,%edx
-    630f:	0f 84 6a c7 ff ff    	je     0x2a7f
-    6315:	89 4c 24 08          	mov    %ecx,0x8(%esp)
-    6319:	89 54 24 04          	mov    %edx,0x4(%esp)
-    631d:	89 34 24             	mov    %esi,(%esp)
-    6320:	e8 fc ff ff ff       	call   0x6321
-    6325:	e9 55 c7 ff ff       	jmp    0x2a7f
-    632a:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
-    6331:	0f 84 47 e3 ff ff    	je     0x467e
-    6337:	89 14 24             	mov    %edx,(%esp)
-    633a:	83 cb ff             	or     $0xffffffff,%ebx
-    633d:	31 ff                	xor    %edi,%edi
-    633f:	e8 fc ff ff ff       	call   0x6340
-    6344:	c7 85 24 ff ff ff ff 	movl   $0xffffffff,-0xdc(%ebp)
-    634b:	ff ff ff 
-    634e:	e9 4d 9f ff ff       	jmp    0x2a0
-    6353:	f7 85 2c ff ff ff 00 	testl  $0x800,-0xd4(%ebp)
-    635a:	08 00 00 
-    635d:	0f 84 02 c7 ff ff    	je     0x2a65
-    6363:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
-    6369:	bf 02 00 00 00       	mov    $0x2,%edi
-    636e:	e9 2d 9f ff ff       	jmp    0x2a0
-    6373:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
-    6379:	bf 02 00 00 00       	mov    $0x2,%edi
-    637e:	e9 1d 9f ff ff       	jmp    0x2a0
-    6383:	8b 8d 34 ff ff ff    	mov    -0xcc(%ebp),%ecx
-    6389:	bf 02 00 00 00       	mov    $0x2,%edi
-    638e:	89 5c 24 04          	mov    %ebx,0x4(%esp)
-    6392:	89 0c 24             	mov    %ecx,(%esp)
-    6395:	e8 fc ff ff ff       	call   0x6396
-    639a:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
-    63a0:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
-    63a6:	e9 f5 9e ff ff       	jmp    0x2a0
-    63ab:	8b b5 ec fe ff ff    	mov    -0x114(%ebp),%esi
-    63b1:	85 f6                	test   %esi,%esi
-    63b3:	0f 84 8e 9c ff ff    	je     0x47
-    63b9:	31 ff                	xor    %edi,%edi
-    63bb:	3b 3e                	cmp    (%esi),%edi
-    63bd:	73 33                	jae    0x63f2
-    63bf:	8b 44 be 08          	mov    0x8(%esi,%edi,4),%eax
-    63c3:	8b 00                	mov    (%eax),%eax
-    63c5:	89 04 24             	mov    %eax,(%esp)
-    63c8:	e8 fc ff ff ff       	call   0x63c9
-    63cd:	8b 44 be 08          	mov    0x8(%esi,%edi,4),%eax
-    63d1:	83 c7 01             	add    $0x1,%edi
-    63d4:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
-    63da:	eb df                	jmp    0x63bb
-    63dc:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
-    63e2:	bf 02 00 00 00       	mov    $0x2,%edi
-    63e7:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
-    63ed:	e9 ae 9e ff ff       	jmp    0x2a0
-    63f2:	8b 76 04             	mov    0x4(%esi),%esi
-    63f5:	85 f6                	test   %esi,%esi
-    63f7:	75 c0                	jne    0x63b9
-    63f9:	e9 49 9c ff ff       	jmp    0x47
-    63fe:	8b 9d 34 ff ff ff    	mov    -0xcc(%ebp),%ebx
-    6404:	89 1c 24             	mov    %ebx,(%esp)
-    6407:	e8 fc ff ff ff       	call   0x6408
-    640c:	89 c3                	mov    %eax,%ebx
-    640e:	e9 18 d7 ff ff       	jmp    0x3b2b
-    6413:	a1 00 00 00 00       	mov    0x0,%eax
-    6418:	8b 95 1c ff ff ff    	mov    -0xe4(%ebp),%edx
-    641e:	65 89 10             	mov    %edx,%gs:(%eax)
-    6421:	e9 15 d7 ff ff       	jmp    0x3b3b
-    6426:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
-    642d:	0f 84 81 00 00 00    	je     0x64b4
-    6433:	89 14 24             	mov    %edx,(%esp)
-    6436:	c7 44 24 04 00 01 00 	movl   $0x100,0x4(%esp)
-    643d:	00 
-    643e:	e8 fc ff ff ff       	call   0x643f
-    6443:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
-    6449:	85 c0                	test   %eax,%eax
-    644b:	89 c6                	mov    %eax,%esi
-    644d:	74 49                	je     0x6498
-    644f:	c7 85 40 ff ff ff 00 	movl   $0x100,-0xc0(%ebp)
-    6456:	01 00 00 
-    6459:	e9 8a d6 ff ff       	jmp    0x3ae8
-    645e:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
-    6465:	0f 84 aa 00 00 00    	je     0x6515
-    646b:	8b 95 44 ff ff ff    	mov    -0xbc(%ebp),%edx
-    6471:	c7 44 24 04 00 01 00 	movl   $0x100,0x4(%esp)
-    6478:	00 
-    6479:	89 14 24             	mov    %edx,(%esp)
-    647c:	e8 fc ff ff ff       	call   0x647d
-    6481:	85 c0                	test   %eax,%eax
-    6483:	89 c6                	mov    %eax,%esi
-    6485:	74 6c                	je     0x64f3
-    6487:	89 c2                	mov    %eax,%edx
-    6489:	c7 85 40 ff ff ff 00 	movl   $0x100,-0xc0(%ebp)
-    6490:	01 00 00 
-    6493:	e9 2d ce ff ff       	jmp    0x32c5
-    6498:	89 14 24             	mov    %edx,(%esp)
-    649b:	83 cb ff             	or     $0xffffffff,%ebx
-    649e:	31 ff                	xor    %edi,%edi
-    64a0:	e8 fc ff ff ff       	call   0x64a1
-    64a5:	c7 85 24 ff ff ff ff 	movl   $0xffffffff,-0xdc(%ebp)
-    64ac:	ff ff ff 
-    64af:	e9 ec 9d ff ff       	jmp    0x2a0
-    64b4:	81 ec 10 04 00 00    	sub    $0x410,%esp
-    64ba:	8d 74 24 1f          	lea    0x1f(%esp),%esi
-    64be:	83 e6 f0             	and    $0xfffffff0,%esi
-    64c1:	8d 86 00 04 00 00    	lea    0x400(%esi),%eax
-    64c7:	39 c2                	cmp    %eax,%edx
-    64c9:	0f 94 c0             	sete   %al
-    64cc:	0f b6 c0             	movzbl %al,%eax
-    64cf:	05 00 01 00 00       	add    $0x100,%eax
-    64d4:	89 85 40 ff ff ff    	mov    %eax,-0xc0(%ebp)
-    64da:	c7 44 24 08 01 00 00 	movl   $0x1,0x8(%esp)
-    64e1:	00 
-    64e2:	89 54 24 04          	mov    %edx,0x4(%esp)
-    64e6:	89 34 24             	mov    %esi,(%esp)
-    64e9:	e8 fc ff ff ff       	call   0x64ea
-    64ee:	e9 f5 d5 ff ff       	jmp    0x3ae8
-    64f3:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
-    64f9:	83 cb ff             	or     $0xffffffff,%ebx
-    64fc:	31 ff                	xor    %edi,%edi
-    64fe:	89 0c 24             	mov    %ecx,(%esp)
-    6501:	e8 fc ff ff ff       	call   0x6502
-    6506:	c7 85 24 ff ff ff ff 	movl   $0xffffffff,-0xdc(%ebp)
-    650d:	ff ff ff 
-    6510:	e9 8b 9d ff ff       	jmp    0x2a0
-    6515:	81 ec 10 04 00 00    	sub    $0x410,%esp
-    651b:	8d 54 24 1f          	lea    0x1f(%esp),%edx
-    651f:	83 e2 f0             	and    $0xfffffff0,%edx
-    6522:	83 bd 44 ff ff ff 00 	cmpl   $0x0,-0xbc(%ebp)
-    6529:	c7 85 40 ff ff ff 00 	movl   $0x100,-0xc0(%ebp)
-    6530:	01 00 00 
-    6533:	0f 84 8c cd ff ff    	je     0x32c5
-    6539:	8b 9d 44 ff ff ff    	mov    -0xbc(%ebp),%ebx
-    653f:	89 14 24             	mov    %edx,(%esp)
-    6542:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
-    6548:	c7 44 24 08 00 00 00 	movl   $0x0,0x8(%esp)
-    654f:	00 
-    6550:	89 5c 24 04          	mov    %ebx,0x4(%esp)
-    6554:	e8 fc ff ff ff       	call   0x6555
-    6559:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
-    655f:	c7 85 40 ff ff ff 00 	movl   $0x100,-0xc0(%ebp)
-    6566:	01 00 00 
-    6569:	e9 57 cd ff ff       	jmp    0x32c5
-    656e:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
-    6574:	bf 02 00 00 00       	mov    $0x2,%edi
-    6579:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
-    657f:	e9 1c 9d ff ff       	jmp    0x2a0
-    6584:	8d 0c 12             	lea    (%edx,%edx,1),%ecx
-    6587:	b8 00 01 00 00       	mov    $0x100,%eax
-    658c:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
-    6592:	0f 43 c1             	cmovae %ecx,%eax
-    6595:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
-    659c:	89 85 44 ff ff ff    	mov    %eax,-0xbc(%ebp)
-    65a2:	89 f0                	mov    %esi,%eax
-    65a4:	75 0e                	jne    0x65b4
-    65a6:	81 bd 44 ff ff ff 00 	cmpl   $0x10000,-0xbc(%ebp)
-    65ad:	00 01 00 
-    65b0:	76 65                	jbe    0x6617
-    65b2:	31 c0                	xor    %eax,%eax
-    65b4:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
-    65ba:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
-    65c0:	89 04 24             	mov    %eax,(%esp)
-    65c3:	89 74 24 04          	mov    %esi,0x4(%esp)
-    65c7:	e8 fc ff ff ff       	call   0x65c8
-    65cc:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
-    65d2:	85 c0                	test   %eax,%eax
-    65d4:	89 c6                	mov    %eax,%esi
-    65d6:	0f 84 b7 00 00 00    	je     0x6693
-    65dc:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
-    65e3:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
-    65e9:	0f 85 ff c6 ff ff    	jne    0x2cee
-    65ef:	8b 85 14 ff ff ff    	mov    -0xec(%ebp),%eax
-    65f5:	89 54 24 08          	mov    %edx,0x8(%esp)
-    65f9:	89 34 24             	mov    %esi,(%esp)
-    65fc:	89 44 24 04          	mov    %eax,0x4(%esp)
-    6600:	e8 fc ff ff ff       	call   0x6601
-    6605:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
-    660b:	c6 85 0f ff ff ff 01 	movb   $0x1,-0xf1(%ebp)
-    6612:	e9 d7 c6 ff ff       	jmp    0x2cee
-    6617:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
-    661d:	c1 e1 02             	shl    $0x2,%ecx
-    6620:	89 c8                	mov    %ecx,%eax
-    6622:	83 c0 10             	add    $0x10,%eax
-    6625:	29 c4                	sub    %eax,%esp
-    6627:	8d 44 24 1f          	lea    0x1f(%esp),%eax
-    662b:	83 e0 f0             	and    $0xfffffff0,%eax
-    662e:	89 8d 44 ff ff ff    	mov    %ecx,-0xbc(%ebp)
-    6634:	01 c1                	add    %eax,%ecx
-    6636:	39 ce                	cmp    %ecx,%esi
-    6638:	89 c6                	mov    %eax,%esi
-    663a:	89 8d 40 ff ff ff    	mov    %ecx,-0xc0(%ebp)
-    6640:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
-    6646:	8d 0c 91             	lea    (%ecx,%edx,4),%ecx
-    6649:	89 8d f0 fe ff ff    	mov    %ecx,-0x110(%ebp)
-    664f:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
-    6655:	0f 44 8d f0 fe ff ff 	cmove  -0x110(%ebp),%ecx
-    665c:	c1 e9 02             	shr    $0x2,%ecx
-    665f:	83 bd 14 ff ff ff 00 	cmpl   $0x0,-0xec(%ebp)
-    6666:	0f 84 82 c6 ff ff    	je     0x2cee
-    666c:	8b 85 14 ff ff ff    	mov    -0xec(%ebp),%eax
-    6672:	89 8d cc fe ff ff    	mov    %ecx,-0x134(%ebp)
-    6678:	89 54 24 08          	mov    %edx,0x8(%esp)
-    667c:	89 34 24             	mov    %esi,(%esp)
-    667f:	89 44 24 04          	mov    %eax,0x4(%esp)
-    6683:	e8 fc ff ff ff       	call   0x6684
-    6688:	8b 8d cc fe ff ff    	mov    -0x134(%ebp),%ecx
-    668e:	e9 5b c6 ff ff       	jmp    0x2cee
-    6693:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
-    669a:	8b 95 14 ff ff ff    	mov    -0xec(%ebp),%edx
-    66a0:	0f 84 d8 df ff ff    	je     0x467e
-    66a6:	89 14 24             	mov    %edx,(%esp)
-    66a9:	83 cb ff             	or     $0xffffffff,%ebx
-    66ac:	31 ff                	xor    %edi,%edi
-    66ae:	e8 fc ff ff ff       	call   0x66af
-    66b3:	c7 85 24 ff ff ff ff 	movl   $0xffffffff,-0xdc(%ebp)
-    66ba:	ff ff ff 
-    66bd:	e9 de 9b ff ff       	jmp    0x2a0
-    66c2:	89 34 24             	mov    %esi,(%esp)
-    66c5:	e8 fc ff ff ff       	call   0x66c6
-    66ca:	89 c3                	mov    %eax,%ebx
-    66cc:	e9 44 ba ff ff       	jmp    0x2115
-    66d1:	83 85 00 ff ff ff 01 	addl   $0x1,-0x100(%ebp)
-    66d8:	8b 85 00 ff ff ff    	mov    -0x100(%ebp),%eax
-    66de:	8b b5 10 ff ff ff    	mov    -0xf0(%ebp),%esi
-    66e4:	c1 e0 02             	shl    $0x2,%eax
-    66e7:	89 44 24 04          	mov    %eax,0x4(%esp)
-    66eb:	8b 06                	mov    (%esi),%eax
-    66ed:	89 04 24             	mov    %eax,(%esp)
-    66f0:	e8 fc ff ff ff       	call   0x66f1
-    66f5:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
-    66fb:	85 c0                	test   %eax,%eax
-    66fd:	0f 84 58 06 00 00    	je     0x6d5b
-    6703:	8b 8d 10 ff ff ff    	mov    -0xf0(%ebp),%ecx
-    6709:	8d 34 10             	lea    (%eax,%edx,1),%esi
-    670c:	89 01                	mov    %eax,(%ecx)
-    670e:	e9 f2 a4 ff ff       	jmp    0xc05
-    6713:	a1 00 00 00 00       	mov    0x0,%eax
-    6718:	8b 8d 1c ff ff ff    	mov    -0xe4(%ebp),%ecx
-    671e:	65 89 08             	mov    %ecx,%gs:(%eax)
-    6721:	e9 fa eb ff ff       	jmp    0x5320
-    6726:	8d 0c 1b             	lea    (%ebx,%ebx,1),%ecx
-    6729:	b8 00 01 00 00       	mov    $0x100,%eax
-    672e:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
-    6734:	0f 42 c8             	cmovb  %eax,%ecx
-    6737:	89 f8                	mov    %edi,%eax
-    6739:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
-    6740:	75 0e                	jne    0x6750
-    6742:	81 f9 00 00 01 00    	cmp    $0x10000,%ecx
-    6748:	0f 86 af 03 00 00    	jbe    0x6afd
-    674e:	31 c0                	xor    %eax,%eax
-    6750:	89 4c 24 04          	mov    %ecx,0x4(%esp)
-    6754:	89 8d cc fe ff ff    	mov    %ecx,-0x134(%ebp)
-    675a:	89 04 24             	mov    %eax,(%esp)
-    675d:	e8 fc ff ff ff       	call   0x675e
-    6762:	8b 8d cc fe ff ff    	mov    -0x134(%ebp),%ecx
-    6768:	85 c0                	test   %eax,%eax
-    676a:	89 c6                	mov    %eax,%esi
-    676c:	0f 84 9d 05 00 00    	je     0x6d0f
-    6772:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
-    6779:	0f 84 64 05 00 00    	je     0x6ce3
-    677f:	89 cb                	mov    %ecx,%ebx
-    6781:	89 c7                	mov    %eax,%edi
-    6783:	e9 8a ed ff ff       	jmp    0x5512
-    6788:	8d 0c 12             	lea    (%edx,%edx,1),%ecx
-    678b:	b8 00 01 00 00       	mov    $0x100,%eax
-    6790:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
-    6796:	0f 43 c1             	cmovae %ecx,%eax
-    6799:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
-    67a0:	89 85 44 ff ff ff    	mov    %eax,-0xbc(%ebp)
-    67a6:	89 f0                	mov    %esi,%eax
-    67a8:	75 12                	jne    0x67bc
-    67aa:	81 bd 44 ff ff ff 00 	cmpl   $0x10000,-0xbc(%ebp)
-    67b1:	00 01 00 
-    67b4:	0f 86 35 de ff ff    	jbe    0x45ef
-    67ba:	31 c0                	xor    %eax,%eax
-    67bc:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
-    67c2:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
-    67c8:	89 04 24             	mov    %eax,(%esp)
-    67cb:	89 74 24 04          	mov    %esi,0x4(%esp)
-    67cf:	e8 fc ff ff ff       	call   0x67d0
-    67d4:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
-    67da:	85 c0                	test   %eax,%eax
-    67dc:	89 c6                	mov    %eax,%esi
-    67de:	0f 85 f6 c3 ff ff    	jne    0x2bda
-    67e4:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
-    67eb:	8b 95 14 ff ff ff    	mov    -0xec(%ebp),%edx
-    67f1:	0f 84 87 de ff ff    	je     0x467e
-    67f7:	89 14 24             	mov    %edx,(%esp)
-    67fa:	83 cb ff             	or     $0xffffffff,%ebx
-    67fd:	31 ff                	xor    %edi,%edi
-    67ff:	e8 fc ff ff ff       	call   0x6800
-    6804:	c7 85 24 ff ff ff ff 	movl   $0xffffffff,-0xdc(%ebp)
-    680b:	ff ff ff 
-    680e:	e9 8d 9a ff ff       	jmp    0x2a0
-    6813:	8b 9d 34 ff ff ff    	mov    -0xcc(%ebp),%ebx
-    6819:	89 1c 24             	mov    %ebx,(%esp)
-    681c:	e8 fc ff ff ff       	call   0x681d
-    6821:	89 c3                	mov    %eax,%ebx
-    6823:	e9 f1 b0 ff ff       	jmp    0x1919
-    6828:	8b b5 1c ff ff ff    	mov    -0xe4(%ebp),%esi
-    682e:	89 fa                	mov    %edi,%edx
-    6830:	a1 00 00 00 00       	mov    0x0,%eax
-    6835:	89 9d 40 ff ff ff    	mov    %ebx,-0xc0(%ebp)
-    683b:	65 89 30             	mov    %esi,%gs:(%eax)
-    683e:	89 fe                	mov    %edi,%esi
-    6840:	e9 05 c2 ff ff       	jmp    0x2a4a
-    6845:	89 9d 40 ff ff ff    	mov    %ebx,-0xc0(%ebp)
-    684b:	89 fa                	mov    %edi,%edx
-    684d:	e9 f6 c1 ff ff       	jmp    0x2a48
-    6852:	8b 8d 34 ff ff ff    	mov    -0xcc(%ebp),%ecx
-    6858:	89 0c 24             	mov    %ecx,(%esp)
-    685b:	e8 fc ff ff ff       	call   0x685c
-    6860:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
-    6866:	e9 fc ec ff ff       	jmp    0x5567
-    686b:	8d 0c 1b             	lea    (%ebx,%ebx,1),%ecx
-    686e:	b8 00 01 00 00       	mov    $0x100,%eax
-    6873:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
-    6879:	0f 42 c8             	cmovb  %eax,%ecx
-    687c:	89 f8                	mov    %edi,%eax
-    687e:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
-    6885:	75 0a                	jne    0x6891
-    6887:	81 f9 00 00 01 00    	cmp    $0x10000,%ecx
-    688d:	76 32                	jbe    0x68c1
-    688f:	31 c0                	xor    %eax,%eax
-    6891:	89 4c 24 04          	mov    %ecx,0x4(%esp)
-    6895:	89 8d cc fe ff ff    	mov    %ecx,-0x134(%ebp)
-    689b:	89 04 24             	mov    %eax,(%esp)
-    689e:	e8 fc ff ff ff       	call   0x689f
-    68a3:	8b 8d cc fe ff ff    	mov    -0x134(%ebp),%ecx
-    68a9:	85 c0                	test   %eax,%eax
-    68ab:	89 c6                	mov    %eax,%esi
-    68ad:	74 7a                	je     0x6929
-    68af:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
-    68b6:	74 45                	je     0x68fd
-    68b8:	89 cb                	mov    %ecx,%ebx
-    68ba:	89 c7                	mov    %eax,%edi
-    68bc:	e9 00 ed ff ff       	jmp    0x55c1
-    68c1:	8d 04 8d 00 00 00 00 	lea    0x0(,%ecx,4),%eax
-    68c8:	8d 48 10             	lea    0x10(%eax),%ecx
-    68cb:	29 cc                	sub    %ecx,%esp
-    68cd:	8d 74 24 1f          	lea    0x1f(%esp),%esi
-    68d1:	83 e6 f0             	and    $0xfffffff0,%esi
-    68d4:	8d 0c 06             	lea    (%esi,%eax,1),%ecx
-    68d7:	39 cf                	cmp    %ecx,%edi
-    68d9:	8d 1c 90             	lea    (%eax,%edx,4),%ebx
-    68dc:	0f 45 d8             	cmovne %eax,%ebx
-    68df:	c1 eb 02             	shr    $0x2,%ebx
-    68e2:	85 ff                	test   %edi,%edi
-    68e4:	74 10                	je     0x68f6
-    68e6:	89 54 24 08          	mov    %edx,0x8(%esp)
-    68ea:	89 7c 24 04          	mov    %edi,0x4(%esp)
-    68ee:	89 34 24             	mov    %esi,(%esp)
-    68f1:	e8 fc ff ff ff       	call   0x68f2
-    68f6:	89 f7                	mov    %esi,%edi
-    68f8:	e9 c4 ec ff ff       	jmp    0x55c1
-    68fd:	89 5c 24 08          	mov    %ebx,0x8(%esp)
-    6901:	89 7c 24 04          	mov    %edi,0x4(%esp)
-    6905:	89 f7                	mov    %esi,%edi
-    6907:	89 8d cc fe ff ff    	mov    %ecx,-0x134(%ebp)
-    690d:	89 04 24             	mov    %eax,(%esp)
-    6910:	e8 fc ff ff ff       	call   0x6911
-    6915:	8b 8d cc fe ff ff    	mov    -0x134(%ebp),%ecx
-    691b:	c6 85 0f ff ff ff 01 	movb   $0x1,-0xf1(%ebp)
-    6922:	89 cb                	mov    %ecx,%ebx
-    6924:	e9 98 ec ff ff       	jmp    0x55c1
-    6929:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
-    6930:	0f 84 48 dd ff ff    	je     0x467e
-    6936:	89 3c 24             	mov    %edi,(%esp)
-    6939:	83 cb ff             	or     $0xffffffff,%ebx
-    693c:	31 ff                	xor    %edi,%edi
-    693e:	e8 fc ff ff ff       	call   0x693f
-    6943:	c7 85 24 ff ff ff ff 	movl   $0xffffffff,-0xdc(%ebp)
-    694a:	ff ff ff 
-    694d:	e9 4e 99 ff ff       	jmp    0x2a0
-    6952:	85 d2                	test   %edx,%edx
-    6954:	0f 84 f3 ea ff ff    	je     0x544d
-    695a:	8b 8d 3c ff ff ff    	mov    -0xc4(%ebp),%ecx
-    6960:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
-    6966:	89 0c 24             	mov    %ecx,(%esp)
-    6969:	e8 fc ff ff ff       	call   0x696a
-    696e:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
-    6974:	39 85 e0 fe ff ff    	cmp    %eax,-0x120(%ebp)
-    697a:	89 85 40 ff ff ff    	mov    %eax,-0xc0(%ebp)
-    6980:	0f 85 c7 ea ff ff    	jne    0x544d
-    6986:	39 da                	cmp    %ebx,%edx
-    6988:	74 46                	je     0x69d0
-    698a:	8b 85 40 ff ff ff    	mov    -0xc0(%ebp),%eax
-    6990:	8b b5 48 ff ff ff    	mov    -0xb8(%ebp),%esi
-    6996:	c6 85 e8 fe ff ff 01 	movb   $0x1,-0x118(%ebp)
-    699d:	c6 85 f0 fe ff ff 01 	movb   $0x1,-0x110(%ebp)
-    69a4:	89 04 37             	mov    %eax,(%edi,%esi,1)
-    69a7:	e9 78 eb ff ff       	jmp    0x5524
-    69ac:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
-    69b2:	89 5c 24 04          	mov    %ebx,0x4(%esp)
-    69b6:	89 34 24             	mov    %esi,(%esp)
-    69b9:	e8 fc ff ff ff       	call   0x69ba
-    69be:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
-    69c4:	89 84 b5 8c fe ff ff 	mov    %eax,-0x174(%ebp,%esi,4)
-    69cb:	e9 cc e9 ff ff       	jmp    0x539c
-    69d0:	8d 0c 1b             	lea    (%ebx,%ebx,1),%ecx
-    69d3:	b8 00 01 00 00       	mov    $0x100,%eax
-    69d8:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
-    69de:	0f 42 c8             	cmovb  %eax,%ecx
-    69e1:	89 f8                	mov    %edi,%eax
-    69e3:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
-    69ea:	75 0a                	jne    0x69f6
-    69ec:	81 f9 00 00 01 00    	cmp    $0x10000,%ecx
-    69f2:	76 3e                	jbe    0x6a32
-    69f4:	31 c0                	xor    %eax,%eax
-    69f6:	89 4c 24 04          	mov    %ecx,0x4(%esp)
-    69fa:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
-    6a00:	89 8d cc fe ff ff    	mov    %ecx,-0x134(%ebp)
-    6a06:	89 04 24             	mov    %eax,(%esp)
-    6a09:	e8 fc ff ff ff       	call   0x6a0a
-    6a0e:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
-    6a14:	8b 8d cc fe ff ff    	mov    -0x134(%ebp),%ecx
-    6a1a:	85 c0                	test   %eax,%eax
-    6a1c:	89 c6                	mov    %eax,%esi
-    6a1e:	74 76                	je     0x6a96
-    6a20:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
-    6a27:	74 41                	je     0x6a6a
-    6a29:	89 cb                	mov    %ecx,%ebx
-    6a2b:	89 c7                	mov    %eax,%edi
-    6a2d:	e9 58 ff ff ff       	jmp    0x698a
-    6a32:	c1 e1 02             	shl    $0x2,%ecx
-    6a35:	8d 41 10             	lea    0x10(%ecx),%eax
-    6a38:	29 c4                	sub    %eax,%esp
-    6a3a:	8d 74 24 1f          	lea    0x1f(%esp),%esi
-    6a3e:	83 e6 f0             	and    $0xfffffff0,%esi
-    6a41:	8d 04 0e             	lea    (%esi,%ecx,1),%eax
-    6a44:	39 c7                	cmp    %eax,%edi
-    6a46:	8d 1c 99             	lea    (%ecx,%ebx,4),%ebx
-    6a49:	0f 45 d9             	cmovne %ecx,%ebx
-    6a4c:	c1 eb 02             	shr    $0x2,%ebx
-    6a4f:	85 ff                	test   %edi,%edi
-    6a51:	74 10                	je     0x6a63
-    6a53:	89 54 24 08          	mov    %edx,0x8(%esp)
-    6a57:	89 7c 24 04          	mov    %edi,0x4(%esp)
-    6a5b:	89 34 24             	mov    %esi,(%esp)
-    6a5e:	e8 fc ff ff ff       	call   0x6a5f
-    6a63:	89 f7                	mov    %esi,%edi
-    6a65:	e9 20 ff ff ff       	jmp    0x698a
-    6a6a:	89 7c 24 04          	mov    %edi,0x4(%esp)
-    6a6e:	89 f7                	mov    %esi,%edi
-    6a70:	89 8d cc fe ff ff    	mov    %ecx,-0x134(%ebp)
-    6a76:	89 54 24 08          	mov    %edx,0x8(%esp)
-    6a7a:	89 04 24             	mov    %eax,(%esp)
-    6a7d:	e8 fc ff ff ff       	call   0x6a7e
-    6a82:	8b 8d cc fe ff ff    	mov    -0x134(%ebp),%ecx
-    6a88:	c6 85 0f ff ff ff 01 	movb   $0x1,-0xf1(%ebp)
-    6a8f:	89 cb                	mov    %ecx,%ebx
-    6a91:	e9 f4 fe ff ff       	jmp    0x698a
-    6a96:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
-    6a9d:	0f 84 db db ff ff    	je     0x467e
-    6aa3:	89 3c 24             	mov    %edi,(%esp)
-    6aa6:	83 cb ff             	or     $0xffffffff,%ebx
-    6aa9:	31 ff                	xor    %edi,%edi
-    6aab:	e8 fc ff ff ff       	call   0x6aac
-    6ab0:	c7 85 24 ff ff ff ff 	movl   $0xffffffff,-0xdc(%ebp)
-    6ab7:	ff ff ff 
-    6aba:	e9 e1 97 ff ff       	jmp    0x2a0
-    6abf:	0f b6 85 f0 fe ff ff 	movzbl -0x110(%ebp),%eax
-    6ac6:	83 f0 01             	xor    $0x1,%eax
-    6ac9:	83 bd 40 ff ff ff 0b 	cmpl   $0xb,-0xc0(%ebp)
-    6ad0:	0f 85 67 01 00 00    	jne    0x6c3d
-    6ad6:	84 c0                	test   %al,%al
-    6ad8:	0f 84 42 01 00 00    	je     0x6c20
-    6ade:	39 da                	cmp    %ebx,%edx
-    6ae0:	74 57                	je     0x6b39
-    6ae2:	8b b5 dc fe ff ff    	mov    -0x124(%ebp),%esi
-    6ae8:	8b 8d 48 ff ff ff    	mov    -0xb8(%ebp),%ecx
-    6aee:	c6 85 f0 fe ff ff 01 	movb   $0x1,-0x110(%ebp)
-    6af5:	89 34 0f             	mov    %esi,(%edi,%ecx,1)
-    6af8:	e9 27 ea ff ff       	jmp    0x5524
-    6afd:	8d 04 8d 00 00 00 00 	lea    0x0(,%ecx,4),%eax
-    6b04:	8d 48 10             	lea    0x10(%eax),%ecx
-    6b07:	29 cc                	sub    %ecx,%esp
-    6b09:	8d 74 24 1f          	lea    0x1f(%esp),%esi
-    6b0d:	83 e6 f0             	and    $0xfffffff0,%esi
-    6b10:	8d 0c 06             	lea    (%esi,%eax,1),%ecx
-    6b13:	39 cf                	cmp    %ecx,%edi
-    6b15:	8d 1c 90             	lea    (%eax,%edx,4),%ebx
-    6b18:	0f 45 d8             	cmovne %eax,%ebx
-    6b1b:	c1 eb 02             	shr    $0x2,%ebx
-    6b1e:	85 ff                	test   %edi,%edi
-    6b20:	74 10                	je     0x6b32
-    6b22:	89 54 24 08          	mov    %edx,0x8(%esp)
-    6b26:	89 7c 24 04          	mov    %edi,0x4(%esp)
-    6b2a:	89 34 24             	mov    %esi,(%esp)
-    6b2d:	e8 fc ff ff ff       	call   0x6b2e
-    6b32:	89 f7                	mov    %esi,%edi
-    6b34:	e9 d9 e9 ff ff       	jmp    0x5512
-    6b39:	8d 0c 1b             	lea    (%ebx,%ebx,1),%ecx
-    6b3c:	b8 00 01 00 00       	mov    $0x100,%eax
-    6b41:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
-    6b47:	0f 42 c8             	cmovb  %eax,%ecx
-    6b4a:	89 f8                	mov    %edi,%eax
-    6b4c:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
-    6b53:	75 0a                	jne    0x6b5f
-    6b55:	81 f9 00 00 01 00    	cmp    $0x10000,%ecx
-    6b5b:	76 32                	jbe    0x6b8f
-    6b5d:	31 c0                	xor    %eax,%eax
-    6b5f:	89 4c 24 04          	mov    %ecx,0x4(%esp)
-    6b63:	89 8d cc fe ff ff    	mov    %ecx,-0x134(%ebp)
-    6b69:	89 04 24             	mov    %eax,(%esp)
-    6b6c:	e8 fc ff ff ff       	call   0x6b6d
-    6b71:	8b 8d cc fe ff ff    	mov    -0x134(%ebp),%ecx
-    6b77:	85 c0                	test   %eax,%eax
-    6b79:	89 c6                	mov    %eax,%esi
-    6b7b:	74 7a                	je     0x6bf7
-    6b7d:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
-    6b84:	74 45                	je     0x6bcb
-    6b86:	89 cb                	mov    %ecx,%ebx
-    6b88:	89 c7                	mov    %eax,%edi
-    6b8a:	e9 53 ff ff ff       	jmp    0x6ae2
-    6b8f:	8d 04 8d 00 00 00 00 	lea    0x0(,%ecx,4),%eax
-    6b96:	8d 48 10             	lea    0x10(%eax),%ecx
-    6b99:	29 cc                	sub    %ecx,%esp
-    6b9b:	8d 74 24 1f          	lea    0x1f(%esp),%esi
-    6b9f:	83 e6 f0             	and    $0xfffffff0,%esi
-    6ba2:	8d 0c 06             	lea    (%esi,%eax,1),%ecx
-    6ba5:	39 cf                	cmp    %ecx,%edi
-    6ba7:	8d 1c 90             	lea    (%eax,%edx,4),%ebx
-    6baa:	0f 45 d8             	cmovne %eax,%ebx
-    6bad:	c1 eb 02             	shr    $0x2,%ebx
-    6bb0:	85 ff                	test   %edi,%edi
-    6bb2:	74 10                	je     0x6bc4
-    6bb4:	89 54 24 08          	mov    %edx,0x8(%esp)
-    6bb8:	89 7c 24 04          	mov    %edi,0x4(%esp)
-    6bbc:	89 34 24             	mov    %esi,(%esp)
-    6bbf:	e8 fc ff ff ff       	call   0x6bc0
-    6bc4:	89 f7                	mov    %esi,%edi
-    6bc6:	e9 17 ff ff ff       	jmp    0x6ae2
-    6bcb:	89 5c 24 08          	mov    %ebx,0x8(%esp)
-    6bcf:	89 7c 24 04          	mov    %edi,0x4(%esp)
-    6bd3:	89 f7                	mov    %esi,%edi
-    6bd5:	89 8d cc fe ff ff    	mov    %ecx,-0x134(%ebp)
-    6bdb:	89 04 24             	mov    %eax,(%esp)
-    6bde:	e8 fc ff ff ff       	call   0x6bdf
-    6be3:	8b 8d cc fe ff ff    	mov    -0x134(%ebp),%ecx
-    6be9:	c6 85 0f ff ff ff 01 	movb   $0x1,-0xf1(%ebp)
-    6bf0:	89 cb                	mov    %ecx,%ebx
-    6bf2:	e9 eb fe ff ff       	jmp    0x6ae2
-    6bf7:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
-    6bfe:	0f 84 7a da ff ff    	je     0x467e
-    6c04:	89 3c 24             	mov    %edi,(%esp)
-    6c07:	83 cb ff             	or     $0xffffffff,%ebx
-    6c0a:	31 ff                	xor    %edi,%edi
-    6c0c:	e8 fc ff ff ff       	call   0x6c0d
-    6c11:	c7 85 24 ff ff ff ff 	movl   $0xffffffff,-0xdc(%ebp)
-    6c18:	ff ff ff 
-    6c1b:	e9 80 96 ff ff       	jmp    0x2a0
-    6c20:	89 9d 40 ff ff ff    	mov    %ebx,-0xc0(%ebp)
-    6c26:	89 d3                	mov    %edx,%ebx
-    6c28:	89 fe                	mov    %edi,%esi
-    6c2a:	89 fa                	mov    %edi,%edx
-    6c2c:	89 9d 44 ff ff ff    	mov    %ebx,-0xbc(%ebp)
-    6c32:	89 8d 3c ff ff ff    	mov    %ecx,-0xc4(%ebp)
-    6c38:	e9 49 e8 ff ff       	jmp    0x5486
-    6c3d:	83 bd 40 ff ff ff 0a 	cmpl   $0xa,-0xc0(%ebp)
-    6c44:	75 da                	jne    0x6c20
-    6c46:	83 bd d8 fe ff ff 00 	cmpl   $0x0,-0x128(%ebp)
-    6c4d:	74 d1                	je     0x6c20
-    6c4f:	84 c0                	test   %al,%al
-    6c51:	74 cd                	je     0x6c20
-    6c53:	39 da                	cmp    %ebx,%edx
-    6c55:	0f 84 5c 01 00 00    	je     0x6db7
-    6c5b:	8b 95 18 ff ff ff    	mov    -0xe8(%ebp),%edx
-    6c61:	8b 85 48 ff ff ff    	mov    -0xb8(%ebp),%eax
-    6c67:	c6 85 f0 fe ff ff 00 	movb   $0x0,-0x110(%ebp)
-    6c6e:	89 14 07             	mov    %edx,(%edi,%eax,1)
-    6c71:	e9 ae e8 ff ff       	jmp    0x5524
-    6c76:	8b 85 34 ff ff ff    	mov    -0xcc(%ebp),%eax
-    6c7c:	89 04 24             	mov    %eax,(%esp)
-    6c7f:	e8 fc ff ff ff       	call   0x6c80
-    6c84:	89 c3                	mov    %eax,%ebx
-    6c86:	e9 b0 b6 ff ff       	jmp    0x233b
-    6c8b:	8b bd 34 ff ff ff    	mov    -0xcc(%ebp),%edi
-    6c91:	89 3c 24             	mov    %edi,(%esp)
-    6c94:	e8 fc ff ff ff       	call   0x6c95
-    6c99:	89 c3                	mov    %eax,%ebx
-    6c9b:	e9 85 a8 ff ff       	jmp    0x1525
-    6ca0:	f7 85 2c ff ff ff 00 	testl  $0x2000,-0xd4(%ebp)
-    6ca7:	20 00 00 
-    6caa:	0f 85 ba bc ff ff    	jne    0x296a
-    6cb0:	8b 95 10 ff ff ff    	mov    -0xf0(%ebp),%edx
-    6cb6:	8b 02                	mov    (%edx),%eax
-    6cb8:	c6 04 38 00          	movb   $0x0,(%eax,%edi,1)
-    6cbc:	bf 02 00 00 00       	mov    $0x2,%edi
-    6cc1:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
-    6cc7:	83 85 24 ff ff ff 01 	addl   $0x1,-0xdc(%ebp)
-    6cce:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
-    6cd4:	c7 85 10 ff ff ff 00 	movl   $0x0,-0xf0(%ebp)
-    6cdb:	00 00 00 
-    6cde:	e9 bd 95 ff ff       	jmp    0x2a0
-    6ce3:	89 5c 24 08          	mov    %ebx,0x8(%esp)
-    6ce7:	89 7c 24 04          	mov    %edi,0x4(%esp)
-    6ceb:	89 f7                	mov    %esi,%edi
-    6ced:	89 8d cc fe ff ff    	mov    %ecx,-0x134(%ebp)
-    6cf3:	89 04 24             	mov    %eax,(%esp)
-    6cf6:	e8 fc ff ff ff       	call   0x6cf7
-    6cfb:	8b 8d cc fe ff ff    	mov    -0x134(%ebp),%ecx
-    6d01:	c6 85 0f ff ff ff 01 	movb   $0x1,-0xf1(%ebp)
-    6d08:	89 cb                	mov    %ecx,%ebx
-    6d0a:	e9 03 e8 ff ff       	jmp    0x5512
-    6d0f:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
-    6d16:	0f 84 62 d9 ff ff    	je     0x467e
-    6d1c:	89 3c 24             	mov    %edi,(%esp)
-    6d1f:	83 cb ff             	or     $0xffffffff,%ebx
-    6d22:	31 ff                	xor    %edi,%edi
-    6d24:	e8 fc ff ff ff       	call   0x6d25
-    6d29:	c7 85 24 ff ff ff ff 	movl   $0xffffffff,-0xdc(%ebp)
-    6d30:	ff ff ff 
-    6d33:	e9 68 95 ff ff       	jmp    0x2a0
-    6d38:	83 bd 24 ff ff ff 00 	cmpl   $0x0,-0xdc(%ebp)
-    6d3f:	0f 84 41 95 ff ff    	je     0x286
-    6d45:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
-    6d4b:	bf 01 00 00 00       	mov    $0x1,%edi
-    6d50:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
-    6d56:	e9 45 95 ff ff       	jmp    0x2a0
-    6d5b:	f7 85 2c ff ff ff 00 	testl  $0x2000,-0xd4(%ebp)
-    6d62:	20 00 00 
-    6d65:	0f 85 ff bb ff ff    	jne    0x296a
-    6d6b:	8b 06                	mov    (%esi),%eax
-    6d6d:	8b bd 30 ff ff ff    	mov    -0xd0(%ebp),%edi
-    6d73:	83 85 24 ff ff ff 01 	addl   $0x1,-0xdc(%ebp)
-    6d7a:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
-    6d80:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
-    6d86:	c7 44 b8 fc 00 00 00 	movl   $0x0,-0x4(%eax,%edi,4)
-    6d8d:	00 
-    6d8e:	bf 02 00 00 00       	mov    $0x2,%edi
-    6d93:	c7 85 10 ff ff ff 00 	movl   $0x0,-0xf0(%ebp)
-    6d9a:	00 00 00 
-    6d9d:	e9 fe 94 ff ff       	jmp    0x2a0
-    6da2:	8b 9d 34 ff ff ff    	mov    -0xcc(%ebp),%ebx
-    6da8:	89 1c 24             	mov    %ebx,(%esp)
-    6dab:	e8 fc ff ff ff       	call   0x6dac
-    6db0:	89 c3                	mov    %eax,%ebx
-    6db2:	e9 85 a5 ff ff       	jmp    0x133c
-    6db7:	8d 0c 1b             	lea    (%ebx,%ebx,1),%ecx
-    6dba:	b8 00 01 00 00       	mov    $0x100,%eax
-    6dbf:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
-    6dc5:	0f 42 c8             	cmovb  %eax,%ecx
-    6dc8:	89 f8                	mov    %edi,%eax
-    6dca:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
-    6dd1:	75 0a                	jne    0x6ddd
-    6dd3:	81 f9 00 00 01 00    	cmp    $0x10000,%ecx
-    6dd9:	76 32                	jbe    0x6e0d
-    6ddb:	31 c0                	xor    %eax,%eax
-    6ddd:	89 4c 24 04          	mov    %ecx,0x4(%esp)
-    6de1:	89 8d cc fe ff ff    	mov    %ecx,-0x134(%ebp)
-    6de7:	89 04 24             	mov    %eax,(%esp)
-    6dea:	e8 fc ff ff ff       	call   0x6deb
-    6def:	8b 8d cc fe ff ff    	mov    -0x134(%ebp),%ecx
-    6df5:	85 c0                	test   %eax,%eax
-    6df7:	89 c6                	mov    %eax,%esi
-    6df9:	74 7a                	je     0x6e75
-    6dfb:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
-    6e02:	74 45                	je     0x6e49
-    6e04:	89 cb                	mov    %ecx,%ebx
-    6e06:	89 c7                	mov    %eax,%edi
-    6e08:	e9 4e fe ff ff       	jmp    0x6c5b
-    6e0d:	8d 04 8d 00 00 00 00 	lea    0x0(,%ecx,4),%eax
-    6e14:	8d 48 10             	lea    0x10(%eax),%ecx
-    6e17:	29 cc                	sub    %ecx,%esp
-    6e19:	8d 74 24 1f          	lea    0x1f(%esp),%esi
-    6e1d:	83 e6 f0             	and    $0xfffffff0,%esi
-    6e20:	8d 0c 06             	lea    (%esi,%eax,1),%ecx
-    6e23:	39 cf                	cmp    %ecx,%edi
-    6e25:	8d 1c 90             	lea    (%eax,%edx,4),%ebx
-    6e28:	0f 45 d8             	cmovne %eax,%ebx
-    6e2b:	c1 eb 02             	shr    $0x2,%ebx
-    6e2e:	85 ff                	test   %edi,%edi
-    6e30:	74 10                	je     0x6e42
-    6e32:	89 54 24 08          	mov    %edx,0x8(%esp)
-    6e36:	89 7c 24 04          	mov    %edi,0x4(%esp)
-    6e3a:	89 34 24             	mov    %esi,(%esp)
-    6e3d:	e8 fc ff ff ff       	call   0x6e3e
-    6e42:	89 f7                	mov    %esi,%edi
-    6e44:	e9 12 fe ff ff       	jmp    0x6c5b
-    6e49:	89 5c 24 08          	mov    %ebx,0x8(%esp)
-    6e4d:	89 7c 24 04          	mov    %edi,0x4(%esp)
-    6e51:	89 f7                	mov    %esi,%edi
-    6e53:	89 8d cc fe ff ff    	mov    %ecx,-0x134(%ebp)
-    6e59:	89 04 24             	mov    %eax,(%esp)
-    6e5c:	e8 fc ff ff ff       	call   0x6e5d
-    6e61:	8b 8d cc fe ff ff    	mov    -0x134(%ebp),%ecx
-    6e67:	c6 85 0f ff ff ff 01 	movb   $0x1,-0xf1(%ebp)
-    6e6e:	89 cb                	mov    %ecx,%ebx
-    6e70:	e9 e6 fd ff ff       	jmp    0x6c5b
-    6e75:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
-    6e7c:	0f 84 fc d7 ff ff    	je     0x467e
-    6e82:	89 3c 24             	mov    %edi,(%esp)
-    6e85:	83 cb ff             	or     $0xffffffff,%ebx
-    6e88:	31 ff                	xor    %edi,%edi
-    6e8a:	e8 fc ff ff ff       	call   0x6e8b
-    6e8f:	c7 85 24 ff ff ff ff 	movl   $0xffffffff,-0xdc(%ebp)
-    6e96:	ff ff ff 
-    6e99:	e9 02 94 ff ff       	jmp    0x2a0
-    6e9e:	66 90                	xchg   %ax,%ax
-    6ea0:	55                   	push   %ebp
-    6ea1:	89 e5                	mov    %esp,%ebp
-    6ea3:	83 ec 10             	sub    $0x10,%esp
-    6ea6:	8b 45 10             	mov    0x10(%ebp),%eax
-    6ea9:	c7 44 24 0c 00 00 00 	movl   $0x0,0xc(%esp)
-    6eb0:	00 
-    6eb1:	89 44 24 08          	mov    %eax,0x8(%esp)
-    6eb5:	8b 45 0c             	mov    0xc(%ebp),%eax
-    6eb8:	89 44 24 04          	mov    %eax,0x4(%esp)
-    6ebc:	8b 45 08             	mov    0x8(%ebp),%eax
-    6ebf:	89 04 24             	mov    %eax,(%esp)
-    6ec2:	e8 fc ff ff ff       	call   0x6ec3
-    6ec7:	c9                   	leave  
-    6ec8:	c3                   	ret    
+    607b:	e8 fc ff ff ff       	call   0x607c
+    6080:	89 f7                	mov    %esi,%edi
+    6082:	e9 b7 fd ff ff       	jmp    0x5e3e
+    6087:	89 5c 24 08          	mov    %ebx,0x8(%esp)
+    608b:	89 7c 24 04          	mov    %edi,0x4(%esp)
+    608f:	89 f7                	mov    %esi,%edi
+    6091:	89 8d cc fe ff ff    	mov    %ecx,-0x134(%ebp)
+    6097:	89 04 24             	mov    %eax,(%esp)
+    609a:	e8 fc ff ff ff       	call   0x609b
+    609f:	8b 8d cc fe ff ff    	mov    -0x134(%ebp),%ecx
+    60a5:	c6 85 0f ff ff ff 01 	movb   $0x1,-0xf1(%ebp)
+    60ac:	89 cb                	mov    %ecx,%ebx
+    60ae:	e9 8b fd ff ff       	jmp    0x5e3e
+    60b3:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
+    60ba:	0f 84 32 e5 ff ff    	je     0x45f2
+    60c0:	89 3c 24             	mov    %edi,(%esp)
+    60c3:	83 cb ff             	or     $0xffffffff,%ebx
+    60c6:	31 ff                	xor    %edi,%edi
+    60c8:	e8 fc ff ff ff       	call   0x60c9
+    60cd:	c7 85 24 ff ff ff ff 	movl   $0xffffffff,-0xdc(%ebp)
+    60d4:	ff ff ff 
+    60d7:	e9 c4 a1 ff ff       	jmp    0x2a0
+    60dc:	89 9d 40 ff ff ff    	mov    %ebx,-0xc0(%ebp)
+    60e2:	89 d3                	mov    %edx,%ebx
+    60e4:	89 fe                	mov    %edi,%esi
+    60e6:	89 fa                	mov    %edi,%edx
+    60e8:	89 9d 44 ff ff ff    	mov    %ebx,-0xbc(%ebp)
+    60ee:	89 8d 3c ff ff ff    	mov    %ecx,-0xc4(%ebp)
+    60f4:	e9 43 f9 ff ff       	jmp    0x5a3c
+    60f9:	83 bd 40 ff ff ff 0a 	cmpl   $0xa,-0xc0(%ebp)
+    6100:	75 da                	jne    0x60dc
+    6102:	83 bd d8 fe ff ff 00 	cmpl   $0x0,-0x128(%ebp)
+    6109:	74 d1                	je     0x60dc
+    610b:	84 c0                	test   %al,%al
+    610d:	74 cd                	je     0x60dc
+    610f:	39 da                	cmp    %ebx,%edx
+    6111:	0f 84 16 02 00 00    	je     0x632d
+    6117:	8b 95 18 ff ff ff    	mov    -0xe8(%ebp),%edx
+    611d:	8b 85 48 ff ff ff    	mov    -0xb8(%ebp),%eax
+    6123:	c6 85 f0 fe ff ff 00 	movb   $0x0,-0x110(%ebp)
+    612a:	89 14 07             	mov    %edx,(%edi,%eax,1)
+    612d:	e9 83 f9 ff ff       	jmp    0x5ab5
+    6132:	8b 85 34 ff ff ff    	mov    -0xcc(%ebp),%eax
+    6138:	89 04 24             	mov    %eax,(%esp)
+    613b:	e8 fc ff ff ff       	call   0x613c
+    6140:	89 c3                	mov    %eax,%ebx
+    6142:	e9 42 af ff ff       	jmp    0x1089
+    6147:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
+    614e:	74 70                	je     0x61c0
+    6150:	8b 95 44 ff ff ff    	mov    -0xbc(%ebp),%edx
+    6156:	c7 44 24 04 00 01 00 	movl   $0x100,0x4(%esp)
+    615d:	00 
+    615e:	89 14 24             	mov    %edx,(%esp)
+    6161:	e8 fc ff ff ff       	call   0x6162
+    6166:	85 c0                	test   %eax,%eax
+    6168:	89 c6                	mov    %eax,%esi
+    616a:	74 32                	je     0x619e
+    616c:	89 c2                	mov    %eax,%edx
+    616e:	c7 85 40 ff ff ff 00 	movl   $0x100,-0xc0(%ebp)
+    6175:	01 00 00 
+    6178:	e9 ea d0 ff ff       	jmp    0x3267
+    617d:	8b 9d 34 ff ff ff    	mov    -0xcc(%ebp),%ebx
+    6183:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
+    6189:	89 1c 24             	mov    %ebx,(%esp)
+    618c:	e8 fc ff ff ff       	call   0x618d
+    6191:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
+    6197:	89 c6                	mov    %eax,%esi
+    6199:	e9 b2 bf ff ff       	jmp    0x2150
+    619e:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
+    61a4:	83 cb ff             	or     $0xffffffff,%ebx
+    61a7:	31 ff                	xor    %edi,%edi
+    61a9:	89 0c 24             	mov    %ecx,(%esp)
+    61ac:	e8 fc ff ff ff       	call   0x61ad
+    61b1:	c7 85 24 ff ff ff ff 	movl   $0xffffffff,-0xdc(%ebp)
+    61b8:	ff ff ff 
+    61bb:	e9 e0 a0 ff ff       	jmp    0x2a0
+    61c0:	81 ec 10 04 00 00    	sub    $0x410,%esp
+    61c6:	8d 54 24 1f          	lea    0x1f(%esp),%edx
+    61ca:	83 e2 f0             	and    $0xfffffff0,%edx
+    61cd:	83 bd 44 ff ff ff 00 	cmpl   $0x0,-0xbc(%ebp)
+    61d4:	c7 85 40 ff ff ff 00 	movl   $0x100,-0xc0(%ebp)
+    61db:	01 00 00 
+    61de:	0f 84 83 d0 ff ff    	je     0x3267
+    61e4:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
+    61ea:	89 14 24             	mov    %edx,(%esp)
+    61ed:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
+    61f3:	c7 44 24 08 00 00 00 	movl   $0x0,0x8(%esp)
+    61fa:	00 
+    61fb:	89 74 24 04          	mov    %esi,0x4(%esp)
+    61ff:	e8 fc ff ff ff       	call   0x6200
+    6204:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
+    620a:	c7 85 40 ff ff ff 00 	movl   $0x100,-0xc0(%ebp)
+    6211:	01 00 00 
+    6214:	e9 4e d0 ff ff       	jmp    0x3267
+    6219:	89 5c 24 08          	mov    %ebx,0x8(%esp)
+    621d:	89 7c 24 04          	mov    %edi,0x4(%esp)
+    6221:	89 f7                	mov    %esi,%edi
+    6223:	89 8d cc fe ff ff    	mov    %ecx,-0x134(%ebp)
+    6229:	89 04 24             	mov    %eax,(%esp)
+    622c:	e8 fc ff ff ff       	call   0x622d
+    6231:	8b 8d cc fe ff ff    	mov    -0x134(%ebp),%ecx
+    6237:	c6 85 0f ff ff ff 01 	movb   $0x1,-0xf1(%ebp)
+    623e:	89 cb                	mov    %ecx,%ebx
+    6240:	e9 5e f8 ff ff       	jmp    0x5aa3
+    6245:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
+    624c:	0f 84 a0 e3 ff ff    	je     0x45f2
+    6252:	89 3c 24             	mov    %edi,(%esp)
+    6255:	83 cb ff             	or     $0xffffffff,%ebx
+    6258:	31 ff                	xor    %edi,%edi
+    625a:	e8 fc ff ff ff       	call   0x625b
+    625f:	c7 85 24 ff ff ff ff 	movl   $0xffffffff,-0xdc(%ebp)
+    6266:	ff ff ff 
+    6269:	e9 32 a0 ff ff       	jmp    0x2a0
+    626e:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
+    6275:	74 53                	je     0x62ca
+    6277:	c7 44 24 04 00 01 00 	movl   $0x100,0x4(%esp)
+    627e:	00 
+    627f:	89 34 24             	mov    %esi,(%esp)
+    6282:	e8 fc ff ff ff       	call   0x6283
+    6287:	85 c0                	test   %eax,%eax
+    6289:	89 c2                	mov    %eax,%edx
+    628b:	74 1f                	je     0x62ac
+    628d:	c7 85 40 ff ff ff 00 	movl   $0x100,-0xc0(%ebp)
+    6294:	01 00 00 
+    6297:	e9 a6 d0 ff ff       	jmp    0x3342
+    629c:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
+    62a2:	bf 02 00 00 00       	mov    $0x2,%edi
+    62a7:	e9 f4 9f ff ff       	jmp    0x2a0
+    62ac:	89 34 24             	mov    %esi,(%esp)
+    62af:	83 cb ff             	or     $0xffffffff,%ebx
+    62b2:	31 f6                	xor    %esi,%esi
+    62b4:	e8 fc ff ff ff       	call   0x62b5
+    62b9:	31 ff                	xor    %edi,%edi
+    62bb:	c7 85 24 ff ff ff ff 	movl   $0xffffffff,-0xdc(%ebp)
+    62c2:	ff ff ff 
+    62c5:	e9 d6 9f ff ff       	jmp    0x2a0
+    62ca:	81 ec 10 04 00 00    	sub    $0x410,%esp
+    62d0:	8d 54 24 1f          	lea    0x1f(%esp),%edx
+    62d4:	83 e2 f0             	and    $0xfffffff0,%edx
+    62d7:	8d 82 00 04 00 00    	lea    0x400(%edx),%eax
+    62dd:	39 c6                	cmp    %eax,%esi
+    62df:	0f 94 c0             	sete   %al
+    62e2:	0f b6 c0             	movzbl %al,%eax
+    62e5:	8d 9c 00 00 01 00 00 	lea    0x100(%eax,%eax,1),%ebx
+    62ec:	89 14 24             	mov    %edx,(%esp)
+    62ef:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
+    62f5:	89 9d 40 ff ff ff    	mov    %ebx,-0xc0(%ebp)
+    62fb:	c7 44 24 08 02 00 00 	movl   $0x2,0x8(%esp)
+    6302:	00 
+    6303:	89 74 24 04          	mov    %esi,0x4(%esp)
+    6307:	e8 fc ff ff ff       	call   0x6308
+    630c:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
+    6312:	e9 2b d0 ff ff       	jmp    0x3342
+    6317:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
+    631d:	bf 02 00 00 00       	mov    $0x2,%edi
+    6322:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
+    6328:	e9 73 9f ff ff       	jmp    0x2a0
+    632d:	8d 0c 1b             	lea    (%ebx,%ebx,1),%ecx
+    6330:	b8 00 01 00 00       	mov    $0x100,%eax
+    6335:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
+    633b:	0f 42 c8             	cmovb  %eax,%ecx
+    633e:	89 f8                	mov    %edi,%eax
+    6340:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
+    6347:	75 0a                	jne    0x6353
+    6349:	81 f9 00 00 01 00    	cmp    $0x10000,%ecx
+    634f:	76 32                	jbe    0x6383
+    6351:	31 c0                	xor    %eax,%eax
+    6353:	89 4c 24 04          	mov    %ecx,0x4(%esp)
+    6357:	89 8d cc fe ff ff    	mov    %ecx,-0x134(%ebp)
+    635d:	89 04 24             	mov    %eax,(%esp)
+    6360:	e8 fc ff ff ff       	call   0x6361
+    6365:	8b 8d cc fe ff ff    	mov    -0x134(%ebp),%ecx
+    636b:	85 c0                	test   %eax,%eax
+    636d:	89 c6                	mov    %eax,%esi
+    636f:	74 7a                	je     0x63eb
+    6371:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
+    6378:	74 45                	je     0x63bf
+    637a:	89 cb                	mov    %ecx,%ebx
+    637c:	89 c7                	mov    %eax,%edi
+    637e:	e9 94 fd ff ff       	jmp    0x6117
+    6383:	8d 04 8d 00 00 00 00 	lea    0x0(,%ecx,4),%eax
+    638a:	8d 48 10             	lea    0x10(%eax),%ecx
+    638d:	29 cc                	sub    %ecx,%esp
+    638f:	8d 74 24 1f          	lea    0x1f(%esp),%esi
+    6393:	83 e6 f0             	and    $0xfffffff0,%esi
+    6396:	8d 0c 06             	lea    (%esi,%eax,1),%ecx
+    6399:	39 cf                	cmp    %ecx,%edi
+    639b:	8d 1c 90             	lea    (%eax,%edx,4),%ebx
+    639e:	0f 45 d8             	cmovne %eax,%ebx
+    63a1:	c1 eb 02             	shr    $0x2,%ebx
+    63a4:	85 ff                	test   %edi,%edi
+    63a6:	74 10                	je     0x63b8
+    63a8:	89 54 24 08          	mov    %edx,0x8(%esp)
+    63ac:	89 7c 24 04          	mov    %edi,0x4(%esp)
+    63b0:	89 34 24             	mov    %esi,(%esp)
+    63b3:	e8 fc ff ff ff       	call   0x63b4
+    63b8:	89 f7                	mov    %esi,%edi
+    63ba:	e9 58 fd ff ff       	jmp    0x6117
+    63bf:	89 5c 24 08          	mov    %ebx,0x8(%esp)
+    63c3:	89 7c 24 04          	mov    %edi,0x4(%esp)
+    63c7:	89 f7                	mov    %esi,%edi
+    63c9:	89 8d cc fe ff ff    	mov    %ecx,-0x134(%ebp)
+    63cf:	89 04 24             	mov    %eax,(%esp)
+    63d2:	e8 fc ff ff ff       	call   0x63d3
+    63d7:	8b 8d cc fe ff ff    	mov    -0x134(%ebp),%ecx
+    63dd:	c6 85 0f ff ff ff 01 	movb   $0x1,-0xf1(%ebp)
+    63e4:	89 cb                	mov    %ecx,%ebx
+    63e6:	e9 2c fd ff ff       	jmp    0x6117
+    63eb:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
+    63f2:	0f 84 fa e1 ff ff    	je     0x45f2
+    63f8:	89 3c 24             	mov    %edi,(%esp)
+    63fb:	83 cb ff             	or     $0xffffffff,%ebx
+    63fe:	31 ff                	xor    %edi,%edi
+    6400:	e8 fc ff ff ff       	call   0x6401
+    6405:	c7 85 24 ff ff ff ff 	movl   $0xffffffff,-0xdc(%ebp)
+    640c:	ff ff ff 
+    640f:	e9 8c 9e ff ff       	jmp    0x2a0
+    6414:	8b 9d 34 ff ff ff    	mov    -0xcc(%ebp),%ebx
+    641a:	89 1c 24             	mov    %ebx,(%esp)
+    641d:	e8 fc ff ff ff       	call   0x641e
+    6422:	89 c3                	mov    %eax,%ebx
+    6424:	e9 55 d9 ff ff       	jmp    0x3d7e
+    6429:	a1 00 00 00 00       	mov    0x0,%eax
+    642e:	8b 95 1c ff ff ff    	mov    -0xe4(%ebp),%edx
+    6434:	65 89 10             	mov    %edx,%gs:(%eax)
+    6437:	e9 52 d9 ff ff       	jmp    0x3d8e
+    643c:	8b 9d 34 ff ff ff    	mov    -0xcc(%ebp),%ebx
+    6442:	89 1c 24             	mov    %ebx,(%esp)
+    6445:	e8 fc ff ff ff       	call   0x6446
+    644a:	89 c3                	mov    %eax,%ebx
+    644c:	e9 3b a9 ff ff       	jmp    0xd8c
+    6451:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
+    6458:	0f 84 cf 00 00 00    	je     0x652d
+    645e:	8b 95 44 ff ff ff    	mov    -0xbc(%ebp),%edx
+    6464:	c7 44 24 04 00 01 00 	movl   $0x100,0x4(%esp)
+    646b:	00 
+    646c:	89 14 24             	mov    %edx,(%esp)
+    646f:	e8 fc ff ff ff       	call   0x6470
+    6474:	85 c0                	test   %eax,%eax
+    6476:	89 c6                	mov    %eax,%esi
+    6478:	0f 84 8d 00 00 00    	je     0x650b
+    647e:	c7 85 40 ff ff ff 00 	movl   $0x100,-0xc0(%ebp)
+    6485:	01 00 00 
+    6488:	e9 22 ac ff ff       	jmp    0x10af
+    648d:	a1 00 00 00 00       	mov    0x0,%eax
+    6492:	65 8b 00             	mov    %gs:(%eax),%eax
+    6495:	89 85 1c ff ff ff    	mov    %eax,-0xe4(%ebp)
+    649b:	e9 ee d8 ff ff       	jmp    0x3d8e
+    64a0:	65 8b 02             	mov    %gs:(%edx),%eax
+    64a3:	8b 00                	mov    (%eax),%eax
+    64a5:	8b 48 5c             	mov    0x5c(%eax),%ecx
+    64a8:	8d 04 0b             	lea    (%ebx,%ecx,1),%eax
+    64ab:	8b 8d 10 ff ff ff    	mov    -0xf0(%ebp),%ecx
+    64b1:	89 44 24 04          	mov    %eax,0x4(%esp)
+    64b5:	8b 01                	mov    (%ecx),%eax
+    64b7:	89 04 24             	mov    %eax,(%esp)
+    64ba:	e8 fc ff ff ff       	call   0x64bb
+    64bf:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
+    64c5:	85 c0                	test   %eax,%eax
+    64c7:	0f 84 e6 00 00 00    	je     0x65b3
+    64cd:	8b 8d 10 ff ff ff    	mov    -0xf0(%ebp),%ecx
+    64d3:	89 01                	mov    %eax,(%ecx)
+    64d5:	01 d8                	add    %ebx,%eax
+    64d7:	89 85 fc fe ff ff    	mov    %eax,-0x104(%ebp)
+    64dd:	65 8b 02             	mov    %gs:(%edx),%eax
+    64e0:	8b 00                	mov    (%eax),%eax
+    64e2:	03 58 5c             	add    0x5c(%eax),%ebx
+    64e5:	89 9d 00 ff ff ff    	mov    %ebx,-0x100(%ebp)
+    64eb:	e9 59 bd ff ff       	jmp    0x2249
+    64f0:	89 14 24             	mov    %edx,(%esp)
+    64f3:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
+    64f9:	e8 fc ff ff ff       	call   0x64fa
+    64fe:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
+    6504:	89 c3                	mov    %eax,%ebx
+    6506:	e9 1e b9 ff ff       	jmp    0x1e29
+    650b:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
+    6511:	83 cb ff             	or     $0xffffffff,%ebx
+    6514:	31 ff                	xor    %edi,%edi
+    6516:	89 0c 24             	mov    %ecx,(%esp)
+    6519:	e8 fc ff ff ff       	call   0x651a
+    651e:	c7 85 24 ff ff ff ff 	movl   $0xffffffff,-0xdc(%ebp)
+    6525:	ff ff ff 
+    6528:	e9 73 9d ff ff       	jmp    0x2a0
+    652d:	81 ec 10 04 00 00    	sub    $0x410,%esp
+    6533:	8d 74 24 1f          	lea    0x1f(%esp),%esi
+    6537:	83 e6 f0             	and    $0xfffffff0,%esi
+    653a:	83 bd 44 ff ff ff 00 	cmpl   $0x0,-0xbc(%ebp)
+    6541:	0f 84 37 ff ff ff    	je     0x647e
+    6547:	8b bd 44 ff ff ff    	mov    -0xbc(%ebp),%edi
+    654d:	c7 44 24 08 00 00 00 	movl   $0x0,0x8(%esp)
+    6554:	00 
+    6555:	89 34 24             	mov    %esi,(%esp)
+    6558:	89 7c 24 04          	mov    %edi,0x4(%esp)
+    655c:	e8 fc ff ff ff       	call   0x655d
+    6561:	c7 85 40 ff ff ff 00 	movl   $0x100,-0xc0(%ebp)
+    6568:	01 00 00 
+    656b:	e9 3f ab ff ff       	jmp    0x10af
+    6570:	f7 85 2c ff ff ff 00 	testl  $0x2000,-0xd4(%ebp)
+    6577:	20 00 00 
+    657a:	0f 85 a1 c4 ff ff    	jne    0x2a21
+    6580:	8b 95 10 ff ff ff    	mov    -0xf0(%ebp),%edx
+    6586:	8b 02                	mov    (%edx),%eax
+    6588:	c6 04 38 00          	movb   $0x0,(%eax,%edi,1)
+    658c:	bf 02 00 00 00       	mov    $0x2,%edi
+    6591:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
+    6597:	83 85 24 ff ff ff 01 	addl   $0x1,-0xdc(%ebp)
+    659e:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
+    65a4:	c7 85 10 ff ff ff 00 	movl   $0x0,-0xf0(%ebp)
+    65ab:	00 00 00 
+    65ae:	e9 ed 9c ff ff       	jmp    0x2a0
+    65b3:	f7 85 2c ff ff ff 00 	testl  $0x2000,-0xd4(%ebp)
+    65ba:	20 00 00 
+    65bd:	0f 85 5e c4 ff ff    	jne    0x2a21
+    65c3:	8b b5 10 ff ff ff    	mov    -0xf0(%ebp),%esi
+    65c9:	bf 02 00 00 00       	mov    $0x2,%edi
+    65ce:	8b 06                	mov    (%esi),%eax
+    65d0:	c6 04 18 00          	movb   $0x0,(%eax,%ebx,1)
+    65d4:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
+    65da:	83 85 24 ff ff ff 01 	addl   $0x1,-0xdc(%ebp)
+    65e1:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
+    65e7:	c7 85 10 ff ff ff 00 	movl   $0x0,-0xf0(%ebp)
+    65ee:	00 00 00 
+    65f1:	e9 aa 9c ff ff       	jmp    0x2a0
+    65f6:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
+    65fc:	bf 02 00 00 00       	mov    $0x2,%edi
+    6601:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
+    6607:	e9 94 9c ff ff       	jmp    0x2a0
+    660c:	8b b5 14 ff ff ff    	mov    -0xec(%ebp),%esi
+    6612:	c1 e6 02             	shl    $0x2,%esi
+    6615:	89 b5 40 ff ff ff    	mov    %esi,-0xc0(%ebp)
+    661b:	83 c6 10             	add    $0x10,%esi
+    661e:	8b 85 40 ff ff ff    	mov    -0xc0(%ebp),%eax
+    6624:	29 f4                	sub    %esi,%esp
+    6626:	8d 74 24 1f          	lea    0x1f(%esp),%esi
+    662a:	83 e6 f0             	and    $0xfffffff0,%esi
+    662d:	01 f0                	add    %esi,%eax
+    662f:	89 85 14 ff ff ff    	mov    %eax,-0xec(%ebp)
+    6635:	39 85 44 ff ff ff    	cmp    %eax,-0xbc(%ebp)
+    663b:	8b 85 40 ff ff ff    	mov    -0xc0(%ebp),%eax
+    6641:	8d 04 90             	lea    (%eax,%edx,4),%eax
+    6644:	89 85 f0 fe ff ff    	mov    %eax,-0x110(%ebp)
+    664a:	8b 85 40 ff ff ff    	mov    -0xc0(%ebp),%eax
+    6650:	0f 44 85 f0 fe ff ff 	cmove  -0x110(%ebp),%eax
+    6657:	c1 e8 02             	shr    $0x2,%eax
+    665a:	83 bd 44 ff ff ff 00 	cmpl   $0x0,-0xbc(%ebp)
+    6661:	89 85 40 ff ff ff    	mov    %eax,-0xc0(%ebp)
+    6667:	0f 84 21 a8 ff ff    	je     0xe8e
+    666d:	89 54 24 08          	mov    %edx,0x8(%esp)
+    6671:	8b 95 44 ff ff ff    	mov    -0xbc(%ebp),%edx
+    6677:	89 8d cc fe ff ff    	mov    %ecx,-0x134(%ebp)
+    667d:	89 34 24             	mov    %esi,(%esp)
+    6680:	89 54 24 04          	mov    %edx,0x4(%esp)
+    6684:	e8 fc ff ff ff       	call   0x6685
+    6689:	8b 8d cc fe ff ff    	mov    -0x134(%ebp),%ecx
+    668f:	e9 fa a7 ff ff       	jmp    0xe8e
+    6694:	8b b5 ec fe ff ff    	mov    -0x114(%ebp),%esi
+    669a:	85 f6                	test   %esi,%esi
+    669c:	0f 84 a5 99 ff ff    	je     0x47
+    66a2:	31 ff                	xor    %edi,%edi
+    66a4:	3b 3e                	cmp    (%esi),%edi
+    66a6:	73 1d                	jae    0x66c5
+    66a8:	8b 44 be 08          	mov    0x8(%esi,%edi,4),%eax
+    66ac:	8b 00                	mov    (%eax),%eax
+    66ae:	89 04 24             	mov    %eax,(%esp)
+    66b1:	e8 fc ff ff ff       	call   0x66b2
+    66b6:	8b 44 be 08          	mov    0x8(%esi,%edi,4),%eax
+    66ba:	83 c7 01             	add    $0x1,%edi
+    66bd:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
+    66c3:	eb df                	jmp    0x66a4
+    66c5:	8b 76 04             	mov    0x4(%esi),%esi
+    66c8:	85 f6                	test   %esi,%esi
+    66ca:	75 d6                	jne    0x66a2
+    66cc:	e9 76 99 ff ff       	jmp    0x47
+    66d1:	8b 8d 34 ff ff ff    	mov    -0xcc(%ebp),%ecx
+    66d7:	bf 02 00 00 00       	mov    $0x2,%edi
+    66dc:	89 5c 24 04          	mov    %ebx,0x4(%esp)
+    66e0:	89 0c 24             	mov    %ecx,(%esp)
+    66e3:	e8 fc ff ff ff       	call   0x66e4
+    66e8:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
+    66ee:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
+    66f4:	e9 a7 9b ff ff       	jmp    0x2a0
+    66f9:	c7 44 24 0c 15 00 00 	movl   $0x15,0xc(%esp)
+    6700:	00 
+    6701:	c7 44 24 08 e5 0a 00 	movl   $0xae5,0x8(%esp)
+    6708:	00 
+    6709:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
+    6710:	00 
+    6711:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
+    6718:	e8 fc ff ff ff       	call   0x6719
+    671d:	83 bd 24 ff ff ff 00 	cmpl   $0x0,-0xdc(%ebp)
+    6724:	0f 84 5c 9b ff ff    	je     0x286
+    672a:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
+    6730:	bf 01 00 00 00       	mov    $0x1,%edi
+    6735:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
+    673b:	e9 60 9b ff ff       	jmp    0x2a0
+    6740:	8b bd 34 ff ff ff    	mov    -0xcc(%ebp),%edi
+    6746:	89 3c 24             	mov    %edi,(%esp)
+    6749:	e8 fc ff ff ff       	call   0x674a
+    674e:	89 c3                	mov    %eax,%ebx
+    6750:	e9 4a ad ff ff       	jmp    0x149f
+    6755:	8b 85 34 ff ff ff    	mov    -0xcc(%ebp),%eax
+    675b:	89 04 24             	mov    %eax,(%esp)
+    675e:	e8 fc ff ff ff       	call   0x675f
+    6763:	89 c3                	mov    %eax,%ebx
+    6765:	e9 81 a8 ff ff       	jmp    0xfeb
+    676a:	8b 9d 34 ff ff ff    	mov    -0xcc(%ebp),%ebx
+    6770:	89 1c 24             	mov    %ebx,(%esp)
+    6773:	e8 fc ff ff ff       	call   0x6774
+    6778:	89 c3                	mov    %eax,%ebx
+    677a:	e9 a5 9f ff ff       	jmp    0x724
+    677f:	c7 04 24 0a 00 00 00 	movl   $0xa,(%esp)
+    6786:	e8 fc ff ff ff       	call   0x6787
+    678b:	8b 0d 00 00 00 00    	mov    0x0,%ecx
+    6791:	89 85 f0 fe ff ff    	mov    %eax,-0x110(%ebp)
+    6797:	65 8b 01             	mov    %gs:(%ecx),%eax
+    679a:	83 bd f0 fe ff ff 00 	cmpl   $0x0,-0x110(%ebp)
+    67a1:	8b 08                	mov    (%eax),%ecx
+    67a3:	8b 91 a0 00 00 00    	mov    0xa0(%ecx),%edx
+    67a9:	8d 72 ff             	lea    -0x1(%edx),%esi
+    67ac:	89 b5 3c ff ff ff    	mov    %esi,-0xc4(%ebp)
+    67b2:	0f 85 b7 01 00 00    	jne    0x696f
+    67b8:	8b b5 48 ff ff ff    	mov    -0xb8(%ebp),%esi
+    67be:	0f b6 85 2c ff ff ff 	movzbl -0xd4(%ebp),%eax
+    67c5:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
+    67cb:	c7 85 30 ff ff ff 00 	movl   $0x0,-0xd0(%ebp)
+    67d2:	00 00 00 
+    67d5:	c1 e6 02             	shl    $0x2,%esi
+    67d8:	83 e0 80             	and    $0xffffff80,%eax
+    67db:	89 b5 14 ff ff ff    	mov    %esi,-0xec(%ebp)
+    67e1:	88 85 e0 fe ff ff    	mov    %al,-0x120(%ebp)
+    67e7:	85 ff                	test   %edi,%edi
+    67e9:	0f 84 6b 01 00 00    	je     0x695a
+    67ef:	83 fb ff             	cmp    $0xffffffff,%ebx
+    67f2:	0f 84 62 01 00 00    	je     0x695a
+    67f8:	8b b5 30 ff ff ff    	mov    -0xd0(%ebp),%esi
+    67fe:	a1 00 00 00 00       	mov    0x0,%eax
+    6803:	89 8d d8 fe ff ff    	mov    %ecx,-0x128(%ebp)
+    6809:	c1 e6 02             	shl    $0x2,%esi
+    680c:	89 b5 44 ff ff ff    	mov    %esi,-0xbc(%ebp)
+    6812:	65 8b 30             	mov    %gs:(%eax),%esi
+    6815:	31 c0                	xor    %eax,%eax
+    6817:	eb 40                	jmp    0x6859
+    6819:	8b 0e                	mov    (%esi),%ecx
+    681b:	8d 50 1f             	lea    0x1f(%eax),%edx
+    681e:	81 e2 ff ff 00 00    	and    $0xffff,%edx
+    6824:	8b 4c 91 28          	mov    0x28(%ecx,%edx,4),%ecx
+    6828:	89 8d e8 fe ff ff    	mov    %ecx,-0x118(%ebp)
+    682e:	89 4c 85 a4          	mov    %ecx,-0x5c(%ebp,%eax,4)
+    6832:	8b 95 e8 fe ff ff    	mov    -0x118(%ebp),%edx
+    6838:	03 95 44 ff ff ff    	add    -0xbc(%ebp),%edx
+    683e:	39 1a                	cmp    %ebx,(%edx)
+    6840:	89 54 85 a4          	mov    %edx,-0x5c(%ebp,%eax,4)
+    6844:	0f 84 fa 02 00 00    	je     0x6b44
+    684a:	83 c2 04             	add    $0x4,%edx
+    684d:	89 54 85 a4          	mov    %edx,-0x5c(%ebp,%eax,4)
+    6851:	83 c0 01             	add    $0x1,%eax
+    6854:	83 f8 0a             	cmp    $0xa,%eax
+    6857:	74 1c                	je     0x6875
+    6859:	83 bd f0 fe ff ff 00 	cmpl   $0x0,-0x110(%ebp)
+    6860:	74 b7                	je     0x6819
+    6862:	8b 94 85 7c ff ff ff 	mov    -0x84(%ebp,%eax,4),%edx
+    6869:	89 95 e8 fe ff ff    	mov    %edx,-0x118(%ebp)
+    686f:	89 54 85 a4          	mov    %edx,-0x5c(%ebp,%eax,4)
+    6873:	eb bd                	jmp    0x6832
+    6875:	8b 95 30 ff ff ff    	mov    -0xd0(%ebp),%edx
+    687b:	8b 8d d8 fe ff ff    	mov    -0x128(%ebp),%ecx
+    6881:	83 c2 01             	add    $0x1,%edx
+    6884:	39 95 3c ff ff ff    	cmp    %edx,-0xc4(%ebp)
+    688a:	0f 8c b5 00 00 00    	jl     0x6945
+    6890:	31 c0                	xor    %eax,%eax
+    6892:	eb 13                	jmp    0x68a7
+    6894:	83 c6 04             	add    $0x4,%esi
+    6897:	89 74 85 a4          	mov    %esi,-0x5c(%ebp,%eax,4)
+    689b:	83 c0 01             	add    $0x1,%eax
+    689e:	83 f8 0a             	cmp    $0xa,%eax
+    68a1:	0f 84 8a 00 00 00    	je     0x6931
+    68a7:	8b 74 85 a4          	mov    -0x5c(%ebp,%eax,4),%esi
+    68ab:	39 1e                	cmp    %ebx,(%esi)
+    68ad:	75 e5                	jne    0x6894
+    68af:	89 95 3c ff ff ff    	mov    %edx,-0xc4(%ebp)
+    68b5:	89 95 30 ff ff ff    	mov    %edx,-0xd0(%ebp)
+    68bb:	8d 58 30             	lea    0x30(%eax),%ebx
+    68be:	8b 85 48 ff ff ff    	mov    -0xb8(%ebp),%eax
+    68c4:	39 85 40 ff ff ff    	cmp    %eax,-0xc0(%ebp)
+    68ca:	0f 84 85 03 00 00    	je     0x6c55
+    68d0:	8b 95 14 ff ff ff    	mov    -0xec(%ebp),%edx
+    68d6:	31 c0                	xor    %eax,%eax
+    68d8:	85 ff                	test   %edi,%edi
+    68da:	0f 9f c0             	setg   %al
+    68dd:	29 c7                	sub    %eax,%edi
+    68df:	83 fb ff             	cmp    $0xffffffff,%ebx
+    68e2:	89 1c 11             	mov    %ebx,(%ecx,%edx,1)
+    68e5:	0f 84 57 03 00 00    	je     0x6c42
+    68eb:	8b 95 34 ff ff ff    	mov    -0xcc(%ebp),%edx
+    68f1:	8b 42 5c             	mov    0x5c(%edx),%eax
+    68f4:	85 c0                	test   %eax,%eax
+    68f6:	0f 84 25 03 00 00    	je     0x6c21
+    68fc:	8b 10                	mov    (%eax),%edx
+    68fe:	3b 50 04             	cmp    0x4(%eax),%edx
+    6901:	0f 83 1a 03 00 00    	jae    0x6c21
+    6907:	8b 1a                	mov    (%edx),%ebx
+    6909:	83 c2 04             	add    $0x4,%edx
+    690c:	89 10                	mov    %edx,(%eax)
+    690e:	83 fb ff             	cmp    $0xffffffff,%ebx
+    6911:	0f 84 f7 02 00 00    	je     0x6c0e
+    6917:	83 85 38 ff ff ff 01 	addl   $0x1,-0xc8(%ebp)
+    691e:	83 85 48 ff ff ff 01 	addl   $0x1,-0xb8(%ebp)
+    6925:	83 85 14 ff ff ff 04 	addl   $0x4,-0xec(%ebp)
+    692c:	e9 b6 fe ff ff       	jmp    0x67e7
+    6931:	83 c2 01             	add    $0x1,%edx
+    6934:	e9 4b ff ff ff       	jmp    0x6884
+    6939:	8b b5 30 ff ff ff    	mov    -0xd0(%ebp),%esi
+    693f:	89 b5 3c ff ff ff    	mov    %esi,-0xc4(%ebp)
+    6945:	80 bd e0 fe ff ff 00 	cmpb   $0x0,-0x120(%ebp)
+    694c:	74 0c                	je     0x695a
+    694e:	3b 9d 18 ff ff ff    	cmp    -0xe8(%ebp),%ebx
+    6954:	0f 84 64 ff ff ff    	je     0x68be
+    695a:	89 8d 44 ff ff ff    	mov    %ecx,-0xbc(%ebp)
+    6960:	c7 85 3c ff ff ff 0a 	movl   $0xa,-0xc4(%ebp)
+    6967:	00 00 00 
+    696a:	e9 65 9f ff ff       	jmp    0x8d4
+    696f:	8d 04 95 00 00 00 00 	lea    0x0(,%edx,4),%eax
+    6976:	8d 34 95 04 00 00 00 	lea    0x4(,%edx,4),%esi
+    697d:	89 85 14 ff ff ff    	mov    %eax,-0xec(%ebp)
+    6983:	8d 04 95 18 00 00 00 	lea    0x18(,%edx,4),%eax
+    698a:	89 b5 30 ff ff ff    	mov    %esi,-0xd0(%ebp)
+    6990:	be 1f 00 00 00       	mov    $0x1f,%esi
+    6995:	89 95 3c ff ff ff    	mov    %edx,-0xc4(%ebp)
+    699b:	89 85 e8 fe ff ff    	mov    %eax,-0x118(%ebp)
+    69a1:	89 9d e0 fe ff ff    	mov    %ebx,-0x120(%ebp)
+    69a7:	89 f0                	mov    %esi,%eax
+    69a9:	2b a5 e8 fe ff ff    	sub    -0x118(%ebp),%esp
+    69af:	25 ff ff 00 00       	and    $0xffff,%eax
+    69b4:	8b 44 81 28          	mov    0x28(%ecx,%eax,4),%eax
+    69b8:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
+    69be:	8d 5c 24 1f          	lea    0x1f(%esp),%ebx
+    69c2:	83 e3 f0             	and    $0xfffffff0,%ebx
+    69c5:	89 54 24 08          	mov    %edx,0x8(%esp)
+    69c9:	89 84 b5 28 ff ff ff 	mov    %eax,-0xd8(%ebp,%esi,4)
+    69d0:	89 44 24 04          	mov    %eax,0x4(%esp)
+    69d4:	89 1c 24             	mov    %ebx,(%esp)
+    69d7:	e8 fc ff ff ff       	call   0x69d8
+    69dc:	8b 8d f0 fe ff ff    	mov    -0x110(%ebp),%ecx
+    69e2:	8d 46 11             	lea    0x11(%esi),%eax
+    69e5:	89 04 24             	mov    %eax,(%esp)
+    69e8:	89 4c 24 04          	mov    %ecx,0x4(%esp)
+    69ec:	e8 fc ff ff ff       	call   0x69ed
+    69f1:	8b 8d 14 ff ff ff    	mov    -0xec(%ebp),%ecx
+    69f7:	89 9c b5 00 ff ff ff 	mov    %ebx,-0x100(%ebp,%esi,4)
+    69fe:	83 c6 01             	add    $0x1,%esi
+    6a01:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
+    6a07:	83 fe 29             	cmp    $0x29,%esi
+    6a0a:	89 04 0b             	mov    %eax,(%ebx,%ecx,1)
+    6a0d:	8b 85 30 ff ff ff    	mov    -0xd0(%ebp),%eax
+    6a13:	c7 04 03 00 00 00 00 	movl   $0x0,(%ebx,%eax,1)
+    6a1a:	0f 84 c6 04 00 00    	je     0x6ee6
+    6a20:	8b 0d 00 00 00 00    	mov    0x0,%ecx
+    6a26:	65 8b 01             	mov    %gs:(%ecx),%eax
+    6a29:	8b 08                	mov    (%eax),%ecx
+    6a2b:	e9 77 ff ff ff       	jmp    0x69a7
+    6a30:	8b 95 40 ff ff ff    	mov    -0xc0(%ebp),%edx
+    6a36:	b8 00 01 00 00       	mov    $0x100,%eax
+    6a3b:	01 d2                	add    %edx,%edx
+    6a3d:	81 fa 00 01 00 00    	cmp    $0x100,%edx
+    6a43:	0f 42 d0             	cmovb  %eax,%edx
+    6a46:	8b 85 44 ff ff ff    	mov    -0xbc(%ebp),%eax
+    6a4c:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
+    6a53:	75 0a                	jne    0x6a5f
+    6a55:	81 fa 00 00 01 00    	cmp    $0x10000,%edx
+    6a5b:	76 69                	jbe    0x6ac6
+    6a5d:	31 c0                	xor    %eax,%eax
+    6a5f:	89 54 24 04          	mov    %edx,0x4(%esp)
+    6a63:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
+    6a69:	89 04 24             	mov    %eax,(%esp)
+    6a6c:	e8 fc ff ff ff       	call   0x6a6d
+    6a71:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
+    6a77:	85 c0                	test   %eax,%eax
+    6a79:	89 c6                	mov    %eax,%esi
+    6a7b:	0f 84 94 00 00 00    	je     0x6b15
+    6a81:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
+    6a88:	89 d7                	mov    %edx,%edi
+    6a8a:	0f 85 9b 9e ff ff    	jne    0x92b
+    6a90:	8b bd 40 ff ff ff    	mov    -0xc0(%ebp),%edi
+    6a96:	8b 85 44 ff ff ff    	mov    -0xbc(%ebp),%eax
+    6a9c:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
+    6aa2:	89 34 24             	mov    %esi,(%esp)
+    6aa5:	89 7c 24 08          	mov    %edi,0x8(%esp)
+    6aa9:	89 44 24 04          	mov    %eax,0x4(%esp)
+    6aad:	e8 fc ff ff ff       	call   0x6aae
+    6ab2:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
+    6ab8:	c6 85 0f ff ff ff 01 	movb   $0x1,-0xf1(%ebp)
+    6abf:	89 d7                	mov    %edx,%edi
+    6ac1:	e9 65 9e ff ff       	jmp    0x92b
+    6ac6:	c1 e2 02             	shl    $0x2,%edx
+    6ac9:	8b 8d 40 ff ff ff    	mov    -0xc0(%ebp),%ecx
+    6acf:	8d 42 10             	lea    0x10(%edx),%eax
+    6ad2:	29 c4                	sub    %eax,%esp
+    6ad4:	8d 74 24 1f          	lea    0x1f(%esp),%esi
+    6ad8:	83 e6 f0             	and    $0xfffffff0,%esi
+    6adb:	8d 04 16             	lea    (%esi,%edx,1),%eax
+    6ade:	39 85 44 ff ff ff    	cmp    %eax,-0xbc(%ebp)
+    6ae4:	8d 3c 8a             	lea    (%edx,%ecx,4),%edi
+    6ae7:	0f 45 fa             	cmovne %edx,%edi
+    6aea:	c1 ef 02             	shr    $0x2,%edi
+    6aed:	83 bd 44 ff ff ff 00 	cmpl   $0x0,-0xbc(%ebp)
+    6af4:	0f 84 31 9e ff ff    	je     0x92b
+    6afa:	8b 85 44 ff ff ff    	mov    -0xbc(%ebp),%eax
+    6b00:	89 4c 24 08          	mov    %ecx,0x8(%esp)
+    6b04:	89 34 24             	mov    %esi,(%esp)
+    6b07:	89 44 24 04          	mov    %eax,0x4(%esp)
+    6b0b:	e8 fc ff ff ff       	call   0x6b0c
+    6b10:	e9 16 9e ff ff       	jmp    0x92b
+    6b15:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
+    6b1c:	0f 84 d0 da ff ff    	je     0x45f2
+    6b22:	8b 9d 44 ff ff ff    	mov    -0xbc(%ebp),%ebx
+    6b28:	31 ff                	xor    %edi,%edi
+    6b2a:	89 1c 24             	mov    %ebx,(%esp)
+    6b2d:	83 cb ff             	or     $0xffffffff,%ebx
+    6b30:	e8 fc ff ff ff       	call   0x6b31
+    6b35:	c7 85 24 ff ff ff ff 	movl   $0xffffffff,-0xdc(%ebp)
+    6b3c:	ff ff ff 
+    6b3f:	e9 5c 97 ff ff       	jmp    0x2a0
+    6b44:	83 f8 09             	cmp    $0x9,%eax
+    6b47:	8b 8d d8 fe ff ff    	mov    -0x128(%ebp),%ecx
+    6b4d:	0f 8f e6 fd ff ff    	jg     0x6939
+    6b53:	8b 9d 30 ff ff ff    	mov    -0xd0(%ebp),%ebx
+    6b59:	89 9d 3c ff ff ff    	mov    %ebx,-0xc4(%ebp)
+    6b5f:	e9 57 fd ff ff       	jmp    0x68bb
+    6b64:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
+    6b6b:	74 62                	je     0x6bcf
+    6b6d:	8b 85 44 ff ff ff    	mov    -0xbc(%ebp),%eax
+    6b73:	c7 44 24 04 00 01 00 	movl   $0x100,0x4(%esp)
+    6b7a:	00 
+    6b7b:	89 04 24             	mov    %eax,(%esp)
+    6b7e:	e8 fc ff ff ff       	call   0x6b7f
+    6b83:	85 c0                	test   %eax,%eax
+    6b85:	89 c6                	mov    %eax,%esi
+    6b87:	74 24                	je     0x6bad
+    6b89:	c7 85 40 ff ff ff 00 	movl   $0x100,-0xc0(%ebp)
+    6b90:	01 00 00 
+    6b93:	e9 c6 9b ff ff       	jmp    0x75e
+    6b98:	8b 85 34 ff ff ff    	mov    -0xcc(%ebp),%eax
+    6b9e:	89 04 24             	mov    %eax,(%esp)
+    6ba1:	e8 fc ff ff ff       	call   0x6ba2
+    6ba6:	89 c3                	mov    %eax,%ebx
+    6ba8:	e9 df 9b ff ff       	jmp    0x78c
+    6bad:	8b 95 44 ff ff ff    	mov    -0xbc(%ebp),%edx
+    6bb3:	83 cb ff             	or     $0xffffffff,%ebx
+    6bb6:	31 ff                	xor    %edi,%edi
+    6bb8:	89 14 24             	mov    %edx,(%esp)
+    6bbb:	e8 fc ff ff ff       	call   0x6bbc
+    6bc0:	c7 85 24 ff ff ff ff 	movl   $0xffffffff,-0xdc(%ebp)
+    6bc7:	ff ff ff 
+    6bca:	e9 d1 96 ff ff       	jmp    0x2a0
+    6bcf:	81 ec 10 04 00 00    	sub    $0x410,%esp
+    6bd5:	8d 74 24 1f          	lea    0x1f(%esp),%esi
+    6bd9:	83 e6 f0             	and    $0xfffffff0,%esi
+    6bdc:	83 bd 44 ff ff ff 00 	cmpl   $0x0,-0xbc(%ebp)
+    6be3:	74 a4                	je     0x6b89
+    6be5:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
+    6beb:	c7 44 24 08 00 00 00 	movl   $0x0,0x8(%esp)
+    6bf2:	00 
+    6bf3:	89 34 24             	mov    %esi,(%esp)
+    6bf6:	89 4c 24 04          	mov    %ecx,0x4(%esp)
+    6bfa:	e8 fc ff ff ff       	call   0x6bfb
+    6bff:	c7 85 40 ff ff ff 00 	movl   $0x100,-0xc0(%ebp)
+    6c06:	01 00 00 
+    6c09:	e9 50 9b ff ff       	jmp    0x75e
+    6c0e:	a1 00 00 00 00       	mov    0x0,%eax
+    6c13:	65 8b 00             	mov    %gs:(%eax),%eax
+    6c16:	89 85 1c ff ff ff    	mov    %eax,-0xe4(%ebp)
+    6c1c:	e9 fd fc ff ff       	jmp    0x691e
+    6c21:	8b 9d 34 ff ff ff    	mov    -0xcc(%ebp),%ebx
+    6c27:	89 8d cc fe ff ff    	mov    %ecx,-0x134(%ebp)
+    6c2d:	89 1c 24             	mov    %ebx,(%esp)
+    6c30:	e8 fc ff ff ff       	call   0x6c31
+    6c35:	8b 8d cc fe ff ff    	mov    -0x134(%ebp),%ecx
+    6c3b:	89 c3                	mov    %eax,%ebx
+    6c3d:	e9 cc fc ff ff       	jmp    0x690e
+    6c42:	a1 00 00 00 00       	mov    0x0,%eax
+    6c47:	8b b5 1c ff ff ff    	mov    -0xe4(%ebp),%esi
+    6c4d:	65 89 30             	mov    %esi,%gs:(%eax)
+    6c50:	e9 c9 fc ff ff       	jmp    0x691e
+    6c55:	89 c6                	mov    %eax,%esi
+    6c57:	b8 00 01 00 00       	mov    $0x100,%eax
+    6c5c:	01 f6                	add    %esi,%esi
+    6c5e:	81 fe 00 01 00 00    	cmp    $0x100,%esi
+    6c64:	0f 42 f0             	cmovb  %eax,%esi
+    6c67:	89 c8                	mov    %ecx,%eax
+    6c69:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
+    6c70:	75 0a                	jne    0x6c7c
+    6c72:	81 fe 00 00 01 00    	cmp    $0x10000,%esi
+    6c78:	76 3a                	jbe    0x6cb4
+    6c7a:	31 c0                	xor    %eax,%eax
+    6c7c:	89 8d cc fe ff ff    	mov    %ecx,-0x134(%ebp)
+    6c82:	89 74 24 04          	mov    %esi,0x4(%esp)
+    6c86:	89 04 24             	mov    %eax,(%esp)
+    6c89:	e8 fc ff ff ff       	call   0x6c8a
+    6c8e:	8b 8d cc fe ff ff    	mov    -0x134(%ebp),%ecx
+    6c94:	85 c0                	test   %eax,%eax
+    6c96:	89 c2                	mov    %eax,%edx
+    6c98:	0f 84 b2 00 00 00    	je     0x6d50
+    6c9e:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
+    6ca5:	74 73                	je     0x6d1a
+    6ca7:	89 b5 40 ff ff ff    	mov    %esi,-0xc0(%ebp)
+    6cad:	89 c1                	mov    %eax,%ecx
+    6caf:	e9 1c fc ff ff       	jmp    0x68d0
+    6cb4:	8d 04 b5 00 00 00 00 	lea    0x0(,%esi,4),%eax
+    6cbb:	8d 50 10             	lea    0x10(%eax),%edx
+    6cbe:	29 d4                	sub    %edx,%esp
+    6cc0:	8d 74 24 1f          	lea    0x1f(%esp),%esi
+    6cc4:	83 e6 f0             	and    $0xfffffff0,%esi
+    6cc7:	8d 14 06             	lea    (%esi,%eax,1),%edx
+    6cca:	39 d1                	cmp    %edx,%ecx
+    6ccc:	89 95 44 ff ff ff    	mov    %edx,-0xbc(%ebp)
+    6cd2:	8b 95 40 ff ff ff    	mov    -0xc0(%ebp),%edx
+    6cd8:	8d 14 90             	lea    (%eax,%edx,4),%edx
+    6cdb:	89 95 e8 fe ff ff    	mov    %edx,-0x118(%ebp)
+    6ce1:	0f 45 d0             	cmovne %eax,%edx
+    6ce4:	c1 ea 02             	shr    $0x2,%edx
+    6ce7:	85 c9                	test   %ecx,%ecx
+    6ce9:	74 22                	je     0x6d0d
+    6ceb:	8b 85 40 ff ff ff    	mov    -0xc0(%ebp),%eax
+    6cf1:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
+    6cf7:	89 4c 24 04          	mov    %ecx,0x4(%esp)
+    6cfb:	89 34 24             	mov    %esi,(%esp)
+    6cfe:	89 44 24 08          	mov    %eax,0x8(%esp)
+    6d02:	e8 fc ff ff ff       	call   0x6d03
+    6d07:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
+    6d0d:	89 95 40 ff ff ff    	mov    %edx,-0xc0(%ebp)
+    6d13:	89 f1                	mov    %esi,%ecx
+    6d15:	e9 b6 fb ff ff       	jmp    0x68d0
+    6d1a:	8b 85 48 ff ff ff    	mov    -0xb8(%ebp),%eax
+    6d20:	89 4c 24 04          	mov    %ecx,0x4(%esp)
+    6d24:	89 14 24             	mov    %edx,(%esp)
+    6d27:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
+    6d2d:	89 44 24 08          	mov    %eax,0x8(%esp)
+    6d31:	e8 fc ff ff ff       	call   0x6d32
+    6d36:	8b 95 d0 fe ff ff    	mov    -0x130(%ebp),%edx
+    6d3c:	89 b5 40 ff ff ff    	mov    %esi,-0xc0(%ebp)
+    6d42:	c6 85 0f ff ff ff 01 	movb   $0x1,-0xf1(%ebp)
+    6d49:	89 d1                	mov    %edx,%ecx
+    6d4b:	e9 80 fb ff ff       	jmp    0x68d0
+    6d50:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
+    6d57:	89 c6                	mov    %eax,%esi
+    6d59:	89 8d 44 ff ff ff    	mov    %ecx,-0xbc(%ebp)
+    6d5f:	0f 84 8d d8 ff ff    	je     0x45f2
+    6d65:	89 0c 24             	mov    %ecx,(%esp)
+    6d68:	83 cb ff             	or     $0xffffffff,%ebx
+    6d6b:	31 ff                	xor    %edi,%edi
+    6d6d:	e8 fc ff ff ff       	call   0x6d6e
+    6d72:	c7 85 24 ff ff ff ff 	movl   $0xffffffff,-0xdc(%ebp)
+    6d79:	ff ff ff 
+    6d7c:	e9 1f 95 ff ff       	jmp    0x2a0
+    6d81:	8b 9d 34 ff ff ff    	mov    -0xcc(%ebp),%ebx
+    6d87:	89 1c 24             	mov    %ebx,(%esp)
+    6d8a:	e8 fc ff ff ff       	call   0x6d8b
+    6d8f:	89 c6                	mov    %eax,%esi
+    6d91:	e9 a4 a2 ff ff       	jmp    0x103a
+    6d96:	80 bd 0f ff ff ff 00 	cmpb   $0x0,-0xf1(%ebp)
+    6d9d:	0f 84 91 00 00 00    	je     0x6e34
+    6da3:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
+    6da9:	c7 44 24 04 00 01 00 	movl   $0x100,0x4(%esp)
+    6db0:	00 
+    6db1:	89 0c 24             	mov    %ecx,(%esp)
+    6db4:	e8 fc ff ff ff       	call   0x6db5
+    6db9:	85 c0                	test   %eax,%eax
+    6dbb:	89 c6                	mov    %eax,%esi
+    6dbd:	74 53                	je     0x6e12
+    6dbf:	b9 00 01 00 00       	mov    $0x100,%ecx
+    6dc4:	e9 1b 9a ff ff       	jmp    0x7e4
+    6dc9:	8b 9d 34 ff ff ff    	mov    -0xcc(%ebp),%ebx
+    6dcf:	89 8d cc fe ff ff    	mov    %ecx,-0x134(%ebp)
+    6dd5:	89 1c 24             	mov    %ebx,(%esp)
+    6dd8:	e8 fc ff ff ff       	call   0x6dd9
+    6ddd:	8b 8d cc fe ff ff    	mov    -0x134(%ebp),%ecx
+    6de3:	89 c3                	mov    %eax,%ebx
+    6de5:	e9 2a 9a ff ff       	jmp    0x814
+    6dea:	8b 8d 34 ff ff ff    	mov    -0xcc(%ebp),%ecx
+    6df0:	bf 02 00 00 00       	mov    $0x2,%edi
+    6df5:	89 5c 24 04          	mov    %ebx,0x4(%esp)
+    6df9:	89 0c 24             	mov    %ecx,(%esp)
+    6dfc:	e8 fc ff ff ff       	call   0x6dfd
+    6e01:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
+    6e07:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
+    6e0d:	e9 8e 94 ff ff       	jmp    0x2a0
+    6e12:	8b 9d 44 ff ff ff    	mov    -0xbc(%ebp),%ebx
+    6e18:	31 ff                	xor    %edi,%edi
+    6e1a:	89 1c 24             	mov    %ebx,(%esp)
+    6e1d:	83 cb ff             	or     $0xffffffff,%ebx
+    6e20:	e8 fc ff ff ff       	call   0x6e21
+    6e25:	c7 85 24 ff ff ff ff 	movl   $0xffffffff,-0xdc(%ebp)
+    6e2c:	ff ff ff 
+    6e2f:	e9 6c 94 ff ff       	jmp    0x2a0
+    6e34:	81 ec 10 04 00 00    	sub    $0x410,%esp
+    6e3a:	b9 00 01 00 00       	mov    $0x100,%ecx
+    6e3f:	8d 74 24 1f          	lea    0x1f(%esp),%esi
+    6e43:	83 e6 f0             	and    $0xfffffff0,%esi
+    6e46:	8d 86 00 04 00 00    	lea    0x400(%esi),%eax
+    6e4c:	39 85 44 ff ff ff    	cmp    %eax,-0xbc(%ebp)
+    6e52:	75 10                	jne    0x6e64
+    6e54:	8b 85 40 ff ff ff    	mov    -0xc0(%ebp),%eax
+    6e5a:	8d 0c 85 00 04 00 00 	lea    0x400(,%eax,4),%ecx
+    6e61:	c1 e9 02             	shr    $0x2,%ecx
+    6e64:	83 bd 44 ff ff ff 00 	cmpl   $0x0,-0xbc(%ebp)
+    6e6b:	0f 84 73 99 ff ff    	je     0x7e4
+    6e71:	8b 95 40 ff ff ff    	mov    -0xc0(%ebp),%edx
+    6e77:	8b 9d 44 ff ff ff    	mov    -0xbc(%ebp),%ebx
+    6e7d:	89 8d cc fe ff ff    	mov    %ecx,-0x134(%ebp)
+    6e83:	89 34 24             	mov    %esi,(%esp)
+    6e86:	89 54 24 08          	mov    %edx,0x8(%esp)
+    6e8a:	89 5c 24 04          	mov    %ebx,0x4(%esp)
+    6e8e:	e8 fc ff ff ff       	call   0x6e8f
+    6e93:	8b 8d cc fe ff ff    	mov    -0x134(%ebp),%ecx
+    6e99:	e9 46 99 ff ff       	jmp    0x7e4
+    6e9e:	83 bd 24 ff ff ff 00 	cmpl   $0x0,-0xdc(%ebp)
+    6ea5:	0f 84 db 93 ff ff    	je     0x286
+    6eab:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
+    6eb1:	bf 01 00 00 00       	mov    $0x1,%edi
+    6eb6:	8b b5 44 ff ff ff    	mov    -0xbc(%ebp),%esi
+    6ebc:	e9 df 93 ff ff       	jmp    0x2a0
+    6ec1:	8b 9d 34 ff ff ff    	mov    -0xcc(%ebp),%ebx
+    6ec7:	89 1c 24             	mov    %ebx,(%esp)
+    6eca:	e8 fc ff ff ff       	call   0x6ecb
+    6ecf:	89 c2                	mov    %eax,%edx
+    6ed1:	e9 c6 a0 ff ff       	jmp    0xf9c
+    6ed6:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
+    6edc:	bf 02 00 00 00       	mov    $0x2,%edi
+    6ee1:	e9 ba 93 ff ff       	jmp    0x2a0
+    6ee6:	8b 9d e0 fe ff ff    	mov    -0x120(%ebp),%ebx
+    6eec:	e9 c7 f8 ff ff       	jmp    0x67b8
+    6ef1:	eb 0d                	jmp    0x6f00
+    6ef3:	90                   	nop
+    6ef4:	90                   	nop
+    6ef5:	90                   	nop
+    6ef6:	90                   	nop
+    6ef7:	90                   	nop
+    6ef8:	90                   	nop
+    6ef9:	90                   	nop
+    6efa:	90                   	nop
+    6efb:	90                   	nop
+    6efc:	90                   	nop
+    6efd:	90                   	nop
+    6efe:	90                   	nop
+    6eff:	90                   	nop
+    6f00:	55                   	push   %ebp
+    6f01:	89 e5                	mov    %esp,%ebp
+    6f03:	83 ec 10             	sub    $0x10,%esp
+    6f06:	8b 45 10             	mov    0x10(%ebp),%eax
+    6f09:	c7 44 24 0c 00 00 00 	movl   $0x0,0xc(%esp)
+    6f10:	00 
+    6f11:	89 44 24 08          	mov    %eax,0x8(%esp)
+    6f15:	8b 45 0c             	mov    0xc(%ebp),%eax
+    6f18:	89 44 24 04          	mov    %eax,0x4(%esp)
+    6f1c:	8b 45 08             	mov    0x8(%ebp),%eax
+    6f1f:	89 04 24             	mov    %eax,(%esp)
+    6f22:	e8 fc ff ff ff       	call   0x6f23
+    6f27:	c9                   	leave  
+    6f28:	c3                   	ret    
--- /dev/fd/63	2012-05-05 15:41:47.000000000 +0200
+++ /dev/fd/62	2012-05-05 15:41:47.000000000 +0200
@@ -1,5 +1,5 @@
 
-../build-tree.good/kfreebsd-amd64-i386/malloc/malloc.o:     file format elf32-i386-freebsd
+build-tree/kfreebsd-amd64-i386/malloc/malloc.o:     file format elf32-i386-freebsd
 
 
 Disassembly of section .text:
@@ -1259,8 +1259,8 @@
     10b2:	85 c0                	test   %eax,%eax
     10b4:	0f 84 e1 00 00 00    	je     0x119b
     10ba:	8b 40 04             	mov    0x4(%eax),%eax
-    10bd:	31 ff                	xor    %edi,%edi
-    10bf:	31 c9                	xor    %ecx,%ecx
+    10bd:	31 c9                	xor    %ecx,%ecx
+    10bf:	31 ff                	xor    %edi,%edi
     10c1:	8b 75 ec             	mov    -0x14(%ebp),%esi
     10c4:	31 db                	xor    %ebx,%ebx
     10c6:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
@@ -4589,9 +4589,9 @@
     3f5e:	8b b5 48 f7 ff ff    	mov    -0x8b8(%ebp),%esi
     3f64:	89 bd 40 f7 ff ff    	mov    %edi,-0x8c0(%ebp)
     3f6a:	8b bd 48 f7 ff ff    	mov    -0x8b8(%ebp),%edi
-    3f70:	c7 85 58 f7 ff ff 00 	movl   $0x0,-0x8a8(%ebp)
+    3f70:	c7 85 54 f7 ff ff 00 	movl   $0x0,-0x8ac(%ebp)
     3f77:	00 00 00 
-    3f7a:	c7 85 54 f7 ff ff 00 	movl   $0x0,-0x8ac(%ebp)
+    3f7a:	c7 85 58 f7 ff ff 00 	movl   $0x0,-0x8a8(%ebp)
     3f81:	00 00 00 
     3f84:	83 c6 44             	add    $0x44,%esi
     3f87:	8b 56 08             	mov    0x8(%esi),%edx
@@ -6556,7 +6556,7 @@
     5c12:	74 08                	je     0x5c1c
     5c14:	81 e2 00 00 f0 ff    	and    $0xfff00000,%edx
     5c1a:	8b 0a                	mov    (%edx),%ecx
-    5c1c:	39 4d f0             	cmp    %ecx,-0x10(%ebp)
+    5c1c:	3b 4d f0             	cmp    -0x10(%ebp),%ecx
     5c1f:	74 47                	je     0x5c68
     5c21:	b8 04 0f 00 00       	mov    $0xf04,%eax
     5c26:	b9 f1 0e 00 00       	mov    $0xef1,%ecx
--- /dev/fd/63	2012-05-05 15:41:47.000000000 +0200
+++ /dev/fd/62	2012-05-05 15:41:47.000000000 +0200
@@ -1,5 +1,5 @@
 
-../build-tree.good/kfreebsd-amd64-i386/stdio-common/vfscanf.o:     file format elf32-i386-freebsd
+build-tree/kfreebsd-amd64-i386/stdio-common/vfscanf.o:     file format elf32-i386-freebsd
 
 
 Disassembly of section .text:
@@ -124,7 +124,7 @@
      204:	8b bd 54 fe ff ff    	mov    -0x1ac(%ebp),%edi
      20a:	8b 4b 04             	mov    0x4(%ebx),%ecx
      20d:	3b 4b 08             	cmp    0x8(%ebx),%ecx
-     210:	0f 83 ea 5f 00 00    	jae    0x6200
+     210:	0f 83 1a 60 00 00    	jae    0x6230
      216:	0f b6 01             	movzbl (%ecx),%eax
      219:	83 c1 01             	add    $0x1,%ecx
      21c:	89 4b 04             	mov    %ecx,0x4(%ebx)
@@ -160,7 +160,7 @@
      28f:	0f 84 0b 04 00 00    	je     0x6a0
      295:	8b 43 04             	mov    0x4(%ebx),%eax
      298:	3b 43 08             	cmp    0x8(%ebx),%eax
-     29b:	0f 83 05 5f 00 00    	jae    0x61a6
+     29b:	0f 83 35 5f 00 00    	jae    0x61d6
      2a1:	0f b6 08             	movzbl (%eax),%ecx
      2a4:	83 c0 01             	add    $0x1,%eax
      2a7:	89 43 04             	mov    %eax,0x4(%ebx)
@@ -189,7 +189,7 @@
      305:	89 85 68 fe ff ff    	mov    %eax,-0x198(%ebp)
      30b:	0f b6 d2             	movzbl %dl,%edx
      30e:	39 95 68 fe ff ff    	cmp    %edx,-0x198(%ebp)
-     314:	0f 85 c8 59 00 00    	jne    0x5ce2
+     314:	0f 85 f8 59 00 00    	jne    0x5d12
      31a:	8b 95 70 fe ff ff    	mov    -0x190(%ebp),%edx
      320:	89 95 50 fe ff ff    	mov    %edx,-0x1b0(%ebp)
      326:	31 ff                	xor    %edi,%edi
@@ -282,7 +282,7 @@
      486:	8b bd 0c fe ff ff    	mov    -0x1f4(%ebp),%edi
      48c:	09 37                	or     %esi,(%edi)
      48e:	83 bd 34 fe ff ff ff 	cmpl   $0xffffffff,-0x1cc(%ebp)
-     495:	0f 84 34 5d 00 00    	je     0x61cf
+     495:	0f 84 64 5d 00 00    	je     0x61ff
      49b:	8b 85 24 fe ff ff    	mov    -0x1dc(%ebp),%eax
      4a1:	85 c0                	test   %eax,%eax
      4a3:	0f 84 ca fd ff ff    	je     0x273
@@ -307,10 +307,10 @@
      503:	65 c7 07 00 00 00 00 	movl   $0x0,%gs:(%edi)
      50a:	89 8d 74 fe ff ff    	mov    %ecx,-0x18c(%ebp)
      510:	83 f8 ff             	cmp    $0xffffffff,%eax
-     513:	0f 84 b5 57 00 00    	je     0x5cce
+     513:	0f 84 e5 57 00 00    	je     0x5cfe
      519:	8b 4b 04             	mov    0x4(%ebx),%ecx
      51c:	3b 4b 08             	cmp    0x8(%ebx),%ecx
-     51f:	0f 83 e6 57 00 00    	jae    0x5d0b
+     51f:	0f 83 16 58 00 00    	jae    0x5d3b
      525:	0f b6 01             	movzbl (%ecx),%eax
      528:	83 c1 01             	add    $0x1,%ecx
      52b:	89 4b 04             	mov    %ecx,0x4(%ebx)
@@ -513,7 +513,7 @@
      886:	c6 04 11 30          	movb   $0x30,(%ecx,%edx,1)
      88a:	8b 43 04             	mov    0x4(%ebx),%eax
      88d:	3b 43 08             	cmp    0x8(%ebx),%eax
-     890:	0f 83 c2 4a 00 00    	jae    0x5358
+     890:	0f 83 f1 4a 00 00    	jae    0x5387
      896:	0f b6 30             	movzbl (%eax),%esi
      899:	83 c0 01             	add    $0x1,%eax
      89c:	89 43 04             	mov    %eax,0x4(%ebx)
@@ -575,7 +575,7 @@
      9b8:	89 44 24 04          	mov    %eax,0x4(%esp)
      9bc:	e8 fc ff ff ff       	call   0x9bd
      9c1:	3b bd 5c fe ff ff    	cmp    -0x1a4(%ebp),%edi
-     9c7:	0f 84 79 44 00 00    	je     0x4e46
+     9c7:	0f 84 e0 43 00 00    	je     0x4dad
      9cd:	8b b5 70 fe ff ff    	mov    -0x190(%ebp),%esi
      9d3:	89 b5 50 fe ff ff    	mov    %esi,-0x1b0(%ebp)
      9d9:	8b b5 50 fe ff ff    	mov    -0x1b0(%ebp),%esi
@@ -666,7 +666,7 @@
      b78:	0f 84 84 11 00 00    	je     0x1d02
      b7e:	8b 43 04             	mov    0x4(%ebx),%eax
      b81:	3b 43 08             	cmp    0x8(%ebx),%eax
-     b84:	0f 83 95 57 00 00    	jae    0x631f
+     b84:	0f 83 c5 57 00 00    	jae    0x634f
      b8a:	0f b6 38             	movzbl (%eax),%edi
      b8d:	83 c0 01             	add    $0x1,%eax
      b90:	89 43 04             	mov    %eax,0x4(%ebx)
@@ -852,7 +852,7 @@
      eed:	0f 84 53 f5 ff ff    	je     0x446
      ef3:	8b 43 04             	mov    0x4(%ebx),%eax
      ef6:	3b 43 08             	cmp    0x8(%ebx),%eax
-     ef9:	0f 83 2b 3f 00 00    	jae    0x4e2a
+     ef9:	0f 83 ba 3a 00 00    	jae    0x49b9
      eff:	0f b6 30             	movzbl (%eax),%esi
      f02:	83 c0 01             	add    $0x1,%eax
      f05:	89 43 04             	mov    %eax,0x4(%ebx)
@@ -898,7 +898,7 @@
      fd0:	89 b5 fc fd ff ff    	mov    %esi,-0x204(%ebp)
      fd6:	0f 87 86 00 00 00    	ja     0x1062
      fdc:	39 cb                	cmp    %ecx,%ebx
-     fde:	0f 84 5b 50 00 00    	je     0x603f
+     fde:	0f 84 8b 50 00 00    	je     0x606f
      fe4:	89 fe                	mov    %edi,%esi
      fe6:	0f b6 85 68 fe ff ff 	movzbl -0x198(%ebp),%eax
      fed:	89 f7                	mov    %esi,%edi
@@ -912,7 +912,7 @@
     1010:	8b 95 6c fe ff ff    	mov    -0x194(%ebp),%edx
     1016:	8b 42 04             	mov    0x4(%edx),%eax
     1019:	3b 42 08             	cmp    0x8(%edx),%eax
-    101c:	0f 83 9c 3d 00 00    	jae    0x4dbe
+    101c:	0f 83 07 3a 00 00    	jae    0x4a29
     1022:	0f b6 30             	movzbl (%eax),%esi
     1025:	83 c0 01             	add    $0x1,%eax
     1028:	8b 95 6c fe ff ff    	mov    -0x194(%ebp),%edx
@@ -989,7 +989,7 @@
     1171:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
     1178:	39 c3                	cmp    %eax,%ebx
     117a:	89 fa                	mov    %edi,%edx
-    117c:	0f 84 8e 40 00 00    	je     0x5210
+    117c:	0f 84 bd 40 00 00    	je     0x523f
     1182:	0f b6 16             	movzbl (%esi),%edx
     1185:	83 c6 01             	add    $0x1,%esi
     1188:	83 c1 02             	add    $0x2,%ecx
@@ -1009,13 +1009,13 @@
     11c6:	0f 84 d4 f4 ff ff    	je     0x6a0
     11cc:	8b 43 04             	mov    0x4(%ebx),%eax
     11cf:	3b 43 08             	cmp    0x8(%ebx),%eax
-    11d2:	0f 83 3a 3e 00 00    	jae    0x5012
+    11d2:	0f 83 69 3e 00 00    	jae    0x5041
     11d8:	0f b6 08             	movzbl (%eax),%ecx
     11db:	83 c0 01             	add    $0x1,%eax
     11de:	89 43 04             	mov    %eax,0x4(%ebx)
     11e1:	89 8d 68 fe ff ff    	mov    %ecx,-0x198(%ebp)
     11e7:	83 bd 68 fe ff ff 25 	cmpl   $0x25,-0x198(%ebp)
-    11ee:	0f 85 12 3e 00 00    	jne    0x5006
+    11ee:	0f 85 41 3e 00 00    	jne    0x5035
     11f4:	8b b5 6c fe ff ff    	mov    -0x194(%ebp),%esi
     11fa:	8b bd 70 fe ff ff    	mov    -0x190(%ebp),%edi
     1200:	83 c6 01             	add    $0x1,%esi
@@ -1157,7 +1157,7 @@
     1482:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
     1488:	89 bd 70 fe ff ff    	mov    %edi,-0x190(%ebp)
     148e:	80 bd 68 fe ff ff 00 	cmpb   $0x0,-0x198(%ebp)
-    1495:	0f 85 d3 48 00 00    	jne    0x5d6e
+    1495:	0f 85 03 49 00 00    	jne    0x5d9e
     149b:	8b bd 70 fe ff ff    	mov    -0x190(%ebp),%edi
     14a1:	8b 85 60 fe ff ff    	mov    -0x1a0(%ebp),%eax
     14a7:	8b 8d 74 fe ff ff    	mov    -0x18c(%ebp),%ecx
@@ -1255,7 +1255,7 @@
     1657:	8b 8d e8 fd ff ff    	mov    -0x218(%ebp),%ecx
     165d:	85 c0                	test   %eax,%eax
     165f:	89 c7                	mov    %eax,%edi
-    1661:	0f 84 47 3e 00 00    	je     0x54ae
+    1661:	0f 84 76 3e 00 00    	je     0x54dd
     1667:	8b 85 68 fe ff ff    	mov    -0x198(%ebp),%eax
     166d:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
     1674:	89 85 5c fe ff ff    	mov    %eax,-0x1a4(%ebp)
@@ -1361,7 +1361,7 @@
     183d:	0f 84 8a 0e 00 00    	je     0x26cd
     1843:	8b 43 04             	mov    0x4(%ebx),%eax
     1846:	3b 43 08             	cmp    0x8(%ebx),%eax
-    1849:	0f 83 30 3c 00 00    	jae    0x547f
+    1849:	0f 83 5f 3c 00 00    	jae    0x54ae
     184f:	0f b6 08             	movzbl (%eax),%ecx
     1852:	83 c0 01             	add    $0x1,%eax
     1855:	89 43 04             	mov    %eax,0x4(%ebx)
@@ -1377,7 +1377,7 @@
     1889:	0f 84 26 0e 00 00    	je     0x26b5
     188f:	8b 43 04             	mov    0x4(%ebx),%eax
     1892:	3b 43 08             	cmp    0x8(%ebx),%eax
-    1895:	0f 83 b5 3b 00 00    	jae    0x5450
+    1895:	0f 83 e4 3b 00 00    	jae    0x547f
     189b:	0f b6 08             	movzbl (%eax),%ecx
     189e:	83 c0 01             	add    $0x1,%eax
     18a1:	89 43 04             	mov    %eax,0x4(%ebx)
@@ -1391,7 +1391,7 @@
     18cc:	0f 84 0c 04 00 00    	je     0x1cde
     18d2:	8b 43 04             	mov    0x4(%ebx),%eax
     18d5:	3b 43 08             	cmp    0x8(%ebx),%eax
-    18d8:	0f 83 1f 56 00 00    	jae    0x6efd
+    18d8:	0f 83 4f 56 00 00    	jae    0x6f2d
     18de:	0f b6 10             	movzbl (%eax),%edx
     18e1:	83 c0 01             	add    $0x1,%eax
     18e4:	89 43 04             	mov    %eax,0x4(%ebx)
@@ -1400,7 +1400,7 @@
     18f4:	0f 85 3d 04 00 00    	jne    0x1d37
     18fa:	8b 85 5c fe ff ff    	mov    -0x1a4(%ebp),%eax
     1900:	85 c0                	test   %eax,%eax
-    1902:	0f 84 53 55 00 00    	je     0x6e5b
+    1902:	0f 84 83 55 00 00    	je     0x6e8b
     1908:	8b 8d 70 fe ff ff    	mov    -0x190(%ebp),%ecx
     190e:	89 8d 50 fe ff ff    	mov    %ecx,-0x1b0(%ebp)
     1914:	8b 95 50 fe ff ff    	mov    -0x1b0(%ebp),%edx
@@ -1411,7 +1411,7 @@
     192f:	e9 8d f0 ff ff       	jmp    0x9c1
     1934:	8b bd 5c fe ff ff    	mov    -0x1a4(%ebp),%edi
     193a:	85 ff                	test   %edi,%edi
-    193c:	0f 84 d9 54 00 00    	je     0x6e1b
+    193c:	0f 84 09 55 00 00    	je     0x6e4b
     1942:	8b bd 70 fe ff ff    	mov    -0x190(%ebp),%edi
     1948:	89 bd 50 fe ff ff    	mov    %edi,-0x1b0(%ebp)
     194e:	0f b6 85 68 fe ff ff 	movzbl -0x198(%ebp),%eax
@@ -1423,7 +1423,7 @@
     1969:	29 85 60 fe ff ff    	sub    %eax,-0x1a0(%ebp)
     196f:	8b 43 04             	mov    0x4(%ebx),%eax
     1972:	3b 43 08             	cmp    0x8(%ebx),%eax
-    1975:	0f 83 60 54 00 00    	jae    0x6ddb
+    1975:	0f 83 90 54 00 00    	jae    0x6e0b
     197b:	0f b6 08             	movzbl (%eax),%ecx
     197e:	83 c0 01             	add    $0x1,%eax
     1981:	89 43 04             	mov    %eax,0x4(%ebx)
@@ -1440,7 +1440,7 @@
     19bc:	0f 85 3b ef ff ff    	jne    0x8fd
     19c2:	f7 85 44 fe ff ff 00 	testl  $0x400,-0x1bc(%ebp)
     19c9:	04 00 00 
-    19cc:	0f 85 69 49 00 00    	jne    0x633b
+    19cc:	0f 85 99 49 00 00    	jne    0x636b
     19d2:	c7 85 4c fe ff ff 0a 	movl   $0xa,-0x1b4(%ebp)
     19d9:	00 00 00 
     19dc:	e9 29 ef ff ff       	jmp    0x90a
@@ -1473,7 +1473,7 @@
     1a58:	e9 d6 ef ff ff       	jmp    0xa33
     1a5d:	8d 76 00             	lea    0x0(%esi),%esi
     1a60:	83 f8 01             	cmp    $0x1,%eax
-    1a63:	0f 85 85 57 00 00    	jne    0x71ee
+    1a63:	0f 85 b5 57 00 00    	jne    0x721e
     1a69:	8b 8d 6c fe ff ff    	mov    -0x194(%ebp),%ecx
     1a6f:	83 85 58 fe ff ff 04 	addl   $0x4,-0x1a8(%ebp)
     1a76:	85 c9                	test   %ecx,%ecx
@@ -1497,7 +1497,7 @@
     1abd:	0f 84 3b 17 00 00    	je     0x31fe
     1ac3:	8b 43 04             	mov    0x4(%ebx),%eax
     1ac6:	3b 43 08             	cmp    0x8(%ebx),%eax
-    1ac9:	0f 83 30 55 00 00    	jae    0x6fff
+    1ac9:	0f 83 60 55 00 00    	jae    0x702f
     1acf:	0f b6 30             	movzbl (%eax),%esi
     1ad2:	83 c0 01             	add    $0x1,%eax
     1ad5:	89 43 04             	mov    %eax,0x4(%ebx)
@@ -1545,7 +1545,7 @@
     1b8d:	e9 fa e5 ff ff       	jmp    0x18c
     1b92:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
     1b98:	83 f8 01             	cmp    $0x1,%eax
-    1b9b:	0f 85 67 32 00 00    	jne    0x4e08
+    1b9b:	0f 85 d2 2e 00 00    	jne    0x4a73
     1ba1:	83 ad 60 fe ff ff 01 	subl   $0x1,-0x1a0(%ebp)
     1ba8:	8b 8d 58 fe ff ff    	mov    -0x1a8(%ebp),%ecx
     1bae:	8b 95 60 fe ff ff    	mov    -0x1a0(%ebp),%edx
@@ -1554,7 +1554,7 @@
     1bb9:	0f 8e 23 15 00 00    	jle    0x30e2
     1bbf:	8b 43 04             	mov    0x4(%ebx),%eax
     1bc2:	3b 43 08             	cmp    0x8(%ebx),%eax
-    1bc5:	0f 83 f3 35 00 00    	jae    0x51be
+    1bc5:	0f 83 22 36 00 00    	jae    0x51ed
     1bcb:	0f b6 30             	movzbl (%eax),%esi
     1bce:	83 c0 01             	add    $0x1,%eax
     1bd1:	89 43 04             	mov    %eax,0x4(%ebx)
@@ -1668,7 +1668,7 @@
     1db9:	eb 22                	jmp    0x1ddd
     1dbb:	8b 53 04             	mov    0x4(%ebx),%edx
     1dbe:	3b 53 08             	cmp    0x8(%ebx),%edx
-    1dc1:	0f 83 d3 33 00 00    	jae    0x519a
+    1dc1:	0f 83 02 34 00 00    	jae    0x51c9
     1dc7:	0f b6 02             	movzbl (%edx),%eax
     1dca:	83 c2 01             	add    $0x1,%edx
     1dcd:	89 53 04             	mov    %edx,0x4(%ebx)
@@ -1746,7 +1746,7 @@
     1f29:	0f 84 d3 fd ff ff    	je     0x1d02
     1f2f:	8b 43 04             	mov    0x4(%ebx),%eax
     1f32:	3b 43 08             	cmp    0x8(%ebx),%eax
-    1f35:	0f 83 f3 30 00 00    	jae    0x502e
+    1f35:	0f 83 22 31 00 00    	jae    0x505d
     1f3b:	0f b6 38             	movzbl (%eax),%edi
     1f3e:	83 c0 01             	add    $0x1,%eax
     1f41:	89 43 04             	mov    %eax,0x4(%ebx)
@@ -1780,7 +1780,7 @@
     1fbb:	0f 8e a6 16 00 00    	jle    0x3667
     1fc1:	8b 46 04             	mov    0x4(%esi),%eax
     1fc4:	3b 46 08             	cmp    0x8(%esi),%eax
-    1fc7:	0f 83 f7 3f 00 00    	jae    0x5fc4
+    1fc7:	0f 83 27 40 00 00    	jae    0x5ff4
     1fcd:	0f b6 08             	movzbl (%eax),%ecx
     1fd0:	83 c0 01             	add    $0x1,%eax
     1fd3:	89 46 04             	mov    %eax,0x4(%esi)
@@ -1864,7 +1864,7 @@
     215b:	0f 84 2e 11 00 00    	je     0x328f
     2161:	8b 43 04             	mov    0x4(%ebx),%eax
     2164:	3b 43 08             	cmp    0x8(%ebx),%eax
-    2167:	0f 83 35 2c 00 00    	jae    0x4da2
+    2167:	0f 83 e1 24 00 00    	jae    0x464e
     216d:	0f b6 30             	movzbl (%eax),%esi
     2170:	83 c0 01             	add    $0x1,%eax
     2173:	89 43 04             	mov    %eax,0x4(%ebx)
@@ -1907,7 +1907,7 @@
     2216:	0f 84 68 18 00 00    	je     0x3a84
     221c:	8b 43 04             	mov    0x4(%ebx),%eax
     221f:	3b 43 08             	cmp    0x8(%ebx),%eax
-    2222:	0f 83 40 2b 00 00    	jae    0x4d68
+    2222:	0f 83 ec 23 00 00    	jae    0x4614
     2228:	0f b6 30             	movzbl (%eax),%esi
     222b:	83 c0 01             	add    $0x1,%eax
     222e:	89 43 04             	mov    %eax,0x4(%ebx)
@@ -1961,7 +1961,7 @@
     231b:	89 7c 24 04          	mov    %edi,0x4(%esp)
     231f:	e8 fc ff ff ff       	call   0x2320
     2324:	85 c0                	test   %eax,%eax
-    2326:	0f 84 e4 3c 00 00    	je     0x6010
+    2326:	0f 84 14 3d 00 00    	je     0x6040
     232c:	8b 95 24 fe ff ff    	mov    -0x1dc(%ebp),%edx
     2332:	89 02                	mov    %eax,(%edx)
     2334:	8d 14 18             	lea    (%eax,%ebx,1),%edx
@@ -1974,7 +1974,7 @@
     2351:	8b 8d e8 fd ff ff    	mov    -0x218(%ebp),%ecx
     2357:	85 c0                	test   %eax,%eax
     2359:	89 85 68 fe ff ff    	mov    %eax,-0x198(%ebp)
-    235f:	0f 84 31 3b 00 00    	je     0x5e96
+    235f:	0f 84 61 3b 00 00    	je     0x5ec6
     2365:	8b 95 68 fe ff ff    	mov    -0x198(%ebp),%edx
     236b:	8b 85 24 fe ff ff    	mov    -0x1dc(%ebp),%eax
     2371:	01 d1                	add    %edx,%ecx
@@ -2023,7 +2023,7 @@
     2428:	f6 44 70 01 10       	testb  $0x10,0x1(%eax,%esi,2)
     242d:	74 1a                	je     0x2449
     242f:	39 cb                	cmp    %ecx,%ebx
-    2431:	0f 84 1a 3e 00 00    	je     0x6251
+    2431:	0f 84 4a 3e 00 00    	je     0x6281
     2437:	0f b6 95 68 fe ff ff 	movzbl -0x198(%ebp),%edx
     243e:	88 14 1f             	mov    %dl,(%edi,%ebx,1)
     2441:	83 c3 01             	add    $0x1,%ebx
@@ -2039,7 +2039,7 @@
     2472:	38 d0                	cmp    %dl,%al
     2474:	0f 85 06 ec ff ff    	jne    0x1080
     247a:	39 cb                	cmp    %ecx,%ebx
-    247c:	0f 84 de 27 00 00    	je     0x4c60
+    247c:	0f 84 43 22 00 00    	je     0x46c5
     2482:	0f b6 85 70 fe ff ff 	movzbl -0x190(%ebp),%eax
     2489:	88 04 1f             	mov    %al,(%edi,%ebx,1)
     248c:	83 c3 01             	add    $0x1,%ebx
@@ -2068,7 +2068,7 @@
     24f5:	8d 76 00             	lea    0x0(%esi),%esi
     24f8:	39 c3                	cmp    %eax,%ebx
     24fa:	89 fa                	mov    %edi,%edx
-    24fc:	0f 84 48 2b 00 00    	je     0x504a
+    24fc:	0f 84 77 2b 00 00    	je     0x5079
     2502:	0f b6 16             	movzbl (%esi),%edx
     2505:	83 c6 01             	add    $0x1,%esi
     2508:	83 c1 02             	add    $0x2,%ecx
@@ -2140,7 +2140,7 @@
     2632:	74 3c                	je     0x2670
     2634:	8b 43 04             	mov    0x4(%ebx),%eax
     2637:	3b 43 08             	cmp    0x8(%ebx),%eax
-    263a:	0f 83 d8 25 00 00    	jae    0x4c18
+    263a:	0f 83 3d 20 00 00    	jae    0x467d
     2640:	0f b6 10             	movzbl (%eax),%edx
     2643:	83 c0 01             	add    $0x1,%eax
     2646:	89 43 04             	mov    %eax,0x4(%ebx)
@@ -2162,7 +2162,7 @@
     2687:	83 bd 68 fe ff ff 2b 	cmpl   $0x2b,-0x198(%ebp)
     268e:	0f 85 74 04 00 00    	jne    0x2b08
     2694:	39 cb                	cmp    %ecx,%ebx
-    2696:	0f 84 e6 2c 00 00    	je     0x5382
+    2696:	0f 84 15 2d 00 00    	je     0x53b1
     269c:	0f b6 85 68 fe ff ff 	movzbl -0x198(%ebp),%eax
     26a3:	88 04 1f             	mov    %al,(%edi,%ebx,1)
     26a6:	83 c3 01             	add    $0x1,%ebx
@@ -2195,7 +2195,7 @@
     272a:	0f 84 6d 0c 00 00    	je     0x339d
     2730:	8b 43 04             	mov    0x4(%ebx),%eax
     2733:	3b 43 08             	cmp    0x8(%ebx),%eax
-    2736:	0f 83 42 2a 00 00    	jae    0x517e
+    2736:	0f 83 71 2a 00 00    	jae    0x51ad
     273c:	0f b6 10             	movzbl (%eax),%edx
     273f:	83 c0 01             	add    $0x1,%eax
     2742:	89 43 04             	mov    %eax,0x4(%ebx)
@@ -2260,14 +2260,14 @@
     2839:	89 8d 68 fe ff ff    	mov    %ecx,-0x198(%ebp)
     283f:	8d 14 38             	lea    (%eax,%edi,1),%edx
     2842:	39 95 58 fe ff ff    	cmp    %edx,-0x1a8(%ebp)
-    2848:	0f 84 b1 35 00 00    	je     0x5dff
+    2848:	0f 84 e1 35 00 00    	je     0x5e2f
     284e:	31 ff                	xor    %edi,%edi
     2850:	e9 63 ff ff ff       	jmp    0x27b8
     2855:	83 bd 68 fe ff ff ff 	cmpl   $0xffffffff,-0x198(%ebp)
     285c:	0f 84 40 0a 00 00    	je     0x32a2
     2862:	8b 43 04             	mov    0x4(%ebx),%eax
     2865:	3b 43 08             	cmp    0x8(%ebx),%eax
-    2868:	0f 83 c7 39 00 00    	jae    0x6235
+    2868:	0f 83 f7 39 00 00    	jae    0x6265
     286e:	0f b6 30             	movzbl (%eax),%esi
     2871:	83 c0 01             	add    $0x1,%eax
     2874:	89 43 04             	mov    %eax,0x4(%ebx)
@@ -2308,7 +2308,7 @@
     2915:	0f 8e c0 13 00 00    	jle    0x3cdb
     291b:	8b 43 04             	mov    0x4(%ebx),%eax
     291e:	3b 43 08             	cmp    0x8(%ebx),%eax
-    2921:	0f 83 9e 26 00 00    	jae    0x4fc5
+    2921:	0f 83 cd 26 00 00    	jae    0x4ff4
     2927:	0f b6 10             	movzbl (%eax),%edx
     292a:	83 c0 01             	add    $0x1,%eax
     292d:	89 43 04             	mov    %eax,0x4(%ebx)
@@ -2434,7 +2434,7 @@
     2b56:	c6 85 64 fe ff ff 01 	movb   $0x1,-0x19c(%ebp)
     2b5d:	e9 8c e7 ff ff       	jmp    0x12ee
     2b62:	83 bd 5c fe ff ff 00 	cmpl   $0x0,-0x1a4(%ebp)
-    2b69:	0f 84 4e 32 00 00    	je     0x5dbd
+    2b69:	0f 84 7e 32 00 00    	je     0x5ded
     2b6f:	0f b6 85 68 fe ff ff 	movzbl -0x198(%ebp),%eax
     2b76:	8b 95 70 fe ff ff    	mov    -0x190(%ebp),%edx
     2b7c:	88 02                	mov    %al,(%edx)
@@ -2444,7 +2444,7 @@
     2b92:	0f 84 d1 07 00 00    	je     0x3369
     2b98:	8b 43 04             	mov    0x4(%ebx),%eax
     2b9b:	3b 43 08             	cmp    0x8(%ebx),%eax
-    2b9e:	0f 83 b2 31 00 00    	jae    0x5d56
+    2b9e:	0f 83 e2 31 00 00    	jae    0x5d86
     2ba4:	0f b6 30             	movzbl (%eax),%esi
     2ba7:	83 c0 01             	add    $0x1,%eax
     2baa:	89 43 04             	mov    %eax,0x4(%ebx)
@@ -2459,7 +2459,7 @@
     2bce:	0f 9f c0             	setg   %al
     2bd1:	29 85 60 fe ff ff    	sub    %eax,-0x1a0(%ebp)
     2bd7:	83 bd 5c fe ff ff 01 	cmpl   $0x1,-0x1a4(%ebp)
-    2bde:	0f 84 69 44 00 00    	je     0x704d
+    2bde:	0f 84 99 44 00 00    	je     0x707d
     2be4:	8b 95 70 fe ff ff    	mov    -0x190(%ebp),%edx
     2bea:	89 f0                	mov    %esi,%eax
     2bec:	88 42 01             	mov    %al,0x1(%edx)
@@ -2467,7 +2467,7 @@
     2bf6:	0f 84 4a d8 ff ff    	je     0x446
     2bfc:	8b 43 04             	mov    0x4(%ebx),%eax
     2bff:	3b 43 08             	cmp    0x8(%ebx),%eax
-    2c02:	0f 83 29 44 00 00    	jae    0x7031
+    2c02:	0f 83 59 44 00 00    	jae    0x7061
     2c08:	0f b6 08             	movzbl (%eax),%ecx
     2c0b:	83 c0 01             	add    $0x1,%eax
     2c0e:	89 43 04             	mov    %eax,0x4(%ebx)
@@ -2478,7 +2478,7 @@
     2c27:	83 3c 90 6e          	cmpl   $0x6e,(%eax,%edx,4)
     2c2b:	0f 85 15 d8 ff ff    	jne    0x446
     2c31:	83 bd 5c fe ff ff 02 	cmpl   $0x2,-0x1a4(%ebp)
-    2c38:	0f 84 55 44 00 00    	je     0x7093
+    2c38:	0f 84 85 44 00 00    	je     0x70c3
     2c3e:	8b bd 6c fe ff ff    	mov    -0x194(%ebp),%edi
     2c44:	8b 95 70 fe ff ff    	mov    -0x190(%ebp),%edx
     2c4a:	0f b6 85 68 fe ff ff 	movzbl -0x198(%ebp),%eax
@@ -2487,7 +2487,7 @@
     2c5a:	88 42 02             	mov    %al,0x2(%edx)
     2c5d:	ba 03 00 00 00       	mov    $0x3,%edx
     2c62:	3b 95 5c fe ff ff    	cmp    -0x1a4(%ebp),%edx
-    2c68:	0f 84 f0 42 00 00    	je     0x6f5e
+    2c68:	0f 84 20 43 00 00    	je     0x6f8e
     2c6e:	8b 8d 70 fe ff ff    	mov    -0x190(%ebp),%ecx
     2c74:	89 8d 50 fe ff ff    	mov    %ecx,-0x1b0(%ebp)
     2c7a:	8b b5 50 fe ff ff    	mov    -0x1b0(%ebp),%esi
@@ -2583,12 +2583,12 @@
     2dfd:	db 38                	fstpt  (%eax)
     2dff:	e9 0b ff ff ff       	jmp    0x2d0f
     2e04:	83 bd 5c fe ff ff 00 	cmpl   $0x0,-0x1a4(%ebp)
-    2e0b:	0f 84 77 2e 00 00    	je     0x5c88
+    2e0b:	0f 84 a7 2e 00 00    	je     0x5cb8
     2e11:	8b 8d 70 fe ff ff    	mov    -0x190(%ebp),%ecx
     2e17:	c6 01 30             	movb   $0x30,(%ecx)
     2e1a:	8b 43 04             	mov    0x4(%ebx),%eax
     2e1d:	3b 43 08             	cmp    0x8(%ebx),%eax
-    2e20:	0f 83 38 2e 00 00    	jae    0x5c5e
+    2e20:	0f 83 68 2e 00 00    	jae    0x5c8e
     2e26:	0f b6 30             	movzbl (%eax),%esi
     2e29:	83 c0 01             	add    $0x1,%eax
     2e2c:	89 43 04             	mov    %eax,0x4(%ebx)
@@ -2634,7 +2634,7 @@
     2ee1:	0f 8e 33 d4 ff ff    	jle    0x31a
     2ee7:	8b 53 04             	mov    0x4(%ebx),%edx
     2eea:	3b 53 08             	cmp    0x8(%ebx),%edx
-    2eed:	0f 83 a0 2e 00 00    	jae    0x5d93
+    2eed:	0f 83 d0 2e 00 00    	jae    0x5dc3
     2ef3:	0f b6 02             	movzbl (%edx),%eax
     2ef6:	83 c2 01             	add    $0x1,%edx
     2ef9:	89 53 04             	mov    %edx,0x4(%ebx)
@@ -2661,7 +2661,7 @@
     2f5e:	89 b5 50 fe ff ff    	mov    %esi,-0x1b0(%ebp)
     2f64:	e9 23 d2 ff ff       	jmp    0x18c
     2f69:	83 bd 5c fe ff ff 00 	cmpl   $0x0,-0x1a4(%ebp)
-    2f70:	0f 84 aa 2b 00 00    	je     0x5b20
+    2f70:	0f 84 da 2b 00 00    	je     0x5b50
     2f76:	0f b6 85 68 fe ff ff 	movzbl -0x198(%ebp),%eax
     2f7d:	8b 95 70 fe ff ff    	mov    -0x190(%ebp),%edx
     2f83:	88 02                	mov    %al,(%edx)
@@ -2671,7 +2671,7 @@
     2f99:	0f 84 ca 03 00 00    	je     0x3369
     2f9f:	8b 43 04             	mov    0x4(%ebx),%eax
     2fa2:	3b 43 08             	cmp    0x8(%ebx),%eax
-    2fa5:	0f 83 5d 2b 00 00    	jae    0x5b08
+    2fa5:	0f 83 8d 2b 00 00    	jae    0x5b38
     2fab:	0f b6 30             	movzbl (%eax),%esi
     2fae:	83 c0 01             	add    $0x1,%eax
     2fb1:	89 43 04             	mov    %eax,0x4(%ebx)
@@ -2686,7 +2686,7 @@
     2fd5:	0f 9f c0             	setg   %al
     2fd8:	29 85 60 fe ff ff    	sub    %eax,-0x1a0(%ebp)
     2fde:	83 bd 5c fe ff ff 01 	cmpl   $0x1,-0x1a4(%ebp)
-    2fe5:	0f 84 d7 2a 00 00    	je     0x5ac2
+    2fe5:	0f 84 07 2b 00 00    	je     0x5af2
     2feb:	8b 95 70 fe ff ff    	mov    -0x190(%ebp),%edx
     2ff1:	89 f0                	mov    %esi,%eax
     2ff3:	88 42 01             	mov    %al,0x1(%edx)
@@ -2694,7 +2694,7 @@
     2ffd:	0f 84 43 d4 ff ff    	je     0x446
     3003:	8b 43 04             	mov    0x4(%ebx),%eax
     3006:	3b 43 08             	cmp    0x8(%ebx),%eax
-    3009:	0f 83 97 2a 00 00    	jae    0x5aa6
+    3009:	0f 83 c7 2a 00 00    	jae    0x5ad6
     300f:	0f b6 08             	movzbl (%eax),%ecx
     3012:	83 c0 01             	add    $0x1,%eax
     3015:	89 43 04             	mov    %eax,0x4(%ebx)
@@ -2709,7 +2709,7 @@
     3041:	0f 9f c0             	setg   %al
     3044:	29 85 60 fe ff ff    	sub    %eax,-0x1a0(%ebp)
     304a:	83 bd 5c fe ff ff 02 	cmpl   $0x2,-0x1a4(%ebp)
-    3051:	0f 84 8b 26 00 00    	je     0x56e2
+    3051:	0f 84 ba 26 00 00    	je     0x5711
     3057:	8b bd 6c fe ff ff    	mov    -0x194(%ebp),%edi
     305d:	8b 95 70 fe ff ff    	mov    -0x190(%ebp),%edx
     3063:	0f b6 85 68 fe ff ff 	movzbl -0x198(%ebp),%eax
@@ -2721,7 +2721,7 @@
     3082:	0f 84 da fb ff ff    	je     0x2c62
     3088:	8b 43 04             	mov    0x4(%ebx),%eax
     308b:	3b 43 08             	cmp    0x8(%ebx),%eax
-    308e:	0f 83 1f 26 00 00    	jae    0x56b3
+    308e:	0f 83 4e 26 00 00    	jae    0x56e2
     3094:	0f b6 08             	movzbl (%eax),%ecx
     3097:	83 c0 01             	add    $0x1,%eax
     309a:	89 43 04             	mov    %eax,0x4(%ebx)
@@ -2733,7 +2733,7 @@
     30b9:	83 c6 01             	add    $0x1,%esi
     30bc:	89 b5 6c fe ff ff    	mov    %esi,-0x194(%ebp)
     30c2:	83 3c 90 69          	cmpl   $0x69,(%eax,%edx,4)
-    30c6:	0f 84 14 24 00 00    	je     0x54e0
+    30c6:	0f 84 43 24 00 00    	je     0x550f
     30cc:	89 54 24 04          	mov    %edx,0x4(%esp)
     30d0:	89 1c 24             	mov    %ebx,(%esp)
     30d3:	e8 fc ff ff ff       	call   0x30d4
@@ -2777,7 +2777,7 @@
     3188:	65 89 38             	mov    %edi,%gs:(%eax)
     318b:	f7 85 44 fe ff ff 00 	testl  $0x400,-0x1bc(%ebp)
     3192:	04 00 00 
-    3195:	0f 85 14 0e 00 00    	jne    0x3faf
+    3195:	0f 85 02 0e 00 00    	jne    0x3f9d
     319b:	85 d2                	test   %edx,%edx
     319d:	0f 84 a3 d2 ff ff    	je     0x446
     31a3:	83 fa 02             	cmp    $0x2,%edx
@@ -2809,7 +2809,7 @@
     3225:	e8 fc ff ff ff       	call   0x3226
     322a:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
     3230:	85 c0                	test   %eax,%eax
-    3232:	0f 84 ca 2e 00 00    	je     0x6102
+    3232:	0f 84 fa 2e 00 00    	je     0x6132
     3238:	8b 8d 24 fe ff ff    	mov    -0x1dc(%ebp),%ecx
     323e:	d1 a5 18 fe ff ff    	shll   -0x1e8(%ebp)
     3244:	89 01                	mov    %eax,(%ecx)
@@ -2835,7 +2835,7 @@
     32a7:	8b 8d 3c fe ff ff    	mov    -0x1c4(%ebp),%ecx
     32ad:	65 89 08             	mov    %ecx,%gs:(%eax)
     32b0:	83 bd 34 fe ff ff 00 	cmpl   $0x0,-0x1cc(%ebp)
-    32b7:	0f 85 0f 3f 00 00    	jne    0x71cc
+    32b7:	0f 85 3f 3f 00 00    	jne    0x71fc
     32bd:	be 01 00 00 00       	mov    $0x1,%esi
     32c2:	c7 85 34 fe ff ff ff 	movl   $0xffffffff,-0x1cc(%ebp)
     32c9:	ff ff ff 
@@ -2936,7 +2936,7 @@
     349c:	02 00 00 
     349f:	0f 85 0a 08 00 00    	jne    0x3caf
     34a5:	83 bd 30 fe ff ff 00 	cmpl   $0x0,-0x1d0(%ebp)
-    34ac:	0f 85 ed 1a 00 00    	jne    0x4f9f
+    34ac:	0f 85 1c 1b 00 00    	jne    0x4fce
     34b2:	8b 95 20 fe ff ff    	mov    -0x1e0(%ebp),%edx
     34b8:	8b 02                	mov    (%edx),%eax
     34ba:	83 c2 04             	add    $0x4,%edx
@@ -3070,7 +3070,7 @@
     3714:	89 44 24 04          	mov    %eax,0x4(%esp)
     3718:	e8 fc ff ff ff       	call   0x3719
     371d:	85 f6                	test   %esi,%esi
-    371f:	0f 85 e2 24 00 00    	jne    0x5c07
+    371f:	0f 85 12 25 00 00    	jne    0x5c37
     3725:	8b b5 74 fe ff ff    	mov    -0x18c(%ebp),%esi
     372b:	39 b5 6c fe ff ff    	cmp    %esi,-0x194(%ebp)
     3731:	0f 84 dc e4 ff ff    	je     0x1c13
@@ -3127,7 +3127,7 @@
     381b:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
     3822:	75 0e                	jne    0x3832
     3824:	81 f9 00 00 01 00    	cmp    $0x10000,%ecx
-    382a:	0f 86 db 26 00 00    	jbe    0x5f0b
+    382a:	0f 86 0b 27 00 00    	jbe    0x5f3b
     3830:	31 c0                	xor    %eax,%eax
     3832:	89 4c 24 04          	mov    %ecx,0x4(%esp)
     3836:	89 95 ec fd ff ff    	mov    %edx,-0x214(%ebp)
@@ -3138,7 +3138,7 @@
     3850:	8b 8d e8 fd ff ff    	mov    -0x218(%ebp),%ecx
     3856:	85 c0                	test   %eax,%eax
     3858:	89 c7                	mov    %eax,%edi
-    385a:	0f 84 76 39 00 00    	je     0x71d6
+    385a:	0f 84 a6 39 00 00    	je     0x7206
     3860:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
     3867:	89 8d 5c fe ff ff    	mov    %ecx,-0x1a4(%ebp)
     386d:	0f 85 64 dc ff ff    	jne    0x14d7
@@ -3156,7 +3156,7 @@
     38ae:	e9 24 dc ff ff       	jmp    0x14d7
     38b3:	f7 85 44 fe ff ff 00 	testl  $0x2000,-0x1bc(%ebp)
     38ba:	20 00 00 
-    38bd:	0f 85 bc 06 00 00    	jne    0x3f7f
+    38bd:	0f 85 aa 06 00 00    	jne    0x3f6d
     38c3:	8b b5 24 fe ff ff    	mov    -0x1dc(%ebp),%esi
     38c9:	8b bd 18 fe ff ff    	mov    -0x1e8(%ebp),%edi
     38cf:	8b 06                	mov    (%esi),%eax
@@ -3176,7 +3176,7 @@
     3915:	8b 4f 34             	mov    0x34(%edi),%ecx
     3918:	e9 d8 c9 ff ff       	jmp    0x2f5
     391d:	83 bd 5c fe ff ff 01 	cmpl   $0x1,-0x1a4(%ebp)
-    3924:	0f 84 9b 22 00 00    	je     0x5bc5
+    3924:	0f 84 cb 22 00 00    	je     0x5bf5
     392a:	0f b6 85 68 fe ff ff 	movzbl -0x198(%ebp),%eax
     3931:	8b 95 70 fe ff ff    	mov    -0x190(%ebp),%edx
     3937:	88 42 01             	mov    %al,0x1(%edx)
@@ -3185,10 +3185,10 @@
     3944:	81 a5 44 fe ff ff 7f 	andl   $0xffffff7f,-0x1bc(%ebp)
     394b:	ff ff ff 
     394e:	83 bd 68 fe ff ff ff 	cmpl   $0xffffffff,-0x198(%ebp)
-    3955:	0f 84 31 16 00 00    	je     0x4f8c
+    3955:	0f 84 3f 14 00 00    	je     0x4d9a
     395b:	8b 43 04             	mov    0x4(%ebx),%eax
     395e:	3b 43 08             	cmp    0x8(%ebx),%eax
-    3961:	0f 83 fb 15 00 00    	jae    0x4f62
+    3961:	0f 83 09 14 00 00    	jae    0x4d70
     3967:	0f b6 30             	movzbl (%eax),%esi
     396a:	83 c0 01             	add    $0x1,%eax
     396d:	89 43 04             	mov    %eax,0x4(%ebx)
@@ -3285,7 +3285,7 @@
     3b22:	39 85 70 fe ff ff    	cmp    %eax,-0x190(%ebp)
     3b28:	0f 45 bd 68 fe ff ff 	cmovne -0x198(%ebp),%edi
     3b2f:	83 bd 70 fe ff ff 00 	cmpl   $0x0,-0x190(%ebp)
-    3b36:	0f 84 78 14 00 00    	je     0x4fb4
+    3b36:	0f 84 a7 14 00 00    	je     0x4fe3
     3b3c:	8b 85 70 fe ff ff    	mov    -0x190(%ebp),%eax
     3b42:	89 95 ec fd ff ff    	mov    %edx,-0x214(%ebp)
     3b48:	89 8d e8 fd ff ff    	mov    %ecx,-0x218(%ebp)
@@ -3360,7 +3360,7 @@
     3ca4:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
     3caa:	e9 dc f4 ff ff       	jmp    0x318b
     3caf:	83 bd 30 fe ff ff 00 	cmpl   $0x0,-0x1d0(%ebp)
-    3cb6:	0f 85 35 13 00 00    	jne    0x4ff1
+    3cb6:	0f 85 64 13 00 00    	jne    0x5020
     3cbc:	8b b5 20 fe ff ff    	mov    -0x1e0(%ebp),%esi
     3cc2:	8b 06                	mov    (%esi),%eax
     3cc4:	83 c6 04             	add    $0x4,%esi
@@ -3467,7 +3467,7 @@
     3e95:	e8 fc ff ff ff       	call   0x3e96
     3e9a:	85 c0                	test   %eax,%eax
     3e9c:	89 85 50 fe ff ff    	mov    %eax,-0x1b0(%ebp)
-    3ea2:	0f 84 ce 00 00 00    	je     0x3f76
+    3ea2:	0f 84 bc 00 00 00    	je     0x3f64
     3ea8:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
     3eaf:	89 b5 5c fe ff ff    	mov    %esi,-0x1a4(%ebp)
     3eb5:	0f 85 bf c9 ff ff    	jne    0x87a
@@ -3508,2896 +3508,2903 @@
     3f53:	89 b5 5c fe ff ff    	mov    %esi,-0x1a4(%ebp)
     3f59:	89 bd 50 fe ff ff    	mov    %edi,-0x1b0(%ebp)
     3f5f:	e9 16 c9 ff ff       	jmp    0x87a
-    3f64:	89 9d 70 fe ff ff    	mov    %ebx,-0x190(%ebp)
-    3f6a:	8b 9d 6c fe ff ff    	mov    -0x194(%ebp),%ebx
-    3f70:	89 85 50 fe ff ff    	mov    %eax,-0x1b0(%ebp)
-    3f76:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
-    3f7d:	75 11                	jne    0x3f90
-    3f7f:	31 f6                	xor    %esi,%esi
-    3f81:	c7 85 34 fe ff ff ff 	movl   $0xffffffff,-0x1cc(%ebp)
-    3f88:	ff ff ff 
-    3f8b:	e9 c7 c4 ff ff       	jmp    0x457
-    3f90:	8b 8d 70 fe ff ff    	mov    -0x190(%ebp),%ecx
-    3f96:	31 f6                	xor    %esi,%esi
-    3f98:	89 0c 24             	mov    %ecx,(%esp)
-    3f9b:	e8 fc ff ff ff       	call   0x3f9c
-    3fa0:	c7 85 34 fe ff ff ff 	movl   $0xffffffff,-0x1cc(%ebp)
-    3fa7:	ff ff ff 
-    3faa:	e9 a8 c4 ff ff       	jmp    0x457
-    3faf:	f7 85 44 fe ff ff 00 	testl  $0x800,-0x1bc(%ebp)
-    3fb6:	08 00 00 
-    3fb9:	0f 85 dc f1 ff ff    	jne    0x319b
-    3fbf:	85 d2                	test   %edx,%edx
-    3fc1:	0f 94 85 50 fe ff ff 	sete   -0x1b0(%ebp)
-    3fc8:	80 bd 64 fe ff ff 00 	cmpb   $0x0,-0x19c(%ebp)
-    3fcf:	75 0d                	jne    0x3fde
-    3fd1:	80 bd 50 fe ff ff 00 	cmpb   $0x0,-0x1b0(%ebp)
-    3fd8:	0f 84 84 ec ff ff    	je     0x2c62
-    3fde:	89 95 ec fd ff ff    	mov    %edx,-0x214(%ebp)
-    3fe4:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
-    3feb:	e8 fc ff ff ff       	call   0x3fec
-    3ff0:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
-    3ff6:	85 c0                	test   %eax,%eax
-    3ff8:	89 85 6c fe ff ff    	mov    %eax,-0x194(%ebp)
-    3ffe:	0f 84 97 f1 ff ff    	je     0x319b
-    4004:	83 bd 68 fe ff ff ff 	cmpl   $0xffffffff,-0x198(%ebp)
-    400b:	0f 84 f4 0b 00 00    	je     0x4c05
-    4011:	8b 43 04             	mov    0x4(%ebx),%eax
-    4014:	3b 43 08             	cmp    0x8(%ebx),%eax
-    4017:	0f 83 ab 02 00 00    	jae    0x42c8
-    401d:	0f b6 30             	movzbl (%eax),%esi
-    4020:	83 c0 01             	add    $0x1,%eax
-    4023:	89 43 04             	mov    %eax,0x4(%ebx)
-    4026:	89 b5 68 fe ff ff    	mov    %esi,-0x198(%ebp)
-    402c:	83 85 74 fe ff ff 01 	addl   $0x1,-0x18c(%ebp)
-    4033:	8b bd 6c fe ff ff    	mov    -0x194(%ebp),%edi
-    4039:	89 95 ec fd ff ff    	mov    %edx,-0x214(%ebp)
-    403f:	c7 04 24 2e 00 00 00 	movl   $0x2e,(%esp)
-    4046:	89 7c 24 04          	mov    %edi,0x4(%esp)
-    404a:	e8 fc ff ff ff       	call   0x404b
-    404f:	b9 02 00 00 00       	mov    $0x2,%ecx
-    4054:	89 c6                	mov    %eax,%esi
-    4056:	89 85 70 ff ff ff    	mov    %eax,-0x90(%ebp)
-    405c:	8d 45 c4             	lea    -0x3c(%ebp),%eax
-    405f:	89 85 e0 fd ff ff    	mov    %eax,-0x220(%ebp)
-    4065:	8b bd e0 fd ff ff    	mov    -0x220(%ebp),%edi
-    406b:	31 c0                	xor    %eax,%eax
-    406d:	f3 ab                	rep stos %eax,%es:(%edi)
-    406f:	8d 8d 33 ff ff ff    	lea    -0xcd(%ebp),%ecx
-    4075:	8d 45 c4             	lea    -0x3c(%ebp),%eax
-    4078:	89 0c 24             	mov    %ecx,(%esp)
-    407b:	89 44 24 08          	mov    %eax,0x8(%esp)
-    407f:	89 74 24 04          	mov    %esi,0x4(%esp)
-    4083:	e8 fc ff ff ff       	call   0x4084
-    4088:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
-    408e:	83 f8 ff             	cmp    $0xffffffff,%eax
-    4091:	89 c1                	mov    %eax,%ecx
-    4093:	0f 84 da 01 00 00    	je     0x4273
-    4099:	8b bd 08 fe ff ff    	mov    -0x1f8(%ebp),%edi
-    409f:	83 c9 ff             	or     $0xffffffff,%ecx
-    40a2:	c6 84 05 33 ff ff ff 	movb   $0x0,-0xcd(%ebp,%eax,1)
-    40a9:	00 
-    40aa:	31 c0                	xor    %eax,%eax
-    40ac:	f2 ae                	repnz scas %es:(%edi),%al
-    40ae:	31 c0                	xor    %eax,%eax
-    40b0:	f7 d1                	not    %ecx
-    40b2:	83 e9 01             	sub    $0x1,%ecx
-    40b5:	39 d1                	cmp    %edx,%ecx
-    40b7:	75 2c                	jne    0x40e5
-    40b9:	8b bd 08 fe ff ff    	mov    -0x1f8(%ebp),%edi
-    40bf:	8d b5 33 ff ff ff    	lea    -0xcd(%ebp),%esi
-    40c5:	89 74 24 04          	mov    %esi,0x4(%esp)
-    40c9:	89 95 ec fd ff ff    	mov    %edx,-0x214(%ebp)
-    40cf:	89 3c 24             	mov    %edi,(%esp)
-    40d2:	e8 fc ff ff ff       	call   0x40d3
-    40d7:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
-    40dd:	85 c0                	test   %eax,%eax
-    40df:	0f 94 c0             	sete   %al
-    40e2:	0f b6 c0             	movzbl %al,%eax
-    40e5:	0f b6 b5 50 fe ff ff 	movzbl -0x1b0(%ebp),%esi
-    40ec:	09 c6                	or     %eax,%esi
-    40ee:	89 f0                	mov    %esi,%eax
-    40f0:	84 c0                	test   %al,%al
-    40f2:	0f 84 a3 f0 ff ff    	je     0x319b
-    40f8:	8b 85 44 fe ff ff    	mov    -0x1bc(%ebp),%eax
-    40fe:	8d 8d 78 fe ff ff    	lea    -0x188(%ebp),%ecx
-    4104:	31 f6                	xor    %esi,%esi
-    4106:	89 8d 50 fe ff ff    	mov    %ecx,-0x1b0(%ebp)
-    410c:	89 95 fc fd ff ff    	mov    %edx,-0x204(%ebp)
-    4112:	c1 e8 07             	shr    $0x7,%eax
-    4115:	83 e0 01             	and    $0x1,%eax
-    4118:	88 85 f4 fd ff ff    	mov    %al,-0x20c(%ebp)
-    411e:	88 85 2c fe ff ff    	mov    %al,-0x1d4(%ebp)
-    4124:	83 fe 0a             	cmp    $0xa,%esi
-    4127:	0f 85 e1 01 00 00    	jne    0x430e
-    412d:	8b 85 6c fe ff ff    	mov    -0x194(%ebp),%eax
-    4133:	c7 04 24 2c 00 00 00 	movl   $0x2c,(%esp)
-    413a:	89 44 24 04          	mov    %eax,0x4(%esp)
-    413e:	e8 fc ff ff ff       	call   0x413f
-    4143:	85 c0                	test   %eax,%eax
-    4145:	0f 95 c2             	setne  %dl
-    4148:	89 85 6c ff ff ff    	mov    %eax,-0x94(%ebp)
-    414e:	20 95 2c fe ff ff    	and    %dl,-0x1d4(%ebp)
-    4154:	89 c2                	mov    %eax,%edx
-    4156:	8b bd e0 fd ff ff    	mov    -0x220(%ebp),%edi
-    415c:	31 c0                	xor    %eax,%eax
-    415e:	b9 02 00 00 00       	mov    $0x2,%ecx
-    4163:	f3 ab                	rep stos %eax,%es:(%edi)
-    4165:	8b bd 50 fe ff ff    	mov    -0x1b0(%ebp),%edi
-    416b:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
-    416e:	89 4c 24 08          	mov    %ecx,0x8(%esp)
-    4172:	89 54 24 04          	mov    %edx,0x4(%esp)
-    4176:	89 3c 24             	mov    %edi,(%esp)
-    4179:	e8 fc ff ff ff       	call   0x417a
-    417e:	83 f8 ff             	cmp    $0xffffffff,%eax
-    4181:	89 c1                	mov    %eax,%ecx
-    4183:	0f 84 75 01 00 00    	je     0x42fe
-    4189:	6b c6 11             	imul   $0x11,%esi,%eax
-    418c:	8d 7d f0             	lea    -0x10(%ebp),%edi
-    418f:	8d 04 07             	lea    (%edi,%eax,1),%eax
-    4192:	c6 84 01 88 fe ff ff 	movb   $0x0,-0x178(%ecx,%eax,1)
-    4199:	00 
-    419a:	83 c6 01             	add    $0x1,%esi
-    419d:	83 85 50 fe ff ff 11 	addl   $0x11,-0x1b0(%ebp)
-    41a4:	83 fe 0b             	cmp    $0xb,%esi
-    41a7:	0f 85 77 ff ff ff    	jne    0x4124
-    41ad:	8b 95 fc fd ff ff    	mov    -0x204(%ebp),%edx
-    41b3:	89 9d 6c fe ff ff    	mov    %ebx,-0x194(%ebp)
-    41b9:	8b bd 5c fe ff ff    	mov    -0x1a4(%ebp),%edi
-    41bf:	89 d6                	mov    %edx,%esi
-    41c1:	8b 9d 70 fe ff ff    	mov    -0x190(%ebp),%ebx
-    41c7:	80 bd 4c fe ff ff 00 	cmpb   $0x0,-0x1b4(%ebp)
-    41ce:	0f 84 7f 03 00 00    	je     0x4553
-    41d4:	0f b6 85 38 fe ff ff 	movzbl -0x1c8(%ebp),%eax
-    41db:	38 44 33 ff          	cmp    %al,-0x1(%ebx,%esi,1)
-    41df:	0f 84 3e 03 00 00    	je     0x4523
-    41e5:	8d 8d 78 fe ff ff    	lea    -0x188(%ebp),%ecx
-    41eb:	89 bd 5c fe ff ff    	mov    %edi,-0x1a4(%ebp)
-    41f1:	89 cf                	mov    %ecx,%edi
-    41f3:	8b 8d 68 fe ff ff    	mov    -0x198(%ebp),%ecx
-    41f9:	c7 85 2c fe ff ff 00 	movl   $0x0,-0x1d4(%ebp)
-    4200:	00 00 00 
-    4203:	89 b5 50 fe ff ff    	mov    %esi,-0x1b0(%ebp)
-    4209:	89 9d 70 fe ff ff    	mov    %ebx,-0x190(%ebp)
-    420f:	83 bd 60 fe ff ff 00 	cmpl   $0x0,-0x1a0(%ebp)
-    4216:	bb ff ff ff 7f       	mov    $0x7fffffff,%ebx
-    421b:	0f 4f 9d 60 fe ff ff 	cmovg  -0x1a0(%ebp),%ebx
-    4222:	89 fe                	mov    %edi,%esi
-    4224:	0f b6 06             	movzbl (%esi),%eax
-    4227:	0f b6 d0             	movzbl %al,%edx
-    422a:	39 d1                	cmp    %edx,%ecx
-    422c:	0f 85 7b 01 00 00    	jne    0x43ad
-    4232:	83 c6 01             	add    $0x1,%esi
-    4235:	80 3e 00             	cmpb   $0x0,(%esi)
-    4238:	0f 84 33 02 00 00    	je     0x4471
-    423e:	85 db                	test   %ebx,%ebx
-    4240:	0f 84 6f 01 00 00    	je     0x43b5
-    4246:	8b 95 6c fe ff ff    	mov    -0x194(%ebp),%edx
-    424c:	8b 42 04             	mov    0x4(%edx),%eax
-    424f:	3b 42 08             	cmp    0x8(%edx),%eax
-    4252:	0f 83 31 01 00 00    	jae    0x4389
-    4258:	8b 95 6c fe ff ff    	mov    -0x194(%ebp),%edx
-    425e:	0f b6 08             	movzbl (%eax),%ecx
-    4261:	83 c0 01             	add    $0x1,%eax
-    4264:	89 42 04             	mov    %eax,0x4(%edx)
-    4267:	83 85 74 fe ff ff 01 	addl   $0x1,-0x18c(%ebp)
-    426e:	83 eb 01             	sub    $0x1,%ebx
-    4271:	eb b1                	jmp    0x4224
-    4273:	8b bd 08 fe ff ff    	mov    -0x1f8(%ebp),%edi
-    4279:	31 c0                	xor    %eax,%eax
-    427b:	f2 ae                	repnz scas %es:(%edi),%al
-    427d:	f7 d1                	not    %ecx
-    427f:	8d 41 ff             	lea    -0x1(%ecx),%eax
-    4282:	83 f8 10             	cmp    $0x10,%eax
-    4285:	0f 87 10 ef ff ff    	ja     0x319b
-    428b:	39 c2                	cmp    %eax,%edx
-    428d:	0f 94 c0             	sete   %al
-    4290:	89 c6                	mov    %eax,%esi
-    4292:	0f b6 85 50 fe ff ff 	movzbl -0x1b0(%ebp),%eax
-    4299:	89 4c 24 08          	mov    %ecx,0x8(%esp)
-    429d:	8b 8d 08 fe ff ff    	mov    -0x1f8(%ebp),%ecx
-    42a3:	8d bd 33 ff ff ff    	lea    -0xcd(%ebp),%edi
-    42a9:	89 95 ec fd ff ff    	mov    %edx,-0x214(%ebp)
-    42af:	89 3c 24             	mov    %edi,(%esp)
-    42b2:	09 c6                	or     %eax,%esi
-    42b4:	89 4c 24 04          	mov    %ecx,0x4(%esp)
-    42b8:	e8 fc ff ff ff       	call   0x42b9
-    42bd:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
-    42c3:	e9 26 fe ff ff       	jmp    0x40ee
-    42c8:	89 95 ec fd ff ff    	mov    %edx,-0x214(%ebp)
-    42ce:	89 1c 24             	mov    %ebx,(%esp)
-    42d1:	e8 fc ff ff ff       	call   0x42d2
-    42d6:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
-    42dc:	83 f8 ff             	cmp    $0xffffffff,%eax
-    42df:	89 85 68 fe ff ff    	mov    %eax,-0x198(%ebp)
-    42e5:	0f 85 41 fd ff ff    	jne    0x402c
-    42eb:	a1 00 00 00 00       	mov    0x0,%eax
-    42f0:	65 8b 00             	mov    %gs:(%eax),%eax
-    42f3:	89 85 3c fe ff ff    	mov    %eax,-0x1c4(%ebp)
-    42f9:	e9 35 fd ff ff       	jmp    0x4033
-    42fe:	83 fe 0a             	cmp    $0xa,%esi
-    4301:	74 2e                	je     0x4331
-    4303:	8b 95 fc fd ff ff    	mov    -0x204(%ebp),%edx
-    4309:	e9 8d ee ff ff       	jmp    0x319b
-    430e:	8b bd 6c fe ff ff    	mov    -0x194(%ebp),%edi
-    4314:	8d 46 30             	lea    0x30(%esi),%eax
-    4317:	89 04 24             	mov    %eax,(%esp)
-    431a:	89 7c 24 04          	mov    %edi,0x4(%esp)
-    431e:	e8 fc ff ff ff       	call   0x431f
-    4323:	89 c2                	mov    %eax,%edx
-    4325:	89 84 b5 44 ff ff ff 	mov    %eax,-0xbc(%ebp,%esi,4)
-    432c:	e9 25 fe ff ff       	jmp    0x4156
-    4331:	80 bd 2c fe ff ff 00 	cmpb   $0x0,-0x1d4(%ebp)
-    4338:	0f 84 5c fe ff ff    	je     0x419a
-    433e:	8b bd 48 fe ff ff    	mov    -0x1b8(%ebp),%edi
-    4344:	31 c0                	xor    %eax,%eax
-    4346:	8b 95 fc fd ff ff    	mov    -0x204(%ebp),%edx
-    434c:	f2 ae                	repnz scas %es:(%edi),%al
-    434e:	f7 d1                	not    %ecx
-    4350:	8d 41 ff             	lea    -0x1(%ecx),%eax
-    4353:	83 f8 10             	cmp    $0x10,%eax
-    4356:	0f 87 57 fe ff ff    	ja     0x41b3
-    435c:	89 4c 24 08          	mov    %ecx,0x8(%esp)
-    4360:	8b 8d 48 fe ff ff    	mov    -0x1b8(%ebp),%ecx
-    4366:	8d 85 22 ff ff ff    	lea    -0xde(%ebp),%eax
-    436c:	89 95 ec fd ff ff    	mov    %edx,-0x214(%ebp)
-    4372:	89 04 24             	mov    %eax,(%esp)
-    4375:	89 4c 24 04          	mov    %ecx,0x4(%esp)
-    4379:	e8 fc ff ff ff       	call   0x437a
-    437e:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
-    4384:	e9 2a fe ff ff       	jmp    0x41b3
-    4389:	89 14 24             	mov    %edx,(%esp)
-    438c:	e8 fc ff ff ff       	call   0x438d
-    4391:	83 f8 ff             	cmp    $0xffffffff,%eax
-    4394:	89 c1                	mov    %eax,%ecx
-    4396:	0f 85 cb fe ff ff    	jne    0x4267
-    439c:	a1 00 00 00 00       	mov    0x0,%eax
-    43a1:	65 8b 00             	mov    %gs:(%eax),%eax
-    43a4:	89 85 3c fe ff ff    	mov    %eax,-0x1c4(%ebp)
-    43aa:	0f b6 06             	movzbl (%esi),%eax
-    43ad:	84 c0                	test   %al,%al
-    43af:	0f 84 bc 00 00 00    	je     0x4471
-    43b5:	39 fe                	cmp    %edi,%esi
-    43b7:	76 57                	jbe    0x4410
-    43b9:	83 f9 ff             	cmp    $0xffffffff,%ecx
-    43bc:	74 1c                	je     0x43da
-    43be:	0f b6 c9             	movzbl %cl,%ecx
-    43c1:	89 4c 24 04          	mov    %ecx,0x4(%esp)
-    43c5:	8b 8d 6c fe ff ff    	mov    -0x194(%ebp),%ecx
-    43cb:	83 ad 74 fe ff ff 01 	subl   $0x1,-0x18c(%ebp)
-    43d2:	89 0c 24             	mov    %ecx,(%esp)
-    43d5:	e8 fc ff ff ff       	call   0x43d6
-    43da:	89 f3                	mov    %esi,%ebx
-    43dc:	83 eb 01             	sub    $0x1,%ebx
-    43df:	39 fb                	cmp    %edi,%ebx
-    43e1:	76 17                	jbe    0x43fa
-    43e3:	0f b6 03             	movzbl (%ebx),%eax
-    43e6:	89 44 24 04          	mov    %eax,0x4(%esp)
-    43ea:	8b 85 6c fe ff ff    	mov    -0x194(%ebp),%eax
-    43f0:	89 04 24             	mov    %eax,(%esp)
-    43f3:	e8 fc ff ff ff       	call   0x43f4
-    43f8:	eb e2                	jmp    0x43dc
-    43fa:	8d 56 ff             	lea    -0x1(%esi),%edx
-    43fd:	89 f8                	mov    %edi,%eax
-    43ff:	29 d0                	sub    %edx,%eax
-    4401:	01 85 74 fe ff ff    	add    %eax,-0x18c(%ebp)
-    4407:	8d 47 ff             	lea    -0x1(%edi),%eax
-    440a:	29 d0                	sub    %edx,%eax
-    440c:	0f b6 0c 06          	movzbl (%esi,%eax,1),%ecx
-    4410:	83 85 2c fe ff ff 01 	addl   $0x1,-0x1d4(%ebp)
-    4417:	83 c7 11             	add    $0x11,%edi
-    441a:	83 bd 2c fe ff ff 0c 	cmpl   $0xc,-0x1d4(%ebp)
-    4421:	0f 85 e8 fd ff ff    	jne    0x420f
-    4427:	8b 95 50 fe ff ff    	mov    -0x1b0(%ebp),%edx
-    442d:	8b 9d 6c fe ff ff    	mov    -0x194(%ebp),%ebx
-    4433:	89 8d 68 fe ff ff    	mov    %ecx,-0x198(%ebp)
-    4439:	83 bd 68 fe ff ff ff 	cmpl   $0xffffffff,-0x198(%ebp)
-    4440:	0f 84 55 ed ff ff    	je     0x319b
-    4446:	0f b6 85 68 fe ff ff 	movzbl -0x198(%ebp),%eax
-    444d:	89 95 ec fd ff ff    	mov    %edx,-0x214(%ebp)
-    4453:	83 ad 74 fe ff ff 01 	subl   $0x1,-0x18c(%ebp)
-    445a:	89 44 24 04          	mov    %eax,0x4(%esp)
-    445e:	89 1c 24             	mov    %ebx,(%esp)
-    4461:	e8 fc ff ff ff       	call   0x4462
-    4466:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
-    446c:	e9 2a ed ff ff       	jmp    0x319b
-    4471:	83 bd 60 fe ff ff 00 	cmpl   $0x0,-0x1a0(%ebp)
-    4478:	89 d8                	mov    %ebx,%eax
-    447a:	0f 4e 85 60 fe ff ff 	cmovle -0x1a0(%ebp),%eax
-    4481:	83 bd 2c fe ff ff 09 	cmpl   $0x9,-0x1d4(%ebp)
-    4488:	8b b5 50 fe ff ff    	mov    -0x1b0(%ebp),%esi
-    448e:	89 8d 68 fe ff ff    	mov    %ecx,-0x198(%ebp)
-    4494:	8b bd 5c fe ff ff    	mov    -0x1a4(%ebp),%edi
-    449a:	8b 9d 70 fe ff ff    	mov    -0x190(%ebp),%ebx
-    44a0:	89 85 60 fe ff ff    	mov    %eax,-0x1a0(%ebp)
-    44a6:	0f 8f 82 03 00 00    	jg     0x482e
-    44ac:	39 fe                	cmp    %edi,%esi
-    44ae:	0f 84 26 03 00 00    	je     0x47da
-    44b4:	0f b6 85 2c fe ff ff 	movzbl -0x1d4(%ebp),%eax
-    44bb:	83 c0 30             	add    $0x30,%eax
-    44be:	88 04 33             	mov    %al,(%ebx,%esi,1)
-    44c1:	83 c6 01             	add    $0x1,%esi
-    44c4:	83 bd 60 fe ff ff 00 	cmpl   $0x0,-0x1a0(%ebp)
-    44cb:	0f 84 f0 02 00 00    	je     0x47c1
-    44d1:	83 bd 68 fe ff ff ff 	cmpl   $0xffffffff,-0x198(%ebp)
-    44d8:	0f 84 bc 02 00 00    	je     0x479a
-    44de:	8b 95 6c fe ff ff    	mov    -0x194(%ebp),%edx
-    44e4:	8b 42 04             	mov    0x4(%edx),%eax
-    44e7:	3b 42 08             	cmp    0x8(%edx),%eax
-    44ea:	0f 83 bc 00 00 00    	jae    0x45ac
-    44f0:	0f b6 08             	movzbl (%eax),%ecx
-    44f3:	83 c0 01             	add    $0x1,%eax
-    44f6:	8b 95 6c fe ff ff    	mov    -0x194(%ebp),%edx
-    44fc:	89 8d 68 fe ff ff    	mov    %ecx,-0x198(%ebp)
-    4502:	89 42 04             	mov    %eax,0x4(%edx)
-    4505:	31 c0                	xor    %eax,%eax
-    4507:	83 bd 60 fe ff ff 00 	cmpl   $0x0,-0x1a0(%ebp)
-    450e:	0f 9f c0             	setg   %al
-    4511:	83 85 74 fe ff ff 01 	addl   $0x1,-0x18c(%ebp)
-    4518:	29 85 60 fe ff ff    	sub    %eax,-0x1a0(%ebp)
-    451e:	e9 a4 fc ff ff       	jmp    0x41c7
-    4523:	83 bd 68 fe ff ff 2b 	cmpl   $0x2b,-0x198(%ebp)
-    452a:	74 0d                	je     0x4539
-    452c:	83 bd 68 fe ff ff 2d 	cmpl   $0x2d,-0x198(%ebp)
-    4533:	0f 85 ac fc ff ff    	jne    0x41e5
-    4539:	39 fe                	cmp    %edi,%esi
-    453b:	0f 84 a9 00 00 00    	je     0x45ea
-    4541:	0f b6 8d 68 fe ff ff 	movzbl -0x198(%ebp),%ecx
-    4548:	88 0c 33             	mov    %cl,(%ebx,%esi,1)
-    454b:	83 c6 01             	add    $0x1,%esi
-    454e:	e9 71 ff ff ff       	jmp    0x44c4
-    4553:	85 f6                	test   %esi,%esi
-    4555:	0f 84 8a fc ff ff    	je     0x41e5
-    455b:	8b 8d 40 fe ff ff    	mov    -0x1c0(%ebp),%ecx
-    4561:	0f b6 95 68 fe ff ff 	movzbl -0x198(%ebp),%edx
-    4568:	8b 41 38             	mov    0x38(%ecx),%eax
-    456b:	0f b6 04 90          	movzbl (%eax,%edx,4),%eax
-    456f:	0f b6 95 38 fe ff ff 	movzbl -0x1c8(%ebp),%edx
-    4576:	88 85 70 fe ff ff    	mov    %al,-0x190(%ebp)
-    457c:	38 d0                	cmp    %dl,%al
-    457e:	0f 85 61 fc ff ff    	jne    0x41e5
-    4584:	39 fe                	cmp    %edi,%esi
-    4586:	0f 84 ae 00 00 00    	je     0x463a
-    458c:	0f b6 85 70 fe ff ff 	movzbl -0x190(%ebp),%eax
-    4593:	88 04 33             	mov    %al,(%ebx,%esi,1)
-    4596:	83 c6 01             	add    $0x1,%esi
-    4599:	c6 85 4c fe ff ff 01 	movb   $0x1,-0x1b4(%ebp)
-    45a0:	c6 85 64 fe ff ff 01 	movb   $0x1,-0x19c(%ebp)
-    45a7:	e9 18 ff ff ff       	jmp    0x44c4
-    45ac:	89 14 24             	mov    %edx,(%esp)
-    45af:	e8 fc ff ff ff       	call   0x45b0
-    45b4:	83 f8 ff             	cmp    $0xffffffff,%eax
-    45b7:	89 85 68 fe ff ff    	mov    %eax,-0x198(%ebp)
-    45bd:	0f 85 42 ff ff ff    	jne    0x4505
-    45c3:	a1 00 00 00 00       	mov    0x0,%eax
-    45c8:	89 f2                	mov    %esi,%edx
-    45ca:	89 9d 70 fe ff ff    	mov    %ebx,-0x190(%ebp)
-    45d0:	8b 9d 6c fe ff ff    	mov    -0x194(%ebp),%ebx
-    45d6:	89 bd 5c fe ff ff    	mov    %edi,-0x1a4(%ebp)
-    45dc:	65 8b 00             	mov    %gs:(%eax),%eax
-    45df:	89 85 3c fe ff ff    	mov    %eax,-0x1c4(%ebp)
-    45e5:	e9 b1 eb ff ff       	jmp    0x319b
-    45ea:	8d 3c 36             	lea    (%esi,%esi,1),%edi
-    45ed:	b8 00 01 00 00       	mov    $0x100,%eax
-    45f2:	81 ff 00 01 00 00    	cmp    $0x100,%edi
-    45f8:	0f 42 f8             	cmovb  %eax,%edi
-    45fb:	89 d8                	mov    %ebx,%eax
-    45fd:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
-    4604:	75 0e                	jne    0x4614
-    4606:	81 ff 00 00 01 00    	cmp    $0x10000,%edi
-    460c:	0f 86 d8 00 00 00    	jbe    0x46ea
-    4612:	31 c0                	xor    %eax,%eax
-    4614:	89 7c 24 04          	mov    %edi,0x4(%esp)
-    4618:	89 04 24             	mov    %eax,(%esp)
-    461b:	e8 fc ff ff ff       	call   0x461c
-    4620:	85 c0                	test   %eax,%eax
-    4622:	89 c2                	mov    %eax,%edx
-    4624:	0f 84 8e 00 00 00    	je     0x46b8
-    462a:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
-    4631:	74 5b                	je     0x468e
-    4633:	89 d3                	mov    %edx,%ebx
-    4635:	e9 07 ff ff ff       	jmp    0x4541
-    463a:	8d 3c 36             	lea    (%esi,%esi,1),%edi
-    463d:	b8 00 01 00 00       	mov    $0x100,%eax
-    4642:	81 ff 00 01 00 00    	cmp    $0x100,%edi
-    4648:	0f 42 f8             	cmovb  %eax,%edi
-    464b:	89 d8                	mov    %ebx,%eax
-    464d:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
-    4654:	75 0e                	jne    0x4664
-    4656:	81 ff 00 00 01 00    	cmp    $0x10000,%edi
-    465c:	0f 86 cb 00 00 00    	jbe    0x472d
-    4662:	31 c0                	xor    %eax,%eax
-    4664:	89 7c 24 04          	mov    %edi,0x4(%esp)
-    4668:	89 04 24             	mov    %eax,(%esp)
-    466b:	e8 fc ff ff ff       	call   0x466c
-    4670:	85 c0                	test   %eax,%eax
-    4672:	89 c2                	mov    %eax,%edx
-    4674:	0f 84 ea f8 ff ff    	je     0x3f64
-    467a:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
-    4681:	0f 84 e9 00 00 00    	je     0x4770
-    4687:	89 d3                	mov    %edx,%ebx
-    4689:	e9 fe fe ff ff       	jmp    0x458c
-    468e:	89 5c 24 04          	mov    %ebx,0x4(%esp)
-    4692:	89 74 24 08          	mov    %esi,0x8(%esp)
-    4696:	89 04 24             	mov    %eax,(%esp)
-    4699:	89 85 ec fd ff ff    	mov    %eax,-0x214(%ebp)
-    469f:	e8 fc ff ff ff       	call   0x46a0
-    46a4:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
-    46aa:	c6 85 2b fe ff ff 01 	movb   $0x1,-0x1d5(%ebp)
-    46b1:	89 d3                	mov    %edx,%ebx
-    46b3:	e9 89 fe ff ff       	jmp    0x4541
-    46b8:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
-    46bf:	89 9d 70 fe ff ff    	mov    %ebx,-0x190(%ebp)
-    46c5:	8b 9d 6c fe ff ff    	mov    -0x194(%ebp),%ebx
-    46cb:	89 95 50 fe ff ff    	mov    %edx,-0x1b0(%ebp)
-    46d1:	0f 84 a8 f8 ff ff    	je     0x3f7f
-    46d7:	8b 95 70 fe ff ff    	mov    -0x190(%ebp),%edx
-    46dd:	89 14 24             	mov    %edx,(%esp)
-    46e0:	e8 fc ff ff ff       	call   0x46e1
-    46e5:	e9 95 f8 ff ff       	jmp    0x3f7f
-    46ea:	8d 47 12             	lea    0x12(%edi),%eax
-    46ed:	83 e0 fc             	and    $0xfffffffc,%eax
-    46f0:	29 c4                	sub    %eax,%esp
-    46f2:	8d 54 24 1f          	lea    0x1f(%esp),%edx
-    46f6:	83 e2 f0             	and    $0xfffffff0,%edx
-    46f9:	8d 04 3a             	lea    (%edx,%edi,1),%eax
-    46fc:	39 c3                	cmp    %eax,%ebx
-    46fe:	8d 0c 3e             	lea    (%esi,%edi,1),%ecx
-    4701:	0f 44 f9             	cmove  %ecx,%edi
-    4704:	85 db                	test   %ebx,%ebx
-    4706:	0f 84 27 ff ff ff    	je     0x4633
-    470c:	89 14 24             	mov    %edx,(%esp)
-    470f:	89 95 ec fd ff ff    	mov    %edx,-0x214(%ebp)
-    4715:	89 74 24 08          	mov    %esi,0x8(%esp)
-    4719:	89 5c 24 04          	mov    %ebx,0x4(%esp)
-    471d:	e8 fc ff ff ff       	call   0x471e
-    4722:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
-    4728:	e9 06 ff ff ff       	jmp    0x4633
-    472d:	8d 47 12             	lea    0x12(%edi),%eax
-    4730:	83 e0 fc             	and    $0xfffffffc,%eax
-    4733:	29 c4                	sub    %eax,%esp
-    4735:	8d 54 24 1f          	lea    0x1f(%esp),%edx
-    4739:	83 e2 f0             	and    $0xfffffff0,%edx
-    473c:	8d 04 3a             	lea    (%edx,%edi,1),%eax
-    473f:	39 c3                	cmp    %eax,%ebx
-    4741:	8d 0c 3e             	lea    (%esi,%edi,1),%ecx
-    4744:	0f 44 f9             	cmove  %ecx,%edi
-    4747:	85 db                	test   %ebx,%ebx
-    4749:	0f 84 38 ff ff ff    	je     0x4687
-    474f:	89 14 24             	mov    %edx,(%esp)
-    4752:	89 95 ec fd ff ff    	mov    %edx,-0x214(%ebp)
-    4758:	89 74 24 08          	mov    %esi,0x8(%esp)
-    475c:	89 5c 24 04          	mov    %ebx,0x4(%esp)
-    4760:	e8 fc ff ff ff       	call   0x4761
-    4765:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
-    476b:	e9 17 ff ff ff       	jmp    0x4687
-    4770:	89 5c 24 04          	mov    %ebx,0x4(%esp)
-    4774:	89 74 24 08          	mov    %esi,0x8(%esp)
-    4778:	89 04 24             	mov    %eax,(%esp)
-    477b:	89 85 ec fd ff ff    	mov    %eax,-0x214(%ebp)
-    4781:	e8 fc ff ff ff       	call   0x4782
-    4786:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
-    478c:	c6 85 2b fe ff ff 01 	movb   $0x1,-0x1d5(%ebp)
-    4793:	89 d3                	mov    %edx,%ebx
-    4795:	e9 f2 fd ff ff       	jmp    0x458c
-    479a:	a1 00 00 00 00       	mov    0x0,%eax
-    479f:	89 f2                	mov    %esi,%edx
-    47a1:	8b 8d 3c fe ff ff    	mov    -0x1c4(%ebp),%ecx
-    47a7:	89 9d 70 fe ff ff    	mov    %ebx,-0x190(%ebp)
-    47ad:	8b 9d 6c fe ff ff    	mov    -0x194(%ebp),%ebx
-    47b3:	89 bd 5c fe ff ff    	mov    %edi,-0x1a4(%ebp)
-    47b9:	65 89 08             	mov    %ecx,%gs:(%eax)
-    47bc:	e9 da e9 ff ff       	jmp    0x319b
-    47c1:	89 9d 70 fe ff ff    	mov    %ebx,-0x190(%ebp)
-    47c7:	89 f2                	mov    %esi,%edx
-    47c9:	8b 9d 6c fe ff ff    	mov    -0x194(%ebp),%ebx
-    47cf:	89 bd 5c fe ff ff    	mov    %edi,-0x1a4(%ebp)
-    47d5:	e9 c1 e9 ff ff       	jmp    0x319b
-    47da:	8d 3c 36             	lea    (%esi,%esi,1),%edi
-    47dd:	b8 00 01 00 00       	mov    $0x100,%eax
-    47e2:	81 ff 00 01 00 00    	cmp    $0x100,%edi
-    47e8:	0f 42 f8             	cmovb  %eax,%edi
-    47eb:	89 d8                	mov    %ebx,%eax
-    47ed:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
-    47f4:	75 0e                	jne    0x4804
-    47f6:	81 ff 00 00 01 00    	cmp    $0x10000,%edi
-    47fc:	0f 86 92 00 00 00    	jbe    0x4894
-    4802:	31 c0                	xor    %eax,%eax
-    4804:	89 7c 24 04          	mov    %edi,0x4(%esp)
-    4808:	89 04 24             	mov    %eax,(%esp)
-    480b:	e8 fc ff ff ff       	call   0x480c
-    4810:	85 c0                	test   %eax,%eax
-    4812:	89 c2                	mov    %eax,%edx
-    4814:	0f 84 6c 02 00 00    	je     0x4a86
-    481a:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
-    4821:	0f 84 35 02 00 00    	je     0x4a5c
-    4827:	89 d3                	mov    %edx,%ebx
-    4829:	e9 86 fc ff ff       	jmp    0x44b4
-    482e:	0f b6 85 64 fe ff ff 	movzbl -0x19c(%ebp),%eax
-    4835:	83 f0 01             	xor    $0x1,%eax
-    4838:	83 bd 2c fe ff ff 0b 	cmpl   $0xb,-0x1d4(%ebp)
-    483f:	0f 85 ba 01 00 00    	jne    0x49ff
-    4845:	84 c0                	test   %al,%al
-    4847:	0f 84 99 01 00 00    	je     0x49e6
-    484d:	8b 8d 08 fe ff ff    	mov    -0x1f8(%ebp),%ecx
-    4853:	8d 04 36             	lea    (%esi,%esi,1),%eax
-    4856:	89 85 70 fe ff ff    	mov    %eax,-0x190(%ebp)
-    485c:	89 f8                	mov    %edi,%eax
-    485e:	89 cf                	mov    %ecx,%edi
-    4860:	89 c1                	mov    %eax,%ecx
-    4862:	0f b6 17             	movzbl (%edi),%edx
-    4865:	84 d2                	test   %dl,%dl
-    4867:	88 95 2c fe ff ff    	mov    %dl,-0x1d4(%ebp)
-    486d:	0f 84 c6 00 00 00    	je     0x4939
-    4873:	39 ce                	cmp    %ecx,%esi
-    4875:	89 da                	mov    %ebx,%edx
-    4877:	74 5e                	je     0x48d7
-    4879:	0f b6 85 2c fe ff ff 	movzbl -0x1d4(%ebp),%eax
-    4880:	83 c7 01             	add    $0x1,%edi
-    4883:	89 d3                	mov    %edx,%ebx
-    4885:	88 04 32             	mov    %al,(%edx,%esi,1)
-    4888:	83 c6 01             	add    $0x1,%esi
-    488b:	83 85 70 fe ff ff 02 	addl   $0x2,-0x190(%ebp)
-    4892:	eb ce                	jmp    0x4862
-    4894:	8d 47 12             	lea    0x12(%edi),%eax
-    4897:	83 e0 fc             	and    $0xfffffffc,%eax
-    489a:	29 c4                	sub    %eax,%esp
-    489c:	8d 54 24 1f          	lea    0x1f(%esp),%edx
-    48a0:	83 e2 f0             	and    $0xfffffff0,%edx
-    48a3:	8d 04 3a             	lea    (%edx,%edi,1),%eax
-    48a6:	39 c3                	cmp    %eax,%ebx
-    48a8:	8d 0c 3e             	lea    (%esi,%edi,1),%ecx
-    48ab:	0f 44 f9             	cmove  %ecx,%edi
-    48ae:	85 db                	test   %ebx,%ebx
-    48b0:	0f 84 71 ff ff ff    	je     0x4827
-    48b6:	89 14 24             	mov    %edx,(%esp)
-    48b9:	89 95 ec fd ff ff    	mov    %edx,-0x214(%ebp)
-    48bf:	89 74 24 08          	mov    %esi,0x8(%esp)
-    48c3:	89 5c 24 04          	mov    %ebx,0x4(%esp)
-    48c7:	e8 fc ff ff ff       	call   0x48c8
-    48cc:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
-    48d2:	e9 50 ff ff ff       	jmp    0x4827
-    48d7:	81 bd 70 fe ff ff 00 	cmpl   $0x100,-0x190(%ebp)
-    48de:	01 00 00 
-    48e1:	b9 00 01 00 00       	mov    $0x100,%ecx
-    48e6:	0f 43 8d 70 fe ff ff 	cmovae -0x190(%ebp),%ecx
-    48ed:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
-    48f4:	75 0a                	jne    0x4900
-    48f6:	81 f9 00 00 01 00    	cmp    $0x10000,%ecx
-    48fc:	76 49                	jbe    0x4947
-    48fe:	31 d2                	xor    %edx,%edx
-    4900:	89 4c 24 04          	mov    %ecx,0x4(%esp)
-    4904:	89 14 24             	mov    %edx,(%esp)
-    4907:	89 8d e8 fd ff ff    	mov    %ecx,-0x218(%ebp)
-    490d:	e8 fc ff ff ff       	call   0x490e
-    4912:	8b 8d e8 fd ff ff    	mov    -0x218(%ebp),%ecx
-    4918:	85 c0                	test   %eax,%eax
-    491a:	89 c2                	mov    %eax,%edx
-    491c:	0f 84 96 fd ff ff    	je     0x46b8
-    4922:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
-    4929:	74 7e                	je     0x49a9
-    492b:	0f b6 07             	movzbl (%edi),%eax
-    492e:	88 85 2c fe ff ff    	mov    %al,-0x1d4(%ebp)
-    4934:	e9 40 ff ff ff       	jmp    0x4879
-    4939:	89 cf                	mov    %ecx,%edi
-    493b:	c6 85 64 fe ff ff 01 	movb   $0x1,-0x19c(%ebp)
-    4942:	e9 7d fb ff ff       	jmp    0x44c4
-    4947:	8d 51 12             	lea    0x12(%ecx),%edx
-    494a:	83 e2 fc             	and    $0xfffffffc,%edx
-    494d:	29 d4                	sub    %edx,%esp
-    494f:	8d 54 24 1f          	lea    0x1f(%esp),%edx
-    4953:	83 e2 f0             	and    $0xfffffff0,%edx
-    4956:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
-    4959:	89 85 64 fe ff ff    	mov    %eax,-0x19c(%ebp)
-    495f:	8d 04 0e             	lea    (%esi,%ecx,1),%eax
-    4962:	3b 9d 64 fe ff ff    	cmp    -0x19c(%ebp),%ebx
-    4968:	0f 44 c8             	cmove  %eax,%ecx
-    496b:	85 db                	test   %ebx,%ebx
-    496d:	0f 84 06 ff ff ff    	je     0x4879
-    4973:	89 14 24             	mov    %edx,(%esp)
-    4976:	89 95 ec fd ff ff    	mov    %edx,-0x214(%ebp)
-    497c:	89 8d e8 fd ff ff    	mov    %ecx,-0x218(%ebp)
-    4982:	89 74 24 08          	mov    %esi,0x8(%esp)
-    4986:	89 5c 24 04          	mov    %ebx,0x4(%esp)
-    498a:	e8 fc ff ff ff       	call   0x498b
-    498f:	0f b6 07             	movzbl (%edi),%eax
-    4992:	8b 8d e8 fd ff ff    	mov    -0x218(%ebp),%ecx
-    4998:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
-    499e:	88 85 2c fe ff ff    	mov    %al,-0x1d4(%ebp)
-    49a4:	e9 d0 fe ff ff       	jmp    0x4879
-    49a9:	89 8d e8 fd ff ff    	mov    %ecx,-0x218(%ebp)
-    49af:	89 74 24 08          	mov    %esi,0x8(%esp)
-    49b3:	89 5c 24 04          	mov    %ebx,0x4(%esp)
-    49b7:	89 04 24             	mov    %eax,(%esp)
-    49ba:	89 85 ec fd ff ff    	mov    %eax,-0x214(%ebp)
-    49c0:	e8 fc ff ff ff       	call   0x49c1
-    49c5:	0f b6 07             	movzbl (%edi),%eax
-    49c8:	8b 8d e8 fd ff ff    	mov    -0x218(%ebp),%ecx
-    49ce:	c6 85 2b fe ff ff 01 	movb   $0x1,-0x1d5(%ebp)
-    49d5:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
-    49db:	88 85 2c fe ff ff    	mov    %al,-0x1d4(%ebp)
-    49e1:	e9 93 fe ff ff       	jmp    0x4879
-    49e6:	89 9d 70 fe ff ff    	mov    %ebx,-0x190(%ebp)
-    49ec:	89 f2                	mov    %esi,%edx
-    49ee:	8b 9d 6c fe ff ff    	mov    -0x194(%ebp),%ebx
-    49f4:	89 bd 5c fe ff ff    	mov    %edi,-0x1a4(%ebp)
-    49fa:	e9 3a fa ff ff       	jmp    0x4439
-    49ff:	83 bd 2c fe ff ff 0a 	cmpl   $0xa,-0x1d4(%ebp)
-    4a06:	75 de                	jne    0x49e6
-    4a08:	84 c0                	test   %al,%al
-    4a0a:	74 da                	je     0x49e6
-    4a0c:	80 bd f4 fd ff ff 00 	cmpb   $0x0,-0x20c(%ebp)
-    4a13:	74 d1                	je     0x49e6
-    4a15:	8d 0c 36             	lea    (%esi,%esi,1),%ecx
-    4a18:	89 f8                	mov    %edi,%eax
-    4a1a:	89 8d 70 fe ff ff    	mov    %ecx,-0x190(%ebp)
-    4a20:	8b 8d 48 fe ff ff    	mov    -0x1b8(%ebp),%ecx
-    4a26:	89 cf                	mov    %ecx,%edi
-    4a28:	89 c1                	mov    %eax,%ecx
-    4a2a:	0f b6 17             	movzbl (%edi),%edx
-    4a2d:	84 d2                	test   %dl,%dl
-    4a2f:	88 95 2c fe ff ff    	mov    %dl,-0x1d4(%ebp)
-    4a35:	0f 84 df 00 00 00    	je     0x4b1a
-    4a3b:	39 ce                	cmp    %ecx,%esi
-    4a3d:	89 da                	mov    %ebx,%edx
-    4a3f:	74 77                	je     0x4ab8
-    4a41:	0f b6 85 2c fe ff ff 	movzbl -0x1d4(%ebp),%eax
-    4a48:	83 c7 01             	add    $0x1,%edi
-    4a4b:	89 d3                	mov    %edx,%ebx
-    4a4d:	88 04 32             	mov    %al,(%edx,%esi,1)
-    4a50:	83 c6 01             	add    $0x1,%esi
-    4a53:	83 85 70 fe ff ff 02 	addl   $0x2,-0x190(%ebp)
-    4a5a:	eb ce                	jmp    0x4a2a
-    4a5c:	89 5c 24 04          	mov    %ebx,0x4(%esp)
-    4a60:	89 74 24 08          	mov    %esi,0x8(%esp)
-    4a64:	89 04 24             	mov    %eax,(%esp)
-    4a67:	89 85 ec fd ff ff    	mov    %eax,-0x214(%ebp)
-    4a6d:	e8 fc ff ff ff       	call   0x4a6e
-    4a72:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
-    4a78:	c6 85 2b fe ff ff 01 	movb   $0x1,-0x1d5(%ebp)
-    4a7f:	89 d3                	mov    %edx,%ebx
-    4a81:	e9 2e fa ff ff       	jmp    0x44b4
-    4a86:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
-    4a8d:	89 9d 70 fe ff ff    	mov    %ebx,-0x190(%ebp)
-    4a93:	8b 9d 6c fe ff ff    	mov    -0x194(%ebp),%ebx
-    4a99:	89 85 50 fe ff ff    	mov    %eax,-0x1b0(%ebp)
-    4a9f:	0f 84 da f4 ff ff    	je     0x3f7f
-    4aa5:	8b 8d 70 fe ff ff    	mov    -0x190(%ebp),%ecx
-    4aab:	89 0c 24             	mov    %ecx,(%esp)
-    4aae:	e8 fc ff ff ff       	call   0x4aaf
-    4ab3:	e9 c7 f4 ff ff       	jmp    0x3f7f
-    4ab8:	81 bd 70 fe ff ff 00 	cmpl   $0x100,-0x190(%ebp)
-    4abf:	01 00 00 
-    4ac2:	b9 00 01 00 00       	mov    $0x100,%ecx
-    4ac7:	0f 43 8d 70 fe ff ff 	cmovae -0x190(%ebp),%ecx
-    4ace:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
-    4ad5:	75 0a                	jne    0x4ae1
-    4ad7:	81 f9 00 00 01 00    	cmp    $0x10000,%ecx
-    4add:	76 49                	jbe    0x4b28
-    4adf:	31 d2                	xor    %edx,%edx
-    4ae1:	89 4c 24 04          	mov    %ecx,0x4(%esp)
-    4ae5:	89 14 24             	mov    %edx,(%esp)
-    4ae8:	89 8d e8 fd ff ff    	mov    %ecx,-0x218(%ebp)
-    4aee:	e8 fc ff ff ff       	call   0x4aef
-    4af3:	8b 8d e8 fd ff ff    	mov    -0x218(%ebp),%ecx
-    4af9:	85 c0                	test   %eax,%eax
-    4afb:	89 c2                	mov    %eax,%edx
-    4afd:	0f 84 c4 00 00 00    	je     0x4bc7
-    4b03:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
-    4b0a:	74 7e                	je     0x4b8a
-    4b0c:	0f b6 07             	movzbl (%edi),%eax
-    4b0f:	88 85 2c fe ff ff    	mov    %al,-0x1d4(%ebp)
-    4b15:	e9 27 ff ff ff       	jmp    0x4a41
-    4b1a:	89 cf                	mov    %ecx,%edi
-    4b1c:	c6 85 64 fe ff ff 00 	movb   $0x0,-0x19c(%ebp)
-    4b23:	e9 9c f9 ff ff       	jmp    0x44c4
-    4b28:	8d 51 12             	lea    0x12(%ecx),%edx
-    4b2b:	83 e2 fc             	and    $0xfffffffc,%edx
-    4b2e:	29 d4                	sub    %edx,%esp
-    4b30:	8d 54 24 1f          	lea    0x1f(%esp),%edx
-    4b34:	83 e2 f0             	and    $0xfffffff0,%edx
-    4b37:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
-    4b3a:	89 85 64 fe ff ff    	mov    %eax,-0x19c(%ebp)
-    4b40:	8d 04 0e             	lea    (%esi,%ecx,1),%eax
-    4b43:	3b 9d 64 fe ff ff    	cmp    -0x19c(%ebp),%ebx
-    4b49:	0f 44 c8             	cmove  %eax,%ecx
-    4b4c:	85 db                	test   %ebx,%ebx
-    4b4e:	0f 84 ed fe ff ff    	je     0x4a41
-    4b54:	89 14 24             	mov    %edx,(%esp)
-    4b57:	89 95 ec fd ff ff    	mov    %edx,-0x214(%ebp)
-    4b5d:	89 8d e8 fd ff ff    	mov    %ecx,-0x218(%ebp)
-    4b63:	89 74 24 08          	mov    %esi,0x8(%esp)
-    4b67:	89 5c 24 04          	mov    %ebx,0x4(%esp)
-    4b6b:	e8 fc ff ff ff       	call   0x4b6c
-    4b70:	0f b6 07             	movzbl (%edi),%eax
-    4b73:	8b 8d e8 fd ff ff    	mov    -0x218(%ebp),%ecx
-    4b79:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
-    4b7f:	88 85 2c fe ff ff    	mov    %al,-0x1d4(%ebp)
-    4b85:	e9 b7 fe ff ff       	jmp    0x4a41
-    4b8a:	89 8d e8 fd ff ff    	mov    %ecx,-0x218(%ebp)
-    4b90:	89 74 24 08          	mov    %esi,0x8(%esp)
-    4b94:	89 5c 24 04          	mov    %ebx,0x4(%esp)
-    4b98:	89 04 24             	mov    %eax,(%esp)
-    4b9b:	89 85 ec fd ff ff    	mov    %eax,-0x214(%ebp)
-    4ba1:	e8 fc ff ff ff       	call   0x4ba2
-    4ba6:	0f b6 07             	movzbl (%edi),%eax
-    4ba9:	8b 8d e8 fd ff ff    	mov    -0x218(%ebp),%ecx
-    4baf:	c6 85 2b fe ff ff 01 	movb   $0x1,-0x1d5(%ebp)
-    4bb6:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
-    4bbc:	88 85 2c fe ff ff    	mov    %al,-0x1d4(%ebp)
-    4bc2:	e9 7a fe ff ff       	jmp    0x4a41
-    4bc7:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
-    4bce:	89 9d 70 fe ff ff    	mov    %ebx,-0x190(%ebp)
-    4bd4:	8b 9d 6c fe ff ff    	mov    -0x194(%ebp),%ebx
-    4bda:	89 85 50 fe ff ff    	mov    %eax,-0x1b0(%ebp)
-    4be0:	0f 84 99 f3 ff ff    	je     0x3f7f
-    4be6:	8b b5 70 fe ff ff    	mov    -0x190(%ebp),%esi
-    4bec:	89 34 24             	mov    %esi,(%esp)
-    4bef:	31 f6                	xor    %esi,%esi
-    4bf1:	e8 fc ff ff ff       	call   0x4bf2
-    4bf6:	c7 85 34 fe ff ff ff 	movl   $0xffffffff,-0x1cc(%ebp)
-    4bfd:	ff ff ff 
-    4c00:	e9 52 b8 ff ff       	jmp    0x457
-    4c05:	a1 00 00 00 00       	mov    0x0,%eax
-    4c0a:	8b 8d 3c fe ff ff    	mov    -0x1c4(%ebp),%ecx
-    4c10:	65 89 08             	mov    %ecx,%gs:(%eax)
-    4c13:	e9 1b f4 ff ff       	jmp    0x4033
-    4c18:	89 8d e8 fd ff ff    	mov    %ecx,-0x218(%ebp)
-    4c1e:	89 1c 24             	mov    %ebx,(%esp)
-    4c21:	e8 fc ff ff ff       	call   0x4c22
-    4c26:	8b 8d e8 fd ff ff    	mov    -0x218(%ebp),%ecx
-    4c2c:	83 f8 ff             	cmp    $0xffffffff,%eax
-    4c2f:	89 85 68 fe ff ff    	mov    %eax,-0x198(%ebp)
-    4c35:	0f 85 14 da ff ff    	jne    0x264f
-    4c3b:	a1 00 00 00 00       	mov    0x0,%eax
-    4c40:	89 bd 70 fe ff ff    	mov    %edi,-0x190(%ebp)
-    4c46:	8b 9d 50 fe ff ff    	mov    -0x1b0(%ebp),%ebx
-    4c4c:	8b bd 5c fe ff ff    	mov    -0x1a4(%ebp),%edi
-    4c52:	65 8b 00             	mov    %gs:(%eax),%eax
-    4c55:	89 85 3c fe ff ff    	mov    %eax,-0x1c4(%ebp)
-    4c5b:	e9 68 d8 ff ff       	jmp    0x24c8
-    4c60:	8d 0c 1b             	lea    (%ebx,%ebx,1),%ecx
-    4c63:	be 00 01 00 00       	mov    $0x100,%esi
-    4c68:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
-    4c6e:	89 f8                	mov    %edi,%eax
-    4c70:	0f 42 ce             	cmovb  %esi,%ecx
-    4c73:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
-    4c7a:	75 0a                	jne    0x4c86
-    4c7c:	81 f9 00 00 01 00    	cmp    $0x10000,%ecx
-    4c82:	76 34                	jbe    0x4cb8
-    4c84:	31 c0                	xor    %eax,%eax
-    4c86:	89 4c 24 04          	mov    %ecx,0x4(%esp)
-    4c8a:	89 8d e8 fd ff ff    	mov    %ecx,-0x218(%ebp)
-    4c90:	89 04 24             	mov    %eax,(%esp)
-    4c93:	e8 fc ff ff ff       	call   0x4c94
-    4c98:	8b 8d e8 fd ff ff    	mov    -0x218(%ebp),%ecx
-    4c9e:	85 c0                	test   %eax,%eax
-    4ca0:	89 c6                	mov    %eax,%esi
-    4ca2:	0f 84 81 00 00 00    	je     0x4d29
-    4ca8:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
-    4caf:	74 4e                	je     0x4cff
-    4cb1:	89 c7                	mov    %eax,%edi
-    4cb3:	e9 ca d7 ff ff       	jmp    0x2482
-    4cb8:	8d 41 12             	lea    0x12(%ecx),%eax
-    4cbb:	83 e0 fc             	and    $0xfffffffc,%eax
-    4cbe:	29 c4                	sub    %eax,%esp
-    4cc0:	8d 54 24 1f          	lea    0x1f(%esp),%edx
-    4cc4:	83 e2 f0             	and    $0xfffffff0,%edx
-    4cc7:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
-    4cca:	39 c7                	cmp    %eax,%edi
-    4ccc:	8d 34 0b             	lea    (%ebx,%ecx,1),%esi
-    4ccf:	0f 45 f1             	cmovne %ecx,%esi
-    4cd2:	85 ff                	test   %edi,%edi
-    4cd4:	0f 84 85 00 00 00    	je     0x4d5f
-    4cda:	89 7c 24 04          	mov    %edi,0x4(%esp)
-    4cde:	89 14 24             	mov    %edx,(%esp)
-    4ce1:	89 95 ec fd ff ff    	mov    %edx,-0x214(%ebp)
-    4ce7:	89 5c 24 08          	mov    %ebx,0x8(%esp)
-    4ceb:	e8 fc ff ff ff       	call   0x4cec
-    4cf0:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
-    4cf6:	89 f1                	mov    %esi,%ecx
-    4cf8:	89 d7                	mov    %edx,%edi
-    4cfa:	e9 83 d7 ff ff       	jmp    0x2482
-    4cff:	89 7c 24 04          	mov    %edi,0x4(%esp)
-    4d03:	89 f7                	mov    %esi,%edi
-    4d05:	89 8d e8 fd ff ff    	mov    %ecx,-0x218(%ebp)
-    4d0b:	89 5c 24 08          	mov    %ebx,0x8(%esp)
-    4d0f:	89 04 24             	mov    %eax,(%esp)
-    4d12:	e8 fc ff ff ff       	call   0x4d13
-    4d17:	8b 8d e8 fd ff ff    	mov    -0x218(%ebp),%ecx
-    4d1d:	c6 85 2b fe ff ff 01 	movb   $0x1,-0x1d5(%ebp)
-    4d24:	e9 59 d7 ff ff       	jmp    0x2482
-    4d29:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
-    4d30:	89 b5 50 fe ff ff    	mov    %esi,-0x1b0(%ebp)
-    4d36:	8b 9d 6c fe ff ff    	mov    -0x194(%ebp),%ebx
-    4d3c:	89 bd 70 fe ff ff    	mov    %edi,-0x190(%ebp)
-    4d42:	0f 84 37 f2 ff ff    	je     0x3f7f
-    4d48:	89 3c 24             	mov    %edi,(%esp)
-    4d4b:	e8 fc ff ff ff       	call   0x4d4c
-    4d50:	c7 85 34 fe ff ff ff 	movl   $0xffffffff,-0x1cc(%ebp)
-    4d57:	ff ff ff 
-    4d5a:	e9 f8 b6 ff ff       	jmp    0x457
-    4d5f:	89 f1                	mov    %esi,%ecx
-    4d61:	89 d7                	mov    %edx,%edi
-    4d63:	e9 1a d7 ff ff       	jmp    0x2482
-    4d68:	89 1c 24             	mov    %ebx,(%esp)
-    4d6b:	e8 fc ff ff ff       	call   0x4d6c
-    4d70:	83 f8 ff             	cmp    $0xffffffff,%eax
-    4d73:	89 c6                	mov    %eax,%esi
-    4d75:	0f 85 b6 d4 ff ff    	jne    0x2231
+    3f64:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
+    3f6b:	75 11                	jne    0x3f7e
+    3f6d:	31 f6                	xor    %esi,%esi
+    3f6f:	c7 85 34 fe ff ff ff 	movl   $0xffffffff,-0x1cc(%ebp)
+    3f76:	ff ff ff 
+    3f79:	e9 d9 c4 ff ff       	jmp    0x457
+    3f7e:	8b 8d 70 fe ff ff    	mov    -0x190(%ebp),%ecx
+    3f84:	31 f6                	xor    %esi,%esi
+    3f86:	89 0c 24             	mov    %ecx,(%esp)
+    3f89:	e8 fc ff ff ff       	call   0x3f8a
+    3f8e:	c7 85 34 fe ff ff ff 	movl   $0xffffffff,-0x1cc(%ebp)
+    3f95:	ff ff ff 
+    3f98:	e9 ba c4 ff ff       	jmp    0x457
+    3f9d:	f7 85 44 fe ff ff 00 	testl  $0x800,-0x1bc(%ebp)
+    3fa4:	08 00 00 
+    3fa7:	0f 85 ee f1 ff ff    	jne    0x319b
+    3fad:	85 d2                	test   %edx,%edx
+    3faf:	0f 94 85 50 fe ff ff 	sete   -0x1b0(%ebp)
+    3fb6:	80 bd 64 fe ff ff 00 	cmpb   $0x0,-0x19c(%ebp)
+    3fbd:	75 0d                	jne    0x3fcc
+    3fbf:	80 bd 50 fe ff ff 00 	cmpb   $0x0,-0x1b0(%ebp)
+    3fc6:	0f 84 96 ec ff ff    	je     0x2c62
+    3fcc:	89 95 ec fd ff ff    	mov    %edx,-0x214(%ebp)
+    3fd2:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
+    3fd9:	e8 fc ff ff ff       	call   0x3fda
+    3fde:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
+    3fe4:	85 c0                	test   %eax,%eax
+    3fe6:	89 85 6c fe ff ff    	mov    %eax,-0x194(%ebp)
+    3fec:	0f 84 a9 f1 ff ff    	je     0x319b
+    3ff2:	83 bd 68 fe ff ff ff 	cmpl   $0xffffffff,-0x198(%ebp)
+    3ff9:	0f 84 6b 06 00 00    	je     0x466a
+    3fff:	8b 43 04             	mov    0x4(%ebx),%eax
+    4002:	3b 43 08             	cmp    0x8(%ebx),%eax
+    4005:	0f 83 b4 02 00 00    	jae    0x42bf
+    400b:	0f b6 30             	movzbl (%eax),%esi
+    400e:	83 c0 01             	add    $0x1,%eax
+    4011:	89 43 04             	mov    %eax,0x4(%ebx)
+    4014:	89 b5 68 fe ff ff    	mov    %esi,-0x198(%ebp)
+    401a:	83 85 74 fe ff ff 01 	addl   $0x1,-0x18c(%ebp)
+    4021:	8b bd 6c fe ff ff    	mov    -0x194(%ebp),%edi
+    4027:	89 95 ec fd ff ff    	mov    %edx,-0x214(%ebp)
+    402d:	c7 04 24 2e 00 00 00 	movl   $0x2e,(%esp)
+    4034:	89 7c 24 04          	mov    %edi,0x4(%esp)
+    4038:	e8 fc ff ff ff       	call   0x4039
+    403d:	b9 02 00 00 00       	mov    $0x2,%ecx
+    4042:	89 c6                	mov    %eax,%esi
+    4044:	89 85 70 ff ff ff    	mov    %eax,-0x90(%ebp)
+    404a:	8d 45 c4             	lea    -0x3c(%ebp),%eax
+    404d:	89 85 e0 fd ff ff    	mov    %eax,-0x220(%ebp)
+    4053:	8b bd e0 fd ff ff    	mov    -0x220(%ebp),%edi
+    4059:	31 c0                	xor    %eax,%eax
+    405b:	f3 ab                	rep stos %eax,%es:(%edi)
+    405d:	8d 8d 33 ff ff ff    	lea    -0xcd(%ebp),%ecx
+    4063:	8d 45 c4             	lea    -0x3c(%ebp),%eax
+    4066:	89 0c 24             	mov    %ecx,(%esp)
+    4069:	89 44 24 08          	mov    %eax,0x8(%esp)
+    406d:	89 74 24 04          	mov    %esi,0x4(%esp)
+    4071:	e8 fc ff ff ff       	call   0x4072
+    4076:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
+    407c:	83 f8 ff             	cmp    $0xffffffff,%eax
+    407f:	89 c1                	mov    %eax,%ecx
+    4081:	0f 84 e3 01 00 00    	je     0x426a
+    4087:	8b bd 08 fe ff ff    	mov    -0x1f8(%ebp),%edi
+    408d:	83 c9 ff             	or     $0xffffffff,%ecx
+    4090:	c6 84 05 33 ff ff ff 	movb   $0x0,-0xcd(%ebp,%eax,1)
+    4097:	00 
+    4098:	31 c0                	xor    %eax,%eax
+    409a:	f2 ae                	repnz scas %es:(%edi),%al
+    409c:	31 c0                	xor    %eax,%eax
+    409e:	f7 d1                	not    %ecx
+    40a0:	83 e9 01             	sub    $0x1,%ecx
+    40a3:	39 d1                	cmp    %edx,%ecx
+    40a5:	75 2c                	jne    0x40d3
+    40a7:	8b bd 08 fe ff ff    	mov    -0x1f8(%ebp),%edi
+    40ad:	8d b5 33 ff ff ff    	lea    -0xcd(%ebp),%esi
+    40b3:	89 74 24 04          	mov    %esi,0x4(%esp)
+    40b7:	89 95 ec fd ff ff    	mov    %edx,-0x214(%ebp)
+    40bd:	89 3c 24             	mov    %edi,(%esp)
+    40c0:	e8 fc ff ff ff       	call   0x40c1
+    40c5:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
+    40cb:	85 c0                	test   %eax,%eax
+    40cd:	0f 94 c0             	sete   %al
+    40d0:	0f b6 c0             	movzbl %al,%eax
+    40d3:	0f b6 b5 50 fe ff ff 	movzbl -0x1b0(%ebp),%esi
+    40da:	09 c6                	or     %eax,%esi
+    40dc:	89 f0                	mov    %esi,%eax
+    40de:	84 c0                	test   %al,%al
+    40e0:	0f 84 b5 f0 ff ff    	je     0x319b
+    40e6:	8b 85 44 fe ff ff    	mov    -0x1bc(%ebp),%eax
+    40ec:	8d 8d 78 fe ff ff    	lea    -0x188(%ebp),%ecx
+    40f2:	31 f6                	xor    %esi,%esi
+    40f4:	89 8d 50 fe ff ff    	mov    %ecx,-0x1b0(%ebp)
+    40fa:	89 95 fc fd ff ff    	mov    %edx,-0x204(%ebp)
+    4100:	c1 e8 07             	shr    $0x7,%eax
+    4103:	83 e0 01             	and    $0x1,%eax
+    4106:	88 85 f4 fd ff ff    	mov    %al,-0x20c(%ebp)
+    410c:	88 85 2c fe ff ff    	mov    %al,-0x1d4(%ebp)
+    4112:	83 fe 0a             	cmp    $0xa,%esi
+    4115:	0f 85 ea 01 00 00    	jne    0x4305
+    411b:	8b 85 6c fe ff ff    	mov    -0x194(%ebp),%eax
+    4121:	c7 04 24 2c 00 00 00 	movl   $0x2c,(%esp)
+    4128:	89 44 24 04          	mov    %eax,0x4(%esp)
+    412c:	e8 fc ff ff ff       	call   0x412d
+    4131:	85 c0                	test   %eax,%eax
+    4133:	0f 95 c2             	setne  %dl
+    4136:	89 85 6c ff ff ff    	mov    %eax,-0x94(%ebp)
+    413c:	20 95 2c fe ff ff    	and    %dl,-0x1d4(%ebp)
+    4142:	89 c2                	mov    %eax,%edx
+    4144:	8b bd e0 fd ff ff    	mov    -0x220(%ebp),%edi
+    414a:	31 c0                	xor    %eax,%eax
+    414c:	b9 02 00 00 00       	mov    $0x2,%ecx
+    4151:	f3 ab                	rep stos %eax,%es:(%edi)
+    4153:	8b bd 50 fe ff ff    	mov    -0x1b0(%ebp),%edi
+    4159:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
+    415c:	89 4c 24 08          	mov    %ecx,0x8(%esp)
+    4160:	89 54 24 04          	mov    %edx,0x4(%esp)
+    4164:	89 3c 24             	mov    %edi,(%esp)
+    4167:	e8 fc ff ff ff       	call   0x4168
+    416c:	83 f8 ff             	cmp    $0xffffffff,%eax
+    416f:	89 c1                	mov    %eax,%ecx
+    4171:	0f 84 7e 01 00 00    	je     0x42f5
+    4177:	6b c6 11             	imul   $0x11,%esi,%eax
+    417a:	8d 7d f0             	lea    -0x10(%ebp),%edi
+    417d:	8d 04 07             	lea    (%edi,%eax,1),%eax
+    4180:	c6 84 01 88 fe ff ff 	movb   $0x0,-0x178(%ecx,%eax,1)
+    4187:	00 
+    4188:	83 c6 01             	add    $0x1,%esi
+    418b:	83 85 50 fe ff ff 11 	addl   $0x11,-0x1b0(%ebp)
+    4192:	83 fe 0b             	cmp    $0xb,%esi
+    4195:	0f 85 77 ff ff ff    	jne    0x4112
+    419b:	8b 95 fc fd ff ff    	mov    -0x204(%ebp),%edx
+    41a1:	89 9d 6c fe ff ff    	mov    %ebx,-0x194(%ebp)
+    41a7:	8b bd 5c fe ff ff    	mov    -0x1a4(%ebp),%edi
+    41ad:	89 d6                	mov    %edx,%esi
+    41af:	8b 9d 70 fe ff ff    	mov    -0x190(%ebp),%ebx
+    41b5:	80 bd 4c fe ff ff 00 	cmpb   $0x0,-0x1b4(%ebp)
+    41bc:	0f 84 37 06 00 00    	je     0x47f9
+    41c2:	0f b6 85 38 fe ff ff 	movzbl -0x1c8(%ebp),%eax
+    41c9:	38 44 33 ff          	cmp    %al,-0x1(%ebx,%esi,1)
+    41cd:	0f 84 fa 05 00 00    	je     0x47cd
+    41d3:	8d 8d 78 fe ff ff    	lea    -0x188(%ebp),%ecx
+    41d9:	89 b5 fc fd ff ff    	mov    %esi,-0x204(%ebp)
+    41df:	89 ce                	mov    %ecx,%esi
+    41e1:	8b 8d 68 fe ff ff    	mov    -0x198(%ebp),%ecx
+    41e7:	c7 85 2c fe ff ff 00 	movl   $0x0,-0x1d4(%ebp)
+    41ee:	00 00 00 
+    41f1:	89 bd 5c fe ff ff    	mov    %edi,-0x1a4(%ebp)
+    41f7:	89 9d 70 fe ff ff    	mov    %ebx,-0x190(%ebp)
+    41fd:	83 bd 60 fe ff ff 00 	cmpl   $0x0,-0x1a0(%ebp)
+    4204:	ba ff ff ff 7f       	mov    $0x7fffffff,%edx
+    4209:	8b bd 6c fe ff ff    	mov    -0x194(%ebp),%edi
+    420f:	89 f3                	mov    %esi,%ebx
+    4211:	0f 4f 95 60 fe ff ff 	cmovg  -0x1a0(%ebp),%edx
+    4218:	89 95 50 fe ff ff    	mov    %edx,-0x1b0(%ebp)
+    421e:	0f b6 03             	movzbl (%ebx),%eax
+    4221:	0f b6 d0             	movzbl %al,%edx
+    4224:	39 d1                	cmp    %edx,%ecx
+    4226:	0f 85 0f 03 00 00    	jne    0x453b
+    422c:	83 c3 01             	add    $0x1,%ebx
+    422f:	80 3b 00             	cmpb   $0x0,(%ebx)
+    4232:	0f 84 51 02 00 00    	je     0x4489
+    4238:	83 bd 50 fe ff ff 00 	cmpl   $0x0,-0x1b0(%ebp)
+    423f:	0f 84 39 02 00 00    	je     0x447e
+    4245:	8b 47 04             	mov    0x4(%edi),%eax
+    4248:	3b 47 08             	cmp    0x8(%edi),%eax
+    424b:	0f 83 2f 01 00 00    	jae    0x4380
+    4251:	0f b6 08             	movzbl (%eax),%ecx
+    4254:	83 c0 01             	add    $0x1,%eax
+    4257:	89 47 04             	mov    %eax,0x4(%edi)
+    425a:	83 85 74 fe ff ff 01 	addl   $0x1,-0x18c(%ebp)
+    4261:	83 ad 50 fe ff ff 01 	subl   $0x1,-0x1b0(%ebp)
+    4268:	eb b4                	jmp    0x421e
+    426a:	8b bd 08 fe ff ff    	mov    -0x1f8(%ebp),%edi
+    4270:	31 c0                	xor    %eax,%eax
+    4272:	f2 ae                	repnz scas %es:(%edi),%al
+    4274:	f7 d1                	not    %ecx
+    4276:	8d 41 ff             	lea    -0x1(%ecx),%eax
+    4279:	83 f8 10             	cmp    $0x10,%eax
+    427c:	0f 87 19 ef ff ff    	ja     0x319b
+    4282:	39 c2                	cmp    %eax,%edx
+    4284:	0f 94 c0             	sete   %al
+    4287:	89 c6                	mov    %eax,%esi
+    4289:	0f b6 85 50 fe ff ff 	movzbl -0x1b0(%ebp),%eax
+    4290:	89 4c 24 08          	mov    %ecx,0x8(%esp)
+    4294:	8b 8d 08 fe ff ff    	mov    -0x1f8(%ebp),%ecx
+    429a:	8d bd 33 ff ff ff    	lea    -0xcd(%ebp),%edi
+    42a0:	89 95 ec fd ff ff    	mov    %edx,-0x214(%ebp)
+    42a6:	89 3c 24             	mov    %edi,(%esp)
+    42a9:	09 c6                	or     %eax,%esi
+    42ab:	89 4c 24 04          	mov    %ecx,0x4(%esp)
+    42af:	e8 fc ff ff ff       	call   0x42b0
+    42b4:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
+    42ba:	e9 1d fe ff ff       	jmp    0x40dc
+    42bf:	89 95 ec fd ff ff    	mov    %edx,-0x214(%ebp)
+    42c5:	89 1c 24             	mov    %ebx,(%esp)
+    42c8:	e8 fc ff ff ff       	call   0x42c9
+    42cd:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
+    42d3:	83 f8 ff             	cmp    $0xffffffff,%eax
+    42d6:	89 85 68 fe ff ff    	mov    %eax,-0x198(%ebp)
+    42dc:	0f 85 38 fd ff ff    	jne    0x401a
+    42e2:	a1 00 00 00 00       	mov    0x0,%eax
+    42e7:	65 8b 00             	mov    %gs:(%eax),%eax
+    42ea:	89 85 3c fe ff ff    	mov    %eax,-0x1c4(%ebp)
+    42f0:	e9 2c fd ff ff       	jmp    0x4021
+    42f5:	83 fe 0a             	cmp    $0xa,%esi
+    42f8:	74 2e                	je     0x4328
+    42fa:	8b 95 fc fd ff ff    	mov    -0x204(%ebp),%edx
+    4300:	e9 96 ee ff ff       	jmp    0x319b
+    4305:	8b bd 6c fe ff ff    	mov    -0x194(%ebp),%edi
+    430b:	8d 46 30             	lea    0x30(%esi),%eax
+    430e:	89 04 24             	mov    %eax,(%esp)
+    4311:	89 7c 24 04          	mov    %edi,0x4(%esp)
+    4315:	e8 fc ff ff ff       	call   0x4316
+    431a:	89 c2                	mov    %eax,%edx
+    431c:	89 84 b5 44 ff ff ff 	mov    %eax,-0xbc(%ebp,%esi,4)
+    4323:	e9 1c fe ff ff       	jmp    0x4144
+    4328:	80 bd 2c fe ff ff 00 	cmpb   $0x0,-0x1d4(%ebp)
+    432f:	0f 84 53 fe ff ff    	je     0x4188
+    4335:	8b bd 48 fe ff ff    	mov    -0x1b8(%ebp),%edi
+    433b:	31 c0                	xor    %eax,%eax
+    433d:	8b 95 fc fd ff ff    	mov    -0x204(%ebp),%edx
+    4343:	f2 ae                	repnz scas %es:(%edi),%al
+    4345:	f7 d1                	not    %ecx
+    4347:	8d 41 ff             	lea    -0x1(%ecx),%eax
+    434a:	83 f8 10             	cmp    $0x10,%eax
+    434d:	0f 87 4e fe ff ff    	ja     0x41a1
+    4353:	89 4c 24 08          	mov    %ecx,0x8(%esp)
+    4357:	8b 8d 48 fe ff ff    	mov    -0x1b8(%ebp),%ecx
+    435d:	8d 85 22 ff ff ff    	lea    -0xde(%ebp),%eax
+    4363:	89 95 ec fd ff ff    	mov    %edx,-0x214(%ebp)
+    4369:	89 04 24             	mov    %eax,(%esp)
+    436c:	89 4c 24 04          	mov    %ecx,0x4(%esp)
+    4370:	e8 fc ff ff ff       	call   0x4371
+    4375:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
+    437b:	e9 21 fe ff ff       	jmp    0x41a1
+    4380:	89 3c 24             	mov    %edi,(%esp)
+    4383:	e8 fc ff ff ff       	call   0x4384
+    4388:	83 f8 ff             	cmp    $0xffffffff,%eax
+    438b:	89 c1                	mov    %eax,%ecx
+    438d:	0f 85 c7 fe ff ff    	jne    0x425a
+    4393:	a1 00 00 00 00       	mov    0x0,%eax
+    4398:	8b bd 74 fe ff ff    	mov    -0x18c(%ebp),%edi
+    439e:	65 8b 00             	mov    %gs:(%eax),%eax
+    43a1:	89 85 3c fe ff ff    	mov    %eax,-0x1c4(%ebp)
+    43a7:	0f b6 03             	movzbl (%ebx),%eax
+    43aa:	84 c0                	test   %al,%al
+    43ac:	0f 84 d7 00 00 00    	je     0x4489
+    43b2:	39 f3                	cmp    %esi,%ebx
+    43b4:	76 67                	jbe    0x441d
+    43b6:	83 f9 ff             	cmp    $0xffffffff,%ecx
+    43b9:	74 1e                	je     0x43d9
+    43bb:	0f b6 c9             	movzbl %cl,%ecx
+    43be:	8b bd 74 fe ff ff    	mov    -0x18c(%ebp),%edi
+    43c4:	89 4c 24 04          	mov    %ecx,0x4(%esp)
+    43c8:	8b 8d 6c fe ff ff    	mov    -0x194(%ebp),%ecx
+    43ce:	83 ef 01             	sub    $0x1,%edi
+    43d1:	89 0c 24             	mov    %ecx,(%esp)
+    43d4:	e8 fc ff ff ff       	call   0x43d5
+    43d9:	89 da                	mov    %ebx,%edx
+    43db:	83 ea 01             	sub    $0x1,%edx
+    43de:	39 f2                	cmp    %esi,%edx
+    43e0:	76 23                	jbe    0x4405
+    43e2:	0f b6 02             	movzbl (%edx),%eax
+    43e5:	89 95 ec fd ff ff    	mov    %edx,-0x214(%ebp)
+    43eb:	89 44 24 04          	mov    %eax,0x4(%esp)
+    43ef:	8b 85 6c fe ff ff    	mov    -0x194(%ebp),%eax
+    43f5:	89 04 24             	mov    %eax,(%esp)
+    43f8:	e8 fc ff ff ff       	call   0x43f9
+    43fd:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
+    4403:	eb d6                	jmp    0x43db
+    4405:	8d 43 ff             	lea    -0x1(%ebx),%eax
+    4408:	89 f2                	mov    %esi,%edx
+    440a:	29 c2                	sub    %eax,%edx
+    440c:	01 fa                	add    %edi,%edx
+    440e:	89 95 74 fe ff ff    	mov    %edx,-0x18c(%ebp)
+    4414:	8d 56 ff             	lea    -0x1(%esi),%edx
+    4417:	29 c2                	sub    %eax,%edx
+    4419:	0f b6 0c 13          	movzbl (%ebx,%edx,1),%ecx
+    441d:	83 85 2c fe ff ff 01 	addl   $0x1,-0x1d4(%ebp)
+    4424:	83 c6 11             	add    $0x11,%esi
+    4427:	83 bd 2c fe ff ff 0c 	cmpl   $0xc,-0x1d4(%ebp)
+    442e:	0f 85 c9 fd ff ff    	jne    0x41fd
+    4434:	8b 95 fc fd ff ff    	mov    -0x204(%ebp),%edx
+    443a:	8b 9d 6c fe ff ff    	mov    -0x194(%ebp),%ebx
+    4440:	89 8d 68 fe ff ff    	mov    %ecx,-0x198(%ebp)
+    4446:	83 bd 68 fe ff ff ff 	cmpl   $0xffffffff,-0x198(%ebp)
+    444d:	0f 84 48 ed ff ff    	je     0x319b
+    4453:	0f b6 85 68 fe ff ff 	movzbl -0x198(%ebp),%eax
+    445a:	89 95 ec fd ff ff    	mov    %edx,-0x214(%ebp)
+    4460:	83 ad 74 fe ff ff 01 	subl   $0x1,-0x18c(%ebp)
+    4467:	89 44 24 04          	mov    %eax,0x4(%esp)
+    446b:	89 1c 24             	mov    %ebx,(%esp)
+    446e:	e8 fc ff ff ff       	call   0x446f
+    4473:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
+    4479:	e9 1d ed ff ff       	jmp    0x319b
+    447e:	8b bd 74 fe ff ff    	mov    -0x18c(%ebp),%edi
+    4484:	e9 29 ff ff ff       	jmp    0x43b2
+    4489:	89 8d 68 fe ff ff    	mov    %ecx,-0x198(%ebp)
+    448f:	8b 8d 50 fe ff ff    	mov    -0x1b0(%ebp),%ecx
+    4495:	83 bd 60 fe ff ff 00 	cmpl   $0x0,-0x1a0(%ebp)
+    449c:	0f 4e 8d 60 fe ff ff 	cmovle -0x1a0(%ebp),%ecx
+    44a3:	83 bd 2c fe ff ff 09 	cmpl   $0x9,-0x1d4(%ebp)
+    44aa:	8b b5 fc fd ff ff    	mov    -0x204(%ebp),%esi
+    44b0:	8b bd 5c fe ff ff    	mov    -0x1a4(%ebp),%edi
+    44b6:	8b 9d 70 fe ff ff    	mov    -0x190(%ebp),%ebx
+    44bc:	89 8d 60 fe ff ff    	mov    %ecx,-0x1a0(%ebp)
+    44c2:	0f 8f de 03 00 00    	jg     0x48a6
+    44c8:	39 fe                	cmp    %edi,%esi
+    44ca:	0f 84 f0 00 00 00    	je     0x45c0
+    44d0:	0f b6 85 2c fe ff ff 	movzbl -0x1d4(%ebp),%eax
+    44d7:	83 c0 30             	add    $0x30,%eax
+    44da:	88 04 33             	mov    %al,(%ebx,%esi,1)
+    44dd:	83 c6 01             	add    $0x1,%esi
+    44e0:	83 bd 60 fe ff ff 00 	cmpl   $0x0,-0x1a0(%ebp)
+    44e7:	0f 84 ba 00 00 00    	je     0x45a7
+    44ed:	83 bd 68 fe ff ff ff 	cmpl   $0xffffffff,-0x198(%ebp)
+    44f4:	0f 84 86 00 00 00    	je     0x4580
+    44fa:	8b 95 6c fe ff ff    	mov    -0x194(%ebp),%edx
+    4500:	8b 42 04             	mov    0x4(%edx),%eax
+    4503:	3b 42 08             	cmp    0x8(%edx),%eax
+    4506:	73 3e                	jae    0x4546
+    4508:	0f b6 08             	movzbl (%eax),%ecx
+    450b:	83 c0 01             	add    $0x1,%eax
+    450e:	8b 95 6c fe ff ff    	mov    -0x194(%ebp),%edx
+    4514:	89 8d 68 fe ff ff    	mov    %ecx,-0x198(%ebp)
+    451a:	89 42 04             	mov    %eax,0x4(%edx)
+    451d:	31 c0                	xor    %eax,%eax
+    451f:	83 bd 60 fe ff ff 00 	cmpl   $0x0,-0x1a0(%ebp)
+    4526:	0f 9f c0             	setg   %al
+    4529:	83 85 74 fe ff ff 01 	addl   $0x1,-0x18c(%ebp)
+    4530:	29 85 60 fe ff ff    	sub    %eax,-0x1a0(%ebp)
+    4536:	e9 7a fc ff ff       	jmp    0x41b5
+    453b:	8b bd 74 fe ff ff    	mov    -0x18c(%ebp),%edi
+    4541:	e9 64 fe ff ff       	jmp    0x43aa
+    4546:	89 14 24             	mov    %edx,(%esp)
+    4549:	e8 fc ff ff ff       	call   0x454a
+    454e:	83 f8 ff             	cmp    $0xffffffff,%eax
+    4551:	89 85 68 fe ff ff    	mov    %eax,-0x198(%ebp)
+    4557:	75 c4                	jne    0x451d
+    4559:	a1 00 00 00 00       	mov    0x0,%eax
+    455e:	89 f2                	mov    %esi,%edx
+    4560:	89 9d 70 fe ff ff    	mov    %ebx,-0x190(%ebp)
+    4566:	8b 9d 6c fe ff ff    	mov    -0x194(%ebp),%ebx
+    456c:	89 bd 5c fe ff ff    	mov    %edi,-0x1a4(%ebp)
+    4572:	65 8b 00             	mov    %gs:(%eax),%eax
+    4575:	89 85 3c fe ff ff    	mov    %eax,-0x1c4(%ebp)
+    457b:	e9 1b ec ff ff       	jmp    0x319b
+    4580:	a1 00 00 00 00       	mov    0x0,%eax
+    4585:	89 f2                	mov    %esi,%edx
+    4587:	8b 8d 3c fe ff ff    	mov    -0x1c4(%ebp),%ecx
+    458d:	89 9d 70 fe ff ff    	mov    %ebx,-0x190(%ebp)
+    4593:	8b 9d 6c fe ff ff    	mov    -0x194(%ebp),%ebx
+    4599:	89 bd 5c fe ff ff    	mov    %edi,-0x1a4(%ebp)
+    459f:	65 89 08             	mov    %ecx,%gs:(%eax)
+    45a2:	e9 f4 eb ff ff       	jmp    0x319b
+    45a7:	89 9d 70 fe ff ff    	mov    %ebx,-0x190(%ebp)
+    45ad:	89 f2                	mov    %esi,%edx
+    45af:	8b 9d 6c fe ff ff    	mov    -0x194(%ebp),%ebx
+    45b5:	89 bd 5c fe ff ff    	mov    %edi,-0x1a4(%ebp)
+    45bb:	e9 db eb ff ff       	jmp    0x319b
+    45c0:	8d 3c 36             	lea    (%esi,%esi,1),%edi
+    45c3:	b8 00 01 00 00       	mov    $0x100,%eax
+    45c8:	81 ff 00 01 00 00    	cmp    $0x100,%edi
+    45ce:	0f 42 f8             	cmovb  %eax,%edi
+    45d1:	89 d8                	mov    %ebx,%eax
+    45d3:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
+    45da:	75 0e                	jne    0x45ea
+    45dc:	81 ff 00 00 01 00    	cmp    $0x10000,%edi
+    45e2:	0f 86 24 03 00 00    	jbe    0x490c
+    45e8:	31 c0                	xor    %eax,%eax
+    45ea:	89 7c 24 04          	mov    %edi,0x4(%esp)
+    45ee:	89 04 24             	mov    %eax,(%esp)
+    45f1:	e8 fc ff ff ff       	call   0x45f2
+    45f6:	85 c0                	test   %eax,%eax
+    45f8:	89 c2                	mov    %eax,%edx
+    45fa:	0f 84 34 09 00 00    	je     0x4f34
+    4600:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
+    4607:	0f 84 fd 08 00 00    	je     0x4f0a
+    460d:	89 d3                	mov    %edx,%ebx
+    460f:	e9 bc fe ff ff       	jmp    0x44d0
+    4614:	89 1c 24             	mov    %ebx,(%esp)
+    4617:	e8 fc ff ff ff       	call   0x4618
+    461c:	83 f8 ff             	cmp    $0xffffffff,%eax
+    461f:	89 c6                	mov    %eax,%esi
+    4621:	0f 85 0a dc ff ff    	jne    0x2231
+    4627:	89 85 68 fe ff ff    	mov    %eax,-0x198(%ebp)
+    462d:	a1 00 00 00 00       	mov    0x0,%eax
+    4632:	89 fe                	mov    %edi,%esi
+    4634:	89 b5 18 fe ff ff    	mov    %esi,-0x1e8(%ebp)
+    463a:	8b bd 64 fe ff ff    	mov    -0x19c(%ebp),%edi
+    4640:	65 8b 00             	mov    %gs:(%eax),%eax
+    4643:	89 85 3c fe ff ff    	mov    %eax,-0x1c4(%ebp)
+    4649:	e9 ef f3 ff ff       	jmp    0x3a3d
+    464e:	89 1c 24             	mov    %ebx,(%esp)
+    4651:	e8 fc ff ff ff       	call   0x4652
+    4656:	83 f8 ff             	cmp    $0xffffffff,%eax
+    4659:	89 85 68 fe ff ff    	mov    %eax,-0x198(%ebp)
+    465f:	0f 84 43 bf ff ff    	je     0x5a8
+    4665:	e9 12 db ff ff       	jmp    0x217c
+    466a:	a1 00 00 00 00       	mov    0x0,%eax
+    466f:	8b 8d 3c fe ff ff    	mov    -0x1c4(%ebp),%ecx
+    4675:	65 89 08             	mov    %ecx,%gs:(%eax)
+    4678:	e9 a4 f9 ff ff       	jmp    0x4021
+    467d:	89 8d e8 fd ff ff    	mov    %ecx,-0x218(%ebp)
+    4683:	89 1c 24             	mov    %ebx,(%esp)
+    4686:	e8 fc ff ff ff       	call   0x4687
+    468b:	8b 8d e8 fd ff ff    	mov    -0x218(%ebp),%ecx
+    4691:	83 f8 ff             	cmp    $0xffffffff,%eax
+    4694:	89 85 68 fe ff ff    	mov    %eax,-0x198(%ebp)
+    469a:	0f 85 af df ff ff    	jne    0x264f
+    46a0:	a1 00 00 00 00       	mov    0x0,%eax
+    46a5:	89 bd 70 fe ff ff    	mov    %edi,-0x190(%ebp)
+    46ab:	8b 9d 50 fe ff ff    	mov    -0x1b0(%ebp),%ebx
+    46b1:	8b bd 5c fe ff ff    	mov    -0x1a4(%ebp),%edi
+    46b7:	65 8b 00             	mov    %gs:(%eax),%eax
+    46ba:	89 85 3c fe ff ff    	mov    %eax,-0x1c4(%ebp)
+    46c0:	e9 03 de ff ff       	jmp    0x24c8
+    46c5:	8d 0c 1b             	lea    (%ebx,%ebx,1),%ecx
+    46c8:	be 00 01 00 00       	mov    $0x100,%esi
+    46cd:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
+    46d3:	89 f8                	mov    %edi,%eax
+    46d5:	0f 42 ce             	cmovb  %esi,%ecx
+    46d8:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
+    46df:	75 0a                	jne    0x46eb
+    46e1:	81 f9 00 00 01 00    	cmp    $0x10000,%ecx
+    46e7:	76 34                	jbe    0x471d
+    46e9:	31 c0                	xor    %eax,%eax
+    46eb:	89 4c 24 04          	mov    %ecx,0x4(%esp)
+    46ef:	89 8d e8 fd ff ff    	mov    %ecx,-0x218(%ebp)
+    46f5:	89 04 24             	mov    %eax,(%esp)
+    46f8:	e8 fc ff ff ff       	call   0x46f9
+    46fd:	8b 8d e8 fd ff ff    	mov    -0x218(%ebp),%ecx
+    4703:	85 c0                	test   %eax,%eax
+    4705:	89 c6                	mov    %eax,%esi
+    4707:	0f 84 81 00 00 00    	je     0x478e
+    470d:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
+    4714:	74 4e                	je     0x4764
+    4716:	89 c7                	mov    %eax,%edi
+    4718:	e9 65 dd ff ff       	jmp    0x2482
+    471d:	8d 41 12             	lea    0x12(%ecx),%eax
+    4720:	83 e0 fc             	and    $0xfffffffc,%eax
+    4723:	29 c4                	sub    %eax,%esp
+    4725:	8d 54 24 1f          	lea    0x1f(%esp),%edx
+    4729:	83 e2 f0             	and    $0xfffffff0,%edx
+    472c:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
+    472f:	39 c7                	cmp    %eax,%edi
+    4731:	8d 34 0b             	lea    (%ebx,%ecx,1),%esi
+    4734:	0f 45 f1             	cmovne %ecx,%esi
+    4737:	85 ff                	test   %edi,%edi
+    4739:	0f 84 85 00 00 00    	je     0x47c4
+    473f:	89 7c 24 04          	mov    %edi,0x4(%esp)
+    4743:	89 14 24             	mov    %edx,(%esp)
+    4746:	89 95 ec fd ff ff    	mov    %edx,-0x214(%ebp)
+    474c:	89 5c 24 08          	mov    %ebx,0x8(%esp)
+    4750:	e8 fc ff ff ff       	call   0x4751
+    4755:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
+    475b:	89 f1                	mov    %esi,%ecx
+    475d:	89 d7                	mov    %edx,%edi
+    475f:	e9 1e dd ff ff       	jmp    0x2482
+    4764:	89 7c 24 04          	mov    %edi,0x4(%esp)
+    4768:	89 f7                	mov    %esi,%edi
+    476a:	89 8d e8 fd ff ff    	mov    %ecx,-0x218(%ebp)
+    4770:	89 5c 24 08          	mov    %ebx,0x8(%esp)
+    4774:	89 04 24             	mov    %eax,(%esp)
+    4777:	e8 fc ff ff ff       	call   0x4778
+    477c:	8b 8d e8 fd ff ff    	mov    -0x218(%ebp),%ecx
+    4782:	c6 85 2b fe ff ff 01 	movb   $0x1,-0x1d5(%ebp)
+    4789:	e9 f4 dc ff ff       	jmp    0x2482
+    478e:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
+    4795:	89 b5 50 fe ff ff    	mov    %esi,-0x1b0(%ebp)
+    479b:	8b 9d 6c fe ff ff    	mov    -0x194(%ebp),%ebx
+    47a1:	89 bd 70 fe ff ff    	mov    %edi,-0x190(%ebp)
+    47a7:	0f 84 c0 f7 ff ff    	je     0x3f6d
+    47ad:	89 3c 24             	mov    %edi,(%esp)
+    47b0:	e8 fc ff ff ff       	call   0x47b1
+    47b5:	c7 85 34 fe ff ff ff 	movl   $0xffffffff,-0x1cc(%ebp)
+    47bc:	ff ff ff 
+    47bf:	e9 93 bc ff ff       	jmp    0x457
+    47c4:	89 f1                	mov    %esi,%ecx
+    47c6:	89 d7                	mov    %edx,%edi
+    47c8:	e9 b5 dc ff ff       	jmp    0x2482
+    47cd:	83 bd 68 fe ff ff 2b 	cmpl   $0x2b,-0x198(%ebp)
+    47d4:	74 0d                	je     0x47e3
+    47d6:	83 bd 68 fe ff ff 2d 	cmpl   $0x2d,-0x198(%ebp)
+    47dd:	0f 85 f0 f9 ff ff    	jne    0x41d3
+    47e3:	39 fe                	cmp    %edi,%esi
+    47e5:	74 6b                	je     0x4852
+    47e7:	0f b6 8d 68 fe ff ff 	movzbl -0x198(%ebp),%ecx
+    47ee:	88 0c 33             	mov    %cl,(%ebx,%esi,1)
+    47f1:	83 c6 01             	add    $0x1,%esi
+    47f4:	e9 e7 fc ff ff       	jmp    0x44e0
+    47f9:	85 f6                	test   %esi,%esi
+    47fb:	0f 84 d2 f9 ff ff    	je     0x41d3
+    4801:	8b 8d 40 fe ff ff    	mov    -0x1c0(%ebp),%ecx
+    4807:	0f b6 95 68 fe ff ff 	movzbl -0x198(%ebp),%edx
+    480e:	8b 41 38             	mov    0x38(%ecx),%eax
+    4811:	0f b6 04 90          	movzbl (%eax,%edx,4),%eax
+    4815:	0f b6 95 38 fe ff ff 	movzbl -0x1c8(%ebp),%edx
+    481c:	88 85 70 fe ff ff    	mov    %al,-0x190(%ebp)
+    4822:	38 d0                	cmp    %dl,%al
+    4824:	0f 85 a9 f9 ff ff    	jne    0x41d3
+    482a:	39 fe                	cmp    %edi,%esi
+    482c:	0f 84 a3 01 00 00    	je     0x49d5
+    4832:	0f b6 85 70 fe ff ff 	movzbl -0x190(%ebp),%eax
+    4839:	88 04 33             	mov    %al,(%ebx,%esi,1)
+    483c:	83 c6 01             	add    $0x1,%esi
+    483f:	c6 85 4c fe ff ff 01 	movb   $0x1,-0x1b4(%ebp)
+    4846:	c6 85 64 fe ff ff 01 	movb   $0x1,-0x19c(%ebp)
+    484d:	e9 8e fc ff ff       	jmp    0x44e0
+    4852:	8d 3c 36             	lea    (%esi,%esi,1),%edi
+    4855:	b8 00 01 00 00       	mov    $0x100,%eax
+    485a:	81 ff 00 01 00 00    	cmp    $0x100,%edi
+    4860:	0f 42 f8             	cmovb  %eax,%edi
+    4863:	89 d8                	mov    %ebx,%eax
+    4865:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
+    486c:	75 0e                	jne    0x487c
+    486e:	81 ff 00 00 01 00    	cmp    $0x10000,%edi
+    4874:	0f 86 70 04 00 00    	jbe    0x4cea
+    487a:	31 c0                	xor    %eax,%eax
+    487c:	89 7c 24 04          	mov    %edi,0x4(%esp)
+    4880:	89 04 24             	mov    %eax,(%esp)
+    4883:	e8 fc ff ff ff       	call   0x4884
+    4888:	85 c0                	test   %eax,%eax
+    488a:	89 c2                	mov    %eax,%edx
+    488c:	0f 84 26 04 00 00    	je     0x4cb8
+    4892:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
+    4899:	0f 84 ef 03 00 00    	je     0x4c8e
+    489f:	89 d3                	mov    %edx,%ebx
+    48a1:	e9 41 ff ff ff       	jmp    0x47e7
+    48a6:	0f b6 85 64 fe ff ff 	movzbl -0x19c(%ebp),%eax
+    48ad:	83 f0 01             	xor    $0x1,%eax
+    48b0:	83 bd 2c fe ff ff 0b 	cmpl   $0xb,-0x1d4(%ebp)
+    48b7:	0f 85 f1 01 00 00    	jne    0x4aae
+    48bd:	84 c0                	test   %al,%al
+    48bf:	0f 84 d0 01 00 00    	je     0x4a95
+    48c5:	8b 8d 08 fe ff ff    	mov    -0x1f8(%ebp),%ecx
+    48cb:	8d 04 36             	lea    (%esi,%esi,1),%eax
+    48ce:	89 85 70 fe ff ff    	mov    %eax,-0x190(%ebp)
+    48d4:	89 f8                	mov    %edi,%eax
+    48d6:	89 cf                	mov    %ecx,%edi
+    48d8:	89 c1                	mov    %eax,%ecx
+    48da:	0f b6 17             	movzbl (%edi),%edx
+    48dd:	84 d2                	test   %dl,%dl
+    48df:	88 95 2c fe ff ff    	mov    %dl,-0x1d4(%ebp)
+    48e5:	0f 84 24 02 00 00    	je     0x4b0f
+    48eb:	39 ce                	cmp    %ecx,%esi
+    48ed:	89 da                	mov    %ebx,%edx
+    48ef:	74 5e                	je     0x494f
+    48f1:	0f b6 85 2c fe ff ff 	movzbl -0x1d4(%ebp),%eax
+    48f8:	83 c7 01             	add    $0x1,%edi
+    48fb:	89 d3                	mov    %edx,%ebx
+    48fd:	88 04 32             	mov    %al,(%edx,%esi,1)
+    4900:	83 c6 01             	add    $0x1,%esi
+    4903:	83 85 70 fe ff ff 02 	addl   $0x2,-0x190(%ebp)
+    490a:	eb ce                	jmp    0x48da
+    490c:	8d 47 12             	lea    0x12(%edi),%eax
+    490f:	83 e0 fc             	and    $0xfffffffc,%eax
+    4912:	29 c4                	sub    %eax,%esp
+    4914:	8d 54 24 1f          	lea    0x1f(%esp),%edx
+    4918:	83 e2 f0             	and    $0xfffffff0,%edx
+    491b:	8d 04 3a             	lea    (%edx,%edi,1),%eax
+    491e:	39 c3                	cmp    %eax,%ebx
+    4920:	8d 0c 3e             	lea    (%esi,%edi,1),%ecx
+    4923:	0f 44 f9             	cmove  %ecx,%edi
+    4926:	85 db                	test   %ebx,%ebx
+    4928:	0f 84 df fc ff ff    	je     0x460d
+    492e:	89 14 24             	mov    %edx,(%esp)
+    4931:	89 95 ec fd ff ff    	mov    %edx,-0x214(%ebp)
+    4937:	89 74 24 08          	mov    %esi,0x8(%esp)
+    493b:	89 5c 24 04          	mov    %ebx,0x4(%esp)
+    493f:	e8 fc ff ff ff       	call   0x4940
+    4944:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
+    494a:	e9 be fc ff ff       	jmp    0x460d
+    494f:	81 bd 70 fe ff ff 00 	cmpl   $0x100,-0x190(%ebp)
+    4956:	01 00 00 
+    4959:	b9 00 01 00 00       	mov    $0x100,%ecx
+    495e:	0f 43 8d 70 fe ff ff 	cmovae -0x190(%ebp),%ecx
+    4965:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
+    496c:	75 0e                	jne    0x497c
+    496e:	81 f9 00 00 01 00    	cmp    $0x10000,%ecx
+    4974:	0f 86 a3 01 00 00    	jbe    0x4b1d
+    497a:	31 d2                	xor    %edx,%edx
+    497c:	89 4c 24 04          	mov    %ecx,0x4(%esp)
+    4980:	89 14 24             	mov    %edx,(%esp)
+    4983:	89 8d e8 fd ff ff    	mov    %ecx,-0x218(%ebp)
+    4989:	e8 fc ff ff ff       	call   0x498a
+    498e:	8b 8d e8 fd ff ff    	mov    -0x218(%ebp),%ecx
+    4994:	85 c0                	test   %eax,%eax
+    4996:	89 c2                	mov    %eax,%edx
+    4998:	0f 84 1a 03 00 00    	je     0x4cb8
+    499e:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
+    49a5:	0f 84 8b 04 00 00    	je     0x4e36
+    49ab:	0f b6 07             	movzbl (%edi),%eax
+    49ae:	88 85 2c fe ff ff    	mov    %al,-0x1d4(%ebp)
+    49b4:	e9 38 ff ff ff       	jmp    0x48f1
+    49b9:	89 1c 24             	mov    %ebx,(%esp)
+    49bc:	e8 fc ff ff ff       	call   0x49bd
+    49c1:	83 f8 ff             	cmp    $0xffffffff,%eax
+    49c4:	89 85 68 fe ff ff    	mov    %eax,-0x198(%ebp)
+    49ca:	0f 84 76 ba ff ff    	je     0x446
+    49d0:	e9 39 c5 ff ff       	jmp    0xf0e
+    49d5:	8d 3c 36             	lea    (%esi,%esi,1),%edi
+    49d8:	b8 00 01 00 00       	mov    $0x100,%eax
+    49dd:	81 ff 00 01 00 00    	cmp    $0x100,%edi
+    49e3:	0f 42 f8             	cmovb  %eax,%edi
+    49e6:	89 d8                	mov    %ebx,%eax
+    49e8:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
+    49ef:	75 0e                	jne    0x49ff
+    49f1:	81 ff 00 00 01 00    	cmp    $0x10000,%edi
+    49f7:	0f 86 30 03 00 00    	jbe    0x4d2d
+    49fd:	31 c0                	xor    %eax,%eax
+    49ff:	89 7c 24 04          	mov    %edi,0x4(%esp)
+    4a03:	89 04 24             	mov    %eax,(%esp)
+    4a06:	e8 fc ff ff ff       	call   0x4a07
+    4a0b:	85 c0                	test   %eax,%eax
+    4a0d:	89 c2                	mov    %eax,%edx
+    4a0f:	0f 84 87 05 00 00    	je     0x4f9c
+    4a15:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
+    4a1c:	0f 84 50 05 00 00    	je     0x4f72
+    4a22:	89 d3                	mov    %edx,%ebx
+    4a24:	e9 09 fe ff ff       	jmp    0x4832
+    4a29:	89 8d e8 fd ff ff    	mov    %ecx,-0x218(%ebp)
+    4a2f:	89 14 24             	mov    %edx,(%esp)
+    4a32:	e8 fc ff ff ff       	call   0x4a33
+    4a37:	8b 8d e8 fd ff ff    	mov    -0x218(%ebp),%ecx
+    4a3d:	83 f8 ff             	cmp    $0xffffffff,%eax
+    4a40:	89 85 68 fe ff ff    	mov    %eax,-0x198(%ebp)
+    4a46:	0f 85 eb c5 ff ff    	jne    0x1037
+    4a4c:	a1 00 00 00 00       	mov    0x0,%eax
+    4a51:	89 da                	mov    %ebx,%edx
+    4a53:	89 8d 5c fe ff ff    	mov    %ecx,-0x1a4(%ebp)
+    4a59:	8b 9d 6c fe ff ff    	mov    -0x194(%ebp),%ebx
+    4a5f:	89 bd 70 fe ff ff    	mov    %edi,-0x190(%ebp)
+    4a65:	65 8b 00             	mov    %gs:(%eax),%eax
+    4a68:	89 85 3c fe ff ff    	mov    %eax,-0x1c4(%ebp)
+    4a6e:	e9 18 e7 ff ff       	jmp    0x318b
+    4a73:	a1 00 00 00 00       	mov    0x0,%eax
+    4a78:	be 04 00 00 00       	mov    $0x4,%esi
+    4a7d:	8b 8d 70 fe ff ff    	mov    -0x190(%ebp),%ecx
+    4a83:	65 c7 00 56 00 00 00 	movl   $0x56,%gs:(%eax)
+    4a8a:	89 8d 50 fe ff ff    	mov    %ecx,-0x1b0(%ebp)
+    4a90:	e9 c2 b9 ff ff       	jmp    0x457
+    4a95:	89 9d 70 fe ff ff    	mov    %ebx,-0x190(%ebp)
+    4a9b:	89 f2                	mov    %esi,%edx
+    4a9d:	8b 9d 6c fe ff ff    	mov    -0x194(%ebp),%ebx
+    4aa3:	89 bd 5c fe ff ff    	mov    %edi,-0x1a4(%ebp)
+    4aa9:	e9 98 f9 ff ff       	jmp    0x4446
+    4aae:	83 bd 2c fe ff ff 0a 	cmpl   $0xa,-0x1d4(%ebp)
+    4ab5:	75 de                	jne    0x4a95
+    4ab7:	84 c0                	test   %al,%al
+    4ab9:	74 da                	je     0x4a95
+    4abb:	80 bd f4 fd ff ff 00 	cmpb   $0x0,-0x20c(%ebp)
+    4ac2:	74 d1                	je     0x4a95
+    4ac4:	8d 0c 36             	lea    (%esi,%esi,1),%ecx
+    4ac7:	89 f8                	mov    %edi,%eax
+    4ac9:	89 8d 70 fe ff ff    	mov    %ecx,-0x190(%ebp)
+    4acf:	8b 8d 48 fe ff ff    	mov    -0x1b8(%ebp),%ecx
+    4ad5:	89 cf                	mov    %ecx,%edi
+    4ad7:	89 c1                	mov    %eax,%ecx
+    4ad9:	0f b6 17             	movzbl (%edi),%edx
+    4adc:	84 d2                	test   %dl,%dl
+    4ade:	88 95 2c fe ff ff    	mov    %dl,-0x1d4(%ebp)
+    4ae4:	0f 84 f7 00 00 00    	je     0x4be1
+    4aea:	39 ce                	cmp    %ecx,%esi
+    4aec:	89 da                	mov    %ebx,%edx
+    4aee:	0f 84 8b 00 00 00    	je     0x4b7f
+    4af4:	0f b6 85 2c fe ff ff 	movzbl -0x1d4(%ebp),%eax
+    4afb:	83 c7 01             	add    $0x1,%edi
+    4afe:	89 d3                	mov    %edx,%ebx
+    4b00:	88 04 32             	mov    %al,(%edx,%esi,1)
+    4b03:	83 c6 01             	add    $0x1,%esi
+    4b06:	83 85 70 fe ff ff 02 	addl   $0x2,-0x190(%ebp)
+    4b0d:	eb ca                	jmp    0x4ad9
+    4b0f:	89 cf                	mov    %ecx,%edi
+    4b11:	c6 85 64 fe ff ff 01 	movb   $0x1,-0x19c(%ebp)
+    4b18:	e9 c3 f9 ff ff       	jmp    0x44e0
+    4b1d:	8d 51 12             	lea    0x12(%ecx),%edx
+    4b20:	83 e2 fc             	and    $0xfffffffc,%edx
+    4b23:	29 d4                	sub    %edx,%esp
+    4b25:	8d 54 24 1f          	lea    0x1f(%esp),%edx
+    4b29:	83 e2 f0             	and    $0xfffffff0,%edx
+    4b2c:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
+    4b2f:	89 85 64 fe ff ff    	mov    %eax,-0x19c(%ebp)
+    4b35:	8d 04 0e             	lea    (%esi,%ecx,1),%eax
+    4b38:	3b 9d 64 fe ff ff    	cmp    -0x19c(%ebp),%ebx
+    4b3e:	0f 44 c8             	cmove  %eax,%ecx
+    4b41:	85 db                	test   %ebx,%ebx
+    4b43:	0f 84 a8 fd ff ff    	je     0x48f1
+    4b49:	89 14 24             	mov    %edx,(%esp)
+    4b4c:	89 95 ec fd ff ff    	mov    %edx,-0x214(%ebp)
+    4b52:	89 8d e8 fd ff ff    	mov    %ecx,-0x218(%ebp)
+    4b58:	89 74 24 08          	mov    %esi,0x8(%esp)
+    4b5c:	89 5c 24 04          	mov    %ebx,0x4(%esp)
+    4b60:	e8 fc ff ff ff       	call   0x4b61
+    4b65:	0f b6 07             	movzbl (%edi),%eax
+    4b68:	8b 8d e8 fd ff ff    	mov    -0x218(%ebp),%ecx
+    4b6e:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
+    4b74:	88 85 2c fe ff ff    	mov    %al,-0x1d4(%ebp)
+    4b7a:	e9 72 fd ff ff       	jmp    0x48f1
+    4b7f:	81 bd 70 fe ff ff 00 	cmpl   $0x100,-0x190(%ebp)
+    4b86:	01 00 00 
+    4b89:	b9 00 01 00 00       	mov    $0x100,%ecx
+    4b8e:	0f 43 8d 70 fe ff ff 	cmovae -0x190(%ebp),%ecx
+    4b95:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
+    4b9c:	75 0a                	jne    0x4ba8
+    4b9e:	81 f9 00 00 01 00    	cmp    $0x10000,%ecx
+    4ba4:	76 49                	jbe    0x4bef
+    4ba6:	31 d2                	xor    %edx,%edx
+    4ba8:	89 4c 24 04          	mov    %ecx,0x4(%esp)
+    4bac:	89 14 24             	mov    %edx,(%esp)
+    4baf:	89 8d e8 fd ff ff    	mov    %ecx,-0x218(%ebp)
+    4bb5:	e8 fc ff ff ff       	call   0x4bb6
+    4bba:	8b 8d e8 fd ff ff    	mov    -0x218(%ebp),%ecx
+    4bc0:	85 c0                	test   %eax,%eax
+    4bc2:	89 c2                	mov    %eax,%edx
+    4bc4:	0f 84 6a 03 00 00    	je     0x4f34
+    4bca:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
+    4bd1:	74 7e                	je     0x4c51
+    4bd3:	0f b6 07             	movzbl (%edi),%eax
+    4bd6:	88 85 2c fe ff ff    	mov    %al,-0x1d4(%ebp)
+    4bdc:	e9 13 ff ff ff       	jmp    0x4af4
+    4be1:	89 cf                	mov    %ecx,%edi
+    4be3:	c6 85 64 fe ff ff 00 	movb   $0x0,-0x19c(%ebp)
+    4bea:	e9 f1 f8 ff ff       	jmp    0x44e0
+    4bef:	8d 51 12             	lea    0x12(%ecx),%edx
+    4bf2:	83 e2 fc             	and    $0xfffffffc,%edx
+    4bf5:	29 d4                	sub    %edx,%esp
+    4bf7:	8d 54 24 1f          	lea    0x1f(%esp),%edx
+    4bfb:	83 e2 f0             	and    $0xfffffff0,%edx
+    4bfe:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
+    4c01:	89 85 64 fe ff ff    	mov    %eax,-0x19c(%ebp)
+    4c07:	8d 04 0e             	lea    (%esi,%ecx,1),%eax
+    4c0a:	3b 9d 64 fe ff ff    	cmp    -0x19c(%ebp),%ebx
+    4c10:	0f 44 c8             	cmove  %eax,%ecx
+    4c13:	85 db                	test   %ebx,%ebx
+    4c15:	0f 84 d9 fe ff ff    	je     0x4af4
+    4c1b:	89 14 24             	mov    %edx,(%esp)
+    4c1e:	89 95 ec fd ff ff    	mov    %edx,-0x214(%ebp)
+    4c24:	89 8d e8 fd ff ff    	mov    %ecx,-0x218(%ebp)
+    4c2a:	89 74 24 08          	mov    %esi,0x8(%esp)
+    4c2e:	89 5c 24 04          	mov    %ebx,0x4(%esp)
+    4c32:	e8 fc ff ff ff       	call   0x4c33
+    4c37:	0f b6 07             	movzbl (%edi),%eax
+    4c3a:	8b 8d e8 fd ff ff    	mov    -0x218(%ebp),%ecx
+    4c40:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
+    4c46:	88 85 2c fe ff ff    	mov    %al,-0x1d4(%ebp)
+    4c4c:	e9 a3 fe ff ff       	jmp    0x4af4
+    4c51:	89 8d e8 fd ff ff    	mov    %ecx,-0x218(%ebp)
+    4c57:	89 74 24 08          	mov    %esi,0x8(%esp)
+    4c5b:	89 5c 24 04          	mov    %ebx,0x4(%esp)
+    4c5f:	89 04 24             	mov    %eax,(%esp)
+    4c62:	89 85 ec fd ff ff    	mov    %eax,-0x214(%ebp)
+    4c68:	e8 fc ff ff ff       	call   0x4c69
+    4c6d:	0f b6 07             	movzbl (%edi),%eax
+    4c70:	8b 8d e8 fd ff ff    	mov    -0x218(%ebp),%ecx
+    4c76:	c6 85 2b fe ff ff 01 	movb   $0x1,-0x1d5(%ebp)
+    4c7d:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
+    4c83:	88 85 2c fe ff ff    	mov    %al,-0x1d4(%ebp)
+    4c89:	e9 66 fe ff ff       	jmp    0x4af4
+    4c8e:	89 5c 24 04          	mov    %ebx,0x4(%esp)
+    4c92:	89 74 24 08          	mov    %esi,0x8(%esp)
+    4c96:	89 04 24             	mov    %eax,(%esp)
+    4c99:	89 85 ec fd ff ff    	mov    %eax,-0x214(%ebp)
+    4c9f:	e8 fc ff ff ff       	call   0x4ca0
+    4ca4:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
+    4caa:	c6 85 2b fe ff ff 01 	movb   $0x1,-0x1d5(%ebp)
+    4cb1:	89 d3                	mov    %edx,%ebx
+    4cb3:	e9 2f fb ff ff       	jmp    0x47e7
+    4cb8:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
+    4cbf:	89 9d 70 fe ff ff    	mov    %ebx,-0x190(%ebp)
+    4cc5:	8b 9d 6c fe ff ff    	mov    -0x194(%ebp),%ebx
+    4ccb:	89 95 50 fe ff ff    	mov    %edx,-0x1b0(%ebp)
+    4cd1:	0f 84 96 f2 ff ff    	je     0x3f6d
+    4cd7:	8b 95 70 fe ff ff    	mov    -0x190(%ebp),%edx
+    4cdd:	89 14 24             	mov    %edx,(%esp)
+    4ce0:	e8 fc ff ff ff       	call   0x4ce1
+    4ce5:	e9 83 f2 ff ff       	jmp    0x3f6d
+    4cea:	8d 47 12             	lea    0x12(%edi),%eax
+    4ced:	83 e0 fc             	and    $0xfffffffc,%eax
+    4cf0:	29 c4                	sub    %eax,%esp
+    4cf2:	8d 54 24 1f          	lea    0x1f(%esp),%edx
+    4cf6:	83 e2 f0             	and    $0xfffffff0,%edx
+    4cf9:	8d 04 3a             	lea    (%edx,%edi,1),%eax
+    4cfc:	39 c3                	cmp    %eax,%ebx
+    4cfe:	8d 0c 3e             	lea    (%esi,%edi,1),%ecx
+    4d01:	0f 44 f9             	cmove  %ecx,%edi
+    4d04:	85 db                	test   %ebx,%ebx
+    4d06:	0f 84 93 fb ff ff    	je     0x489f
+    4d0c:	89 14 24             	mov    %edx,(%esp)
+    4d0f:	89 95 ec fd ff ff    	mov    %edx,-0x214(%ebp)
+    4d15:	89 74 24 08          	mov    %esi,0x8(%esp)
+    4d19:	89 5c 24 04          	mov    %ebx,0x4(%esp)
+    4d1d:	e8 fc ff ff ff       	call   0x4d1e
+    4d22:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
+    4d28:	e9 72 fb ff ff       	jmp    0x489f
+    4d2d:	8d 47 12             	lea    0x12(%edi),%eax
+    4d30:	83 e0 fc             	and    $0xfffffffc,%eax
+    4d33:	29 c4                	sub    %eax,%esp
+    4d35:	8d 54 24 1f          	lea    0x1f(%esp),%edx
+    4d39:	83 e2 f0             	and    $0xfffffff0,%edx
+    4d3c:	8d 04 3a             	lea    (%edx,%edi,1),%eax
+    4d3f:	39 c3                	cmp    %eax,%ebx
+    4d41:	8d 0c 3e             	lea    (%esi,%edi,1),%ecx
+    4d44:	0f 44 f9             	cmove  %ecx,%edi
+    4d47:	85 db                	test   %ebx,%ebx
+    4d49:	0f 84 d3 fc ff ff    	je     0x4a22
+    4d4f:	89 14 24             	mov    %edx,(%esp)
+    4d52:	89 95 ec fd ff ff    	mov    %edx,-0x214(%ebp)
+    4d58:	89 74 24 08          	mov    %esi,0x8(%esp)
+    4d5c:	89 5c 24 04          	mov    %ebx,0x4(%esp)
+    4d60:	e8 fc ff ff ff       	call   0x4d61
+    4d65:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
+    4d6b:	e9 b2 fc ff ff       	jmp    0x4a22
+    4d70:	89 1c 24             	mov    %ebx,(%esp)
+    4d73:	e8 fc ff ff ff       	call   0x4d74
+    4d78:	83 f8 ff             	cmp    $0xffffffff,%eax
     4d7b:	89 85 68 fe ff ff    	mov    %eax,-0x198(%ebp)
-    4d81:	a1 00 00 00 00       	mov    0x0,%eax
-    4d86:	89 fe                	mov    %edi,%esi
-    4d88:	89 b5 18 fe ff ff    	mov    %esi,-0x1e8(%ebp)
-    4d8e:	8b bd 64 fe ff ff    	mov    -0x19c(%ebp),%edi
-    4d94:	65 8b 00             	mov    %gs:(%eax),%eax
-    4d97:	89 85 3c fe ff ff    	mov    %eax,-0x1c4(%ebp)
-    4d9d:	e9 9b ec ff ff       	jmp    0x3a3d
-    4da2:	89 1c 24             	mov    %ebx,(%esp)
-    4da5:	e8 fc ff ff ff       	call   0x4da6
-    4daa:	83 f8 ff             	cmp    $0xffffffff,%eax
-    4dad:	89 85 68 fe ff ff    	mov    %eax,-0x198(%ebp)
-    4db3:	0f 84 ef b7 ff ff    	je     0x5a8
-    4db9:	e9 be d3 ff ff       	jmp    0x217c
-    4dbe:	89 8d e8 fd ff ff    	mov    %ecx,-0x218(%ebp)
-    4dc4:	89 14 24             	mov    %edx,(%esp)
-    4dc7:	e8 fc ff ff ff       	call   0x4dc8
-    4dcc:	8b 8d e8 fd ff ff    	mov    -0x218(%ebp),%ecx
-    4dd2:	83 f8 ff             	cmp    $0xffffffff,%eax
-    4dd5:	89 85 68 fe ff ff    	mov    %eax,-0x198(%ebp)
-    4ddb:	0f 85 56 c2 ff ff    	jne    0x1037
-    4de1:	a1 00 00 00 00       	mov    0x0,%eax
-    4de6:	89 da                	mov    %ebx,%edx
-    4de8:	89 8d 5c fe ff ff    	mov    %ecx,-0x1a4(%ebp)
-    4dee:	8b 9d 6c fe ff ff    	mov    -0x194(%ebp),%ebx
-    4df4:	89 bd 70 fe ff ff    	mov    %edi,-0x190(%ebp)
-    4dfa:	65 8b 00             	mov    %gs:(%eax),%eax
-    4dfd:	89 85 3c fe ff ff    	mov    %eax,-0x1c4(%ebp)
-    4e03:	e9 83 e3 ff ff       	jmp    0x318b
-    4e08:	a1 00 00 00 00       	mov    0x0,%eax
-    4e0d:	be 04 00 00 00       	mov    $0x4,%esi
-    4e12:	8b 8d 70 fe ff ff    	mov    -0x190(%ebp),%ecx
-    4e18:	65 c7 00 56 00 00 00 	movl   $0x56,%gs:(%eax)
-    4e1f:	89 8d 50 fe ff ff    	mov    %ecx,-0x1b0(%ebp)
-    4e25:	e9 2d b6 ff ff       	jmp    0x457
-    4e2a:	89 1c 24             	mov    %ebx,(%esp)
-    4e2d:	e8 fc ff ff ff       	call   0x4e2e
-    4e32:	83 f8 ff             	cmp    $0xffffffff,%eax
-    4e35:	89 85 68 fe ff ff    	mov    %eax,-0x198(%ebp)
-    4e3b:	0f 84 05 b6 ff ff    	je     0x446
-    4e41:	e9 c8 c0 ff ff       	jmp    0xf0e
-    4e46:	8d 34 3f             	lea    (%edi,%edi,1),%esi
-    4e49:	b8 00 01 00 00       	mov    $0x100,%eax
-    4e4e:	81 fe 00 01 00 00    	cmp    $0x100,%esi
-    4e54:	0f 42 f0             	cmovb  %eax,%esi
-    4e57:	8b 85 70 fe ff ff    	mov    -0x190(%ebp),%eax
-    4e5d:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
-    4e64:	75 0a                	jne    0x4e70
-    4e66:	81 fe 00 00 01 00    	cmp    $0x10000,%esi
-    4e6c:	76 5d                	jbe    0x4ecb
-    4e6e:	31 c0                	xor    %eax,%eax
-    4e70:	89 74 24 04          	mov    %esi,0x4(%esp)
-    4e74:	89 04 24             	mov    %eax,(%esp)
-    4e77:	e8 fc ff ff ff       	call   0x4e78
-    4e7c:	85 c0                	test   %eax,%eax
-    4e7e:	89 85 50 fe ff ff    	mov    %eax,-0x1b0(%ebp)
-    4e84:	0f 84 9b 00 00 00    	je     0x4f25
-    4e8a:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
-    4e91:	89 b5 5c fe ff ff    	mov    %esi,-0x1a4(%ebp)
-    4e97:	0f 85 3c bb ff ff    	jne    0x9d9
-    4e9d:	8b 85 70 fe ff ff    	mov    -0x190(%ebp),%eax
-    4ea3:	8b 95 50 fe ff ff    	mov    -0x1b0(%ebp),%edx
+    4d81:	0f 85 ef eb ff ff    	jne    0x3976
+    4d87:	a1 00 00 00 00       	mov    0x0,%eax
+    4d8c:	65 8b 00             	mov    %gs:(%eax),%eax
+    4d8f:	89 85 3c fe ff ff    	mov    %eax,-0x1c4(%ebp)
+    4d95:	e9 e3 eb ff ff       	jmp    0x397d
+    4d9a:	a1 00 00 00 00       	mov    0x0,%eax
+    4d9f:	8b 8d 3c fe ff ff    	mov    -0x1c4(%ebp),%ecx
+    4da5:	65 89 08             	mov    %ecx,%gs:(%eax)
+    4da8:	e9 d0 eb ff ff       	jmp    0x397d
+    4dad:	8d 34 3f             	lea    (%edi,%edi,1),%esi
+    4db0:	b8 00 01 00 00       	mov    $0x100,%eax
+    4db5:	81 fe 00 01 00 00    	cmp    $0x100,%esi
+    4dbb:	0f 42 f0             	cmovb  %eax,%esi
+    4dbe:	8b 85 70 fe ff ff    	mov    -0x190(%ebp),%eax
+    4dc4:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
+    4dcb:	75 0e                	jne    0x4ddb
+    4dcd:	81 fe 00 00 01 00    	cmp    $0x10000,%esi
+    4dd3:	0f 86 9a 00 00 00    	jbe    0x4e73
+    4dd9:	31 c0                	xor    %eax,%eax
+    4ddb:	89 74 24 04          	mov    %esi,0x4(%esp)
+    4ddf:	89 04 24             	mov    %eax,(%esp)
+    4de2:	e8 fc ff ff ff       	call   0x4de3
+    4de7:	85 c0                	test   %eax,%eax
+    4de9:	89 85 50 fe ff ff    	mov    %eax,-0x1b0(%ebp)
+    4def:	0f 84 d8 00 00 00    	je     0x4ecd
+    4df5:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
+    4dfc:	89 b5 5c fe ff ff    	mov    %esi,-0x1a4(%ebp)
+    4e02:	0f 85 d1 bb ff ff    	jne    0x9d9
+    4e08:	8b 85 70 fe ff ff    	mov    -0x190(%ebp),%eax
+    4e0e:	8b 95 50 fe ff ff    	mov    -0x1b0(%ebp),%edx
+    4e14:	89 7c 24 08          	mov    %edi,0x8(%esp)
+    4e18:	89 44 24 04          	mov    %eax,0x4(%esp)
+    4e1c:	89 14 24             	mov    %edx,(%esp)
+    4e1f:	e8 fc ff ff ff       	call   0x4e20
+    4e24:	89 b5 5c fe ff ff    	mov    %esi,-0x1a4(%ebp)
+    4e2a:	c6 85 2b fe ff ff 01 	movb   $0x1,-0x1d5(%ebp)
+    4e31:	e9 a3 bb ff ff       	jmp    0x9d9
+    4e36:	89 8d e8 fd ff ff    	mov    %ecx,-0x218(%ebp)
+    4e3c:	89 74 24 08          	mov    %esi,0x8(%esp)
+    4e40:	89 5c 24 04          	mov    %ebx,0x4(%esp)
+    4e44:	89 04 24             	mov    %eax,(%esp)
+    4e47:	89 85 ec fd ff ff    	mov    %eax,-0x214(%ebp)
+    4e4d:	e8 fc ff ff ff       	call   0x4e4e
+    4e52:	0f b6 07             	movzbl (%edi),%eax
+    4e55:	8b 8d e8 fd ff ff    	mov    -0x218(%ebp),%ecx
+    4e5b:	c6 85 2b fe ff ff 01 	movb   $0x1,-0x1d5(%ebp)
+    4e62:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
+    4e68:	88 85 2c fe ff ff    	mov    %al,-0x1d4(%ebp)
+    4e6e:	e9 7e fa ff ff       	jmp    0x48f1
+    4e73:	8d 46 12             	lea    0x12(%esi),%eax
+    4e76:	83 e0 fc             	and    $0xfffffffc,%eax
+    4e79:	29 c4                	sub    %eax,%esp
+    4e7b:	8d 54 24 1f          	lea    0x1f(%esp),%edx
+    4e7f:	83 e2 f0             	and    $0xfffffff0,%edx
+    4e82:	8d 04 32             	lea    (%edx,%esi,1),%eax
+    4e85:	39 85 70 fe ff ff    	cmp    %eax,-0x190(%ebp)
+    4e8b:	8d 0c 37             	lea    (%edi,%esi,1),%ecx
+    4e8e:	0f 44 f1             	cmove  %ecx,%esi
+    4e91:	83 bd 70 fe ff ff 00 	cmpl   $0x0,-0x190(%ebp)
+    4e98:	74 5f                	je     0x4ef9
+    4e9a:	8b 8d 70 fe ff ff    	mov    -0x190(%ebp),%ecx
+    4ea0:	89 14 24             	mov    %edx,(%esp)
+    4ea3:	89 95 ec fd ff ff    	mov    %edx,-0x214(%ebp)
     4ea9:	89 7c 24 08          	mov    %edi,0x8(%esp)
-    4ead:	89 44 24 04          	mov    %eax,0x4(%esp)
-    4eb1:	89 14 24             	mov    %edx,(%esp)
-    4eb4:	e8 fc ff ff ff       	call   0x4eb5
-    4eb9:	89 b5 5c fe ff ff    	mov    %esi,-0x1a4(%ebp)
-    4ebf:	c6 85 2b fe ff ff 01 	movb   $0x1,-0x1d5(%ebp)
-    4ec6:	e9 0e bb ff ff       	jmp    0x9d9
-    4ecb:	8d 46 12             	lea    0x12(%esi),%eax
-    4ece:	83 e0 fc             	and    $0xfffffffc,%eax
-    4ed1:	29 c4                	sub    %eax,%esp
-    4ed3:	8d 54 24 1f          	lea    0x1f(%esp),%edx
-    4ed7:	83 e2 f0             	and    $0xfffffff0,%edx
-    4eda:	8d 04 32             	lea    (%edx,%esi,1),%eax
-    4edd:	39 85 70 fe ff ff    	cmp    %eax,-0x190(%ebp)
-    4ee3:	8d 0c 37             	lea    (%edi,%esi,1),%ecx
-    4ee6:	0f 44 f1             	cmove  %ecx,%esi
-    4ee9:	83 bd 70 fe ff ff 00 	cmpl   $0x0,-0x190(%ebp)
-    4ef0:	74 5f                	je     0x4f51
-    4ef2:	8b 8d 70 fe ff ff    	mov    -0x190(%ebp),%ecx
-    4ef8:	89 14 24             	mov    %edx,(%esp)
-    4efb:	89 95 ec fd ff ff    	mov    %edx,-0x214(%ebp)
-    4f01:	89 7c 24 08          	mov    %edi,0x8(%esp)
-    4f05:	89 4c 24 04          	mov    %ecx,0x4(%esp)
-    4f09:	e8 fc ff ff ff       	call   0x4f0a
-    4f0e:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
-    4f14:	89 b5 5c fe ff ff    	mov    %esi,-0x1a4(%ebp)
-    4f1a:	89 95 50 fe ff ff    	mov    %edx,-0x1b0(%ebp)
-    4f20:	e9 b4 ba ff ff       	jmp    0x9d9
-    4f25:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
-    4f2c:	0f 84 4d f0 ff ff    	je     0x3f7f
-    4f32:	8b bd 70 fe ff ff    	mov    -0x190(%ebp),%edi
-    4f38:	31 f6                	xor    %esi,%esi
-    4f3a:	89 3c 24             	mov    %edi,(%esp)
-    4f3d:	e8 fc ff ff ff       	call   0x4f3e
-    4f42:	c7 85 34 fe ff ff ff 	movl   $0xffffffff,-0x1cc(%ebp)
-    4f49:	ff ff ff 
-    4f4c:	e9 06 b5 ff ff       	jmp    0x457
-    4f51:	89 b5 5c fe ff ff    	mov    %esi,-0x1a4(%ebp)
-    4f57:	89 95 50 fe ff ff    	mov    %edx,-0x1b0(%ebp)
-    4f5d:	e9 77 ba ff ff       	jmp    0x9d9
-    4f62:	89 1c 24             	mov    %ebx,(%esp)
-    4f65:	e8 fc ff ff ff       	call   0x4f66
-    4f6a:	83 f8 ff             	cmp    $0xffffffff,%eax
-    4f6d:	89 85 68 fe ff ff    	mov    %eax,-0x198(%ebp)
-    4f73:	0f 85 fd e9 ff ff    	jne    0x3976
-    4f79:	a1 00 00 00 00       	mov    0x0,%eax
-    4f7e:	65 8b 00             	mov    %gs:(%eax),%eax
-    4f81:	89 85 3c fe ff ff    	mov    %eax,-0x1c4(%ebp)
-    4f87:	e9 f1 e9 ff ff       	jmp    0x397d
-    4f8c:	a1 00 00 00 00       	mov    0x0,%eax
-    4f91:	8b 8d 3c fe ff ff    	mov    -0x1c4(%ebp),%ecx
-    4f97:	65 89 08             	mov    %ecx,%gs:(%eax)
-    4f9a:	e9 de e9 ff ff       	jmp    0x397d
-    4f9f:	8b 8d 30 fe ff ff    	mov    -0x1d0(%ebp),%ecx
-    4fa5:	8b b5 1c fe ff ff    	mov    -0x1e4(%ebp),%esi
-    4fab:	8b 44 8e fc          	mov    -0x4(%esi,%ecx,4),%eax
-    4faf:	e9 0f e5 ff ff       	jmp    0x34c3
-    4fb4:	89 bd 5c fe ff ff    	mov    %edi,-0x1a4(%ebp)
-    4fba:	8b bd 50 fe ff ff    	mov    -0x1b0(%ebp),%edi
-    4fc0:	e9 c9 c5 ff ff       	jmp    0x158e
-    4fc5:	89 1c 24             	mov    %ebx,(%esp)
-    4fc8:	e8 fc ff ff ff       	call   0x4fc9
-    4fcd:	83 f8 ff             	cmp    $0xffffffff,%eax
-    4fd0:	89 c2                	mov    %eax,%edx
-    4fd2:	0f 85 58 d9 ff ff    	jne    0x2930
-    4fd8:	89 85 68 fe ff ff    	mov    %eax,-0x198(%ebp)
-    4fde:	a1 00 00 00 00       	mov    0x0,%eax
-    4fe3:	65 8b 00             	mov    %gs:(%eax),%eax
-    4fe6:	89 85 3c fe ff ff    	mov    %eax,-0x1c4(%ebp)
-    4fec:	e9 78 d9 ff ff       	jmp    0x2969
-    4ff1:	8b bd 30 fe ff ff    	mov    -0x1d0(%ebp),%edi
-    4ff7:	8b 95 1c fe ff ff    	mov    -0x1e4(%ebp),%edx
-    4ffd:	8b 44 ba fc          	mov    -0x4(%edx,%edi,4),%eax
-    5001:	e9 c7 ec ff ff       	jmp    0x3ccd
-    5006:	0f b6 85 68 fe ff ff 	movzbl -0x198(%ebp),%eax
-    500d:	e9 dd cb ff ff       	jmp    0x1bef
-    5012:	89 1c 24             	mov    %ebx,(%esp)
-    5015:	e8 fc ff ff ff       	call   0x5016
-    501a:	83 f8 ff             	cmp    $0xffffffff,%eax
-    501d:	89 85 68 fe ff ff    	mov    %eax,-0x198(%ebp)
-    5023:	0f 84 7f b5 ff ff    	je     0x5a8
-    5029:	e9 b9 c1 ff ff       	jmp    0x11e7
-    502e:	89 1c 24             	mov    %ebx,(%esp)
-    5031:	e8 fc ff ff ff       	call   0x5032
-    5036:	83 f8 ff             	cmp    $0xffffffff,%eax
-    5039:	89 85 68 fe ff ff    	mov    %eax,-0x198(%ebp)
-    503f:	0f 84 63 b5 ff ff    	je     0x5a8
-    5045:	e9 00 cf ff ff       	jmp    0x1f4a
-    504a:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
-    5050:	bf 00 01 00 00       	mov    $0x100,%edi
-    5055:	0f 43 f9             	cmovae %ecx,%edi
-    5058:	89 d0                	mov    %edx,%eax
-    505a:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
-    5061:	89 bd 5c fe ff ff    	mov    %edi,-0x1a4(%ebp)
-    5067:	75 0a                	jne    0x5073
-    5069:	81 ff 00 00 01 00    	cmp    $0x10000,%edi
-    506f:	76 77                	jbe    0x50e8
-    5071:	31 c0                	xor    %eax,%eax
-    5073:	8b bd 5c fe ff ff    	mov    -0x1a4(%ebp),%edi
-    5079:	89 95 ec fd ff ff    	mov    %edx,-0x214(%ebp)
-    507f:	89 8d e8 fd ff ff    	mov    %ecx,-0x218(%ebp)
-    5085:	89 04 24             	mov    %eax,(%esp)
-    5088:	89 7c 24 04          	mov    %edi,0x4(%esp)
-    508c:	e8 fc ff ff ff       	call   0x508d
-    5091:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
-    5097:	8b 8d e8 fd ff ff    	mov    -0x218(%ebp),%ecx
-    509d:	85 c0                	test   %eax,%eax
-    509f:	89 c7                	mov    %eax,%edi
-    50a1:	0f 84 a6 00 00 00    	je     0x514d
-    50a7:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
-    50ae:	8b 85 5c fe ff ff    	mov    -0x1a4(%ebp),%eax
-    50b4:	0f 85 48 d4 ff ff    	jne    0x2502
-    50ba:	89 8d e8 fd ff ff    	mov    %ecx,-0x218(%ebp)
-    50c0:	89 5c 24 08          	mov    %ebx,0x8(%esp)
-    50c4:	89 54 24 04          	mov    %edx,0x4(%esp)
-    50c8:	89 3c 24             	mov    %edi,(%esp)
-    50cb:	e8 fc ff ff ff       	call   0x50cc
-    50d0:	8b 85 5c fe ff ff    	mov    -0x1a4(%ebp),%eax
-    50d6:	c6 85 2b fe ff ff 01 	movb   $0x1,-0x1d5(%ebp)
-    50dd:	8b 8d e8 fd ff ff    	mov    -0x218(%ebp),%ecx
-    50e3:	e9 1a d4 ff ff       	jmp    0x2502
-    50e8:	8b 85 5c fe ff ff    	mov    -0x1a4(%ebp),%eax
-    50ee:	8b bd 5c fe ff ff    	mov    -0x1a4(%ebp),%edi
-    50f4:	83 c0 12             	add    $0x12,%eax
-    50f7:	83 e0 fc             	and    $0xfffffffc,%eax
-    50fa:	01 df                	add    %ebx,%edi
-    50fc:	29 c4                	sub    %eax,%esp
-    50fe:	8d 44 24 1f          	lea    0x1f(%esp),%eax
-    5102:	83 e0 f0             	and    $0xfffffff0,%eax
-    5105:	89 85 50 fe ff ff    	mov    %eax,-0x1b0(%ebp)
-    510b:	03 85 5c fe ff ff    	add    -0x1a4(%ebp),%eax
-    5111:	39 c2                	cmp    %eax,%edx
-    5113:	0f 45 bd 5c fe ff ff 	cmovne -0x1a4(%ebp),%edi
-    511a:	85 d2                	test   %edx,%edx
-    511c:	74 53                	je     0x5171
-    511e:	89 54 24 04          	mov    %edx,0x4(%esp)
-    5122:	8b 95 50 fe ff ff    	mov    -0x1b0(%ebp),%edx
-    5128:	89 8d e8 fd ff ff    	mov    %ecx,-0x218(%ebp)
-    512e:	89 5c 24 08          	mov    %ebx,0x8(%esp)
-    5132:	89 14 24             	mov    %edx,(%esp)
-    5135:	e8 fc ff ff ff       	call   0x5136
-    513a:	89 f8                	mov    %edi,%eax
-    513c:	8b 8d e8 fd ff ff    	mov    -0x218(%ebp),%ecx
-    5142:	8b bd 50 fe ff ff    	mov    -0x1b0(%ebp),%edi
-    5148:	e9 b5 d3 ff ff       	jmp    0x2502
-    514d:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
-    5154:	89 85 50 fe ff ff    	mov    %eax,-0x1b0(%ebp)
-    515a:	8b 9d 6c fe ff ff    	mov    -0x194(%ebp),%ebx
-    5160:	89 95 70 fe ff ff    	mov    %edx,-0x190(%ebp)
-    5166:	0f 84 13 ee ff ff    	je     0x3f7f
-    516c:	e9 6c f5 ff ff       	jmp    0x46dd
-    5171:	89 f8                	mov    %edi,%eax
-    5173:	8b bd 50 fe ff ff    	mov    -0x1b0(%ebp),%edi
-    5179:	e9 84 d3 ff ff       	jmp    0x2502
-    517e:	89 1c 24             	mov    %ebx,(%esp)
-    5181:	e8 fc ff ff ff       	call   0x5182
-    5186:	83 f8 ff             	cmp    $0xffffffff,%eax
-    5189:	89 85 68 fe ff ff    	mov    %eax,-0x198(%ebp)
-    518f:	0f 84 1b e1 ff ff    	je     0x32b0
-    5195:	e9 b1 d5 ff ff       	jmp    0x274b
-    519a:	89 1c 24             	mov    %ebx,(%esp)
-    519d:	e8 fc ff ff ff       	call   0x519e
-    51a2:	83 f8 ff             	cmp    $0xffffffff,%eax
-    51a5:	0f 85 25 cc ff ff    	jne    0x1dd0
-    51ab:	8b 15 00 00 00 00    	mov    0x0,%edx
-    51b1:	65 8b 3a             	mov    %gs:(%edx),%edi
-    51b4:	ba fe ff ff ff       	mov    $0xfffffffe,%edx
-    51b9:	e9 15 cc ff ff       	jmp    0x1dd3
-    51be:	89 8d e8 fd ff ff    	mov    %ecx,-0x218(%ebp)
-    51c4:	89 1c 24             	mov    %ebx,(%esp)
-    51c7:	e8 fc ff ff ff       	call   0x51c8
-    51cc:	8b 8d e8 fd ff ff    	mov    -0x218(%ebp),%ecx
-    51d2:	83 f8 ff             	cmp    $0xffffffff,%eax
-    51d5:	89 c6                	mov    %eax,%esi
-    51d7:	0f 85 f7 c9 ff ff    	jne    0x1bd4
-    51dd:	89 85 68 fe ff ff    	mov    %eax,-0x198(%ebp)
-    51e3:	a1 00 00 00 00       	mov    0x0,%eax
-    51e8:	89 ca                	mov    %ecx,%edx
-    51ea:	8b b5 6c fe ff ff    	mov    -0x194(%ebp),%esi
-    51f0:	89 8d 58 fe ff ff    	mov    %ecx,-0x1a8(%ebp)
-    51f6:	65 8b 00             	mov    %gs:(%eax),%eax
-    51f9:	89 85 3c fe ff ff    	mov    %eax,-0x1c4(%ebp)
-    51ff:	8b 85 64 fe ff ff    	mov    -0x19c(%ebp),%eax
-    5205:	89 85 18 fe ff ff    	mov    %eax,-0x1e8(%ebp)
-    520b:	e9 f2 de ff ff       	jmp    0x3102
-    5210:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
-    5216:	bf 00 01 00 00       	mov    $0x100,%edi
-    521b:	0f 43 f9             	cmovae %ecx,%edi
-    521e:	89 d0                	mov    %edx,%eax
-    5220:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
-    5227:	89 bd 64 fe ff ff    	mov    %edi,-0x19c(%ebp)
-    522d:	75 0a                	jne    0x5239
-    522f:	81 ff 00 00 01 00    	cmp    $0x10000,%edi
-    5235:	76 77                	jbe    0x52ae
-    5237:	31 c0                	xor    %eax,%eax
-    5239:	8b bd 64 fe ff ff    	mov    -0x19c(%ebp),%edi
-    523f:	89 95 ec fd ff ff    	mov    %edx,-0x214(%ebp)
-    5245:	89 8d e8 fd ff ff    	mov    %ecx,-0x218(%ebp)
-    524b:	89 04 24             	mov    %eax,(%esp)
-    524e:	89 7c 24 04          	mov    %edi,0x4(%esp)
-    5252:	e8 fc ff ff ff       	call   0x5253
-    5257:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
-    525d:	8b 8d e8 fd ff ff    	mov    -0x218(%ebp),%ecx
-    5263:	85 c0                	test   %eax,%eax
-    5265:	89 c7                	mov    %eax,%edi
-    5267:	0f 84 a6 00 00 00    	je     0x5313
-    526d:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
-    5274:	8b 85 64 fe ff ff    	mov    -0x19c(%ebp),%eax
-    527a:	0f 85 02 bf ff ff    	jne    0x1182
-    5280:	89 8d e8 fd ff ff    	mov    %ecx,-0x218(%ebp)
-    5286:	89 5c 24 08          	mov    %ebx,0x8(%esp)
-    528a:	89 54 24 04          	mov    %edx,0x4(%esp)
-    528e:	89 3c 24             	mov    %edi,(%esp)
-    5291:	e8 fc ff ff ff       	call   0x5292
-    5296:	8b 85 64 fe ff ff    	mov    -0x19c(%ebp),%eax
-    529c:	c6 85 2b fe ff ff 01 	movb   $0x1,-0x1d5(%ebp)
-    52a3:	8b 8d e8 fd ff ff    	mov    -0x218(%ebp),%ecx
-    52a9:	e9 d4 be ff ff       	jmp    0x1182
-    52ae:	8b 85 64 fe ff ff    	mov    -0x19c(%ebp),%eax
-    52b4:	8b bd 64 fe ff ff    	mov    -0x19c(%ebp),%edi
-    52ba:	83 c0 12             	add    $0x12,%eax
-    52bd:	83 e0 fc             	and    $0xfffffffc,%eax
-    52c0:	01 df                	add    %ebx,%edi
-    52c2:	29 c4                	sub    %eax,%esp
-    52c4:	8d 44 24 1f          	lea    0x1f(%esp),%eax
-    52c8:	83 e0 f0             	and    $0xfffffff0,%eax
-    52cb:	89 85 5c fe ff ff    	mov    %eax,-0x1a4(%ebp)
-    52d1:	03 85 64 fe ff ff    	add    -0x19c(%ebp),%eax
-    52d7:	39 c2                	cmp    %eax,%edx
-    52d9:	0f 45 bd 64 fe ff ff 	cmovne -0x19c(%ebp),%edi
-    52e0:	85 d2                	test   %edx,%edx
-    52e2:	74 67                	je     0x534b
-    52e4:	89 54 24 04          	mov    %edx,0x4(%esp)
-    52e8:	8b 95 5c fe ff ff    	mov    -0x1a4(%ebp),%edx
-    52ee:	89 8d e8 fd ff ff    	mov    %ecx,-0x218(%ebp)
-    52f4:	89 5c 24 08          	mov    %ebx,0x8(%esp)
-    52f8:	89 14 24             	mov    %edx,(%esp)
-    52fb:	e8 fc ff ff ff       	call   0x52fc
-    5300:	89 f8                	mov    %edi,%eax
-    5302:	8b 8d e8 fd ff ff    	mov    -0x218(%ebp),%ecx
-    5308:	8b bd 5c fe ff ff    	mov    -0x1a4(%ebp),%edi
-    530e:	e9 6f be ff ff       	jmp    0x1182
-    5313:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
-    531a:	89 85 50 fe ff ff    	mov    %eax,-0x1b0(%ebp)
-    5320:	8b 9d 6c fe ff ff    	mov    -0x194(%ebp),%ebx
-    5326:	89 95 70 fe ff ff    	mov    %edx,-0x190(%ebp)
-    532c:	0f 84 4d ec ff ff    	je     0x3f7f
-    5332:	89 14 24             	mov    %edx,(%esp)
-    5335:	31 f6                	xor    %esi,%esi
-    5337:	e8 fc ff ff ff       	call   0x5338
-    533c:	c7 85 34 fe ff ff ff 	movl   $0xffffffff,-0x1cc(%ebp)
-    5343:	ff ff ff 
-    5346:	e9 0c b1 ff ff       	jmp    0x457
-    534b:	89 f8                	mov    %edi,%eax
-    534d:	8b bd 5c fe ff ff    	mov    -0x1a4(%ebp),%edi
-    5353:	e9 2a be ff ff       	jmp    0x1182
-    5358:	89 1c 24             	mov    %ebx,(%esp)
-    535b:	e8 fc ff ff ff       	call   0x535c
-    5360:	83 f8 ff             	cmp    $0xffffffff,%eax
-    5363:	89 85 68 fe ff ff    	mov    %eax,-0x198(%ebp)
-    5369:	0f 85 36 b5 ff ff    	jne    0x8a5
-    536f:	a1 00 00 00 00       	mov    0x0,%eax
-    5374:	65 8b 00             	mov    %gs:(%eax),%eax
-    5377:	89 85 3c fe ff ff    	mov    %eax,-0x1c4(%ebp)
-    537d:	e9 2a b5 ff ff       	jmp    0x8ac
-    5382:	8d 0c 1b             	lea    (%ebx,%ebx,1),%ecx
-    5385:	ba 00 01 00 00       	mov    $0x100,%edx
-    538a:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
-    5390:	89 f8                	mov    %edi,%eax
-    5392:	0f 42 ca             	cmovb  %edx,%ecx
-    5395:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
-    539c:	75 0a                	jne    0x53a8
-    539e:	81 f9 00 00 01 00    	cmp    $0x10000,%ecx
-    53a4:	76 34                	jbe    0x53da
-    53a6:	31 c0                	xor    %eax,%eax
-    53a8:	89 4c 24 04          	mov    %ecx,0x4(%esp)
-    53ac:	89 8d e8 fd ff ff    	mov    %ecx,-0x218(%ebp)
-    53b2:	89 04 24             	mov    %eax,(%esp)
-    53b5:	e8 fc ff ff ff       	call   0x53b6
-    53ba:	8b 8d e8 fd ff ff    	mov    -0x218(%ebp),%ecx
-    53c0:	85 c0                	test   %eax,%eax
-    53c2:	89 c6                	mov    %eax,%esi
-    53c4:	0f 84 5f f9 ff ff    	je     0x4d29
-    53ca:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
-    53d1:	74 4a                	je     0x541d
-    53d3:	89 c7                	mov    %eax,%edi
-    53d5:	e9 c2 d2 ff ff       	jmp    0x269c
-    53da:	8d 41 12             	lea    0x12(%ecx),%eax
-    53dd:	83 e0 fc             	and    $0xfffffffc,%eax
-    53e0:	29 c4                	sub    %eax,%esp
-    53e2:	8d 54 24 1f          	lea    0x1f(%esp),%edx
-    53e6:	83 e2 f0             	and    $0xfffffff0,%edx
-    53e9:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
-    53ec:	39 c7                	cmp    %eax,%edi
-    53ee:	8d 34 0b             	lea    (%ebx,%ecx,1),%esi
-    53f1:	0f 45 f1             	cmovne %ecx,%esi
-    53f4:	85 ff                	test   %edi,%edi
-    53f6:	74 4f                	je     0x5447
-    53f8:	89 7c 24 04          	mov    %edi,0x4(%esp)
-    53fc:	89 14 24             	mov    %edx,(%esp)
-    53ff:	89 95 ec fd ff ff    	mov    %edx,-0x214(%ebp)
-    5405:	89 5c 24 08          	mov    %ebx,0x8(%esp)
-    5409:	e8 fc ff ff ff       	call   0x540a
-    540e:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
-    5414:	89 f1                	mov    %esi,%ecx
-    5416:	89 d7                	mov    %edx,%edi
-    5418:	e9 7f d2 ff ff       	jmp    0x269c
-    541d:	89 7c 24 04          	mov    %edi,0x4(%esp)
-    5421:	89 f7                	mov    %esi,%edi
-    5423:	89 8d e8 fd ff ff    	mov    %ecx,-0x218(%ebp)
-    5429:	89 5c 24 08          	mov    %ebx,0x8(%esp)
-    542d:	89 04 24             	mov    %eax,(%esp)
-    5430:	e8 fc ff ff ff       	call   0x5431
-    5435:	8b 8d e8 fd ff ff    	mov    -0x218(%ebp),%ecx
-    543b:	c6 85 2b fe ff ff 01 	movb   $0x1,-0x1d5(%ebp)
-    5442:	e9 55 d2 ff ff       	jmp    0x269c
-    5447:	89 f1                	mov    %esi,%ecx
-    5449:	89 d7                	mov    %edx,%edi
-    544b:	e9 4c d2 ff ff       	jmp    0x269c
-    5450:	89 1c 24             	mov    %ebx,(%esp)
-    5453:	e8 fc ff ff ff       	call   0x5454
-    5458:	83 f8 ff             	cmp    $0xffffffff,%eax
-    545b:	89 85 68 fe ff ff    	mov    %eax,-0x198(%ebp)
-    5461:	0f 85 43 c4 ff ff    	jne    0x18aa
-    5467:	a1 00 00 00 00       	mov    0x0,%eax
-    546c:	65 8b 00             	mov    %gs:(%eax),%eax
-    546f:	89 85 3c fe ff ff    	mov    %eax,-0x1c4(%ebp)
-    5475:	b8 fc 03 00 00       	mov    $0x3fc,%eax
-    547a:	e9 3c c4 ff ff       	jmp    0x18bb
+    4ead:	89 4c 24 04          	mov    %ecx,0x4(%esp)
+    4eb1:	e8 fc ff ff ff       	call   0x4eb2
+    4eb6:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
+    4ebc:	89 b5 5c fe ff ff    	mov    %esi,-0x1a4(%ebp)
+    4ec2:	89 95 50 fe ff ff    	mov    %edx,-0x1b0(%ebp)
+    4ec8:	e9 0c bb ff ff       	jmp    0x9d9
+    4ecd:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
+    4ed4:	0f 84 93 f0 ff ff    	je     0x3f6d
+    4eda:	8b bd 70 fe ff ff    	mov    -0x190(%ebp),%edi
+    4ee0:	31 f6                	xor    %esi,%esi
+    4ee2:	89 3c 24             	mov    %edi,(%esp)
+    4ee5:	e8 fc ff ff ff       	call   0x4ee6
+    4eea:	c7 85 34 fe ff ff ff 	movl   $0xffffffff,-0x1cc(%ebp)
+    4ef1:	ff ff ff 
+    4ef4:	e9 5e b5 ff ff       	jmp    0x457
+    4ef9:	89 b5 5c fe ff ff    	mov    %esi,-0x1a4(%ebp)
+    4eff:	89 95 50 fe ff ff    	mov    %edx,-0x1b0(%ebp)
+    4f05:	e9 cf ba ff ff       	jmp    0x9d9
+    4f0a:	89 5c 24 04          	mov    %ebx,0x4(%esp)
+    4f0e:	89 74 24 08          	mov    %esi,0x8(%esp)
+    4f12:	89 04 24             	mov    %eax,(%esp)
+    4f15:	89 85 ec fd ff ff    	mov    %eax,-0x214(%ebp)
+    4f1b:	e8 fc ff ff ff       	call   0x4f1c
+    4f20:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
+    4f26:	c6 85 2b fe ff ff 01 	movb   $0x1,-0x1d5(%ebp)
+    4f2d:	89 d3                	mov    %edx,%ebx
+    4f2f:	e9 9c f5 ff ff       	jmp    0x44d0
+    4f34:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
+    4f3b:	89 9d 70 fe ff ff    	mov    %ebx,-0x190(%ebp)
+    4f41:	8b 9d 6c fe ff ff    	mov    -0x194(%ebp),%ebx
+    4f47:	89 95 50 fe ff ff    	mov    %edx,-0x1b0(%ebp)
+    4f4d:	0f 84 1a f0 ff ff    	je     0x3f6d
+    4f53:	8b b5 70 fe ff ff    	mov    -0x190(%ebp),%esi
+    4f59:	89 34 24             	mov    %esi,(%esp)
+    4f5c:	31 f6                	xor    %esi,%esi
+    4f5e:	e8 fc ff ff ff       	call   0x4f5f
+    4f63:	c7 85 34 fe ff ff ff 	movl   $0xffffffff,-0x1cc(%ebp)
+    4f6a:	ff ff ff 
+    4f6d:	e9 e5 b4 ff ff       	jmp    0x457
+    4f72:	89 5c 24 04          	mov    %ebx,0x4(%esp)
+    4f76:	89 74 24 08          	mov    %esi,0x8(%esp)
+    4f7a:	89 04 24             	mov    %eax,(%esp)
+    4f7d:	89 85 ec fd ff ff    	mov    %eax,-0x214(%ebp)
+    4f83:	e8 fc ff ff ff       	call   0x4f84
+    4f88:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
+    4f8e:	c6 85 2b fe ff ff 01 	movb   $0x1,-0x1d5(%ebp)
+    4f95:	89 d3                	mov    %edx,%ebx
+    4f97:	e9 96 f8 ff ff       	jmp    0x4832
+    4f9c:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
+    4fa3:	89 9d 70 fe ff ff    	mov    %ebx,-0x190(%ebp)
+    4fa9:	8b 9d 6c fe ff ff    	mov    -0x194(%ebp),%ebx
+    4faf:	89 85 50 fe ff ff    	mov    %eax,-0x1b0(%ebp)
+    4fb5:	0f 84 b2 ef ff ff    	je     0x3f6d
+    4fbb:	8b 8d 70 fe ff ff    	mov    -0x190(%ebp),%ecx
+    4fc1:	89 0c 24             	mov    %ecx,(%esp)
+    4fc4:	e8 fc ff ff ff       	call   0x4fc5
+    4fc9:	e9 9f ef ff ff       	jmp    0x3f6d
+    4fce:	8b 8d 30 fe ff ff    	mov    -0x1d0(%ebp),%ecx
+    4fd4:	8b b5 1c fe ff ff    	mov    -0x1e4(%ebp),%esi
+    4fda:	8b 44 8e fc          	mov    -0x4(%esi,%ecx,4),%eax
+    4fde:	e9 e0 e4 ff ff       	jmp    0x34c3
+    4fe3:	89 bd 5c fe ff ff    	mov    %edi,-0x1a4(%ebp)
+    4fe9:	8b bd 50 fe ff ff    	mov    -0x1b0(%ebp),%edi
+    4fef:	e9 9a c5 ff ff       	jmp    0x158e
+    4ff4:	89 1c 24             	mov    %ebx,(%esp)
+    4ff7:	e8 fc ff ff ff       	call   0x4ff8
+    4ffc:	83 f8 ff             	cmp    $0xffffffff,%eax
+    4fff:	89 c2                	mov    %eax,%edx
+    5001:	0f 85 29 d9 ff ff    	jne    0x2930
+    5007:	89 85 68 fe ff ff    	mov    %eax,-0x198(%ebp)
+    500d:	a1 00 00 00 00       	mov    0x0,%eax
+    5012:	65 8b 00             	mov    %gs:(%eax),%eax
+    5015:	89 85 3c fe ff ff    	mov    %eax,-0x1c4(%ebp)
+    501b:	e9 49 d9 ff ff       	jmp    0x2969
+    5020:	8b bd 30 fe ff ff    	mov    -0x1d0(%ebp),%edi
+    5026:	8b 95 1c fe ff ff    	mov    -0x1e4(%ebp),%edx
+    502c:	8b 44 ba fc          	mov    -0x4(%edx,%edi,4),%eax
+    5030:	e9 98 ec ff ff       	jmp    0x3ccd
+    5035:	0f b6 85 68 fe ff ff 	movzbl -0x198(%ebp),%eax
+    503c:	e9 ae cb ff ff       	jmp    0x1bef
+    5041:	89 1c 24             	mov    %ebx,(%esp)
+    5044:	e8 fc ff ff ff       	call   0x5045
+    5049:	83 f8 ff             	cmp    $0xffffffff,%eax
+    504c:	89 85 68 fe ff ff    	mov    %eax,-0x198(%ebp)
+    5052:	0f 84 50 b5 ff ff    	je     0x5a8
+    5058:	e9 8a c1 ff ff       	jmp    0x11e7
+    505d:	89 1c 24             	mov    %ebx,(%esp)
+    5060:	e8 fc ff ff ff       	call   0x5061
+    5065:	83 f8 ff             	cmp    $0xffffffff,%eax
+    5068:	89 85 68 fe ff ff    	mov    %eax,-0x198(%ebp)
+    506e:	0f 84 34 b5 ff ff    	je     0x5a8
+    5074:	e9 d1 ce ff ff       	jmp    0x1f4a
+    5079:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
+    507f:	bf 00 01 00 00       	mov    $0x100,%edi
+    5084:	0f 43 f9             	cmovae %ecx,%edi
+    5087:	89 d0                	mov    %edx,%eax
+    5089:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
+    5090:	89 bd 5c fe ff ff    	mov    %edi,-0x1a4(%ebp)
+    5096:	75 0a                	jne    0x50a2
+    5098:	81 ff 00 00 01 00    	cmp    $0x10000,%edi
+    509e:	76 77                	jbe    0x5117
+    50a0:	31 c0                	xor    %eax,%eax
+    50a2:	8b bd 5c fe ff ff    	mov    -0x1a4(%ebp),%edi
+    50a8:	89 95 ec fd ff ff    	mov    %edx,-0x214(%ebp)
+    50ae:	89 8d e8 fd ff ff    	mov    %ecx,-0x218(%ebp)
+    50b4:	89 04 24             	mov    %eax,(%esp)
+    50b7:	89 7c 24 04          	mov    %edi,0x4(%esp)
+    50bb:	e8 fc ff ff ff       	call   0x50bc
+    50c0:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
+    50c6:	8b 8d e8 fd ff ff    	mov    -0x218(%ebp),%ecx
+    50cc:	85 c0                	test   %eax,%eax
+    50ce:	89 c7                	mov    %eax,%edi
+    50d0:	0f 84 a6 00 00 00    	je     0x517c
+    50d6:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
+    50dd:	8b 85 5c fe ff ff    	mov    -0x1a4(%ebp),%eax
+    50e3:	0f 85 19 d4 ff ff    	jne    0x2502
+    50e9:	89 8d e8 fd ff ff    	mov    %ecx,-0x218(%ebp)
+    50ef:	89 5c 24 08          	mov    %ebx,0x8(%esp)
+    50f3:	89 54 24 04          	mov    %edx,0x4(%esp)
+    50f7:	89 3c 24             	mov    %edi,(%esp)
+    50fa:	e8 fc ff ff ff       	call   0x50fb
+    50ff:	8b 85 5c fe ff ff    	mov    -0x1a4(%ebp),%eax
+    5105:	c6 85 2b fe ff ff 01 	movb   $0x1,-0x1d5(%ebp)
+    510c:	8b 8d e8 fd ff ff    	mov    -0x218(%ebp),%ecx
+    5112:	e9 eb d3 ff ff       	jmp    0x2502
+    5117:	8b 85 5c fe ff ff    	mov    -0x1a4(%ebp),%eax
+    511d:	8b bd 5c fe ff ff    	mov    -0x1a4(%ebp),%edi
+    5123:	83 c0 12             	add    $0x12,%eax
+    5126:	83 e0 fc             	and    $0xfffffffc,%eax
+    5129:	01 df                	add    %ebx,%edi
+    512b:	29 c4                	sub    %eax,%esp
+    512d:	8d 44 24 1f          	lea    0x1f(%esp),%eax
+    5131:	83 e0 f0             	and    $0xfffffff0,%eax
+    5134:	89 85 50 fe ff ff    	mov    %eax,-0x1b0(%ebp)
+    513a:	03 85 5c fe ff ff    	add    -0x1a4(%ebp),%eax
+    5140:	39 c2                	cmp    %eax,%edx
+    5142:	0f 45 bd 5c fe ff ff 	cmovne -0x1a4(%ebp),%edi
+    5149:	85 d2                	test   %edx,%edx
+    514b:	74 53                	je     0x51a0
+    514d:	89 54 24 04          	mov    %edx,0x4(%esp)
+    5151:	8b 95 50 fe ff ff    	mov    -0x1b0(%ebp),%edx
+    5157:	89 8d e8 fd ff ff    	mov    %ecx,-0x218(%ebp)
+    515d:	89 5c 24 08          	mov    %ebx,0x8(%esp)
+    5161:	89 14 24             	mov    %edx,(%esp)
+    5164:	e8 fc ff ff ff       	call   0x5165
+    5169:	89 f8                	mov    %edi,%eax
+    516b:	8b 8d e8 fd ff ff    	mov    -0x218(%ebp),%ecx
+    5171:	8b bd 50 fe ff ff    	mov    -0x1b0(%ebp),%edi
+    5177:	e9 86 d3 ff ff       	jmp    0x2502
+    517c:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
+    5183:	89 85 50 fe ff ff    	mov    %eax,-0x1b0(%ebp)
+    5189:	8b 9d 6c fe ff ff    	mov    -0x194(%ebp),%ebx
+    518f:	89 95 70 fe ff ff    	mov    %edx,-0x190(%ebp)
+    5195:	0f 84 d2 ed ff ff    	je     0x3f6d
+    519b:	e9 3d fb ff ff       	jmp    0x4cdd
+    51a0:	89 f8                	mov    %edi,%eax
+    51a2:	8b bd 50 fe ff ff    	mov    -0x1b0(%ebp),%edi
+    51a8:	e9 55 d3 ff ff       	jmp    0x2502
+    51ad:	89 1c 24             	mov    %ebx,(%esp)
+    51b0:	e8 fc ff ff ff       	call   0x51b1
+    51b5:	83 f8 ff             	cmp    $0xffffffff,%eax
+    51b8:	89 85 68 fe ff ff    	mov    %eax,-0x198(%ebp)
+    51be:	0f 84 ec e0 ff ff    	je     0x32b0
+    51c4:	e9 82 d5 ff ff       	jmp    0x274b
+    51c9:	89 1c 24             	mov    %ebx,(%esp)
+    51cc:	e8 fc ff ff ff       	call   0x51cd
+    51d1:	83 f8 ff             	cmp    $0xffffffff,%eax
+    51d4:	0f 85 f6 cb ff ff    	jne    0x1dd0
+    51da:	8b 15 00 00 00 00    	mov    0x0,%edx
+    51e0:	65 8b 3a             	mov    %gs:(%edx),%edi
+    51e3:	ba fe ff ff ff       	mov    $0xfffffffe,%edx
+    51e8:	e9 e6 cb ff ff       	jmp    0x1dd3
+    51ed:	89 8d e8 fd ff ff    	mov    %ecx,-0x218(%ebp)
+    51f3:	89 1c 24             	mov    %ebx,(%esp)
+    51f6:	e8 fc ff ff ff       	call   0x51f7
+    51fb:	8b 8d e8 fd ff ff    	mov    -0x218(%ebp),%ecx
+    5201:	83 f8 ff             	cmp    $0xffffffff,%eax
+    5204:	89 c6                	mov    %eax,%esi
+    5206:	0f 85 c8 c9 ff ff    	jne    0x1bd4
+    520c:	89 85 68 fe ff ff    	mov    %eax,-0x198(%ebp)
+    5212:	a1 00 00 00 00       	mov    0x0,%eax
+    5217:	89 ca                	mov    %ecx,%edx
+    5219:	8b b5 6c fe ff ff    	mov    -0x194(%ebp),%esi
+    521f:	89 8d 58 fe ff ff    	mov    %ecx,-0x1a8(%ebp)
+    5225:	65 8b 00             	mov    %gs:(%eax),%eax
+    5228:	89 85 3c fe ff ff    	mov    %eax,-0x1c4(%ebp)
+    522e:	8b 85 64 fe ff ff    	mov    -0x19c(%ebp),%eax
+    5234:	89 85 18 fe ff ff    	mov    %eax,-0x1e8(%ebp)
+    523a:	e9 c3 de ff ff       	jmp    0x3102
+    523f:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
+    5245:	bf 00 01 00 00       	mov    $0x100,%edi
+    524a:	0f 43 f9             	cmovae %ecx,%edi
+    524d:	89 d0                	mov    %edx,%eax
+    524f:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
+    5256:	89 bd 64 fe ff ff    	mov    %edi,-0x19c(%ebp)
+    525c:	75 0a                	jne    0x5268
+    525e:	81 ff 00 00 01 00    	cmp    $0x10000,%edi
+    5264:	76 77                	jbe    0x52dd
+    5266:	31 c0                	xor    %eax,%eax
+    5268:	8b bd 64 fe ff ff    	mov    -0x19c(%ebp),%edi
+    526e:	89 95 ec fd ff ff    	mov    %edx,-0x214(%ebp)
+    5274:	89 8d e8 fd ff ff    	mov    %ecx,-0x218(%ebp)
+    527a:	89 04 24             	mov    %eax,(%esp)
+    527d:	89 7c 24 04          	mov    %edi,0x4(%esp)
+    5281:	e8 fc ff ff ff       	call   0x5282
+    5286:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
+    528c:	8b 8d e8 fd ff ff    	mov    -0x218(%ebp),%ecx
+    5292:	85 c0                	test   %eax,%eax
+    5294:	89 c7                	mov    %eax,%edi
+    5296:	0f 84 a6 00 00 00    	je     0x5342
+    529c:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
+    52a3:	8b 85 64 fe ff ff    	mov    -0x19c(%ebp),%eax
+    52a9:	0f 85 d3 be ff ff    	jne    0x1182
+    52af:	89 8d e8 fd ff ff    	mov    %ecx,-0x218(%ebp)
+    52b5:	89 5c 24 08          	mov    %ebx,0x8(%esp)
+    52b9:	89 54 24 04          	mov    %edx,0x4(%esp)
+    52bd:	89 3c 24             	mov    %edi,(%esp)
+    52c0:	e8 fc ff ff ff       	call   0x52c1
+    52c5:	8b 85 64 fe ff ff    	mov    -0x19c(%ebp),%eax
+    52cb:	c6 85 2b fe ff ff 01 	movb   $0x1,-0x1d5(%ebp)
+    52d2:	8b 8d e8 fd ff ff    	mov    -0x218(%ebp),%ecx
+    52d8:	e9 a5 be ff ff       	jmp    0x1182
+    52dd:	8b 85 64 fe ff ff    	mov    -0x19c(%ebp),%eax
+    52e3:	8b bd 64 fe ff ff    	mov    -0x19c(%ebp),%edi
+    52e9:	83 c0 12             	add    $0x12,%eax
+    52ec:	83 e0 fc             	and    $0xfffffffc,%eax
+    52ef:	01 df                	add    %ebx,%edi
+    52f1:	29 c4                	sub    %eax,%esp
+    52f3:	8d 44 24 1f          	lea    0x1f(%esp),%eax
+    52f7:	83 e0 f0             	and    $0xfffffff0,%eax
+    52fa:	89 85 5c fe ff ff    	mov    %eax,-0x1a4(%ebp)
+    5300:	03 85 64 fe ff ff    	add    -0x19c(%ebp),%eax
+    5306:	39 c2                	cmp    %eax,%edx
+    5308:	0f 45 bd 64 fe ff ff 	cmovne -0x19c(%ebp),%edi
+    530f:	85 d2                	test   %edx,%edx
+    5311:	74 67                	je     0x537a
+    5313:	89 54 24 04          	mov    %edx,0x4(%esp)
+    5317:	8b 95 5c fe ff ff    	mov    -0x1a4(%ebp),%edx
+    531d:	89 8d e8 fd ff ff    	mov    %ecx,-0x218(%ebp)
+    5323:	89 5c 24 08          	mov    %ebx,0x8(%esp)
+    5327:	89 14 24             	mov    %edx,(%esp)
+    532a:	e8 fc ff ff ff       	call   0x532b
+    532f:	89 f8                	mov    %edi,%eax
+    5331:	8b 8d e8 fd ff ff    	mov    -0x218(%ebp),%ecx
+    5337:	8b bd 5c fe ff ff    	mov    -0x1a4(%ebp),%edi
+    533d:	e9 40 be ff ff       	jmp    0x1182
+    5342:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
+    5349:	89 85 50 fe ff ff    	mov    %eax,-0x1b0(%ebp)
+    534f:	8b 9d 6c fe ff ff    	mov    -0x194(%ebp),%ebx
+    5355:	89 95 70 fe ff ff    	mov    %edx,-0x190(%ebp)
+    535b:	0f 84 0c ec ff ff    	je     0x3f6d
+    5361:	89 14 24             	mov    %edx,(%esp)
+    5364:	31 f6                	xor    %esi,%esi
+    5366:	e8 fc ff ff ff       	call   0x5367
+    536b:	c7 85 34 fe ff ff ff 	movl   $0xffffffff,-0x1cc(%ebp)
+    5372:	ff ff ff 
+    5375:	e9 dd b0 ff ff       	jmp    0x457
+    537a:	89 f8                	mov    %edi,%eax
+    537c:	8b bd 5c fe ff ff    	mov    -0x1a4(%ebp),%edi
+    5382:	e9 fb bd ff ff       	jmp    0x1182
+    5387:	89 1c 24             	mov    %ebx,(%esp)
+    538a:	e8 fc ff ff ff       	call   0x538b
+    538f:	83 f8 ff             	cmp    $0xffffffff,%eax
+    5392:	89 85 68 fe ff ff    	mov    %eax,-0x198(%ebp)
+    5398:	0f 85 07 b5 ff ff    	jne    0x8a5
+    539e:	a1 00 00 00 00       	mov    0x0,%eax
+    53a3:	65 8b 00             	mov    %gs:(%eax),%eax
+    53a6:	89 85 3c fe ff ff    	mov    %eax,-0x1c4(%ebp)
+    53ac:	e9 fb b4 ff ff       	jmp    0x8ac
+    53b1:	8d 0c 1b             	lea    (%ebx,%ebx,1),%ecx
+    53b4:	ba 00 01 00 00       	mov    $0x100,%edx
+    53b9:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
+    53bf:	89 f8                	mov    %edi,%eax
+    53c1:	0f 42 ca             	cmovb  %edx,%ecx
+    53c4:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
+    53cb:	75 0a                	jne    0x53d7
+    53cd:	81 f9 00 00 01 00    	cmp    $0x10000,%ecx
+    53d3:	76 34                	jbe    0x5409
+    53d5:	31 c0                	xor    %eax,%eax
+    53d7:	89 4c 24 04          	mov    %ecx,0x4(%esp)
+    53db:	89 8d e8 fd ff ff    	mov    %ecx,-0x218(%ebp)
+    53e1:	89 04 24             	mov    %eax,(%esp)
+    53e4:	e8 fc ff ff ff       	call   0x53e5
+    53e9:	8b 8d e8 fd ff ff    	mov    -0x218(%ebp),%ecx
+    53ef:	85 c0                	test   %eax,%eax
+    53f1:	89 c6                	mov    %eax,%esi
+    53f3:	0f 84 95 f3 ff ff    	je     0x478e
+    53f9:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
+    5400:	74 4a                	je     0x544c
+    5402:	89 c7                	mov    %eax,%edi
+    5404:	e9 93 d2 ff ff       	jmp    0x269c
+    5409:	8d 41 12             	lea    0x12(%ecx),%eax
+    540c:	83 e0 fc             	and    $0xfffffffc,%eax
+    540f:	29 c4                	sub    %eax,%esp
+    5411:	8d 54 24 1f          	lea    0x1f(%esp),%edx
+    5415:	83 e2 f0             	and    $0xfffffff0,%edx
+    5418:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
+    541b:	39 c7                	cmp    %eax,%edi
+    541d:	8d 34 0b             	lea    (%ebx,%ecx,1),%esi
+    5420:	0f 45 f1             	cmovne %ecx,%esi
+    5423:	85 ff                	test   %edi,%edi
+    5425:	74 4f                	je     0x5476
+    5427:	89 7c 24 04          	mov    %edi,0x4(%esp)
+    542b:	89 14 24             	mov    %edx,(%esp)
+    542e:	89 95 ec fd ff ff    	mov    %edx,-0x214(%ebp)
+    5434:	89 5c 24 08          	mov    %ebx,0x8(%esp)
+    5438:	e8 fc ff ff ff       	call   0x5439
+    543d:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
+    5443:	89 f1                	mov    %esi,%ecx
+    5445:	89 d7                	mov    %edx,%edi
+    5447:	e9 50 d2 ff ff       	jmp    0x269c
+    544c:	89 7c 24 04          	mov    %edi,0x4(%esp)
+    5450:	89 f7                	mov    %esi,%edi
+    5452:	89 8d e8 fd ff ff    	mov    %ecx,-0x218(%ebp)
+    5458:	89 5c 24 08          	mov    %ebx,0x8(%esp)
+    545c:	89 04 24             	mov    %eax,(%esp)
+    545f:	e8 fc ff ff ff       	call   0x5460
+    5464:	8b 8d e8 fd ff ff    	mov    -0x218(%ebp),%ecx
+    546a:	c6 85 2b fe ff ff 01 	movb   $0x1,-0x1d5(%ebp)
+    5471:	e9 26 d2 ff ff       	jmp    0x269c
+    5476:	89 f1                	mov    %esi,%ecx
+    5478:	89 d7                	mov    %edx,%edi
+    547a:	e9 1d d2 ff ff       	jmp    0x269c
     547f:	89 1c 24             	mov    %ebx,(%esp)
     5482:	e8 fc ff ff ff       	call   0x5483
     5487:	83 f8 ff             	cmp    $0xffffffff,%eax
     548a:	89 85 68 fe ff ff    	mov    %eax,-0x198(%ebp)
-    5490:	0f 85 c8 c3 ff ff    	jne    0x185e
+    5490:	0f 85 14 c4 ff ff    	jne    0x18aa
     5496:	a1 00 00 00 00       	mov    0x0,%eax
     549b:	65 8b 00             	mov    %gs:(%eax),%eax
     549e:	89 85 3c fe ff ff    	mov    %eax,-0x1c4(%ebp)
     54a4:	b8 fc 03 00 00       	mov    $0x3fc,%eax
-    54a9:	e9 c1 c3 ff ff       	jmp    0x186f
-    54ae:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
-    54b5:	89 85 50 fe ff ff    	mov    %eax,-0x1b0(%ebp)
-    54bb:	0f 84 be ea ff ff    	je     0x3f7f
-    54c1:	8b 85 70 fe ff ff    	mov    -0x190(%ebp),%eax
-    54c7:	31 f6                	xor    %esi,%esi
-    54c9:	89 04 24             	mov    %eax,(%esp)
-    54cc:	e8 fc ff ff ff       	call   0x54cd
-    54d1:	c7 85 34 fe ff ff ff 	movl   $0xffffffff,-0x1cc(%ebp)
-    54d8:	ff ff ff 
-    54db:	e9 77 af ff ff       	jmp    0x457
-    54e0:	31 c0                	xor    %eax,%eax
-    54e2:	83 bd 60 fe ff ff 00 	cmpl   $0x0,-0x1a0(%ebp)
-    54e9:	0f 9f c0             	setg   %al
-    54ec:	29 85 60 fe ff ff    	sub    %eax,-0x1a0(%ebp)
-    54f2:	83 bd 5c fe ff ff 03 	cmpl   $0x3,-0x1a4(%ebp)
-    54f9:	0f 84 d8 04 00 00    	je     0x59d7
-    54ff:	0f b6 85 68 fe ff ff 	movzbl -0x198(%ebp),%eax
-    5506:	8b 95 70 fe ff ff    	mov    -0x190(%ebp),%edx
-    550c:	88 42 03             	mov    %al,0x3(%edx)
-    550f:	83 bd 60 fe ff ff 00 	cmpl   $0x0,-0x1a0(%ebp)
-    5516:	0f 84 2a af ff ff    	je     0x446
-    551c:	8b 43 04             	mov    0x4(%ebx),%eax
-    551f:	3b 43 08             	cmp    0x8(%ebx),%eax
-    5522:	0f 83 97 04 00 00    	jae    0x59bf
-    5528:	0f b6 30             	movzbl (%eax),%esi
-    552b:	83 c0 01             	add    $0x1,%eax
-    552e:	89 43 04             	mov    %eax,0x4(%ebx)
-    5531:	8b bd 40 fe ff ff    	mov    -0x1c0(%ebp),%edi
-    5537:	89 f1                	mov    %esi,%ecx
-    5539:	0f b6 d1             	movzbl %cl,%edx
-    553c:	8b 47 38             	mov    0x38(%edi),%eax
-    553f:	83 3c 90 6e          	cmpl   $0x6e,(%eax,%edx,4)
-    5543:	0f 85 fd ae ff ff    	jne    0x446
-    5549:	31 c0                	xor    %eax,%eax
-    554b:	83 bd 60 fe ff ff 00 	cmpl   $0x0,-0x1a0(%ebp)
-    5552:	0f 9f c0             	setg   %al
-    5555:	29 85 60 fe ff ff    	sub    %eax,-0x1a0(%ebp)
-    555b:	83 bd 5c fe ff ff 04 	cmpl   $0x4,-0x1a4(%ebp)
-    5562:	0f 84 10 04 00 00    	je     0x5978
-    5568:	8b 95 70 fe ff ff    	mov    -0x190(%ebp),%edx
-    556e:	89 f0                	mov    %esi,%eax
-    5570:	88 42 04             	mov    %al,0x4(%edx)
-    5573:	83 bd 60 fe ff ff 00 	cmpl   $0x0,-0x1a0(%ebp)
-    557a:	0f 84 c6 ae ff ff    	je     0x446
-    5580:	8b 43 04             	mov    0x4(%ebx),%eax
-    5583:	3b 43 08             	cmp    0x8(%ebx),%eax
-    5586:	0f 83 d4 03 00 00    	jae    0x5960
-    558c:	0f b6 30             	movzbl (%eax),%esi
-    558f:	83 c0 01             	add    $0x1,%eax
-    5592:	89 43 04             	mov    %eax,0x4(%ebx)
-    5595:	8b bd 40 fe ff ff    	mov    -0x1c0(%ebp),%edi
-    559b:	89 f1                	mov    %esi,%ecx
-    559d:	0f b6 d1             	movzbl %cl,%edx
-    55a0:	8b 47 38             	mov    0x38(%edi),%eax
-    55a3:	83 3c 90 69          	cmpl   $0x69,(%eax,%edx,4)
-    55a7:	0f 85 99 ae ff ff    	jne    0x446
-    55ad:	31 c0                	xor    %eax,%eax
-    55af:	83 bd 60 fe ff ff 00 	cmpl   $0x0,-0x1a0(%ebp)
-    55b6:	0f 9f c0             	setg   %al
-    55b9:	29 85 60 fe ff ff    	sub    %eax,-0x1a0(%ebp)
-    55bf:	83 bd 5c fe ff ff 05 	cmpl   $0x5,-0x1a4(%ebp)
-    55c6:	0f 84 99 02 00 00    	je     0x5865
-    55cc:	8b 95 70 fe ff ff    	mov    -0x190(%ebp),%edx
-    55d2:	89 f0                	mov    %esi,%eax
-    55d4:	88 42 05             	mov    %al,0x5(%edx)
-    55d7:	83 bd 60 fe ff ff 00 	cmpl   $0x0,-0x1a0(%ebp)
-    55de:	0f 84 62 ae ff ff    	je     0x446
-    55e4:	8b 43 04             	mov    0x4(%ebx),%eax
-    55e7:	3b 43 08             	cmp    0x8(%ebx),%eax
-    55ea:	0f 83 5d 02 00 00    	jae    0x584d
-    55f0:	0f b6 30             	movzbl (%eax),%esi
-    55f3:	83 c0 01             	add    $0x1,%eax
-    55f6:	89 43 04             	mov    %eax,0x4(%ebx)
-    55f9:	8b bd 40 fe ff ff    	mov    -0x1c0(%ebp),%edi
-    55ff:	89 f1                	mov    %esi,%ecx
-    5601:	0f b6 d1             	movzbl %cl,%edx
-    5604:	8b 47 38             	mov    0x38(%edi),%eax
-    5607:	83 3c 90 74          	cmpl   $0x74,(%eax,%edx,4)
-    560b:	0f 85 35 ae ff ff    	jne    0x446
-    5611:	31 c0                	xor    %eax,%eax
-    5613:	83 bd 60 fe ff ff 00 	cmpl   $0x0,-0x1a0(%ebp)
-    561a:	0f 9f c0             	setg   %al
-    561d:	29 85 60 fe ff ff    	sub    %eax,-0x1a0(%ebp)
-    5623:	83 bd 5c fe ff ff 06 	cmpl   $0x6,-0x1a4(%ebp)
-    562a:	0f 84 db 01 00 00    	je     0x580b
-    5630:	8b 95 70 fe ff ff    	mov    -0x190(%ebp),%edx
-    5636:	89 f0                	mov    %esi,%eax
-    5638:	88 42 06             	mov    %al,0x6(%edx)
-    563b:	83 bd 60 fe ff ff 00 	cmpl   $0x0,-0x1a0(%ebp)
-    5642:	0f 84 fe ad ff ff    	je     0x446
-    5648:	8b 43 04             	mov    0x4(%ebx),%eax
-    564b:	3b 43 08             	cmp    0x8(%ebx),%eax
-    564e:	0f 83 9b 01 00 00    	jae    0x57ef
-    5654:	0f b6 08             	movzbl (%eax),%ecx
-    5657:	83 c0 01             	add    $0x1,%eax
-    565a:	89 43 04             	mov    %eax,0x4(%ebx)
-    565d:	89 8d 68 fe ff ff    	mov    %ecx,-0x198(%ebp)
-    5663:	8b b5 40 fe ff ff    	mov    -0x1c0(%ebp),%esi
-    5669:	0f b6 95 68 fe ff ff 	movzbl -0x198(%ebp),%edx
-    5670:	8b 46 38             	mov    0x38(%esi),%eax
-    5673:	83 3c 90 79          	cmpl   $0x79,(%eax,%edx,4)
-    5677:	0f 85 c9 ad ff ff    	jne    0x446
-    567d:	83 bd 5c fe ff ff 07 	cmpl   $0x7,-0x1a4(%ebp)
-    5684:	0f 84 9a 00 00 00    	je     0x5724
-    568a:	8b 95 6c fe ff ff    	mov    -0x194(%ebp),%edx
-    5690:	0f b6 8d 68 fe ff ff 	movzbl -0x198(%ebp),%ecx
-    5697:	8b b5 70 fe ff ff    	mov    -0x190(%ebp),%esi
-    569d:	83 c2 04             	add    $0x4,%edx
-    56a0:	89 95 74 fe ff ff    	mov    %edx,-0x18c(%ebp)
-    56a6:	ba 08 00 00 00       	mov    $0x8,%edx
-    56ab:	88 4e 07             	mov    %cl,0x7(%esi)
-    56ae:	e9 af d5 ff ff       	jmp    0x2c62
-    56b3:	89 1c 24             	mov    %ebx,(%esp)
-    56b6:	e8 fc ff ff ff       	call   0x56b7
-    56bb:	83 f8 ff             	cmp    $0xffffffff,%eax
-    56be:	89 85 68 fe ff ff    	mov    %eax,-0x198(%ebp)
-    56c4:	0f 85 d9 d9 ff ff    	jne    0x30a3
-    56ca:	a1 00 00 00 00       	mov    0x0,%eax
-    56cf:	ba 03 00 00 00       	mov    $0x3,%edx
-    56d4:	65 8b 00             	mov    %gs:(%eax),%eax
-    56d7:	89 85 3c fe ff ff    	mov    %eax,-0x1c4(%ebp)
+    54a9:	e9 0d c4 ff ff       	jmp    0x18bb
+    54ae:	89 1c 24             	mov    %ebx,(%esp)
+    54b1:	e8 fc ff ff ff       	call   0x54b2
+    54b6:	83 f8 ff             	cmp    $0xffffffff,%eax
+    54b9:	89 85 68 fe ff ff    	mov    %eax,-0x198(%ebp)
+    54bf:	0f 85 99 c3 ff ff    	jne    0x185e
+    54c5:	a1 00 00 00 00       	mov    0x0,%eax
+    54ca:	65 8b 00             	mov    %gs:(%eax),%eax
+    54cd:	89 85 3c fe ff ff    	mov    %eax,-0x1c4(%ebp)
+    54d3:	b8 fc 03 00 00       	mov    $0x3fc,%eax
+    54d8:	e9 92 c3 ff ff       	jmp    0x186f
+    54dd:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
+    54e4:	89 85 50 fe ff ff    	mov    %eax,-0x1b0(%ebp)
+    54ea:	0f 84 7d ea ff ff    	je     0x3f6d
+    54f0:	8b 85 70 fe ff ff    	mov    -0x190(%ebp),%eax
+    54f6:	31 f6                	xor    %esi,%esi
+    54f8:	89 04 24             	mov    %eax,(%esp)
+    54fb:	e8 fc ff ff ff       	call   0x54fc
+    5500:	c7 85 34 fe ff ff ff 	movl   $0xffffffff,-0x1cc(%ebp)
+    5507:	ff ff ff 
+    550a:	e9 48 af ff ff       	jmp    0x457
+    550f:	31 c0                	xor    %eax,%eax
+    5511:	83 bd 60 fe ff ff 00 	cmpl   $0x0,-0x1a0(%ebp)
+    5518:	0f 9f c0             	setg   %al
+    551b:	29 85 60 fe ff ff    	sub    %eax,-0x1a0(%ebp)
+    5521:	83 bd 5c fe ff ff 03 	cmpl   $0x3,-0x1a4(%ebp)
+    5528:	0f 84 d9 04 00 00    	je     0x5a07
+    552e:	0f b6 85 68 fe ff ff 	movzbl -0x198(%ebp),%eax
+    5535:	8b 95 70 fe ff ff    	mov    -0x190(%ebp),%edx
+    553b:	88 42 03             	mov    %al,0x3(%edx)
+    553e:	83 bd 60 fe ff ff 00 	cmpl   $0x0,-0x1a0(%ebp)
+    5545:	0f 84 fb ae ff ff    	je     0x446
+    554b:	8b 43 04             	mov    0x4(%ebx),%eax
+    554e:	3b 43 08             	cmp    0x8(%ebx),%eax
+    5551:	0f 83 98 04 00 00    	jae    0x59ef
+    5557:	0f b6 30             	movzbl (%eax),%esi
+    555a:	83 c0 01             	add    $0x1,%eax
+    555d:	89 43 04             	mov    %eax,0x4(%ebx)
+    5560:	8b bd 40 fe ff ff    	mov    -0x1c0(%ebp),%edi
+    5566:	89 f1                	mov    %esi,%ecx
+    5568:	0f b6 d1             	movzbl %cl,%edx
+    556b:	8b 47 38             	mov    0x38(%edi),%eax
+    556e:	83 3c 90 6e          	cmpl   $0x6e,(%eax,%edx,4)
+    5572:	0f 85 ce ae ff ff    	jne    0x446
+    5578:	31 c0                	xor    %eax,%eax
+    557a:	83 bd 60 fe ff ff 00 	cmpl   $0x0,-0x1a0(%ebp)
+    5581:	0f 9f c0             	setg   %al
+    5584:	29 85 60 fe ff ff    	sub    %eax,-0x1a0(%ebp)
+    558a:	83 bd 5c fe ff ff 04 	cmpl   $0x4,-0x1a4(%ebp)
+    5591:	0f 84 11 04 00 00    	je     0x59a8
+    5597:	8b 95 70 fe ff ff    	mov    -0x190(%ebp),%edx
+    559d:	89 f0                	mov    %esi,%eax
+    559f:	88 42 04             	mov    %al,0x4(%edx)
+    55a2:	83 bd 60 fe ff ff 00 	cmpl   $0x0,-0x1a0(%ebp)
+    55a9:	0f 84 97 ae ff ff    	je     0x446
+    55af:	8b 43 04             	mov    0x4(%ebx),%eax
+    55b2:	3b 43 08             	cmp    0x8(%ebx),%eax
+    55b5:	0f 83 d5 03 00 00    	jae    0x5990
+    55bb:	0f b6 30             	movzbl (%eax),%esi
+    55be:	83 c0 01             	add    $0x1,%eax
+    55c1:	89 43 04             	mov    %eax,0x4(%ebx)
+    55c4:	8b bd 40 fe ff ff    	mov    -0x1c0(%ebp),%edi
+    55ca:	89 f1                	mov    %esi,%ecx
+    55cc:	0f b6 d1             	movzbl %cl,%edx
+    55cf:	8b 47 38             	mov    0x38(%edi),%eax
+    55d2:	83 3c 90 69          	cmpl   $0x69,(%eax,%edx,4)
+    55d6:	0f 85 6a ae ff ff    	jne    0x446
+    55dc:	31 c0                	xor    %eax,%eax
+    55de:	83 bd 60 fe ff ff 00 	cmpl   $0x0,-0x1a0(%ebp)
+    55e5:	0f 9f c0             	setg   %al
+    55e8:	29 85 60 fe ff ff    	sub    %eax,-0x1a0(%ebp)
+    55ee:	83 bd 5c fe ff ff 05 	cmpl   $0x5,-0x1a4(%ebp)
+    55f5:	0f 84 9a 02 00 00    	je     0x5895
+    55fb:	8b 95 70 fe ff ff    	mov    -0x190(%ebp),%edx
+    5601:	89 f0                	mov    %esi,%eax
+    5603:	88 42 05             	mov    %al,0x5(%edx)
+    5606:	83 bd 60 fe ff ff 00 	cmpl   $0x0,-0x1a0(%ebp)
+    560d:	0f 84 33 ae ff ff    	je     0x446
+    5613:	8b 43 04             	mov    0x4(%ebx),%eax
+    5616:	3b 43 08             	cmp    0x8(%ebx),%eax
+    5619:	0f 83 5d 02 00 00    	jae    0x587c
+    561f:	0f b6 30             	movzbl (%eax),%esi
+    5622:	83 c0 01             	add    $0x1,%eax
+    5625:	89 43 04             	mov    %eax,0x4(%ebx)
+    5628:	8b bd 40 fe ff ff    	mov    -0x1c0(%ebp),%edi
+    562e:	89 f1                	mov    %esi,%ecx
+    5630:	0f b6 d1             	movzbl %cl,%edx
+    5633:	8b 47 38             	mov    0x38(%edi),%eax
+    5636:	83 3c 90 74          	cmpl   $0x74,(%eax,%edx,4)
+    563a:	0f 85 06 ae ff ff    	jne    0x446
+    5640:	31 c0                	xor    %eax,%eax
+    5642:	83 bd 60 fe ff ff 00 	cmpl   $0x0,-0x1a0(%ebp)
+    5649:	0f 9f c0             	setg   %al
+    564c:	29 85 60 fe ff ff    	sub    %eax,-0x1a0(%ebp)
+    5652:	83 bd 5c fe ff ff 06 	cmpl   $0x6,-0x1a4(%ebp)
+    5659:	0f 84 db 01 00 00    	je     0x583a
+    565f:	8b 95 70 fe ff ff    	mov    -0x190(%ebp),%edx
+    5665:	89 f0                	mov    %esi,%eax
+    5667:	88 42 06             	mov    %al,0x6(%edx)
+    566a:	83 bd 60 fe ff ff 00 	cmpl   $0x0,-0x1a0(%ebp)
+    5671:	0f 84 cf ad ff ff    	je     0x446
+    5677:	8b 43 04             	mov    0x4(%ebx),%eax
+    567a:	3b 43 08             	cmp    0x8(%ebx),%eax
+    567d:	0f 83 9b 01 00 00    	jae    0x581e
+    5683:	0f b6 08             	movzbl (%eax),%ecx
+    5686:	83 c0 01             	add    $0x1,%eax
+    5689:	89 43 04             	mov    %eax,0x4(%ebx)
+    568c:	89 8d 68 fe ff ff    	mov    %ecx,-0x198(%ebp)
+    5692:	8b b5 40 fe ff ff    	mov    -0x1c0(%ebp),%esi
+    5698:	0f b6 95 68 fe ff ff 	movzbl -0x198(%ebp),%edx
+    569f:	8b 46 38             	mov    0x38(%esi),%eax
+    56a2:	83 3c 90 79          	cmpl   $0x79,(%eax,%edx,4)
+    56a6:	0f 85 9a ad ff ff    	jne    0x446
+    56ac:	83 bd 5c fe ff ff 07 	cmpl   $0x7,-0x1a4(%ebp)
+    56b3:	0f 84 9a 00 00 00    	je     0x5753
+    56b9:	8b 95 6c fe ff ff    	mov    -0x194(%ebp),%edx
+    56bf:	0f b6 8d 68 fe ff ff 	movzbl -0x198(%ebp),%ecx
+    56c6:	8b b5 70 fe ff ff    	mov    -0x190(%ebp),%esi
+    56cc:	83 c2 04             	add    $0x4,%edx
+    56cf:	89 95 74 fe ff ff    	mov    %edx,-0x18c(%ebp)
+    56d5:	ba 08 00 00 00       	mov    $0x8,%edx
+    56da:	88 4e 07             	mov    %cl,0x7(%esi)
     56dd:	e9 80 d5 ff ff       	jmp    0x2c62
-    56e2:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
-    56e9:	74 7b                	je     0x5766
-    56eb:	8b bd 70 fe ff ff    	mov    -0x190(%ebp),%edi
-    56f1:	c7 44 24 04 00 01 00 	movl   $0x100,0x4(%esp)
-    56f8:	00 
-    56f9:	89 3c 24             	mov    %edi,(%esp)
-    56fc:	e8 fc ff ff ff       	call   0x56fd
-    5701:	85 c0                	test   %eax,%eax
-    5703:	89 85 50 fe ff ff    	mov    %eax,-0x1b0(%ebp)
-    5709:	0f 84 b2 fd ff ff    	je     0x54c1
-    570f:	89 85 70 fe ff ff    	mov    %eax,-0x190(%ebp)
-    5715:	c7 85 5c fe ff ff 00 	movl   $0x100,-0x1a4(%ebp)
-    571c:	01 00 00 
-    571f:	e9 33 d9 ff ff       	jmp    0x3057
-    5724:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
-    572b:	74 7c                	je     0x57a9
-    572d:	8b bd 70 fe ff ff    	mov    -0x190(%ebp),%edi
-    5733:	c7 44 24 04 00 01 00 	movl   $0x100,0x4(%esp)
-    573a:	00 
-    573b:	89 3c 24             	mov    %edi,(%esp)
-    573e:	e8 fc ff ff ff       	call   0x573f
-    5743:	85 c0                	test   %eax,%eax
-    5745:	89 85 50 fe ff ff    	mov    %eax,-0x1b0(%ebp)
-    574b:	0f 84 70 fd ff ff    	je     0x54c1
-    5751:	89 85 70 fe ff ff    	mov    %eax,-0x190(%ebp)
-    5757:	c7 85 5c fe ff ff 00 	movl   $0x100,-0x1a4(%ebp)
-    575e:	01 00 00 
-    5761:	e9 24 ff ff ff       	jmp    0x568a
-    5766:	81 ec 10 01 00 00    	sub    $0x110,%esp
-    576c:	8b b5 70 fe ff ff    	mov    -0x190(%ebp),%esi
-    5772:	8d 44 24 1f          	lea    0x1f(%esp),%eax
-    5776:	83 e0 f0             	and    $0xfffffff0,%eax
-    5779:	8d 90 00 01 00 00    	lea    0x100(%eax),%edx
-    577f:	39 95 70 fe ff ff    	cmp    %edx,-0x190(%ebp)
-    5785:	0f b7 0e             	movzwl (%esi),%ecx
-    5788:	0f 94 c2             	sete   %dl
-    578b:	0f b6 d2             	movzbl %dl,%edx
-    578e:	8d 94 12 00 01 00 00 	lea    0x100(%edx,%edx,1),%edx
-    5795:	66 89 08             	mov    %cx,(%eax)
-    5798:	89 95 5c fe ff ff    	mov    %edx,-0x1a4(%ebp)
-    579e:	89 85 70 fe ff ff    	mov    %eax,-0x190(%ebp)
-    57a4:	e9 ae d8 ff ff       	jmp    0x3057
-    57a9:	81 ec 10 01 00 00    	sub    $0x110,%esp
-    57af:	8b b5 70 fe ff ff    	mov    -0x190(%ebp),%esi
-    57b5:	8d 44 24 1f          	lea    0x1f(%esp),%eax
-    57b9:	8b 8d 5c fe ff ff    	mov    -0x1a4(%ebp),%ecx
-    57bf:	83 e0 f0             	and    $0xfffffff0,%eax
-    57c2:	8d 90 00 01 00 00    	lea    0x100(%eax),%edx
-    57c8:	89 c7                	mov    %eax,%edi
-    57ca:	39 95 70 fe ff ff    	cmp    %edx,-0x190(%ebp)
-    57d0:	ba 07 01 00 00       	mov    $0x107,%edx
-    57d5:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
-    57d7:	89 85 70 fe ff ff    	mov    %eax,-0x190(%ebp)
-    57dd:	66 b9 00 01          	mov    $0x100,%cx
-    57e1:	0f 44 ca             	cmove  %edx,%ecx
-    57e4:	89 8d 5c fe ff ff    	mov    %ecx,-0x1a4(%ebp)
-    57ea:	e9 9b fe ff ff       	jmp    0x568a
-    57ef:	89 1c 24             	mov    %ebx,(%esp)
-    57f2:	e8 fc ff ff ff       	call   0x57f3
-    57f7:	83 f8 ff             	cmp    $0xffffffff,%eax
-    57fa:	89 85 68 fe ff ff    	mov    %eax,-0x198(%ebp)
-    5800:	0f 85 5d fe ff ff    	jne    0x5663
-    5806:	e9 3b ac ff ff       	jmp    0x446
-    580b:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
-    5812:	0f 84 ae 00 00 00    	je     0x58c6
-    5818:	8b 85 70 fe ff ff    	mov    -0x190(%ebp),%eax
-    581e:	c7 44 24 04 00 01 00 	movl   $0x100,0x4(%esp)
-    5825:	00 
-    5826:	89 04 24             	mov    %eax,(%esp)
-    5829:	e8 fc ff ff ff       	call   0x582a
-    582e:	85 c0                	test   %eax,%eax
-    5830:	89 85 50 fe ff ff    	mov    %eax,-0x1b0(%ebp)
-    5836:	74 6f                	je     0x58a7
-    5838:	89 85 70 fe ff ff    	mov    %eax,-0x190(%ebp)
-    583e:	c7 85 5c fe ff ff 00 	movl   $0x100,-0x1a4(%ebp)
-    5845:	01 00 00 
-    5848:	e9 e3 fd ff ff       	jmp    0x5630
-    584d:	89 1c 24             	mov    %ebx,(%esp)
-    5850:	e8 fc ff ff ff       	call   0x5851
-    5855:	83 f8 ff             	cmp    $0xffffffff,%eax
-    5858:	89 c6                	mov    %eax,%esi
-    585a:	0f 85 99 fd ff ff    	jne    0x55f9
-    5860:	e9 e1 ab ff ff       	jmp    0x446
-    5865:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
-    586c:	0f 84 a6 00 00 00    	je     0x5918
-    5872:	8b 85 70 fe ff ff    	mov    -0x190(%ebp),%eax
-    5878:	c7 44 24 04 00 01 00 	movl   $0x100,0x4(%esp)
-    587f:	00 
-    5880:	89 04 24             	mov    %eax,(%esp)
-    5883:	e8 fc ff ff ff       	call   0x5884
-    5888:	85 c0                	test   %eax,%eax
-    588a:	89 85 50 fe ff ff    	mov    %eax,-0x1b0(%ebp)
-    5890:	74 15                	je     0x58a7
-    5892:	89 85 70 fe ff ff    	mov    %eax,-0x190(%ebp)
-    5898:	c7 85 5c fe ff ff 00 	movl   $0x100,-0x1a4(%ebp)
-    589f:	01 00 00 
-    58a2:	e9 25 fd ff ff       	jmp    0x55cc
-    58a7:	8b 95 70 fe ff ff    	mov    -0x190(%ebp),%edx
-    58ad:	31 f6                	xor    %esi,%esi
-    58af:	89 14 24             	mov    %edx,(%esp)
-    58b2:	e8 fc ff ff ff       	call   0x58b3
-    58b7:	c7 85 34 fe ff ff ff 	movl   $0xffffffff,-0x1cc(%ebp)
-    58be:	ff ff ff 
-    58c1:	e9 91 ab ff ff       	jmp    0x457
-    58c6:	8b 8d 70 fe ff ff    	mov    -0x190(%ebp),%ecx
-    58cc:	81 ec 10 01 00 00    	sub    $0x110,%esp
-    58d2:	8d 44 24 1f          	lea    0x1f(%esp),%eax
-    58d6:	83 e0 f0             	and    $0xfffffff0,%eax
-    58d9:	c7 85 5c fe ff ff 00 	movl   $0x100,-0x1a4(%ebp)
-    58e0:	01 00 00 
-    58e3:	8d 90 00 01 00 00    	lea    0x100(%eax),%edx
-    58e9:	39 95 70 fe ff ff    	cmp    %edx,-0x190(%ebp)
-    58ef:	8b 11                	mov    (%ecx),%edx
-    58f1:	89 10                	mov    %edx,(%eax)
-    58f3:	0f b7 51 04          	movzwl 0x4(%ecx),%edx
-    58f7:	66 89 50 04          	mov    %dx,0x4(%eax)
-    58fb:	ba 06 01 00 00       	mov    $0x106,%edx
-    5900:	0f 45 95 5c fe ff ff 	cmovne -0x1a4(%ebp),%edx
-    5907:	89 85 70 fe ff ff    	mov    %eax,-0x190(%ebp)
-    590d:	89 95 5c fe ff ff    	mov    %edx,-0x1a4(%ebp)
-    5913:	e9 18 fd ff ff       	jmp    0x5630
-    5918:	8b bd 70 fe ff ff    	mov    -0x190(%ebp),%edi
-    591e:	81 ec 10 01 00 00    	sub    $0x110,%esp
-    5924:	8d 44 24 1f          	lea    0x1f(%esp),%eax
-    5928:	83 e0 f0             	and    $0xfffffff0,%eax
-    592b:	8d 90 00 01 00 00    	lea    0x100(%eax),%edx
-    5931:	8b 0f                	mov    (%edi),%ecx
-    5933:	39 95 70 fe ff ff    	cmp    %edx,-0x190(%ebp)
-    5939:	89 08                	mov    %ecx,(%eax)
-    593b:	0f b6 4f 04          	movzbl 0x4(%edi),%ecx
-    593f:	0f 94 c2             	sete   %dl
-    5942:	0f b6 d2             	movzbl %dl,%edx
-    5945:	8d 94 92 00 01 00 00 	lea    0x100(%edx,%edx,4),%edx
-    594c:	88 48 04             	mov    %cl,0x4(%eax)
-    594f:	89 95 5c fe ff ff    	mov    %edx,-0x1a4(%ebp)
-    5955:	89 85 70 fe ff ff    	mov    %eax,-0x190(%ebp)
-    595b:	e9 6c fc ff ff       	jmp    0x55cc
-    5960:	89 1c 24             	mov    %ebx,(%esp)
-    5963:	e8 fc ff ff ff       	call   0x5964
-    5968:	83 f8 ff             	cmp    $0xffffffff,%eax
-    596b:	89 c6                	mov    %eax,%esi
-    596d:	0f 85 22 fc ff ff    	jne    0x5595
-    5973:	e9 ce aa ff ff       	jmp    0x446
-    5978:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
-    597f:	90                   	nop
-    5980:	0f 84 95 00 00 00    	je     0x5a1b
-    5986:	8b 85 70 fe ff ff    	mov    -0x190(%ebp),%eax
-    598c:	c7 44 24 04 00 01 00 	movl   $0x100,0x4(%esp)
-    5993:	00 
-    5994:	89 04 24             	mov    %eax,(%esp)
-    5997:	e8 fc ff ff ff       	call   0x5998
-    599c:	85 c0                	test   %eax,%eax
-    599e:	89 85 50 fe ff ff    	mov    %eax,-0x1b0(%ebp)
-    59a4:	0f 84 fd fe ff ff    	je     0x58a7
-    59aa:	89 85 70 fe ff ff    	mov    %eax,-0x190(%ebp)
-    59b0:	c7 85 5c fe ff ff 00 	movl   $0x100,-0x1a4(%ebp)
-    59b7:	01 00 00 
-    59ba:	e9 a9 fb ff ff       	jmp    0x5568
-    59bf:	89 1c 24             	mov    %ebx,(%esp)
-    59c2:	e8 fc ff ff ff       	call   0x59c3
-    59c7:	83 f8 ff             	cmp    $0xffffffff,%eax
-    59ca:	89 c6                	mov    %eax,%esi
-    59cc:	0f 85 5f fb ff ff    	jne    0x5531
-    59d2:	e9 6f aa ff ff       	jmp    0x446
-    59d7:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
-    59de:	66 90                	xchg   %ax,%ax
-    59e0:	74 7a                	je     0x5a5c
-    59e2:	8b 85 70 fe ff ff    	mov    -0x190(%ebp),%eax
-    59e8:	c7 44 24 04 00 01 00 	movl   $0x100,0x4(%esp)
-    59ef:	00 
-    59f0:	89 04 24             	mov    %eax,(%esp)
-    59f3:	e8 fc ff ff ff       	call   0x59f4
-    59f8:	85 c0                	test   %eax,%eax
-    59fa:	89 85 50 fe ff ff    	mov    %eax,-0x1b0(%ebp)
-    5a00:	0f 84 a1 fe ff ff    	je     0x58a7
-    5a06:	89 85 70 fe ff ff    	mov    %eax,-0x190(%ebp)
-    5a0c:	c7 85 5c fe ff ff 00 	movl   $0x100,-0x1a4(%ebp)
-    5a13:	01 00 00 
-    5a16:	e9 e4 fa ff ff       	jmp    0x54ff
-    5a1b:	81 ec 10 01 00 00    	sub    $0x110,%esp
-    5a21:	8b bd 70 fe ff ff    	mov    -0x190(%ebp),%edi
-    5a27:	8d 44 24 1f          	lea    0x1f(%esp),%eax
-    5a2b:	83 e0 f0             	and    $0xfffffff0,%eax
-    5a2e:	8d 90 00 01 00 00    	lea    0x100(%eax),%edx
-    5a34:	39 95 70 fe ff ff    	cmp    %edx,-0x190(%ebp)
-    5a3a:	8b 0f                	mov    (%edi),%ecx
-    5a3c:	0f 94 c2             	sete   %dl
-    5a3f:	0f b6 d2             	movzbl %dl,%edx
-    5a42:	8d 14 95 00 01 00 00 	lea    0x100(,%edx,4),%edx
-    5a49:	89 08                	mov    %ecx,(%eax)
-    5a4b:	89 95 5c fe ff ff    	mov    %edx,-0x1a4(%ebp)
-    5a51:	89 85 70 fe ff ff    	mov    %eax,-0x190(%ebp)
-    5a57:	e9 0c fb ff ff       	jmp    0x5568
-    5a5c:	8b b5 70 fe ff ff    	mov    -0x190(%ebp),%esi
-    5a62:	81 ec 10 01 00 00    	sub    $0x110,%esp
-    5a68:	8d 44 24 1f          	lea    0x1f(%esp),%eax
-    5a6c:	83 e0 f0             	and    $0xfffffff0,%eax
-    5a6f:	8d 90 00 01 00 00    	lea    0x100(%eax),%edx
-    5a75:	0f b7 0e             	movzwl (%esi),%ecx
-    5a78:	39 95 70 fe ff ff    	cmp    %edx,-0x190(%ebp)
-    5a7e:	66 89 08             	mov    %cx,(%eax)
-    5a81:	0f b6 4e 02          	movzbl 0x2(%esi),%ecx
-    5a85:	0f 94 c2             	sete   %dl
-    5a88:	0f b6 d2             	movzbl %dl,%edx
-    5a8b:	8d 94 52 00 01 00 00 	lea    0x100(%edx,%edx,2),%edx
-    5a92:	88 48 02             	mov    %cl,0x2(%eax)
-    5a95:	89 95 5c fe ff ff    	mov    %edx,-0x1a4(%ebp)
-    5a9b:	89 85 70 fe ff ff    	mov    %eax,-0x190(%ebp)
-    5aa1:	e9 59 fa ff ff       	jmp    0x54ff
-    5aa6:	89 1c 24             	mov    %ebx,(%esp)
-    5aa9:	e8 fc ff ff ff       	call   0x5aaa
-    5aae:	83 f8 ff             	cmp    $0xffffffff,%eax
-    5ab1:	89 85 68 fe ff ff    	mov    %eax,-0x198(%ebp)
-    5ab7:	0f 84 89 a9 ff ff    	je     0x446
-    5abd:	e9 5c d5 ff ff       	jmp    0x301e
-    5ac2:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
-    5ac9:	0f 84 93 00 00 00    	je     0x5b62
-    5acf:	8b bd 70 fe ff ff    	mov    -0x190(%ebp),%edi
-    5ad5:	c7 44 24 04 00 01 00 	movl   $0x100,0x4(%esp)
-    5adc:	00 
-    5add:	89 3c 24             	mov    %edi,(%esp)
-    5ae0:	e8 fc ff ff ff       	call   0x5ae1
-    5ae5:	85 c0                	test   %eax,%eax
-    5ae7:	89 85 50 fe ff ff    	mov    %eax,-0x1b0(%ebp)
-    5aed:	0f 84 ce f9 ff ff    	je     0x54c1
-    5af3:	89 85 70 fe ff ff    	mov    %eax,-0x190(%ebp)
-    5af9:	c7 85 5c fe ff ff 00 	movl   $0x100,-0x1a4(%ebp)
-    5b00:	01 00 00 
-    5b03:	e9 e3 d4 ff ff       	jmp    0x2feb
-    5b08:	89 1c 24             	mov    %ebx,(%esp)
-    5b0b:	e8 fc ff ff ff       	call   0x5b0c
-    5b10:	83 f8 ff             	cmp    $0xffffffff,%eax
-    5b13:	89 c6                	mov    %eax,%esi
-    5b15:	0f 84 2b a9 ff ff    	je     0x446
-    5b1b:	e9 94 d4 ff ff       	jmp    0x2fb4
-    5b20:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
-    5b27:	74 7a                	je     0x5ba3
-    5b29:	8b 8d 70 fe ff ff    	mov    -0x190(%ebp),%ecx
-    5b2f:	c7 44 24 04 00 01 00 	movl   $0x100,0x4(%esp)
-    5b36:	00 
-    5b37:	89 0c 24             	mov    %ecx,(%esp)
-    5b3a:	e8 fc ff ff ff       	call   0x5b3b
-    5b3f:	85 c0                	test   %eax,%eax
-    5b41:	89 85 50 fe ff ff    	mov    %eax,-0x1b0(%ebp)
-    5b47:	0f 84 99 f0 ff ff    	je     0x4be6
-    5b4d:	89 85 70 fe ff ff    	mov    %eax,-0x190(%ebp)
-    5b53:	c7 85 5c fe ff ff 00 	movl   $0x100,-0x1a4(%ebp)
-    5b5a:	01 00 00 
-    5b5d:	e9 14 d4 ff ff       	jmp    0x2f76
-    5b62:	81 ec 10 01 00 00    	sub    $0x110,%esp
-    5b68:	8b bd 70 fe ff ff    	mov    -0x190(%ebp),%edi
-    5b6e:	8d 44 24 1f          	lea    0x1f(%esp),%eax
-    5b72:	83 e0 f0             	and    $0xfffffff0,%eax
-    5b75:	8d 90 00 01 00 00    	lea    0x100(%eax),%edx
-    5b7b:	39 95 70 fe ff ff    	cmp    %edx,-0x190(%ebp)
-    5b81:	0f b6 0f             	movzbl (%edi),%ecx
-    5b84:	0f 94 c2             	sete   %dl
-    5b87:	0f b6 d2             	movzbl %dl,%edx
-    5b8a:	81 c2 00 01 00 00    	add    $0x100,%edx
-    5b90:	88 08                	mov    %cl,(%eax)
-    5b92:	89 95 5c fe ff ff    	mov    %edx,-0x1a4(%ebp)
-    5b98:	89 85 70 fe ff ff    	mov    %eax,-0x190(%ebp)
-    5b9e:	e9 48 d4 ff ff       	jmp    0x2feb
-    5ba3:	81 ec 10 01 00 00    	sub    $0x110,%esp
-    5ba9:	8d 7c 24 1f          	lea    0x1f(%esp),%edi
-    5bad:	83 e7 f0             	and    $0xfffffff0,%edi
-    5bb0:	89 bd 70 fe ff ff    	mov    %edi,-0x190(%ebp)
-    5bb6:	c7 85 5c fe ff ff 00 	movl   $0x100,-0x1a4(%ebp)
-    5bbd:	01 00 00 
-    5bc0:	e9 b1 d3 ff ff       	jmp    0x2f76
-    5bc5:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
-    5bcc:	74 4f                	je     0x5c1d
-    5bce:	8b 85 70 fe ff ff    	mov    -0x190(%ebp),%eax
-    5bd4:	c7 44 24 04 00 01 00 	movl   $0x100,0x4(%esp)
-    5bdb:	00 
-    5bdc:	89 04 24             	mov    %eax,(%esp)
-    5bdf:	e8 fc ff ff ff       	call   0x5be0
-    5be4:	85 c0                	test   %eax,%eax
-    5be6:	89 85 50 fe ff ff    	mov    %eax,-0x1b0(%ebp)
-    5bec:	0f 84 b5 fc ff ff    	je     0x58a7
-    5bf2:	89 85 70 fe ff ff    	mov    %eax,-0x190(%ebp)
-    5bf8:	c7 85 5c fe ff ff 00 	movl   $0x100,-0x1a4(%ebp)
-    5bff:	01 00 00 
-    5c02:	e9 23 dd ff ff       	jmp    0x392a
-    5c07:	a1 00 00 00 00       	mov    0x0,%eax
-    5c0c:	be 04 00 00 00       	mov    $0x4,%esi
-    5c11:	65 c7 00 56 00 00 00 	movl   $0x56,%gs:(%eax)
-    5c18:	e9 3a a8 ff ff       	jmp    0x457
-    5c1d:	81 ec 10 01 00 00    	sub    $0x110,%esp
-    5c23:	8b b5 70 fe ff ff    	mov    -0x190(%ebp),%esi
-    5c29:	8d 44 24 1f          	lea    0x1f(%esp),%eax
-    5c2d:	83 e0 f0             	and    $0xfffffff0,%eax
-    5c30:	8d 90 00 01 00 00    	lea    0x100(%eax),%edx
-    5c36:	39 95 70 fe ff ff    	cmp    %edx,-0x190(%ebp)
-    5c3c:	0f b6 0e             	movzbl (%esi),%ecx
-    5c3f:	0f 94 c2             	sete   %dl
-    5c42:	0f b6 d2             	movzbl %dl,%edx
-    5c45:	81 c2 00 01 00 00    	add    $0x100,%edx
-    5c4b:	88 08                	mov    %cl,(%eax)
-    5c4d:	89 95 5c fe ff ff    	mov    %edx,-0x1a4(%ebp)
-    5c53:	89 85 70 fe ff ff    	mov    %eax,-0x190(%ebp)
-    5c59:	e9 cc dc ff ff       	jmp    0x392a
-    5c5e:	89 1c 24             	mov    %ebx,(%esp)
-    5c61:	e8 fc ff ff ff       	call   0x5c62
-    5c66:	83 f8 ff             	cmp    $0xffffffff,%eax
-    5c69:	89 85 68 fe ff ff    	mov    %eax,-0x198(%ebp)
-    5c6f:	0f 85 c0 d1 ff ff    	jne    0x2e35
-    5c75:	a1 00 00 00 00       	mov    0x0,%eax
-    5c7a:	65 8b 00             	mov    %gs:(%eax),%eax
-    5c7d:	89 85 3c fe ff ff    	mov    %eax,-0x1c4(%ebp)
-    5c83:	e9 b4 d1 ff ff       	jmp    0x2e3c
-    5c88:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
-    5c8f:	0f 84 9f 00 00 00    	je     0x5d34
-    5c95:	8b bd 70 fe ff ff    	mov    -0x190(%ebp),%edi
-    5c9b:	c7 44 24 04 00 01 00 	movl   $0x100,0x4(%esp)
-    5ca2:	00 
-    5ca3:	89 3c 24             	mov    %edi,(%esp)
-    5ca6:	e8 fc ff ff ff       	call   0x5ca7
-    5cab:	85 c0                	test   %eax,%eax
-    5cad:	89 85 50 fe ff ff    	mov    %eax,-0x1b0(%ebp)
-    5cb3:	0f 84 08 f8 ff ff    	je     0x54c1
-    5cb9:	89 85 70 fe ff ff    	mov    %eax,-0x190(%ebp)
-    5cbf:	c7 85 5c fe ff ff 00 	movl   $0x100,-0x1a4(%ebp)
-    5cc6:	01 00 00 
-    5cc9:	e9 43 d1 ff ff       	jmp    0x2e11
-    5cce:	65 8b 07             	mov    %gs:(%edi),%eax
-    5cd1:	83 f8 04             	cmp    $0x4,%eax
-    5cd4:	0f 84 ce a8 ff ff    	je     0x5a8
-    5cda:	83 c8 ff             	or     $0xffffffff,%eax
-    5cdd:	e9 53 a8 ff ff       	jmp    0x535
-    5ce2:	0f b6 85 68 fe ff ff 	movzbl -0x198(%ebp),%eax
-    5ce9:	be 02 00 00 00       	mov    $0x2,%esi
-    5cee:	89 1c 24             	mov    %ebx,(%esp)
-    5cf1:	89 44 24 04          	mov    %eax,0x4(%esp)
-    5cf5:	e8 fc ff ff ff       	call   0x5cf6
-    5cfa:	8b 85 70 fe ff ff    	mov    -0x190(%ebp),%eax
-    5d00:	89 85 50 fe ff ff    	mov    %eax,-0x1b0(%ebp)
-    5d06:	e9 4c a7 ff ff       	jmp    0x457
-    5d0b:	88 95 ec fd ff ff    	mov    %dl,-0x214(%ebp)
-    5d11:	89 1c 24             	mov    %ebx,(%esp)
-    5d14:	e8 fc ff ff ff       	call   0x5d15
-    5d19:	0f b6 95 ec fd ff ff 	movzbl -0x214(%ebp),%edx
-    5d20:	83 f8 ff             	cmp    $0xffffffff,%eax
-    5d23:	0f 85 05 a8 ff ff    	jne    0x52e
-    5d29:	65 8b 07             	mov    %gs:(%edi),%eax
-    5d2c:	89 85 3c fe ff ff    	mov    %eax,-0x1c4(%ebp)
-    5d32:	eb 9d                	jmp    0x5cd1
-    5d34:	81 ec 10 01 00 00    	sub    $0x110,%esp
-    5d3a:	8d 54 24 1f          	lea    0x1f(%esp),%edx
-    5d3e:	83 e2 f0             	and    $0xfffffff0,%edx
-    5d41:	89 95 70 fe ff ff    	mov    %edx,-0x190(%ebp)
-    5d47:	c7 85 5c fe ff ff 00 	movl   $0x100,-0x1a4(%ebp)
-    5d4e:	01 00 00 
-    5d51:	e9 bb d0 ff ff       	jmp    0x2e11
-    5d56:	89 1c 24             	mov    %ebx,(%esp)
-    5d59:	e8 fc ff ff ff       	call   0x5d5a
-    5d5e:	83 f8 ff             	cmp    $0xffffffff,%eax
-    5d61:	89 c6                	mov    %eax,%esi
-    5d63:	0f 84 dd a6 ff ff    	je     0x446
-    5d69:	e9 3f ce ff ff       	jmp    0x2bad
-    5d6e:	89 b5 38 fe ff ff    	mov    %esi,-0x1c8(%ebp)
-    5d74:	89 ce                	mov    %ecx,%esi
-    5d76:	8b 8d 6c fe ff ff    	mov    -0x194(%ebp),%ecx
-    5d7c:	8b bd 38 fe ff ff    	mov    -0x1c8(%ebp),%edi
-    5d82:	89 95 68 fe ff ff    	mov    %edx,-0x198(%ebp)
-    5d88:	89 8d 74 fe ff ff    	mov    %ecx,-0x18c(%ebp)
-    5d8e:	e9 93 b9 ff ff       	jmp    0x1726
-    5d93:	89 1c 24             	mov    %ebx,(%esp)
-    5d96:	e8 fc ff ff ff       	call   0x5d97
-    5d9b:	83 f8 ff             	cmp    $0xffffffff,%eax
-    5d9e:	0f 85 58 d1 ff ff    	jne    0x2efc
-    5da4:	89 85 68 fe ff ff    	mov    %eax,-0x198(%ebp)
-    5daa:	a1 00 00 00 00       	mov    0x0,%eax
-    5daf:	65 8b 00             	mov    %gs:(%eax),%eax
-    5db2:	89 85 3c fe ff ff    	mov    %eax,-0x1c4(%ebp)
-    5db8:	e9 5d a5 ff ff       	jmp    0x31a
-    5dbd:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
-    5dc4:	74 6b                	je     0x5e31
-    5dc6:	8b 85 70 fe ff ff    	mov    -0x190(%ebp),%eax
-    5dcc:	c7 44 24 04 00 01 00 	movl   $0x100,0x4(%esp)
-    5dd3:	00 
-    5dd4:	89 04 24             	mov    %eax,(%esp)
-    5dd7:	e8 fc ff ff ff       	call   0x5dd8
-    5ddc:	85 c0                	test   %eax,%eax
-    5dde:	89 85 50 fe ff ff    	mov    %eax,-0x1b0(%ebp)
-    5de4:	0f 84 ed e8 ff ff    	je     0x46d7
-    5dea:	89 85 70 fe ff ff    	mov    %eax,-0x190(%ebp)
-    5df0:	c7 85 5c fe ff ff 00 	movl   $0x100,-0x1a4(%ebp)
-    5df7:	01 00 00 
-    5dfa:	e9 70 cd ff ff       	jmp    0x2b6f
-    5dff:	89 ca                	mov    %ecx,%edx
-    5e01:	c1 e2 03             	shl    $0x3,%edx
-    5e04:	89 54 24 04          	mov    %edx,0x4(%esp)
-    5e08:	89 04 24             	mov    %eax,(%esp)
-    5e0b:	e8 fc ff ff ff       	call   0x5e0c
-    5e10:	85 c0                	test   %eax,%eax
-    5e12:	74 3f                	je     0x5e53
-    5e14:	8b 8d 24 fe ff ff    	mov    -0x1dc(%ebp),%ecx
-    5e1a:	d1 a5 18 fe ff ff    	shll   -0x1e8(%ebp)
-    5e20:	89 01                	mov    %eax,(%ecx)
-    5e22:	01 f8                	add    %edi,%eax
-    5e24:	31 ff                	xor    %edi,%edi
-    5e26:	89 85 58 fe ff ff    	mov    %eax,-0x1a8(%ebp)
-    5e2c:	e9 87 c9 ff ff       	jmp    0x27b8
-    5e31:	81 ec 10 01 00 00    	sub    $0x110,%esp
-    5e37:	8d 4c 24 1f          	lea    0x1f(%esp),%ecx
-    5e3b:	83 e1 f0             	and    $0xfffffff0,%ecx
-    5e3e:	89 8d 70 fe ff ff    	mov    %ecx,-0x190(%ebp)
-    5e44:	c7 85 5c fe ff ff 00 	movl   $0x100,-0x1a4(%ebp)
-    5e4b:	01 00 00 
-    5e4e:	e9 1c cd ff ff       	jmp    0x2b6f
-    5e53:	83 85 18 fe ff ff 01 	addl   $0x1,-0x1e8(%ebp)
-    5e5a:	8b 85 18 fe ff ff    	mov    -0x1e8(%ebp),%eax
-    5e60:	8b 95 24 fe ff ff    	mov    -0x1dc(%ebp),%edx
-    5e66:	c1 e0 02             	shl    $0x2,%eax
-    5e69:	89 44 24 04          	mov    %eax,0x4(%esp)
-    5e6d:	8b 02                	mov    (%edx),%eax
-    5e6f:	89 04 24             	mov    %eax,(%esp)
-    5e72:	e8 fc ff ff ff       	call   0x5e73
-    5e77:	85 c0                	test   %eax,%eax
-    5e79:	0f 84 f3 00 00 00    	je     0x5f72
-    5e7f:	8b 95 24 fe ff ff    	mov    -0x1dc(%ebp),%edx
-    5e85:	89 02                	mov    %eax,(%edx)
-    5e87:	01 f8                	add    %edi,%eax
-    5e89:	31 ff                	xor    %edi,%edi
-    5e8b:	89 85 58 fe ff ff    	mov    %eax,-0x1a8(%ebp)
-    5e91:	e9 22 c9 ff ff       	jmp    0x27b8
-    5e96:	8b 85 24 fe ff ff    	mov    -0x1dc(%ebp),%eax
-    5e9c:	8d 79 01             	lea    0x1(%ecx),%edi
-    5e9f:	89 7c 24 04          	mov    %edi,0x4(%esp)
-    5ea3:	8b 10                	mov    (%eax),%edx
-    5ea5:	89 14 24             	mov    %edx,(%esp)
-    5ea8:	e8 fc ff ff ff       	call   0x5ea9
-    5ead:	8b 8d e8 fd ff ff    	mov    -0x218(%ebp),%ecx
-    5eb3:	85 c0                	test   %eax,%eax
-    5eb5:	89 85 68 fe ff ff    	mov    %eax,-0x198(%ebp)
-    5ebb:	0f 85 a4 c4 ff ff    	jne    0x2365
-    5ec1:	f7 85 44 fe ff ff 00 	testl  $0x2000,-0x1bc(%ebp)
-    5ec8:	20 00 00 
-    5ecb:	89 8d 18 fe ff ff    	mov    %ecx,-0x1e8(%ebp)
-    5ed1:	0f 85 65 d5 ff ff    	jne    0x343c
-    5ed7:	8b 95 24 fe ff ff    	mov    -0x1dc(%ebp),%edx
-    5edd:	be 02 00 00 00       	mov    $0x2,%esi
-    5ee2:	8b 02                	mov    (%edx),%eax
-    5ee4:	c6 44 08 ff 00       	movb   $0x0,-0x1(%eax,%ecx,1)
-    5ee9:	8b 8d 70 fe ff ff    	mov    -0x190(%ebp),%ecx
-    5eef:	83 85 34 fe ff ff 01 	addl   $0x1,-0x1cc(%ebp)
-    5ef6:	c7 85 24 fe ff ff 00 	movl   $0x0,-0x1dc(%ebp)
-    5efd:	00 00 00 
-    5f00:	89 8d 50 fe ff ff    	mov    %ecx,-0x1b0(%ebp)
-    5f06:	e9 4c a5 ff ff       	jmp    0x457
-    5f0b:	8d 41 12             	lea    0x12(%ecx),%eax
-    5f0e:	83 e0 fc             	and    $0xfffffffc,%eax
-    5f11:	29 c4                	sub    %eax,%esp
-    5f13:	8d 7c 24 1f          	lea    0x1f(%esp),%edi
-    5f17:	83 e7 f0             	and    $0xfffffff0,%edi
-    5f1a:	89 f8                	mov    %edi,%eax
-    5f1c:	01 c8                	add    %ecx,%eax
-    5f1e:	39 85 70 fe ff ff    	cmp    %eax,-0x190(%ebp)
-    5f24:	89 bd 74 fe ff ff    	mov    %edi,-0x18c(%ebp)
-    5f2a:	8d 3c 0e             	lea    (%esi,%ecx,1),%edi
-    5f2d:	0f 45 f9             	cmovne %ecx,%edi
-    5f30:	83 bd 70 fe ff ff 00 	cmpl   $0x0,-0x190(%ebp)
-    5f37:	74 7a                	je     0x5fb3
-    5f39:	8b 85 70 fe ff ff    	mov    -0x190(%ebp),%eax
-    5f3f:	8b 8d 74 fe ff ff    	mov    -0x18c(%ebp),%ecx
-    5f45:	89 95 ec fd ff ff    	mov    %edx,-0x214(%ebp)
-    5f4b:	89 74 24 08          	mov    %esi,0x8(%esp)
-    5f4f:	89 44 24 04          	mov    %eax,0x4(%esp)
-    5f53:	89 0c 24             	mov    %ecx,(%esp)
-    5f56:	e8 fc ff ff ff       	call   0x5f57
-    5f5b:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
-    5f61:	89 bd 5c fe ff ff    	mov    %edi,-0x1a4(%ebp)
-    5f67:	8b bd 74 fe ff ff    	mov    -0x18c(%ebp),%edi
-    5f6d:	e9 65 b5 ff ff       	jmp    0x14d7
-    5f72:	f7 85 44 fe ff ff 00 	testl  $0x2000,-0x1bc(%ebp)
-    5f79:	20 00 00 
-    5f7c:	0f 85 fd df ff ff    	jne    0x3f7f
-    5f82:	8b 8d 24 fe ff ff    	mov    -0x1dc(%ebp),%ecx
-    5f88:	8b b5 68 fe ff ff    	mov    -0x198(%ebp),%esi
-    5f8e:	83 85 34 fe ff ff 01 	addl   $0x1,-0x1cc(%ebp)
-    5f95:	8b 01                	mov    (%ecx),%eax
-    5f97:	c7 85 24 fe ff ff 00 	movl   $0x0,-0x1dc(%ebp)
-    5f9e:	00 00 00 
-    5fa1:	c7 44 b0 fc 00 00 00 	movl   $0x0,-0x4(%eax,%esi,4)
-    5fa8:	00 
-    5fa9:	be 02 00 00 00       	mov    $0x2,%esi
-    5fae:	e9 a4 a4 ff ff       	jmp    0x457
-    5fb3:	89 bd 5c fe ff ff    	mov    %edi,-0x1a4(%ebp)
-    5fb9:	8b bd 74 fe ff ff    	mov    -0x18c(%ebp),%edi
-    5fbf:	e9 13 b5 ff ff       	jmp    0x14d7
-    5fc4:	89 95 ec fd ff ff    	mov    %edx,-0x214(%ebp)
-    5fca:	89 34 24             	mov    %esi,(%esp)
-    5fcd:	e8 fc ff ff ff       	call   0x5fce
-    5fd2:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
-    5fd8:	83 f8 ff             	cmp    $0xffffffff,%eax
-    5fdb:	89 85 68 fe ff ff    	mov    %eax,-0x198(%ebp)
-    5fe1:	0f 85 f5 bf ff ff    	jne    0x1fdc
-    5fe7:	a1 00 00 00 00       	mov    0x0,%eax
-    5fec:	89 f3                	mov    %esi,%ebx
-    5fee:	89 fe                	mov    %edi,%esi
-    5ff0:	89 95 14 fe ff ff    	mov    %edx,-0x1ec(%ebp)
-    5ff6:	8b bd 6c fe ff ff    	mov    -0x194(%ebp),%edi
-    5ffc:	89 b5 18 fe ff ff    	mov    %esi,-0x1e8(%ebp)
-    6002:	65 8b 00             	mov    %gs:(%eax),%eax
-    6005:	89 85 3c fe ff ff    	mov    %eax,-0x1c4(%ebp)
-    600b:	e9 6d d6 ff ff       	jmp    0x367d
-    6010:	8b 95 24 fe ff ff    	mov    -0x1dc(%ebp),%edx
-    6016:	8d 7b 01             	lea    0x1(%ebx),%edi
-    6019:	89 7c 24 04          	mov    %edi,0x4(%esp)
-    601d:	8b 02                	mov    (%edx),%eax
-    601f:	89 04 24             	mov    %eax,(%esp)
-    6022:	e8 fc ff ff ff       	call   0x6023
-    6027:	85 c0                	test   %eax,%eax
-    6029:	0f 84 16 01 00 00    	je     0x6145
-    602f:	8b 8d 24 fe ff ff    	mov    -0x1dc(%ebp),%ecx
-    6035:	8d 14 18             	lea    (%eax,%ebx,1),%edx
-    6038:	89 01                	mov    %eax,(%ecx)
-    603a:	e9 61 bf ff ff       	jmp    0x1fa0
-    603f:	8d 14 1b             	lea    (%ebx,%ebx,1),%edx
-    6042:	b8 00 01 00 00       	mov    $0x100,%eax
-    6047:	81 fa 00 01 00 00    	cmp    $0x100,%edx
-    604d:	0f 42 d0             	cmovb  %eax,%edx
-    6050:	89 f8                	mov    %edi,%eax
-    6052:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
-    6059:	75 0a                	jne    0x6065
-    605b:	81 fa 00 00 01 00    	cmp    $0x10000,%edx
-    6061:	76 5d                	jbe    0x60c0
-    6063:	31 c0                	xor    %eax,%eax
-    6065:	89 54 24 04          	mov    %edx,0x4(%esp)
-    6069:	89 95 ec fd ff ff    	mov    %edx,-0x214(%ebp)
-    606f:	89 04 24             	mov    %eax,(%esp)
-    6072:	e8 fc ff ff ff       	call   0x6073
-    6077:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
-    607d:	85 c0                	test   %eax,%eax
-    607f:	89 c6                	mov    %eax,%esi
-    6081:	0f 84 a2 ec ff ff    	je     0x4d29
-    6087:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
-    608e:	89 d1                	mov    %edx,%ecx
-    6090:	0f 85 50 af ff ff    	jne    0xfe6
-    6096:	89 95 ec fd ff ff    	mov    %edx,-0x214(%ebp)
-    609c:	89 5c 24 08          	mov    %ebx,0x8(%esp)
-    60a0:	89 7c 24 04          	mov    %edi,0x4(%esp)
-    60a4:	89 04 24             	mov    %eax,(%esp)
-    60a7:	e8 fc ff ff ff       	call   0x60a8
-    60ac:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
-    60b2:	c6 85 2b fe ff ff 01 	movb   $0x1,-0x1d5(%ebp)
-    60b9:	89 d1                	mov    %edx,%ecx
-    60bb:	e9 26 af ff ff       	jmp    0xfe6
-    60c0:	8d 42 12             	lea    0x12(%edx),%eax
-    60c3:	83 e0 fc             	and    $0xfffffffc,%eax
-    60c6:	29 c4                	sub    %eax,%esp
-    60c8:	8d 4c 24 1f          	lea    0x1f(%esp),%ecx
-    60cc:	83 e1 f0             	and    $0xfffffff0,%ecx
-    60cf:	89 c8                	mov    %ecx,%eax
-    60d1:	01 d0                	add    %edx,%eax
-    60d3:	39 c7                	cmp    %eax,%edi
-    60d5:	8d 34 13             	lea    (%ebx,%edx,1),%esi
-    60d8:	0f 45 f2             	cmovne %edx,%esi
-    60db:	85 ff                	test   %edi,%edi
-    60dd:	89 8d 70 fe ff ff    	mov    %ecx,-0x190(%ebp)
-    60e3:	74 67                	je     0x614c
-    60e5:	89 7c 24 04          	mov    %edi,0x4(%esp)
-    60e9:	8b bd 70 fe ff ff    	mov    -0x190(%ebp),%edi
-    60ef:	89 5c 24 08          	mov    %ebx,0x8(%esp)
-    60f3:	89 3c 24             	mov    %edi,(%esp)
-    60f6:	e8 fc ff ff ff       	call   0x60f7
-    60fb:	89 f1                	mov    %esi,%ecx
-    60fd:	e9 e2 ae ff ff       	jmp    0xfe4
-    6102:	83 85 18 fe ff ff 01 	addl   $0x1,-0x1e8(%ebp)
-    6109:	8b 85 18 fe ff ff    	mov    -0x1e8(%ebp),%eax
-    610f:	8b 8d 24 fe ff ff    	mov    -0x1dc(%ebp),%ecx
-    6115:	c1 e0 02             	shl    $0x2,%eax
-    6118:	89 44 24 04          	mov    %eax,0x4(%esp)
-    611c:	8b 01                	mov    (%ecx),%eax
-    611e:	89 04 24             	mov    %eax,(%esp)
-    6121:	e8 fc ff ff ff       	call   0x6122
-    6126:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
-    612c:	85 c0                	test   %eax,%eax
-    612e:	74 29                	je     0x6159
-    6130:	8b 8d 24 fe ff ff    	mov    -0x1dc(%ebp),%ecx
-    6136:	89 01                	mov    %eax,(%ecx)
-    6138:	01 d0                	add    %edx,%eax
-    613a:	89 85 58 fe ff ff    	mov    %eax,-0x1a8(%ebp)
-    6140:	e9 67 b9 ff ff       	jmp    0x1aac
-    6145:	89 f3                	mov    %esi,%ebx
-    6147:	e9 f0 d2 ff ff       	jmp    0x343c
-    614c:	89 f1                	mov    %esi,%ecx
-    614e:	8b b5 70 fe ff ff    	mov    -0x190(%ebp),%esi
-    6154:	e9 8d ae ff ff       	jmp    0xfe6
-    6159:	f7 85 44 fe ff ff 00 	testl  $0x2000,-0x1bc(%ebp)
-    6160:	20 00 00 
-    6163:	0f 85 d3 d2 ff ff    	jne    0x343c
-    6169:	8b b5 24 fe ff ff    	mov    -0x1dc(%ebp),%esi
-    616f:	8b bd 68 fe ff ff    	mov    -0x198(%ebp),%edi
-    6175:	83 85 34 fe ff ff 01 	addl   $0x1,-0x1cc(%ebp)
-    617c:	8b 06                	mov    (%esi),%eax
-    617e:	be 02 00 00 00       	mov    $0x2,%esi
-    6183:	c7 85 24 fe ff ff 00 	movl   $0x0,-0x1dc(%ebp)
-    618a:	00 00 00 
-    618d:	c7 44 b8 fc 00 00 00 	movl   $0x0,-0x4(%eax,%edi,4)
-    6194:	00 
-    6195:	8b 85 70 fe ff ff    	mov    -0x190(%ebp),%eax
-    619b:	89 85 50 fe ff ff    	mov    %eax,-0x1b0(%ebp)
-    61a1:	e9 b1 a2 ff ff       	jmp    0x457
-    61a6:	88 95 ec fd ff ff    	mov    %dl,-0x214(%ebp)
-    61ac:	89 1c 24             	mov    %ebx,(%esp)
-    61af:	e8 fc ff ff ff       	call   0x61b0
-    61b4:	0f b6 95 ec fd ff ff 	movzbl -0x214(%ebp),%edx
-    61bb:	83 f8 ff             	cmp    $0xffffffff,%eax
-    61be:	89 85 68 fe ff ff    	mov    %eax,-0x198(%ebp)
-    61c4:	0f 84 de a3 ff ff    	je     0x5a8
-    61ca:	e9 e1 a0 ff ff       	jmp    0x2b0
-    61cf:	8b 9d 10 fe ff ff    	mov    -0x1f0(%ebp),%ebx
-    61d5:	85 db                	test   %ebx,%ebx
-    61d7:	0f 84 96 a0 ff ff    	je     0x273
-    61dd:	31 f6                	xor    %esi,%esi
-    61df:	3b 33                	cmp    (%ebx),%esi
-    61e1:	73 3f                	jae    0x6222
-    61e3:	8b 44 b3 08          	mov    0x8(%ebx,%esi,4),%eax
-    61e7:	8b 00                	mov    (%eax),%eax
-    61e9:	89 04 24             	mov    %eax,(%esp)
-    61ec:	e8 fc ff ff ff       	call   0x61ed
-    61f1:	8b 44 b3 08          	mov    0x8(%ebx,%esi,4),%eax
-    61f5:	83 c6 01             	add    $0x1,%esi
-    61f8:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
-    61fe:	eb df                	jmp    0x61df
-    6200:	89 95 ec fd ff ff    	mov    %edx,-0x214(%ebp)
-    6206:	89 1c 24             	mov    %ebx,(%esp)
-    6209:	e8 fc ff ff ff       	call   0x620a
-    620e:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
-    6214:	83 f8 ff             	cmp    $0xffffffff,%eax
-    6217:	0f 84 8b a3 ff ff    	je     0x5a8
-    621d:	e9 fd 9f ff ff       	jmp    0x21f
-    6222:	8b 5b 04             	mov    0x4(%ebx),%ebx
-    6225:	85 db                	test   %ebx,%ebx
-    6227:	75 b4                	jne    0x61dd
-    6229:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
-    6230:	e9 3e a0 ff ff       	jmp    0x273
-    6235:	89 1c 24             	mov    %ebx,(%esp)
-    6238:	e8 fc ff ff ff       	call   0x6239
-    623d:	83 f8 ff             	cmp    $0xffffffff,%eax
-    6240:	89 85 68 fe ff ff    	mov    %eax,-0x198(%ebp)
-    6246:	0f 84 64 d0 ff ff    	je     0x32b0
-    624c:	e9 2c c6 ff ff       	jmp    0x287d
-    6251:	8d 0c 1b             	lea    (%ebx,%ebx,1),%ecx
-    6254:	b8 00 01 00 00       	mov    $0x100,%eax
-    6259:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
-    625f:	0f 42 c8             	cmovb  %eax,%ecx
-    6262:	89 f8                	mov    %edi,%eax
-    6264:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
-    626b:	75 0a                	jne    0x6277
-    626d:	81 f9 00 00 01 00    	cmp    $0x10000,%ecx
-    6273:	76 34                	jbe    0x62a9
-    6275:	31 c0                	xor    %eax,%eax
-    6277:	89 4c 24 04          	mov    %ecx,0x4(%esp)
-    627b:	89 8d e8 fd ff ff    	mov    %ecx,-0x218(%ebp)
-    6281:	89 04 24             	mov    %eax,(%esp)
-    6284:	e8 fc ff ff ff       	call   0x6285
-    6289:	8b 8d e8 fd ff ff    	mov    -0x218(%ebp),%ecx
-    628f:	85 c0                	test   %eax,%eax
-    6291:	89 c6                	mov    %eax,%esi
-    6293:	0f 84 90 ea ff ff    	je     0x4d29
-    6299:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
-    62a0:	74 4a                	je     0x62ec
-    62a2:	89 c7                	mov    %eax,%edi
-    62a4:	e9 8e c1 ff ff       	jmp    0x2437
-    62a9:	8d 41 12             	lea    0x12(%ecx),%eax
-    62ac:	83 e0 fc             	and    $0xfffffffc,%eax
-    62af:	29 c4                	sub    %eax,%esp
-    62b1:	8d 54 24 1f          	lea    0x1f(%esp),%edx
-    62b5:	83 e2 f0             	and    $0xfffffff0,%edx
-    62b8:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
-    62bb:	39 c7                	cmp    %eax,%edi
-    62bd:	8d 34 0b             	lea    (%ebx,%ecx,1),%esi
-    62c0:	0f 45 f1             	cmovne %ecx,%esi
-    62c3:	85 ff                	test   %edi,%edi
-    62c5:	74 4f                	je     0x6316
-    62c7:	89 7c 24 04          	mov    %edi,0x4(%esp)
-    62cb:	89 14 24             	mov    %edx,(%esp)
-    62ce:	89 95 ec fd ff ff    	mov    %edx,-0x214(%ebp)
-    62d4:	89 5c 24 08          	mov    %ebx,0x8(%esp)
-    62d8:	e8 fc ff ff ff       	call   0x62d9
-    62dd:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
-    62e3:	89 f1                	mov    %esi,%ecx
-    62e5:	89 d7                	mov    %edx,%edi
-    62e7:	e9 4b c1 ff ff       	jmp    0x2437
-    62ec:	89 7c 24 04          	mov    %edi,0x4(%esp)
-    62f0:	89 f7                	mov    %esi,%edi
-    62f2:	89 8d e8 fd ff ff    	mov    %ecx,-0x218(%ebp)
-    62f8:	89 5c 24 08          	mov    %ebx,0x8(%esp)
-    62fc:	89 04 24             	mov    %eax,(%esp)
-    62ff:	e8 fc ff ff ff       	call   0x6300
-    6304:	8b 8d e8 fd ff ff    	mov    -0x218(%ebp),%ecx
-    630a:	c6 85 2b fe ff ff 01 	movb   $0x1,-0x1d5(%ebp)
-    6311:	e9 21 c1 ff ff       	jmp    0x2437
-    6316:	89 f1                	mov    %esi,%ecx
-    6318:	89 d7                	mov    %edx,%edi
-    631a:	e9 18 c1 ff ff       	jmp    0x2437
-    631f:	89 1c 24             	mov    %ebx,(%esp)
-    6322:	e8 fc ff ff ff       	call   0x6323
-    6327:	83 f8 ff             	cmp    $0xffffffff,%eax
-    632a:	89 85 68 fe ff ff    	mov    %eax,-0x198(%ebp)
-    6330:	0f 84 72 a2 ff ff    	je     0x5a8
-    6336:	e9 5e a8 ff ff       	jmp    0xb99
-    633b:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
-    6342:	e8 fc ff ff ff       	call   0x6343
-    6347:	8b 95 04 fe ff ff    	mov    -0x1fc(%ebp),%edx
-    634d:	89 85 fc fd ff ff    	mov    %eax,-0x204(%ebp)
-    6353:	8b 52 74             	mov    0x74(%edx),%edx
-    6356:	89 95 50 fe ff ff    	mov    %edx,-0x1b0(%ebp)
-    635c:	83 ea 01             	sub    $0x1,%edx
-    635f:	85 c0                	test   %eax,%eax
-    6361:	89 95 4c fe ff ff    	mov    %edx,-0x1b4(%ebp)
-    6367:	0f 85 bb 09 00 00    	jne    0x6d28
-    636d:	0f b6 85 44 fe ff ff 	movzbl -0x1bc(%ebp),%eax
-    6374:	8b b5 68 fe ff ff    	mov    -0x198(%ebp),%esi
-    637a:	c7 85 64 fe ff ff 00 	movl   $0x0,-0x19c(%ebp)
-    6381:	00 00 00 
-    6384:	83 e0 80             	and    $0xffffff80,%eax
-    6387:	88 85 f4 fd ff ff    	mov    %al,-0x20c(%ebp)
-    638d:	83 bd 60 fe ff ff 00 	cmpl   $0x0,-0x1a0(%ebp)
-    6394:	0f 84 73 09 00 00    	je     0x6d0d
-    639a:	83 fe ff             	cmp    $0xffffffff,%esi
-    639d:	0f 84 6a 09 00 00    	je     0x6d0d
-    63a3:	89 f2                	mov    %esi,%edx
-    63a5:	89 de                	mov    %ebx,%esi
-    63a7:	c7 85 68 fe ff ff 00 	movl   $0x0,-0x198(%ebp)
-    63ae:	00 00 00 
-    63b1:	83 bd 60 fe ff ff 00 	cmpl   $0x0,-0x1a0(%ebp)
-    63b8:	bf ff ff ff 7f       	mov    $0x7fffffff,%edi
-    63bd:	0f 4f bd 60 fe ff ff 	cmovg  -0x1a0(%ebp),%edi
-    63c4:	83 bd fc fd ff ff 00 	cmpl   $0x0,-0x204(%ebp)
-    63cb:	89 bd 6c fe ff ff    	mov    %edi,-0x194(%ebp)
-    63d1:	0f 85 1d 09 00 00    	jne    0x6cf4
-    63d7:	8b 8d 68 fe ff ff    	mov    -0x198(%ebp),%ecx
-    63dd:	8b 85 04 fe ff ff    	mov    -0x1fc(%ebp),%eax
-    63e3:	8b 7c 88 78          	mov    0x78(%eax,%ecx,4),%edi
-    63e7:	89 bc 8d 74 ff ff ff 	mov    %edi,-0x8c(%ebp,%ecx,4)
-    63ee:	31 db                	xor    %ebx,%ebx
-    63f0:	83 bd 64 fe ff ff 00 	cmpl   $0x0,-0x19c(%ebp)
-    63f7:	0f 84 e5 08 00 00    	je     0x6ce2
-    63fd:	89 f8                	mov    %edi,%eax
-    63ff:	89 f7                	mov    %esi,%edi
-    6401:	89 d6                	mov    %edx,%esi
-    6403:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
-    640a:	00 
-    640b:	83 c3 01             	add    $0x1,%ebx
-    640e:	89 04 24             	mov    %eax,(%esp)
-    6411:	e8 fc ff ff ff       	call   0x6412
-    6416:	83 c0 01             	add    $0x1,%eax
-    6419:	3b 9d 64 fe ff ff    	cmp    -0x19c(%ebp),%ebx
-    641f:	75 e2                	jne    0x6403
-    6421:	89 f2                	mov    %esi,%edx
-    6423:	89 fe                	mov    %edi,%esi
-    6425:	89 c7                	mov    %eax,%edi
-    6427:	8b 85 68 fe ff ff    	mov    -0x198(%ebp),%eax
-    642d:	89 bc 85 74 ff ff ff 	mov    %edi,-0x8c(%ebp,%eax,4)
-    6434:	0f b6 07             	movzbl (%edi),%eax
-    6437:	0f b6 c8             	movzbl %al,%ecx
-    643a:	39 d1                	cmp    %edx,%ecx
-    643c:	0f 85 f7 04 00 00    	jne    0x6939
-    6442:	80 7f 01 00          	cmpb   $0x0,0x1(%edi)
-    6446:	8d 5f 01             	lea    0x1(%edi),%ebx
-    6449:	75 3c                	jne    0x6487
-    644b:	e9 a4 04 00 00       	jmp    0x68f4
-    6450:	0f b6 10             	movzbl (%eax),%edx
-    6453:	83 c0 01             	add    $0x1,%eax
-    6456:	89 46 04             	mov    %eax,0x4(%esi)
-    6459:	83 85 74 fe ff ff 01 	addl   $0x1,-0x18c(%ebp)
-    6460:	83 ad 6c fe ff ff 01 	subl   $0x1,-0x194(%ebp)
-    6467:	0f b6 03             	movzbl (%ebx),%eax
-    646a:	0f b6 c8             	movzbl %al,%ecx
-    646d:	39 d1                	cmp    %edx,%ecx
-    646f:	75 3e                	jne    0x64af
-    6471:	83 c3 01             	add    $0x1,%ebx
-    6474:	80 3b 00             	cmpb   $0x0,(%ebx)
-    6477:	0f 84 77 04 00 00    	je     0x68f4
-    647d:	8b 85 6c fe ff ff    	mov    -0x194(%ebp),%eax
-    6483:	85 c0                	test   %eax,%eax
-    6485:	74 30                	je     0x64b7
-    6487:	8b 46 04             	mov    0x4(%esi),%eax
-    648a:	3b 46 08             	cmp    0x8(%esi),%eax
-    648d:	72 c1                	jb     0x6450
-    648f:	89 34 24             	mov    %esi,(%esp)
-    6492:	e8 fc ff ff ff       	call   0x6493
-    6497:	83 f8 ff             	cmp    $0xffffffff,%eax
-    649a:	89 c2                	mov    %eax,%edx
-    649c:	75 bb                	jne    0x6459
-    649e:	a1 00 00 00 00       	mov    0x0,%eax
-    64a3:	65 8b 00             	mov    %gs:(%eax),%eax
-    64a6:	89 85 3c fe ff ff    	mov    %eax,-0x1c4(%ebp)
-    64ac:	0f b6 03             	movzbl (%ebx),%eax
-    64af:	84 c0                	test   %al,%al
-    64b1:	0f 84 89 04 00 00    	je     0x6940
-    64b7:	39 fb                	cmp    %edi,%ebx
-    64b9:	76 65                	jbe    0x6520
-    64bb:	83 fa ff             	cmp    $0xffffffff,%edx
-    64be:	74 16                	je     0x64d6
-    64c0:	0f b6 d2             	movzbl %dl,%edx
-    64c3:	83 ad 74 fe ff ff 01 	subl   $0x1,-0x18c(%ebp)
-    64ca:	89 54 24 04          	mov    %edx,0x4(%esp)
-    64ce:	89 34 24             	mov    %esi,(%esp)
-    64d1:	e8 fc ff ff ff       	call   0x64d2
-    64d6:	8d 53 ff             	lea    -0x1(%ebx),%edx
-    64d9:	39 fa                	cmp    %edi,%edx
-    64db:	76 40                	jbe    0x651d
-    64dd:	89 d1                	mov    %edx,%ecx
-    64df:	0f b6 01             	movzbl (%ecx),%eax
-    64e2:	89 95 ec fd ff ff    	mov    %edx,-0x214(%ebp)
-    64e8:	89 8d e8 fd ff ff    	mov    %ecx,-0x218(%ebp)
-    64ee:	89 34 24             	mov    %esi,(%esp)
-    64f1:	89 44 24 04          	mov    %eax,0x4(%esp)
-    64f5:	e8 fc ff ff ff       	call   0x64f6
-    64fa:	8b 8d e8 fd ff ff    	mov    -0x218(%ebp),%ecx
-    6500:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
-    6506:	83 e9 01             	sub    $0x1,%ecx
-    6509:	39 f9                	cmp    %edi,%ecx
-    650b:	77 d2                	ja     0x64df
-    650d:	83 eb 02             	sub    $0x2,%ebx
-    6510:	8d 47 ff             	lea    -0x1(%edi),%eax
-    6513:	29 d8                	sub    %ebx,%eax
-    6515:	01 85 74 fe ff ff    	add    %eax,-0x18c(%ebp)
-    651b:	01 c2                	add    %eax,%edx
-    651d:	0f b6 12             	movzbl (%edx),%edx
-    6520:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
-    6527:	00 
-    6528:	89 3c 24             	mov    %edi,(%esp)
-    652b:	89 95 ec fd ff ff    	mov    %edx,-0x214(%ebp)
-    6531:	e8 fc ff ff ff       	call   0x6532
-    6536:	8b 8d 68 fe ff ff    	mov    -0x198(%ebp),%ecx
-    653c:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
-    6542:	83 c0 01             	add    $0x1,%eax
-    6545:	89 84 8d 74 ff ff ff 	mov    %eax,-0x8c(%ebp,%ecx,4)
-    654c:	83 c1 01             	add    $0x1,%ecx
-    654f:	83 f9 0a             	cmp    $0xa,%ecx
-    6552:	89 8d 68 fe ff ff    	mov    %ecx,-0x198(%ebp)
-    6558:	0f 85 53 fe ff ff    	jne    0x63b1
-    655e:	89 f3                	mov    %esi,%ebx
-    6560:	89 d6                	mov    %edx,%esi
-    6562:	8b 85 64 fe ff ff    	mov    -0x19c(%ebp),%eax
-    6568:	83 c0 01             	add    $0x1,%eax
-    656b:	89 85 50 fe ff ff    	mov    %eax,-0x1b0(%ebp)
-    6571:	8b bd 4c fe ff ff    	mov    -0x1b4(%ebp),%edi
-    6577:	39 bd 50 fe ff ff    	cmp    %edi,-0x1b0(%ebp)
-    657d:	0f 8f 2c 02 00 00    	jg     0x67af
-    6583:	c7 85 68 fe ff ff 00 	movl   $0x0,-0x198(%ebp)
-    658a:	00 00 00 
-    658d:	8b bd 68 fe ff ff    	mov    -0x198(%ebp),%edi
-    6593:	ba ff ff ff 7f       	mov    $0x7fffffff,%edx
-    6598:	83 bd 60 fe ff ff 00 	cmpl   $0x0,-0x1a0(%ebp)
-    659f:	0f 4f 95 60 fe ff ff 	cmovg  -0x1a0(%ebp),%edx
-    65a6:	8b 8c bd 74 ff ff ff 	mov    -0x8c(%ebp,%edi,4),%ecx
-    65ad:	0f b6 01             	movzbl (%ecx),%eax
-    65b0:	0f b6 f8             	movzbl %al,%edi
-    65b3:	39 f7                	cmp    %esi,%edi
-    65b5:	89 bd 6c fe ff ff    	mov    %edi,-0x194(%ebp)
-    65bb:	0f 85 db 01 00 00    	jne    0x679c
-    65c1:	80 79 01 00          	cmpb   $0x0,0x1(%ecx)
-    65c5:	8d 79 01             	lea    0x1(%ecx),%edi
-    65c8:	0f 84 1f 01 00 00    	je     0x66ed
-    65ce:	89 8d 6c fe ff ff    	mov    %ecx,-0x194(%ebp)
-    65d4:	eb 14                	jmp    0x65ea
-    65d6:	83 c7 01             	add    $0x1,%edi
-    65d9:	80 3f 00             	cmpb   $0x0,(%edi)
-    65dc:	0f 84 05 01 00 00    	je     0x66e7
-    65e2:	85 d2                	test   %edx,%edx
-    65e4:	0f 84 a7 01 00 00    	je     0x6791
-    65ea:	8b 43 04             	mov    0x4(%ebx),%eax
-    65ed:	3b 43 08             	cmp    0x8(%ebx),%eax
-    65f0:	0f 83 9d 02 00 00    	jae    0x6893
-    65f6:	0f b6 30             	movzbl (%eax),%esi
-    65f9:	83 c0 01             	add    $0x1,%eax
-    65fc:	89 43 04             	mov    %eax,0x4(%ebx)
-    65ff:	83 85 74 fe ff ff 01 	addl   $0x1,-0x18c(%ebp)
-    6606:	83 ea 01             	sub    $0x1,%edx
-    6609:	0f b6 07             	movzbl (%edi),%eax
-    660c:	0f b6 c8             	movzbl %al,%ecx
-    660f:	39 f1                	cmp    %esi,%ecx
-    6611:	74 c3                	je     0x65d6
-    6613:	8b 8d 6c fe ff ff    	mov    -0x194(%ebp),%ecx
-    6619:	84 c0                	test   %al,%al
-    661b:	0f 84 d2 00 00 00    	je     0x66f3
-    6621:	39 f9                	cmp    %edi,%ecx
-    6623:	0f 83 80 00 00 00    	jae    0x66a9
-    6629:	83 fe ff             	cmp    $0xffffffff,%esi
-    662c:	74 25                	je     0x6653
-    662e:	81 e6 ff 00 00 00    	and    $0xff,%esi
-    6634:	89 8d e8 fd ff ff    	mov    %ecx,-0x218(%ebp)
-    663a:	83 ad 74 fe ff ff 01 	subl   $0x1,-0x18c(%ebp)
-    6641:	89 74 24 04          	mov    %esi,0x4(%esp)
-    6645:	89 1c 24             	mov    %ebx,(%esp)
-    6648:	e8 fc ff ff ff       	call   0x6649
-    664d:	8b 8d e8 fd ff ff    	mov    -0x218(%ebp),%ecx
-    6653:	8d 47 ff             	lea    -0x1(%edi),%eax
-    6656:	39 c8                	cmp    %ecx,%eax
-    6658:	89 85 6c fe ff ff    	mov    %eax,-0x194(%ebp)
-    665e:	76 40                	jbe    0x66a0
-    6660:	89 bd 2c fe ff ff    	mov    %edi,-0x1d4(%ebp)
-    6666:	89 c6                	mov    %eax,%esi
-    6668:	89 df                	mov    %ebx,%edi
-    666a:	89 cb                	mov    %ecx,%ebx
-    666c:	0f b6 06             	movzbl (%esi),%eax
-    666f:	83 ee 01             	sub    $0x1,%esi
-    6672:	89 3c 24             	mov    %edi,(%esp)
-    6675:	89 44 24 04          	mov    %eax,0x4(%esp)
-    6679:	e8 fc ff ff ff       	call   0x667a
-    667e:	39 f3                	cmp    %esi,%ebx
-    6680:	72 ea                	jb     0x666c
-    6682:	89 d9                	mov    %ebx,%ecx
-    6684:	89 fb                	mov    %edi,%ebx
-    6686:	8b bd 2c fe ff ff    	mov    -0x1d4(%ebp),%edi
-    668c:	8d 41 ff             	lea    -0x1(%ecx),%eax
-    668f:	83 ef 02             	sub    $0x2,%edi
-    6692:	29 f8                	sub    %edi,%eax
-    6694:	01 85 6c fe ff ff    	add    %eax,-0x194(%ebp)
-    669a:	01 85 74 fe ff ff    	add    %eax,-0x18c(%ebp)
-    66a0:	8b 95 6c fe ff ff    	mov    -0x194(%ebp),%edx
-    66a6:	0f b6 32             	movzbl (%edx),%esi
-    66a9:	89 0c 24             	mov    %ecx,(%esp)
-    66ac:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
-    66b3:	00 
-    66b4:	e8 fc ff ff ff       	call   0x66b5
-    66b9:	8b 8d 68 fe ff ff    	mov    -0x198(%ebp),%ecx
-    66bf:	83 c0 01             	add    $0x1,%eax
-    66c2:	89 84 8d 74 ff ff ff 	mov    %eax,-0x8c(%ebp,%ecx,4)
-    66c9:	83 c1 01             	add    $0x1,%ecx
-    66cc:	83 f9 0a             	cmp    $0xa,%ecx
-    66cf:	89 8d 68 fe ff ff    	mov    %ecx,-0x198(%ebp)
-    66d5:	0f 85 b2 fe ff ff    	jne    0x658d
-    66db:	83 85 50 fe ff ff 01 	addl   $0x1,-0x1b0(%ebp)
-    66e2:	e9 8a fe ff ff       	jmp    0x6571
-    66e7:	89 8d 6c fe ff ff    	mov    %ecx,-0x194(%ebp)
-    66ed:	8b b5 6c fe ff ff    	mov    -0x194(%ebp),%esi
-    66f3:	83 bd 60 fe ff ff 00 	cmpl   $0x0,-0x1a0(%ebp)
-    66fa:	0f 4e 95 60 fe ff ff 	cmovle -0x1a0(%ebp),%edx
-    6701:	83 bd 68 fe ff ff 09 	cmpl   $0x9,-0x198(%ebp)
-    6708:	89 95 60 fe ff ff    	mov    %edx,-0x1a0(%ebp)
-    670e:	7f cb                	jg     0x66db
-    6710:	8b b5 50 fe ff ff    	mov    -0x1b0(%ebp),%esi
-    6716:	89 b5 4c fe ff ff    	mov    %esi,-0x1b4(%ebp)
-    671c:	89 b5 64 fe ff ff    	mov    %esi,-0x19c(%ebp)
-    6722:	8b b5 68 fe ff ff    	mov    -0x198(%ebp),%esi
-    6728:	83 c6 30             	add    $0x30,%esi
-    672b:	8b 85 5c fe ff ff    	mov    -0x1a4(%ebp),%eax
-    6731:	39 85 38 fe ff ff    	cmp    %eax,-0x1c8(%ebp)
-    6737:	0f 84 2d 02 00 00    	je     0x696a
-    673d:	8b bd 70 fe ff ff    	mov    -0x190(%ebp),%edi
-    6743:	89 f2                	mov    %esi,%edx
-    6745:	31 c0                	xor    %eax,%eax
-    6747:	8b 8d 38 fe ff ff    	mov    -0x1c8(%ebp),%ecx
-    674d:	88 14 0f             	mov    %dl,(%edi,%ecx,1)
-    6750:	83 bd 60 fe ff ff 00 	cmpl   $0x0,-0x1a0(%ebp)
-    6757:	0f 9f c0             	setg   %al
-    675a:	29 85 60 fe ff ff    	sub    %eax,-0x1a0(%ebp)
-    6760:	83 fe ff             	cmp    $0xffffffff,%esi
-    6763:	0f 84 ee 01 00 00    	je     0x6957
-    6769:	8b 43 04             	mov    0x4(%ebx),%eax
-    676c:	3b 43 08             	cmp    0x8(%ebx),%eax
-    676f:	0f 83 59 01 00 00    	jae    0x68ce
-    6775:	0f b6 30             	movzbl (%eax),%esi
-    6778:	83 c0 01             	add    $0x1,%eax
-    677b:	89 43 04             	mov    %eax,0x4(%ebx)
-    677e:	83 85 74 fe ff ff 01 	addl   $0x1,-0x18c(%ebp)
-    6785:	83 85 38 fe ff ff 01 	addl   $0x1,-0x1c8(%ebp)
-    678c:	e9 fc fb ff ff       	jmp    0x638d
-    6791:	8b 8d 6c fe ff ff    	mov    -0x194(%ebp),%ecx
-    6797:	e9 85 fe ff ff       	jmp    0x6621
-    679c:	89 cf                	mov    %ecx,%edi
-    679e:	e9 76 fe ff ff       	jmp    0x6619
-    67a3:	8b 95 64 fe ff ff    	mov    -0x19c(%ebp),%edx
-    67a9:	89 95 4c fe ff ff    	mov    %edx,-0x1b4(%ebp)
-    67af:	80 bd f4 fd ff ff 00 	cmpb   $0x0,-0x20c(%ebp)
-    67b6:	0f 84 0b 05 00 00    	je     0x6cc7
-    67bc:	8b bd 38 fe ff ff    	mov    -0x1c8(%ebp),%edi
-    67c2:	b9 ff ff ff 7f       	mov    $0x7fffffff,%ecx
-    67c7:	83 bd 60 fe ff ff 00 	cmpl   $0x0,-0x1a0(%ebp)
-    67ce:	0f 4f 8d 60 fe ff ff 	cmovg  -0x1a0(%ebp),%ecx
-    67d5:	8b 85 48 fe ff ff    	mov    -0x1b8(%ebp),%eax
-    67db:	01 ff                	add    %edi,%edi
-    67dd:	89 8d 2c fe ff ff    	mov    %ecx,-0x1d4(%ebp)
-    67e3:	8b 8d 70 fe ff ff    	mov    -0x190(%ebp),%ecx
-    67e9:	89 bd f8 fd ff ff    	mov    %edi,-0x208(%ebp)
-    67ef:	8b bd 5c fe ff ff    	mov    -0x1a4(%ebp),%edi
-    67f5:	89 85 6c fe ff ff    	mov    %eax,-0x194(%ebp)
-    67fb:	89 9d 68 fe ff ff    	mov    %ebx,-0x198(%ebp)
-    6801:	8b 85 6c fe ff ff    	mov    -0x194(%ebp),%eax
-    6807:	0f b6 10             	movzbl (%eax),%edx
-    680a:	0f b6 c2             	movzbl %dl,%eax
-    680d:	39 c6                	cmp    %eax,%esi
-    680f:	0f 85 9b 04 00 00    	jne    0x6cb0
-    6815:	39 bd 38 fe ff ff    	cmp    %edi,-0x1c8(%ebp)
-    681b:	0f 84 b3 03 00 00    	je     0x6bd4
-    6821:	8b 85 38 fe ff ff    	mov    -0x1c8(%ebp),%eax
-    6827:	89 f2                	mov    %esi,%edx
-    6829:	88 14 01             	mov    %dl,(%ecx,%eax,1)
-    682c:	83 c0 01             	add    $0x1,%eax
-    682f:	83 85 6c fe ff ff 01 	addl   $0x1,-0x194(%ebp)
-    6836:	8b 95 6c fe ff ff    	mov    -0x194(%ebp),%edx
-    683c:	89 85 38 fe ff ff    	mov    %eax,-0x1c8(%ebp)
-    6842:	80 3a 00             	cmpb   $0x0,(%edx)
-    6845:	0f 84 72 03 00 00    	je     0x6bbd
-    684b:	83 bd 2c fe ff ff 00 	cmpl   $0x0,-0x1d4(%ebp)
-    6852:	0f 84 a4 02 00 00    	je     0x6afc
-    6858:	8b b5 68 fe ff ff    	mov    -0x198(%ebp),%esi
-    685e:	8b 46 04             	mov    0x4(%esi),%eax
-    6861:	3b 46 08             	cmp    0x8(%esi),%eax
-    6864:	0f 83 1c 02 00 00    	jae    0x6a86
-    686a:	8b 95 68 fe ff ff    	mov    -0x198(%ebp),%edx
-    6870:	0f b6 30             	movzbl (%eax),%esi
-    6873:	83 c0 01             	add    $0x1,%eax
-    6876:	89 42 04             	mov    %eax,0x4(%edx)
-    6879:	83 85 74 fe ff ff 01 	addl   $0x1,-0x18c(%ebp)
-    6880:	83 ad 2c fe ff ff 01 	subl   $0x1,-0x1d4(%ebp)
-    6887:	83 85 f8 fd ff ff 02 	addl   $0x2,-0x208(%ebp)
-    688e:	e9 6e ff ff ff       	jmp    0x6801
-    6893:	89 95 ec fd ff ff    	mov    %edx,-0x214(%ebp)
-    6899:	89 1c 24             	mov    %ebx,(%esp)
-    689c:	e8 fc ff ff ff       	call   0x689d
-    68a1:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
-    68a7:	83 f8 ff             	cmp    $0xffffffff,%eax
-    68aa:	89 c6                	mov    %eax,%esi
-    68ac:	0f 85 4d fd ff ff    	jne    0x65ff
-    68b2:	a1 00 00 00 00       	mov    0x0,%eax
-    68b7:	8b 8d 6c fe ff ff    	mov    -0x194(%ebp),%ecx
-    68bd:	65 8b 00             	mov    %gs:(%eax),%eax
-    68c0:	89 85 3c fe ff ff    	mov    %eax,-0x1c4(%ebp)
-    68c6:	0f b6 07             	movzbl (%edi),%eax
-    68c9:	e9 4b fd ff ff       	jmp    0x6619
-    68ce:	89 1c 24             	mov    %ebx,(%esp)
-    68d1:	e8 fc ff ff ff       	call   0x68d2
-    68d6:	83 f8 ff             	cmp    $0xffffffff,%eax
-    68d9:	89 c6                	mov    %eax,%esi
-    68db:	0f 85 9d fe ff ff    	jne    0x677e
-    68e1:	a1 00 00 00 00       	mov    0x0,%eax
-    68e6:	65 8b 00             	mov    %gs:(%eax),%eax
-    68e9:	89 85 3c fe ff ff    	mov    %eax,-0x1c4(%ebp)
-    68ef:	e9 91 fe ff ff       	jmp    0x6785
-    68f4:	89 f3                	mov    %esi,%ebx
-    68f6:	89 ce                	mov    %ecx,%esi
-    68f8:	8b 95 6c fe ff ff    	mov    -0x194(%ebp),%edx
-    68fe:	83 bd 60 fe ff ff 00 	cmpl   $0x0,-0x1a0(%ebp)
-    6905:	0f 4e 95 60 fe ff ff 	cmovle -0x1a0(%ebp),%edx
-    690c:	83 bd 68 fe ff ff 0a 	cmpl   $0xa,-0x198(%ebp)
-    6913:	89 95 60 fe ff ff    	mov    %edx,-0x1a0(%ebp)
-    6919:	74 2b                	je     0x6946
-    691b:	83 bd 68 fe ff ff 09 	cmpl   $0x9,-0x198(%ebp)
-    6922:	0f 8f 7b fe ff ff    	jg     0x67a3
-    6928:	8b 85 64 fe ff ff    	mov    -0x19c(%ebp),%eax
-    692e:	89 85 4c fe ff ff    	mov    %eax,-0x1b4(%ebp)
-    6934:	e9 e9 fd ff ff       	jmp    0x6722
-    6939:	89 fb                	mov    %edi,%ebx
-    693b:	e9 6f fb ff ff       	jmp    0x64af
-    6940:	89 f3                	mov    %esi,%ebx
-    6942:	89 d6                	mov    %edx,%esi
-    6944:	eb b2                	jmp    0x68f8
-    6946:	8b bd 64 fe ff ff    	mov    -0x19c(%ebp),%edi
-    694c:	89 bd 4c fe ff ff    	mov    %edi,-0x1b4(%ebp)
-    6952:	e9 0b fc ff ff       	jmp    0x6562
-    6957:	a1 00 00 00 00       	mov    0x0,%eax
-    695c:	8b 95 3c fe ff ff    	mov    -0x1c4(%ebp),%edx
-    6962:	65 89 10             	mov    %edx,%gs:(%eax)
-    6965:	e9 1b fe ff ff       	jmp    0x6785
-    696a:	8b bd 38 fe ff ff    	mov    -0x1c8(%ebp),%edi
-    6970:	b8 00 01 00 00       	mov    $0x100,%eax
-    6975:	01 ff                	add    %edi,%edi
-    6977:	81 ff 00 01 00 00    	cmp    $0x100,%edi
-    697d:	0f 42 f8             	cmovb  %eax,%edi
-    6980:	8b 85 70 fe ff ff    	mov    -0x190(%ebp),%eax
-    6986:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
-    698d:	75 0a                	jne    0x6999
-    698f:	81 ff 00 00 01 00    	cmp    $0x10000,%edi
-    6995:	76 32                	jbe    0x69c9
-    6997:	31 c0                	xor    %eax,%eax
-    6999:	89 7c 24 04          	mov    %edi,0x4(%esp)
-    699d:	89 04 24             	mov    %eax,(%esp)
-    69a0:	e8 fc ff ff ff       	call   0x69a1
-    69a5:	85 c0                	test   %eax,%eax
-    69a7:	89 c2                	mov    %eax,%edx
-    69a9:	0f 84 bf 00 00 00    	je     0x6a6e
-    69af:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
-    69b6:	74 76                	je     0x6a2e
-    69b8:	89 bd 5c fe ff ff    	mov    %edi,-0x1a4(%ebp)
-    69be:	89 95 70 fe ff ff    	mov    %edx,-0x190(%ebp)
-    69c4:	e9 74 fd ff ff       	jmp    0x673d
-    69c9:	8d 47 12             	lea    0x12(%edi),%eax
-    69cc:	8b 8d 38 fe ff ff    	mov    -0x1c8(%ebp),%ecx
-    69d2:	83 e0 fc             	and    $0xfffffffc,%eax
-    69d5:	29 c4                	sub    %eax,%esp
-    69d7:	8d 54 24 1f          	lea    0x1f(%esp),%edx
-    69db:	83 e2 f0             	and    $0xfffffff0,%edx
-    69de:	01 f9                	add    %edi,%ecx
-    69e0:	8d 04 3a             	lea    (%edx,%edi,1),%eax
-    69e3:	39 85 70 fe ff ff    	cmp    %eax,-0x190(%ebp)
-    69e9:	0f 44 f9             	cmove  %ecx,%edi
-    69ec:	83 bd 70 fe ff ff 00 	cmpl   $0x0,-0x190(%ebp)
-    69f3:	74 c3                	je     0x69b8
-    69f5:	8b 8d 38 fe ff ff    	mov    -0x1c8(%ebp),%ecx
-    69fb:	8b 85 70 fe ff ff    	mov    -0x190(%ebp),%eax
-    6a01:	89 14 24             	mov    %edx,(%esp)
-    6a04:	89 95 ec fd ff ff    	mov    %edx,-0x214(%ebp)
-    6a0a:	89 4c 24 08          	mov    %ecx,0x8(%esp)
-    6a0e:	89 44 24 04          	mov    %eax,0x4(%esp)
-    6a12:	e8 fc ff ff ff       	call   0x6a13
-    6a17:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
-    6a1d:	89 bd 5c fe ff ff    	mov    %edi,-0x1a4(%ebp)
-    6a23:	89 95 70 fe ff ff    	mov    %edx,-0x190(%ebp)
-    6a29:	e9 0f fd ff ff       	jmp    0x673d
-    6a2e:	8b 8d 38 fe ff ff    	mov    -0x1c8(%ebp),%ecx
-    6a34:	8b 85 70 fe ff ff    	mov    -0x190(%ebp),%eax
-    6a3a:	89 14 24             	mov    %edx,(%esp)
-    6a3d:	89 95 ec fd ff ff    	mov    %edx,-0x214(%ebp)
-    6a43:	89 4c 24 08          	mov    %ecx,0x8(%esp)
-    6a47:	89 44 24 04          	mov    %eax,0x4(%esp)
-    6a4b:	e8 fc ff ff ff       	call   0x6a4c
-    6a50:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
-    6a56:	89 bd 5c fe ff ff    	mov    %edi,-0x1a4(%ebp)
-    6a5c:	c6 85 2b fe ff ff 01 	movb   $0x1,-0x1d5(%ebp)
-    6a63:	89 95 70 fe ff ff    	mov    %edx,-0x190(%ebp)
-    6a69:	e9 cf fc ff ff       	jmp    0x673d
-    6a6e:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
-    6a75:	89 85 50 fe ff ff    	mov    %eax,-0x1b0(%ebp)
-    6a7b:	0f 84 fe d4 ff ff    	je     0x3f7f
-    6a81:	e9 51 dc ff ff       	jmp    0x46d7
-    6a86:	89 34 24             	mov    %esi,(%esp)
-    6a89:	89 8d e8 fd ff ff    	mov    %ecx,-0x218(%ebp)
-    6a8f:	e8 fc ff ff ff       	call   0x6a90
-    6a94:	8b 8d e8 fd ff ff    	mov    -0x218(%ebp),%ecx
-    6a9a:	83 f8 ff             	cmp    $0xffffffff,%eax
-    6a9d:	89 c6                	mov    %eax,%esi
-    6a9f:	0f 85 d4 fd ff ff    	jne    0x6879
-    6aa5:	a1 00 00 00 00       	mov    0x0,%eax
-    6aaa:	89 8d 70 fe ff ff    	mov    %ecx,-0x190(%ebp)
-    6ab0:	8b 8d 6c fe ff ff    	mov    -0x194(%ebp),%ecx
-    6ab6:	89 bd 5c fe ff ff    	mov    %edi,-0x1a4(%ebp)
-    6abc:	8b 9d 68 fe ff ff    	mov    -0x198(%ebp),%ebx
-    6ac2:	65 8b 00             	mov    %gs:(%eax),%eax
-    6ac5:	89 85 3c fe ff ff    	mov    %eax,-0x1c4(%ebp)
-    6acb:	0f b6 11             	movzbl (%ecx),%edx
-    6ace:	84 d2                	test   %dl,%dl
-    6ad0:	0f 85 a6 00 00 00    	jne    0x6b7c
-    6ad6:	8b bd 2c fe ff ff    	mov    -0x1d4(%ebp),%edi
-    6adc:	83 bd 60 fe ff ff 00 	cmpl   $0x0,-0x1a0(%ebp)
-    6ae3:	0f 4e bd 60 fe ff ff 	cmovle -0x1a0(%ebp),%edi
-    6aea:	83 ad 38 fe ff ff 01 	subl   $0x1,-0x1c8(%ebp)
-    6af1:	89 bd 60 fe ff ff    	mov    %edi,-0x1a0(%ebp)
-    6af7:	e9 2f fc ff ff       	jmp    0x672b
-    6afc:	8b 9d 68 fe ff ff    	mov    -0x198(%ebp),%ebx
-    6b02:	89 f2                	mov    %esi,%edx
-    6b04:	89 bd 5c fe ff ff    	mov    %edi,-0x1a4(%ebp)
-    6b0a:	89 8d 70 fe ff ff    	mov    %ecx,-0x190(%ebp)
-    6b10:	8b b5 6c fe ff ff    	mov    -0x194(%ebp),%esi
-    6b16:	39 b5 48 fe ff ff    	cmp    %esi,-0x1b8(%ebp)
-    6b1c:	8b bd 38 fe ff ff    	mov    -0x1c8(%ebp),%edi
-    6b22:	89 95 68 fe ff ff    	mov    %edx,-0x198(%ebp)
-    6b28:	c7 85 4c fe ff ff 0a 	movl   $0xa,-0x1b4(%ebp)
-    6b2f:	00 00 00 
-    6b32:	0f 83 55 9e ff ff    	jae    0x98d
-    6b38:	83 fa ff             	cmp    $0xffffffff,%edx
-    6b3b:	74 78                	je     0x6bb5
-    6b3d:	0f b6 c2             	movzbl %dl,%eax
-    6b40:	83 ad 74 fe ff ff 01 	subl   $0x1,-0x18c(%ebp)
-    6b47:	89 44 24 04          	mov    %eax,0x4(%esp)
-    6b4b:	89 1c 24             	mov    %ebx,(%esp)
-    6b4e:	e8 fc ff ff ff       	call   0x6b4f
-    6b53:	8b bd 6c fe ff ff    	mov    -0x194(%ebp),%edi
-    6b59:	83 ef 01             	sub    $0x1,%edi
-    6b5c:	39 bd 48 fe ff ff    	cmp    %edi,-0x1b8(%ebp)
-    6b62:	73 1c                	jae    0x6b80
-    6b64:	83 ad 74 fe ff ff 01 	subl   $0x1,-0x18c(%ebp)
-    6b6b:	0f b6 07             	movzbl (%edi),%eax
-    6b6e:	89 1c 24             	mov    %ebx,(%esp)
-    6b71:	89 44 24 04          	mov    %eax,0x4(%esp)
-    6b75:	e8 fc ff ff ff       	call   0x6b76
-    6b7a:	eb dd                	jmp    0x6b59
-    6b7c:	89 f2                	mov    %esi,%edx
-    6b7e:	eb 90                	jmp    0x6b10
-    6b80:	8b 95 48 fe ff ff    	mov    -0x1b8(%ebp),%edx
-    6b86:	89 bd 6c fe ff ff    	mov    %edi,-0x194(%ebp)
-    6b8c:	8b 8d 38 fe ff ff    	mov    -0x1c8(%ebp),%ecx
-    6b92:	29 f2                	sub    %esi,%edx
-    6b94:	8b b5 6c fe ff ff    	mov    -0x194(%ebp),%esi
-    6b9a:	8d 3c 0a             	lea    (%edx,%ecx,1),%edi
-    6b9d:	0f b6 36             	movzbl (%esi),%esi
-    6ba0:	c7 85 4c fe ff ff 0a 	movl   $0xa,-0x1b4(%ebp)
-    6ba7:	00 00 00 
-    6baa:	89 b5 68 fe ff ff    	mov    %esi,-0x198(%ebp)
-    6bb0:	e9 d8 9d ff ff       	jmp    0x98d
-    6bb5:	8b bd 6c fe ff ff    	mov    -0x194(%ebp),%edi
-    6bbb:	eb 9c                	jmp    0x6b59
-    6bbd:	89 bd 5c fe ff ff    	mov    %edi,-0x1a4(%ebp)
-    6bc3:	8b 9d 68 fe ff ff    	mov    -0x198(%ebp),%ebx
-    6bc9:	89 8d 70 fe ff ff    	mov    %ecx,-0x190(%ebp)
-    6bcf:	e9 02 ff ff ff       	jmp    0x6ad6
-    6bd4:	81 bd f8 fd ff ff 00 	cmpl   $0x100,-0x208(%ebp)
-    6bdb:	01 00 00 
-    6bde:	bf 00 01 00 00       	mov    $0x100,%edi
-    6be3:	0f 43 bd f8 fd ff ff 	cmovae -0x208(%ebp),%edi
-    6bea:	89 c8                	mov    %ecx,%eax
-    6bec:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
-    6bf3:	75 0a                	jne    0x6bff
-    6bf5:	81 ff 00 00 01 00    	cmp    $0x10000,%edi
-    6bfb:	76 30                	jbe    0x6c2d
-    6bfd:	31 c0                	xor    %eax,%eax
-    6bff:	89 8d e8 fd ff ff    	mov    %ecx,-0x218(%ebp)
-    6c05:	89 7c 24 04          	mov    %edi,0x4(%esp)
-    6c09:	89 04 24             	mov    %eax,(%esp)
-    6c0c:	e8 fc ff ff ff       	call   0x6c0d
-    6c11:	8b 8d e8 fd ff ff    	mov    -0x218(%ebp),%ecx
-    6c17:	85 c0                	test   %eax,%eax
-    6c19:	89 c3                	mov    %eax,%ebx
-    6c1b:	74 6f                	je     0x6c8c
-    6c1d:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
-    6c24:	74 42                	je     0x6c68
-    6c26:	89 d9                	mov    %ebx,%ecx
-    6c28:	e9 f4 fb ff ff       	jmp    0x6821
-    6c2d:	8d 47 12             	lea    0x12(%edi),%eax
-    6c30:	8b 95 38 fe ff ff    	mov    -0x1c8(%ebp),%edx
-    6c36:	83 e0 fc             	and    $0xfffffffc,%eax
-    6c39:	29 c4                	sub    %eax,%esp
-    6c3b:	8d 5c 24 1f          	lea    0x1f(%esp),%ebx
-    6c3f:	83 e3 f0             	and    $0xfffffff0,%ebx
-    6c42:	01 fa                	add    %edi,%edx
-    6c44:	8d 04 3b             	lea    (%ebx,%edi,1),%eax
-    6c47:	39 c1                	cmp    %eax,%ecx
-    6c49:	0f 44 fa             	cmove  %edx,%edi
-    6c4c:	85 c9                	test   %ecx,%ecx
-    6c4e:	74 d6                	je     0x6c26
-    6c50:	8b 85 38 fe ff ff    	mov    -0x1c8(%ebp),%eax
-    6c56:	89 4c 24 04          	mov    %ecx,0x4(%esp)
-    6c5a:	89 1c 24             	mov    %ebx,(%esp)
-    6c5d:	89 44 24 08          	mov    %eax,0x8(%esp)
-    6c61:	e8 fc ff ff ff       	call   0x6c62
-    6c66:	eb be                	jmp    0x6c26
-    6c68:	8b 95 38 fe ff ff    	mov    -0x1c8(%ebp),%edx
-    6c6e:	89 4c 24 04          	mov    %ecx,0x4(%esp)
-    6c72:	89 04 24             	mov    %eax,(%esp)
-    6c75:	89 54 24 08          	mov    %edx,0x8(%esp)
-    6c79:	e8 fc ff ff ff       	call   0x6c7a
-    6c7e:	89 d9                	mov    %ebx,%ecx
-    6c80:	c6 85 2b fe ff ff 01 	movb   $0x1,-0x1d5(%ebp)
-    6c87:	e9 95 fb ff ff       	jmp    0x6821
-    6c8c:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
-    6c93:	89 85 50 fe ff ff    	mov    %eax,-0x1b0(%ebp)
-    6c99:	8b 9d 68 fe ff ff    	mov    -0x198(%ebp),%ebx
-    6c9f:	89 8d 70 fe ff ff    	mov    %ecx,-0x190(%ebp)
-    6ca5:	0f 84 d4 d2 ff ff    	je     0x3f7f
-    6cab:	e9 fb dd ff ff       	jmp    0x4aab
-    6cb0:	89 bd 5c fe ff ff    	mov    %edi,-0x1a4(%ebp)
-    6cb6:	8b 9d 68 fe ff ff    	mov    -0x198(%ebp),%ebx
-    6cbc:	89 8d 70 fe ff ff    	mov    %ecx,-0x190(%ebp)
-    6cc2:	e9 07 fe ff ff       	jmp    0x6ace
-    6cc7:	8b bd 38 fe ff ff    	mov    -0x1c8(%ebp),%edi
-    6ccd:	89 b5 68 fe ff ff    	mov    %esi,-0x198(%ebp)
-    6cd3:	c7 85 4c fe ff ff 0a 	movl   $0xa,-0x1b4(%ebp)
-    6cda:	00 00 00 
-    6cdd:	e9 ab 9c ff ff       	jmp    0x98d
-    6ce2:	8b 8d 68 fe ff ff    	mov    -0x198(%ebp),%ecx
-    6ce8:	8b bc 8d 74 ff ff ff 	mov    -0x8c(%ebp,%ecx,4),%edi
-    6cef:	e9 40 f7 ff ff       	jmp    0x6434
-    6cf4:	8b 85 68 fe ff ff    	mov    -0x198(%ebp),%eax
-    6cfa:	8b bc 85 78 fe ff ff 	mov    -0x188(%ebp,%eax,4),%edi
-    6d01:	89 bc 85 74 ff ff ff 	mov    %edi,-0x8c(%ebp,%eax,4)
-    6d08:	e9 e1 f6 ff ff       	jmp    0x63ee
-    6d0d:	89 b5 68 fe ff ff    	mov    %esi,-0x198(%ebp)
-    6d13:	8b bd 38 fe ff ff    	mov    -0x1c8(%ebp),%edi
-    6d19:	c7 85 4c fe ff ff 0a 	movl   $0xa,-0x1b4(%ebp)
-    6d20:	00 00 00 
-    6d23:	e9 65 9c ff ff       	jmp    0x98d
-    6d28:	8b 8d 50 fe ff ff    	mov    -0x1b0(%ebp),%ecx
-    6d2e:	8d 75 cc             	lea    -0x34(%ebp),%esi
-    6d31:	8d bd 74 ff ff ff    	lea    -0x8c(%ebp),%edi
-    6d37:	89 b5 e4 fd ff ff    	mov    %esi,-0x21c(%ebp)
-    6d3d:	be 30 00 00 00       	mov    $0x30,%esi
-    6d42:	89 bd 64 fe ff ff    	mov    %edi,-0x19c(%ebp)
-    6d48:	89 8d 4c fe ff ff    	mov    %ecx,-0x1b4(%ebp)
-    6d4e:	89 9d 2c fe ff ff    	mov    %ebx,-0x1d4(%ebp)
-    6d54:	8b 85 04 fe ff ff    	mov    -0x1fc(%ebp),%eax
-    6d5a:	8b 95 64 fe ff ff    	mov    -0x19c(%ebp),%edx
-    6d60:	8b 8d fc fd ff ff    	mov    -0x204(%ebp),%ecx
-    6d66:	8b 5c b0 b8          	mov    -0x48(%eax,%esi,4),%ebx
-    6d6a:	89 9c b2 40 ff ff ff 	mov    %ebx,-0xc0(%edx,%esi,4)
-    6d71:	89 4c 24 04          	mov    %ecx,0x4(%esp)
-    6d75:	89 34 24             	mov    %esi,(%esp)
-    6d78:	e8 fc ff ff ff       	call   0x6d79
-    6d7d:	8b bd e4 fd ff ff    	mov    -0x21c(%ebp),%edi
-    6d83:	b9 02 00 00 00       	mov    $0x2,%ecx
-    6d88:	89 c2                	mov    %eax,%edx
-    6d8a:	31 c0                	xor    %eax,%eax
-    6d8c:	f3 ab                	rep stos %eax,%es:(%edi)
-    6d8e:	8d 4d cc             	lea    -0x34(%ebp),%ecx
-    6d91:	8d 7d 9c             	lea    -0x64(%ebp),%edi
-    6d94:	89 4c 24 08          	mov    %ecx,0x8(%esp)
-    6d98:	89 54 24 04          	mov    %edx,0x4(%esp)
-    6d9c:	89 3c 24             	mov    %edi,(%esp)
-    6d9f:	e8 fc ff ff ff       	call   0x6da0
-    6da4:	83 f8 ff             	cmp    $0xffffffff,%eax
-    6da7:	89 85 6c fe ff ff    	mov    %eax,-0x194(%ebp)
-    6dad:	0f 84 7e 01 00 00    	je     0x6f31
-    6db3:	89 d8                	mov    %ebx,%eax
-    6db5:	31 ff                	xor    %edi,%edi
-    6db7:	3b bd 50 fe ff ff    	cmp    -0x1b0(%ebp),%edi
-    6dbd:	0f 8d d8 00 00 00    	jge    0x6e9b
-    6dc3:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
-    6dca:	00 
-    6dcb:	83 c7 01             	add    $0x1,%edi
-    6dce:	89 04 24             	mov    %eax,(%esp)
-    6dd1:	e8 fc ff ff ff       	call   0x6dd2
-    6dd6:	83 c0 01             	add    $0x1,%eax
-    6dd9:	eb dc                	jmp    0x6db7
-    6ddb:	89 1c 24             	mov    %ebx,(%esp)
-    6dde:	e8 fc ff ff ff       	call   0x6ddf
-    6de3:	83 f8 ff             	cmp    $0xffffffff,%eax
-    6de6:	89 85 68 fe ff ff    	mov    %eax,-0x198(%ebp)
-    6dec:	0f 85 98 ab ff ff    	jne    0x198a
-    6df2:	a1 00 00 00 00       	mov    0x0,%eax
-    6df7:	8b bd 50 fe ff ff    	mov    -0x1b0(%ebp),%edi
-    6dfd:	c7 85 38 fe ff ff 01 	movl   $0x1,-0x1c8(%ebp)
-    6e04:	00 00 00 
-    6e07:	65 8b 00             	mov    %gs:(%eax),%eax
-    6e0a:	89 bd 70 fe ff ff    	mov    %edi,-0x190(%ebp)
-    6e10:	89 85 3c fe ff ff    	mov    %eax,-0x1c4(%ebp)
-    6e16:	e9 99 ab ff ff       	jmp    0x19b4
-    6e1b:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
-    6e22:	0f 84 f1 00 00 00    	je     0x6f19
-    6e28:	8b 85 70 fe ff ff    	mov    -0x190(%ebp),%eax
-    6e2e:	c7 44 24 04 00 01 00 	movl   $0x100,0x4(%esp)
-    6e35:	00 
-    6e36:	89 04 24             	mov    %eax,(%esp)
-    6e39:	e8 fc ff ff ff       	call   0x6e3a
-    6e3e:	85 c0                	test   %eax,%eax
-    6e40:	89 85 50 fe ff ff    	mov    %eax,-0x1b0(%ebp)
-    6e46:	0f 84 8b d8 ff ff    	je     0x46d7
-    6e4c:	c7 85 5c fe ff ff 00 	movl   $0x100,-0x1a4(%ebp)
-    6e53:	01 00 00 
-    6e56:	e9 f3 aa ff ff       	jmp    0x194e
-    6e5b:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
-    6e62:	0f 84 de 00 00 00    	je     0x6f46
-    6e68:	8b b5 70 fe ff ff    	mov    -0x190(%ebp),%esi
-    6e6e:	c7 44 24 04 00 01 00 	movl   $0x100,0x4(%esp)
-    6e75:	00 
-    6e76:	89 34 24             	mov    %esi,(%esp)
-    6e79:	e8 fc ff ff ff       	call   0x6e7a
-    6e7e:	85 c0                	test   %eax,%eax
-    6e80:	89 85 50 fe ff ff    	mov    %eax,-0x1b0(%ebp)
-    6e86:	0f 84 a6 e0 ff ff    	je     0x4f32
-    6e8c:	c7 85 5c fe ff ff 00 	movl   $0x100,-0x1a4(%ebp)
-    6e93:	01 00 00 
-    6e96:	e9 79 aa ff ff       	jmp    0x1914
-    6e9b:	8b 8d 6c fe ff ff    	mov    -0x194(%ebp),%ecx
-    6ea1:	29 d8                	sub    %ebx,%eax
-    6ea3:	8d 54 08 13          	lea    0x13(%eax,%ecx,1),%edx
-    6ea7:	83 e2 fc             	and    $0xfffffffc,%edx
-    6eaa:	29 d4                	sub    %edx,%esp
-    6eac:	8d 7c 24 1f          	lea    0x1f(%esp),%edi
-    6eb0:	83 e7 f0             	and    $0xfffffff0,%edi
-    6eb3:	89 44 24 08          	mov    %eax,0x8(%esp)
-    6eb7:	89 5c 24 04          	mov    %ebx,0x4(%esp)
-    6ebb:	89 3c 24             	mov    %edi,(%esp)
-    6ebe:	e8 fc ff ff ff       	call   0x6ebf
-    6ec3:	8b 95 6c fe ff ff    	mov    -0x194(%ebp),%edx
-    6ec9:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
-    6ecc:	89 4c 24 04          	mov    %ecx,0x4(%esp)
-    6ed0:	89 54 24 08          	mov    %edx,0x8(%esp)
-    6ed4:	89 04 24             	mov    %eax,(%esp)
-    6ed7:	e8 fc ff ff ff       	call   0x6ed8
-    6edc:	c6 00 00             	movb   $0x0,(%eax)
-    6edf:	89 bc b5 b8 fd ff ff 	mov    %edi,-0x248(%ebp,%esi,4)
-    6ee6:	83 c6 01             	add    $0x1,%esi
-    6ee9:	83 fe 3a             	cmp    $0x3a,%esi
-    6eec:	0f 85 62 fe ff ff    	jne    0x6d54
-    6ef2:	8b 9d 2c fe ff ff    	mov    -0x1d4(%ebp),%ebx
-    6ef8:	e9 70 f4 ff ff       	jmp    0x636d
-    6efd:	89 1c 24             	mov    %ebx,(%esp)
-    6f00:	e8 fc ff ff ff       	call   0x6f01
-    6f05:	83 f8 ff             	cmp    $0xffffffff,%eax
-    6f08:	89 85 68 fe ff ff    	mov    %eax,-0x198(%ebp)
-    6f0e:	0f 84 32 95 ff ff    	je     0x446
-    6f14:	e9 d4 a9 ff ff       	jmp    0x18ed
-    6f19:	81 ec 10 01 00 00    	sub    $0x110,%esp
-    6f1f:	8d 4c 24 1f          	lea    0x1f(%esp),%ecx
-    6f23:	83 e1 f0             	and    $0xfffffff0,%ecx
-    6f26:	89 8d 50 fe ff ff    	mov    %ecx,-0x1b0(%ebp)
-    6f2c:	e9 1b ff ff ff       	jmp    0x6e4c
-    6f31:	8b 9d 2c fe ff ff    	mov    -0x1d4(%ebp),%ebx
-    6f37:	c7 85 fc fd ff ff 00 	movl   $0x0,-0x204(%ebp)
-    6f3e:	00 00 00 
-    6f41:	e9 27 f4 ff ff       	jmp    0x636d
-    6f46:	81 ec 10 01 00 00    	sub    $0x110,%esp
-    6f4c:	8d 44 24 1f          	lea    0x1f(%esp),%eax
-    6f50:	83 e0 f0             	and    $0xfffffff0,%eax
-    6f53:	89 85 50 fe ff ff    	mov    %eax,-0x1b0(%ebp)
-    6f59:	e9 2e ff ff ff       	jmp    0x6e8c
-    6f5e:	8d 34 12             	lea    (%edx,%edx,1),%esi
-    6f61:	b8 00 01 00 00       	mov    $0x100,%eax
-    6f66:	81 fe 00 01 00 00    	cmp    $0x100,%esi
-    6f6c:	0f 42 f0             	cmovb  %eax,%esi
-    6f6f:	8b 85 70 fe ff ff    	mov    -0x190(%ebp),%eax
-    6f75:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
-    6f7c:	75 0e                	jne    0x6f8c
-    6f7e:	81 fe 00 00 01 00    	cmp    $0x10000,%esi
-    6f84:	0f 86 4f 01 00 00    	jbe    0x70d9
-    6f8a:	31 c0                	xor    %eax,%eax
-    6f8c:	89 95 ec fd ff ff    	mov    %edx,-0x214(%ebp)
-    6f92:	89 74 24 04          	mov    %esi,0x4(%esp)
-    6f96:	89 04 24             	mov    %eax,(%esp)
-    6f99:	e8 fc ff ff ff       	call   0x6f9a
-    6f9e:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
-    6fa4:	85 c0                	test   %eax,%eax
-    6fa6:	89 85 50 fe ff ff    	mov    %eax,-0x1b0(%ebp)
-    6fac:	0f 84 5e 02 00 00    	je     0x7210
-    6fb2:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
-    6fb9:	89 b5 5c fe ff ff    	mov    %esi,-0x1a4(%ebp)
-    6fbf:	0f 85 b5 bc ff ff    	jne    0x2c7a
-    6fc5:	8b bd 70 fe ff ff    	mov    -0x190(%ebp),%edi
-    6fcb:	8b 85 50 fe ff ff    	mov    -0x1b0(%ebp),%eax
-    6fd1:	89 54 24 08          	mov    %edx,0x8(%esp)
-    6fd5:	89 95 ec fd ff ff    	mov    %edx,-0x214(%ebp)
-    6fdb:	89 7c 24 04          	mov    %edi,0x4(%esp)
-    6fdf:	89 04 24             	mov    %eax,(%esp)
-    6fe2:	e8 fc ff ff ff       	call   0x6fe3
-    6fe7:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
-    6fed:	89 b5 5c fe ff ff    	mov    %esi,-0x1a4(%ebp)
-    6ff3:	c6 85 2b fe ff ff 01 	movb   $0x1,-0x1d5(%ebp)
-    6ffa:	e9 7b bc ff ff       	jmp    0x2c7a
-    6fff:	89 1c 24             	mov    %ebx,(%esp)
-    7002:	e8 fc ff ff ff       	call   0x7003
-    7007:	83 f8 ff             	cmp    $0xffffffff,%eax
-    700a:	89 c6                	mov    %eax,%esi
-    700c:	0f 85 c6 aa ff ff    	jne    0x1ad8
-    7012:	89 85 68 fe ff ff    	mov    %eax,-0x198(%ebp)
-    7018:	a1 00 00 00 00       	mov    0x0,%eax
-    701d:	8b b5 6c fe ff ff    	mov    -0x194(%ebp),%esi
-    7023:	65 8b 00             	mov    %gs:(%eax),%eax
-    7026:	89 85 3c fe ff ff    	mov    %eax,-0x1c4(%ebp)
-    702c:	e9 e8 aa ff ff       	jmp    0x1b19
-    7031:	89 1c 24             	mov    %ebx,(%esp)
-    7034:	e8 fc ff ff ff       	call   0x7035
-    7039:	83 f8 ff             	cmp    $0xffffffff,%eax
-    703c:	89 85 68 fe ff ff    	mov    %eax,-0x198(%ebp)
-    7042:	0f 84 fe 93 ff ff    	je     0x446
-    7048:	e9 ca bb ff ff       	jmp    0x2c17
-    704d:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
-    7054:	0f 84 dd 00 00 00    	je     0x7137
-    705a:	8b bd 70 fe ff ff    	mov    -0x190(%ebp),%edi
-    7060:	c7 44 24 04 00 01 00 	movl   $0x100,0x4(%esp)
-    7067:	00 
-    7068:	89 3c 24             	mov    %edi,(%esp)
-    706b:	e8 fc ff ff ff       	call   0x706c
-    7070:	85 c0                	test   %eax,%eax
-    7072:	89 85 50 fe ff ff    	mov    %eax,-0x1b0(%ebp)
-    7078:	0f 84 43 e4 ff ff    	je     0x54c1
-    707e:	89 85 70 fe ff ff    	mov    %eax,-0x190(%ebp)
-    7084:	c7 85 5c fe ff ff 00 	movl   $0x100,-0x1a4(%ebp)
-    708b:	01 00 00 
-    708e:	e9 51 bb ff ff       	jmp    0x2be4
-    7093:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
-    709a:	0f 84 d8 00 00 00    	je     0x7178
-    70a0:	8b bd 70 fe ff ff    	mov    -0x190(%ebp),%edi
-    70a6:	c7 44 24 04 00 01 00 	movl   $0x100,0x4(%esp)
-    70ad:	00 
-    70ae:	89 3c 24             	mov    %edi,(%esp)
-    70b1:	e8 fc ff ff ff       	call   0x70b2
-    70b6:	85 c0                	test   %eax,%eax
-    70b8:	89 85 50 fe ff ff    	mov    %eax,-0x1b0(%ebp)
-    70be:	0f 84 fd e3 ff ff    	je     0x54c1
-    70c4:	89 85 70 fe ff ff    	mov    %eax,-0x190(%ebp)
-    70ca:	c7 85 5c fe ff ff 00 	movl   $0x100,-0x1a4(%ebp)
-    70d1:	01 00 00 
-    70d4:	e9 65 bb ff ff       	jmp    0x2c3e
-    70d9:	8d 46 12             	lea    0x12(%esi),%eax
-    70dc:	83 e0 fc             	and    $0xfffffffc,%eax
-    70df:	29 c4                	sub    %eax,%esp
-    70e1:	8d 7c 24 1f          	lea    0x1f(%esp),%edi
-    70e5:	83 e7 f0             	and    $0xfffffff0,%edi
-    70e8:	8d 04 37             	lea    (%edi,%esi,1),%eax
-    70eb:	39 85 70 fe ff ff    	cmp    %eax,-0x190(%ebp)
-    70f1:	8d 0c 32             	lea    (%edx,%esi,1),%ecx
-    70f4:	0f 44 f1             	cmove  %ecx,%esi
-    70f7:	83 bd 70 fe ff ff 00 	cmpl   $0x0,-0x190(%ebp)
-    70fe:	0f 84 b7 00 00 00    	je     0x71bb
-    7104:	8b 8d 70 fe ff ff    	mov    -0x190(%ebp),%ecx
-    710a:	89 54 24 08          	mov    %edx,0x8(%esp)
-    710e:	89 95 ec fd ff ff    	mov    %edx,-0x214(%ebp)
-    7114:	89 3c 24             	mov    %edi,(%esp)
-    7117:	89 4c 24 04          	mov    %ecx,0x4(%esp)
-    711b:	e8 fc ff ff ff       	call   0x711c
-    7120:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
-    7126:	89 b5 5c fe ff ff    	mov    %esi,-0x1a4(%ebp)
-    712c:	89 bd 50 fe ff ff    	mov    %edi,-0x1b0(%ebp)
-    7132:	e9 43 bb ff ff       	jmp    0x2c7a
-    7137:	81 ec 10 01 00 00    	sub    $0x110,%esp
-    713d:	8b bd 70 fe ff ff    	mov    -0x190(%ebp),%edi
-    7143:	8d 44 24 1f          	lea    0x1f(%esp),%eax
-    7147:	83 e0 f0             	and    $0xfffffff0,%eax
-    714a:	8d 90 00 01 00 00    	lea    0x100(%eax),%edx
-    7150:	39 95 70 fe ff ff    	cmp    %edx,-0x190(%ebp)
-    7156:	0f b6 0f             	movzbl (%edi),%ecx
-    7159:	0f 94 c2             	sete   %dl
-    715c:	0f b6 d2             	movzbl %dl,%edx
-    715f:	81 c2 00 01 00 00    	add    $0x100,%edx
-    7165:	88 08                	mov    %cl,(%eax)
-    7167:	89 95 5c fe ff ff    	mov    %edx,-0x1a4(%ebp)
-    716d:	89 85 70 fe ff ff    	mov    %eax,-0x190(%ebp)
-    7173:	e9 6c ba ff ff       	jmp    0x2be4
-    7178:	81 ec 10 01 00 00    	sub    $0x110,%esp
-    717e:	8b b5 70 fe ff ff    	mov    -0x190(%ebp),%esi
-    7184:	8d 44 24 1f          	lea    0x1f(%esp),%eax
-    7188:	83 e0 f0             	and    $0xfffffff0,%eax
-    718b:	8d 90 00 01 00 00    	lea    0x100(%eax),%edx
-    7191:	39 95 70 fe ff ff    	cmp    %edx,-0x190(%ebp)
-    7197:	0f b7 0e             	movzwl (%esi),%ecx
-    719a:	0f 94 c2             	sete   %dl
-    719d:	0f b6 d2             	movzbl %dl,%edx
-    71a0:	8d 94 12 00 01 00 00 	lea    0x100(%edx,%edx,1),%edx
-    71a7:	66 89 08             	mov    %cx,(%eax)
-    71aa:	89 95 5c fe ff ff    	mov    %edx,-0x1a4(%ebp)
-    71b0:	89 85 70 fe ff ff    	mov    %eax,-0x190(%ebp)
-    71b6:	e9 83 ba ff ff       	jmp    0x2c3e
-    71bb:	89 b5 5c fe ff ff    	mov    %esi,-0x1a4(%ebp)
-    71c1:	89 bd 50 fe ff ff    	mov    %edi,-0x1b0(%ebp)
-    71c7:	e9 ae ba ff ff       	jmp    0x2c7a
-    71cc:	be 01 00 00 00       	mov    $0x1,%esi
-    71d1:	e9 81 92 ff ff       	jmp    0x457
-    71d6:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
-    71dd:	89 85 50 fe ff ff    	mov    %eax,-0x1b0(%ebp)
-    71e3:	0f 84 96 cd ff ff    	je     0x3f7f
-    71e9:	e9 f8 d9 ff ff       	jmp    0x4be6
-    71ee:	a1 00 00 00 00       	mov    0x0,%eax
-    71f3:	be 04 00 00 00       	mov    $0x4,%esi
-    71f8:	8b bd 70 fe ff ff    	mov    -0x190(%ebp),%edi
-    71fe:	65 c7 00 56 00 00 00 	movl   $0x56,%gs:(%eax)
-    7205:	89 bd 50 fe ff ff    	mov    %edi,-0x1b0(%ebp)
-    720b:	e9 47 92 ff ff       	jmp    0x457
-    7210:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
-    7217:	0f 84 62 cd ff ff    	je     0x3f7f
-    721d:	e9 c4 d9 ff ff       	jmp    0x4be6
-    7222:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
-    7229:	8d bc 27 00 00 00 00 	lea    0x0(%edi,%eiz,1),%edi
-    7230:	55                   	push   %ebp
-    7231:	89 e5                	mov    %esp,%ebp
-    7233:	83 ec 10             	sub    $0x10,%esp
-    7236:	8b 45 10             	mov    0x10(%ebp),%eax
-    7239:	c7 44 24 0c 00 00 00 	movl   $0x0,0xc(%esp)
-    7240:	00 
-    7241:	89 44 24 08          	mov    %eax,0x8(%esp)
-    7245:	8b 45 0c             	mov    0xc(%ebp),%eax
-    7248:	89 44 24 04          	mov    %eax,0x4(%esp)
-    724c:	8b 45 08             	mov    0x8(%ebp),%eax
-    724f:	89 04 24             	mov    %eax,(%esp)
-    7252:	e8 fc ff ff ff       	call   0x7253
-    7257:	c9                   	leave  
-    7258:	c3                   	ret    
+    56e2:	89 1c 24             	mov    %ebx,(%esp)
+    56e5:	e8 fc ff ff ff       	call   0x56e6
+    56ea:	83 f8 ff             	cmp    $0xffffffff,%eax
+    56ed:	89 85 68 fe ff ff    	mov    %eax,-0x198(%ebp)
+    56f3:	0f 85 aa d9 ff ff    	jne    0x30a3
+    56f9:	a1 00 00 00 00       	mov    0x0,%eax
+    56fe:	ba 03 00 00 00       	mov    $0x3,%edx
+    5703:	65 8b 00             	mov    %gs:(%eax),%eax
+    5706:	89 85 3c fe ff ff    	mov    %eax,-0x1c4(%ebp)
+    570c:	e9 51 d5 ff ff       	jmp    0x2c62
+    5711:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
+    5718:	74 7b                	je     0x5795
+    571a:	8b bd 70 fe ff ff    	mov    -0x190(%ebp),%edi
+    5720:	c7 44 24 04 00 01 00 	movl   $0x100,0x4(%esp)
+    5727:	00 
+    5728:	89 3c 24             	mov    %edi,(%esp)
+    572b:	e8 fc ff ff ff       	call   0x572c
+    5730:	85 c0                	test   %eax,%eax
+    5732:	89 85 50 fe ff ff    	mov    %eax,-0x1b0(%ebp)
+    5738:	0f 84 b2 fd ff ff    	je     0x54f0
+    573e:	89 85 70 fe ff ff    	mov    %eax,-0x190(%ebp)
+    5744:	c7 85 5c fe ff ff 00 	movl   $0x100,-0x1a4(%ebp)
+    574b:	01 00 00 
+    574e:	e9 04 d9 ff ff       	jmp    0x3057
+    5753:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
+    575a:	74 7c                	je     0x57d8
+    575c:	8b bd 70 fe ff ff    	mov    -0x190(%ebp),%edi
+    5762:	c7 44 24 04 00 01 00 	movl   $0x100,0x4(%esp)
+    5769:	00 
+    576a:	89 3c 24             	mov    %edi,(%esp)
+    576d:	e8 fc ff ff ff       	call   0x576e
+    5772:	85 c0                	test   %eax,%eax
+    5774:	89 85 50 fe ff ff    	mov    %eax,-0x1b0(%ebp)
+    577a:	0f 84 70 fd ff ff    	je     0x54f0
+    5780:	89 85 70 fe ff ff    	mov    %eax,-0x190(%ebp)
+    5786:	c7 85 5c fe ff ff 00 	movl   $0x100,-0x1a4(%ebp)
+    578d:	01 00 00 
+    5790:	e9 24 ff ff ff       	jmp    0x56b9
+    5795:	81 ec 10 01 00 00    	sub    $0x110,%esp
+    579b:	8b b5 70 fe ff ff    	mov    -0x190(%ebp),%esi
+    57a1:	8d 44 24 1f          	lea    0x1f(%esp),%eax
+    57a5:	83 e0 f0             	and    $0xfffffff0,%eax
+    57a8:	8d 90 00 01 00 00    	lea    0x100(%eax),%edx
+    57ae:	39 95 70 fe ff ff    	cmp    %edx,-0x190(%ebp)
+    57b4:	0f b7 0e             	movzwl (%esi),%ecx
+    57b7:	0f 94 c2             	sete   %dl
+    57ba:	0f b6 d2             	movzbl %dl,%edx
+    57bd:	8d 94 12 00 01 00 00 	lea    0x100(%edx,%edx,1),%edx
+    57c4:	66 89 08             	mov    %cx,(%eax)
+    57c7:	89 95 5c fe ff ff    	mov    %edx,-0x1a4(%ebp)
+    57cd:	89 85 70 fe ff ff    	mov    %eax,-0x190(%ebp)
+    57d3:	e9 7f d8 ff ff       	jmp    0x3057
+    57d8:	81 ec 10 01 00 00    	sub    $0x110,%esp
+    57de:	8b b5 70 fe ff ff    	mov    -0x190(%ebp),%esi
+    57e4:	8d 44 24 1f          	lea    0x1f(%esp),%eax
+    57e8:	8b 8d 5c fe ff ff    	mov    -0x1a4(%ebp),%ecx
+    57ee:	83 e0 f0             	and    $0xfffffff0,%eax
+    57f1:	8d 90 00 01 00 00    	lea    0x100(%eax),%edx
+    57f7:	89 c7                	mov    %eax,%edi
+    57f9:	39 95 70 fe ff ff    	cmp    %edx,-0x190(%ebp)
+    57ff:	ba 07 01 00 00       	mov    $0x107,%edx
+    5804:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
+    5806:	89 85 70 fe ff ff    	mov    %eax,-0x190(%ebp)
+    580c:	66 b9 00 01          	mov    $0x100,%cx
+    5810:	0f 44 ca             	cmove  %edx,%ecx
+    5813:	89 8d 5c fe ff ff    	mov    %ecx,-0x1a4(%ebp)
+    5819:	e9 9b fe ff ff       	jmp    0x56b9
+    581e:	89 1c 24             	mov    %ebx,(%esp)
+    5821:	e8 fc ff ff ff       	call   0x5822
+    5826:	83 f8 ff             	cmp    $0xffffffff,%eax
+    5829:	89 85 68 fe ff ff    	mov    %eax,-0x198(%ebp)
+    582f:	0f 85 5d fe ff ff    	jne    0x5692
+    5835:	e9 0c ac ff ff       	jmp    0x446
+    583a:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
+    5841:	0f 84 af 00 00 00    	je     0x58f6
+    5847:	8b 85 70 fe ff ff    	mov    -0x190(%ebp),%eax
+    584d:	c7 44 24 04 00 01 00 	movl   $0x100,0x4(%esp)
+    5854:	00 
+    5855:	89 04 24             	mov    %eax,(%esp)
+    5858:	e8 fc ff ff ff       	call   0x5859
+    585d:	85 c0                	test   %eax,%eax
+    585f:	89 85 50 fe ff ff    	mov    %eax,-0x1b0(%ebp)
+    5865:	74 70                	je     0x58d7
+    5867:	89 85 70 fe ff ff    	mov    %eax,-0x190(%ebp)
+    586d:	c7 85 5c fe ff ff 00 	movl   $0x100,-0x1a4(%ebp)
+    5874:	01 00 00 
+    5877:	e9 e3 fd ff ff       	jmp    0x565f
+    587c:	89 1c 24             	mov    %ebx,(%esp)
+    587f:	e8 fc ff ff ff       	call   0x5880
+    5884:	83 f8 ff             	cmp    $0xffffffff,%eax
+    5887:	89 c6                	mov    %eax,%esi
+    5889:	0f 85 99 fd ff ff    	jne    0x5628
+    588f:	90                   	nop
+    5890:	e9 b1 ab ff ff       	jmp    0x446
+    5895:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
+    589c:	0f 84 a6 00 00 00    	je     0x5948
+    58a2:	8b 85 70 fe ff ff    	mov    -0x190(%ebp),%eax
+    58a8:	c7 44 24 04 00 01 00 	movl   $0x100,0x4(%esp)
+    58af:	00 
+    58b0:	89 04 24             	mov    %eax,(%esp)
+    58b3:	e8 fc ff ff ff       	call   0x58b4
+    58b8:	85 c0                	test   %eax,%eax
+    58ba:	89 85 50 fe ff ff    	mov    %eax,-0x1b0(%ebp)
+    58c0:	74 15                	je     0x58d7
+    58c2:	89 85 70 fe ff ff    	mov    %eax,-0x190(%ebp)
+    58c8:	c7 85 5c fe ff ff 00 	movl   $0x100,-0x1a4(%ebp)
+    58cf:	01 00 00 
+    58d2:	e9 24 fd ff ff       	jmp    0x55fb
+    58d7:	8b 95 70 fe ff ff    	mov    -0x190(%ebp),%edx
+    58dd:	31 f6                	xor    %esi,%esi
+    58df:	89 14 24             	mov    %edx,(%esp)
+    58e2:	e8 fc ff ff ff       	call   0x58e3
+    58e7:	c7 85 34 fe ff ff ff 	movl   $0xffffffff,-0x1cc(%ebp)
+    58ee:	ff ff ff 
+    58f1:	e9 61 ab ff ff       	jmp    0x457
+    58f6:	8b 8d 70 fe ff ff    	mov    -0x190(%ebp),%ecx
+    58fc:	81 ec 10 01 00 00    	sub    $0x110,%esp
+    5902:	8d 44 24 1f          	lea    0x1f(%esp),%eax
+    5906:	83 e0 f0             	and    $0xfffffff0,%eax
+    5909:	c7 85 5c fe ff ff 00 	movl   $0x100,-0x1a4(%ebp)
+    5910:	01 00 00 
+    5913:	8d 90 00 01 00 00    	lea    0x100(%eax),%edx
+    5919:	39 95 70 fe ff ff    	cmp    %edx,-0x190(%ebp)
+    591f:	8b 11                	mov    (%ecx),%edx
+    5921:	89 10                	mov    %edx,(%eax)
+    5923:	0f b7 51 04          	movzwl 0x4(%ecx),%edx
+    5927:	66 89 50 04          	mov    %dx,0x4(%eax)
+    592b:	ba 06 01 00 00       	mov    $0x106,%edx
+    5930:	0f 45 95 5c fe ff ff 	cmovne -0x1a4(%ebp),%edx
+    5937:	89 85 70 fe ff ff    	mov    %eax,-0x190(%ebp)
+    593d:	89 95 5c fe ff ff    	mov    %edx,-0x1a4(%ebp)
+    5943:	e9 17 fd ff ff       	jmp    0x565f
+    5948:	8b bd 70 fe ff ff    	mov    -0x190(%ebp),%edi
+    594e:	81 ec 10 01 00 00    	sub    $0x110,%esp
+    5954:	8d 44 24 1f          	lea    0x1f(%esp),%eax
+    5958:	83 e0 f0             	and    $0xfffffff0,%eax
+    595b:	8d 90 00 01 00 00    	lea    0x100(%eax),%edx
+    5961:	8b 0f                	mov    (%edi),%ecx
+    5963:	39 95 70 fe ff ff    	cmp    %edx,-0x190(%ebp)
+    5969:	89 08                	mov    %ecx,(%eax)
+    596b:	0f b6 4f 04          	movzbl 0x4(%edi),%ecx
+    596f:	0f 94 c2             	sete   %dl
+    5972:	0f b6 d2             	movzbl %dl,%edx
+    5975:	8d 94 92 00 01 00 00 	lea    0x100(%edx,%edx,4),%edx
+    597c:	88 48 04             	mov    %cl,0x4(%eax)
+    597f:	89 95 5c fe ff ff    	mov    %edx,-0x1a4(%ebp)
+    5985:	89 85 70 fe ff ff    	mov    %eax,-0x190(%ebp)
+    598b:	e9 6b fc ff ff       	jmp    0x55fb
+    5990:	89 1c 24             	mov    %ebx,(%esp)
+    5993:	e8 fc ff ff ff       	call   0x5994
+    5998:	83 f8 ff             	cmp    $0xffffffff,%eax
+    599b:	89 c6                	mov    %eax,%esi
+    599d:	0f 85 21 fc ff ff    	jne    0x55c4
+    59a3:	e9 9e aa ff ff       	jmp    0x446
+    59a8:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
+    59af:	90                   	nop
+    59b0:	0f 84 95 00 00 00    	je     0x5a4b
+    59b6:	8b 85 70 fe ff ff    	mov    -0x190(%ebp),%eax
+    59bc:	c7 44 24 04 00 01 00 	movl   $0x100,0x4(%esp)
+    59c3:	00 
+    59c4:	89 04 24             	mov    %eax,(%esp)
+    59c7:	e8 fc ff ff ff       	call   0x59c8
+    59cc:	85 c0                	test   %eax,%eax
+    59ce:	89 85 50 fe ff ff    	mov    %eax,-0x1b0(%ebp)
+    59d4:	0f 84 fd fe ff ff    	je     0x58d7
+    59da:	89 85 70 fe ff ff    	mov    %eax,-0x190(%ebp)
+    59e0:	c7 85 5c fe ff ff 00 	movl   $0x100,-0x1a4(%ebp)
+    59e7:	01 00 00 
+    59ea:	e9 a8 fb ff ff       	jmp    0x5597
+    59ef:	89 1c 24             	mov    %ebx,(%esp)
+    59f2:	e8 fc ff ff ff       	call   0x59f3
+    59f7:	83 f8 ff             	cmp    $0xffffffff,%eax
+    59fa:	89 c6                	mov    %eax,%esi
+    59fc:	0f 85 5e fb ff ff    	jne    0x5560
+    5a02:	e9 3f aa ff ff       	jmp    0x446
+    5a07:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
+    5a0e:	66 90                	xchg   %ax,%ax
+    5a10:	74 7a                	je     0x5a8c
+    5a12:	8b 85 70 fe ff ff    	mov    -0x190(%ebp),%eax
+    5a18:	c7 44 24 04 00 01 00 	movl   $0x100,0x4(%esp)
+    5a1f:	00 
+    5a20:	89 04 24             	mov    %eax,(%esp)
+    5a23:	e8 fc ff ff ff       	call   0x5a24
+    5a28:	85 c0                	test   %eax,%eax
+    5a2a:	89 85 50 fe ff ff    	mov    %eax,-0x1b0(%ebp)
+    5a30:	0f 84 a1 fe ff ff    	je     0x58d7
+    5a36:	89 85 70 fe ff ff    	mov    %eax,-0x190(%ebp)
+    5a3c:	c7 85 5c fe ff ff 00 	movl   $0x100,-0x1a4(%ebp)
+    5a43:	01 00 00 
+    5a46:	e9 e3 fa ff ff       	jmp    0x552e
+    5a4b:	81 ec 10 01 00 00    	sub    $0x110,%esp
+    5a51:	8b bd 70 fe ff ff    	mov    -0x190(%ebp),%edi
+    5a57:	8d 44 24 1f          	lea    0x1f(%esp),%eax
+    5a5b:	83 e0 f0             	and    $0xfffffff0,%eax
+    5a5e:	8d 90 00 01 00 00    	lea    0x100(%eax),%edx
+    5a64:	39 95 70 fe ff ff    	cmp    %edx,-0x190(%ebp)
+    5a6a:	8b 0f                	mov    (%edi),%ecx
+    5a6c:	0f 94 c2             	sete   %dl
+    5a6f:	0f b6 d2             	movzbl %dl,%edx
+    5a72:	8d 14 95 00 01 00 00 	lea    0x100(,%edx,4),%edx
+    5a79:	89 08                	mov    %ecx,(%eax)
+    5a7b:	89 95 5c fe ff ff    	mov    %edx,-0x1a4(%ebp)
+    5a81:	89 85 70 fe ff ff    	mov    %eax,-0x190(%ebp)
+    5a87:	e9 0b fb ff ff       	jmp    0x5597
+    5a8c:	8b b5 70 fe ff ff    	mov    -0x190(%ebp),%esi
+    5a92:	81 ec 10 01 00 00    	sub    $0x110,%esp
+    5a98:	8d 44 24 1f          	lea    0x1f(%esp),%eax
+    5a9c:	83 e0 f0             	and    $0xfffffff0,%eax
+    5a9f:	8d 90 00 01 00 00    	lea    0x100(%eax),%edx
+    5aa5:	0f b7 0e             	movzwl (%esi),%ecx
+    5aa8:	39 95 70 fe ff ff    	cmp    %edx,-0x190(%ebp)
+    5aae:	66 89 08             	mov    %cx,(%eax)
+    5ab1:	0f b6 4e 02          	movzbl 0x2(%esi),%ecx
+    5ab5:	0f 94 c2             	sete   %dl
+    5ab8:	0f b6 d2             	movzbl %dl,%edx
+    5abb:	8d 94 52 00 01 00 00 	lea    0x100(%edx,%edx,2),%edx
+    5ac2:	88 48 02             	mov    %cl,0x2(%eax)
+    5ac5:	89 95 5c fe ff ff    	mov    %edx,-0x1a4(%ebp)
+    5acb:	89 85 70 fe ff ff    	mov    %eax,-0x190(%ebp)
+    5ad1:	e9 58 fa ff ff       	jmp    0x552e
+    5ad6:	89 1c 24             	mov    %ebx,(%esp)
+    5ad9:	e8 fc ff ff ff       	call   0x5ada
+    5ade:	83 f8 ff             	cmp    $0xffffffff,%eax
+    5ae1:	89 85 68 fe ff ff    	mov    %eax,-0x198(%ebp)
+    5ae7:	0f 84 59 a9 ff ff    	je     0x446
+    5aed:	e9 2c d5 ff ff       	jmp    0x301e
+    5af2:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
+    5af9:	0f 84 93 00 00 00    	je     0x5b92
+    5aff:	8b bd 70 fe ff ff    	mov    -0x190(%ebp),%edi
+    5b05:	c7 44 24 04 00 01 00 	movl   $0x100,0x4(%esp)
+    5b0c:	00 
+    5b0d:	89 3c 24             	mov    %edi,(%esp)
+    5b10:	e8 fc ff ff ff       	call   0x5b11
+    5b15:	85 c0                	test   %eax,%eax
+    5b17:	89 85 50 fe ff ff    	mov    %eax,-0x1b0(%ebp)
+    5b1d:	0f 84 cd f9 ff ff    	je     0x54f0
+    5b23:	89 85 70 fe ff ff    	mov    %eax,-0x190(%ebp)
+    5b29:	c7 85 5c fe ff ff 00 	movl   $0x100,-0x1a4(%ebp)
+    5b30:	01 00 00 
+    5b33:	e9 b3 d4 ff ff       	jmp    0x2feb
+    5b38:	89 1c 24             	mov    %ebx,(%esp)
+    5b3b:	e8 fc ff ff ff       	call   0x5b3c
+    5b40:	83 f8 ff             	cmp    $0xffffffff,%eax
+    5b43:	89 c6                	mov    %eax,%esi
+    5b45:	0f 84 fb a8 ff ff    	je     0x446
+    5b4b:	e9 64 d4 ff ff       	jmp    0x2fb4
+    5b50:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
+    5b57:	74 7a                	je     0x5bd3
+    5b59:	8b 8d 70 fe ff ff    	mov    -0x190(%ebp),%ecx
+    5b5f:	c7 44 24 04 00 01 00 	movl   $0x100,0x4(%esp)
+    5b66:	00 
+    5b67:	89 0c 24             	mov    %ecx,(%esp)
+    5b6a:	e8 fc ff ff ff       	call   0x5b6b
+    5b6f:	85 c0                	test   %eax,%eax
+    5b71:	89 85 50 fe ff ff    	mov    %eax,-0x1b0(%ebp)
+    5b77:	0f 84 d6 f3 ff ff    	je     0x4f53
+    5b7d:	89 85 70 fe ff ff    	mov    %eax,-0x190(%ebp)
+    5b83:	c7 85 5c fe ff ff 00 	movl   $0x100,-0x1a4(%ebp)
+    5b8a:	01 00 00 
+    5b8d:	e9 e4 d3 ff ff       	jmp    0x2f76
+    5b92:	81 ec 10 01 00 00    	sub    $0x110,%esp
+    5b98:	8b bd 70 fe ff ff    	mov    -0x190(%ebp),%edi
+    5b9e:	8d 44 24 1f          	lea    0x1f(%esp),%eax
+    5ba2:	83 e0 f0             	and    $0xfffffff0,%eax
+    5ba5:	8d 90 00 01 00 00    	lea    0x100(%eax),%edx
+    5bab:	39 95 70 fe ff ff    	cmp    %edx,-0x190(%ebp)
+    5bb1:	0f b6 0f             	movzbl (%edi),%ecx
+    5bb4:	0f 94 c2             	sete   %dl
+    5bb7:	0f b6 d2             	movzbl %dl,%edx
+    5bba:	81 c2 00 01 00 00    	add    $0x100,%edx
+    5bc0:	88 08                	mov    %cl,(%eax)
+    5bc2:	89 95 5c fe ff ff    	mov    %edx,-0x1a4(%ebp)
+    5bc8:	89 85 70 fe ff ff    	mov    %eax,-0x190(%ebp)
+    5bce:	e9 18 d4 ff ff       	jmp    0x2feb
+    5bd3:	81 ec 10 01 00 00    	sub    $0x110,%esp
+    5bd9:	8d 7c 24 1f          	lea    0x1f(%esp),%edi
+    5bdd:	83 e7 f0             	and    $0xfffffff0,%edi
+    5be0:	89 bd 70 fe ff ff    	mov    %edi,-0x190(%ebp)
+    5be6:	c7 85 5c fe ff ff 00 	movl   $0x100,-0x1a4(%ebp)
+    5bed:	01 00 00 
+    5bf0:	e9 81 d3 ff ff       	jmp    0x2f76
+    5bf5:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
+    5bfc:	74 4f                	je     0x5c4d
+    5bfe:	8b 85 70 fe ff ff    	mov    -0x190(%ebp),%eax
+    5c04:	c7 44 24 04 00 01 00 	movl   $0x100,0x4(%esp)
+    5c0b:	00 
+    5c0c:	89 04 24             	mov    %eax,(%esp)
+    5c0f:	e8 fc ff ff ff       	call   0x5c10
+    5c14:	85 c0                	test   %eax,%eax
+    5c16:	89 85 50 fe ff ff    	mov    %eax,-0x1b0(%ebp)
+    5c1c:	0f 84 b5 fc ff ff    	je     0x58d7
+    5c22:	89 85 70 fe ff ff    	mov    %eax,-0x190(%ebp)
+    5c28:	c7 85 5c fe ff ff 00 	movl   $0x100,-0x1a4(%ebp)
+    5c2f:	01 00 00 
+    5c32:	e9 f3 dc ff ff       	jmp    0x392a
+    5c37:	a1 00 00 00 00       	mov    0x0,%eax
+    5c3c:	be 04 00 00 00       	mov    $0x4,%esi
+    5c41:	65 c7 00 56 00 00 00 	movl   $0x56,%gs:(%eax)
+    5c48:	e9 0a a8 ff ff       	jmp    0x457
+    5c4d:	81 ec 10 01 00 00    	sub    $0x110,%esp
+    5c53:	8b b5 70 fe ff ff    	mov    -0x190(%ebp),%esi
+    5c59:	8d 44 24 1f          	lea    0x1f(%esp),%eax
+    5c5d:	83 e0 f0             	and    $0xfffffff0,%eax
+    5c60:	8d 90 00 01 00 00    	lea    0x100(%eax),%edx
+    5c66:	39 95 70 fe ff ff    	cmp    %edx,-0x190(%ebp)
+    5c6c:	0f b6 0e             	movzbl (%esi),%ecx
+    5c6f:	0f 94 c2             	sete   %dl
+    5c72:	0f b6 d2             	movzbl %dl,%edx
+    5c75:	81 c2 00 01 00 00    	add    $0x100,%edx
+    5c7b:	88 08                	mov    %cl,(%eax)
+    5c7d:	89 95 5c fe ff ff    	mov    %edx,-0x1a4(%ebp)
+    5c83:	89 85 70 fe ff ff    	mov    %eax,-0x190(%ebp)
+    5c89:	e9 9c dc ff ff       	jmp    0x392a
+    5c8e:	89 1c 24             	mov    %ebx,(%esp)
+    5c91:	e8 fc ff ff ff       	call   0x5c92
+    5c96:	83 f8 ff             	cmp    $0xffffffff,%eax
+    5c99:	89 85 68 fe ff ff    	mov    %eax,-0x198(%ebp)
+    5c9f:	0f 85 90 d1 ff ff    	jne    0x2e35
+    5ca5:	a1 00 00 00 00       	mov    0x0,%eax
+    5caa:	65 8b 00             	mov    %gs:(%eax),%eax
+    5cad:	89 85 3c fe ff ff    	mov    %eax,-0x1c4(%ebp)
+    5cb3:	e9 84 d1 ff ff       	jmp    0x2e3c
+    5cb8:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
+    5cbf:	0f 84 9f 00 00 00    	je     0x5d64
+    5cc5:	8b bd 70 fe ff ff    	mov    -0x190(%ebp),%edi
+    5ccb:	c7 44 24 04 00 01 00 	movl   $0x100,0x4(%esp)
+    5cd2:	00 
+    5cd3:	89 3c 24             	mov    %edi,(%esp)
+    5cd6:	e8 fc ff ff ff       	call   0x5cd7
+    5cdb:	85 c0                	test   %eax,%eax
+    5cdd:	89 85 50 fe ff ff    	mov    %eax,-0x1b0(%ebp)
+    5ce3:	0f 84 07 f8 ff ff    	je     0x54f0
+    5ce9:	89 85 70 fe ff ff    	mov    %eax,-0x190(%ebp)
+    5cef:	c7 85 5c fe ff ff 00 	movl   $0x100,-0x1a4(%ebp)
+    5cf6:	01 00 00 
+    5cf9:	e9 13 d1 ff ff       	jmp    0x2e11
+    5cfe:	65 8b 07             	mov    %gs:(%edi),%eax
+    5d01:	83 f8 04             	cmp    $0x4,%eax
+    5d04:	0f 84 9e a8 ff ff    	je     0x5a8
+    5d0a:	83 c8 ff             	or     $0xffffffff,%eax
+    5d0d:	e9 23 a8 ff ff       	jmp    0x535
+    5d12:	0f b6 85 68 fe ff ff 	movzbl -0x198(%ebp),%eax
+    5d19:	be 02 00 00 00       	mov    $0x2,%esi
+    5d1e:	89 1c 24             	mov    %ebx,(%esp)
+    5d21:	89 44 24 04          	mov    %eax,0x4(%esp)
+    5d25:	e8 fc ff ff ff       	call   0x5d26
+    5d2a:	8b 85 70 fe ff ff    	mov    -0x190(%ebp),%eax
+    5d30:	89 85 50 fe ff ff    	mov    %eax,-0x1b0(%ebp)
+    5d36:	e9 1c a7 ff ff       	jmp    0x457
+    5d3b:	88 95 ec fd ff ff    	mov    %dl,-0x214(%ebp)
+    5d41:	89 1c 24             	mov    %ebx,(%esp)
+    5d44:	e8 fc ff ff ff       	call   0x5d45
+    5d49:	0f b6 95 ec fd ff ff 	movzbl -0x214(%ebp),%edx
+    5d50:	83 f8 ff             	cmp    $0xffffffff,%eax
+    5d53:	0f 85 d5 a7 ff ff    	jne    0x52e
+    5d59:	65 8b 07             	mov    %gs:(%edi),%eax
+    5d5c:	89 85 3c fe ff ff    	mov    %eax,-0x1c4(%ebp)
+    5d62:	eb 9d                	jmp    0x5d01
+    5d64:	81 ec 10 01 00 00    	sub    $0x110,%esp
+    5d6a:	8d 54 24 1f          	lea    0x1f(%esp),%edx
+    5d6e:	83 e2 f0             	and    $0xfffffff0,%edx
+    5d71:	89 95 70 fe ff ff    	mov    %edx,-0x190(%ebp)
+    5d77:	c7 85 5c fe ff ff 00 	movl   $0x100,-0x1a4(%ebp)
+    5d7e:	01 00 00 
+    5d81:	e9 8b d0 ff ff       	jmp    0x2e11
+    5d86:	89 1c 24             	mov    %ebx,(%esp)
+    5d89:	e8 fc ff ff ff       	call   0x5d8a
+    5d8e:	83 f8 ff             	cmp    $0xffffffff,%eax
+    5d91:	89 c6                	mov    %eax,%esi
+    5d93:	0f 84 ad a6 ff ff    	je     0x446
+    5d99:	e9 0f ce ff ff       	jmp    0x2bad
+    5d9e:	89 b5 38 fe ff ff    	mov    %esi,-0x1c8(%ebp)
+    5da4:	89 ce                	mov    %ecx,%esi
+    5da6:	8b 8d 6c fe ff ff    	mov    -0x194(%ebp),%ecx
+    5dac:	8b bd 38 fe ff ff    	mov    -0x1c8(%ebp),%edi
+    5db2:	89 95 68 fe ff ff    	mov    %edx,-0x198(%ebp)
+    5db8:	89 8d 74 fe ff ff    	mov    %ecx,-0x18c(%ebp)
+    5dbe:	e9 63 b9 ff ff       	jmp    0x1726
+    5dc3:	89 1c 24             	mov    %ebx,(%esp)
+    5dc6:	e8 fc ff ff ff       	call   0x5dc7
+    5dcb:	83 f8 ff             	cmp    $0xffffffff,%eax
+    5dce:	0f 85 28 d1 ff ff    	jne    0x2efc
+    5dd4:	89 85 68 fe ff ff    	mov    %eax,-0x198(%ebp)
+    5dda:	a1 00 00 00 00       	mov    0x0,%eax
+    5ddf:	65 8b 00             	mov    %gs:(%eax),%eax
+    5de2:	89 85 3c fe ff ff    	mov    %eax,-0x1c4(%ebp)
+    5de8:	e9 2d a5 ff ff       	jmp    0x31a
+    5ded:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
+    5df4:	74 6b                	je     0x5e61
+    5df6:	8b 85 70 fe ff ff    	mov    -0x190(%ebp),%eax
+    5dfc:	c7 44 24 04 00 01 00 	movl   $0x100,0x4(%esp)
+    5e03:	00 
+    5e04:	89 04 24             	mov    %eax,(%esp)
+    5e07:	e8 fc ff ff ff       	call   0x5e08
+    5e0c:	85 c0                	test   %eax,%eax
+    5e0e:	89 85 50 fe ff ff    	mov    %eax,-0x1b0(%ebp)
+    5e14:	0f 84 bd ee ff ff    	je     0x4cd7
+    5e1a:	89 85 70 fe ff ff    	mov    %eax,-0x190(%ebp)
+    5e20:	c7 85 5c fe ff ff 00 	movl   $0x100,-0x1a4(%ebp)
+    5e27:	01 00 00 
+    5e2a:	e9 40 cd ff ff       	jmp    0x2b6f
+    5e2f:	89 ca                	mov    %ecx,%edx
+    5e31:	c1 e2 03             	shl    $0x3,%edx
+    5e34:	89 54 24 04          	mov    %edx,0x4(%esp)
+    5e38:	89 04 24             	mov    %eax,(%esp)
+    5e3b:	e8 fc ff ff ff       	call   0x5e3c
+    5e40:	85 c0                	test   %eax,%eax
+    5e42:	74 3f                	je     0x5e83
+    5e44:	8b 8d 24 fe ff ff    	mov    -0x1dc(%ebp),%ecx
+    5e4a:	d1 a5 18 fe ff ff    	shll   -0x1e8(%ebp)
+    5e50:	89 01                	mov    %eax,(%ecx)
+    5e52:	01 f8                	add    %edi,%eax
+    5e54:	31 ff                	xor    %edi,%edi
+    5e56:	89 85 58 fe ff ff    	mov    %eax,-0x1a8(%ebp)
+    5e5c:	e9 57 c9 ff ff       	jmp    0x27b8
+    5e61:	81 ec 10 01 00 00    	sub    $0x110,%esp
+    5e67:	8d 4c 24 1f          	lea    0x1f(%esp),%ecx
+    5e6b:	83 e1 f0             	and    $0xfffffff0,%ecx
+    5e6e:	89 8d 70 fe ff ff    	mov    %ecx,-0x190(%ebp)
+    5e74:	c7 85 5c fe ff ff 00 	movl   $0x100,-0x1a4(%ebp)
+    5e7b:	01 00 00 
+    5e7e:	e9 ec cc ff ff       	jmp    0x2b6f
+    5e83:	83 85 18 fe ff ff 01 	addl   $0x1,-0x1e8(%ebp)
+    5e8a:	8b 85 18 fe ff ff    	mov    -0x1e8(%ebp),%eax
+    5e90:	8b 95 24 fe ff ff    	mov    -0x1dc(%ebp),%edx
+    5e96:	c1 e0 02             	shl    $0x2,%eax
+    5e99:	89 44 24 04          	mov    %eax,0x4(%esp)
+    5e9d:	8b 02                	mov    (%edx),%eax
+    5e9f:	89 04 24             	mov    %eax,(%esp)
+    5ea2:	e8 fc ff ff ff       	call   0x5ea3
+    5ea7:	85 c0                	test   %eax,%eax
+    5ea9:	0f 84 f3 00 00 00    	je     0x5fa2
+    5eaf:	8b 95 24 fe ff ff    	mov    -0x1dc(%ebp),%edx
+    5eb5:	89 02                	mov    %eax,(%edx)
+    5eb7:	01 f8                	add    %edi,%eax
+    5eb9:	31 ff                	xor    %edi,%edi
+    5ebb:	89 85 58 fe ff ff    	mov    %eax,-0x1a8(%ebp)
+    5ec1:	e9 f2 c8 ff ff       	jmp    0x27b8
+    5ec6:	8b 85 24 fe ff ff    	mov    -0x1dc(%ebp),%eax
+    5ecc:	8d 79 01             	lea    0x1(%ecx),%edi
+    5ecf:	89 7c 24 04          	mov    %edi,0x4(%esp)
+    5ed3:	8b 10                	mov    (%eax),%edx
+    5ed5:	89 14 24             	mov    %edx,(%esp)
+    5ed8:	e8 fc ff ff ff       	call   0x5ed9
+    5edd:	8b 8d e8 fd ff ff    	mov    -0x218(%ebp),%ecx
+    5ee3:	85 c0                	test   %eax,%eax
+    5ee5:	89 85 68 fe ff ff    	mov    %eax,-0x198(%ebp)
+    5eeb:	0f 85 74 c4 ff ff    	jne    0x2365
+    5ef1:	f7 85 44 fe ff ff 00 	testl  $0x2000,-0x1bc(%ebp)
+    5ef8:	20 00 00 
+    5efb:	89 8d 18 fe ff ff    	mov    %ecx,-0x1e8(%ebp)
+    5f01:	0f 85 35 d5 ff ff    	jne    0x343c
+    5f07:	8b 95 24 fe ff ff    	mov    -0x1dc(%ebp),%edx
+    5f0d:	be 02 00 00 00       	mov    $0x2,%esi
+    5f12:	8b 02                	mov    (%edx),%eax
+    5f14:	c6 44 08 ff 00       	movb   $0x0,-0x1(%eax,%ecx,1)
+    5f19:	8b 8d 70 fe ff ff    	mov    -0x190(%ebp),%ecx
+    5f1f:	83 85 34 fe ff ff 01 	addl   $0x1,-0x1cc(%ebp)
+    5f26:	c7 85 24 fe ff ff 00 	movl   $0x0,-0x1dc(%ebp)
+    5f2d:	00 00 00 
+    5f30:	89 8d 50 fe ff ff    	mov    %ecx,-0x1b0(%ebp)
+    5f36:	e9 1c a5 ff ff       	jmp    0x457
+    5f3b:	8d 41 12             	lea    0x12(%ecx),%eax
+    5f3e:	83 e0 fc             	and    $0xfffffffc,%eax
+    5f41:	29 c4                	sub    %eax,%esp
+    5f43:	8d 7c 24 1f          	lea    0x1f(%esp),%edi
+    5f47:	83 e7 f0             	and    $0xfffffff0,%edi
+    5f4a:	89 f8                	mov    %edi,%eax
+    5f4c:	01 c8                	add    %ecx,%eax
+    5f4e:	39 85 70 fe ff ff    	cmp    %eax,-0x190(%ebp)
+    5f54:	89 bd 74 fe ff ff    	mov    %edi,-0x18c(%ebp)
+    5f5a:	8d 3c 0e             	lea    (%esi,%ecx,1),%edi
+    5f5d:	0f 45 f9             	cmovne %ecx,%edi
+    5f60:	83 bd 70 fe ff ff 00 	cmpl   $0x0,-0x190(%ebp)
+    5f67:	74 7a                	je     0x5fe3
+    5f69:	8b 85 70 fe ff ff    	mov    -0x190(%ebp),%eax
+    5f6f:	8b 8d 74 fe ff ff    	mov    -0x18c(%ebp),%ecx
+    5f75:	89 95 ec fd ff ff    	mov    %edx,-0x214(%ebp)
+    5f7b:	89 74 24 08          	mov    %esi,0x8(%esp)
+    5f7f:	89 44 24 04          	mov    %eax,0x4(%esp)
+    5f83:	89 0c 24             	mov    %ecx,(%esp)
+    5f86:	e8 fc ff ff ff       	call   0x5f87
+    5f8b:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
+    5f91:	89 bd 5c fe ff ff    	mov    %edi,-0x1a4(%ebp)
+    5f97:	8b bd 74 fe ff ff    	mov    -0x18c(%ebp),%edi
+    5f9d:	e9 35 b5 ff ff       	jmp    0x14d7
+    5fa2:	f7 85 44 fe ff ff 00 	testl  $0x2000,-0x1bc(%ebp)
+    5fa9:	20 00 00 
+    5fac:	0f 85 bb df ff ff    	jne    0x3f6d
+    5fb2:	8b 8d 24 fe ff ff    	mov    -0x1dc(%ebp),%ecx
+    5fb8:	8b b5 68 fe ff ff    	mov    -0x198(%ebp),%esi
+    5fbe:	83 85 34 fe ff ff 01 	addl   $0x1,-0x1cc(%ebp)
+    5fc5:	8b 01                	mov    (%ecx),%eax
+    5fc7:	c7 85 24 fe ff ff 00 	movl   $0x0,-0x1dc(%ebp)
+    5fce:	00 00 00 
+    5fd1:	c7 44 b0 fc 00 00 00 	movl   $0x0,-0x4(%eax,%esi,4)
+    5fd8:	00 
+    5fd9:	be 02 00 00 00       	mov    $0x2,%esi
+    5fde:	e9 74 a4 ff ff       	jmp    0x457
+    5fe3:	89 bd 5c fe ff ff    	mov    %edi,-0x1a4(%ebp)
+    5fe9:	8b bd 74 fe ff ff    	mov    -0x18c(%ebp),%edi
+    5fef:	e9 e3 b4 ff ff       	jmp    0x14d7
+    5ff4:	89 95 ec fd ff ff    	mov    %edx,-0x214(%ebp)
+    5ffa:	89 34 24             	mov    %esi,(%esp)
+    5ffd:	e8 fc ff ff ff       	call   0x5ffe
+    6002:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
+    6008:	83 f8 ff             	cmp    $0xffffffff,%eax
+    600b:	89 85 68 fe ff ff    	mov    %eax,-0x198(%ebp)
+    6011:	0f 85 c5 bf ff ff    	jne    0x1fdc
+    6017:	a1 00 00 00 00       	mov    0x0,%eax
+    601c:	89 f3                	mov    %esi,%ebx
+    601e:	89 fe                	mov    %edi,%esi
+    6020:	89 95 14 fe ff ff    	mov    %edx,-0x1ec(%ebp)
+    6026:	8b bd 6c fe ff ff    	mov    -0x194(%ebp),%edi
+    602c:	89 b5 18 fe ff ff    	mov    %esi,-0x1e8(%ebp)
+    6032:	65 8b 00             	mov    %gs:(%eax),%eax
+    6035:	89 85 3c fe ff ff    	mov    %eax,-0x1c4(%ebp)
+    603b:	e9 3d d6 ff ff       	jmp    0x367d
+    6040:	8b 95 24 fe ff ff    	mov    -0x1dc(%ebp),%edx
+    6046:	8d 7b 01             	lea    0x1(%ebx),%edi
+    6049:	89 7c 24 04          	mov    %edi,0x4(%esp)
+    604d:	8b 02                	mov    (%edx),%eax
+    604f:	89 04 24             	mov    %eax,(%esp)
+    6052:	e8 fc ff ff ff       	call   0x6053
+    6057:	85 c0                	test   %eax,%eax
+    6059:	0f 84 16 01 00 00    	je     0x6175
+    605f:	8b 8d 24 fe ff ff    	mov    -0x1dc(%ebp),%ecx
+    6065:	8d 14 18             	lea    (%eax,%ebx,1),%edx
+    6068:	89 01                	mov    %eax,(%ecx)
+    606a:	e9 31 bf ff ff       	jmp    0x1fa0
+    606f:	8d 14 1b             	lea    (%ebx,%ebx,1),%edx
+    6072:	b8 00 01 00 00       	mov    $0x100,%eax
+    6077:	81 fa 00 01 00 00    	cmp    $0x100,%edx
+    607d:	0f 42 d0             	cmovb  %eax,%edx
+    6080:	89 f8                	mov    %edi,%eax
+    6082:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
+    6089:	75 0a                	jne    0x6095
+    608b:	81 fa 00 00 01 00    	cmp    $0x10000,%edx
+    6091:	76 5d                	jbe    0x60f0
+    6093:	31 c0                	xor    %eax,%eax
+    6095:	89 54 24 04          	mov    %edx,0x4(%esp)
+    6099:	89 95 ec fd ff ff    	mov    %edx,-0x214(%ebp)
+    609f:	89 04 24             	mov    %eax,(%esp)
+    60a2:	e8 fc ff ff ff       	call   0x60a3
+    60a7:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
+    60ad:	85 c0                	test   %eax,%eax
+    60af:	89 c6                	mov    %eax,%esi
+    60b1:	0f 84 d7 e6 ff ff    	je     0x478e
+    60b7:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
+    60be:	89 d1                	mov    %edx,%ecx
+    60c0:	0f 85 20 af ff ff    	jne    0xfe6
+    60c6:	89 95 ec fd ff ff    	mov    %edx,-0x214(%ebp)
+    60cc:	89 5c 24 08          	mov    %ebx,0x8(%esp)
+    60d0:	89 7c 24 04          	mov    %edi,0x4(%esp)
+    60d4:	89 04 24             	mov    %eax,(%esp)
+    60d7:	e8 fc ff ff ff       	call   0x60d8
+    60dc:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
+    60e2:	c6 85 2b fe ff ff 01 	movb   $0x1,-0x1d5(%ebp)
+    60e9:	89 d1                	mov    %edx,%ecx
+    60eb:	e9 f6 ae ff ff       	jmp    0xfe6
+    60f0:	8d 42 12             	lea    0x12(%edx),%eax
+    60f3:	83 e0 fc             	and    $0xfffffffc,%eax
+    60f6:	29 c4                	sub    %eax,%esp
+    60f8:	8d 4c 24 1f          	lea    0x1f(%esp),%ecx
+    60fc:	83 e1 f0             	and    $0xfffffff0,%ecx
+    60ff:	89 c8                	mov    %ecx,%eax
+    6101:	01 d0                	add    %edx,%eax
+    6103:	39 c7                	cmp    %eax,%edi
+    6105:	8d 34 13             	lea    (%ebx,%edx,1),%esi
+    6108:	0f 45 f2             	cmovne %edx,%esi
+    610b:	85 ff                	test   %edi,%edi
+    610d:	89 8d 70 fe ff ff    	mov    %ecx,-0x190(%ebp)
+    6113:	74 67                	je     0x617c
+    6115:	89 7c 24 04          	mov    %edi,0x4(%esp)
+    6119:	8b bd 70 fe ff ff    	mov    -0x190(%ebp),%edi
+    611f:	89 5c 24 08          	mov    %ebx,0x8(%esp)
+    6123:	89 3c 24             	mov    %edi,(%esp)
+    6126:	e8 fc ff ff ff       	call   0x6127
+    612b:	89 f1                	mov    %esi,%ecx
+    612d:	e9 b2 ae ff ff       	jmp    0xfe4
+    6132:	83 85 18 fe ff ff 01 	addl   $0x1,-0x1e8(%ebp)
+    6139:	8b 85 18 fe ff ff    	mov    -0x1e8(%ebp),%eax
+    613f:	8b 8d 24 fe ff ff    	mov    -0x1dc(%ebp),%ecx
+    6145:	c1 e0 02             	shl    $0x2,%eax
+    6148:	89 44 24 04          	mov    %eax,0x4(%esp)
+    614c:	8b 01                	mov    (%ecx),%eax
+    614e:	89 04 24             	mov    %eax,(%esp)
+    6151:	e8 fc ff ff ff       	call   0x6152
+    6156:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
+    615c:	85 c0                	test   %eax,%eax
+    615e:	74 29                	je     0x6189
+    6160:	8b 8d 24 fe ff ff    	mov    -0x1dc(%ebp),%ecx
+    6166:	89 01                	mov    %eax,(%ecx)
+    6168:	01 d0                	add    %edx,%eax
+    616a:	89 85 58 fe ff ff    	mov    %eax,-0x1a8(%ebp)
+    6170:	e9 37 b9 ff ff       	jmp    0x1aac
+    6175:	89 f3                	mov    %esi,%ebx
+    6177:	e9 c0 d2 ff ff       	jmp    0x343c
+    617c:	89 f1                	mov    %esi,%ecx
+    617e:	8b b5 70 fe ff ff    	mov    -0x190(%ebp),%esi
+    6184:	e9 5d ae ff ff       	jmp    0xfe6
+    6189:	f7 85 44 fe ff ff 00 	testl  $0x2000,-0x1bc(%ebp)
+    6190:	20 00 00 
+    6193:	0f 85 a3 d2 ff ff    	jne    0x343c
+    6199:	8b b5 24 fe ff ff    	mov    -0x1dc(%ebp),%esi
+    619f:	8b bd 68 fe ff ff    	mov    -0x198(%ebp),%edi
+    61a5:	83 85 34 fe ff ff 01 	addl   $0x1,-0x1cc(%ebp)
+    61ac:	8b 06                	mov    (%esi),%eax
+    61ae:	be 02 00 00 00       	mov    $0x2,%esi
+    61b3:	c7 85 24 fe ff ff 00 	movl   $0x0,-0x1dc(%ebp)
+    61ba:	00 00 00 
+    61bd:	c7 44 b8 fc 00 00 00 	movl   $0x0,-0x4(%eax,%edi,4)
+    61c4:	00 
+    61c5:	8b 85 70 fe ff ff    	mov    -0x190(%ebp),%eax
+    61cb:	89 85 50 fe ff ff    	mov    %eax,-0x1b0(%ebp)
+    61d1:	e9 81 a2 ff ff       	jmp    0x457
+    61d6:	88 95 ec fd ff ff    	mov    %dl,-0x214(%ebp)
+    61dc:	89 1c 24             	mov    %ebx,(%esp)
+    61df:	e8 fc ff ff ff       	call   0x61e0
+    61e4:	0f b6 95 ec fd ff ff 	movzbl -0x214(%ebp),%edx
+    61eb:	83 f8 ff             	cmp    $0xffffffff,%eax
+    61ee:	89 85 68 fe ff ff    	mov    %eax,-0x198(%ebp)
+    61f4:	0f 84 ae a3 ff ff    	je     0x5a8
+    61fa:	e9 b1 a0 ff ff       	jmp    0x2b0
+    61ff:	8b 9d 10 fe ff ff    	mov    -0x1f0(%ebp),%ebx
+    6205:	85 db                	test   %ebx,%ebx
+    6207:	0f 84 66 a0 ff ff    	je     0x273
+    620d:	31 f6                	xor    %esi,%esi
+    620f:	3b 33                	cmp    (%ebx),%esi
+    6211:	73 3f                	jae    0x6252
+    6213:	8b 44 b3 08          	mov    0x8(%ebx,%esi,4),%eax
+    6217:	8b 00                	mov    (%eax),%eax
+    6219:	89 04 24             	mov    %eax,(%esp)
+    621c:	e8 fc ff ff ff       	call   0x621d
+    6221:	8b 44 b3 08          	mov    0x8(%ebx,%esi,4),%eax
+    6225:	83 c6 01             	add    $0x1,%esi
+    6228:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
+    622e:	eb df                	jmp    0x620f
+    6230:	89 95 ec fd ff ff    	mov    %edx,-0x214(%ebp)
+    6236:	89 1c 24             	mov    %ebx,(%esp)
+    6239:	e8 fc ff ff ff       	call   0x623a
+    623e:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
+    6244:	83 f8 ff             	cmp    $0xffffffff,%eax
+    6247:	0f 84 5b a3 ff ff    	je     0x5a8
+    624d:	e9 cd 9f ff ff       	jmp    0x21f
+    6252:	8b 5b 04             	mov    0x4(%ebx),%ebx
+    6255:	85 db                	test   %ebx,%ebx
+    6257:	75 b4                	jne    0x620d
+    6259:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
+    6260:	e9 0e a0 ff ff       	jmp    0x273
+    6265:	89 1c 24             	mov    %ebx,(%esp)
+    6268:	e8 fc ff ff ff       	call   0x6269
+    626d:	83 f8 ff             	cmp    $0xffffffff,%eax
+    6270:	89 85 68 fe ff ff    	mov    %eax,-0x198(%ebp)
+    6276:	0f 84 34 d0 ff ff    	je     0x32b0
+    627c:	e9 fc c5 ff ff       	jmp    0x287d
+    6281:	8d 0c 1b             	lea    (%ebx,%ebx,1),%ecx
+    6284:	b8 00 01 00 00       	mov    $0x100,%eax
+    6289:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
+    628f:	0f 42 c8             	cmovb  %eax,%ecx
+    6292:	89 f8                	mov    %edi,%eax
+    6294:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
+    629b:	75 0a                	jne    0x62a7
+    629d:	81 f9 00 00 01 00    	cmp    $0x10000,%ecx
+    62a3:	76 34                	jbe    0x62d9
+    62a5:	31 c0                	xor    %eax,%eax
+    62a7:	89 4c 24 04          	mov    %ecx,0x4(%esp)
+    62ab:	89 8d e8 fd ff ff    	mov    %ecx,-0x218(%ebp)
+    62b1:	89 04 24             	mov    %eax,(%esp)
+    62b4:	e8 fc ff ff ff       	call   0x62b5
+    62b9:	8b 8d e8 fd ff ff    	mov    -0x218(%ebp),%ecx
+    62bf:	85 c0                	test   %eax,%eax
+    62c1:	89 c6                	mov    %eax,%esi
+    62c3:	0f 84 c5 e4 ff ff    	je     0x478e
+    62c9:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
+    62d0:	74 4a                	je     0x631c
+    62d2:	89 c7                	mov    %eax,%edi
+    62d4:	e9 5e c1 ff ff       	jmp    0x2437
+    62d9:	8d 41 12             	lea    0x12(%ecx),%eax
+    62dc:	83 e0 fc             	and    $0xfffffffc,%eax
+    62df:	29 c4                	sub    %eax,%esp
+    62e1:	8d 54 24 1f          	lea    0x1f(%esp),%edx
+    62e5:	83 e2 f0             	and    $0xfffffff0,%edx
+    62e8:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
+    62eb:	39 c7                	cmp    %eax,%edi
+    62ed:	8d 34 0b             	lea    (%ebx,%ecx,1),%esi
+    62f0:	0f 45 f1             	cmovne %ecx,%esi
+    62f3:	85 ff                	test   %edi,%edi
+    62f5:	74 4f                	je     0x6346
+    62f7:	89 7c 24 04          	mov    %edi,0x4(%esp)
+    62fb:	89 14 24             	mov    %edx,(%esp)
+    62fe:	89 95 ec fd ff ff    	mov    %edx,-0x214(%ebp)
+    6304:	89 5c 24 08          	mov    %ebx,0x8(%esp)
+    6308:	e8 fc ff ff ff       	call   0x6309
+    630d:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
+    6313:	89 f1                	mov    %esi,%ecx
+    6315:	89 d7                	mov    %edx,%edi
+    6317:	e9 1b c1 ff ff       	jmp    0x2437
+    631c:	89 7c 24 04          	mov    %edi,0x4(%esp)
+    6320:	89 f7                	mov    %esi,%edi
+    6322:	89 8d e8 fd ff ff    	mov    %ecx,-0x218(%ebp)
+    6328:	89 5c 24 08          	mov    %ebx,0x8(%esp)
+    632c:	89 04 24             	mov    %eax,(%esp)
+    632f:	e8 fc ff ff ff       	call   0x6330
+    6334:	8b 8d e8 fd ff ff    	mov    -0x218(%ebp),%ecx
+    633a:	c6 85 2b fe ff ff 01 	movb   $0x1,-0x1d5(%ebp)
+    6341:	e9 f1 c0 ff ff       	jmp    0x2437
+    6346:	89 f1                	mov    %esi,%ecx
+    6348:	89 d7                	mov    %edx,%edi
+    634a:	e9 e8 c0 ff ff       	jmp    0x2437
+    634f:	89 1c 24             	mov    %ebx,(%esp)
+    6352:	e8 fc ff ff ff       	call   0x6353
+    6357:	83 f8 ff             	cmp    $0xffffffff,%eax
+    635a:	89 85 68 fe ff ff    	mov    %eax,-0x198(%ebp)
+    6360:	0f 84 42 a2 ff ff    	je     0x5a8
+    6366:	e9 2e a8 ff ff       	jmp    0xb99
+    636b:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
+    6372:	e8 fc ff ff ff       	call   0x6373
+    6377:	8b 95 04 fe ff ff    	mov    -0x1fc(%ebp),%edx
+    637d:	89 85 fc fd ff ff    	mov    %eax,-0x204(%ebp)
+    6383:	8b 52 74             	mov    0x74(%edx),%edx
+    6386:	89 95 50 fe ff ff    	mov    %edx,-0x1b0(%ebp)
+    638c:	83 ea 01             	sub    $0x1,%edx
+    638f:	85 c0                	test   %eax,%eax
+    6391:	89 95 4c fe ff ff    	mov    %edx,-0x1b4(%ebp)
+    6397:	0f 85 bb 09 00 00    	jne    0x6d58
+    639d:	0f b6 85 44 fe ff ff 	movzbl -0x1bc(%ebp),%eax
+    63a4:	8b b5 68 fe ff ff    	mov    -0x198(%ebp),%esi
+    63aa:	c7 85 64 fe ff ff 00 	movl   $0x0,-0x19c(%ebp)
+    63b1:	00 00 00 
+    63b4:	83 e0 80             	and    $0xffffff80,%eax
+    63b7:	88 85 f4 fd ff ff    	mov    %al,-0x20c(%ebp)
+    63bd:	83 bd 60 fe ff ff 00 	cmpl   $0x0,-0x1a0(%ebp)
+    63c4:	0f 84 73 09 00 00    	je     0x6d3d
+    63ca:	83 fe ff             	cmp    $0xffffffff,%esi
+    63cd:	0f 84 6a 09 00 00    	je     0x6d3d
+    63d3:	89 f2                	mov    %esi,%edx
+    63d5:	89 de                	mov    %ebx,%esi
+    63d7:	c7 85 68 fe ff ff 00 	movl   $0x0,-0x198(%ebp)
+    63de:	00 00 00 
+    63e1:	83 bd 60 fe ff ff 00 	cmpl   $0x0,-0x1a0(%ebp)
+    63e8:	bf ff ff ff 7f       	mov    $0x7fffffff,%edi
+    63ed:	0f 4f bd 60 fe ff ff 	cmovg  -0x1a0(%ebp),%edi
+    63f4:	83 bd fc fd ff ff 00 	cmpl   $0x0,-0x204(%ebp)
+    63fb:	89 bd 6c fe ff ff    	mov    %edi,-0x194(%ebp)
+    6401:	0f 85 1d 09 00 00    	jne    0x6d24
+    6407:	8b 8d 68 fe ff ff    	mov    -0x198(%ebp),%ecx
+    640d:	8b 85 04 fe ff ff    	mov    -0x1fc(%ebp),%eax
+    6413:	8b 7c 88 78          	mov    0x78(%eax,%ecx,4),%edi
+    6417:	89 bc 8d 74 ff ff ff 	mov    %edi,-0x8c(%ebp,%ecx,4)
+    641e:	31 db                	xor    %ebx,%ebx
+    6420:	83 bd 64 fe ff ff 00 	cmpl   $0x0,-0x19c(%ebp)
+    6427:	0f 84 e5 08 00 00    	je     0x6d12
+    642d:	89 f8                	mov    %edi,%eax
+    642f:	89 f7                	mov    %esi,%edi
+    6431:	89 d6                	mov    %edx,%esi
+    6433:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
+    643a:	00 
+    643b:	83 c3 01             	add    $0x1,%ebx
+    643e:	89 04 24             	mov    %eax,(%esp)
+    6441:	e8 fc ff ff ff       	call   0x6442
+    6446:	83 c0 01             	add    $0x1,%eax
+    6449:	3b 9d 64 fe ff ff    	cmp    -0x19c(%ebp),%ebx
+    644f:	75 e2                	jne    0x6433
+    6451:	89 f2                	mov    %esi,%edx
+    6453:	89 fe                	mov    %edi,%esi
+    6455:	89 c7                	mov    %eax,%edi
+    6457:	8b 85 68 fe ff ff    	mov    -0x198(%ebp),%eax
+    645d:	89 bc 85 74 ff ff ff 	mov    %edi,-0x8c(%ebp,%eax,4)
+    6464:	0f b6 07             	movzbl (%edi),%eax
+    6467:	0f b6 c8             	movzbl %al,%ecx
+    646a:	39 d1                	cmp    %edx,%ecx
+    646c:	0f 85 f7 04 00 00    	jne    0x6969
+    6472:	80 7f 01 00          	cmpb   $0x0,0x1(%edi)
+    6476:	8d 5f 01             	lea    0x1(%edi),%ebx
+    6479:	75 3c                	jne    0x64b7
+    647b:	e9 a4 04 00 00       	jmp    0x6924
+    6480:	0f b6 10             	movzbl (%eax),%edx
+    6483:	83 c0 01             	add    $0x1,%eax
+    6486:	89 46 04             	mov    %eax,0x4(%esi)
+    6489:	83 85 74 fe ff ff 01 	addl   $0x1,-0x18c(%ebp)
+    6490:	83 ad 6c fe ff ff 01 	subl   $0x1,-0x194(%ebp)
+    6497:	0f b6 03             	movzbl (%ebx),%eax
+    649a:	0f b6 c8             	movzbl %al,%ecx
+    649d:	39 d1                	cmp    %edx,%ecx
+    649f:	75 3e                	jne    0x64df
+    64a1:	83 c3 01             	add    $0x1,%ebx
+    64a4:	80 3b 00             	cmpb   $0x0,(%ebx)
+    64a7:	0f 84 77 04 00 00    	je     0x6924
+    64ad:	8b 85 6c fe ff ff    	mov    -0x194(%ebp),%eax
+    64b3:	85 c0                	test   %eax,%eax
+    64b5:	74 30                	je     0x64e7
+    64b7:	8b 46 04             	mov    0x4(%esi),%eax
+    64ba:	3b 46 08             	cmp    0x8(%esi),%eax
+    64bd:	72 c1                	jb     0x6480
+    64bf:	89 34 24             	mov    %esi,(%esp)
+    64c2:	e8 fc ff ff ff       	call   0x64c3
+    64c7:	83 f8 ff             	cmp    $0xffffffff,%eax
+    64ca:	89 c2                	mov    %eax,%edx
+    64cc:	75 bb                	jne    0x6489
+    64ce:	a1 00 00 00 00       	mov    0x0,%eax
+    64d3:	65 8b 00             	mov    %gs:(%eax),%eax
+    64d6:	89 85 3c fe ff ff    	mov    %eax,-0x1c4(%ebp)
+    64dc:	0f b6 03             	movzbl (%ebx),%eax
+    64df:	84 c0                	test   %al,%al
+    64e1:	0f 84 89 04 00 00    	je     0x6970
+    64e7:	39 df                	cmp    %ebx,%edi
+    64e9:	73 65                	jae    0x6550
+    64eb:	83 fa ff             	cmp    $0xffffffff,%edx
+    64ee:	74 16                	je     0x6506
+    64f0:	0f b6 d2             	movzbl %dl,%edx
+    64f3:	83 ad 74 fe ff ff 01 	subl   $0x1,-0x18c(%ebp)
+    64fa:	89 54 24 04          	mov    %edx,0x4(%esp)
+    64fe:	89 34 24             	mov    %esi,(%esp)
+    6501:	e8 fc ff ff ff       	call   0x6502
+    6506:	8d 53 ff             	lea    -0x1(%ebx),%edx
+    6509:	39 fa                	cmp    %edi,%edx
+    650b:	76 40                	jbe    0x654d
+    650d:	89 d1                	mov    %edx,%ecx
+    650f:	0f b6 01             	movzbl (%ecx),%eax
+    6512:	89 95 ec fd ff ff    	mov    %edx,-0x214(%ebp)
+    6518:	89 8d e8 fd ff ff    	mov    %ecx,-0x218(%ebp)
+    651e:	89 34 24             	mov    %esi,(%esp)
+    6521:	89 44 24 04          	mov    %eax,0x4(%esp)
+    6525:	e8 fc ff ff ff       	call   0x6526
+    652a:	8b 8d e8 fd ff ff    	mov    -0x218(%ebp),%ecx
+    6530:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
+    6536:	83 e9 01             	sub    $0x1,%ecx
+    6539:	39 f9                	cmp    %edi,%ecx
+    653b:	77 d2                	ja     0x650f
+    653d:	83 eb 02             	sub    $0x2,%ebx
+    6540:	8d 47 ff             	lea    -0x1(%edi),%eax
+    6543:	29 d8                	sub    %ebx,%eax
+    6545:	01 85 74 fe ff ff    	add    %eax,-0x18c(%ebp)
+    654b:	01 c2                	add    %eax,%edx
+    654d:	0f b6 12             	movzbl (%edx),%edx
+    6550:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
+    6557:	00 
+    6558:	89 3c 24             	mov    %edi,(%esp)
+    655b:	89 95 ec fd ff ff    	mov    %edx,-0x214(%ebp)
+    6561:	e8 fc ff ff ff       	call   0x6562
+    6566:	8b 8d 68 fe ff ff    	mov    -0x198(%ebp),%ecx
+    656c:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
+    6572:	83 c0 01             	add    $0x1,%eax
+    6575:	89 84 8d 74 ff ff ff 	mov    %eax,-0x8c(%ebp,%ecx,4)
+    657c:	83 c1 01             	add    $0x1,%ecx
+    657f:	83 f9 0a             	cmp    $0xa,%ecx
+    6582:	89 8d 68 fe ff ff    	mov    %ecx,-0x198(%ebp)
+    6588:	0f 85 53 fe ff ff    	jne    0x63e1
+    658e:	89 f3                	mov    %esi,%ebx
+    6590:	89 d6                	mov    %edx,%esi
+    6592:	8b 85 64 fe ff ff    	mov    -0x19c(%ebp),%eax
+    6598:	83 c0 01             	add    $0x1,%eax
+    659b:	89 85 50 fe ff ff    	mov    %eax,-0x1b0(%ebp)
+    65a1:	8b bd 4c fe ff ff    	mov    -0x1b4(%ebp),%edi
+    65a7:	39 bd 50 fe ff ff    	cmp    %edi,-0x1b0(%ebp)
+    65ad:	0f 8f 2c 02 00 00    	jg     0x67df
+    65b3:	c7 85 68 fe ff ff 00 	movl   $0x0,-0x198(%ebp)
+    65ba:	00 00 00 
+    65bd:	8b bd 68 fe ff ff    	mov    -0x198(%ebp),%edi
+    65c3:	ba ff ff ff 7f       	mov    $0x7fffffff,%edx
+    65c8:	83 bd 60 fe ff ff 00 	cmpl   $0x0,-0x1a0(%ebp)
+    65cf:	0f 4f 95 60 fe ff ff 	cmovg  -0x1a0(%ebp),%edx
+    65d6:	8b 8c bd 74 ff ff ff 	mov    -0x8c(%ebp,%edi,4),%ecx
+    65dd:	0f b6 01             	movzbl (%ecx),%eax
+    65e0:	0f b6 f8             	movzbl %al,%edi
+    65e3:	39 f7                	cmp    %esi,%edi
+    65e5:	89 bd 6c fe ff ff    	mov    %edi,-0x194(%ebp)
+    65eb:	0f 85 db 01 00 00    	jne    0x67cc
+    65f1:	80 79 01 00          	cmpb   $0x0,0x1(%ecx)
+    65f5:	8d 79 01             	lea    0x1(%ecx),%edi
+    65f8:	0f 84 1f 01 00 00    	je     0x671d
+    65fe:	89 8d 6c fe ff ff    	mov    %ecx,-0x194(%ebp)
+    6604:	eb 14                	jmp    0x661a
+    6606:	83 c7 01             	add    $0x1,%edi
+    6609:	80 3f 00             	cmpb   $0x0,(%edi)
+    660c:	0f 84 05 01 00 00    	je     0x6717
+    6612:	85 d2                	test   %edx,%edx
+    6614:	0f 84 a7 01 00 00    	je     0x67c1
+    661a:	8b 43 04             	mov    0x4(%ebx),%eax
+    661d:	3b 43 08             	cmp    0x8(%ebx),%eax
+    6620:	0f 83 9d 02 00 00    	jae    0x68c3
+    6626:	0f b6 30             	movzbl (%eax),%esi
+    6629:	83 c0 01             	add    $0x1,%eax
+    662c:	89 43 04             	mov    %eax,0x4(%ebx)
+    662f:	83 85 74 fe ff ff 01 	addl   $0x1,-0x18c(%ebp)
+    6636:	83 ea 01             	sub    $0x1,%edx
+    6639:	0f b6 07             	movzbl (%edi),%eax
+    663c:	0f b6 c8             	movzbl %al,%ecx
+    663f:	39 f1                	cmp    %esi,%ecx
+    6641:	74 c3                	je     0x6606
+    6643:	8b 8d 6c fe ff ff    	mov    -0x194(%ebp),%ecx
+    6649:	84 c0                	test   %al,%al
+    664b:	0f 84 d2 00 00 00    	je     0x6723
+    6651:	39 f9                	cmp    %edi,%ecx
+    6653:	0f 83 80 00 00 00    	jae    0x66d9
+    6659:	83 fe ff             	cmp    $0xffffffff,%esi
+    665c:	74 25                	je     0x6683
+    665e:	81 e6 ff 00 00 00    	and    $0xff,%esi
+    6664:	89 8d e8 fd ff ff    	mov    %ecx,-0x218(%ebp)
+    666a:	83 ad 74 fe ff ff 01 	subl   $0x1,-0x18c(%ebp)
+    6671:	89 74 24 04          	mov    %esi,0x4(%esp)
+    6675:	89 1c 24             	mov    %ebx,(%esp)
+    6678:	e8 fc ff ff ff       	call   0x6679
+    667d:	8b 8d e8 fd ff ff    	mov    -0x218(%ebp),%ecx
+    6683:	8d 47 ff             	lea    -0x1(%edi),%eax
+    6686:	39 c8                	cmp    %ecx,%eax
+    6688:	89 85 6c fe ff ff    	mov    %eax,-0x194(%ebp)
+    668e:	76 40                	jbe    0x66d0
+    6690:	89 bd 2c fe ff ff    	mov    %edi,-0x1d4(%ebp)
+    6696:	89 c6                	mov    %eax,%esi
+    6698:	89 df                	mov    %ebx,%edi
+    669a:	89 cb                	mov    %ecx,%ebx
+    669c:	0f b6 06             	movzbl (%esi),%eax
+    669f:	83 ee 01             	sub    $0x1,%esi
+    66a2:	89 3c 24             	mov    %edi,(%esp)
+    66a5:	89 44 24 04          	mov    %eax,0x4(%esp)
+    66a9:	e8 fc ff ff ff       	call   0x66aa
+    66ae:	39 f3                	cmp    %esi,%ebx
+    66b0:	72 ea                	jb     0x669c
+    66b2:	89 d9                	mov    %ebx,%ecx
+    66b4:	89 fb                	mov    %edi,%ebx
+    66b6:	8b bd 2c fe ff ff    	mov    -0x1d4(%ebp),%edi
+    66bc:	8d 41 ff             	lea    -0x1(%ecx),%eax
+    66bf:	83 ef 02             	sub    $0x2,%edi
+    66c2:	29 f8                	sub    %edi,%eax
+    66c4:	01 85 6c fe ff ff    	add    %eax,-0x194(%ebp)
+    66ca:	01 85 74 fe ff ff    	add    %eax,-0x18c(%ebp)
+    66d0:	8b 95 6c fe ff ff    	mov    -0x194(%ebp),%edx
+    66d6:	0f b6 32             	movzbl (%edx),%esi
+    66d9:	89 0c 24             	mov    %ecx,(%esp)
+    66dc:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
+    66e3:	00 
+    66e4:	e8 fc ff ff ff       	call   0x66e5
+    66e9:	8b 8d 68 fe ff ff    	mov    -0x198(%ebp),%ecx
+    66ef:	83 c0 01             	add    $0x1,%eax
+    66f2:	89 84 8d 74 ff ff ff 	mov    %eax,-0x8c(%ebp,%ecx,4)
+    66f9:	83 c1 01             	add    $0x1,%ecx
+    66fc:	83 f9 0a             	cmp    $0xa,%ecx
+    66ff:	89 8d 68 fe ff ff    	mov    %ecx,-0x198(%ebp)
+    6705:	0f 85 b2 fe ff ff    	jne    0x65bd
+    670b:	83 85 50 fe ff ff 01 	addl   $0x1,-0x1b0(%ebp)
+    6712:	e9 8a fe ff ff       	jmp    0x65a1
+    6717:	89 8d 6c fe ff ff    	mov    %ecx,-0x194(%ebp)
+    671d:	8b b5 6c fe ff ff    	mov    -0x194(%ebp),%esi
+    6723:	83 bd 60 fe ff ff 00 	cmpl   $0x0,-0x1a0(%ebp)
+    672a:	0f 4e 95 60 fe ff ff 	cmovle -0x1a0(%ebp),%edx
+    6731:	83 bd 68 fe ff ff 09 	cmpl   $0x9,-0x198(%ebp)
+    6738:	89 95 60 fe ff ff    	mov    %edx,-0x1a0(%ebp)
+    673e:	7f cb                	jg     0x670b
+    6740:	8b b5 50 fe ff ff    	mov    -0x1b0(%ebp),%esi
+    6746:	89 b5 4c fe ff ff    	mov    %esi,-0x1b4(%ebp)
+    674c:	89 b5 64 fe ff ff    	mov    %esi,-0x19c(%ebp)
+    6752:	8b b5 68 fe ff ff    	mov    -0x198(%ebp),%esi
+    6758:	83 c6 30             	add    $0x30,%esi
+    675b:	8b 85 5c fe ff ff    	mov    -0x1a4(%ebp),%eax
+    6761:	39 85 38 fe ff ff    	cmp    %eax,-0x1c8(%ebp)
+    6767:	0f 84 2d 02 00 00    	je     0x699a
+    676d:	8b bd 70 fe ff ff    	mov    -0x190(%ebp),%edi
+    6773:	89 f2                	mov    %esi,%edx
+    6775:	31 c0                	xor    %eax,%eax
+    6777:	8b 8d 38 fe ff ff    	mov    -0x1c8(%ebp),%ecx
+    677d:	88 14 0f             	mov    %dl,(%edi,%ecx,1)
+    6780:	83 bd 60 fe ff ff 00 	cmpl   $0x0,-0x1a0(%ebp)
+    6787:	0f 9f c0             	setg   %al
+    678a:	29 85 60 fe ff ff    	sub    %eax,-0x1a0(%ebp)
+    6790:	83 fe ff             	cmp    $0xffffffff,%esi
+    6793:	0f 84 ee 01 00 00    	je     0x6987
+    6799:	8b 43 04             	mov    0x4(%ebx),%eax
+    679c:	3b 43 08             	cmp    0x8(%ebx),%eax
+    679f:	0f 83 59 01 00 00    	jae    0x68fe
+    67a5:	0f b6 30             	movzbl (%eax),%esi
+    67a8:	83 c0 01             	add    $0x1,%eax
+    67ab:	89 43 04             	mov    %eax,0x4(%ebx)
+    67ae:	83 85 74 fe ff ff 01 	addl   $0x1,-0x18c(%ebp)
+    67b5:	83 85 38 fe ff ff 01 	addl   $0x1,-0x1c8(%ebp)
+    67bc:	e9 fc fb ff ff       	jmp    0x63bd
+    67c1:	8b 8d 6c fe ff ff    	mov    -0x194(%ebp),%ecx
+    67c7:	e9 85 fe ff ff       	jmp    0x6651
+    67cc:	89 cf                	mov    %ecx,%edi
+    67ce:	e9 76 fe ff ff       	jmp    0x6649
+    67d3:	8b 95 64 fe ff ff    	mov    -0x19c(%ebp),%edx
+    67d9:	89 95 4c fe ff ff    	mov    %edx,-0x1b4(%ebp)
+    67df:	80 bd f4 fd ff ff 00 	cmpb   $0x0,-0x20c(%ebp)
+    67e6:	0f 84 0b 05 00 00    	je     0x6cf7
+    67ec:	8b bd 38 fe ff ff    	mov    -0x1c8(%ebp),%edi
+    67f2:	b9 ff ff ff 7f       	mov    $0x7fffffff,%ecx
+    67f7:	83 bd 60 fe ff ff 00 	cmpl   $0x0,-0x1a0(%ebp)
+    67fe:	0f 4f 8d 60 fe ff ff 	cmovg  -0x1a0(%ebp),%ecx
+    6805:	8b 85 48 fe ff ff    	mov    -0x1b8(%ebp),%eax
+    680b:	01 ff                	add    %edi,%edi
+    680d:	89 8d 2c fe ff ff    	mov    %ecx,-0x1d4(%ebp)
+    6813:	8b 8d 70 fe ff ff    	mov    -0x190(%ebp),%ecx
+    6819:	89 bd f8 fd ff ff    	mov    %edi,-0x208(%ebp)
+    681f:	8b bd 5c fe ff ff    	mov    -0x1a4(%ebp),%edi
+    6825:	89 85 6c fe ff ff    	mov    %eax,-0x194(%ebp)
+    682b:	89 9d 68 fe ff ff    	mov    %ebx,-0x198(%ebp)
+    6831:	8b 85 6c fe ff ff    	mov    -0x194(%ebp),%eax
+    6837:	0f b6 10             	movzbl (%eax),%edx
+    683a:	0f b6 c2             	movzbl %dl,%eax
+    683d:	39 c6                	cmp    %eax,%esi
+    683f:	0f 85 9b 04 00 00    	jne    0x6ce0
+    6845:	39 bd 38 fe ff ff    	cmp    %edi,-0x1c8(%ebp)
+    684b:	0f 84 b3 03 00 00    	je     0x6c04
+    6851:	8b 85 38 fe ff ff    	mov    -0x1c8(%ebp),%eax
+    6857:	89 f2                	mov    %esi,%edx
+    6859:	88 14 01             	mov    %dl,(%ecx,%eax,1)
+    685c:	83 c0 01             	add    $0x1,%eax
+    685f:	83 85 6c fe ff ff 01 	addl   $0x1,-0x194(%ebp)
+    6866:	8b 95 6c fe ff ff    	mov    -0x194(%ebp),%edx
+    686c:	89 85 38 fe ff ff    	mov    %eax,-0x1c8(%ebp)
+    6872:	80 3a 00             	cmpb   $0x0,(%edx)
+    6875:	0f 84 72 03 00 00    	je     0x6bed
+    687b:	83 bd 2c fe ff ff 00 	cmpl   $0x0,-0x1d4(%ebp)
+    6882:	0f 84 a4 02 00 00    	je     0x6b2c
+    6888:	8b b5 68 fe ff ff    	mov    -0x198(%ebp),%esi
+    688e:	8b 46 04             	mov    0x4(%esi),%eax
+    6891:	3b 46 08             	cmp    0x8(%esi),%eax
+    6894:	0f 83 1c 02 00 00    	jae    0x6ab6
+    689a:	8b 95 68 fe ff ff    	mov    -0x198(%ebp),%edx
+    68a0:	0f b6 30             	movzbl (%eax),%esi
+    68a3:	83 c0 01             	add    $0x1,%eax
+    68a6:	89 42 04             	mov    %eax,0x4(%edx)
+    68a9:	83 85 74 fe ff ff 01 	addl   $0x1,-0x18c(%ebp)
+    68b0:	83 ad 2c fe ff ff 01 	subl   $0x1,-0x1d4(%ebp)
+    68b7:	83 85 f8 fd ff ff 02 	addl   $0x2,-0x208(%ebp)
+    68be:	e9 6e ff ff ff       	jmp    0x6831
+    68c3:	89 95 ec fd ff ff    	mov    %edx,-0x214(%ebp)
+    68c9:	89 1c 24             	mov    %ebx,(%esp)
+    68cc:	e8 fc ff ff ff       	call   0x68cd
+    68d1:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
+    68d7:	83 f8 ff             	cmp    $0xffffffff,%eax
+    68da:	89 c6                	mov    %eax,%esi
+    68dc:	0f 85 4d fd ff ff    	jne    0x662f
+    68e2:	a1 00 00 00 00       	mov    0x0,%eax
+    68e7:	8b 8d 6c fe ff ff    	mov    -0x194(%ebp),%ecx
+    68ed:	65 8b 00             	mov    %gs:(%eax),%eax
+    68f0:	89 85 3c fe ff ff    	mov    %eax,-0x1c4(%ebp)
+    68f6:	0f b6 07             	movzbl (%edi),%eax
+    68f9:	e9 4b fd ff ff       	jmp    0x6649
+    68fe:	89 1c 24             	mov    %ebx,(%esp)
+    6901:	e8 fc ff ff ff       	call   0x6902
+    6906:	83 f8 ff             	cmp    $0xffffffff,%eax
+    6909:	89 c6                	mov    %eax,%esi
+    690b:	0f 85 9d fe ff ff    	jne    0x67ae
+    6911:	a1 00 00 00 00       	mov    0x0,%eax
+    6916:	65 8b 00             	mov    %gs:(%eax),%eax
+    6919:	89 85 3c fe ff ff    	mov    %eax,-0x1c4(%ebp)
+    691f:	e9 91 fe ff ff       	jmp    0x67b5
+    6924:	89 f3                	mov    %esi,%ebx
+    6926:	89 ce                	mov    %ecx,%esi
+    6928:	8b 95 6c fe ff ff    	mov    -0x194(%ebp),%edx
+    692e:	83 bd 60 fe ff ff 00 	cmpl   $0x0,-0x1a0(%ebp)
+    6935:	0f 4e 95 60 fe ff ff 	cmovle -0x1a0(%ebp),%edx
+    693c:	83 bd 68 fe ff ff 0a 	cmpl   $0xa,-0x198(%ebp)
+    6943:	89 95 60 fe ff ff    	mov    %edx,-0x1a0(%ebp)
+    6949:	74 2b                	je     0x6976
+    694b:	83 bd 68 fe ff ff 09 	cmpl   $0x9,-0x198(%ebp)
+    6952:	0f 8f 7b fe ff ff    	jg     0x67d3
+    6958:	8b 85 64 fe ff ff    	mov    -0x19c(%ebp),%eax
+    695e:	89 85 4c fe ff ff    	mov    %eax,-0x1b4(%ebp)
+    6964:	e9 e9 fd ff ff       	jmp    0x6752
+    6969:	89 fb                	mov    %edi,%ebx
+    696b:	e9 6f fb ff ff       	jmp    0x64df
+    6970:	89 f3                	mov    %esi,%ebx
+    6972:	89 d6                	mov    %edx,%esi
+    6974:	eb b2                	jmp    0x6928
+    6976:	8b bd 64 fe ff ff    	mov    -0x19c(%ebp),%edi
+    697c:	89 bd 4c fe ff ff    	mov    %edi,-0x1b4(%ebp)
+    6982:	e9 0b fc ff ff       	jmp    0x6592
+    6987:	a1 00 00 00 00       	mov    0x0,%eax
+    698c:	8b 95 3c fe ff ff    	mov    -0x1c4(%ebp),%edx
+    6992:	65 89 10             	mov    %edx,%gs:(%eax)
+    6995:	e9 1b fe ff ff       	jmp    0x67b5
+    699a:	8b bd 38 fe ff ff    	mov    -0x1c8(%ebp),%edi
+    69a0:	b8 00 01 00 00       	mov    $0x100,%eax
+    69a5:	01 ff                	add    %edi,%edi
+    69a7:	81 ff 00 01 00 00    	cmp    $0x100,%edi
+    69ad:	0f 42 f8             	cmovb  %eax,%edi
+    69b0:	8b 85 70 fe ff ff    	mov    -0x190(%ebp),%eax
+    69b6:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
+    69bd:	75 0a                	jne    0x69c9
+    69bf:	81 ff 00 00 01 00    	cmp    $0x10000,%edi
+    69c5:	76 32                	jbe    0x69f9
+    69c7:	31 c0                	xor    %eax,%eax
+    69c9:	89 7c 24 04          	mov    %edi,0x4(%esp)
+    69cd:	89 04 24             	mov    %eax,(%esp)
+    69d0:	e8 fc ff ff ff       	call   0x69d1
+    69d5:	85 c0                	test   %eax,%eax
+    69d7:	89 c2                	mov    %eax,%edx
+    69d9:	0f 84 bf 00 00 00    	je     0x6a9e
+    69df:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
+    69e6:	74 76                	je     0x6a5e
+    69e8:	89 bd 5c fe ff ff    	mov    %edi,-0x1a4(%ebp)
+    69ee:	89 95 70 fe ff ff    	mov    %edx,-0x190(%ebp)
+    69f4:	e9 74 fd ff ff       	jmp    0x676d
+    69f9:	8d 47 12             	lea    0x12(%edi),%eax
+    69fc:	8b 8d 38 fe ff ff    	mov    -0x1c8(%ebp),%ecx
+    6a02:	83 e0 fc             	and    $0xfffffffc,%eax
+    6a05:	29 c4                	sub    %eax,%esp
+    6a07:	8d 54 24 1f          	lea    0x1f(%esp),%edx
+    6a0b:	83 e2 f0             	and    $0xfffffff0,%edx
+    6a0e:	01 f9                	add    %edi,%ecx
+    6a10:	8d 04 3a             	lea    (%edx,%edi,1),%eax
+    6a13:	39 85 70 fe ff ff    	cmp    %eax,-0x190(%ebp)
+    6a19:	0f 44 f9             	cmove  %ecx,%edi
+    6a1c:	83 bd 70 fe ff ff 00 	cmpl   $0x0,-0x190(%ebp)
+    6a23:	74 c3                	je     0x69e8
+    6a25:	8b 8d 38 fe ff ff    	mov    -0x1c8(%ebp),%ecx
+    6a2b:	8b 85 70 fe ff ff    	mov    -0x190(%ebp),%eax
+    6a31:	89 14 24             	mov    %edx,(%esp)
+    6a34:	89 95 ec fd ff ff    	mov    %edx,-0x214(%ebp)
+    6a3a:	89 4c 24 08          	mov    %ecx,0x8(%esp)
+    6a3e:	89 44 24 04          	mov    %eax,0x4(%esp)
+    6a42:	e8 fc ff ff ff       	call   0x6a43
+    6a47:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
+    6a4d:	89 bd 5c fe ff ff    	mov    %edi,-0x1a4(%ebp)
+    6a53:	89 95 70 fe ff ff    	mov    %edx,-0x190(%ebp)
+    6a59:	e9 0f fd ff ff       	jmp    0x676d
+    6a5e:	8b 8d 38 fe ff ff    	mov    -0x1c8(%ebp),%ecx
+    6a64:	8b 85 70 fe ff ff    	mov    -0x190(%ebp),%eax
+    6a6a:	89 14 24             	mov    %edx,(%esp)
+    6a6d:	89 95 ec fd ff ff    	mov    %edx,-0x214(%ebp)
+    6a73:	89 4c 24 08          	mov    %ecx,0x8(%esp)
+    6a77:	89 44 24 04          	mov    %eax,0x4(%esp)
+    6a7b:	e8 fc ff ff ff       	call   0x6a7c
+    6a80:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
+    6a86:	89 bd 5c fe ff ff    	mov    %edi,-0x1a4(%ebp)
+    6a8c:	c6 85 2b fe ff ff 01 	movb   $0x1,-0x1d5(%ebp)
+    6a93:	89 95 70 fe ff ff    	mov    %edx,-0x190(%ebp)
+    6a99:	e9 cf fc ff ff       	jmp    0x676d
+    6a9e:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
+    6aa5:	89 85 50 fe ff ff    	mov    %eax,-0x1b0(%ebp)
+    6aab:	0f 84 bc d4 ff ff    	je     0x3f6d
+    6ab1:	e9 21 e2 ff ff       	jmp    0x4cd7
+    6ab6:	89 34 24             	mov    %esi,(%esp)
+    6ab9:	89 8d e8 fd ff ff    	mov    %ecx,-0x218(%ebp)
+    6abf:	e8 fc ff ff ff       	call   0x6ac0
+    6ac4:	8b 8d e8 fd ff ff    	mov    -0x218(%ebp),%ecx
+    6aca:	83 f8 ff             	cmp    $0xffffffff,%eax
+    6acd:	89 c6                	mov    %eax,%esi
+    6acf:	0f 85 d4 fd ff ff    	jne    0x68a9
+    6ad5:	a1 00 00 00 00       	mov    0x0,%eax
+    6ada:	89 8d 70 fe ff ff    	mov    %ecx,-0x190(%ebp)
+    6ae0:	8b 8d 6c fe ff ff    	mov    -0x194(%ebp),%ecx
+    6ae6:	89 bd 5c fe ff ff    	mov    %edi,-0x1a4(%ebp)
+    6aec:	8b 9d 68 fe ff ff    	mov    -0x198(%ebp),%ebx
+    6af2:	65 8b 00             	mov    %gs:(%eax),%eax
+    6af5:	89 85 3c fe ff ff    	mov    %eax,-0x1c4(%ebp)
+    6afb:	0f b6 11             	movzbl (%ecx),%edx
+    6afe:	84 d2                	test   %dl,%dl
+    6b00:	0f 85 a6 00 00 00    	jne    0x6bac
+    6b06:	8b bd 2c fe ff ff    	mov    -0x1d4(%ebp),%edi
+    6b0c:	83 bd 60 fe ff ff 00 	cmpl   $0x0,-0x1a0(%ebp)
+    6b13:	0f 4e bd 60 fe ff ff 	cmovle -0x1a0(%ebp),%edi
+    6b1a:	83 ad 38 fe ff ff 01 	subl   $0x1,-0x1c8(%ebp)
+    6b21:	89 bd 60 fe ff ff    	mov    %edi,-0x1a0(%ebp)
+    6b27:	e9 2f fc ff ff       	jmp    0x675b
+    6b2c:	8b 9d 68 fe ff ff    	mov    -0x198(%ebp),%ebx
+    6b32:	89 f2                	mov    %esi,%edx
+    6b34:	89 bd 5c fe ff ff    	mov    %edi,-0x1a4(%ebp)
+    6b3a:	89 8d 70 fe ff ff    	mov    %ecx,-0x190(%ebp)
+    6b40:	8b b5 6c fe ff ff    	mov    -0x194(%ebp),%esi
+    6b46:	39 b5 48 fe ff ff    	cmp    %esi,-0x1b8(%ebp)
+    6b4c:	8b bd 38 fe ff ff    	mov    -0x1c8(%ebp),%edi
+    6b52:	89 95 68 fe ff ff    	mov    %edx,-0x198(%ebp)
+    6b58:	c7 85 4c fe ff ff 0a 	movl   $0xa,-0x1b4(%ebp)
+    6b5f:	00 00 00 
+    6b62:	0f 83 25 9e ff ff    	jae    0x98d
+    6b68:	83 fa ff             	cmp    $0xffffffff,%edx
+    6b6b:	74 78                	je     0x6be5
+    6b6d:	0f b6 c2             	movzbl %dl,%eax
+    6b70:	83 ad 74 fe ff ff 01 	subl   $0x1,-0x18c(%ebp)
+    6b77:	89 44 24 04          	mov    %eax,0x4(%esp)
+    6b7b:	89 1c 24             	mov    %ebx,(%esp)
+    6b7e:	e8 fc ff ff ff       	call   0x6b7f
+    6b83:	8b bd 6c fe ff ff    	mov    -0x194(%ebp),%edi
+    6b89:	83 ef 01             	sub    $0x1,%edi
+    6b8c:	39 bd 48 fe ff ff    	cmp    %edi,-0x1b8(%ebp)
+    6b92:	73 1c                	jae    0x6bb0
+    6b94:	83 ad 74 fe ff ff 01 	subl   $0x1,-0x18c(%ebp)
+    6b9b:	0f b6 07             	movzbl (%edi),%eax
+    6b9e:	89 1c 24             	mov    %ebx,(%esp)
+    6ba1:	89 44 24 04          	mov    %eax,0x4(%esp)
+    6ba5:	e8 fc ff ff ff       	call   0x6ba6
+    6baa:	eb dd                	jmp    0x6b89
+    6bac:	89 f2                	mov    %esi,%edx
+    6bae:	eb 90                	jmp    0x6b40
+    6bb0:	8b 95 48 fe ff ff    	mov    -0x1b8(%ebp),%edx
+    6bb6:	89 bd 6c fe ff ff    	mov    %edi,-0x194(%ebp)
+    6bbc:	8b 8d 38 fe ff ff    	mov    -0x1c8(%ebp),%ecx
+    6bc2:	29 f2                	sub    %esi,%edx
+    6bc4:	8b b5 6c fe ff ff    	mov    -0x194(%ebp),%esi
+    6bca:	8d 3c 0a             	lea    (%edx,%ecx,1),%edi
+    6bcd:	0f b6 36             	movzbl (%esi),%esi
+    6bd0:	c7 85 4c fe ff ff 0a 	movl   $0xa,-0x1b4(%ebp)
+    6bd7:	00 00 00 
+    6bda:	89 b5 68 fe ff ff    	mov    %esi,-0x198(%ebp)
+    6be0:	e9 a8 9d ff ff       	jmp    0x98d
+    6be5:	8b bd 6c fe ff ff    	mov    -0x194(%ebp),%edi
+    6beb:	eb 9c                	jmp    0x6b89
+    6bed:	89 bd 5c fe ff ff    	mov    %edi,-0x1a4(%ebp)
+    6bf3:	8b 9d 68 fe ff ff    	mov    -0x198(%ebp),%ebx
+    6bf9:	89 8d 70 fe ff ff    	mov    %ecx,-0x190(%ebp)
+    6bff:	e9 02 ff ff ff       	jmp    0x6b06
+    6c04:	81 bd f8 fd ff ff 00 	cmpl   $0x100,-0x208(%ebp)
+    6c0b:	01 00 00 
+    6c0e:	bf 00 01 00 00       	mov    $0x100,%edi
+    6c13:	0f 43 bd f8 fd ff ff 	cmovae -0x208(%ebp),%edi
+    6c1a:	89 c8                	mov    %ecx,%eax
+    6c1c:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
+    6c23:	75 0a                	jne    0x6c2f
+    6c25:	81 ff 00 00 01 00    	cmp    $0x10000,%edi
+    6c2b:	76 30                	jbe    0x6c5d
+    6c2d:	31 c0                	xor    %eax,%eax
+    6c2f:	89 8d e8 fd ff ff    	mov    %ecx,-0x218(%ebp)
+    6c35:	89 7c 24 04          	mov    %edi,0x4(%esp)
+    6c39:	89 04 24             	mov    %eax,(%esp)
+    6c3c:	e8 fc ff ff ff       	call   0x6c3d
+    6c41:	8b 8d e8 fd ff ff    	mov    -0x218(%ebp),%ecx
+    6c47:	85 c0                	test   %eax,%eax
+    6c49:	89 c3                	mov    %eax,%ebx
+    6c4b:	74 6f                	je     0x6cbc
+    6c4d:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
+    6c54:	74 42                	je     0x6c98
+    6c56:	89 d9                	mov    %ebx,%ecx
+    6c58:	e9 f4 fb ff ff       	jmp    0x6851
+    6c5d:	8d 47 12             	lea    0x12(%edi),%eax
+    6c60:	8b 95 38 fe ff ff    	mov    -0x1c8(%ebp),%edx
+    6c66:	83 e0 fc             	and    $0xfffffffc,%eax
+    6c69:	29 c4                	sub    %eax,%esp
+    6c6b:	8d 5c 24 1f          	lea    0x1f(%esp),%ebx
+    6c6f:	83 e3 f0             	and    $0xfffffff0,%ebx
+    6c72:	01 fa                	add    %edi,%edx
+    6c74:	8d 04 3b             	lea    (%ebx,%edi,1),%eax
+    6c77:	39 c1                	cmp    %eax,%ecx
+    6c79:	0f 44 fa             	cmove  %edx,%edi
+    6c7c:	85 c9                	test   %ecx,%ecx
+    6c7e:	74 d6                	je     0x6c56
+    6c80:	8b 85 38 fe ff ff    	mov    -0x1c8(%ebp),%eax
+    6c86:	89 4c 24 04          	mov    %ecx,0x4(%esp)
+    6c8a:	89 1c 24             	mov    %ebx,(%esp)
+    6c8d:	89 44 24 08          	mov    %eax,0x8(%esp)
+    6c91:	e8 fc ff ff ff       	call   0x6c92
+    6c96:	eb be                	jmp    0x6c56
+    6c98:	8b 95 38 fe ff ff    	mov    -0x1c8(%ebp),%edx
+    6c9e:	89 4c 24 04          	mov    %ecx,0x4(%esp)
+    6ca2:	89 04 24             	mov    %eax,(%esp)
+    6ca5:	89 54 24 08          	mov    %edx,0x8(%esp)
+    6ca9:	e8 fc ff ff ff       	call   0x6caa
+    6cae:	89 d9                	mov    %ebx,%ecx
+    6cb0:	c6 85 2b fe ff ff 01 	movb   $0x1,-0x1d5(%ebp)
+    6cb7:	e9 95 fb ff ff       	jmp    0x6851
+    6cbc:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
+    6cc3:	89 85 50 fe ff ff    	mov    %eax,-0x1b0(%ebp)
+    6cc9:	8b 9d 68 fe ff ff    	mov    -0x198(%ebp),%ebx
+    6ccf:	89 8d 70 fe ff ff    	mov    %ecx,-0x190(%ebp)
+    6cd5:	0f 84 92 d2 ff ff    	je     0x3f6d
+    6cdb:	e9 e1 e2 ff ff       	jmp    0x4fc1
+    6ce0:	89 bd 5c fe ff ff    	mov    %edi,-0x1a4(%ebp)
+    6ce6:	8b 9d 68 fe ff ff    	mov    -0x198(%ebp),%ebx
+    6cec:	89 8d 70 fe ff ff    	mov    %ecx,-0x190(%ebp)
+    6cf2:	e9 07 fe ff ff       	jmp    0x6afe
+    6cf7:	8b bd 38 fe ff ff    	mov    -0x1c8(%ebp),%edi
+    6cfd:	89 b5 68 fe ff ff    	mov    %esi,-0x198(%ebp)
+    6d03:	c7 85 4c fe ff ff 0a 	movl   $0xa,-0x1b4(%ebp)
+    6d0a:	00 00 00 
+    6d0d:	e9 7b 9c ff ff       	jmp    0x98d
+    6d12:	8b 8d 68 fe ff ff    	mov    -0x198(%ebp),%ecx
+    6d18:	8b bc 8d 74 ff ff ff 	mov    -0x8c(%ebp,%ecx,4),%edi
+    6d1f:	e9 40 f7 ff ff       	jmp    0x6464
+    6d24:	8b 85 68 fe ff ff    	mov    -0x198(%ebp),%eax
+    6d2a:	8b bc 85 78 fe ff ff 	mov    -0x188(%ebp,%eax,4),%edi
+    6d31:	89 bc 85 74 ff ff ff 	mov    %edi,-0x8c(%ebp,%eax,4)
+    6d38:	e9 e1 f6 ff ff       	jmp    0x641e
+    6d3d:	89 b5 68 fe ff ff    	mov    %esi,-0x198(%ebp)
+    6d43:	8b bd 38 fe ff ff    	mov    -0x1c8(%ebp),%edi
+    6d49:	c7 85 4c fe ff ff 0a 	movl   $0xa,-0x1b4(%ebp)
+    6d50:	00 00 00 
+    6d53:	e9 35 9c ff ff       	jmp    0x98d
+    6d58:	8b 8d 50 fe ff ff    	mov    -0x1b0(%ebp),%ecx
+    6d5e:	8d 75 cc             	lea    -0x34(%ebp),%esi
+    6d61:	8d bd 74 ff ff ff    	lea    -0x8c(%ebp),%edi
+    6d67:	89 b5 e4 fd ff ff    	mov    %esi,-0x21c(%ebp)
+    6d6d:	be 30 00 00 00       	mov    $0x30,%esi
+    6d72:	89 bd 64 fe ff ff    	mov    %edi,-0x19c(%ebp)
+    6d78:	89 8d 4c fe ff ff    	mov    %ecx,-0x1b4(%ebp)
+    6d7e:	89 9d 2c fe ff ff    	mov    %ebx,-0x1d4(%ebp)
+    6d84:	8b 85 04 fe ff ff    	mov    -0x1fc(%ebp),%eax
+    6d8a:	8b 95 64 fe ff ff    	mov    -0x19c(%ebp),%edx
+    6d90:	8b 8d fc fd ff ff    	mov    -0x204(%ebp),%ecx
+    6d96:	8b 5c b0 b8          	mov    -0x48(%eax,%esi,4),%ebx
+    6d9a:	89 9c b2 40 ff ff ff 	mov    %ebx,-0xc0(%edx,%esi,4)
+    6da1:	89 4c 24 04          	mov    %ecx,0x4(%esp)
+    6da5:	89 34 24             	mov    %esi,(%esp)
+    6da8:	e8 fc ff ff ff       	call   0x6da9
+    6dad:	8b bd e4 fd ff ff    	mov    -0x21c(%ebp),%edi
+    6db3:	b9 02 00 00 00       	mov    $0x2,%ecx
+    6db8:	89 c2                	mov    %eax,%edx
+    6dba:	31 c0                	xor    %eax,%eax
+    6dbc:	f3 ab                	rep stos %eax,%es:(%edi)
+    6dbe:	8d 4d cc             	lea    -0x34(%ebp),%ecx
+    6dc1:	8d 7d 9c             	lea    -0x64(%ebp),%edi
+    6dc4:	89 4c 24 08          	mov    %ecx,0x8(%esp)
+    6dc8:	89 54 24 04          	mov    %edx,0x4(%esp)
+    6dcc:	89 3c 24             	mov    %edi,(%esp)
+    6dcf:	e8 fc ff ff ff       	call   0x6dd0
+    6dd4:	83 f8 ff             	cmp    $0xffffffff,%eax
+    6dd7:	89 85 6c fe ff ff    	mov    %eax,-0x194(%ebp)
+    6ddd:	0f 84 7e 01 00 00    	je     0x6f61
+    6de3:	89 d8                	mov    %ebx,%eax
+    6de5:	31 ff                	xor    %edi,%edi
+    6de7:	3b bd 50 fe ff ff    	cmp    -0x1b0(%ebp),%edi
+    6ded:	0f 8d d8 00 00 00    	jge    0x6ecb
+    6df3:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
+    6dfa:	00 
+    6dfb:	83 c7 01             	add    $0x1,%edi
+    6dfe:	89 04 24             	mov    %eax,(%esp)
+    6e01:	e8 fc ff ff ff       	call   0x6e02
+    6e06:	83 c0 01             	add    $0x1,%eax
+    6e09:	eb dc                	jmp    0x6de7
+    6e0b:	89 1c 24             	mov    %ebx,(%esp)
+    6e0e:	e8 fc ff ff ff       	call   0x6e0f
+    6e13:	83 f8 ff             	cmp    $0xffffffff,%eax
+    6e16:	89 85 68 fe ff ff    	mov    %eax,-0x198(%ebp)
+    6e1c:	0f 85 68 ab ff ff    	jne    0x198a
+    6e22:	a1 00 00 00 00       	mov    0x0,%eax
+    6e27:	8b bd 50 fe ff ff    	mov    -0x1b0(%ebp),%edi
+    6e2d:	c7 85 38 fe ff ff 01 	movl   $0x1,-0x1c8(%ebp)
+    6e34:	00 00 00 
+    6e37:	65 8b 00             	mov    %gs:(%eax),%eax
+    6e3a:	89 bd 70 fe ff ff    	mov    %edi,-0x190(%ebp)
+    6e40:	89 85 3c fe ff ff    	mov    %eax,-0x1c4(%ebp)
+    6e46:	e9 69 ab ff ff       	jmp    0x19b4
+    6e4b:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
+    6e52:	0f 84 f1 00 00 00    	je     0x6f49
+    6e58:	8b 85 70 fe ff ff    	mov    -0x190(%ebp),%eax
+    6e5e:	c7 44 24 04 00 01 00 	movl   $0x100,0x4(%esp)
+    6e65:	00 
+    6e66:	89 04 24             	mov    %eax,(%esp)
+    6e69:	e8 fc ff ff ff       	call   0x6e6a
+    6e6e:	85 c0                	test   %eax,%eax
+    6e70:	89 85 50 fe ff ff    	mov    %eax,-0x1b0(%ebp)
+    6e76:	0f 84 5b de ff ff    	je     0x4cd7
+    6e7c:	c7 85 5c fe ff ff 00 	movl   $0x100,-0x1a4(%ebp)
+    6e83:	01 00 00 
+    6e86:	e9 c3 aa ff ff       	jmp    0x194e
+    6e8b:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
+    6e92:	0f 84 de 00 00 00    	je     0x6f76
+    6e98:	8b b5 70 fe ff ff    	mov    -0x190(%ebp),%esi
+    6e9e:	c7 44 24 04 00 01 00 	movl   $0x100,0x4(%esp)
+    6ea5:	00 
+    6ea6:	89 34 24             	mov    %esi,(%esp)
+    6ea9:	e8 fc ff ff ff       	call   0x6eaa
+    6eae:	85 c0                	test   %eax,%eax
+    6eb0:	89 85 50 fe ff ff    	mov    %eax,-0x1b0(%ebp)
+    6eb6:	0f 84 1e e0 ff ff    	je     0x4eda
+    6ebc:	c7 85 5c fe ff ff 00 	movl   $0x100,-0x1a4(%ebp)
+    6ec3:	01 00 00 
+    6ec6:	e9 49 aa ff ff       	jmp    0x1914
+    6ecb:	8b 8d 6c fe ff ff    	mov    -0x194(%ebp),%ecx
+    6ed1:	29 d8                	sub    %ebx,%eax
+    6ed3:	8d 54 08 13          	lea    0x13(%eax,%ecx,1),%edx
+    6ed7:	83 e2 fc             	and    $0xfffffffc,%edx
+    6eda:	29 d4                	sub    %edx,%esp
+    6edc:	8d 7c 24 1f          	lea    0x1f(%esp),%edi
+    6ee0:	83 e7 f0             	and    $0xfffffff0,%edi
+    6ee3:	89 44 24 08          	mov    %eax,0x8(%esp)
+    6ee7:	89 5c 24 04          	mov    %ebx,0x4(%esp)
+    6eeb:	89 3c 24             	mov    %edi,(%esp)
+    6eee:	e8 fc ff ff ff       	call   0x6eef
+    6ef3:	8b 95 6c fe ff ff    	mov    -0x194(%ebp),%edx
+    6ef9:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
+    6efc:	89 4c 24 04          	mov    %ecx,0x4(%esp)
+    6f00:	89 54 24 08          	mov    %edx,0x8(%esp)
+    6f04:	89 04 24             	mov    %eax,(%esp)
+    6f07:	e8 fc ff ff ff       	call   0x6f08
+    6f0c:	c6 00 00             	movb   $0x0,(%eax)
+    6f0f:	89 bc b5 b8 fd ff ff 	mov    %edi,-0x248(%ebp,%esi,4)
+    6f16:	83 c6 01             	add    $0x1,%esi
+    6f19:	83 fe 3a             	cmp    $0x3a,%esi
+    6f1c:	0f 85 62 fe ff ff    	jne    0x6d84
+    6f22:	8b 9d 2c fe ff ff    	mov    -0x1d4(%ebp),%ebx
+    6f28:	e9 70 f4 ff ff       	jmp    0x639d
+    6f2d:	89 1c 24             	mov    %ebx,(%esp)
+    6f30:	e8 fc ff ff ff       	call   0x6f31
+    6f35:	83 f8 ff             	cmp    $0xffffffff,%eax
+    6f38:	89 85 68 fe ff ff    	mov    %eax,-0x198(%ebp)
+    6f3e:	0f 84 02 95 ff ff    	je     0x446
+    6f44:	e9 a4 a9 ff ff       	jmp    0x18ed
+    6f49:	81 ec 10 01 00 00    	sub    $0x110,%esp
+    6f4f:	8d 4c 24 1f          	lea    0x1f(%esp),%ecx
+    6f53:	83 e1 f0             	and    $0xfffffff0,%ecx
+    6f56:	89 8d 50 fe ff ff    	mov    %ecx,-0x1b0(%ebp)
+    6f5c:	e9 1b ff ff ff       	jmp    0x6e7c
+    6f61:	8b 9d 2c fe ff ff    	mov    -0x1d4(%ebp),%ebx
+    6f67:	c7 85 fc fd ff ff 00 	movl   $0x0,-0x204(%ebp)
+    6f6e:	00 00 00 
+    6f71:	e9 27 f4 ff ff       	jmp    0x639d
+    6f76:	81 ec 10 01 00 00    	sub    $0x110,%esp
+    6f7c:	8d 44 24 1f          	lea    0x1f(%esp),%eax
+    6f80:	83 e0 f0             	and    $0xfffffff0,%eax
+    6f83:	89 85 50 fe ff ff    	mov    %eax,-0x1b0(%ebp)
+    6f89:	e9 2e ff ff ff       	jmp    0x6ebc
+    6f8e:	8d 34 12             	lea    (%edx,%edx,1),%esi
+    6f91:	b8 00 01 00 00       	mov    $0x100,%eax
+    6f96:	81 fe 00 01 00 00    	cmp    $0x100,%esi
+    6f9c:	0f 42 f0             	cmovb  %eax,%esi
+    6f9f:	8b 85 70 fe ff ff    	mov    -0x190(%ebp),%eax
+    6fa5:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
+    6fac:	75 0e                	jne    0x6fbc
+    6fae:	81 fe 00 00 01 00    	cmp    $0x10000,%esi
+    6fb4:	0f 86 4f 01 00 00    	jbe    0x7109
+    6fba:	31 c0                	xor    %eax,%eax
+    6fbc:	89 95 ec fd ff ff    	mov    %edx,-0x214(%ebp)
+    6fc2:	89 74 24 04          	mov    %esi,0x4(%esp)
+    6fc6:	89 04 24             	mov    %eax,(%esp)
+    6fc9:	e8 fc ff ff ff       	call   0x6fca
+    6fce:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
+    6fd4:	85 c0                	test   %eax,%eax
+    6fd6:	89 85 50 fe ff ff    	mov    %eax,-0x1b0(%ebp)
+    6fdc:	0f 84 5e 02 00 00    	je     0x7240
+    6fe2:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
+    6fe9:	89 b5 5c fe ff ff    	mov    %esi,-0x1a4(%ebp)
+    6fef:	0f 85 85 bc ff ff    	jne    0x2c7a
+    6ff5:	8b bd 70 fe ff ff    	mov    -0x190(%ebp),%edi
+    6ffb:	8b 85 50 fe ff ff    	mov    -0x1b0(%ebp),%eax
+    7001:	89 54 24 08          	mov    %edx,0x8(%esp)
+    7005:	89 95 ec fd ff ff    	mov    %edx,-0x214(%ebp)
+    700b:	89 7c 24 04          	mov    %edi,0x4(%esp)
+    700f:	89 04 24             	mov    %eax,(%esp)
+    7012:	e8 fc ff ff ff       	call   0x7013
+    7017:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
+    701d:	89 b5 5c fe ff ff    	mov    %esi,-0x1a4(%ebp)
+    7023:	c6 85 2b fe ff ff 01 	movb   $0x1,-0x1d5(%ebp)
+    702a:	e9 4b bc ff ff       	jmp    0x2c7a
+    702f:	89 1c 24             	mov    %ebx,(%esp)
+    7032:	e8 fc ff ff ff       	call   0x7033
+    7037:	83 f8 ff             	cmp    $0xffffffff,%eax
+    703a:	89 c6                	mov    %eax,%esi
+    703c:	0f 85 96 aa ff ff    	jne    0x1ad8
+    7042:	89 85 68 fe ff ff    	mov    %eax,-0x198(%ebp)
+    7048:	a1 00 00 00 00       	mov    0x0,%eax
+    704d:	8b b5 6c fe ff ff    	mov    -0x194(%ebp),%esi
+    7053:	65 8b 00             	mov    %gs:(%eax),%eax
+    7056:	89 85 3c fe ff ff    	mov    %eax,-0x1c4(%ebp)
+    705c:	e9 b8 aa ff ff       	jmp    0x1b19
+    7061:	89 1c 24             	mov    %ebx,(%esp)
+    7064:	e8 fc ff ff ff       	call   0x7065
+    7069:	83 f8 ff             	cmp    $0xffffffff,%eax
+    706c:	89 85 68 fe ff ff    	mov    %eax,-0x198(%ebp)
+    7072:	0f 84 ce 93 ff ff    	je     0x446
+    7078:	e9 9a bb ff ff       	jmp    0x2c17
+    707d:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
+    7084:	0f 84 dd 00 00 00    	je     0x7167
+    708a:	8b bd 70 fe ff ff    	mov    -0x190(%ebp),%edi
+    7090:	c7 44 24 04 00 01 00 	movl   $0x100,0x4(%esp)
+    7097:	00 
+    7098:	89 3c 24             	mov    %edi,(%esp)
+    709b:	e8 fc ff ff ff       	call   0x709c
+    70a0:	85 c0                	test   %eax,%eax
+    70a2:	89 85 50 fe ff ff    	mov    %eax,-0x1b0(%ebp)
+    70a8:	0f 84 42 e4 ff ff    	je     0x54f0
+    70ae:	89 85 70 fe ff ff    	mov    %eax,-0x190(%ebp)
+    70b4:	c7 85 5c fe ff ff 00 	movl   $0x100,-0x1a4(%ebp)
+    70bb:	01 00 00 
+    70be:	e9 21 bb ff ff       	jmp    0x2be4
+    70c3:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
+    70ca:	0f 84 d8 00 00 00    	je     0x71a8
+    70d0:	8b bd 70 fe ff ff    	mov    -0x190(%ebp),%edi
+    70d6:	c7 44 24 04 00 01 00 	movl   $0x100,0x4(%esp)
+    70dd:	00 
+    70de:	89 3c 24             	mov    %edi,(%esp)
+    70e1:	e8 fc ff ff ff       	call   0x70e2
+    70e6:	85 c0                	test   %eax,%eax
+    70e8:	89 85 50 fe ff ff    	mov    %eax,-0x1b0(%ebp)
+    70ee:	0f 84 fc e3 ff ff    	je     0x54f0
+    70f4:	89 85 70 fe ff ff    	mov    %eax,-0x190(%ebp)
+    70fa:	c7 85 5c fe ff ff 00 	movl   $0x100,-0x1a4(%ebp)
+    7101:	01 00 00 
+    7104:	e9 35 bb ff ff       	jmp    0x2c3e
+    7109:	8d 46 12             	lea    0x12(%esi),%eax
+    710c:	83 e0 fc             	and    $0xfffffffc,%eax
+    710f:	29 c4                	sub    %eax,%esp
+    7111:	8d 7c 24 1f          	lea    0x1f(%esp),%edi
+    7115:	83 e7 f0             	and    $0xfffffff0,%edi
+    7118:	8d 04 37             	lea    (%edi,%esi,1),%eax
+    711b:	39 85 70 fe ff ff    	cmp    %eax,-0x190(%ebp)
+    7121:	8d 0c 32             	lea    (%edx,%esi,1),%ecx
+    7124:	0f 44 f1             	cmove  %ecx,%esi
+    7127:	83 bd 70 fe ff ff 00 	cmpl   $0x0,-0x190(%ebp)
+    712e:	0f 84 b7 00 00 00    	je     0x71eb
+    7134:	8b 8d 70 fe ff ff    	mov    -0x190(%ebp),%ecx
+    713a:	89 54 24 08          	mov    %edx,0x8(%esp)
+    713e:	89 95 ec fd ff ff    	mov    %edx,-0x214(%ebp)
+    7144:	89 3c 24             	mov    %edi,(%esp)
+    7147:	89 4c 24 04          	mov    %ecx,0x4(%esp)
+    714b:	e8 fc ff ff ff       	call   0x714c
+    7150:	8b 95 ec fd ff ff    	mov    -0x214(%ebp),%edx
+    7156:	89 b5 5c fe ff ff    	mov    %esi,-0x1a4(%ebp)
+    715c:	89 bd 50 fe ff ff    	mov    %edi,-0x1b0(%ebp)
+    7162:	e9 13 bb ff ff       	jmp    0x2c7a
+    7167:	81 ec 10 01 00 00    	sub    $0x110,%esp
+    716d:	8b bd 70 fe ff ff    	mov    -0x190(%ebp),%edi
+    7173:	8d 44 24 1f          	lea    0x1f(%esp),%eax
+    7177:	83 e0 f0             	and    $0xfffffff0,%eax
+    717a:	8d 90 00 01 00 00    	lea    0x100(%eax),%edx
+    7180:	39 95 70 fe ff ff    	cmp    %edx,-0x190(%ebp)
+    7186:	0f b6 0f             	movzbl (%edi),%ecx
+    7189:	0f 94 c2             	sete   %dl
+    718c:	0f b6 d2             	movzbl %dl,%edx
+    718f:	81 c2 00 01 00 00    	add    $0x100,%edx
+    7195:	88 08                	mov    %cl,(%eax)
+    7197:	89 95 5c fe ff ff    	mov    %edx,-0x1a4(%ebp)
+    719d:	89 85 70 fe ff ff    	mov    %eax,-0x190(%ebp)
+    71a3:	e9 3c ba ff ff       	jmp    0x2be4
+    71a8:	81 ec 10 01 00 00    	sub    $0x110,%esp
+    71ae:	8b b5 70 fe ff ff    	mov    -0x190(%ebp),%esi
+    71b4:	8d 44 24 1f          	lea    0x1f(%esp),%eax
+    71b8:	83 e0 f0             	and    $0xfffffff0,%eax
+    71bb:	8d 90 00 01 00 00    	lea    0x100(%eax),%edx
+    71c1:	39 95 70 fe ff ff    	cmp    %edx,-0x190(%ebp)
+    71c7:	0f b7 0e             	movzwl (%esi),%ecx
+    71ca:	0f 94 c2             	sete   %dl
+    71cd:	0f b6 d2             	movzbl %dl,%edx
+    71d0:	8d 94 12 00 01 00 00 	lea    0x100(%edx,%edx,1),%edx
+    71d7:	66 89 08             	mov    %cx,(%eax)
+    71da:	89 95 5c fe ff ff    	mov    %edx,-0x1a4(%ebp)
+    71e0:	89 85 70 fe ff ff    	mov    %eax,-0x190(%ebp)
+    71e6:	e9 53 ba ff ff       	jmp    0x2c3e
+    71eb:	89 b5 5c fe ff ff    	mov    %esi,-0x1a4(%ebp)
+    71f1:	89 bd 50 fe ff ff    	mov    %edi,-0x1b0(%ebp)
+    71f7:	e9 7e ba ff ff       	jmp    0x2c7a
+    71fc:	be 01 00 00 00       	mov    $0x1,%esi
+    7201:	e9 51 92 ff ff       	jmp    0x457
+    7206:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
+    720d:	89 85 50 fe ff ff    	mov    %eax,-0x1b0(%ebp)
+    7213:	0f 84 54 cd ff ff    	je     0x3f6d
+    7219:	e9 35 dd ff ff       	jmp    0x4f53
+    721e:	a1 00 00 00 00       	mov    0x0,%eax
+    7223:	be 04 00 00 00       	mov    $0x4,%esi
+    7228:	8b bd 70 fe ff ff    	mov    -0x190(%ebp),%edi
+    722e:	65 c7 00 56 00 00 00 	movl   $0x56,%gs:(%eax)
+    7235:	89 bd 50 fe ff ff    	mov    %edi,-0x1b0(%ebp)
+    723b:	e9 17 92 ff ff       	jmp    0x457
+    7240:	80 bd 2b fe ff ff 00 	cmpb   $0x0,-0x1d5(%ebp)
+    7247:	0f 84 20 cd ff ff    	je     0x3f6d
+    724d:	e9 01 dd ff ff       	jmp    0x4f53
+    7252:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
+    7259:	8d bc 27 00 00 00 00 	lea    0x0(%edi,%eiz,1),%edi
+    7260:	55                   	push   %ebp
+    7261:	89 e5                	mov    %esp,%ebp
+    7263:	83 ec 10             	sub    $0x10,%esp
+    7266:	8b 45 10             	mov    0x10(%ebp),%eax
+    7269:	c7 44 24 0c 00 00 00 	movl   $0x0,0xc(%esp)
+    7270:	00 
+    7271:	89 44 24 08          	mov    %eax,0x8(%esp)
+    7275:	8b 45 0c             	mov    0xc(%ebp),%eax
+    7278:	89 44 24 04          	mov    %eax,0x4(%esp)
+    727c:	8b 45 08             	mov    0x8(%ebp),%eax
+    727f:	89 04 24             	mov    %eax,(%esp)
+    7282:	e8 fc ff ff ff       	call   0x7283
+    7287:	c9                   	leave  
+    7288:	c3                   	ret    
--- /dev/fd/63	2012-05-05 15:41:47.000000000 +0200
+++ /dev/fd/62	2012-05-05 15:41:47.000000000 +0200
@@ -1,5 +1,5 @@
 
-../build-tree.good/kfreebsd-amd64-i386/posix/regex.o:     file format elf32-i386-freebsd
+build-tree/kfreebsd-amd64-i386/posix/regex.o:     file format elf32-i386-freebsd
 
 
 Disassembly of section .text:
@@ -6514,7 +6514,7 @@
     4e47:	0f b6 5a 04          	movzbl 0x4(%edx),%ebx
     4e4b:	80 fb 07             	cmp    $0x7,%bl
     4e4e:	88 5d cc             	mov    %bl,-0x34(%ebp)
-    4e51:	0f 84 22 0a 00 00    	je     0x5879
+    4e51:	0f 84 2b 0a 00 00    	je     0x5882
     4e57:	8b 75 d0             	mov    -0x30(%ebp),%esi
     4e5a:	8b 76 50             	mov    0x50(%esi),%esi
     4e5d:	83 fe 01             	cmp    $0x1,%esi
@@ -6747,7 +6747,7 @@
     5125:	39 c7                	cmp    %eax,%edi
     5127:	77 e7                	ja     0x5110
     5129:	89 fa                	mov    %edi,%edx
-    512b:	0f 84 3d 07 00 00    	je     0x586e
+    512b:	0f 84 f4 07 00 00    	je     0x5925
     5131:	8b 5d d8             	mov    -0x28(%ebp),%ebx
     5134:	0f b6 1c 03          	movzbl (%ebx,%eax,1),%ebx
     5138:	88 5d 9f             	mov    %bl,-0x61(%ebp)
@@ -6775,7 +6775,7 @@
     5186:	39 c7                	cmp    %eax,%edi
     5188:	77 e6                	ja     0x5170
     518a:	89 fa                	mov    %edi,%edx
-    518c:	0f 84 28 07 00 00    	je     0x58ba
+    518c:	0f 84 31 07 00 00    	je     0x58c3
     5192:	8b 4d d8             	mov    -0x28(%ebp),%ecx
     5195:	01 c1                	add    %eax,%ecx
     5197:	0f b6 3c 39          	movzbl (%ecx,%edi,1),%edi
@@ -6976,65 +6976,65 @@
     5424:	8b 5d c0             	mov    -0x40(%ebp),%ebx
     5427:	8b 46 28             	mov    0x28(%esi),%eax
     542a:	85 c0                	test   %eax,%eax
-    542c:	89 45 d4             	mov    %eax,-0x2c(%ebp)
+    542c:	89 45 d0             	mov    %eax,-0x30(%ebp)
     542f:	0f 84 b4 00 00 00    	je     0x54e9
     5435:	39 cb                	cmp    %ecx,%ebx
-    5437:	0f 8d 0f 04 00 00    	jge    0x584c
+    5437:	0f 8d 16 04 00 00    	jge    0x5853
     543d:	8b 55 c4             	mov    -0x3c(%ebp),%edx
     5440:	8b 45 c4             	mov    -0x3c(%ebp),%eax
     5443:	8b 52 64             	mov    0x64(%edx),%edx
-    5446:	89 55 d0             	mov    %edx,-0x30(%ebp)
+    5446:	89 55 d8             	mov    %edx,-0x28(%ebp)
     5449:	8b 40 68             	mov    0x68(%eax),%eax
     544c:	29 d0                	sub    %edx,%eax
     544e:	85 c0                	test   %eax,%eax
-    5450:	89 45 cc             	mov    %eax,-0x34(%ebp)
+    5450:	89 45 d4             	mov    %eax,-0x2c(%ebp)
     5453:	7e 48                	jle    0x549d
     5455:	31 d2                	xor    %edx,%edx
     5457:	89 75 c4             	mov    %esi,-0x3c(%ebp)
-    545a:	8b 75 d0             	mov    -0x30(%ebp),%esi
+    545a:	8b 75 d8             	mov    -0x28(%ebp),%esi
     545d:	0f b6 04 16          	movzbl (%esi,%edx,1),%eax
     5461:	8d 74 02 01          	lea    0x1(%edx,%eax,1),%esi
-    5465:	8b 45 d0             	mov    -0x30(%ebp),%eax
+    5465:	8b 45 d8             	mov    -0x28(%ebp),%eax
     5468:	8d 56 01             	lea    0x1(%esi),%edx
     546b:	0f b6 04 30          	movzbl (%eax,%esi,1),%eax
     546f:	89 55 c8             	mov    %edx,-0x38(%ebp)
-    5472:	39 c1                	cmp    %eax,%ecx
-    5474:	89 45 d8             	mov    %eax,-0x28(%ebp)
+    5472:	39 c8                	cmp    %ecx,%eax
+    5474:	89 45 cc             	mov    %eax,-0x34(%ebp)
     5477:	0f 84 7a 01 00 00    	je     0x55f7
     547d:	8b 55 c8             	mov    -0x38(%ebp),%edx
-    5480:	8b 75 d8             	mov    -0x28(%ebp),%esi
+    5480:	8b 75 cc             	mov    -0x34(%ebp),%esi
     5483:	8d 44 32 03          	lea    0x3(%edx,%esi,1),%eax
-    5487:	8b 75 d0             	mov    -0x30(%ebp),%esi
+    5487:	8b 75 d8             	mov    -0x28(%ebp),%esi
     548a:	83 e0 fc             	and    $0xfffffffc,%eax
     548d:	8b 54 06 04          	mov    0x4(%esi,%eax,1),%edx
     5491:	8d 54 90 0c          	lea    0xc(%eax,%edx,4),%edx
-    5495:	39 55 cc             	cmp    %edx,-0x34(%ebp)
+    5495:	39 55 d4             	cmp    %edx,-0x2c(%ebp)
     5498:	7f c0                	jg     0x545a
     549a:	8b 75 c4             	mov    -0x3c(%ebp),%esi
     549d:	c7 45 d8 ff ff ff ff 	movl   $0xffffffff,-0x28(%ebp)
-    54a4:	83 7d d4 00          	cmpl   $0x0,-0x2c(%ebp)
+    54a4:	83 7d d0 00          	cmpl   $0x0,-0x30(%ebp)
     54a8:	7e 3f                	jle    0x54e9
     54aa:	8b 46 0c             	mov    0xc(%esi),%eax
     54ad:	8b 55 d8             	mov    -0x28(%ebp),%edx
     54b0:	89 4d d8             	mov    %ecx,-0x28(%ebp)
     54b3:	89 7d cc             	mov    %edi,-0x34(%ebp)
-    54b6:	89 45 d0             	mov    %eax,-0x30(%ebp)
-    54b9:	8b 4d d0             	mov    -0x30(%ebp),%ecx
+    54b6:	89 45 d4             	mov    %eax,-0x2c(%ebp)
+    54b9:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
     54bc:	31 c0                	xor    %eax,%eax
-    54be:	89 5d d0             	mov    %ebx,-0x30(%ebp)
-    54c1:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
+    54be:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
+    54c1:	8b 5d d0             	mov    -0x30(%ebp),%ebx
     54c4:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
     54c8:	3b 14 81             	cmp    (%ecx,%eax,4),%edx
     54cb:	72 0c                	jb     0x54d9
     54cd:	8b 7e 10             	mov    0x10(%esi),%edi
     54d0:	3b 14 87             	cmp    (%edi,%eax,4),%edx
-    54d3:	0f 86 7c 01 00 00    	jbe    0x5655
+    54d3:	0f 86 7e 01 00 00    	jbe    0x5657
     54d9:	83 c0 01             	add    $0x1,%eax
     54dc:	39 d8                	cmp    %ebx,%eax
     54de:	7c e8                	jl     0x54c8
     54e0:	8b 7d cc             	mov    -0x34(%ebp),%edi
     54e3:	8b 4d d8             	mov    -0x28(%ebp),%ecx
-    54e6:	8b 5d d0             	mov    -0x30(%ebp),%ebx
+    54e6:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
     54e9:	8b 56 24             	mov    0x24(%esi),%edx
     54ec:	85 d2                	test   %edx,%edx
     54ee:	89 55 cc             	mov    %edx,-0x34(%ebp)
@@ -7055,7 +7055,7 @@
     5520:	8d 47 01             	lea    0x1(%edi),%eax
     5523:	83 7d d8 00          	cmpl   $0x0,-0x28(%ebp)
     5527:	89 45 c8             	mov    %eax,-0x38(%ebp)
-    552a:	0f 88 4a 01 00 00    	js     0x567a
+    552a:	0f 88 4c 01 00 00    	js     0x567c
     5530:	83 7d d8 00          	cmpl   $0x0,-0x28(%ebp)
     5534:	0f 8e d4 fe ff ff    	jle    0x540e
     553a:	83 7d cc 00          	cmpl   $0x0,-0x34(%ebp)
@@ -7071,7 +7071,7 @@
     555a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
     5560:	83 c0 01             	add    $0x1,%eax
     5563:	39 45 cc             	cmp    %eax,-0x34(%ebp)
-    5566:	0f 8e fe 00 00 00    	jle    0x566a
+    5566:	0f 8e 00 01 00 00    	jle    0x566c
     556c:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
     556f:	8b 34 81             	mov    (%ecx,%eax,4),%esi
     5572:	8b 4d d8             	mov    -0x28(%ebp),%ecx
@@ -7104,7 +7104,7 @@
     55c6:	eb 0f                	jmp    0x55d7
     55c8:	0f b6 44 33 01       	movzbl 0x1(%ebx,%esi,1),%eax
     55cd:	3a 44 37 01          	cmp    0x1(%edi,%esi,1),%al
-    55d1:	0f 85 8b 00 00 00    	jne    0x5662
+    55d1:	0f 85 8d 00 00 00    	jne    0x5664
     55d7:	83 c6 01             	add    $0x1,%esi
     55da:	39 ce                	cmp    %ecx,%esi
     55dc:	76 ea                	jbe    0x55c8
@@ -7116,67 +7116,67 @@
     55ee:	0f b6 5d b4          	movzbl -0x4c(%ebp),%ebx
     55f2:	e9 ab fb ff ff       	jmp    0x51a2
     55f7:	85 c9                	test   %ecx,%ecx
-    55f9:	74 31                	je     0x562c
-    55fb:	8b 55 d0             	mov    -0x30(%ebp),%edx
-    55fe:	0f b6 44 32 01       	movzbl 0x1(%edx,%esi,1),%eax
-    5603:	3a 07                	cmp    (%edi),%al
-    5605:	0f 85 72 fe ff ff    	jne    0x547d
-    560b:	31 c0                	xor    %eax,%eax
-    560d:	01 d6                	add    %edx,%esi
-    560f:	eb 0a                	jmp    0x561b
-    5611:	0f b6 54 06 01       	movzbl 0x1(%esi,%eax,1),%edx
-    5616:	3a 14 07             	cmp    (%edi,%eax,1),%dl
-    5619:	75 08                	jne    0x5623
-    561b:	83 c0 01             	add    $0x1,%eax
-    561e:	39 45 d8             	cmp    %eax,-0x28(%ebp)
-    5621:	7f ee                	jg     0x5611
-    5623:	39 45 d8             	cmp    %eax,-0x28(%ebp)
-    5626:	0f 85 51 fe ff ff    	jne    0x547d
-    562c:	8b 55 c8             	mov    -0x38(%ebp),%edx
-    562f:	8b 45 d8             	mov    -0x28(%ebp),%eax
-    5632:	8b 75 c4             	mov    -0x3c(%ebp),%esi
-    5635:	8d 44 02 03          	lea    0x3(%edx,%eax,1),%eax
-    5639:	8b 55 d0             	mov    -0x30(%ebp),%edx
-    563c:	83 e0 fc             	and    $0xfffffffc,%eax
-    563f:	8b 54 02 04          	mov    0x4(%edx,%eax,1),%edx
-    5643:	8d 44 90 08          	lea    0x8(%eax,%edx,4),%eax
-    5647:	8b 55 d0             	mov    -0x30(%ebp),%edx
-    564a:	8b 14 02             	mov    (%edx,%eax,1),%edx
-    564d:	89 55 d8             	mov    %edx,-0x28(%ebp)
-    5650:	e9 4f fe ff ff       	jmp    0x54a4
-    5655:	8b 4d d8             	mov    -0x28(%ebp),%ecx
-    5658:	8b 5d d0             	mov    -0x30(%ebp),%ebx
-    565b:	89 c8                	mov    %ecx,%eax
-    565d:	e9 98 f9 ff ff       	jmp    0x4ffa
-    5662:	8b 45 d0             	mov    -0x30(%ebp),%eax
-    5665:	e9 f6 fe ff ff       	jmp    0x5560
-    566a:	8b 75 c8             	mov    -0x38(%ebp),%esi
-    566d:	31 c0                	xor    %eax,%eax
-    566f:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
-    5672:	8b 5d c0             	mov    -0x40(%ebp),%ebx
-    5675:	e9 80 f9 ff ff       	jmp    0x4ffa
-    567a:	8b 55 d0             	mov    -0x30(%ebp),%edx
-    567d:	2b 55 d8             	sub    -0x28(%ebp),%edx
-    5680:	89 75 c4             	mov    %esi,-0x3c(%ebp)
-    5683:	89 4d c0             	mov    %ecx,-0x40(%ebp)
-    5686:	89 5d bc             	mov    %ebx,-0x44(%ebp)
-    5689:	8b 0a                	mov    (%edx),%ecx
-    568b:	8d 5a 05             	lea    0x5(%edx),%ebx
-    568e:	85 c9                	test   %ecx,%ecx
-    5690:	89 4d d8             	mov    %ecx,-0x28(%ebp)
-    5693:	0f b6 42 04          	movzbl 0x4(%edx),%eax
-    5697:	89 5d d0             	mov    %ebx,-0x30(%ebp)
-    569a:	78 4e                	js     0x56ea
-    569c:	85 c0                	test   %eax,%eax
-    569e:	0f 84 5b 02 00 00    	je     0x58ff
-    56a4:	8b 4d d0             	mov    -0x30(%ebp),%ecx
-    56a7:	8b 75 c8             	mov    -0x38(%ebp),%esi
-    56aa:	0f b6 19             	movzbl (%ecx),%ebx
-    56ad:	31 c9                	xor    %ecx,%ecx
-    56af:	3a 1e                	cmp    (%esi),%bl
-    56b1:	74 10                	je     0x56c3
-    56b3:	eb 1d                	jmp    0x56d2
-    56b5:	8d 76 00             	lea    0x0(%esi),%esi
+    55f9:	0f 8e 4d 02 00 00    	jle    0x584c
+    55ff:	8b 55 d8             	mov    -0x28(%ebp),%edx
+    5602:	0f b6 44 32 01       	movzbl 0x1(%edx,%esi,1),%eax
+    5607:	3a 07                	cmp    (%edi),%al
+    5609:	0f 85 3d 02 00 00    	jne    0x584c
+    560f:	31 c0                	xor    %eax,%eax
+    5611:	01 d6                	add    %edx,%esi
+    5613:	eb 0a                	jmp    0x561f
+    5615:	0f b6 54 06 01       	movzbl 0x1(%esi,%eax,1),%edx
+    561a:	3a 14 07             	cmp    (%edi,%eax,1),%dl
+    561d:	75 07                	jne    0x5626
+    561f:	83 c0 01             	add    $0x1,%eax
+    5622:	39 c8                	cmp    %ecx,%eax
+    5624:	7c ef                	jl     0x5615
+    5626:	39 c8                	cmp    %ecx,%eax
+    5628:	0f 85 4f fe ff ff    	jne    0x547d
+    562e:	8b 55 c8             	mov    -0x38(%ebp),%edx
+    5631:	8b 45 cc             	mov    -0x34(%ebp),%eax
+    5634:	8b 75 c4             	mov    -0x3c(%ebp),%esi
+    5637:	8d 44 02 03          	lea    0x3(%edx,%eax,1),%eax
+    563b:	8b 55 d8             	mov    -0x28(%ebp),%edx
+    563e:	83 e0 fc             	and    $0xfffffffc,%eax
+    5641:	8b 54 02 04          	mov    0x4(%edx,%eax,1),%edx
+    5645:	8d 44 90 08          	lea    0x8(%eax,%edx,4),%eax
+    5649:	8b 55 d8             	mov    -0x28(%ebp),%edx
+    564c:	8b 14 02             	mov    (%edx,%eax,1),%edx
+    564f:	89 55 d8             	mov    %edx,-0x28(%ebp)
+    5652:	e9 4d fe ff ff       	jmp    0x54a4
+    5657:	8b 4d d8             	mov    -0x28(%ebp),%ecx
+    565a:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
+    565d:	89 c8                	mov    %ecx,%eax
+    565f:	e9 96 f9 ff ff       	jmp    0x4ffa
+    5664:	8b 45 d0             	mov    -0x30(%ebp),%eax
+    5667:	e9 f4 fe ff ff       	jmp    0x5560
+    566c:	8b 75 c8             	mov    -0x38(%ebp),%esi
+    566f:	31 c0                	xor    %eax,%eax
+    5671:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
+    5674:	8b 5d c0             	mov    -0x40(%ebp),%ebx
+    5677:	e9 7e f9 ff ff       	jmp    0x4ffa
+    567c:	8b 55 d0             	mov    -0x30(%ebp),%edx
+    567f:	2b 55 d8             	sub    -0x28(%ebp),%edx
+    5682:	89 75 c4             	mov    %esi,-0x3c(%ebp)
+    5685:	89 4d c0             	mov    %ecx,-0x40(%ebp)
+    5688:	89 5d bc             	mov    %ebx,-0x44(%ebp)
+    568b:	8b 0a                	mov    (%edx),%ecx
+    568d:	8d 5a 05             	lea    0x5(%edx),%ebx
+    5690:	85 c9                	test   %ecx,%ecx
+    5692:	89 4d d8             	mov    %ecx,-0x28(%ebp)
+    5695:	0f b6 42 04          	movzbl 0x4(%edx),%eax
+    5699:	89 5d d0             	mov    %ebx,-0x30(%ebp)
+    569c:	78 4c                	js     0x56ea
+    569e:	85 c0                	test   %eax,%eax
+    56a0:	0f 84 6f 02 00 00    	je     0x5915
+    56a6:	8b 4d d0             	mov    -0x30(%ebp),%ecx
+    56a9:	8b 75 c8             	mov    -0x38(%ebp),%esi
+    56ac:	0f b6 19             	movzbl (%ecx),%ebx
+    56af:	31 c9                	xor    %ecx,%ecx
+    56b1:	3a 1e                	cmp    (%esi),%bl
+    56b3:	74 0e                	je     0x56c3
+    56b5:	eb 1b                	jmp    0x56d2
+    56b7:	90                   	nop
     56b8:	0f b6 5c 0a 05       	movzbl 0x5(%edx,%ecx,1),%ebx
     56bd:	3a 5c 0f 01          	cmp    0x1(%edi,%ecx,1),%bl
     56c1:	75 07                	jne    0x56ca
@@ -7184,25 +7184,25 @@
     56c6:	39 c8                	cmp    %ecx,%eax
     56c8:	77 ee                	ja     0x56b8
     56ca:	39 c8                	cmp    %ecx,%eax
-    56cc:	0f 84 2d 02 00 00    	je     0x58ff
+    56cc:	0f 84 43 02 00 00    	je     0x5915
     56d2:	8b 55 d0             	mov    -0x30(%ebp),%edx
     56d5:	01 c2                	add    %eax,%edx
     56d7:	83 c0 01             	add    $0x1,%eax
     56da:	83 e0 03             	and    $0x3,%eax
-    56dd:	74 aa                	je     0x5689
+    56dd:	74 ac                	je     0x568b
     56df:	b9 04 00 00 00       	mov    $0x4,%ecx
     56e4:	29 c1                	sub    %eax,%ecx
     56e6:	01 ca                	add    %ecx,%edx
-    56e8:	eb 9f                	jmp    0x5689
+    56e8:	eb a1                	jmp    0x568b
     56ea:	85 c0                	test   %eax,%eax
-    56ec:	0f 84 23 02 00 00    	je     0x5915
+    56ec:	0f 84 83 01 00 00    	je     0x5875
     56f2:	0f b6 0b             	movzbl (%ebx),%ecx
     56f5:	8b 75 c8             	mov    -0x38(%ebp),%esi
     56f8:	88 4d b8             	mov    %cl,-0x48(%ebp)
     56fb:	0f b6 1e             	movzbl (%esi),%ebx
     56fe:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
     5705:	38 d9                	cmp    %bl,%cl
-    5707:	0f 85 00 02 00 00    	jne    0x590d
+    5707:	0f 85 fb 01 00 00    	jne    0x5908
     570d:	88 5d b8             	mov    %bl,-0x48(%ebp)
     5710:	89 c6                	mov    %eax,%esi
     5712:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
@@ -7218,7 +7218,7 @@
     5733:	0f b6 5d b8          	movzbl -0x48(%ebp),%ebx
     5737:	89 f0                	mov    %esi,%eax
     5739:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
-    573c:	0f 84 d3 01 00 00    	je     0x5915
+    573c:	0f 84 33 01 00 00    	je     0x5875
     5742:	8b 75 d0             	mov    -0x30(%ebp),%esi
     5745:	0f b6 0c 0e          	movzbl (%esi,%ecx,1),%ecx
     5749:	8b 75 c8             	mov    -0x38(%ebp),%esi
@@ -7303,9935 +7303,9942 @@
     5842:	88 45 b8             	mov    %al,-0x48(%ebp)
     5845:	89 f0                	mov    %esi,%eax
     5847:	e9 0d ff ff ff       	jmp    0x5759
-    584c:	8b 55 c4             	mov    -0x3c(%ebp),%edx
-    584f:	8b 42 6c             	mov    0x6c(%edx),%eax
-    5852:	8b 55 c8             	mov    -0x38(%ebp),%edx
-    5855:	89 4d a0             	mov    %ecx,-0x60(%ebp)
-    5858:	e8 fc ff ff ff       	call   0x5859
-    585d:	8b 4d a0             	mov    -0x60(%ebp),%ecx
-    5860:	89 45 d8             	mov    %eax,-0x28(%ebp)
-    5863:	8b 46 28             	mov    0x28(%esi),%eax
-    5866:	89 45 d4             	mov    %eax,-0x2c(%ebp)
-    5869:	e9 36 fc ff ff       	jmp    0x54a4
-    586e:	8b 5d ac             	mov    -0x54(%ebp),%ebx
-    5871:	8b 7d a8             	mov    -0x58(%ebp),%edi
-    5874:	e9 5f f9 ff ff       	jmp    0x51d8
-    5879:	8b 75 d0             	mov    -0x30(%ebp),%esi
-    587c:	8b 56 04             	mov    0x4(%esi),%edx
-    587f:	8d 0c 3a             	lea    (%edx,%edi,1),%ecx
-    5882:	0f b6 01             	movzbl (%ecx),%eax
-    5885:	3c c1                	cmp    $0xc1,%al
-    5887:	0f 86 93 f6 ff ff    	jbe    0x4f20
-    588d:	8b 76 30             	mov    0x30(%esi),%esi
-    5890:	8d 5f 01             	lea    0x1(%edi),%ebx
-    5893:	39 f3                	cmp    %esi,%ebx
-    5895:	0f 8d 85 f6 ff ff    	jge    0x4f20
-    589b:	3c df                	cmp    $0xdf,%al
-    589d:	0f b6 54 3a 01       	movzbl 0x1(%edx,%edi,1),%edx
-    58a2:	77 21                	ja     0x58c5
-    58a4:	83 c2 80             	add    $0xffffff80,%edx
-    58a7:	bb 02 00 00 00       	mov    $0x2,%ebx
-    58ac:	80 fa 3f             	cmp    $0x3f,%dl
-    58af:	0f 86 6d f6 ff ff    	jbe    0x4f22
-    58b5:	e9 66 f6 ff ff       	jmp    0x4f20
-    58ba:	8b 5d ac             	mov    -0x54(%ebp),%ebx
-    58bd:	8b 7d a8             	mov    -0x58(%ebp),%edi
-    58c0:	e9 eb f8 ff ff       	jmp    0x51b0
-    58c5:	3c ef                	cmp    $0xef,%al
-    58c7:	77 65                	ja     0x592e
-    58c9:	80 fa 9f             	cmp    $0x9f,%dl
-    58cc:	76 57                	jbe    0x5925
-    58ce:	bb 03 00 00 00       	mov    $0x3,%ebx
-    58d3:	8d 3c 3b             	lea    (%ebx,%edi,1),%edi
-    58d6:	39 fe                	cmp    %edi,%esi
-    58d8:	0f 8c 42 f6 ff ff    	jl     0x4f20
-    58de:	b8 01 00 00 00       	mov    $0x1,%eax
-    58e3:	0f b6 14 01          	movzbl (%ecx,%eax,1),%edx
-    58e7:	83 c2 80             	add    $0xffffff80,%edx
-    58ea:	80 fa 3f             	cmp    $0x3f,%dl
-    58ed:	0f 87 2d f6 ff ff    	ja     0x4f20
-    58f3:	83 c0 01             	add    $0x1,%eax
-    58f6:	39 c3                	cmp    %eax,%ebx
-    58f8:	7f e9                	jg     0x58e3
-    58fa:	e9 23 f6 ff ff       	jmp    0x4f22
-    58ff:	8b 75 c4             	mov    -0x3c(%ebp),%esi
-    5902:	8b 4d c0             	mov    -0x40(%ebp),%ecx
-    5905:	8b 5d bc             	mov    -0x44(%ebp),%ebx
-    5908:	e9 23 fc ff ff       	jmp    0x5530
-    590d:	88 5d d4             	mov    %bl,-0x2c(%ebp)
+    584c:	31 c0                	xor    %eax,%eax
+    584e:	e9 d3 fd ff ff       	jmp    0x5626
+    5853:	8b 55 c4             	mov    -0x3c(%ebp),%edx
+    5856:	8b 42 6c             	mov    0x6c(%edx),%eax
+    5859:	8b 55 c8             	mov    -0x38(%ebp),%edx
+    585c:	89 4d a0             	mov    %ecx,-0x60(%ebp)
+    585f:	e8 fc ff ff ff       	call   0x5860
+    5864:	8b 4d a0             	mov    -0x60(%ebp),%ecx
+    5867:	89 45 d8             	mov    %eax,-0x28(%ebp)
+    586a:	8b 46 28             	mov    0x28(%esi),%eax
+    586d:	89 45 d0             	mov    %eax,-0x30(%ebp)
+    5870:	e9 2f fc ff ff       	jmp    0x54a4
+    5875:	8b 75 c4             	mov    -0x3c(%ebp),%esi
+    5878:	31 d2                	xor    %edx,%edx
+    587a:	8b 4d c0             	mov    -0x40(%ebp),%ecx
+    587d:	8b 5d bc             	mov    -0x44(%ebp),%ebx
+    5880:	eb ab                	jmp    0x582d
+    5882:	8b 75 d0             	mov    -0x30(%ebp),%esi
+    5885:	8b 56 04             	mov    0x4(%esi),%edx
+    5888:	8d 0c 3a             	lea    (%edx,%edi,1),%ecx
+    588b:	0f b6 01             	movzbl (%ecx),%eax
+    588e:	3c c1                	cmp    $0xc1,%al
+    5890:	0f 86 8a f6 ff ff    	jbe    0x4f20
+    5896:	8b 76 30             	mov    0x30(%esi),%esi
+    5899:	8d 5f 01             	lea    0x1(%edi),%ebx
+    589c:	39 f3                	cmp    %esi,%ebx
+    589e:	0f 8d 7c f6 ff ff    	jge    0x4f20
+    58a4:	3c df                	cmp    $0xdf,%al
+    58a6:	0f b6 54 3a 01       	movzbl 0x1(%edx,%edi,1),%edx
+    58ab:	77 21                	ja     0x58ce
+    58ad:	83 c2 80             	add    $0xffffff80,%edx
+    58b0:	bb 02 00 00 00       	mov    $0x2,%ebx
+    58b5:	80 fa 3f             	cmp    $0x3f,%dl
+    58b8:	0f 86 64 f6 ff ff    	jbe    0x4f22
+    58be:	e9 5d f6 ff ff       	jmp    0x4f20
+    58c3:	8b 5d ac             	mov    -0x54(%ebp),%ebx
+    58c6:	8b 7d a8             	mov    -0x58(%ebp),%edi
+    58c9:	e9 e2 f8 ff ff       	jmp    0x51b0
+    58ce:	3c ef                	cmp    $0xef,%al
+    58d0:	77 67                	ja     0x5939
+    58d2:	80 fa 9f             	cmp    $0x9f,%dl
+    58d5:	76 59                	jbe    0x5930
+    58d7:	bb 03 00 00 00       	mov    $0x3,%ebx
+    58dc:	8d 3c 3b             	lea    (%ebx,%edi,1),%edi
+    58df:	39 fe                	cmp    %edi,%esi
+    58e1:	0f 8c 39 f6 ff ff    	jl     0x4f20
+    58e7:	b8 01 00 00 00       	mov    $0x1,%eax
+    58ec:	0f b6 14 01          	movzbl (%ecx,%eax,1),%edx
+    58f0:	83 c2 80             	add    $0xffffff80,%edx
+    58f3:	80 fa 3f             	cmp    $0x3f,%dl
+    58f6:	0f 87 24 f6 ff ff    	ja     0x4f20
+    58fc:	83 c0 01             	add    $0x1,%eax
+    58ff:	39 c3                	cmp    %eax,%ebx
+    5901:	7f e9                	jg     0x58ec
+    5903:	e9 1a f6 ff ff       	jmp    0x4f22
+    5908:	88 5d d4             	mov    %bl,-0x2c(%ebp)
+    590b:	90                   	nop
+    590c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
     5910:	e9 44 fe ff ff       	jmp    0x5759
     5915:	8b 75 c4             	mov    -0x3c(%ebp),%esi
-    5918:	31 d2                	xor    %edx,%edx
-    591a:	8b 4d c0             	mov    -0x40(%ebp),%ecx
-    591d:	8b 5d bc             	mov    -0x44(%ebp),%ebx
-    5920:	e9 08 ff ff ff       	jmp    0x582d
-    5925:	3c e0                	cmp    $0xe0,%al
-    5927:	75 a5                	jne    0x58ce
-    5929:	e9 f2 f5 ff ff       	jmp    0x4f20
-    592e:	3c f7                	cmp    $0xf7,%al
-    5930:	77 10                	ja     0x5942
-    5932:	80 fa 8f             	cmp    $0x8f,%dl
-    5935:	8d 76 00             	lea    0x0(%esi),%esi
-    5938:	76 1b                	jbe    0x5955
-    593a:	bb 04 00 00 00       	mov    $0x4,%ebx
-    593f:	90                   	nop
-    5940:	eb 91                	jmp    0x58d3
-    5942:	3c fb                	cmp    $0xfb,%al
-    5944:	77 2f                	ja     0x5975
-    5946:	80 fa 87             	cmp    $0x87,%dl
-    5949:	76 1a                	jbe    0x5965
-    594b:	bb 05 00 00 00       	mov    $0x5,%ebx
-    5950:	e9 7e ff ff ff       	jmp    0x58d3
-    5955:	3c f0                	cmp    $0xf0,%al
-    5957:	75 e1                	jne    0x593a
-    5959:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
-    5960:	e9 bb f5 ff ff       	jmp    0x4f20
-    5965:	3c f8                	cmp    $0xf8,%al
-    5967:	90                   	nop
-    5968:	75 e1                	jne    0x594b
-    596a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
+    5918:	8b 4d c0             	mov    -0x40(%ebp),%ecx
+    591b:	8b 5d bc             	mov    -0x44(%ebp),%ebx
+    591e:	66 90                	xchg   %ax,%ax
+    5920:	e9 0b fc ff ff       	jmp    0x5530
+    5925:	8b 5d ac             	mov    -0x54(%ebp),%ebx
+    5928:	8b 7d a8             	mov    -0x58(%ebp),%edi
+    592b:	e9 a8 f8 ff ff       	jmp    0x51d8
+    5930:	3c e0                	cmp    $0xe0,%al
+    5932:	75 a3                	jne    0x58d7
+    5934:	e9 e7 f5 ff ff       	jmp    0x4f20
+    5939:	3c f7                	cmp    $0xf7,%al
+    593b:	90                   	nop
+    593c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    5940:	77 10                	ja     0x5952
+    5942:	80 fa 8f             	cmp    $0x8f,%dl
+    5945:	8d 76 00             	lea    0x0(%esi),%esi
+    5948:	76 1b                	jbe    0x5965
+    594a:	bb 04 00 00 00       	mov    $0x4,%ebx
+    594f:	90                   	nop
+    5950:	eb 8a                	jmp    0x58dc
+    5952:	3c fb                	cmp    $0xfb,%al
+    5954:	77 2f                	ja     0x5985
+    5956:	80 fa 87             	cmp    $0x87,%dl
+    5959:	76 1a                	jbe    0x5975
+    595b:	bb 05 00 00 00       	mov    $0x5,%ebx
+    5960:	e9 77 ff ff ff       	jmp    0x58dc
+    5965:	3c f0                	cmp    $0xf0,%al
+    5967:	75 e1                	jne    0x594a
+    5969:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
     5970:	e9 ab f5 ff ff       	jmp    0x4f20
-    5975:	3c fd                	cmp    $0xfd,%al
+    5975:	3c f8                	cmp    $0xf8,%al
     5977:	90                   	nop
-    5978:	0f 87 a2 f5 ff ff    	ja     0x4f20
-    597e:	80 fa 83             	cmp    $0x83,%dl
-    5981:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
-    5988:	76 0b                	jbe    0x5995
-    598a:	bb 06 00 00 00       	mov    $0x6,%ebx
-    598f:	90                   	nop
-    5990:	e9 3e ff ff ff       	jmp    0x58d3
-    5995:	3c fc                	cmp    $0xfc,%al
-    5997:	75 f1                	jne    0x598a
-    5999:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
-    59a0:	e9 7b f5 ff ff       	jmp    0x4f20
-    59a5:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    59a9:	8d bc 27 00 00 00 00 	lea    0x0(%edi,%eiz,1),%edi
-    59b0:	55                   	push   %ebp
-    59b1:	89 e5                	mov    %esp,%ebp
-    59b3:	57                   	push   %edi
-    59b4:	89 cf                	mov    %ecx,%edi
-    59b6:	56                   	push   %esi
-    59b7:	53                   	push   %ebx
-    59b8:	83 ec 74             	sub    $0x74,%esp
-    59bb:	8b 75 08             	mov    0x8(%ebp),%esi
-    59be:	89 45 c8             	mov    %eax,-0x38(%ebp)
-    59c1:	8b 40 54             	mov    0x54(%eax),%eax
-    59c4:	89 55 a0             	mov    %edx,-0x60(%ebp)
-    59c7:	8b 55 a0             	mov    -0x60(%ebp),%edx
-    59ca:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
-    59d1:	89 45 a8             	mov    %eax,-0x58(%ebp)
-    59d4:	8b 00                	mov    (%eax),%eax
-    59d6:	8b 5a 04             	mov    0x4(%edx),%ebx
-    59d9:	8b 04 c8             	mov    (%eax,%ecx,8),%eax
-    59dc:	8b 4d c8             	mov    -0x38(%ebp),%ecx
-    59df:	89 45 a4             	mov    %eax,-0x5c(%ebp)
-    59e2:	8b 45 10             	mov    0x10(%ebp),%eax
-    59e5:	03 41 78             	add    0x78(%ecx),%eax
-    59e8:	39 d8                	cmp    %ebx,%eax
-    59ea:	0f 8d 13 05 00 00    	jge    0x5f03
-    59f0:	8b 45 a0             	mov    -0x60(%ebp),%eax
-    59f3:	8b 00                	mov    (%eax),%eax
-    59f5:	85 c0                	test   %eax,%eax
-    59f7:	89 45 c4             	mov    %eax,-0x3c(%ebp)
-    59fa:	0f 84 0a 03 00 00    	je     0x5d0a
-    5a00:	8b 55 c8             	mov    -0x38(%ebp),%edx
-    5a03:	8b 4d c8             	mov    -0x38(%ebp),%ecx
-    5a06:	8b 45 a0             	mov    -0x60(%ebp),%eax
-    5a09:	8b 52 64             	mov    0x64(%edx),%edx
-    5a0c:	8b 49 28             	mov    0x28(%ecx),%ecx
-    5a0f:	8b 58 08             	mov    0x8(%eax),%ebx
-    5a12:	8b 45 c8             	mov    -0x38(%ebp),%eax
-    5a15:	89 55 9c             	mov    %edx,-0x64(%ebp)
-    5a18:	8b 55 c8             	mov    -0x38(%ebp),%edx
-    5a1b:	89 4d 98             	mov    %ecx,-0x68(%ebp)
-    5a1e:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
-    5a21:	89 5a 64             	mov    %ebx,0x64(%edx)
-    5a24:	89 4a 28             	mov    %ecx,0x28(%edx)
-    5a27:	8b 4a 58             	mov    0x58(%edx),%ecx
-    5a2a:	8b 55 c4             	mov    -0x3c(%ebp),%edx
-    5a2d:	83 ea 01             	sub    $0x1,%edx
-    5a30:	e8 8b d1 ff ff       	call   0x2bc0
-    5a35:	39 75 c4             	cmp    %esi,-0x3c(%ebp)
-    5a38:	89 45 d0             	mov    %eax,-0x30(%ebp)
-    5a3b:	0f 84 fb 02 00 00    	je     0x5d3c
-    5a41:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
-    5a44:	8b 1c 8b             	mov    (%ebx,%ecx,4),%ebx
-    5a47:	85 db                	test   %ebx,%ebx
-    5a49:	0f 84 75 04 00 00    	je     0x5ec4
-    5a4f:	f6 43 34 40          	testb  $0x40,0x34(%ebx)
-    5a53:	0f 85 2d 04 00 00    	jne    0x5e86
-    5a59:	8d 55 e0             	lea    -0x20(%ebp),%edx
-    5a5c:	b9 03 00 00 00       	mov    $0x3,%ecx
-    5a61:	31 c0                	xor    %eax,%eax
-    5a63:	89 d7                	mov    %edx,%edi
-    5a65:	f3 ab                	rep stos %eax,%es:(%edi)
-    5a67:	89 55 bc             	mov    %edx,-0x44(%ebp)
-    5a6a:	f6 43 34 40          	testb  $0x40,0x34(%ebx)
-    5a6e:	0f 85 03 03 00 00    	jne    0x5d77
-    5a74:	8b 7d 10             	mov    0x10(%ebp),%edi
-    5a77:	39 7d c4             	cmp    %edi,-0x3c(%ebp)
-    5a7a:	0f 8d 67 03 00 00    	jge    0x5de7
-    5a80:	8b 45 c8             	mov    -0x38(%ebp),%eax
-    5a83:	8b 48 78             	mov    0x78(%eax),%ecx
-    5a86:	85 c9                	test   %ecx,%ecx
-    5a88:	0f 88 59 03 00 00    	js     0x5de7
-    5a8e:	8b 55 c4             	mov    -0x3c(%ebp),%edx
-    5a91:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
-    5a94:	8b 40 64             	mov    0x64(%eax),%eax
-    5a97:	c7 45 b0 00 00 00 00 	movl   $0x0,-0x50(%ebp)
-    5a9e:	8d 14 95 04 00 00 00 	lea    0x4(,%edx,4),%edx
-    5aa5:	89 55 b4             	mov    %edx,-0x4c(%ebp)
-    5aa8:	89 55 b8             	mov    %edx,-0x48(%ebp)
-    5aab:	89 4d ac             	mov    %ecx,-0x54(%ebp)
-    5aae:	66 90                	xchg   %ax,%ax
-    5ab0:	8b 55 b4             	mov    -0x4c(%ebp),%edx
-    5ab3:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
-    5aba:	8b 04 10             	mov    (%eax,%edx,1),%eax
-    5abd:	85 c0                	test   %eax,%eax
-    5abf:	74 16                	je     0x5ad7
-    5ac1:	8d 50 04             	lea    0x4(%eax),%edx
-    5ac4:	8b 45 bc             	mov    -0x44(%ebp),%eax
-    5ac7:	e8 74 bc ff ff       	call   0x1740
-    5acc:	85 c0                	test   %eax,%eax
-    5ace:	89 45 f0             	mov    %eax,-0x10(%ebp)
-    5ad1:	0f 85 9f 03 00 00    	jne    0x5e76
-    5ad7:	85 db                	test   %ebx,%ebx
-    5ad9:	0f 84 69 01 00 00    	je     0x5c48
-    5adf:	8b 4d c8             	mov    -0x38(%ebp),%ecx
-    5ae2:	8d 7b 10             	lea    0x10(%ebx),%edi
-    5ae5:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
-    5aec:	8b 71 54             	mov    0x54(%ecx),%esi
-    5aef:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
-    5af6:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
-    5afd:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
-    5b04:	8b 53 14             	mov    0x14(%ebx),%edx
-    5b07:	85 d2                	test   %edx,%edx
-    5b09:	0f 8e c1 02 00 00    	jle    0x5dd0
-    5b0f:	31 db                	xor    %ebx,%ebx
-    5b11:	eb 42                	jmp    0x5b55
-    5b13:	90                   	nop
-    5b14:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    5b18:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
-    5b1b:	8b 45 c8             	mov    -0x38(%ebp),%eax
-    5b1e:	e8 5d d1 ff ff       	call   0x2c80
-    5b23:	85 c0                	test   %eax,%eax
-    5b25:	74 22                	je     0x5b49
-    5b27:	8b 45 d0             	mov    -0x30(%ebp),%eax
-    5b2a:	c1 e0 02             	shl    $0x2,%eax
-    5b2d:	89 45 cc             	mov    %eax,-0x34(%ebp)
-    5b30:	8b 46 0c             	mov    0xc(%esi),%eax
-    5b33:	8b 4d cc             	mov    -0x34(%ebp),%ecx
-    5b36:	8b 14 08             	mov    (%eax,%ecx,1),%edx
-    5b39:	8b 45 bc             	mov    -0x44(%ebp),%eax
-    5b3c:	e8 9f bd ff ff       	call   0x18e0
-    5b41:	85 c0                	test   %eax,%eax
-    5b43:	0f 88 1b 03 00 00    	js     0x5e64
-    5b49:	83 c3 01             	add    $0x1,%ebx
-    5b4c:	3b 5f 04             	cmp    0x4(%edi),%ebx
-    5b4f:	0f 8d 7b 02 00 00    	jge    0x5dd0
-    5b55:	8b 47 08             	mov    0x8(%edi),%eax
-    5b58:	8b 16                	mov    (%esi),%edx
-    5b5a:	8b 04 98             	mov    (%eax,%ebx,4),%eax
-    5b5d:	89 45 d0             	mov    %eax,-0x30(%ebp)
-    5b60:	c1 e0 03             	shl    $0x3,%eax
-    5b63:	01 c2                	add    %eax,%edx
-    5b65:	89 45 cc             	mov    %eax,-0x34(%ebp)
-    5b68:	f6 42 06 10          	testb  $0x10,0x6(%edx)
-    5b6c:	74 aa                	je     0x5b18
-    5b6e:	8b 45 c4             	mov    -0x3c(%ebp),%eax
-    5b71:	8b 55 d0             	mov    -0x30(%ebp),%edx
-    5b74:	8b 4d c8             	mov    -0x38(%ebp),%ecx
-    5b77:	89 04 24             	mov    %eax,(%esp)
-    5b7a:	89 f0                	mov    %esi,%eax
-    5b7c:	e8 af f2 ff ff       	call   0x4e30
-    5b81:	83 ec 04             	sub    $0x4,%esp
-    5b84:	83 f8 01             	cmp    $0x1,%eax
-    5b87:	89 c2                	mov    %eax,%edx
-    5b89:	0f 8e 29 02 00 00    	jle    0x5db8
-    5b8f:	8b 4d d0             	mov    -0x30(%ebp),%ecx
-    5b92:	03 55 c4             	add    -0x3c(%ebp),%edx
-    5b95:	8b 45 d0             	mov    -0x30(%ebp),%eax
-    5b98:	c1 e1 02             	shl    $0x2,%ecx
-    5b9b:	89 4d cc             	mov    %ecx,-0x34(%ebp)
-    5b9e:	8b 4e 0c             	mov    0xc(%esi),%ecx
-    5ba1:	89 55 d0             	mov    %edx,-0x30(%ebp)
-    5ba4:	c1 e2 02             	shl    $0x2,%edx
-    5ba7:	89 55 c0             	mov    %edx,-0x40(%ebp)
-    5baa:	8b 55 c8             	mov    -0x38(%ebp),%edx
-    5bad:	8b 0c 81             	mov    (%ecx,%eax,4),%ecx
-    5bb0:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
-    5bb7:	8b 52 64             	mov    0x64(%edx),%edx
-    5bba:	89 4d 8c             	mov    %ecx,-0x74(%ebp)
-    5bbd:	8b 4d d0             	mov    -0x30(%ebp),%ecx
-    5bc0:	8b 14 8a             	mov    (%edx,%ecx,4),%edx
-    5bc3:	85 d2                	test   %edx,%edx
-    5bc5:	74 12                	je     0x5bd9
-    5bc7:	83 c2 04             	add    $0x4,%edx
-    5bca:	8d 45 d4             	lea    -0x2c(%ebp),%eax
-    5bcd:	e8 6e bb ff ff       	call   0x1740
-    5bd2:	85 c0                	test   %eax,%eax
-    5bd4:	89 45 ec             	mov    %eax,-0x14(%ebp)
-    5bd7:	75 4f                	jne    0x5c28
-    5bd9:	8b 55 8c             	mov    -0x74(%ebp),%edx
-    5bdc:	8d 45 d4             	lea    -0x2c(%ebp),%eax
-    5bdf:	e8 fc bc ff ff       	call   0x18e0
-    5be4:	85 c0                	test   %eax,%eax
-    5be6:	0f 88 78 02 00 00    	js     0x5e64
-    5bec:	8b 55 c8             	mov    -0x38(%ebp),%edx
-    5bef:	8d 45 ec             	lea    -0x14(%ebp),%eax
-    5bf2:	8b 4d c0             	mov    -0x40(%ebp),%ecx
-    5bf5:	03 4a 64             	add    0x64(%edx),%ecx
-    5bf8:	89 f2                	mov    %esi,%edx
-    5bfa:	89 4d c0             	mov    %ecx,-0x40(%ebp)
-    5bfd:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
-    5c00:	e8 8b ed ff ff       	call   0x4990
-    5c05:	8b 55 c0             	mov    -0x40(%ebp),%edx
-    5c08:	8b 4d c8             	mov    -0x38(%ebp),%ecx
-    5c0b:	89 02                	mov    %eax,(%edx)
-    5c0d:	8b 41 64             	mov    0x64(%ecx),%eax
-    5c10:	8b 55 d0             	mov    -0x30(%ebp),%edx
-    5c13:	8b 04 90             	mov    (%eax,%edx,4),%eax
-    5c16:	85 c0                	test   %eax,%eax
-    5c18:	0f 85 12 ff ff ff    	jne    0x5b30
-    5c1e:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
-    5c22:	0f 84 08 ff ff ff    	je     0x5b30
-    5c28:	8b 45 dc             	mov    -0x24(%ebp),%eax
-    5c2b:	89 04 24             	mov    %eax,(%esp)
-    5c2e:	e8 fc ff ff ff       	call   0x5c2f
-    5c33:	8b 45 ec             	mov    -0x14(%ebp),%eax
-    5c36:	85 c0                	test   %eax,%eax
-    5c38:	89 45 f0             	mov    %eax,-0x10(%ebp)
-    5c3b:	0f 85 35 02 00 00    	jne    0x5e76
-    5c41:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
-    5c48:	8b 7d e4             	mov    -0x1c(%ebp),%edi
-    5c4b:	83 45 c4 01          	addl   $0x1,-0x3c(%ebp)
-    5c4f:	85 ff                	test   %edi,%edi
-    5c51:	74 4b                	je     0x5c9e
-    5c53:	8b 7d 14             	mov    0x14(%ebp),%edi
-    5c56:	8b 4d a4             	mov    -0x5c(%ebp),%ecx
-    5c59:	8b 55 bc             	mov    -0x44(%ebp),%edx
-    5c5c:	8b 45 a8             	mov    -0x58(%ebp),%eax
-    5c5f:	89 3c 24             	mov    %edi,(%esp)
-    5c62:	e8 99 be ff ff       	call   0x1b00
-    5c67:	83 ec 04             	sub    $0x4,%esp
-    5c6a:	85 c0                	test   %eax,%eax
-    5c6c:	89 45 f0             	mov    %eax,-0x10(%ebp)
-    5c6f:	0f 85 01 02 00 00    	jne    0x5e76
-    5c75:	8b 45 14             	mov    0x14(%ebp),%eax
-    5c78:	8b 55 a4             	mov    -0x5c(%ebp),%edx
-    5c7b:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
-    5c7e:	89 44 24 04          	mov    %eax,0x4(%esp)
-    5c82:	8b 45 c8             	mov    -0x38(%ebp),%eax
-    5c85:	89 14 24             	mov    %edx,(%esp)
-    5c88:	8b 55 bc             	mov    -0x44(%ebp),%edx
-    5c8b:	e8 40 ef ff ff       	call   0x4bd0
-    5c90:	83 ec 08             	sub    $0x8,%esp
-    5c93:	85 c0                	test   %eax,%eax
-    5c95:	89 45 f0             	mov    %eax,-0x10(%ebp)
-    5c98:	0f 85 d8 01 00 00    	jne    0x5e76
-    5c9e:	8b 7d c8             	mov    -0x38(%ebp),%edi
-    5ca1:	8b 55 ac             	mov    -0x54(%ebp),%edx
-    5ca4:	8b 4f 58             	mov    0x58(%edi),%ecx
-    5ca7:	89 f8                	mov    %edi,%eax
-    5ca9:	e8 12 cf ff ff       	call   0x2bc0
-    5cae:	8b 4d bc             	mov    -0x44(%ebp),%ecx
-    5cb1:	8b 55 a8             	mov    -0x58(%ebp),%edx
-    5cb4:	89 04 24             	mov    %eax,(%esp)
-    5cb7:	8d 45 f0             	lea    -0x10(%ebp),%eax
-    5cba:	e8 51 e8 ff ff       	call   0x4510
-    5cbf:	83 ec 04             	sub    $0x4,%esp
-    5cc2:	85 c0                	test   %eax,%eax
-    5cc4:	89 c3                	mov    %eax,%ebx
-    5cc6:	0f 84 18 02 00 00    	je     0x5ee4
-    5ccc:	8b 55 c8             	mov    -0x38(%ebp),%edx
-    5ccf:	8b 4d b8             	mov    -0x48(%ebp),%ecx
-    5cd2:	c7 45 b0 00 00 00 00 	movl   $0x0,-0x50(%ebp)
-    5cd9:	8b 42 64             	mov    0x64(%edx),%eax
-    5cdc:	89 1c 08             	mov    %ebx,(%eax,%ecx,1)
-    5cdf:	8b 7d c4             	mov    -0x3c(%ebp),%edi
-    5ce2:	39 7d 10             	cmp    %edi,0x10(%ebp)
-    5ce5:	0f 8e fc 00 00 00    	jle    0x5de7
-    5ceb:	8b 55 c8             	mov    -0x38(%ebp),%edx
-    5cee:	8b 4d b0             	mov    -0x50(%ebp),%ecx
-    5cf1:	83 45 b4 04          	addl   $0x4,-0x4c(%ebp)
-    5cf5:	83 45 b8 04          	addl   $0x4,-0x48(%ebp)
-    5cf9:	39 4a 78             	cmp    %ecx,0x78(%edx)
-    5cfc:	0f 8c e5 00 00 00    	jl     0x5de7
-    5d02:	89 7d ac             	mov    %edi,-0x54(%ebp)
-    5d05:	e9 a6 fd ff ff       	jmp    0x5ab0
-    5d0a:	8b 45 c8             	mov    -0x38(%ebp),%eax
-    5d0d:	8b 55 c8             	mov    -0x38(%ebp),%edx
-    5d10:	8b 4d a0             	mov    -0x60(%ebp),%ecx
-    5d13:	8b 40 64             	mov    0x64(%eax),%eax
-    5d16:	8b 52 28             	mov    0x28(%edx),%edx
-    5d19:	89 45 9c             	mov    %eax,-0x64(%ebp)
-    5d1c:	8b 41 08             	mov    0x8(%ecx),%eax
-    5d1f:	89 55 98             	mov    %edx,-0x68(%ebp)
-    5d22:	8b 55 c8             	mov    -0x38(%ebp),%edx
-    5d25:	89 42 64             	mov    %eax,0x64(%edx)
-    5d28:	8b 4a 58             	mov    0x58(%edx),%ecx
-    5d2b:	8b 45 c8             	mov    -0x38(%ebp),%eax
-    5d2e:	89 72 28             	mov    %esi,0x28(%edx)
-    5d31:	8d 56 ff             	lea    -0x1(%esi),%edx
-    5d34:	e8 87 ce ff ff       	call   0x2bc0
-    5d39:	89 45 d0             	mov    %eax,-0x30(%ebp)
-    5d3c:	8d 45 e0             	lea    -0x20(%ebp),%eax
-    5d3f:	89 fa                	mov    %edi,%edx
-    5d41:	89 45 bc             	mov    %eax,-0x44(%ebp)
-    5d44:	e8 07 ad ff ff       	call   0xa50
-    5d49:	85 c0                	test   %eax,%eax
-    5d4b:	89 45 f0             	mov    %eax,-0x10(%ebp)
-    5d4e:	0f 85 dc 00 00 00    	jne    0x5e30
-    5d54:	8b 55 14             	mov    0x14(%ebp),%edx
-    5d57:	8b 4d a4             	mov    -0x5c(%ebp),%ecx
-    5d5a:	8b 45 a8             	mov    -0x58(%ebp),%eax
-    5d5d:	89 14 24             	mov    %edx,(%esp)
-    5d60:	8b 55 bc             	mov    -0x44(%ebp),%edx
-    5d63:	e8 98 bd ff ff       	call   0x1b00
-    5d68:	89 75 c4             	mov    %esi,-0x3c(%ebp)
-    5d6b:	85 c0                	test   %eax,%eax
-    5d6d:	57                   	push   %edi
-    5d6e:	89 45 f0             	mov    %eax,-0x10(%ebp)
-    5d71:	0f 85 ff 00 00 00    	jne    0x5e76
-    5d77:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
-    5d7b:	0f 85 b9 00 00 00    	jne    0x5e3a
-    5d81:	8b 7d d0             	mov    -0x30(%ebp),%edi
-    5d84:	8d 45 f0             	lea    -0x10(%ebp),%eax
-    5d87:	8b 4d bc             	mov    -0x44(%ebp),%ecx
-    5d8a:	8b 55 a8             	mov    -0x58(%ebp),%edx
-    5d8d:	89 3c 24             	mov    %edi,(%esp)
-    5d90:	e8 7b e7 ff ff       	call   0x4510
-    5d95:	85 c0                	test   %eax,%eax
-    5d97:	53                   	push   %ebx
-    5d98:	89 c3                	mov    %eax,%ebx
-    5d9a:	0f 84 aa 01 00 00    	je     0x5f4a
-    5da0:	8b 55 c8             	mov    -0x38(%ebp),%edx
-    5da3:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
-    5da6:	8b 42 64             	mov    0x64(%edx),%eax
-    5da9:	89 1c 88             	mov    %ebx,(%eax,%ecx,4)
-    5dac:	e9 c3 fc ff ff       	jmp    0x5a74
-    5db1:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
-    5db8:	85 c0                	test   %eax,%eax
-    5dba:	0f 84 1a 01 00 00    	je     0x5eda
-    5dc0:	8b 4d d0             	mov    -0x30(%ebp),%ecx
-    5dc3:	c1 e1 02             	shl    $0x2,%ecx
-    5dc6:	89 4d cc             	mov    %ecx,-0x34(%ebp)
-    5dc9:	e9 62 fd ff ff       	jmp    0x5b30
-    5dce:	66 90                	xchg   %ax,%ax
-    5dd0:	8b 45 dc             	mov    -0x24(%ebp),%eax
-    5dd3:	89 04 24             	mov    %eax,(%esp)
-    5dd6:	e8 fc ff ff ff       	call   0x5dd7
-    5ddb:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
-    5de2:	e9 61 fe ff ff       	jmp    0x5c48
-    5de7:	8b 45 e8             	mov    -0x18(%ebp),%eax
-    5dea:	89 04 24             	mov    %eax,(%esp)
-    5ded:	e8 fc ff ff ff       	call   0x5dee
-    5df2:	8b 7d c8             	mov    -0x38(%ebp),%edi
-    5df5:	8b 55 10             	mov    0x10(%ebp),%edx
-    5df8:	8b 47 64             	mov    0x64(%edi),%eax
-    5dfb:	8b 04 90             	mov    (%eax,%edx,4),%eax
-    5dfe:	85 c0                	test   %eax,%eax
-    5e00:	0f 84 9d 00 00 00    	je     0x5ea3
-    5e06:	8b 7d c4             	mov    -0x3c(%ebp),%edi
-    5e09:	83 c0 04             	add    $0x4,%eax
-    5e0c:	8b 4d a0             	mov    -0x60(%ebp),%ecx
-    5e0f:	8b 55 c8             	mov    -0x38(%ebp),%edx
-    5e12:	89 39                	mov    %edi,(%ecx)
-    5e14:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
-    5e17:	8b 7d 98             	mov    -0x68(%ebp),%edi
-    5e1a:	89 4a 64             	mov    %ecx,0x64(%edx)
-    5e1d:	89 7a 28             	mov    %edi,0x28(%edx)
-    5e20:	8b 55 0c             	mov    0xc(%ebp),%edx
-    5e23:	e8 d8 a1 ff ff       	call   0x0
-    5e28:	85 c0                	test   %eax,%eax
-    5e2a:	0f 94 c0             	sete   %al
-    5e2d:	0f b6 c0             	movzbl %al,%eax
-    5e30:	8d 65 f4             	lea    -0xc(%ebp),%esp
-    5e33:	5b                   	pop    %ebx
-    5e34:	5e                   	pop    %esi
-    5e35:	5f                   	pop    %edi
-    5e36:	5d                   	pop    %ebp
-    5e37:	c2 10 00             	ret    $0x10
-    5e3a:	8b 55 14             	mov    0x14(%ebp),%edx
-    5e3d:	8b 4d a4             	mov    -0x5c(%ebp),%ecx
-    5e40:	8b 45 c8             	mov    -0x38(%ebp),%eax
-    5e43:	89 54 24 04          	mov    %edx,0x4(%esp)
-    5e47:	8b 55 bc             	mov    -0x44(%ebp),%edx
-    5e4a:	89 0c 24             	mov    %ecx,(%esp)
-    5e4d:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
-    5e50:	e8 7b ed ff ff       	call   0x4bd0
-    5e55:	85 c0                	test   %eax,%eax
-    5e57:	56                   	push   %esi
-    5e58:	56                   	push   %esi
-    5e59:	89 45 f0             	mov    %eax,-0x10(%ebp)
-    5e5c:	0f 84 1f ff ff ff    	je     0x5d81
-    5e62:	eb 12                	jmp    0x5e76
-    5e64:	8b 45 dc             	mov    -0x24(%ebp),%eax
-    5e67:	89 04 24             	mov    %eax,(%esp)
-    5e6a:	e8 fc ff ff ff       	call   0x5e6b
-    5e6f:	c7 45 f0 0c 00 00 00 	movl   $0xc,-0x10(%ebp)
-    5e76:	8b 45 e8             	mov    -0x18(%ebp),%eax
-    5e79:	89 04 24             	mov    %eax,(%esp)
-    5e7c:	e8 fc ff ff ff       	call   0x5e7d
-    5e81:	8b 45 f0             	mov    -0x10(%ebp),%eax
-    5e84:	eb aa                	jmp    0x5e30
-    5e86:	8d 7d e0             	lea    -0x20(%ebp),%edi
-    5e89:	8d 53 04             	lea    0x4(%ebx),%edx
-    5e8c:	89 f8                	mov    %edi,%eax
-    5e8e:	89 7d bc             	mov    %edi,-0x44(%ebp)
-    5e91:	e8 ea bf ff ff       	call   0x1e80
-    5e96:	85 c0                	test   %eax,%eax
-    5e98:	89 45 f0             	mov    %eax,-0x10(%ebp)
-    5e9b:	0f 84 c9 fb ff ff    	je     0x5a6a
-    5ea1:	eb 8d                	jmp    0x5e30
-    5ea3:	8b 45 a0             	mov    -0x60(%ebp),%eax
-    5ea6:	8b 55 c4             	mov    -0x3c(%ebp),%edx
-    5ea9:	8b 4d c8             	mov    -0x38(%ebp),%ecx
-    5eac:	8b 7d 9c             	mov    -0x64(%ebp),%edi
-    5eaf:	89 10                	mov    %edx,(%eax)
-    5eb1:	8b 45 98             	mov    -0x68(%ebp),%eax
-    5eb4:	89 79 64             	mov    %edi,0x64(%ecx)
-    5eb7:	89 41 28             	mov    %eax,0x28(%ecx)
-    5eba:	b8 01 00 00 00       	mov    $0x1,%eax
-    5ebf:	e9 6c ff ff ff       	jmp    0x5e30
-    5ec4:	8d 45 e0             	lea    -0x20(%ebp),%eax
-    5ec7:	b9 03 00 00 00       	mov    $0x3,%ecx
-    5ecc:	89 c7                	mov    %eax,%edi
-    5ece:	89 45 bc             	mov    %eax,-0x44(%ebp)
-    5ed1:	89 d8                	mov    %ebx,%eax
-    5ed3:	f3 ab                	rep stos %eax,%es:(%edi)
-    5ed5:	e9 9a fb ff ff       	jmp    0x5a74
-    5eda:	8b 55 cc             	mov    -0x34(%ebp),%edx
-    5edd:	03 16                	add    (%esi),%edx
-    5edf:	e9 34 fc ff ff       	jmp    0x5b18
-    5ee4:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
-    5ee8:	75 8c                	jne    0x5e76
-    5eea:	8b 4d c8             	mov    -0x38(%ebp),%ecx
-    5eed:	8b 7d b8             	mov    -0x48(%ebp),%edi
-    5ef0:	83 45 b0 01          	addl   $0x1,-0x50(%ebp)
-    5ef4:	8b 41 64             	mov    0x64(%ecx),%eax
-    5ef7:	c7 04 38 00 00 00 00 	movl   $0x0,(%eax,%edi,1)
-    5efe:	e9 dc fd ff ff       	jmp    0x5cdf
-    5f03:	8d 44 03 01          	lea    0x1(%ebx,%eax,1),%eax
-    5f07:	89 42 04             	mov    %eax,0x4(%edx)
-    5f0a:	c1 e0 02             	shl    $0x2,%eax
-    5f0d:	89 44 24 04          	mov    %eax,0x4(%esp)
-    5f11:	8b 42 08             	mov    0x8(%edx),%eax
-    5f14:	89 04 24             	mov    %eax,(%esp)
-    5f17:	e8 fc ff ff ff       	call   0x5f18
-    5f1c:	85 c0                	test   %eax,%eax
-    5f1e:	74 3d                	je     0x5f5d
-    5f20:	8b 55 a0             	mov    -0x60(%ebp),%edx
-    5f23:	89 42 08             	mov    %eax,0x8(%edx)
-    5f26:	8b 52 04             	mov    0x4(%edx),%edx
-    5f29:	8d 04 98             	lea    (%eax,%ebx,4),%eax
-    5f2c:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
-    5f33:	00 
-    5f34:	89 04 24             	mov    %eax,(%esp)
-    5f37:	29 da                	sub    %ebx,%edx
-    5f39:	c1 e2 02             	shl    $0x2,%edx
-    5f3c:	89 54 24 08          	mov    %edx,0x8(%esp)
-    5f40:	e8 fc ff ff ff       	call   0x5f41
-    5f45:	e9 a6 fa ff ff       	jmp    0x59f0
-    5f4a:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
-    5f4e:	0f 84 4c fe ff ff    	je     0x5da0
-    5f54:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    5f58:	e9 19 ff ff ff       	jmp    0x5e76
-    5f5d:	8b 4d a0             	mov    -0x60(%ebp),%ecx
-    5f60:	b0 0c                	mov    $0xc,%al
-    5f62:	89 59 04             	mov    %ebx,0x4(%ecx)
-    5f65:	e9 c6 fe ff ff       	jmp    0x5e30
-    5f6a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
-    5f70:	55                   	push   %ebp
-    5f71:	89 e5                	mov    %esp,%ebp
-    5f73:	57                   	push   %edi
-    5f74:	56                   	push   %esi
-    5f75:	89 ce                	mov    %ecx,%esi
-    5f77:	53                   	push   %ebx
-    5f78:	89 c3                	mov    %eax,%ebx
-    5f7a:	83 ec 28             	sub    $0x28,%esp
-    5f7d:	8b 7d 0c             	mov    0xc(%ebp),%edi
-    5f80:	89 55 ec             	mov    %edx,-0x14(%ebp)
-    5f83:	8d 51 08             	lea    0x8(%ecx),%edx
-    5f86:	c7 44 24 0c 08 00 00 	movl   $0x8,0xc(%esp)
-    5f8d:	00 
-    5f8e:	89 7c 24 08          	mov    %edi,0x8(%esp)
-    5f92:	8b 45 08             	mov    0x8(%ebp),%eax
-    5f95:	89 44 24 04          	mov    %eax,0x4(%esp)
-    5f99:	8b 41 04             	mov    0x4(%ecx),%eax
-    5f9c:	89 04 24             	mov    %eax,(%esp)
-    5f9f:	8b 09                	mov    (%ecx),%ecx
-    5fa1:	89 d8                	mov    %ebx,%eax
-    5fa3:	e8 08 fa ff ff       	call   0x59b0
-    5fa8:	83 ec 10             	sub    $0x10,%esp
-    5fab:	85 c0                	test   %eax,%eax
-    5fad:	74 11                	je     0x5fc0
-    5faf:	8d 65 f4             	lea    -0xc(%ebp),%esp
-    5fb2:	5b                   	pop    %ebx
-    5fb3:	5e                   	pop    %esi
-    5fb4:	5f                   	pop    %edi
-    5fb5:	5d                   	pop    %ebp
-    5fb6:	c2 08 00             	ret    $0x8
-    5fb9:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
-    5fc0:	8b 56 04             	mov    0x4(%esi),%edx
-    5fc3:	8b 4d ec             	mov    -0x14(%ebp),%ecx
-    5fc6:	8b 43 70             	mov    0x70(%ebx),%eax
-    5fc9:	89 55 e8             	mov    %edx,-0x18(%ebp)
-    5fcc:	8b 53 6c             	mov    0x6c(%ebx),%edx
-    5fcf:	8b 09                	mov    (%ecx),%ecx
-    5fd1:	39 c2                	cmp    %eax,%edx
-    5fd3:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
-    5fd6:	0f 8d ac 00 00 00    	jge    0x6088
-    5fdc:	85 d2                	test   %edx,%edx
-    5fde:	0f 8e fa 00 00 00    	jle    0x60de
-    5fe4:	8b 43 74             	mov    0x74(%ebx),%eax
-    5fe7:	8d 4c 92 fb          	lea    -0x5(%edx,%edx,4),%ecx
-    5feb:	8d 0c 88             	lea    (%eax,%ecx,4),%ecx
-    5fee:	3b 79 04             	cmp    0x4(%ecx),%edi
-    5ff1:	0f 84 f1 00 00 00    	je     0x60e8
-    5ff7:	8b 4d 08             	mov    0x8(%ebp),%ecx
-    5ffa:	8d 14 92             	lea    (%edx,%edx,4),%edx
-    5ffd:	89 0c 90             	mov    %ecx,(%eax,%edx,4)
-    6000:	8b 53 6c             	mov    0x6c(%ebx),%edx
-    6003:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
-    6006:	8d 14 92             	lea    (%edx,%edx,4),%edx
-    6009:	89 7c 90 04          	mov    %edi,0x4(%eax,%edx,4)
-    600d:	8b 53 6c             	mov    0x6c(%ebx),%edx
-    6010:	8d 14 92             	lea    (%edx,%edx,4),%edx
-    6013:	89 4c 90 08          	mov    %ecx,0x8(%eax,%edx,4)
-    6017:	8b 53 6c             	mov    0x6c(%ebx),%edx
-    601a:	8b 4d e8             	mov    -0x18(%ebp),%ecx
-    601d:	8d 14 92             	lea    (%edx,%edx,4),%edx
-    6020:	89 4c 90 0c          	mov    %ecx,0xc(%eax,%edx,4)
-    6024:	8b 53 6c             	mov    0x6c(%ebx),%edx
-    6027:	89 55 dc             	mov    %edx,-0x24(%ebp)
-    602a:	8b 55 e4             	mov    -0x1c(%ebp),%edx
-    602d:	39 d1                	cmp    %edx,%ecx
-    602f:	8b 55 dc             	mov    -0x24(%ebp),%edx
-    6032:	0f 95 c1             	setne  %cl
-    6035:	0f b6 c9             	movzbl %cl,%ecx
-    6038:	83 e9 01             	sub    $0x1,%ecx
-    603b:	66 89 4d f2          	mov    %cx,-0xe(%ebp)
-    603f:	8d 0c 92             	lea    (%edx,%edx,4),%ecx
-    6042:	0f b7 55 f2          	movzwl -0xe(%ebp),%edx
-    6046:	c1 e1 02             	shl    $0x2,%ecx
-    6049:	c6 44 08 10 00       	movb   $0x0,0x10(%eax,%ecx,1)
-    604e:	66 89 54 08 12       	mov    %dx,0x12(%eax,%ecx,1)
-    6053:	8b 55 dc             	mov    -0x24(%ebp),%edx
-    6056:	8b 45 e8             	mov    -0x18(%ebp),%eax
-    6059:	2b 45 e4             	sub    -0x1c(%ebp),%eax
-    605c:	83 c2 01             	add    $0x1,%edx
-    605f:	39 43 78             	cmp    %eax,0x78(%ebx)
-    6062:	89 53 6c             	mov    %edx,0x6c(%ebx)
-    6065:	7d 03                	jge    0x606a
-    6067:	89 43 78             	mov    %eax,0x78(%ebx)
-    606a:	8b 56 04             	mov    0x4(%esi),%edx
-    606d:	89 d8                	mov    %ebx,%eax
-    606f:	8b 4d ec             	mov    -0x14(%ebp),%ecx
-    6072:	01 fa                	add    %edi,%edx
-    6074:	2b 11                	sub    (%ecx),%edx
-    6076:	e8 05 e4 ff ff       	call   0x4480
-    607b:	8d 65 f4             	lea    -0xc(%ebp),%esp
-    607e:	5b                   	pop    %ebx
-    607f:	5e                   	pop    %esi
-    6080:	5f                   	pop    %edi
-    6081:	5d                   	pop    %ebp
-    6082:	c2 08 00             	ret    $0x8
-    6085:	8d 76 00             	lea    0x0(%esi),%esi
-    6088:	8d 04 80             	lea    (%eax,%eax,4),%eax
-    608b:	c1 e0 03             	shl    $0x3,%eax
-    608e:	89 44 24 04          	mov    %eax,0x4(%esp)
-    6092:	8b 43 74             	mov    0x74(%ebx),%eax
-    6095:	89 04 24             	mov    %eax,(%esp)
-    6098:	e8 fc ff ff ff       	call   0x6099
-    609d:	85 c0                	test   %eax,%eax
-    609f:	89 c2                	mov    %eax,%edx
-    60a1:	74 54                	je     0x60f7
-    60a3:	89 43 74             	mov    %eax,0x74(%ebx)
-    60a6:	8b 43 70             	mov    0x70(%ebx),%eax
-    60a9:	8d 04 80             	lea    (%eax,%eax,4),%eax
-    60ac:	8d 0c 85 00 00 00 00 	lea    0x0(,%eax,4),%ecx
-    60b3:	8b 43 6c             	mov    0x6c(%ebx),%eax
-    60b6:	89 4c 24 08          	mov    %ecx,0x8(%esp)
-    60ba:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
-    60c1:	00 
-    60c2:	8d 04 80             	lea    (%eax,%eax,4),%eax
-    60c5:	8d 04 82             	lea    (%edx,%eax,4),%eax
-    60c8:	89 04 24             	mov    %eax,(%esp)
-    60cb:	e8 fc ff ff ff       	call   0x60cc
-    60d0:	8b 53 6c             	mov    0x6c(%ebx),%edx
-    60d3:	d1 63 70             	shll   0x70(%ebx)
-    60d6:	85 d2                	test   %edx,%edx
-    60d8:	0f 8f 06 ff ff ff    	jg     0x5fe4
-    60de:	8b 43 74             	mov    0x74(%ebx),%eax
-    60e1:	e9 11 ff ff ff       	jmp    0x5ff7
-    60e6:	66 90                	xchg   %ax,%ax
-    60e8:	c6 41 10 01          	movb   $0x1,0x10(%ecx)
-    60ec:	8b 43 74             	mov    0x74(%ebx),%eax
-    60ef:	8b 53 6c             	mov    0x6c(%ebx),%edx
-    60f2:	e9 00 ff ff ff       	jmp    0x5ff7
-    60f7:	8b 43 74             	mov    0x74(%ebx),%eax
-    60fa:	89 04 24             	mov    %eax,(%esp)
-    60fd:	e8 fc ff ff ff       	call   0x60fe
-    6102:	b8 0c 00 00 00       	mov    $0xc,%eax
-    6107:	e9 a3 fe ff ff       	jmp    0x5faf
-    610c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    6110:	55                   	push   %ebp
-    6111:	89 e5                	mov    %esp,%ebp
-    6113:	57                   	push   %edi
-    6114:	56                   	push   %esi
-    6115:	53                   	push   %ebx
-    6116:	83 ec 70             	sub    $0x70,%esp
-    6119:	89 45 d8             	mov    %eax,-0x28(%ebp)
-    611c:	8b 40 54             	mov    0x54(%eax),%eax
-    611f:	89 55 a4             	mov    %edx,-0x5c(%ebp)
-    6122:	8b 55 d8             	mov    -0x28(%ebp),%edx
-    6125:	8b 4d a4             	mov    -0x5c(%ebp),%ecx
-    6128:	89 45 a8             	mov    %eax,-0x58(%ebp)
-    612b:	8b 52 28             	mov    0x28(%edx),%edx
-    612e:	83 79 04 00          	cmpl   $0x0,0x4(%ecx)
-    6132:	89 55 bc             	mov    %edx,-0x44(%ebp)
-    6135:	0f 8e ab 05 00 00    	jle    0x66e6
-    613b:	c1 e2 02             	shl    $0x2,%edx
-    613e:	c7 45 ac 00 00 00 00 	movl   $0x0,-0x54(%ebp)
-    6145:	89 55 a0             	mov    %edx,-0x60(%ebp)
-    6148:	eb 13                	jmp    0x615d
-    614a:	8b 4d a4             	mov    -0x5c(%ebp),%ecx
-    614d:	83 45 ac 01          	addl   $0x1,-0x54(%ebp)
-    6151:	8b 75 ac             	mov    -0x54(%ebp),%esi
-    6154:	39 71 04             	cmp    %esi,0x4(%ecx)
-    6157:	0f 8e 89 05 00 00    	jle    0x66e6
-    615d:	8b 75 a4             	mov    -0x5c(%ebp),%esi
-    6160:	8b 55 ac             	mov    -0x54(%ebp),%edx
-    6163:	8b 4d a8             	mov    -0x58(%ebp),%ecx
-    6166:	8b 46 08             	mov    0x8(%esi),%eax
-    6169:	8b 04 90             	mov    (%eax,%edx,4),%eax
-    616c:	89 45 b8             	mov    %eax,-0x48(%ebp)
-    616f:	c1 e0 03             	shl    $0x3,%eax
-    6172:	03 01                	add    (%ecx),%eax
-    6174:	80 78 04 04          	cmpb   $0x4,0x4(%eax)
-    6178:	75 d0                	jne    0x614a
-    617a:	8b 58 04             	mov    0x4(%eax),%ebx
-    617d:	f7 c3 00 ff 03 00    	test   $0x3ff00,%ebx
-    6183:	74 41                	je     0x61c6
-    6185:	8b 75 d8             	mov    -0x28(%ebp),%esi
-    6188:	8b 55 bc             	mov    -0x44(%ebp),%edx
-    618b:	8b 4e 58             	mov    0x58(%esi),%ecx
-    618e:	89 f0                	mov    %esi,%eax
-    6190:	e8 2b ca ff ff       	call   0x2bc0
-    6195:	89 da                	mov    %ebx,%edx
-    6197:	c1 ea 08             	shr    $0x8,%edx
-    619a:	81 e2 ff 03 00 00    	and    $0x3ff,%edx
-    61a0:	f6 c2 04             	test   $0x4,%dl
-    61a3:	74 04                	je     0x61a9
-    61a5:	a8 01                	test   $0x1,%al
-    61a7:	74 a1                	je     0x614a
-    61a9:	f6 c2 08             	test   $0x8,%dl
-    61ac:	74 04                	je     0x61b2
-    61ae:	a8 01                	test   $0x1,%al
-    61b0:	75 98                	jne    0x614a
-    61b2:	f6 c2 20             	test   $0x20,%dl
-    61b5:	74 04                	je     0x61bb
-    61b7:	a8 02                	test   $0x2,%al
-    61b9:	74 8f                	je     0x614a
-    61bb:	84 d2                	test   %dl,%dl
-    61bd:	8d 76 00             	lea    0x0(%esi),%esi
-    61c0:	79 04                	jns    0x61c6
-    61c2:	a8 08                	test   $0x8,%al
-    61c4:	74 84                	je     0x614a
-    61c6:	8b 55 d8             	mov    -0x28(%ebp),%edx
-    61c9:	8b 45 d8             	mov    -0x28(%ebp),%eax
-    61cc:	8b 4d d8             	mov    -0x28(%ebp),%ecx
-    61cf:	8b 52 54             	mov    0x54(%edx),%edx
-    61d2:	8b 40 6c             	mov    0x6c(%eax),%eax
-    61d5:	8b 59 04             	mov    0x4(%ecx),%ebx
-    61d8:	89 55 b4             	mov    %edx,-0x4c(%ebp)
-    61db:	8b 55 bc             	mov    -0x44(%ebp),%edx
-    61de:	89 45 9c             	mov    %eax,-0x64(%ebp)
-    61e1:	89 c8                	mov    %ecx,%eax
-    61e3:	e8 f8 a2 ff ff       	call   0x4e0
-    61e8:	83 f8 ff             	cmp    $0xffffffff,%eax
-    61eb:	74 1f                	je     0x620c
-    61ed:	8b 75 d8             	mov    -0x28(%ebp),%esi
-    61f0:	6b c0 14             	imul   $0x14,%eax,%eax
-    61f3:	8b 55 b8             	mov    -0x48(%ebp),%edx
-    61f6:	03 46 74             	add    0x74(%esi),%eax
-    61f9:	eb 03                	jmp    0x61fe
-    61fb:	83 c0 14             	add    $0x14,%eax
-    61fe:	3b 10                	cmp    (%eax),%edx
-    6200:	0f 84 a0 02 00 00    	je     0x64a6
-    6206:	80 78 10 00          	cmpb   $0x0,0x10(%eax)
-    620a:	75 ef                	jne    0x61fb
-    620c:	8b 45 b4             	mov    -0x4c(%ebp),%eax
-    620f:	8b 4d b8             	mov    -0x48(%ebp),%ecx
-    6212:	8b 75 d8             	mov    -0x28(%ebp),%esi
-    6215:	8b 10                	mov    (%eax),%edx
-    6217:	83 7e 7c 00          	cmpl   $0x0,0x7c(%esi)
-    621b:	8b 0c ca             	mov    (%edx,%ecx,8),%ecx
-    621e:	89 4d c0             	mov    %ecx,-0x40(%ebp)
-    6221:	0f 8e 7f 02 00 00    	jle    0x64a6
-    6227:	89 5d cc             	mov    %ebx,-0x34(%ebp)
-    622a:	c7 45 b0 00 00 00 00 	movl   $0x0,-0x50(%ebp)
-    6231:	eb 1d                	jmp    0x6250
-    6233:	90                   	nop
-    6234:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    6238:	8b 55 d8             	mov    -0x28(%ebp),%edx
-    623b:	83 45 b0 01          	addl   $0x1,-0x50(%ebp)
-    623f:	8b 4d b0             	mov    -0x50(%ebp),%ecx
-    6242:	3b 4a 7c             	cmp    0x7c(%edx),%ecx
-    6245:	0f 8d 5b 02 00 00    	jge    0x64a6
-    624b:	8b 75 b4             	mov    -0x4c(%ebp),%esi
-    624e:	8b 16                	mov    (%esi),%edx
-    6250:	8b 4d d8             	mov    -0x28(%ebp),%ecx
-    6253:	8b 75 b0             	mov    -0x50(%ebp),%esi
-    6256:	8b 81 84 00 00 00    	mov    0x84(%ecx),%eax
-    625c:	8b 04 b0             	mov    (%eax,%esi,4),%eax
-    625f:	8b 75 c0             	mov    -0x40(%ebp),%esi
-    6262:	89 45 dc             	mov    %eax,-0x24(%ebp)
-    6265:	89 c1                	mov    %eax,%ecx
-    6267:	8b 40 04             	mov    0x4(%eax),%eax
-    626a:	3b 34 c2             	cmp    (%edx,%eax,8),%esi
-    626d:	75 c9                	jne    0x6238
-    626f:	8b 01                	mov    (%ecx),%eax
-    6271:	8b 49 10             	mov    0x10(%ecx),%ecx
-    6274:	89 45 e0             	mov    %eax,-0x20(%ebp)
-    6277:	85 c9                	test   %ecx,%ecx
-    6279:	0f 8e d5 03 00 00    	jle    0x6654
-    627f:	8b 55 bc             	mov    -0x44(%ebp),%edx
-    6282:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
-    6289:	89 55 d4             	mov    %edx,-0x2c(%ebp)
-    628c:	eb 76                	jmp    0x6304
-    628e:	66 90                	xchg   %ax,%ax
-    6290:	8b 45 d4             	mov    -0x2c(%ebp),%eax
-    6293:	8b 55 d8             	mov    -0x28(%ebp),%edx
-    6296:	01 d8                	add    %ebx,%eax
-    6298:	3b 42 1c             	cmp    0x1c(%edx),%eax
-    629b:	89 45 c4             	mov    %eax,-0x3c(%ebp)
-    629e:	0f 8f 19 04 00 00    	jg     0x66bd
-    62a4:	8b 75 cc             	mov    -0x34(%ebp),%esi
-    62a7:	89 d9                	mov    %ebx,%ecx
-    62a9:	8b 7d cc             	mov    -0x34(%ebp),%edi
-    62ac:	03 75 d4             	add    -0x2c(%ebp),%esi
-    62af:	03 7d e0             	add    -0x20(%ebp),%edi
-    62b2:	39 db                	cmp    %ebx,%ebx
-    62b4:	f3 a6                	repz cmpsb %es:(%edi),%ds:(%esi)
-    62b6:	75 6e                	jne    0x6326
-    62b8:	8b 75 c4             	mov    -0x3c(%ebp),%esi
-    62bb:	89 75 d4             	mov    %esi,-0x2c(%ebp)
-    62be:	8b 45 bc             	mov    -0x44(%ebp),%eax
-    62c1:	8b 55 b8             	mov    -0x48(%ebp),%edx
-    62c4:	8b 4d c8             	mov    -0x38(%ebp),%ecx
-    62c7:	89 44 24 04          	mov    %eax,0x4(%esp)
-    62cb:	8b 45 d8             	mov    -0x28(%ebp),%eax
-    62ce:	89 14 24             	mov    %edx,(%esp)
-    62d1:	8b 55 dc             	mov    -0x24(%ebp),%edx
-    62d4:	e8 97 fc ff ff       	call   0x5f70
-    62d9:	8b 4d d8             	mov    -0x28(%ebp),%ecx
-    62dc:	8b 51 04             	mov    0x4(%ecx),%edx
-    62df:	83 ec 08             	sub    $0x8,%esp
-    62e2:	83 f8 01             	cmp    $0x1,%eax
-    62e5:	74 08                	je     0x62ef
-    62e7:	85 c0                	test   %eax,%eax
-    62e9:	0f 85 5d 03 00 00    	jne    0x664c
-    62ef:	8b 75 dc             	mov    -0x24(%ebp),%esi
-    62f2:	83 45 d0 01          	addl   $0x1,-0x30(%ebp)
-    62f6:	8b 45 d0             	mov    -0x30(%ebp),%eax
-    62f9:	01 5d e0             	add    %ebx,-0x20(%ebp)
-    62fc:	3b 46 10             	cmp    0x10(%esi),%eax
-    62ff:	89 55 cc             	mov    %edx,-0x34(%ebp)
-    6302:	7d 31                	jge    0x6335
-    6304:	8b 4d dc             	mov    -0x24(%ebp),%ecx
-    6307:	8b 75 d0             	mov    -0x30(%ebp),%esi
-    630a:	8b 41 14             	mov    0x14(%ecx),%eax
-    630d:	8b 04 b0             	mov    (%eax,%esi,4),%eax
-    6310:	8b 58 04             	mov    0x4(%eax),%ebx
-    6313:	2b 5d e0             	sub    -0x20(%ebp),%ebx
-    6316:	89 45 c8             	mov    %eax,-0x38(%ebp)
-    6319:	85 db                	test   %ebx,%ebx
-    631b:	0f 8f 6f ff ff ff    	jg     0x6290
-    6321:	01 5d d4             	add    %ebx,-0x2c(%ebp)
-    6324:	eb 98                	jmp    0x62be
-    6326:	8b 55 dc             	mov    -0x24(%ebp),%edx
-    6329:	8b 4d d0             	mov    -0x30(%ebp),%ecx
-    632c:	3b 4a 10             	cmp    0x10(%edx),%ecx
-    632f:	0f 8c 03 ff ff ff    	jl     0x6238
-    6335:	31 c0                	xor    %eax,%eax
-    6337:	83 7d d0 00          	cmpl   $0x0,-0x30(%ebp)
-    633b:	0f 9f c0             	setg   %al
-    633e:	01 45 e0             	add    %eax,-0x20(%ebp)
-    6341:	8b 75 e0             	mov    -0x20(%ebp),%esi
-    6344:	39 75 bc             	cmp    %esi,-0x44(%ebp)
-    6347:	0f 8c eb fe ff ff    	jl     0x6238
-    634d:	8d 76 00             	lea    0x0(%esi),%esi
-    6350:	8b 55 dc             	mov    -0x24(%ebp),%edx
-    6353:	8b 45 e0             	mov    -0x20(%ebp),%eax
-    6356:	2b 02                	sub    (%edx),%eax
-    6358:	85 c0                	test   %eax,%eax
-    635a:	7e 2c                	jle    0x6388
-    635c:	8b 4d d8             	mov    -0x28(%ebp),%ecx
-    635f:	8b 75 d4             	mov    -0x2c(%ebp),%esi
-    6362:	39 71 1c             	cmp    %esi,0x1c(%ecx)
-    6365:	0f 8e b5 03 00 00    	jle    0x6720
-    636b:	8b 4d cc             	mov    -0x34(%ebp),%ecx
-    636e:	8b 55 d4             	mov    -0x2c(%ebp),%edx
-    6371:	8b 75 e0             	mov    -0x20(%ebp),%esi
-    6374:	0f b6 04 11          	movzbl (%ecx,%edx,1),%eax
-    6378:	3a 44 31 ff          	cmp    -0x1(%ecx,%esi,1),%al
-    637c:	0f 85 b6 fe ff ff    	jne    0x6238
-    6382:	83 c2 01             	add    $0x1,%edx
-    6385:	89 55 d4             	mov    %edx,-0x2c(%ebp)
-    6388:	8b 55 d8             	mov    -0x28(%ebp),%edx
-    638b:	8b 4d e0             	mov    -0x20(%ebp),%ecx
-    638e:	8b 42 64             	mov    0x64(%edx),%eax
-    6391:	8b 04 88             	mov    (%eax,%ecx,4),%eax
-    6394:	85 c0                	test   %eax,%eax
-    6396:	0f 84 e7 00 00 00    	je     0x6483
-    639c:	8b 48 08             	mov    0x8(%eax),%ecx
-    639f:	85 c9                	test   %ecx,%ecx
-    63a1:	0f 8e dc 00 00 00    	jle    0x6483
-    63a7:	8b 78 0c             	mov    0xc(%eax),%edi
-    63aa:	8b 45 b4             	mov    -0x4c(%ebp),%eax
-    63ad:	89 4d d0             	mov    %ecx,-0x30(%ebp)
-    63b0:	8b 30                	mov    (%eax),%esi
-    63b2:	31 c0                	xor    %eax,%eax
-    63b4:	eb 0e                	jmp    0x63c4
-    63b6:	66 90                	xchg   %ax,%ax
-    63b8:	83 c0 01             	add    $0x1,%eax
-    63bb:	39 45 d0             	cmp    %eax,-0x30(%ebp)
-    63be:	0f 8e bf 00 00 00    	jle    0x6483
-    63c4:	8b 1c 87             	mov    (%edi,%eax,4),%ebx
-    63c7:	8d 14 de             	lea    (%esi,%ebx,8),%edx
-    63ca:	80 7a 04 09          	cmpb   $0x9,0x4(%edx)
-    63ce:	75 e8                	jne    0x63b8
-    63d0:	8b 4d c0             	mov    -0x40(%ebp),%ecx
-    63d3:	3b 0a                	cmp    (%edx),%ecx
-    63d5:	75 e1                	jne    0x63b8
-    63d7:	83 fb ff             	cmp    $0xffffffff,%ebx
-    63da:	0f 84 a3 00 00 00    	je     0x6483
-    63e0:	8b 75 dc             	mov    -0x24(%ebp),%esi
-    63e3:	8b 56 08             	mov    0x8(%esi),%edx
-    63e6:	85 d2                	test   %edx,%edx
-    63e8:	0f 84 32 02 00 00    	je     0x6620
-    63ee:	8b 45 dc             	mov    -0x24(%ebp),%eax
-    63f1:	8b 75 e0             	mov    -0x20(%ebp),%esi
-    63f4:	8b 48 04             	mov    0x4(%eax),%ecx
-    63f7:	89 74 24 08          	mov    %esi,0x8(%esp)
-    63fb:	89 c6                	mov    %eax,%esi
-    63fd:	c7 44 24 0c 09 00 00 	movl   $0x9,0xc(%esp)
-    6404:	00 
-    6405:	89 5c 24 04          	mov    %ebx,0x4(%esp)
-    6409:	8b 00                	mov    (%eax),%eax
-    640b:	89 04 24             	mov    %eax,(%esp)
-    640e:	8b 45 d8             	mov    -0x28(%ebp),%eax
-    6411:	e8 9a f5 ff ff       	call   0x59b0
-    6416:	83 ec 10             	sub    $0x10,%esp
-    6419:	83 f8 01             	cmp    $0x1,%eax
-    641c:	74 65                	je     0x6483
-    641e:	85 c0                	test   %eax,%eax
-    6420:	0f 85 26 02 00 00    	jne    0x664c
-    6426:	8b 46 10             	mov    0x10(%esi),%eax
-    6429:	3b 46 0c             	cmp    0xc(%esi),%eax
-    642c:	0f 84 bb 02 00 00    	je     0x66ed
-    6432:	c7 44 24 04 14 00 00 	movl   $0x14,0x4(%esp)
-    6439:	00 
-    643a:	c7 04 24 01 00 00 00 	movl   $0x1,(%esp)
-    6441:	e8 fc ff ff ff       	call   0x6442
-    6446:	85 c0                	test   %eax,%eax
-    6448:	0f 84 f9 01 00 00    	je     0x6647
-    644e:	8b 75 dc             	mov    -0x24(%ebp),%esi
-    6451:	8b 4e 10             	mov    0x10(%esi),%ecx
-    6454:	8b 56 14             	mov    0x14(%esi),%edx
-    6457:	89 18                	mov    %ebx,(%eax)
-    6459:	89 04 8a             	mov    %eax,(%edx,%ecx,4)
-    645c:	8b 55 e0             	mov    -0x20(%ebp),%edx
-    645f:	8b 4d bc             	mov    -0x44(%ebp),%ecx
-    6462:	89 50 04             	mov    %edx,0x4(%eax)
-    6465:	8b 55 dc             	mov    -0x24(%ebp),%edx
-    6468:	83 46 10 01          	addl   $0x1,0x10(%esi)
-    646c:	8b 75 b8             	mov    -0x48(%ebp),%esi
-    646f:	89 4c 24 04          	mov    %ecx,0x4(%esp)
-    6473:	89 c1                	mov    %eax,%ecx
-    6475:	8b 45 d8             	mov    -0x28(%ebp),%eax
-    6478:	89 34 24             	mov    %esi,(%esp)
-    647b:	e8 f0 fa ff ff       	call   0x5f70
-    6480:	83 ec 08             	sub    $0x8,%esp
-    6483:	83 45 e0 01          	addl   $0x1,-0x20(%ebp)
-    6487:	8b 45 e0             	mov    -0x20(%ebp),%eax
-    648a:	39 45 bc             	cmp    %eax,-0x44(%ebp)
-    648d:	0f 8d bd fe ff ff    	jge    0x6350
-    6493:	8b 55 d8             	mov    -0x28(%ebp),%edx
-    6496:	83 45 b0 01          	addl   $0x1,-0x50(%ebp)
-    649a:	8b 4d b0             	mov    -0x50(%ebp),%ecx
-    649d:	3b 4a 7c             	cmp    0x7c(%edx),%ecx
-    64a0:	0f 8c a5 fd ff ff    	jl     0x624b
-    64a6:	8b 45 d8             	mov    -0x28(%ebp),%eax
-    64a9:	8b 55 9c             	mov    -0x64(%ebp),%edx
-    64ac:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
-    64b3:	3b 50 6c             	cmp    0x6c(%eax),%edx
-    64b6:	0f 8d 8e fc ff ff    	jge    0x614a
-    64bc:	8b 75 b8             	mov    -0x48(%ebp),%esi
-    64bf:	6b da 14             	imul   $0x14,%edx,%ebx
-    64c2:	89 d7                	mov    %edx,%edi
-    64c4:	6b 4d b8 0c          	imul   $0xc,-0x48(%ebp),%ecx
-    64c8:	c1 e6 02             	shl    $0x2,%esi
-    64cb:	89 75 c0             	mov    %esi,-0x40(%ebp)
-    64ce:	89 c6                	mov    %eax,%esi
-    64d0:	89 4d b4             	mov    %ecx,-0x4c(%ebp)
-    64d3:	eb 12                	jmp    0x64e7
-    64d5:	8d 76 00             	lea    0x0(%esi),%esi
-    64d8:	83 c7 01             	add    $0x1,%edi
-    64db:	83 c3 14             	add    $0x14,%ebx
-    64de:	39 7e 6c             	cmp    %edi,0x6c(%esi)
-    64e1:	0f 8e 63 fc ff ff    	jle    0x614a
-    64e7:	8b 46 74             	mov    0x74(%esi),%eax
-    64ea:	8b 55 b8             	mov    -0x48(%ebp),%edx
-    64ed:	01 d8                	add    %ebx,%eax
-    64ef:	39 10                	cmp    %edx,(%eax)
-    64f1:	75 e5                	jne    0x64d8
-    64f3:	8b 4d bc             	mov    -0x44(%ebp),%ecx
-    64f6:	39 48 04             	cmp    %ecx,0x4(%eax)
-    64f9:	75 dd                	jne    0x64d8
-    64fb:	8b 50 0c             	mov    0xc(%eax),%edx
-    64fe:	8b 48 08             	mov    0x8(%eax),%ecx
-    6501:	89 55 d4             	mov    %edx,-0x2c(%ebp)
-    6504:	29 ca                	sub    %ecx,%edx
-    6506:	89 55 c8             	mov    %edx,-0x38(%ebp)
-    6509:	0f 85 50 01 00 00    	jne    0x665f
-    650f:	8b 45 a8             	mov    -0x58(%ebp),%eax
-    6512:	8b 55 b4             	mov    -0x4c(%ebp),%edx
-    6515:	8b 40 14             	mov    0x14(%eax),%eax
-    6518:	8b 54 10 08          	mov    0x8(%eax,%edx,1),%edx
-    651c:	8b 02                	mov    (%edx),%eax
-    651e:	8d 04 40             	lea    (%eax,%eax,2),%eax
-    6521:	8b 55 a8             	mov    -0x58(%ebp),%edx
-    6524:	c1 e0 02             	shl    $0x2,%eax
-    6527:	8b 52 18             	mov    0x18(%edx),%edx
-    652a:	01 d0                	add    %edx,%eax
-    652c:	89 45 dc             	mov    %eax,-0x24(%ebp)
-    652f:	8b 45 d4             	mov    -0x2c(%ebp),%eax
-    6532:	03 45 bc             	add    -0x44(%ebp),%eax
-    6535:	29 c8                	sub    %ecx,%eax
-    6537:	8b 4e 58             	mov    0x58(%esi),%ecx
-    653a:	89 c2                	mov    %eax,%edx
-    653c:	83 ea 01             	sub    $0x1,%edx
-    653f:	89 45 e0             	mov    %eax,-0x20(%ebp)
-    6542:	89 f0                	mov    %esi,%eax
-    6544:	e8 77 c6 ff ff       	call   0x2bc0
-    6549:	8b 55 e0             	mov    -0x20(%ebp),%edx
-    654c:	8b 4d a0             	mov    -0x60(%ebp),%ecx
-    654f:	c7 45 c4 00 00 00 00 	movl   $0x0,-0x3c(%ebp)
-    6556:	c1 e2 02             	shl    $0x2,%edx
-    6559:	89 55 d4             	mov    %edx,-0x2c(%ebp)
-    655c:	89 45 cc             	mov    %eax,-0x34(%ebp)
-    655f:	8b 46 64             	mov    0x64(%esi),%eax
-    6562:	01 c2                	add    %eax,%edx
-    6564:	8b 04 08             	mov    (%eax,%ecx,1),%eax
-    6567:	89 55 d0             	mov    %edx,-0x30(%ebp)
-    656a:	8b 12                	mov    (%edx),%edx
-    656c:	85 c0                	test   %eax,%eax
-    656e:	74 06                	je     0x6576
-    6570:	8b 40 08             	mov    0x8(%eax),%eax
-    6573:	89 45 c4             	mov    %eax,-0x3c(%ebp)
-    6576:	85 d2                	test   %edx,%edx
-    6578:	0f 84 f8 00 00 00    	je     0x6676
-    657e:	8b 52 28             	mov    0x28(%edx),%edx
-    6581:	8d 45 e4             	lea    -0x1c(%ebp),%eax
-    6584:	8b 4d dc             	mov    -0x24(%ebp),%ecx
-    6587:	e8 74 b9 ff ff       	call   0x1f00
-    658c:	85 c0                	test   %eax,%eax
-    658e:	89 45 f0             	mov    %eax,-0x10(%ebp)
-    6591:	0f 85 16 01 00 00    	jne    0x66ad
-    6597:	8b 55 cc             	mov    -0x34(%ebp),%edx
-    659a:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
-    659d:	8b 45 d4             	mov    -0x2c(%ebp),%eax
-    65a0:	03 46 64             	add    0x64(%esi),%eax
-    65a3:	89 14 24             	mov    %edx,(%esp)
-    65a6:	8b 55 a8             	mov    -0x58(%ebp),%edx
-    65a9:	89 45 d4             	mov    %eax,-0x2c(%ebp)
-    65ac:	8d 45 f0             	lea    -0x10(%ebp),%eax
-    65af:	e8 5c df ff ff       	call   0x4510
-    65b4:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
-    65b7:	89 01                	mov    %eax,(%ecx)
-    65b9:	8b 45 ec             	mov    -0x14(%ebp),%eax
-    65bc:	83 ec 04             	sub    $0x4,%esp
-    65bf:	89 04 24             	mov    %eax,(%esp)
-    65c2:	e8 fc ff ff ff       	call   0x65c3
-    65c7:	8b 56 64             	mov    0x64(%esi),%edx
-    65ca:	8b 45 e0             	mov    -0x20(%ebp),%eax
-    65cd:	8b 0c 82             	mov    (%edx,%eax,4),%ecx
-    65d0:	85 c9                	test   %ecx,%ecx
-    65d2:	0f 84 c8 00 00 00    	je     0x66a0
-    65d8:	8b 45 c8             	mov    -0x38(%ebp),%eax
-    65db:	85 c0                	test   %eax,%eax
-    65dd:	0f 85 f5 fe ff ff    	jne    0x64d8
-    65e3:	8b 4d a0             	mov    -0x60(%ebp),%ecx
-    65e6:	8b 04 0a             	mov    (%edx,%ecx,1),%eax
-    65e9:	8b 55 c4             	mov    -0x3c(%ebp),%edx
-    65ec:	3b 50 08             	cmp    0x8(%eax),%edx
-    65ef:	0f 8d e3 fe ff ff    	jge    0x64d8
-    65f5:	8b 4d bc             	mov    -0x44(%ebp),%ecx
-    65f8:	89 f0                	mov    %esi,%eax
-    65fa:	8b 55 dc             	mov    -0x24(%ebp),%edx
-    65fd:	e8 5e e2 ff ff       	call   0x4860
-    6602:	85 c0                	test   %eax,%eax
-    6604:	89 45 f0             	mov    %eax,-0x10(%ebp)
-    6607:	75 43                	jne    0x664c
-    6609:	8b 55 dc             	mov    -0x24(%ebp),%edx
-    660c:	89 f0                	mov    %esi,%eax
-    660e:	e8 fd fa ff ff       	call   0x6110
-    6613:	85 c0                	test   %eax,%eax
-    6615:	89 45 f0             	mov    %eax,-0x10(%ebp)
-    6618:	0f 84 ba fe ff ff    	je     0x64d8
-    661e:	eb 2c                	jmp    0x664c
-    6620:	b8 01 00 00 00       	mov    $0x1,%eax
-    6625:	2b 06                	sub    (%esi),%eax
-    6627:	03 45 e0             	add    -0x20(%ebp),%eax
-    662a:	c7 04 24 0c 00 00 00 	movl   $0xc,(%esp)
-    6631:	89 44 24 04          	mov    %eax,0x4(%esp)
-    6635:	e8 fc ff ff ff       	call   0x6636
-    663a:	85 c0                	test   %eax,%eax
-    663c:	89 c2                	mov    %eax,%edx
-    663e:	89 46 08             	mov    %eax,0x8(%esi)
-    6641:	0f 85 a7 fd ff ff    	jne    0x63ee
-    6647:	b8 0c 00 00 00       	mov    $0xc,%eax
-    664c:	8d 65 f4             	lea    -0xc(%ebp),%esp
-    664f:	5b                   	pop    %ebx
-    6650:	5e                   	pop    %esi
-    6651:	5f                   	pop    %edi
-    6652:	5d                   	pop    %ebp
-    6653:	c3                   	ret    
-    6654:	8b 45 bc             	mov    -0x44(%ebp),%eax
-    6657:	89 45 d4             	mov    %eax,-0x2c(%ebp)
-    665a:	e9 e2 fc ff ff       	jmp    0x6341
-    665f:	8b 45 a8             	mov    -0x58(%ebp),%eax
-    6662:	8b 55 c0             	mov    -0x40(%ebp),%edx
-    6665:	8b 40 0c             	mov    0xc(%eax),%eax
-    6668:	8b 14 10             	mov    (%eax,%edx,1),%edx
-    666b:	89 55 e0             	mov    %edx,-0x20(%ebp)
-    666e:	8d 04 52             	lea    (%edx,%edx,2),%eax
-    6671:	e9 ab fe ff ff       	jmp    0x6521
-    6676:	8b 45 cc             	mov    -0x34(%ebp),%eax
-    6679:	8b 55 a8             	mov    -0x58(%ebp),%edx
-    667c:	8b 4d dc             	mov    -0x24(%ebp),%ecx
-    667f:	89 04 24             	mov    %eax,(%esp)
-    6682:	8d 45 f0             	lea    -0x10(%ebp),%eax
-    6685:	e8 86 de ff ff       	call   0x4510
-    668a:	8b 4d e0             	mov    -0x20(%ebp),%ecx
-    668d:	52                   	push   %edx
-    668e:	8b 55 d0             	mov    -0x30(%ebp),%edx
-    6691:	89 02                	mov    %eax,(%edx)
-    6693:	8b 56 64             	mov    0x64(%esi),%edx
-    6696:	83 3c 8a 00          	cmpl   $0x0,(%edx,%ecx,4)
-    669a:	0f 85 38 ff ff ff    	jne    0x65d8
-    66a0:	8b 45 f0             	mov    -0x10(%ebp),%eax
-    66a3:	85 c0                	test   %eax,%eax
-    66a5:	0f 84 2d ff ff ff    	je     0x65d8
-    66ab:	eb 9f                	jmp    0x664c
-    66ad:	8b 45 ec             	mov    -0x14(%ebp),%eax
-    66b0:	89 04 24             	mov    %eax,(%esp)
-    66b3:	e8 fc ff ff ff       	call   0x66b4
-    66b8:	8b 45 f0             	mov    -0x10(%ebp),%eax
-    66bb:	eb 8f                	jmp    0x664c
-    66bd:	3b 42 30             	cmp    0x30(%edx),%eax
-    66c0:	0f 8f 60 fc ff ff    	jg     0x6326
-    66c6:	89 c2                	mov    %eax,%edx
-    66c8:	8b 45 d8             	mov    -0x28(%ebp),%eax
-    66cb:	e8 b0 dd ff ff       	call   0x4480
-    66d0:	85 c0                	test   %eax,%eax
-    66d2:	0f 85 74 ff ff ff    	jne    0x664c
-    66d8:	8b 4d d8             	mov    -0x28(%ebp),%ecx
-    66db:	8b 49 04             	mov    0x4(%ecx),%ecx
-    66de:	89 4d cc             	mov    %ecx,-0x34(%ebp)
-    66e1:	e9 be fb ff ff       	jmp    0x62a4
-    66e6:	31 c0                	xor    %eax,%eax
-    66e8:	e9 5f ff ff ff       	jmp    0x664c
-    66ed:	8b 55 dc             	mov    -0x24(%ebp),%edx
-    66f0:	8d 74 00 01          	lea    0x1(%eax,%eax,1),%esi
-    66f4:	8d 04 b5 00 00 00 00 	lea    0x0(,%esi,4),%eax
-    66fb:	89 44 24 04          	mov    %eax,0x4(%esp)
-    66ff:	8b 42 14             	mov    0x14(%edx),%eax
-    6702:	89 04 24             	mov    %eax,(%esp)
-    6705:	e8 fc ff ff ff       	call   0x6706
-    670a:	85 c0                	test   %eax,%eax
-    670c:	0f 84 35 ff ff ff    	je     0x6647
-    6712:	8b 4d dc             	mov    -0x24(%ebp),%ecx
-    6715:	89 41 14             	mov    %eax,0x14(%ecx)
-    6718:	89 71 0c             	mov    %esi,0xc(%ecx)
-    671b:	e9 12 fd ff ff       	jmp    0x6432
-    6720:	39 71 30             	cmp    %esi,0x30(%ecx)
-    6723:	0f 8e 0f fb ff ff    	jle    0x6238
-    6729:	89 c8                	mov    %ecx,%eax
-    672b:	e8 40 dc ff ff       	call   0x4370
-    6730:	85 c0                	test   %eax,%eax
-    6732:	0f 85 14 ff ff ff    	jne    0x664c
-    6738:	8b 45 d8             	mov    -0x28(%ebp),%eax
-    673b:	8b 40 04             	mov    0x4(%eax),%eax
-    673e:	89 45 cc             	mov    %eax,-0x34(%ebp)
-    6741:	e9 25 fc ff ff       	jmp    0x636b
-    6746:	8d 76 00             	lea    0x0(%esi),%esi
-    6749:	8d bc 27 00 00 00 00 	lea    0x0(%edi,%eiz,1),%edi
-    6750:	55                   	push   %ebp
-    6751:	89 e5                	mov    %esp,%ebp
-    6753:	83 ec 2c             	sub    $0x2c,%esp
-    6756:	89 5d f4             	mov    %ebx,-0xc(%ebp)
-    6759:	89 d3                	mov    %edx,%ebx
-    675b:	89 75 f8             	mov    %esi,-0x8(%ebp)
-    675e:	89 ce                	mov    %ecx,%esi
-    6760:	89 7d fc             	mov    %edi,-0x4(%ebp)
-    6763:	8b 7a 28             	mov    0x28(%edx),%edi
-    6766:	89 45 e0             	mov    %eax,-0x20(%ebp)
-    6769:	8b 42 54             	mov    0x54(%edx),%eax
-    676c:	3b 7a 68             	cmp    0x68(%edx),%edi
-    676f:	89 45 dc             	mov    %eax,-0x24(%ebp)
-    6772:	7e 24                	jle    0x6798
-    6774:	8b 42 64             	mov    0x64(%edx),%eax
-    6777:	89 7a 68             	mov    %edi,0x68(%edx)
-    677a:	89 0c b8             	mov    %ecx,(%eax,%edi,4)
-    677d:	85 f6                	test   %esi,%esi
-    677f:	0f 85 e3 00 00 00    	jne    0x6868
-    6785:	89 f0                	mov    %esi,%eax
-    6787:	8b 5d f4             	mov    -0xc(%ebp),%ebx
-    678a:	8b 75 f8             	mov    -0x8(%ebp),%esi
-    678d:	8b 7d fc             	mov    -0x4(%ebp),%edi
-    6790:	89 ec                	mov    %ebp,%esp
-    6792:	5d                   	pop    %ebp
-    6793:	c3                   	ret    
-    6794:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    6798:	8d 14 bd 00 00 00 00 	lea    0x0(,%edi,4),%edx
-    679f:	89 55 d8             	mov    %edx,-0x28(%ebp)
-    67a2:	03 53 64             	add    0x64(%ebx),%edx
-    67a5:	8b 02                	mov    (%edx),%eax
-    67a7:	89 55 e4             	mov    %edx,-0x1c(%ebp)
-    67aa:	85 c0                	test   %eax,%eax
-    67ac:	74 42                	je     0x67f0
-    67ae:	85 f6                	test   %esi,%esi
-    67b0:	8b 48 28             	mov    0x28(%eax),%ecx
-    67b3:	75 43                	jne    0x67f8
-    67b5:	8b 01                	mov    (%ecx),%eax
-    67b7:	8d 57 ff             	lea    -0x1(%edi),%edx
-    67ba:	89 45 e8             	mov    %eax,-0x18(%ebp)
-    67bd:	8b 41 04             	mov    0x4(%ecx),%eax
-    67c0:	89 45 ec             	mov    %eax,-0x14(%ebp)
-    67c3:	8b 41 08             	mov    0x8(%ecx),%eax
-    67c6:	8b 4b 58             	mov    0x58(%ebx),%ecx
-    67c9:	89 45 f0             	mov    %eax,-0x10(%ebp)
-    67cc:	89 d8                	mov    %ebx,%eax
-    67ce:	e8 ed c3 ff ff       	call   0x2bc0
-    67d3:	8b 55 dc             	mov    -0x24(%ebp),%edx
-    67d6:	8d 4d e8             	lea    -0x18(%ebp),%ecx
-    67d9:	89 04 24             	mov    %eax,(%esp)
-    67dc:	8b 45 e0             	mov    -0x20(%ebp),%eax
-    67df:	e8 2c dd ff ff       	call   0x4510
-    67e4:	89 c6                	mov    %eax,%esi
-    67e6:	8b 45 e4             	mov    -0x1c(%ebp),%eax
-    67e9:	83 ec 04             	sub    $0x4,%esp
-    67ec:	89 30                	mov    %esi,(%eax)
-    67ee:	eb 8d                	jmp    0x677d
-    67f0:	89 0a                	mov    %ecx,(%edx)
-    67f2:	eb 89                	jmp    0x677d
-    67f4:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    67f8:	8b 76 28             	mov    0x28(%esi),%esi
-    67fb:	89 75 e4             	mov    %esi,-0x1c(%ebp)
-    67fe:	8b 55 e4             	mov    -0x1c(%ebp),%edx
-    6801:	8d 75 e8             	lea    -0x18(%ebp),%esi
-    6804:	89 f0                	mov    %esi,%eax
-    6806:	e8 f5 b6 ff ff       	call   0x1f00
-    680b:	8b 55 e0             	mov    -0x20(%ebp),%edx
-    680e:	85 c0                	test   %eax,%eax
-    6810:	89 02                	mov    %eax,(%edx)
-    6812:	0f 85 a0 00 00 00    	jne    0x68b8
-    6818:	8b 53 28             	mov    0x28(%ebx),%edx
-    681b:	89 d8                	mov    %ebx,%eax
-    681d:	8b 4b 58             	mov    0x58(%ebx),%ecx
-    6820:	83 ea 01             	sub    $0x1,%edx
-    6823:	e8 98 c3 ff ff       	call   0x2bc0
-    6828:	8b 55 d8             	mov    -0x28(%ebp),%edx
-    682b:	89 f1                	mov    %esi,%ecx
-    682d:	03 53 64             	add    0x64(%ebx),%edx
-    6830:	89 55 d8             	mov    %edx,-0x28(%ebp)
-    6833:	8b 55 dc             	mov    -0x24(%ebp),%edx
-    6836:	89 04 24             	mov    %eax,(%esp)
-    6839:	8b 45 e0             	mov    -0x20(%ebp),%eax
-    683c:	e8 cf dc ff ff       	call   0x4510
-    6841:	8b 55 e4             	mov    -0x1c(%ebp),%edx
-    6844:	89 c6                	mov    %eax,%esi
-    6846:	8b 45 d8             	mov    -0x28(%ebp),%eax
-    6849:	83 ec 04             	sub    $0x4,%esp
-    684c:	85 d2                	test   %edx,%edx
-    684e:	89 30                	mov    %esi,(%eax)
-    6850:	0f 84 27 ff ff ff    	je     0x677d
-    6856:	8b 45 f0             	mov    -0x10(%ebp),%eax
-    6859:	89 04 24             	mov    %eax,(%esp)
-    685c:	e8 fc ff ff ff       	call   0x685d
-    6861:	e9 17 ff ff ff       	jmp    0x677d
-    6866:	66 90                	xchg   %ax,%ax
-    6868:	8b 55 dc             	mov    -0x24(%ebp),%edx
-    686b:	8b 42 4c             	mov    0x4c(%edx),%eax
-    686e:	85 c0                	test   %eax,%eax
-    6870:	0f 84 0f ff ff ff    	je     0x6785
-    6876:	8d 46 04             	lea    0x4(%esi),%eax
-    6879:	89 f9                	mov    %edi,%ecx
-    687b:	89 c2                	mov    %eax,%edx
-    687d:	89 45 dc             	mov    %eax,-0x24(%ebp)
-    6880:	89 d8                	mov    %ebx,%eax
-    6882:	e8 d9 df ff ff       	call   0x4860
-    6887:	8b 55 e0             	mov    -0x20(%ebp),%edx
-    688a:	85 c0                	test   %eax,%eax
-    688c:	89 02                	mov    %eax,(%edx)
-    688e:	75 28                	jne    0x68b8
-    6890:	f6 46 34 40          	testb  $0x40,0x34(%esi)
-    6894:	0f 84 eb fe ff ff    	je     0x6785
-    689a:	8b 55 dc             	mov    -0x24(%ebp),%edx
-    689d:	89 d8                	mov    %ebx,%eax
-    689f:	e8 6c f8 ff ff       	call   0x6110
-    68a4:	8b 55 e0             	mov    -0x20(%ebp),%edx
-    68a7:	85 c0                	test   %eax,%eax
-    68a9:	89 02                	mov    %eax,(%edx)
-    68ab:	75 0b                	jne    0x68b8
-    68ad:	8b 43 64             	mov    0x64(%ebx),%eax
-    68b0:	8b 34 b8             	mov    (%eax,%edi,4),%esi
-    68b3:	e9 cd fe ff ff       	jmp    0x6785
-    68b8:	31 f6                	xor    %esi,%esi
-    68ba:	e9 c6 fe ff ff       	jmp    0x6785
-    68bf:	90                   	nop
-    68c0:	55                   	push   %ebp
-    68c1:	89 e5                	mov    %esp,%ebp
-    68c3:	57                   	push   %edi
-    68c4:	56                   	push   %esi
-    68c5:	53                   	push   %ebx
-    68c6:	83 ec 50             	sub    $0x50,%esp
-    68c9:	89 45 d4             	mov    %eax,-0x2c(%ebp)
-    68cc:	8b 42 0c             	mov    0xc(%edx),%eax
-    68cf:	89 55 dc             	mov    %edx,-0x24(%ebp)
-    68d2:	8b 52 08             	mov    0x8(%edx),%edx
-    68d5:	89 45 d8             	mov    %eax,-0x28(%ebp)
-    68d8:	8d 45 e8             	lea    -0x18(%ebp),%eax
-    68db:	e8 70 a1 ff ff       	call   0xa50
-    68e0:	85 c0                	test   %eax,%eax
-    68e2:	89 45 b8             	mov    %eax,-0x48(%ebp)
-    68e5:	0f 85 23 02 00 00    	jne    0x6b0e
-    68eb:	8d 45 e8             	lea    -0x18(%ebp),%eax
-    68ee:	89 04 24             	mov    %eax,(%esp)
-    68f1:	8b 4d d8             	mov    -0x28(%ebp),%ecx
-    68f4:	8b 55 dc             	mov    -0x24(%ebp),%edx
-    68f7:	8b 45 d4             	mov    -0x2c(%ebp),%eax
-    68fa:	e8 b1 02 00 00       	call   0x6bb0
-    68ff:	83 ec 04             	sub    $0x4,%esp
-    6902:	85 c0                	test   %eax,%eax
-    6904:	89 45 b8             	mov    %eax,-0x48(%ebp)
-    6907:	0f 85 f6 01 00 00    	jne    0x6b03
-    690d:	8b 5d d8             	mov    -0x28(%ebp),%ebx
-    6910:	85 db                	test   %ebx,%ebx
-    6912:	0f 8e eb 01 00 00    	jle    0x6b03
-    6918:	8b 55 dc             	mov    -0x24(%ebp),%edx
-    691b:	8b 4d d8             	mov    -0x28(%ebp),%ecx
-    691e:	8b 45 d8             	mov    -0x28(%ebp),%eax
-    6921:	c7 45 c4 00 00 00 00 	movl   $0x0,-0x3c(%ebp)
-    6928:	83 c2 10             	add    $0x10,%edx
-    692b:	c1 e1 02             	shl    $0x2,%ecx
-    692e:	8d 04 85 fc ff ff ff 	lea    -0x4(,%eax,4),%eax
-    6935:	89 55 bc             	mov    %edx,-0x44(%ebp)
-    6938:	89 4d c8             	mov    %ecx,-0x38(%ebp)
-    693b:	89 45 c0             	mov    %eax,-0x40(%ebp)
-    693e:	66 90                	xchg   %ax,%ax
-    6940:	8b 55 dc             	mov    -0x24(%ebp),%edx
-    6943:	8b 4d c8             	mov    -0x38(%ebp),%ecx
-    6946:	8b 02                	mov    (%edx),%eax
-    6948:	8b 55 c4             	mov    -0x3c(%ebp),%edx
-    694b:	c7 45 c4 00 00 00 00 	movl   $0x0,-0x3c(%ebp)
-    6952:	8b 0c 08             	mov    (%eax,%ecx,1),%ecx
-    6955:	83 c2 01             	add    $0x1,%edx
-    6958:	85 c9                	test   %ecx,%ecx
-    695a:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
-    695d:	0f 45 55 c4          	cmovne -0x3c(%ebp),%edx
-    6961:	3b 51 78             	cmp    0x78(%ecx),%edx
-    6964:	89 55 c4             	mov    %edx,-0x3c(%ebp)
-    6967:	0f 8f 09 02 00 00    	jg     0x6b76
-    696d:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
-    6970:	8b 55 c0             	mov    -0x40(%ebp),%edx
-    6973:	83 6d d8 01          	subl   $0x1,-0x28(%ebp)
-    6977:	8b 41 64             	mov    0x64(%ecx),%eax
-    697a:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
-    6981:	8b 34 10             	mov    (%eax,%edx,1),%esi
-    6984:	85 f6                	test   %esi,%esi
-    6986:	0f 84 ac 01 00 00    	je     0x6b38
-    698c:	8b 56 14             	mov    0x14(%esi),%edx
-    698f:	8b 49 54             	mov    0x54(%ecx),%ecx
-    6992:	85 d2                	test   %edx,%edx
-    6994:	89 4d e0             	mov    %ecx,-0x20(%ebp)
-    6997:	0f 8e 9b 01 00 00    	jle    0x6b38
-    699d:	31 db                	xor    %ebx,%ebx
-    699f:	eb 70                	jmp    0x6a11
-    69a1:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
-    69a8:	8b 4d d8             	mov    -0x28(%ebp),%ecx
-    69ab:	8b 45 d4             	mov    -0x2c(%ebp),%eax
-    69ae:	e8 cd c2 ff ff       	call   0x2c80
-    69b3:	85 c0                	test   %eax,%eax
-    69b5:	74 4e                	je     0x6a05
-    69b7:	8b 55 dc             	mov    -0x24(%ebp),%edx
-    69ba:	8b 4d c8             	mov    -0x38(%ebp),%ecx
-    69bd:	8b 02                	mov    (%edx),%eax
-    69bf:	8b 14 08             	mov    (%eax,%ecx,1),%edx
-    69c2:	85 d2                	test   %edx,%edx
-    69c4:	74 3f                	je     0x6a05
-    69c6:	8b 4d e0             	mov    -0x20(%ebp),%ecx
-    69c9:	8b 41 0c             	mov    0xc(%ecx),%eax
-    69cc:	8d 4a 04             	lea    0x4(%edx),%ecx
-    69cf:	8b 04 b8             	mov    (%eax,%edi,4),%eax
-    69d2:	89 c2                	mov    %eax,%edx
-    69d4:	89 c8                	mov    %ecx,%eax
-    69d6:	e8 25 96 ff ff       	call   0x0
-    69db:	85 c0                	test   %eax,%eax
-    69dd:	74 26                	je     0x6a05
-    69df:	b9 01 00 00 00       	mov    $0x1,%ecx
-    69e4:	8b 45 dc             	mov    -0x24(%ebp),%eax
-    69e7:	8b 40 14             	mov    0x14(%eax),%eax
-    69ea:	85 c0                	test   %eax,%eax
-    69ec:	0f 85 c6 00 00 00    	jne    0x6ab8
-    69f2:	89 fa                	mov    %edi,%edx
-    69f4:	8d 45 e8             	lea    -0x18(%ebp),%eax
-    69f7:	e8 e4 ae ff ff       	call   0x18e0
-    69fc:	83 f8 ff             	cmp    $0xffffffff,%eax
-    69ff:	0f 84 f7 00 00 00    	je     0x6afc
-    6a05:	83 c3 01             	add    $0x1,%ebx
-    6a08:	3b 5e 14             	cmp    0x14(%esi),%ebx
-    6a0b:	0f 8d 27 01 00 00    	jge    0x6b38
-    6a11:	8b 46 18             	mov    0x18(%esi),%eax
-    6a14:	8b 4d e0             	mov    -0x20(%ebp),%ecx
-    6a17:	8b 3c 98             	mov    (%eax,%ebx,4),%edi
-    6a1a:	8d 04 fd 00 00 00 00 	lea    0x0(,%edi,8),%eax
-    6a21:	89 c2                	mov    %eax,%edx
-    6a23:	03 11                	add    (%ecx),%edx
-    6a25:	89 45 e4             	mov    %eax,-0x1c(%ebp)
-    6a28:	f6 42 06 10          	testb  $0x10,0x6(%edx)
-    6a2c:	0f 84 76 ff ff ff    	je     0x69a8
-    6a32:	8b 45 dc             	mov    -0x24(%ebp),%eax
-    6a35:	8b 55 d4             	mov    -0x2c(%ebp),%edx
-    6a38:	8b 4d d8             	mov    -0x28(%ebp),%ecx
-    6a3b:	8b 40 0c             	mov    0xc(%eax),%eax
-    6a3e:	8b 52 54             	mov    0x54(%edx),%edx
-    6a41:	89 45 cc             	mov    %eax,-0x34(%ebp)
-    6a44:	89 55 d0             	mov    %edx,-0x30(%ebp)
-    6a47:	89 fa                	mov    %edi,%edx
-    6a49:	89 0c 24             	mov    %ecx,(%esp)
-    6a4c:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
-    6a4f:	8b 45 d0             	mov    -0x30(%ebp),%eax
-    6a52:	e8 d9 e3 ff ff       	call   0x4e30
-    6a57:	83 ec 04             	sub    $0x4,%esp
-    6a5a:	83 f8 00             	cmp    $0x0,%eax
-    6a5d:	89 c1                	mov    %eax,%ecx
-    6a5f:	0f 8e bb 00 00 00    	jle    0x6b20
-    6a65:	8b 45 d8             	mov    -0x28(%ebp),%eax
-    6a68:	8d 14 01             	lea    (%ecx,%eax,1),%edx
-    6a6b:	39 55 cc             	cmp    %edx,-0x34(%ebp)
-    6a6e:	0f 8c 70 ff ff ff    	jl     0x69e4
-    6a74:	8b 45 dc             	mov    -0x24(%ebp),%eax
-    6a77:	8b 00                	mov    (%eax),%eax
-    6a79:	8b 14 90             	mov    (%eax,%edx,4),%edx
-    6a7c:	85 d2                	test   %edx,%edx
-    6a7e:	74 25                	je     0x6aa5
-    6a80:	8b 45 d0             	mov    -0x30(%ebp),%eax
-    6a83:	89 4d b4             	mov    %ecx,-0x4c(%ebp)
-    6a86:	8b 40 0c             	mov    0xc(%eax),%eax
-    6a89:	8b 04 b8             	mov    (%eax,%edi,4),%eax
-    6a8c:	89 45 cc             	mov    %eax,-0x34(%ebp)
-    6a8f:	8d 42 04             	lea    0x4(%edx),%eax
-    6a92:	8b 55 cc             	mov    -0x34(%ebp),%edx
-    6a95:	e8 66 95 ff ff       	call   0x0
-    6a9a:	8b 4d b4             	mov    -0x4c(%ebp),%ecx
-    6a9d:	85 c0                	test   %eax,%eax
-    6a9f:	0f 85 3f ff ff ff    	jne    0x69e4
-    6aa5:	8b 4d e0             	mov    -0x20(%ebp),%ecx
-    6aa8:	8b 55 e4             	mov    -0x1c(%ebp),%edx
-    6aab:	03 11                	add    (%ecx),%edx
-    6aad:	e9 f6 fe ff ff       	jmp    0x69a8
-    6ab2:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
-    6ab8:	8b 55 e0             	mov    -0x20(%ebp),%edx
-    6abb:	8b 42 0c             	mov    0xc(%edx),%eax
-    6abe:	8b 55 d8             	mov    -0x28(%ebp),%edx
-    6ac1:	8b 04 b8             	mov    (%eax,%edi,4),%eax
-    6ac4:	01 d1                	add    %edx,%ecx
-    6ac6:	89 0c 24             	mov    %ecx,(%esp)
-    6ac9:	89 54 24 08          	mov    %edx,0x8(%esp)
-    6acd:	89 7c 24 04          	mov    %edi,0x4(%esp)
-    6ad1:	89 c1                	mov    %eax,%ecx
-    6ad3:	8b 55 bc             	mov    -0x44(%ebp),%edx
-    6ad6:	8b 45 d4             	mov    -0x2c(%ebp),%eax
-    6ad9:	e8 82 9a ff ff       	call   0x560
-    6ade:	83 ec 0c             	sub    $0xc,%esp
-    6ae1:	85 c0                	test   %eax,%eax
-    6ae3:	0f 85 1c ff ff ff    	jne    0x6a05
-    6ae9:	89 fa                	mov    %edi,%edx
-    6aeb:	8d 45 e8             	lea    -0x18(%ebp),%eax
-    6aee:	e8 ed ad ff ff       	call   0x18e0
-    6af3:	83 f8 ff             	cmp    $0xffffffff,%eax
-    6af6:	0f 85 09 ff ff ff    	jne    0x6a05
-    6afc:	c7 45 b8 0c 00 00 00 	movl   $0xc,-0x48(%ebp)
-    6b03:	8b 45 f0             	mov    -0x10(%ebp),%eax
-    6b06:	89 04 24             	mov    %eax,(%esp)
-    6b09:	e8 fc ff ff ff       	call   0x6b0a
-    6b0e:	8b 45 b8             	mov    -0x48(%ebp),%eax
-    6b11:	8d 65 f4             	lea    -0xc(%ebp),%esp
-    6b14:	5b                   	pop    %ebx
-    6b15:	5e                   	pop    %esi
-    6b16:	5f                   	pop    %edi
-    6b17:	5d                   	pop    %ebp
-    6b18:	c3                   	ret    
-    6b19:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
-    6b20:	0f 85 be fe ff ff    	jne    0x69e4
-    6b26:	8b 45 e0             	mov    -0x20(%ebp),%eax
-    6b29:	8b 55 e4             	mov    -0x1c(%ebp),%edx
-    6b2c:	03 10                	add    (%eax),%edx
-    6b2e:	e9 75 fe ff ff       	jmp    0x69a8
-    6b33:	90                   	nop
-    6b34:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    6b38:	8d 4d e8             	lea    -0x18(%ebp),%ecx
-    6b3b:	89 0c 24             	mov    %ecx,(%esp)
-    6b3e:	8b 4d d8             	mov    -0x28(%ebp),%ecx
-    6b41:	8b 55 dc             	mov    -0x24(%ebp),%edx
-    6b44:	8b 45 d4             	mov    -0x2c(%ebp),%eax
-    6b47:	e8 64 00 00 00       	call   0x6bb0
-    6b4c:	83 ec 04             	sub    $0x4,%esp
-    6b4f:	85 c0                	test   %eax,%eax
-    6b51:	75 13                	jne    0x6b66
-    6b53:	8b 4d d8             	mov    -0x28(%ebp),%ecx
-    6b56:	83 6d c8 04          	subl   $0x4,-0x38(%ebp)
-    6b5a:	83 6d c0 04          	subl   $0x4,-0x40(%ebp)
-    6b5e:	85 c9                	test   %ecx,%ecx
-    6b60:	0f 8f da fd ff ff    	jg     0x6940
-    6b66:	89 45 b8             	mov    %eax,-0x48(%ebp)
-    6b69:	8b 45 f0             	mov    -0x10(%ebp),%eax
-    6b6c:	89 04 24             	mov    %eax,(%esp)
-    6b6f:	e8 fc ff ff ff       	call   0x6b70
-    6b74:	eb 98                	jmp    0x6b0e
-    6b76:	8b 55 c8             	mov    -0x38(%ebp),%edx
-    6b79:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
-    6b80:	00 
-    6b81:	89 04 24             	mov    %eax,(%esp)
-    6b84:	89 54 24 08          	mov    %edx,0x8(%esp)
-    6b88:	e8 fc ff ff ff       	call   0x6b89
-    6b8d:	8b 45 f0             	mov    -0x10(%ebp),%eax
-    6b90:	89 04 24             	mov    %eax,(%esp)
-    6b93:	e8 fc ff ff ff       	call   0x6b94
-    6b98:	8b 45 b8             	mov    -0x48(%ebp),%eax
-    6b9b:	8d 65 f4             	lea    -0xc(%ebp),%esp
-    6b9e:	5b                   	pop    %ebx
-    6b9f:	5e                   	pop    %esi
-    6ba0:	5f                   	pop    %edi
-    6ba1:	5d                   	pop    %ebp
-    6ba2:	c3                   	ret    
-    6ba3:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
-    6ba9:	8d bc 27 00 00 00 00 	lea    0x0(%edi,%eiz,1),%edi
-    6bb0:	55                   	push   %ebp
-    6bb1:	89 e5                	mov    %esp,%ebp
-    6bb3:	57                   	push   %edi
-    6bb4:	56                   	push   %esi
-    6bb5:	53                   	push   %ebx
-    6bb6:	83 ec 70             	sub    $0x70,%esp
-    6bb9:	8b 78 54             	mov    0x54(%eax),%edi
-    6bbc:	89 4d b8             	mov    %ecx,-0x48(%ebp)
-    6bbf:	c1 e1 02             	shl    $0x2,%ecx
-    6bc2:	8b 5d 08             	mov    0x8(%ebp),%ebx
-    6bc5:	89 45 a4             	mov    %eax,-0x5c(%ebp)
-    6bc8:	8b 40 64             	mov    0x64(%eax),%eax
-    6bcb:	89 4d 9c             	mov    %ecx,-0x64(%ebp)
-    6bce:	8b 4d b8             	mov    -0x48(%ebp),%ecx
-    6bd1:	c7 45 c8 00 00 00 00 	movl   $0x0,-0x38(%ebp)
-    6bd8:	89 55 c0             	mov    %edx,-0x40(%ebp)
-    6bdb:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
-    6be2:	8b 04 88             	mov    (%eax,%ecx,4),%eax
-    6be5:	85 c0                	test   %eax,%eax
-    6be7:	8d 50 04             	lea    0x4(%eax),%edx
-    6bea:	0f 44 55 c8          	cmove  -0x38(%ebp),%edx
-    6bee:	89 55 c8             	mov    %edx,-0x38(%ebp)
-    6bf1:	8b 53 04             	mov    0x4(%ebx),%edx
-    6bf4:	85 d2                	test   %edx,%edx
-    6bf6:	75 38                	jne    0x6c30
-    6bf8:	8b 5d c0             	mov    -0x40(%ebp),%ebx
-    6bfb:	8b 03                	mov    (%ebx),%eax
-    6bfd:	c7 04 88 00 00 00 00 	movl   $0x0,(%eax,%ecx,4)
-    6c04:	8b 4d c8             	mov    -0x38(%ebp),%ecx
-    6c07:	85 c9                	test   %ecx,%ecx
-    6c09:	74 16                	je     0x6c21
-    6c0b:	8b 55 a4             	mov    -0x5c(%ebp),%edx
-    6c0e:	8b 4d b8             	mov    -0x48(%ebp),%ecx
-    6c11:	8b 42 64             	mov    0x64(%edx),%eax
-    6c14:	8b 04 88             	mov    (%eax,%ecx,4),%eax
-    6c17:	f6 40 34 40          	testb  $0x40,0x34(%eax)
-    6c1b:	0f 85 e7 00 00 00    	jne    0x6d08
-    6c21:	31 c0                	xor    %eax,%eax
-    6c23:	8d 65 f4             	lea    -0xc(%ebp),%esp
-    6c26:	5b                   	pop    %ebx
-    6c27:	5e                   	pop    %esi
-    6c28:	5f                   	pop    %edi
-    6c29:	5d                   	pop    %ebp
-    6c2a:	c2 04 00             	ret    $0x4
-    6c2d:	8d 76 00             	lea    0x0(%esi),%esi
-    6c30:	8b 45 c8             	mov    -0x38(%ebp),%eax
-    6c33:	85 c0                	test   %eax,%eax
-    6c35:	0f 84 a5 00 00 00    	je     0x6ce0
-    6c3b:	89 fa                	mov    %edi,%edx
-    6c3d:	89 d9                	mov    %ebx,%ecx
-    6c3f:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
-    6c46:	8d 45 ec             	lea    -0x14(%ebp),%eax
-    6c49:	e8 42 dd ff ff       	call   0x4990
-    6c4e:	89 c2                	mov    %eax,%edx
-    6c50:	8b 45 ec             	mov    -0x14(%ebp),%eax
-    6c53:	85 c0                	test   %eax,%eax
-    6c55:	75 cc                	jne    0x6c23
-    6c57:	8b 72 1c             	mov    0x1c(%edx),%esi
-    6c5a:	8d 42 1c             	lea    0x1c(%edx),%eax
-    6c5d:	89 45 cc             	mov    %eax,-0x34(%ebp)
-    6c60:	85 f6                	test   %esi,%esi
-    6c62:	75 52                	jne    0x6cb6
-    6c64:	8b 53 04             	mov    0x4(%ebx),%edx
-    6c67:	e8 b4 9d ff ff       	call   0xa20
-    6c6c:	85 c0                	test   %eax,%eax
-    6c6e:	0f 85 7d 05 00 00    	jne    0x71f1
-    6c74:	8b 4b 04             	mov    0x4(%ebx),%ecx
-    6c77:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
-    6c7e:	85 c9                	test   %ecx,%ecx
-    6c80:	7e 34                	jle    0x6cb6
-    6c82:	31 f6                	xor    %esi,%esi
-    6c84:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    6c88:	8b 43 08             	mov    0x8(%ebx),%eax
-    6c8b:	8b 04 b0             	mov    (%eax,%esi,4),%eax
-    6c8e:	8d 14 40             	lea    (%eax,%eax,2),%edx
-    6c91:	8b 45 cc             	mov    -0x34(%ebp),%eax
-    6c94:	c1 e2 02             	shl    $0x2,%edx
-    6c97:	03 57 1c             	add    0x1c(%edi),%edx
-    6c9a:	e8 a1 aa ff ff       	call   0x1740
-    6c9f:	85 c0                	test   %eax,%eax
-    6ca1:	0f 85 4a 05 00 00    	jne    0x71f1
-    6ca7:	83 c6 01             	add    $0x1,%esi
-    6caa:	3b 73 04             	cmp    0x4(%ebx),%esi
-    6cad:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
-    6cb4:	7c d2                	jl     0x6c88
-    6cb6:	8b 4d cc             	mov    -0x34(%ebp),%ecx
-    6cb9:	89 d8                	mov    %ebx,%eax
-    6cbb:	8b 55 c8             	mov    -0x38(%ebp),%edx
-    6cbe:	e8 7d af ff ff       	call   0x1c40
-    6cc3:	85 c0                	test   %eax,%eax
-    6cc5:	0f 85 58 ff ff ff    	jne    0x6c23
-    6ccb:	8b 55 c0             	mov    -0x40(%ebp),%edx
-    6cce:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
-    6cd5:	8b 42 14             	mov    0x14(%edx),%eax
-    6cd8:	85 c0                	test   %eax,%eax
-    6cda:	0f 85 a7 02 00 00    	jne    0x6f87
-    6ce0:	8b 45 c0             	mov    -0x40(%ebp),%eax
-    6ce3:	89 d9                	mov    %ebx,%ecx
-    6ce5:	89 fa                	mov    %edi,%edx
-    6ce7:	8b 75 9c             	mov    -0x64(%ebp),%esi
-    6cea:	03 30                	add    (%eax),%esi
-    6cec:	8d 45 f0             	lea    -0x10(%ebp),%eax
-    6cef:	e8 9c dc ff ff       	call   0x4990
-    6cf4:	89 06                	mov    %eax,(%esi)
-    6cf6:	8b 45 f0             	mov    -0x10(%ebp),%eax
-    6cf9:	85 c0                	test   %eax,%eax
-    6cfb:	0f 84 03 ff ff ff    	je     0x6c04
-    6d01:	e9 1d ff ff ff       	jmp    0x6c23
-    6d06:	66 90                	xchg   %ax,%ax
-    6d08:	8b 5a 54             	mov    0x54(%edx),%ebx
-    6d0b:	89 ca                	mov    %ecx,%edx
-    6d0d:	8b 45 a4             	mov    -0x5c(%ebp),%eax
-    6d10:	89 5d c4             	mov    %ebx,-0x3c(%ebp)
-    6d13:	e8 c8 97 ff ff       	call   0x4e0
-    6d18:	83 f8 ff             	cmp    $0xffffffff,%eax
-    6d1b:	89 45 a0             	mov    %eax,-0x60(%ebp)
-    6d1e:	0f 84 fd fe ff ff    	je     0x6c21
-    6d24:	8b 45 c8             	mov    -0x38(%ebp),%eax
-    6d27:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
-    6d2e:	8b 50 04             	mov    0x4(%eax),%edx
-    6d31:	85 d2                	test   %edx,%edx
-    6d33:	0f 8e e8 fe ff ff    	jle    0x6c21
-    6d39:	8b 55 a0             	mov    -0x60(%ebp),%edx
-    6d3c:	31 ff                	xor    %edi,%edi
-    6d3e:	8b 4d c0             	mov    -0x40(%ebp),%ecx
-    6d41:	8b 5d b8             	mov    -0x48(%ebp),%ebx
-    6d44:	8d 04 92             	lea    (%edx,%edx,4),%eax
-    6d47:	c1 e0 02             	shl    $0x2,%eax
-    6d4a:	83 c1 10             	add    $0x10,%ecx
-    6d4d:	83 c3 01             	add    $0x1,%ebx
-    6d50:	89 45 b4             	mov    %eax,-0x4c(%ebp)
-    6d53:	89 4d 98             	mov    %ecx,-0x68(%ebp)
-    6d56:	89 5d 94             	mov    %ebx,-0x6c(%ebp)
-    6d59:	eb 18                	jmp    0x6d73
-    6d5b:	90                   	nop
-    6d5c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    6d60:	3c 04                	cmp    $0x4,%al
-    6d62:	74 36                	je     0x6d9a
-    6d64:	8b 5d c8             	mov    -0x38(%ebp),%ebx
-    6d67:	83 c7 01             	add    $0x1,%edi
-    6d6a:	3b 7b 04             	cmp    0x4(%ebx),%edi
-    6d6d:	0f 8d cf 01 00 00    	jge    0x6f42
-    6d73:	8b 55 c8             	mov    -0x38(%ebp),%edx
-    6d76:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
-    6d79:	8b 5d c0             	mov    -0x40(%ebp),%ebx
-    6d7c:	8b 42 08             	mov    0x8(%edx),%eax
-    6d7f:	8b 34 b8             	mov    (%eax,%edi,4),%esi
-    6d82:	8b 01                	mov    (%ecx),%eax
-    6d84:	3b 73 08             	cmp    0x8(%ebx),%esi
-    6d87:	0f b6 44 f0 04       	movzbl 0x4(%eax,%esi,8),%eax
-    6d8c:	75 d2                	jne    0x6d60
-    6d8e:	8b 55 b8             	mov    -0x48(%ebp),%edx
-    6d91:	3b 53 0c             	cmp    0xc(%ebx),%edx
-    6d94:	74 ce                	je     0x6d64
-    6d96:	3c 04                	cmp    $0x4,%al
-    6d98:	75 ca                	jne    0x6d64
-    6d9a:	8d 04 b5 00 00 00 00 	lea    0x0(,%esi,4),%eax
-    6da1:	8b 4d a4             	mov    -0x5c(%ebp),%ecx
-    6da4:	89 45 b0             	mov    %eax,-0x50(%ebp)
-    6da7:	8d 04 76             	lea    (%esi,%esi,2),%eax
-    6daa:	8b 55 a0             	mov    -0x60(%ebp),%edx
-    6dad:	c1 e0 02             	shl    $0x2,%eax
-    6db0:	8b 5d b4             	mov    -0x4c(%ebp),%ebx
-    6db3:	89 45 ac             	mov    %eax,-0x54(%ebp)
-    6db6:	8b 45 b4             	mov    -0x4c(%ebp),%eax
-    6db9:	89 7d a8             	mov    %edi,-0x58(%ebp)
-    6dbc:	03 59 74             	add    0x74(%ecx),%ebx
-    6dbf:	89 55 cc             	mov    %edx,-0x34(%ebp)
-    6dc2:	89 c7                	mov    %eax,%edi
-    6dc4:	eb 16                	jmp    0x6ddc
-    6dc6:	66 90                	xchg   %ax,%ax
-    6dc8:	83 c7 14             	add    $0x14,%edi
-    6dcb:	80 7b 10 00          	cmpb   $0x0,0x10(%ebx)
-    6dcf:	0f 84 5b 01 00 00    	je     0x6f30
-    6dd5:	83 45 cc 01          	addl   $0x1,-0x34(%ebp)
-    6dd9:	83 c3 14             	add    $0x14,%ebx
-    6ddc:	3b 33                	cmp    (%ebx),%esi
-    6dde:	75 e8                	jne    0x6dc8
-    6de0:	8b 43 0c             	mov    0xc(%ebx),%eax
-    6de3:	8b 4d b8             	mov    -0x48(%ebp),%ecx
-    6de6:	2b 43 08             	sub    0x8(%ebx),%eax
-    6de9:	01 c1                	add    %eax,%ecx
-    6deb:	85 c0                	test   %eax,%eax
-    6ded:	0f 84 7d 01 00 00    	je     0x6f70
-    6df3:	8b 55 c4             	mov    -0x3c(%ebp),%edx
-    6df6:	8b 42 0c             	mov    0xc(%edx),%eax
-    6df9:	8b 55 b0             	mov    -0x50(%ebp),%edx
-    6dfc:	8b 04 10             	mov    (%eax,%edx,1),%eax
-    6dff:	89 45 bc             	mov    %eax,-0x44(%ebp)
-    6e02:	8b 45 c0             	mov    -0x40(%ebp),%eax
-    6e05:	3b 48 0c             	cmp    0xc(%eax),%ecx
-    6e08:	7f be                	jg     0x6dc8
-    6e0a:	8b 00                	mov    (%eax),%eax
-    6e0c:	8b 04 88             	mov    (%eax,%ecx,4),%eax
-    6e0f:	85 c0                	test   %eax,%eax
-    6e11:	74 b5                	je     0x6dc8
-    6e13:	8b 55 bc             	mov    -0x44(%ebp),%edx
-    6e16:	83 c0 04             	add    $0x4,%eax
-    6e19:	89 4d 90             	mov    %ecx,-0x70(%ebp)
-    6e1c:	e8 df 91 ff ff       	call   0x0
-    6e21:	8b 4d 90             	mov    -0x70(%ebp),%ecx
-    6e24:	85 c0                	test   %eax,%eax
-    6e26:	74 a0                	je     0x6dc8
-    6e28:	89 4c 24 08          	mov    %ecx,0x8(%esp)
-    6e2c:	8b 4d bc             	mov    -0x44(%ebp),%ecx
-    6e2f:	89 4c 24 04          	mov    %ecx,0x4(%esp)
-    6e33:	8b 45 b8             	mov    -0x48(%ebp),%eax
-    6e36:	89 f1                	mov    %esi,%ecx
-    6e38:	89 04 24             	mov    %eax,(%esp)
-    6e3b:	8b 55 98             	mov    -0x68(%ebp),%edx
-    6e3e:	8b 45 a4             	mov    -0x5c(%ebp),%eax
-    6e41:	e8 1a 97 ff ff       	call   0x560
-    6e46:	83 ec 0c             	sub    $0xc,%esp
-    6e49:	85 c0                	test   %eax,%eax
-    6e4b:	0f 85 77 ff ff ff    	jne    0x6dc8
-    6e51:	8b 45 d0             	mov    -0x30(%ebp),%eax
-    6e54:	85 c0                	test   %eax,%eax
-    6e56:	0f 84 51 03 00 00    	je     0x71ad
-    6e5c:	8b 4d b8             	mov    -0x48(%ebp),%ecx
-    6e5f:	8d 45 e0             	lea    -0x20(%ebp),%eax
-    6e62:	8b 55 cc             	mov    -0x34(%ebp),%edx
-    6e65:	89 75 d8             	mov    %esi,-0x28(%ebp)
-    6e68:	89 4d dc             	mov    %ecx,-0x24(%ebp)
-    6e6b:	e8 70 aa ff ff       	call   0x18e0
-    6e70:	85 c0                	test   %eax,%eax
-    6e72:	0f 88 85 03 00 00    	js     0x71fd
-    6e78:	8b 45 d0             	mov    -0x30(%ebp),%eax
-    6e7b:	8b 55 9c             	mov    -0x64(%ebp),%edx
-    6e7e:	8b 1c 10             	mov    (%eax,%edx,1),%ebx
-    6e81:	8d 55 d0             	lea    -0x30(%ebp),%edx
-    6e84:	8b 45 a4             	mov    -0x5c(%ebp),%eax
-    6e87:	e8 34 fa ff ff       	call   0x68c0
-    6e8c:	85 c0                	test   %eax,%eax
-    6e8e:	0f 85 b0 00 00 00    	jne    0x6f44
-    6e94:	8b 4d c0             	mov    -0x40(%ebp),%ecx
-    6e97:	8b 51 04             	mov    0x4(%ecx),%edx
-    6e9a:	85 d2                	test   %edx,%edx
-    6e9c:	74 1c                	je     0x6eba
-    6e9e:	8b 45 94             	mov    -0x6c(%ebp),%eax
-    6ea1:	89 04 24             	mov    %eax,(%esp)
-    6ea4:	8b 4d d0             	mov    -0x30(%ebp),%ecx
-    6ea7:	8b 45 c4             	mov    -0x3c(%ebp),%eax
-    6eaa:	e8 f1 de ff ff       	call   0x4da0
-    6eaf:	83 ec 04             	sub    $0x4,%esp
-    6eb2:	85 c0                	test   %eax,%eax
-    6eb4:	0f 85 8a 00 00 00    	jne    0x6f44
-    6eba:	8b 45 d0             	mov    -0x30(%ebp),%eax
-    6ebd:	8b 55 9c             	mov    -0x64(%ebp),%edx
-    6ec0:	89 1c 10             	mov    %ebx,(%eax,%edx,1)
-    6ec3:	8b 55 cc             	mov    -0x34(%ebp),%edx
-    6ec6:	8d 45 e0             	lea    -0x20(%ebp),%eax
-    6ec9:	e8 32 91 ff ff       	call   0x0
-    6ece:	89 c3                	mov    %eax,%ebx
-    6ed0:	83 eb 01             	sub    $0x1,%ebx
-    6ed3:	78 3f                	js     0x6f14
-    6ed5:	8b 55 e4             	mov    -0x1c(%ebp),%edx
-    6ed8:	39 d3                	cmp    %edx,%ebx
-    6eda:	7d 38                	jge    0x6f14
-    6edc:	83 ea 01             	sub    $0x1,%edx
-    6edf:	39 d3                	cmp    %edx,%ebx
-    6ee1:	89 55 e4             	mov    %edx,-0x1c(%ebp)
-    6ee4:	7d 2e                	jge    0x6f14
-    6ee6:	89 c1                	mov    %eax,%ecx
-    6ee8:	8b 45 e8             	mov    -0x18(%ebp),%eax
-    6eeb:	8b 55 e8             	mov    -0x18(%ebp),%edx
-    6eee:	8d 04 88             	lea    (%eax,%ecx,4),%eax
-    6ef1:	89 45 bc             	mov    %eax,-0x44(%ebp)
-    6ef4:	8d 04 9a             	lea    (%edx,%ebx,4),%eax
-    6ef7:	8b 55 bc             	mov    -0x44(%ebp),%edx
-    6efa:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
-    6f00:	8b 1a                	mov    (%edx),%ebx
-    6f02:	83 c2 04             	add    $0x4,%edx
-    6f05:	89 18                	mov    %ebx,(%eax)
-    6f07:	89 cb                	mov    %ecx,%ebx
-    6f09:	83 c0 04             	add    $0x4,%eax
-    6f0c:	83 c1 01             	add    $0x1,%ecx
-    6f0f:	3b 5d e4             	cmp    -0x1c(%ebp),%ebx
-    6f12:	7c ec                	jl     0x6f00
-    6f14:	8b 4d a4             	mov    -0x5c(%ebp),%ecx
-    6f17:	89 fb                	mov    %edi,%ebx
-    6f19:	83 c7 14             	add    $0x14,%edi
-    6f1c:	03 59 74             	add    0x74(%ecx),%ebx
-    6f1f:	80 7b 10 00          	cmpb   $0x0,0x10(%ebx)
-    6f23:	0f 85 ac fe ff ff    	jne    0x6dd5
-    6f29:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
-    6f30:	8b 7d a8             	mov    -0x58(%ebp),%edi
-    6f33:	8b 5d c8             	mov    -0x38(%ebp),%ebx
-    6f36:	83 c7 01             	add    $0x1,%edi
-    6f39:	3b 7b 04             	cmp    0x4(%ebx),%edi
-    6f3c:	0f 8c 31 fe ff ff    	jl     0x6d73
-    6f42:	31 c0                	xor    %eax,%eax
-    6f44:	8b 5d d0             	mov    -0x30(%ebp),%ebx
-    6f47:	85 db                	test   %ebx,%ebx
-    6f49:	0f 84 d4 fc ff ff    	je     0x6c23
-    6f4f:	8b 55 e8             	mov    -0x18(%ebp),%edx
-    6f52:	89 14 24             	mov    %edx,(%esp)
-    6f55:	89 45 90             	mov    %eax,-0x70(%ebp)
-    6f58:	e8 fc ff ff ff       	call   0x6f59
-    6f5d:	8b 45 90             	mov    -0x70(%ebp),%eax
-    6f60:	8d 65 f4             	lea    -0xc(%ebp),%esp
-    6f63:	5b                   	pop    %ebx
-    6f64:	5e                   	pop    %esi
-    6f65:	5f                   	pop    %edi
-    6f66:	5d                   	pop    %ebp
-    6f67:	c2 04 00             	ret    $0x4
-    6f6a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
-    6f70:	8b 55 c4             	mov    -0x3c(%ebp),%edx
-    6f73:	8b 42 14             	mov    0x14(%edx),%eax
-    6f76:	8b 55 ac             	mov    -0x54(%ebp),%edx
-    6f79:	8b 44 10 08          	mov    0x8(%eax,%edx,1),%eax
-    6f7d:	8b 00                	mov    (%eax),%eax
-    6f7f:	89 45 bc             	mov    %eax,-0x44(%ebp)
-    6f82:	e9 7b fe ff ff       	jmp    0x6e02
-    6f87:	8b 4d a4             	mov    -0x5c(%ebp),%ecx
-    6f8a:	83 c2 10             	add    $0x10,%edx
-    6f8d:	85 c0                	test   %eax,%eax
-    6f8f:	89 55 c4             	mov    %edx,-0x3c(%ebp)
-    6f92:	8b 49 74             	mov    0x74(%ecx),%ecx
-    6f95:	89 4d b0             	mov    %ecx,-0x50(%ebp)
-    6f98:	0f 8e a5 00 00 00    	jle    0x7043
-    6f9e:	c7 45 cc 00 00 00 00 	movl   $0x0,-0x34(%ebp)
-    6fa5:	8d 76 00             	lea    0x0(%esi),%esi
-    6fa8:	8b 55 c4             	mov    -0x3c(%ebp),%edx
-    6fab:	8b 4d cc             	mov    -0x34(%ebp),%ecx
-    6fae:	8b 42 08             	mov    0x8(%edx),%eax
-    6fb1:	8b 04 88             	mov    (%eax,%ecx,4),%eax
-    6fb4:	8b 4d b0             	mov    -0x50(%ebp),%ecx
-    6fb7:	8d 04 80             	lea    (%eax,%eax,4),%eax
-    6fba:	8d 14 81             	lea    (%ecx,%eax,4),%edx
-    6fbd:	8b 45 b8             	mov    -0x48(%ebp),%eax
-    6fc0:	3b 42 08             	cmp    0x8(%edx),%eax
-    6fc3:	7e 6b                	jle    0x7030
-    6fc5:	3b 42 04             	cmp    0x4(%edx),%eax
-    6fc8:	7f 66                	jg     0x7030
-    6fca:	8b 07                	mov    (%edi),%eax
-    6fcc:	8b 0a                	mov    (%edx),%ecx
-    6fce:	8b 0c c8             	mov    (%eax,%ecx,8),%ecx
-    6fd1:	89 4d bc             	mov    %ecx,-0x44(%ebp)
-    6fd4:	8b 4d b8             	mov    -0x48(%ebp),%ecx
-    6fd7:	3b 4a 0c             	cmp    0xc(%edx),%ecx
-    6fda:	74 74                	je     0x7050
-    6fdc:	8b 53 04             	mov    0x4(%ebx),%edx
-    6fdf:	31 f6                	xor    %esi,%esi
-    6fe1:	85 d2                	test   %edx,%edx
-    6fe3:	7f 0d                	jg     0x6ff2
-    6fe5:	eb 49                	jmp    0x7030
-    6fe7:	90                   	nop
-    6fe8:	83 c6 01             	add    $0x1,%esi
-    6feb:	3b 73 04             	cmp    0x4(%ebx),%esi
-    6fee:	7d 40                	jge    0x7030
-    6ff0:	8b 07                	mov    (%edi),%eax
-    6ff2:	8b 53 08             	mov    0x8(%ebx),%edx
-    6ff5:	8b 14 b2             	mov    (%edx,%esi,4),%edx
-    6ff8:	8d 04 d0             	lea    (%eax,%edx,8),%eax
-    6ffb:	0f b6 48 04          	movzbl 0x4(%eax),%ecx
-    6fff:	83 e9 08             	sub    $0x8,%ecx
-    7002:	83 f9 01             	cmp    $0x1,%ecx
-    7005:	77 e1                	ja     0x6fe8
-    7007:	8b 4d bc             	mov    -0x44(%ebp),%ecx
-    700a:	3b 08                	cmp    (%eax),%ecx
-    700c:	75 da                	jne    0x6fe8
-    700e:	8b 45 c8             	mov    -0x38(%ebp),%eax
-    7011:	89 d9                	mov    %ebx,%ecx
-    7013:	89 04 24             	mov    %eax,(%esp)
-    7016:	89 f8                	mov    %edi,%eax
-    7018:	e8 d3 b0 ff ff       	call   0x20f0
-    701d:	83 ec 04             	sub    $0x4,%esp
-    7020:	85 c0                	test   %eax,%eax
-    7022:	0f 85 fb fb ff ff    	jne    0x6c23
-    7028:	83 c6 01             	add    $0x1,%esi
-    702b:	3b 73 04             	cmp    0x4(%ebx),%esi
-    702e:	7c c0                	jl     0x6ff0
-    7030:	8b 55 c4             	mov    -0x3c(%ebp),%edx
-    7033:	83 45 cc 01          	addl   $0x1,-0x34(%ebp)
-    7037:	8b 4d cc             	mov    -0x34(%ebp),%ecx
-    703a:	3b 4a 04             	cmp    0x4(%edx),%ecx
-    703d:	0f 8c 65 ff ff ff    	jl     0x6fa8
-    7043:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
-    704a:	e9 91 fc ff ff       	jmp    0x6ce0
-    704f:	90                   	nop
-    7050:	8b 53 04             	mov    0x4(%ebx),%edx
-    7053:	85 d2                	test   %edx,%edx
-    7055:	89 55 ac             	mov    %edx,-0x54(%ebp)
-    7058:	7e d6                	jle    0x7030
-    705a:	8b 4b 08             	mov    0x8(%ebx),%ecx
-    705d:	ba ff ff ff ff       	mov    $0xffffffff,%edx
-    7062:	89 7d a0             	mov    %edi,-0x60(%ebp)
-    7065:	89 d7                	mov    %edx,%edi
-    7067:	c7 45 b4 ff ff ff ff 	movl   $0xffffffff,-0x4c(%ebp)
-    706e:	89 5d 98             	mov    %ebx,-0x68(%ebp)
-    7071:	89 4d a8             	mov    %ecx,-0x58(%ebp)
-    7074:	31 c9                	xor    %ecx,%ecx
-    7076:	66 90                	xchg   %ax,%ax
-    7078:	8b 5d a8             	mov    -0x58(%ebp),%ebx
-    707b:	8b 14 8b             	mov    (%ebx,%ecx,4),%edx
-    707e:	8d 34 d0             	lea    (%eax,%edx,8),%esi
-    7081:	0f b6 5e 04          	movzbl 0x4(%esi),%ebx
-    7085:	83 fb 08             	cmp    $0x8,%ebx
-    7088:	0f 84 0a 01 00 00    	je     0x7198
-    708e:	83 fb 09             	cmp    $0x9,%ebx
-    7091:	74 15                	je     0x70a8
-    7093:	89 fa                	mov    %edi,%edx
-    7095:	83 c1 01             	add    $0x1,%ecx
-    7098:	3b 4d ac             	cmp    -0x54(%ebp),%ecx
-    709b:	74 23                	je     0x70c0
-    709d:	89 d7                	mov    %edx,%edi
-    709f:	eb d7                	jmp    0x7078
-    70a1:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
-    70a8:	8b 5d bc             	mov    -0x44(%ebp),%ebx
-    70ab:	3b 1e                	cmp    (%esi),%ebx
-    70ad:	75 e4                	jne    0x7093
-    70af:	83 c1 01             	add    $0x1,%ecx
-    70b2:	3b 4d ac             	cmp    -0x54(%ebp),%ecx
-    70b5:	89 55 b4             	mov    %edx,-0x4c(%ebp)
-    70b8:	89 fa                	mov    %edi,%edx
-    70ba:	75 e1                	jne    0x709d
-    70bc:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    70c0:	85 d2                	test   %edx,%edx
-    70c2:	8b 7d a0             	mov    -0x60(%ebp),%edi
-    70c5:	8b 5d 98             	mov    -0x68(%ebp),%ebx
-    70c8:	78 1a                	js     0x70e4
-    70ca:	8b 45 c8             	mov    -0x38(%ebp),%eax
-    70cd:	89 d9                	mov    %ebx,%ecx
-    70cf:	89 04 24             	mov    %eax,(%esp)
-    70d2:	89 f8                	mov    %edi,%eax
-    70d4:	e8 17 b0 ff ff       	call   0x20f0
-    70d9:	83 ec 04             	sub    $0x4,%esp
-    70dc:	85 c0                	test   %eax,%eax
-    70de:	0f 85 3f fb ff ff    	jne    0x6c23
-    70e4:	8b 45 b4             	mov    -0x4c(%ebp),%eax
-    70e7:	85 c0                	test   %eax,%eax
-    70e9:	0f 88 41 ff ff ff    	js     0x7030
-    70ef:	8b 73 04             	mov    0x4(%ebx),%esi
-    70f2:	85 f6                	test   %esi,%esi
-    70f4:	0f 8e 36 ff ff ff    	jle    0x7030
-    70fa:	31 f6                	xor    %esi,%esi
-    70fc:	89 7d bc             	mov    %edi,-0x44(%ebp)
-    70ff:	eb 0f                	jmp    0x7110
-    7101:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
-    7108:	83 c6 01             	add    $0x1,%esi
-    710b:	3b 73 04             	cmp    0x4(%ebx),%esi
-    710e:	7d 68                	jge    0x7178
-    7110:	8b 43 08             	mov    0x8(%ebx),%eax
-    7113:	8b 55 bc             	mov    -0x44(%ebp),%edx
-    7116:	8b 3c b0             	mov    (%eax,%esi,4),%edi
-    7119:	8d 0c 7f             	lea    (%edi,%edi,2),%ecx
-    711c:	c1 e1 02             	shl    $0x2,%ecx
-    711f:	89 c8                	mov    %ecx,%eax
-    7121:	03 42 1c             	add    0x1c(%edx),%eax
-    7124:	8b 55 b4             	mov    -0x4c(%ebp),%edx
-    7127:	89 4d 90             	mov    %ecx,-0x70(%ebp)
-    712a:	e8 d1 8e ff ff       	call   0x0
-    712f:	8b 4d 90             	mov    -0x70(%ebp),%ecx
-    7132:	85 c0                	test   %eax,%eax
-    7134:	75 d2                	jne    0x7108
-    7136:	8b 55 bc             	mov    -0x44(%ebp),%edx
-    7139:	89 c8                	mov    %ecx,%eax
-    713b:	03 42 18             	add    0x18(%edx),%eax
-    713e:	8b 55 b4             	mov    -0x4c(%ebp),%edx
-    7141:	e8 ba 8e ff ff       	call   0x0
-    7146:	85 c0                	test   %eax,%eax
-    7148:	75 be                	jne    0x7108
-    714a:	8b 4d c8             	mov    -0x38(%ebp),%ecx
-    714d:	89 fa                	mov    %edi,%edx
-    714f:	89 0c 24             	mov    %ecx,(%esp)
-    7152:	8b 45 bc             	mov    -0x44(%ebp),%eax
-    7155:	89 d9                	mov    %ebx,%ecx
-    7157:	e8 94 af ff ff       	call   0x20f0
-    715c:	83 ec 04             	sub    $0x4,%esp
-    715f:	85 c0                	test   %eax,%eax
-    7161:	0f 85 bc fa ff ff    	jne    0x6c23
-    7167:	83 ee 01             	sub    $0x1,%esi
-    716a:	83 c6 01             	add    $0x1,%esi
-    716d:	3b 73 04             	cmp    0x4(%ebx),%esi
-    7170:	7c 9e                	jl     0x7110
-    7172:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
-    7178:	8b 55 c4             	mov    -0x3c(%ebp),%edx
-    717b:	83 45 cc 01          	addl   $0x1,-0x34(%ebp)
-    717f:	8b 4d cc             	mov    -0x34(%ebp),%ecx
-    7182:	8b 7d bc             	mov    -0x44(%ebp),%edi
-    7185:	3b 4a 04             	cmp    0x4(%edx),%ecx
-    7188:	0f 8c 1a fe ff ff    	jl     0x6fa8
-    718e:	e9 b0 fe ff ff       	jmp    0x7043
-    7193:	90                   	nop
-    7194:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    7198:	8b 5d bc             	mov    -0x44(%ebp),%ebx
-    719b:	3b 1e                	cmp    (%esi),%ebx
-    719d:	0f 85 f0 fe ff ff    	jne    0x7093
+    5978:	75 e1                	jne    0x595b
+    597a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
+    5980:	e9 9b f5 ff ff       	jmp    0x4f20
+    5985:	3c fd                	cmp    $0xfd,%al
+    5987:	90                   	nop
+    5988:	0f 87 92 f5 ff ff    	ja     0x4f20
+    598e:	80 fa 83             	cmp    $0x83,%dl
+    5991:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
+    5998:	76 0b                	jbe    0x59a5
+    599a:	bb 06 00 00 00       	mov    $0x6,%ebx
+    599f:	90                   	nop
+    59a0:	e9 37 ff ff ff       	jmp    0x58dc
+    59a5:	3c fc                	cmp    $0xfc,%al
+    59a7:	75 f1                	jne    0x599a
+    59a9:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
+    59b0:	e9 6b f5 ff ff       	jmp    0x4f20
+    59b5:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    59b9:	8d bc 27 00 00 00 00 	lea    0x0(%edi,%eiz,1),%edi
+    59c0:	55                   	push   %ebp
+    59c1:	89 e5                	mov    %esp,%ebp
+    59c3:	57                   	push   %edi
+    59c4:	89 cf                	mov    %ecx,%edi
+    59c6:	56                   	push   %esi
+    59c7:	53                   	push   %ebx
+    59c8:	83 ec 74             	sub    $0x74,%esp
+    59cb:	8b 75 08             	mov    0x8(%ebp),%esi
+    59ce:	89 45 c8             	mov    %eax,-0x38(%ebp)
+    59d1:	8b 40 54             	mov    0x54(%eax),%eax
+    59d4:	89 55 a0             	mov    %edx,-0x60(%ebp)
+    59d7:	8b 55 a0             	mov    -0x60(%ebp),%edx
+    59da:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
+    59e1:	89 45 a8             	mov    %eax,-0x58(%ebp)
+    59e4:	8b 00                	mov    (%eax),%eax
+    59e6:	8b 5a 04             	mov    0x4(%edx),%ebx
+    59e9:	8b 04 c8             	mov    (%eax,%ecx,8),%eax
+    59ec:	8b 4d c8             	mov    -0x38(%ebp),%ecx
+    59ef:	89 45 a4             	mov    %eax,-0x5c(%ebp)
+    59f2:	8b 45 10             	mov    0x10(%ebp),%eax
+    59f5:	03 41 78             	add    0x78(%ecx),%eax
+    59f8:	39 d8                	cmp    %ebx,%eax
+    59fa:	0f 8d 13 05 00 00    	jge    0x5f13
+    5a00:	8b 45 a0             	mov    -0x60(%ebp),%eax
+    5a03:	8b 00                	mov    (%eax),%eax
+    5a05:	85 c0                	test   %eax,%eax
+    5a07:	89 45 c4             	mov    %eax,-0x3c(%ebp)
+    5a0a:	0f 84 0a 03 00 00    	je     0x5d1a
+    5a10:	8b 55 c8             	mov    -0x38(%ebp),%edx
+    5a13:	8b 4d c8             	mov    -0x38(%ebp),%ecx
+    5a16:	8b 45 a0             	mov    -0x60(%ebp),%eax
+    5a19:	8b 52 64             	mov    0x64(%edx),%edx
+    5a1c:	8b 49 28             	mov    0x28(%ecx),%ecx
+    5a1f:	8b 58 08             	mov    0x8(%eax),%ebx
+    5a22:	8b 45 c8             	mov    -0x38(%ebp),%eax
+    5a25:	89 55 9c             	mov    %edx,-0x64(%ebp)
+    5a28:	8b 55 c8             	mov    -0x38(%ebp),%edx
+    5a2b:	89 4d 98             	mov    %ecx,-0x68(%ebp)
+    5a2e:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
+    5a31:	89 5a 64             	mov    %ebx,0x64(%edx)
+    5a34:	89 4a 28             	mov    %ecx,0x28(%edx)
+    5a37:	8b 4a 58             	mov    0x58(%edx),%ecx
+    5a3a:	8b 55 c4             	mov    -0x3c(%ebp),%edx
+    5a3d:	83 ea 01             	sub    $0x1,%edx
+    5a40:	e8 7b d1 ff ff       	call   0x2bc0
+    5a45:	39 75 c4             	cmp    %esi,-0x3c(%ebp)
+    5a48:	89 45 d0             	mov    %eax,-0x30(%ebp)
+    5a4b:	0f 84 fb 02 00 00    	je     0x5d4c
+    5a51:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
+    5a54:	8b 1c 8b             	mov    (%ebx,%ecx,4),%ebx
+    5a57:	85 db                	test   %ebx,%ebx
+    5a59:	0f 84 75 04 00 00    	je     0x5ed4
+    5a5f:	f6 43 34 40          	testb  $0x40,0x34(%ebx)
+    5a63:	0f 85 2d 04 00 00    	jne    0x5e96
+    5a69:	8d 55 e0             	lea    -0x20(%ebp),%edx
+    5a6c:	b9 03 00 00 00       	mov    $0x3,%ecx
+    5a71:	31 c0                	xor    %eax,%eax
+    5a73:	89 d7                	mov    %edx,%edi
+    5a75:	f3 ab                	rep stos %eax,%es:(%edi)
+    5a77:	89 55 bc             	mov    %edx,-0x44(%ebp)
+    5a7a:	f6 43 34 40          	testb  $0x40,0x34(%ebx)
+    5a7e:	0f 85 03 03 00 00    	jne    0x5d87
+    5a84:	8b 7d 10             	mov    0x10(%ebp),%edi
+    5a87:	39 7d c4             	cmp    %edi,-0x3c(%ebp)
+    5a8a:	0f 8d 67 03 00 00    	jge    0x5df7
+    5a90:	8b 45 c8             	mov    -0x38(%ebp),%eax
+    5a93:	8b 48 78             	mov    0x78(%eax),%ecx
+    5a96:	85 c9                	test   %ecx,%ecx
+    5a98:	0f 88 59 03 00 00    	js     0x5df7
+    5a9e:	8b 55 c4             	mov    -0x3c(%ebp),%edx
+    5aa1:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
+    5aa4:	8b 40 64             	mov    0x64(%eax),%eax
+    5aa7:	c7 45 b0 00 00 00 00 	movl   $0x0,-0x50(%ebp)
+    5aae:	8d 14 95 04 00 00 00 	lea    0x4(,%edx,4),%edx
+    5ab5:	89 55 b4             	mov    %edx,-0x4c(%ebp)
+    5ab8:	89 55 b8             	mov    %edx,-0x48(%ebp)
+    5abb:	89 4d ac             	mov    %ecx,-0x54(%ebp)
+    5abe:	66 90                	xchg   %ax,%ax
+    5ac0:	8b 55 b4             	mov    -0x4c(%ebp),%edx
+    5ac3:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
+    5aca:	8b 04 10             	mov    (%eax,%edx,1),%eax
+    5acd:	85 c0                	test   %eax,%eax
+    5acf:	74 16                	je     0x5ae7
+    5ad1:	8d 50 04             	lea    0x4(%eax),%edx
+    5ad4:	8b 45 bc             	mov    -0x44(%ebp),%eax
+    5ad7:	e8 64 bc ff ff       	call   0x1740
+    5adc:	85 c0                	test   %eax,%eax
+    5ade:	89 45 f0             	mov    %eax,-0x10(%ebp)
+    5ae1:	0f 85 9f 03 00 00    	jne    0x5e86
+    5ae7:	85 db                	test   %ebx,%ebx
+    5ae9:	0f 84 69 01 00 00    	je     0x5c58
+    5aef:	8b 4d c8             	mov    -0x38(%ebp),%ecx
+    5af2:	8d 7b 10             	lea    0x10(%ebx),%edi
+    5af5:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
+    5afc:	8b 71 54             	mov    0x54(%ecx),%esi
+    5aff:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
+    5b06:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
+    5b0d:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
+    5b14:	8b 53 14             	mov    0x14(%ebx),%edx
+    5b17:	85 d2                	test   %edx,%edx
+    5b19:	0f 8e c1 02 00 00    	jle    0x5de0
+    5b1f:	31 db                	xor    %ebx,%ebx
+    5b21:	eb 42                	jmp    0x5b65
+    5b23:	90                   	nop
+    5b24:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    5b28:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
+    5b2b:	8b 45 c8             	mov    -0x38(%ebp),%eax
+    5b2e:	e8 4d d1 ff ff       	call   0x2c80
+    5b33:	85 c0                	test   %eax,%eax
+    5b35:	74 22                	je     0x5b59
+    5b37:	8b 45 d0             	mov    -0x30(%ebp),%eax
+    5b3a:	c1 e0 02             	shl    $0x2,%eax
+    5b3d:	89 45 cc             	mov    %eax,-0x34(%ebp)
+    5b40:	8b 46 0c             	mov    0xc(%esi),%eax
+    5b43:	8b 4d cc             	mov    -0x34(%ebp),%ecx
+    5b46:	8b 14 08             	mov    (%eax,%ecx,1),%edx
+    5b49:	8b 45 bc             	mov    -0x44(%ebp),%eax
+    5b4c:	e8 8f bd ff ff       	call   0x18e0
+    5b51:	85 c0                	test   %eax,%eax
+    5b53:	0f 88 1b 03 00 00    	js     0x5e74
+    5b59:	83 c3 01             	add    $0x1,%ebx
+    5b5c:	3b 5f 04             	cmp    0x4(%edi),%ebx
+    5b5f:	0f 8d 7b 02 00 00    	jge    0x5de0
+    5b65:	8b 47 08             	mov    0x8(%edi),%eax
+    5b68:	8b 16                	mov    (%esi),%edx
+    5b6a:	8b 04 98             	mov    (%eax,%ebx,4),%eax
+    5b6d:	89 45 d0             	mov    %eax,-0x30(%ebp)
+    5b70:	c1 e0 03             	shl    $0x3,%eax
+    5b73:	01 c2                	add    %eax,%edx
+    5b75:	89 45 cc             	mov    %eax,-0x34(%ebp)
+    5b78:	f6 42 06 10          	testb  $0x10,0x6(%edx)
+    5b7c:	74 aa                	je     0x5b28
+    5b7e:	8b 45 c4             	mov    -0x3c(%ebp),%eax
+    5b81:	8b 55 d0             	mov    -0x30(%ebp),%edx
+    5b84:	8b 4d c8             	mov    -0x38(%ebp),%ecx
+    5b87:	89 04 24             	mov    %eax,(%esp)
+    5b8a:	89 f0                	mov    %esi,%eax
+    5b8c:	e8 9f f2 ff ff       	call   0x4e30
+    5b91:	83 ec 04             	sub    $0x4,%esp
+    5b94:	83 f8 01             	cmp    $0x1,%eax
+    5b97:	89 c2                	mov    %eax,%edx
+    5b99:	0f 8e 29 02 00 00    	jle    0x5dc8
+    5b9f:	8b 4d d0             	mov    -0x30(%ebp),%ecx
+    5ba2:	03 55 c4             	add    -0x3c(%ebp),%edx
+    5ba5:	8b 45 d0             	mov    -0x30(%ebp),%eax
+    5ba8:	c1 e1 02             	shl    $0x2,%ecx
+    5bab:	89 4d cc             	mov    %ecx,-0x34(%ebp)
+    5bae:	8b 4e 0c             	mov    0xc(%esi),%ecx
+    5bb1:	89 55 d0             	mov    %edx,-0x30(%ebp)
+    5bb4:	c1 e2 02             	shl    $0x2,%edx
+    5bb7:	89 55 c0             	mov    %edx,-0x40(%ebp)
+    5bba:	8b 55 c8             	mov    -0x38(%ebp),%edx
+    5bbd:	8b 0c 81             	mov    (%ecx,%eax,4),%ecx
+    5bc0:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
+    5bc7:	8b 52 64             	mov    0x64(%edx),%edx
+    5bca:	89 4d 8c             	mov    %ecx,-0x74(%ebp)
+    5bcd:	8b 4d d0             	mov    -0x30(%ebp),%ecx
+    5bd0:	8b 14 8a             	mov    (%edx,%ecx,4),%edx
+    5bd3:	85 d2                	test   %edx,%edx
+    5bd5:	74 12                	je     0x5be9
+    5bd7:	83 c2 04             	add    $0x4,%edx
+    5bda:	8d 45 d4             	lea    -0x2c(%ebp),%eax
+    5bdd:	e8 5e bb ff ff       	call   0x1740
+    5be2:	85 c0                	test   %eax,%eax
+    5be4:	89 45 ec             	mov    %eax,-0x14(%ebp)
+    5be7:	75 4f                	jne    0x5c38
+    5be9:	8b 55 8c             	mov    -0x74(%ebp),%edx
+    5bec:	8d 45 d4             	lea    -0x2c(%ebp),%eax
+    5bef:	e8 ec bc ff ff       	call   0x18e0
+    5bf4:	85 c0                	test   %eax,%eax
+    5bf6:	0f 88 78 02 00 00    	js     0x5e74
+    5bfc:	8b 55 c8             	mov    -0x38(%ebp),%edx
+    5bff:	8d 45 ec             	lea    -0x14(%ebp),%eax
+    5c02:	8b 4d c0             	mov    -0x40(%ebp),%ecx
+    5c05:	03 4a 64             	add    0x64(%edx),%ecx
+    5c08:	89 f2                	mov    %esi,%edx
+    5c0a:	89 4d c0             	mov    %ecx,-0x40(%ebp)
+    5c0d:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
+    5c10:	e8 7b ed ff ff       	call   0x4990
+    5c15:	8b 55 c0             	mov    -0x40(%ebp),%edx
+    5c18:	8b 4d c8             	mov    -0x38(%ebp),%ecx
+    5c1b:	89 02                	mov    %eax,(%edx)
+    5c1d:	8b 41 64             	mov    0x64(%ecx),%eax
+    5c20:	8b 55 d0             	mov    -0x30(%ebp),%edx
+    5c23:	8b 04 90             	mov    (%eax,%edx,4),%eax
+    5c26:	85 c0                	test   %eax,%eax
+    5c28:	0f 85 12 ff ff ff    	jne    0x5b40
+    5c2e:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
+    5c32:	0f 84 08 ff ff ff    	je     0x5b40
+    5c38:	8b 45 dc             	mov    -0x24(%ebp),%eax
+    5c3b:	89 04 24             	mov    %eax,(%esp)
+    5c3e:	e8 fc ff ff ff       	call   0x5c3f
+    5c43:	8b 45 ec             	mov    -0x14(%ebp),%eax
+    5c46:	85 c0                	test   %eax,%eax
+    5c48:	89 45 f0             	mov    %eax,-0x10(%ebp)
+    5c4b:	0f 85 35 02 00 00    	jne    0x5e86
+    5c51:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
+    5c58:	8b 7d e4             	mov    -0x1c(%ebp),%edi
+    5c5b:	83 45 c4 01          	addl   $0x1,-0x3c(%ebp)
+    5c5f:	85 ff                	test   %edi,%edi
+    5c61:	74 4b                	je     0x5cae
+    5c63:	8b 7d 14             	mov    0x14(%ebp),%edi
+    5c66:	8b 4d a4             	mov    -0x5c(%ebp),%ecx
+    5c69:	8b 55 bc             	mov    -0x44(%ebp),%edx
+    5c6c:	8b 45 a8             	mov    -0x58(%ebp),%eax
+    5c6f:	89 3c 24             	mov    %edi,(%esp)
+    5c72:	e8 89 be ff ff       	call   0x1b00
+    5c77:	83 ec 04             	sub    $0x4,%esp
+    5c7a:	85 c0                	test   %eax,%eax
+    5c7c:	89 45 f0             	mov    %eax,-0x10(%ebp)
+    5c7f:	0f 85 01 02 00 00    	jne    0x5e86
+    5c85:	8b 45 14             	mov    0x14(%ebp),%eax
+    5c88:	8b 55 a4             	mov    -0x5c(%ebp),%edx
+    5c8b:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
+    5c8e:	89 44 24 04          	mov    %eax,0x4(%esp)
+    5c92:	8b 45 c8             	mov    -0x38(%ebp),%eax
+    5c95:	89 14 24             	mov    %edx,(%esp)
+    5c98:	8b 55 bc             	mov    -0x44(%ebp),%edx
+    5c9b:	e8 30 ef ff ff       	call   0x4bd0
+    5ca0:	83 ec 08             	sub    $0x8,%esp
+    5ca3:	85 c0                	test   %eax,%eax
+    5ca5:	89 45 f0             	mov    %eax,-0x10(%ebp)
+    5ca8:	0f 85 d8 01 00 00    	jne    0x5e86
+    5cae:	8b 7d c8             	mov    -0x38(%ebp),%edi
+    5cb1:	8b 55 ac             	mov    -0x54(%ebp),%edx
+    5cb4:	8b 4f 58             	mov    0x58(%edi),%ecx
+    5cb7:	89 f8                	mov    %edi,%eax
+    5cb9:	e8 02 cf ff ff       	call   0x2bc0
+    5cbe:	8b 4d bc             	mov    -0x44(%ebp),%ecx
+    5cc1:	8b 55 a8             	mov    -0x58(%ebp),%edx
+    5cc4:	89 04 24             	mov    %eax,(%esp)
+    5cc7:	8d 45 f0             	lea    -0x10(%ebp),%eax
+    5cca:	e8 41 e8 ff ff       	call   0x4510
+    5ccf:	83 ec 04             	sub    $0x4,%esp
+    5cd2:	85 c0                	test   %eax,%eax
+    5cd4:	89 c3                	mov    %eax,%ebx
+    5cd6:	0f 84 18 02 00 00    	je     0x5ef4
+    5cdc:	8b 55 c8             	mov    -0x38(%ebp),%edx
+    5cdf:	8b 4d b8             	mov    -0x48(%ebp),%ecx
+    5ce2:	c7 45 b0 00 00 00 00 	movl   $0x0,-0x50(%ebp)
+    5ce9:	8b 42 64             	mov    0x64(%edx),%eax
+    5cec:	89 1c 08             	mov    %ebx,(%eax,%ecx,1)
+    5cef:	8b 7d c4             	mov    -0x3c(%ebp),%edi
+    5cf2:	39 7d 10             	cmp    %edi,0x10(%ebp)
+    5cf5:	0f 8e fc 00 00 00    	jle    0x5df7
+    5cfb:	8b 55 c8             	mov    -0x38(%ebp),%edx
+    5cfe:	8b 4d b0             	mov    -0x50(%ebp),%ecx
+    5d01:	83 45 b4 04          	addl   $0x4,-0x4c(%ebp)
+    5d05:	83 45 b8 04          	addl   $0x4,-0x48(%ebp)
+    5d09:	39 4a 78             	cmp    %ecx,0x78(%edx)
+    5d0c:	0f 8c e5 00 00 00    	jl     0x5df7
+    5d12:	89 7d ac             	mov    %edi,-0x54(%ebp)
+    5d15:	e9 a6 fd ff ff       	jmp    0x5ac0
+    5d1a:	8b 45 c8             	mov    -0x38(%ebp),%eax
+    5d1d:	8b 55 c8             	mov    -0x38(%ebp),%edx
+    5d20:	8b 4d a0             	mov    -0x60(%ebp),%ecx
+    5d23:	8b 40 64             	mov    0x64(%eax),%eax
+    5d26:	8b 52 28             	mov    0x28(%edx),%edx
+    5d29:	89 45 9c             	mov    %eax,-0x64(%ebp)
+    5d2c:	8b 41 08             	mov    0x8(%ecx),%eax
+    5d2f:	89 55 98             	mov    %edx,-0x68(%ebp)
+    5d32:	8b 55 c8             	mov    -0x38(%ebp),%edx
+    5d35:	89 42 64             	mov    %eax,0x64(%edx)
+    5d38:	8b 4a 58             	mov    0x58(%edx),%ecx
+    5d3b:	8b 45 c8             	mov    -0x38(%ebp),%eax
+    5d3e:	89 72 28             	mov    %esi,0x28(%edx)
+    5d41:	8d 56 ff             	lea    -0x1(%esi),%edx
+    5d44:	e8 77 ce ff ff       	call   0x2bc0
+    5d49:	89 45 d0             	mov    %eax,-0x30(%ebp)
+    5d4c:	8d 45 e0             	lea    -0x20(%ebp),%eax
+    5d4f:	89 fa                	mov    %edi,%edx
+    5d51:	89 45 bc             	mov    %eax,-0x44(%ebp)
+    5d54:	e8 f7 ac ff ff       	call   0xa50
+    5d59:	85 c0                	test   %eax,%eax
+    5d5b:	89 45 f0             	mov    %eax,-0x10(%ebp)
+    5d5e:	0f 85 dc 00 00 00    	jne    0x5e40
+    5d64:	8b 55 14             	mov    0x14(%ebp),%edx
+    5d67:	8b 4d a4             	mov    -0x5c(%ebp),%ecx
+    5d6a:	8b 45 a8             	mov    -0x58(%ebp),%eax
+    5d6d:	89 14 24             	mov    %edx,(%esp)
+    5d70:	8b 55 bc             	mov    -0x44(%ebp),%edx
+    5d73:	e8 88 bd ff ff       	call   0x1b00
+    5d78:	89 75 c4             	mov    %esi,-0x3c(%ebp)
+    5d7b:	85 c0                	test   %eax,%eax
+    5d7d:	57                   	push   %edi
+    5d7e:	89 45 f0             	mov    %eax,-0x10(%ebp)
+    5d81:	0f 85 ff 00 00 00    	jne    0x5e86
+    5d87:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
+    5d8b:	0f 85 b9 00 00 00    	jne    0x5e4a
+    5d91:	8b 7d d0             	mov    -0x30(%ebp),%edi
+    5d94:	8d 45 f0             	lea    -0x10(%ebp),%eax
+    5d97:	8b 4d bc             	mov    -0x44(%ebp),%ecx
+    5d9a:	8b 55 a8             	mov    -0x58(%ebp),%edx
+    5d9d:	89 3c 24             	mov    %edi,(%esp)
+    5da0:	e8 6b e7 ff ff       	call   0x4510
+    5da5:	85 c0                	test   %eax,%eax
+    5da7:	53                   	push   %ebx
+    5da8:	89 c3                	mov    %eax,%ebx
+    5daa:	0f 84 aa 01 00 00    	je     0x5f5a
+    5db0:	8b 55 c8             	mov    -0x38(%ebp),%edx
+    5db3:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
+    5db6:	8b 42 64             	mov    0x64(%edx),%eax
+    5db9:	89 1c 88             	mov    %ebx,(%eax,%ecx,4)
+    5dbc:	e9 c3 fc ff ff       	jmp    0x5a84
+    5dc1:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
+    5dc8:	85 c0                	test   %eax,%eax
+    5dca:	0f 84 1a 01 00 00    	je     0x5eea
+    5dd0:	8b 4d d0             	mov    -0x30(%ebp),%ecx
+    5dd3:	c1 e1 02             	shl    $0x2,%ecx
+    5dd6:	89 4d cc             	mov    %ecx,-0x34(%ebp)
+    5dd9:	e9 62 fd ff ff       	jmp    0x5b40
+    5dde:	66 90                	xchg   %ax,%ax
+    5de0:	8b 45 dc             	mov    -0x24(%ebp),%eax
+    5de3:	89 04 24             	mov    %eax,(%esp)
+    5de6:	e8 fc ff ff ff       	call   0x5de7
+    5deb:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
+    5df2:	e9 61 fe ff ff       	jmp    0x5c58
+    5df7:	8b 45 e8             	mov    -0x18(%ebp),%eax
+    5dfa:	89 04 24             	mov    %eax,(%esp)
+    5dfd:	e8 fc ff ff ff       	call   0x5dfe
+    5e02:	8b 7d c8             	mov    -0x38(%ebp),%edi
+    5e05:	8b 55 10             	mov    0x10(%ebp),%edx
+    5e08:	8b 47 64             	mov    0x64(%edi),%eax
+    5e0b:	8b 04 90             	mov    (%eax,%edx,4),%eax
+    5e0e:	85 c0                	test   %eax,%eax
+    5e10:	0f 84 9d 00 00 00    	je     0x5eb3
+    5e16:	8b 7d c4             	mov    -0x3c(%ebp),%edi
+    5e19:	83 c0 04             	add    $0x4,%eax
+    5e1c:	8b 4d a0             	mov    -0x60(%ebp),%ecx
+    5e1f:	8b 55 c8             	mov    -0x38(%ebp),%edx
+    5e22:	89 39                	mov    %edi,(%ecx)
+    5e24:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
+    5e27:	8b 7d 98             	mov    -0x68(%ebp),%edi
+    5e2a:	89 4a 64             	mov    %ecx,0x64(%edx)
+    5e2d:	89 7a 28             	mov    %edi,0x28(%edx)
+    5e30:	8b 55 0c             	mov    0xc(%ebp),%edx
+    5e33:	e8 c8 a1 ff ff       	call   0x0
+    5e38:	85 c0                	test   %eax,%eax
+    5e3a:	0f 94 c0             	sete   %al
+    5e3d:	0f b6 c0             	movzbl %al,%eax
+    5e40:	8d 65 f4             	lea    -0xc(%ebp),%esp
+    5e43:	5b                   	pop    %ebx
+    5e44:	5e                   	pop    %esi
+    5e45:	5f                   	pop    %edi
+    5e46:	5d                   	pop    %ebp
+    5e47:	c2 10 00             	ret    $0x10
+    5e4a:	8b 55 14             	mov    0x14(%ebp),%edx
+    5e4d:	8b 4d a4             	mov    -0x5c(%ebp),%ecx
+    5e50:	8b 45 c8             	mov    -0x38(%ebp),%eax
+    5e53:	89 54 24 04          	mov    %edx,0x4(%esp)
+    5e57:	8b 55 bc             	mov    -0x44(%ebp),%edx
+    5e5a:	89 0c 24             	mov    %ecx,(%esp)
+    5e5d:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
+    5e60:	e8 6b ed ff ff       	call   0x4bd0
+    5e65:	85 c0                	test   %eax,%eax
+    5e67:	56                   	push   %esi
+    5e68:	56                   	push   %esi
+    5e69:	89 45 f0             	mov    %eax,-0x10(%ebp)
+    5e6c:	0f 84 1f ff ff ff    	je     0x5d91
+    5e72:	eb 12                	jmp    0x5e86
+    5e74:	8b 45 dc             	mov    -0x24(%ebp),%eax
+    5e77:	89 04 24             	mov    %eax,(%esp)
+    5e7a:	e8 fc ff ff ff       	call   0x5e7b
+    5e7f:	c7 45 f0 0c 00 00 00 	movl   $0xc,-0x10(%ebp)
+    5e86:	8b 45 e8             	mov    -0x18(%ebp),%eax
+    5e89:	89 04 24             	mov    %eax,(%esp)
+    5e8c:	e8 fc ff ff ff       	call   0x5e8d
+    5e91:	8b 45 f0             	mov    -0x10(%ebp),%eax
+    5e94:	eb aa                	jmp    0x5e40
+    5e96:	8d 7d e0             	lea    -0x20(%ebp),%edi
+    5e99:	8d 53 04             	lea    0x4(%ebx),%edx
+    5e9c:	89 f8                	mov    %edi,%eax
+    5e9e:	89 7d bc             	mov    %edi,-0x44(%ebp)
+    5ea1:	e8 da bf ff ff       	call   0x1e80
+    5ea6:	85 c0                	test   %eax,%eax
+    5ea8:	89 45 f0             	mov    %eax,-0x10(%ebp)
+    5eab:	0f 84 c9 fb ff ff    	je     0x5a7a
+    5eb1:	eb 8d                	jmp    0x5e40
+    5eb3:	8b 45 a0             	mov    -0x60(%ebp),%eax
+    5eb6:	8b 55 c4             	mov    -0x3c(%ebp),%edx
+    5eb9:	8b 4d c8             	mov    -0x38(%ebp),%ecx
+    5ebc:	8b 7d 9c             	mov    -0x64(%ebp),%edi
+    5ebf:	89 10                	mov    %edx,(%eax)
+    5ec1:	8b 45 98             	mov    -0x68(%ebp),%eax
+    5ec4:	89 79 64             	mov    %edi,0x64(%ecx)
+    5ec7:	89 41 28             	mov    %eax,0x28(%ecx)
+    5eca:	b8 01 00 00 00       	mov    $0x1,%eax
+    5ecf:	e9 6c ff ff ff       	jmp    0x5e40
+    5ed4:	8d 45 e0             	lea    -0x20(%ebp),%eax
+    5ed7:	b9 03 00 00 00       	mov    $0x3,%ecx
+    5edc:	89 c7                	mov    %eax,%edi
+    5ede:	89 45 bc             	mov    %eax,-0x44(%ebp)
+    5ee1:	89 d8                	mov    %ebx,%eax
+    5ee3:	f3 ab                	rep stos %eax,%es:(%edi)
+    5ee5:	e9 9a fb ff ff       	jmp    0x5a84
+    5eea:	8b 55 cc             	mov    -0x34(%ebp),%edx
+    5eed:	03 16                	add    (%esi),%edx
+    5eef:	e9 34 fc ff ff       	jmp    0x5b28
+    5ef4:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
+    5ef8:	75 8c                	jne    0x5e86
+    5efa:	8b 4d c8             	mov    -0x38(%ebp),%ecx
+    5efd:	8b 7d b8             	mov    -0x48(%ebp),%edi
+    5f00:	83 45 b0 01          	addl   $0x1,-0x50(%ebp)
+    5f04:	8b 41 64             	mov    0x64(%ecx),%eax
+    5f07:	c7 04 38 00 00 00 00 	movl   $0x0,(%eax,%edi,1)
+    5f0e:	e9 dc fd ff ff       	jmp    0x5cef
+    5f13:	8d 44 03 01          	lea    0x1(%ebx,%eax,1),%eax
+    5f17:	89 42 04             	mov    %eax,0x4(%edx)
+    5f1a:	c1 e0 02             	shl    $0x2,%eax
+    5f1d:	89 44 24 04          	mov    %eax,0x4(%esp)
+    5f21:	8b 42 08             	mov    0x8(%edx),%eax
+    5f24:	89 04 24             	mov    %eax,(%esp)
+    5f27:	e8 fc ff ff ff       	call   0x5f28
+    5f2c:	85 c0                	test   %eax,%eax
+    5f2e:	74 3d                	je     0x5f6d
+    5f30:	8b 55 a0             	mov    -0x60(%ebp),%edx
+    5f33:	89 42 08             	mov    %eax,0x8(%edx)
+    5f36:	8b 52 04             	mov    0x4(%edx),%edx
+    5f39:	8d 04 98             	lea    (%eax,%ebx,4),%eax
+    5f3c:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
+    5f43:	00 
+    5f44:	89 04 24             	mov    %eax,(%esp)
+    5f47:	29 da                	sub    %ebx,%edx
+    5f49:	c1 e2 02             	shl    $0x2,%edx
+    5f4c:	89 54 24 08          	mov    %edx,0x8(%esp)
+    5f50:	e8 fc ff ff ff       	call   0x5f51
+    5f55:	e9 a6 fa ff ff       	jmp    0x5a00
+    5f5a:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
+    5f5e:	0f 84 4c fe ff ff    	je     0x5db0
+    5f64:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    5f68:	e9 19 ff ff ff       	jmp    0x5e86
+    5f6d:	8b 4d a0             	mov    -0x60(%ebp),%ecx
+    5f70:	b0 0c                	mov    $0xc,%al
+    5f72:	89 59 04             	mov    %ebx,0x4(%ecx)
+    5f75:	e9 c6 fe ff ff       	jmp    0x5e40
+    5f7a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
+    5f80:	55                   	push   %ebp
+    5f81:	89 e5                	mov    %esp,%ebp
+    5f83:	57                   	push   %edi
+    5f84:	56                   	push   %esi
+    5f85:	89 ce                	mov    %ecx,%esi
+    5f87:	53                   	push   %ebx
+    5f88:	89 c3                	mov    %eax,%ebx
+    5f8a:	83 ec 28             	sub    $0x28,%esp
+    5f8d:	8b 7d 0c             	mov    0xc(%ebp),%edi
+    5f90:	89 55 ec             	mov    %edx,-0x14(%ebp)
+    5f93:	8d 51 08             	lea    0x8(%ecx),%edx
+    5f96:	c7 44 24 0c 08 00 00 	movl   $0x8,0xc(%esp)
+    5f9d:	00 
+    5f9e:	89 7c 24 08          	mov    %edi,0x8(%esp)
+    5fa2:	8b 45 08             	mov    0x8(%ebp),%eax
+    5fa5:	89 44 24 04          	mov    %eax,0x4(%esp)
+    5fa9:	8b 41 04             	mov    0x4(%ecx),%eax
+    5fac:	89 04 24             	mov    %eax,(%esp)
+    5faf:	8b 09                	mov    (%ecx),%ecx
+    5fb1:	89 d8                	mov    %ebx,%eax
+    5fb3:	e8 08 fa ff ff       	call   0x59c0
+    5fb8:	83 ec 10             	sub    $0x10,%esp
+    5fbb:	85 c0                	test   %eax,%eax
+    5fbd:	74 11                	je     0x5fd0
+    5fbf:	8d 65 f4             	lea    -0xc(%ebp),%esp
+    5fc2:	5b                   	pop    %ebx
+    5fc3:	5e                   	pop    %esi
+    5fc4:	5f                   	pop    %edi
+    5fc5:	5d                   	pop    %ebp
+    5fc6:	c2 08 00             	ret    $0x8
+    5fc9:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
+    5fd0:	8b 56 04             	mov    0x4(%esi),%edx
+    5fd3:	8b 4d ec             	mov    -0x14(%ebp),%ecx
+    5fd6:	8b 43 70             	mov    0x70(%ebx),%eax
+    5fd9:	89 55 e8             	mov    %edx,-0x18(%ebp)
+    5fdc:	8b 53 6c             	mov    0x6c(%ebx),%edx
+    5fdf:	8b 09                	mov    (%ecx),%ecx
+    5fe1:	39 c2                	cmp    %eax,%edx
+    5fe3:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
+    5fe6:	0f 8d ac 00 00 00    	jge    0x6098
+    5fec:	85 d2                	test   %edx,%edx
+    5fee:	0f 8e fa 00 00 00    	jle    0x60ee
+    5ff4:	8b 43 74             	mov    0x74(%ebx),%eax
+    5ff7:	8d 4c 92 fb          	lea    -0x5(%edx,%edx,4),%ecx
+    5ffb:	8d 0c 88             	lea    (%eax,%ecx,4),%ecx
+    5ffe:	3b 79 04             	cmp    0x4(%ecx),%edi
+    6001:	0f 84 f1 00 00 00    	je     0x60f8
+    6007:	8b 4d 08             	mov    0x8(%ebp),%ecx
+    600a:	8d 14 92             	lea    (%edx,%edx,4),%edx
+    600d:	89 0c 90             	mov    %ecx,(%eax,%edx,4)
+    6010:	8b 53 6c             	mov    0x6c(%ebx),%edx
+    6013:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
+    6016:	8d 14 92             	lea    (%edx,%edx,4),%edx
+    6019:	89 7c 90 04          	mov    %edi,0x4(%eax,%edx,4)
+    601d:	8b 53 6c             	mov    0x6c(%ebx),%edx
+    6020:	8d 14 92             	lea    (%edx,%edx,4),%edx
+    6023:	89 4c 90 08          	mov    %ecx,0x8(%eax,%edx,4)
+    6027:	8b 53 6c             	mov    0x6c(%ebx),%edx
+    602a:	8b 4d e8             	mov    -0x18(%ebp),%ecx
+    602d:	8d 14 92             	lea    (%edx,%edx,4),%edx
+    6030:	89 4c 90 0c          	mov    %ecx,0xc(%eax,%edx,4)
+    6034:	8b 53 6c             	mov    0x6c(%ebx),%edx
+    6037:	89 55 dc             	mov    %edx,-0x24(%ebp)
+    603a:	8b 55 e4             	mov    -0x1c(%ebp),%edx
+    603d:	39 d1                	cmp    %edx,%ecx
+    603f:	8b 55 dc             	mov    -0x24(%ebp),%edx
+    6042:	0f 95 c1             	setne  %cl
+    6045:	0f b6 c9             	movzbl %cl,%ecx
+    6048:	83 e9 01             	sub    $0x1,%ecx
+    604b:	66 89 4d f2          	mov    %cx,-0xe(%ebp)
+    604f:	8d 0c 92             	lea    (%edx,%edx,4),%ecx
+    6052:	0f b7 55 f2          	movzwl -0xe(%ebp),%edx
+    6056:	c1 e1 02             	shl    $0x2,%ecx
+    6059:	c6 44 08 10 00       	movb   $0x0,0x10(%eax,%ecx,1)
+    605e:	66 89 54 08 12       	mov    %dx,0x12(%eax,%ecx,1)
+    6063:	8b 55 dc             	mov    -0x24(%ebp),%edx
+    6066:	8b 45 e8             	mov    -0x18(%ebp),%eax
+    6069:	2b 45 e4             	sub    -0x1c(%ebp),%eax
+    606c:	83 c2 01             	add    $0x1,%edx
+    606f:	39 43 78             	cmp    %eax,0x78(%ebx)
+    6072:	89 53 6c             	mov    %edx,0x6c(%ebx)
+    6075:	7d 03                	jge    0x607a
+    6077:	89 43 78             	mov    %eax,0x78(%ebx)
+    607a:	8b 56 04             	mov    0x4(%esi),%edx
+    607d:	89 d8                	mov    %ebx,%eax
+    607f:	8b 4d ec             	mov    -0x14(%ebp),%ecx
+    6082:	01 fa                	add    %edi,%edx
+    6084:	2b 11                	sub    (%ecx),%edx
+    6086:	e8 f5 e3 ff ff       	call   0x4480
+    608b:	8d 65 f4             	lea    -0xc(%ebp),%esp
+    608e:	5b                   	pop    %ebx
+    608f:	5e                   	pop    %esi
+    6090:	5f                   	pop    %edi
+    6091:	5d                   	pop    %ebp
+    6092:	c2 08 00             	ret    $0x8
+    6095:	8d 76 00             	lea    0x0(%esi),%esi
+    6098:	8d 04 80             	lea    (%eax,%eax,4),%eax
+    609b:	c1 e0 03             	shl    $0x3,%eax
+    609e:	89 44 24 04          	mov    %eax,0x4(%esp)
+    60a2:	8b 43 74             	mov    0x74(%ebx),%eax
+    60a5:	89 04 24             	mov    %eax,(%esp)
+    60a8:	e8 fc ff ff ff       	call   0x60a9
+    60ad:	85 c0                	test   %eax,%eax
+    60af:	89 c2                	mov    %eax,%edx
+    60b1:	74 54                	je     0x6107
+    60b3:	89 43 74             	mov    %eax,0x74(%ebx)
+    60b6:	8b 43 70             	mov    0x70(%ebx),%eax
+    60b9:	8d 04 80             	lea    (%eax,%eax,4),%eax
+    60bc:	8d 0c 85 00 00 00 00 	lea    0x0(,%eax,4),%ecx
+    60c3:	8b 43 6c             	mov    0x6c(%ebx),%eax
+    60c6:	89 4c 24 08          	mov    %ecx,0x8(%esp)
+    60ca:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
+    60d1:	00 
+    60d2:	8d 04 80             	lea    (%eax,%eax,4),%eax
+    60d5:	8d 04 82             	lea    (%edx,%eax,4),%eax
+    60d8:	89 04 24             	mov    %eax,(%esp)
+    60db:	e8 fc ff ff ff       	call   0x60dc
+    60e0:	8b 53 6c             	mov    0x6c(%ebx),%edx
+    60e3:	d1 63 70             	shll   0x70(%ebx)
+    60e6:	85 d2                	test   %edx,%edx
+    60e8:	0f 8f 06 ff ff ff    	jg     0x5ff4
+    60ee:	8b 43 74             	mov    0x74(%ebx),%eax
+    60f1:	e9 11 ff ff ff       	jmp    0x6007
+    60f6:	66 90                	xchg   %ax,%ax
+    60f8:	c6 41 10 01          	movb   $0x1,0x10(%ecx)
+    60fc:	8b 43 74             	mov    0x74(%ebx),%eax
+    60ff:	8b 53 6c             	mov    0x6c(%ebx),%edx
+    6102:	e9 00 ff ff ff       	jmp    0x6007
+    6107:	8b 43 74             	mov    0x74(%ebx),%eax
+    610a:	89 04 24             	mov    %eax,(%esp)
+    610d:	e8 fc ff ff ff       	call   0x610e
+    6112:	b8 0c 00 00 00       	mov    $0xc,%eax
+    6117:	e9 a3 fe ff ff       	jmp    0x5fbf
+    611c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    6120:	55                   	push   %ebp
+    6121:	89 e5                	mov    %esp,%ebp
+    6123:	57                   	push   %edi
+    6124:	56                   	push   %esi
+    6125:	53                   	push   %ebx
+    6126:	83 ec 70             	sub    $0x70,%esp
+    6129:	89 45 d8             	mov    %eax,-0x28(%ebp)
+    612c:	8b 40 54             	mov    0x54(%eax),%eax
+    612f:	89 55 a4             	mov    %edx,-0x5c(%ebp)
+    6132:	8b 55 d8             	mov    -0x28(%ebp),%edx
+    6135:	8b 4d a4             	mov    -0x5c(%ebp),%ecx
+    6138:	89 45 a8             	mov    %eax,-0x58(%ebp)
+    613b:	8b 52 28             	mov    0x28(%edx),%edx
+    613e:	83 79 04 00          	cmpl   $0x0,0x4(%ecx)
+    6142:	89 55 bc             	mov    %edx,-0x44(%ebp)
+    6145:	0f 8e ab 05 00 00    	jle    0x66f6
+    614b:	c1 e2 02             	shl    $0x2,%edx
+    614e:	c7 45 ac 00 00 00 00 	movl   $0x0,-0x54(%ebp)
+    6155:	89 55 a0             	mov    %edx,-0x60(%ebp)
+    6158:	eb 13                	jmp    0x616d
+    615a:	8b 4d a4             	mov    -0x5c(%ebp),%ecx
+    615d:	83 45 ac 01          	addl   $0x1,-0x54(%ebp)
+    6161:	8b 75 ac             	mov    -0x54(%ebp),%esi
+    6164:	39 71 04             	cmp    %esi,0x4(%ecx)
+    6167:	0f 8e 89 05 00 00    	jle    0x66f6
+    616d:	8b 75 a4             	mov    -0x5c(%ebp),%esi
+    6170:	8b 55 ac             	mov    -0x54(%ebp),%edx
+    6173:	8b 4d a8             	mov    -0x58(%ebp),%ecx
+    6176:	8b 46 08             	mov    0x8(%esi),%eax
+    6179:	8b 04 90             	mov    (%eax,%edx,4),%eax
+    617c:	89 45 b8             	mov    %eax,-0x48(%ebp)
+    617f:	c1 e0 03             	shl    $0x3,%eax
+    6182:	03 01                	add    (%ecx),%eax
+    6184:	80 78 04 04          	cmpb   $0x4,0x4(%eax)
+    6188:	75 d0                	jne    0x615a
+    618a:	8b 58 04             	mov    0x4(%eax),%ebx
+    618d:	f7 c3 00 ff 03 00    	test   $0x3ff00,%ebx
+    6193:	74 41                	je     0x61d6
+    6195:	8b 75 d8             	mov    -0x28(%ebp),%esi
+    6198:	8b 55 bc             	mov    -0x44(%ebp),%edx
+    619b:	8b 4e 58             	mov    0x58(%esi),%ecx
+    619e:	89 f0                	mov    %esi,%eax
+    61a0:	e8 1b ca ff ff       	call   0x2bc0
+    61a5:	89 da                	mov    %ebx,%edx
+    61a7:	c1 ea 08             	shr    $0x8,%edx
+    61aa:	81 e2 ff 03 00 00    	and    $0x3ff,%edx
+    61b0:	f6 c2 04             	test   $0x4,%dl
+    61b3:	74 04                	je     0x61b9
+    61b5:	a8 01                	test   $0x1,%al
+    61b7:	74 a1                	je     0x615a
+    61b9:	f6 c2 08             	test   $0x8,%dl
+    61bc:	74 04                	je     0x61c2
+    61be:	a8 01                	test   $0x1,%al
+    61c0:	75 98                	jne    0x615a
+    61c2:	f6 c2 20             	test   $0x20,%dl
+    61c5:	74 04                	je     0x61cb
+    61c7:	a8 02                	test   $0x2,%al
+    61c9:	74 8f                	je     0x615a
+    61cb:	84 d2                	test   %dl,%dl
+    61cd:	8d 76 00             	lea    0x0(%esi),%esi
+    61d0:	79 04                	jns    0x61d6
+    61d2:	a8 08                	test   $0x8,%al
+    61d4:	74 84                	je     0x615a
+    61d6:	8b 55 d8             	mov    -0x28(%ebp),%edx
+    61d9:	8b 45 d8             	mov    -0x28(%ebp),%eax
+    61dc:	8b 4d d8             	mov    -0x28(%ebp),%ecx
+    61df:	8b 52 54             	mov    0x54(%edx),%edx
+    61e2:	8b 40 6c             	mov    0x6c(%eax),%eax
+    61e5:	8b 59 04             	mov    0x4(%ecx),%ebx
+    61e8:	89 55 b4             	mov    %edx,-0x4c(%ebp)
+    61eb:	8b 55 bc             	mov    -0x44(%ebp),%edx
+    61ee:	89 45 9c             	mov    %eax,-0x64(%ebp)
+    61f1:	89 c8                	mov    %ecx,%eax
+    61f3:	e8 e8 a2 ff ff       	call   0x4e0
+    61f8:	83 f8 ff             	cmp    $0xffffffff,%eax
+    61fb:	74 1f                	je     0x621c
+    61fd:	8b 75 d8             	mov    -0x28(%ebp),%esi
+    6200:	6b c0 14             	imul   $0x14,%eax,%eax
+    6203:	8b 55 b8             	mov    -0x48(%ebp),%edx
+    6206:	03 46 74             	add    0x74(%esi),%eax
+    6209:	eb 03                	jmp    0x620e
+    620b:	83 c0 14             	add    $0x14,%eax
+    620e:	3b 10                	cmp    (%eax),%edx
+    6210:	0f 84 a0 02 00 00    	je     0x64b6
+    6216:	80 78 10 00          	cmpb   $0x0,0x10(%eax)
+    621a:	75 ef                	jne    0x620b
+    621c:	8b 45 b4             	mov    -0x4c(%ebp),%eax
+    621f:	8b 4d b8             	mov    -0x48(%ebp),%ecx
+    6222:	8b 75 d8             	mov    -0x28(%ebp),%esi
+    6225:	8b 10                	mov    (%eax),%edx
+    6227:	83 7e 7c 00          	cmpl   $0x0,0x7c(%esi)
+    622b:	8b 0c ca             	mov    (%edx,%ecx,8),%ecx
+    622e:	89 4d c0             	mov    %ecx,-0x40(%ebp)
+    6231:	0f 8e 7f 02 00 00    	jle    0x64b6
+    6237:	89 5d cc             	mov    %ebx,-0x34(%ebp)
+    623a:	c7 45 b0 00 00 00 00 	movl   $0x0,-0x50(%ebp)
+    6241:	eb 1d                	jmp    0x6260
+    6243:	90                   	nop
+    6244:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    6248:	8b 55 d8             	mov    -0x28(%ebp),%edx
+    624b:	83 45 b0 01          	addl   $0x1,-0x50(%ebp)
+    624f:	8b 4d b0             	mov    -0x50(%ebp),%ecx
+    6252:	3b 4a 7c             	cmp    0x7c(%edx),%ecx
+    6255:	0f 8d 5b 02 00 00    	jge    0x64b6
+    625b:	8b 75 b4             	mov    -0x4c(%ebp),%esi
+    625e:	8b 16                	mov    (%esi),%edx
+    6260:	8b 4d d8             	mov    -0x28(%ebp),%ecx
+    6263:	8b 75 b0             	mov    -0x50(%ebp),%esi
+    6266:	8b 81 84 00 00 00    	mov    0x84(%ecx),%eax
+    626c:	8b 04 b0             	mov    (%eax,%esi,4),%eax
+    626f:	8b 75 c0             	mov    -0x40(%ebp),%esi
+    6272:	89 45 dc             	mov    %eax,-0x24(%ebp)
+    6275:	89 c1                	mov    %eax,%ecx
+    6277:	8b 40 04             	mov    0x4(%eax),%eax
+    627a:	3b 34 c2             	cmp    (%edx,%eax,8),%esi
+    627d:	75 c9                	jne    0x6248
+    627f:	8b 01                	mov    (%ecx),%eax
+    6281:	8b 49 10             	mov    0x10(%ecx),%ecx
+    6284:	89 45 e0             	mov    %eax,-0x20(%ebp)
+    6287:	85 c9                	test   %ecx,%ecx
+    6289:	0f 8e d5 03 00 00    	jle    0x6664
+    628f:	8b 55 bc             	mov    -0x44(%ebp),%edx
+    6292:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
+    6299:	89 55 d4             	mov    %edx,-0x2c(%ebp)
+    629c:	eb 76                	jmp    0x6314
+    629e:	66 90                	xchg   %ax,%ax
+    62a0:	8b 45 d4             	mov    -0x2c(%ebp),%eax
+    62a3:	8b 55 d8             	mov    -0x28(%ebp),%edx
+    62a6:	01 d8                	add    %ebx,%eax
+    62a8:	3b 42 1c             	cmp    0x1c(%edx),%eax
+    62ab:	89 45 c4             	mov    %eax,-0x3c(%ebp)
+    62ae:	0f 8f 19 04 00 00    	jg     0x66cd
+    62b4:	8b 75 cc             	mov    -0x34(%ebp),%esi
+    62b7:	89 d9                	mov    %ebx,%ecx
+    62b9:	8b 7d cc             	mov    -0x34(%ebp),%edi
+    62bc:	03 75 d4             	add    -0x2c(%ebp),%esi
+    62bf:	03 7d e0             	add    -0x20(%ebp),%edi
+    62c2:	39 db                	cmp    %ebx,%ebx
+    62c4:	f3 a6                	repz cmpsb %es:(%edi),%ds:(%esi)
+    62c6:	75 6e                	jne    0x6336
+    62c8:	8b 75 c4             	mov    -0x3c(%ebp),%esi
+    62cb:	89 75 d4             	mov    %esi,-0x2c(%ebp)
+    62ce:	8b 45 bc             	mov    -0x44(%ebp),%eax
+    62d1:	8b 55 b8             	mov    -0x48(%ebp),%edx
+    62d4:	8b 4d c8             	mov    -0x38(%ebp),%ecx
+    62d7:	89 44 24 04          	mov    %eax,0x4(%esp)
+    62db:	8b 45 d8             	mov    -0x28(%ebp),%eax
+    62de:	89 14 24             	mov    %edx,(%esp)
+    62e1:	8b 55 dc             	mov    -0x24(%ebp),%edx
+    62e4:	e8 97 fc ff ff       	call   0x5f80
+    62e9:	8b 4d d8             	mov    -0x28(%ebp),%ecx
+    62ec:	8b 51 04             	mov    0x4(%ecx),%edx
+    62ef:	83 ec 08             	sub    $0x8,%esp
+    62f2:	83 f8 01             	cmp    $0x1,%eax
+    62f5:	74 08                	je     0x62ff
+    62f7:	85 c0                	test   %eax,%eax
+    62f9:	0f 85 5d 03 00 00    	jne    0x665c
+    62ff:	8b 75 dc             	mov    -0x24(%ebp),%esi
+    6302:	83 45 d0 01          	addl   $0x1,-0x30(%ebp)
+    6306:	8b 45 d0             	mov    -0x30(%ebp),%eax
+    6309:	01 5d e0             	add    %ebx,-0x20(%ebp)
+    630c:	3b 46 10             	cmp    0x10(%esi),%eax
+    630f:	89 55 cc             	mov    %edx,-0x34(%ebp)
+    6312:	7d 31                	jge    0x6345
+    6314:	8b 4d dc             	mov    -0x24(%ebp),%ecx
+    6317:	8b 75 d0             	mov    -0x30(%ebp),%esi
+    631a:	8b 41 14             	mov    0x14(%ecx),%eax
+    631d:	8b 04 b0             	mov    (%eax,%esi,4),%eax
+    6320:	8b 58 04             	mov    0x4(%eax),%ebx
+    6323:	2b 5d e0             	sub    -0x20(%ebp),%ebx
+    6326:	89 45 c8             	mov    %eax,-0x38(%ebp)
+    6329:	85 db                	test   %ebx,%ebx
+    632b:	0f 8f 6f ff ff ff    	jg     0x62a0
+    6331:	01 5d d4             	add    %ebx,-0x2c(%ebp)
+    6334:	eb 98                	jmp    0x62ce
+    6336:	8b 55 dc             	mov    -0x24(%ebp),%edx
+    6339:	8b 4d d0             	mov    -0x30(%ebp),%ecx
+    633c:	3b 4a 10             	cmp    0x10(%edx),%ecx
+    633f:	0f 8c 03 ff ff ff    	jl     0x6248
+    6345:	31 c0                	xor    %eax,%eax
+    6347:	83 7d d0 00          	cmpl   $0x0,-0x30(%ebp)
+    634b:	0f 9f c0             	setg   %al
+    634e:	01 45 e0             	add    %eax,-0x20(%ebp)
+    6351:	8b 75 e0             	mov    -0x20(%ebp),%esi
+    6354:	39 75 bc             	cmp    %esi,-0x44(%ebp)
+    6357:	0f 8c eb fe ff ff    	jl     0x6248
+    635d:	8d 76 00             	lea    0x0(%esi),%esi
+    6360:	8b 55 dc             	mov    -0x24(%ebp),%edx
+    6363:	8b 45 e0             	mov    -0x20(%ebp),%eax
+    6366:	2b 02                	sub    (%edx),%eax
+    6368:	85 c0                	test   %eax,%eax
+    636a:	7e 2c                	jle    0x6398
+    636c:	8b 4d d8             	mov    -0x28(%ebp),%ecx
+    636f:	8b 75 d4             	mov    -0x2c(%ebp),%esi
+    6372:	39 71 1c             	cmp    %esi,0x1c(%ecx)
+    6375:	0f 8e b5 03 00 00    	jle    0x6730
+    637b:	8b 4d cc             	mov    -0x34(%ebp),%ecx
+    637e:	8b 55 d4             	mov    -0x2c(%ebp),%edx
+    6381:	8b 75 e0             	mov    -0x20(%ebp),%esi
+    6384:	0f b6 04 11          	movzbl (%ecx,%edx,1),%eax
+    6388:	3a 44 31 ff          	cmp    -0x1(%ecx,%esi,1),%al
+    638c:	0f 85 b6 fe ff ff    	jne    0x6248
+    6392:	83 c2 01             	add    $0x1,%edx
+    6395:	89 55 d4             	mov    %edx,-0x2c(%ebp)
+    6398:	8b 55 d8             	mov    -0x28(%ebp),%edx
+    639b:	8b 4d e0             	mov    -0x20(%ebp),%ecx
+    639e:	8b 42 64             	mov    0x64(%edx),%eax
+    63a1:	8b 04 88             	mov    (%eax,%ecx,4),%eax
+    63a4:	85 c0                	test   %eax,%eax
+    63a6:	0f 84 e7 00 00 00    	je     0x6493
+    63ac:	8b 48 08             	mov    0x8(%eax),%ecx
+    63af:	85 c9                	test   %ecx,%ecx
+    63b1:	0f 8e dc 00 00 00    	jle    0x6493
+    63b7:	8b 78 0c             	mov    0xc(%eax),%edi
+    63ba:	8b 45 b4             	mov    -0x4c(%ebp),%eax
+    63bd:	89 4d d0             	mov    %ecx,-0x30(%ebp)
+    63c0:	8b 30                	mov    (%eax),%esi
+    63c2:	31 c0                	xor    %eax,%eax
+    63c4:	eb 0e                	jmp    0x63d4
+    63c6:	66 90                	xchg   %ax,%ax
+    63c8:	83 c0 01             	add    $0x1,%eax
+    63cb:	39 45 d0             	cmp    %eax,-0x30(%ebp)
+    63ce:	0f 8e bf 00 00 00    	jle    0x6493
+    63d4:	8b 1c 87             	mov    (%edi,%eax,4),%ebx
+    63d7:	8d 14 de             	lea    (%esi,%ebx,8),%edx
+    63da:	80 7a 04 09          	cmpb   $0x9,0x4(%edx)
+    63de:	75 e8                	jne    0x63c8
+    63e0:	8b 4d c0             	mov    -0x40(%ebp),%ecx
+    63e3:	3b 0a                	cmp    (%edx),%ecx
+    63e5:	75 e1                	jne    0x63c8
+    63e7:	83 fb ff             	cmp    $0xffffffff,%ebx
+    63ea:	0f 84 a3 00 00 00    	je     0x6493
+    63f0:	8b 75 dc             	mov    -0x24(%ebp),%esi
+    63f3:	8b 56 08             	mov    0x8(%esi),%edx
+    63f6:	85 d2                	test   %edx,%edx
+    63f8:	0f 84 32 02 00 00    	je     0x6630
+    63fe:	8b 45 dc             	mov    -0x24(%ebp),%eax
+    6401:	8b 75 e0             	mov    -0x20(%ebp),%esi
+    6404:	8b 48 04             	mov    0x4(%eax),%ecx
+    6407:	89 74 24 08          	mov    %esi,0x8(%esp)
+    640b:	89 c6                	mov    %eax,%esi
+    640d:	c7 44 24 0c 09 00 00 	movl   $0x9,0xc(%esp)
+    6414:	00 
+    6415:	89 5c 24 04          	mov    %ebx,0x4(%esp)
+    6419:	8b 00                	mov    (%eax),%eax
+    641b:	89 04 24             	mov    %eax,(%esp)
+    641e:	8b 45 d8             	mov    -0x28(%ebp),%eax
+    6421:	e8 9a f5 ff ff       	call   0x59c0
+    6426:	83 ec 10             	sub    $0x10,%esp
+    6429:	83 f8 01             	cmp    $0x1,%eax
+    642c:	74 65                	je     0x6493
+    642e:	85 c0                	test   %eax,%eax
+    6430:	0f 85 26 02 00 00    	jne    0x665c
+    6436:	8b 46 10             	mov    0x10(%esi),%eax
+    6439:	3b 46 0c             	cmp    0xc(%esi),%eax
+    643c:	0f 84 bb 02 00 00    	je     0x66fd
+    6442:	c7 44 24 04 14 00 00 	movl   $0x14,0x4(%esp)
+    6449:	00 
+    644a:	c7 04 24 01 00 00 00 	movl   $0x1,(%esp)
+    6451:	e8 fc ff ff ff       	call   0x6452
+    6456:	85 c0                	test   %eax,%eax
+    6458:	0f 84 f9 01 00 00    	je     0x6657
+    645e:	8b 75 dc             	mov    -0x24(%ebp),%esi
+    6461:	8b 4e 10             	mov    0x10(%esi),%ecx
+    6464:	8b 56 14             	mov    0x14(%esi),%edx
+    6467:	89 18                	mov    %ebx,(%eax)
+    6469:	89 04 8a             	mov    %eax,(%edx,%ecx,4)
+    646c:	8b 55 e0             	mov    -0x20(%ebp),%edx
+    646f:	8b 4d bc             	mov    -0x44(%ebp),%ecx
+    6472:	89 50 04             	mov    %edx,0x4(%eax)
+    6475:	8b 55 dc             	mov    -0x24(%ebp),%edx
+    6478:	83 46 10 01          	addl   $0x1,0x10(%esi)
+    647c:	8b 75 b8             	mov    -0x48(%ebp),%esi
+    647f:	89 4c 24 04          	mov    %ecx,0x4(%esp)
+    6483:	89 c1                	mov    %eax,%ecx
+    6485:	8b 45 d8             	mov    -0x28(%ebp),%eax
+    6488:	89 34 24             	mov    %esi,(%esp)
+    648b:	e8 f0 fa ff ff       	call   0x5f80
+    6490:	83 ec 08             	sub    $0x8,%esp
+    6493:	83 45 e0 01          	addl   $0x1,-0x20(%ebp)
+    6497:	8b 45 e0             	mov    -0x20(%ebp),%eax
+    649a:	39 45 bc             	cmp    %eax,-0x44(%ebp)
+    649d:	0f 8d bd fe ff ff    	jge    0x6360
+    64a3:	8b 55 d8             	mov    -0x28(%ebp),%edx
+    64a6:	83 45 b0 01          	addl   $0x1,-0x50(%ebp)
+    64aa:	8b 4d b0             	mov    -0x50(%ebp),%ecx
+    64ad:	3b 4a 7c             	cmp    0x7c(%edx),%ecx
+    64b0:	0f 8c a5 fd ff ff    	jl     0x625b
+    64b6:	8b 45 d8             	mov    -0x28(%ebp),%eax
+    64b9:	8b 55 9c             	mov    -0x64(%ebp),%edx
+    64bc:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
+    64c3:	3b 50 6c             	cmp    0x6c(%eax),%edx
+    64c6:	0f 8d 8e fc ff ff    	jge    0x615a
+    64cc:	8b 75 b8             	mov    -0x48(%ebp),%esi
+    64cf:	6b da 14             	imul   $0x14,%edx,%ebx
+    64d2:	89 d7                	mov    %edx,%edi
+    64d4:	6b 4d b8 0c          	imul   $0xc,-0x48(%ebp),%ecx
+    64d8:	c1 e6 02             	shl    $0x2,%esi
+    64db:	89 75 c0             	mov    %esi,-0x40(%ebp)
+    64de:	89 c6                	mov    %eax,%esi
+    64e0:	89 4d b4             	mov    %ecx,-0x4c(%ebp)
+    64e3:	eb 12                	jmp    0x64f7
+    64e5:	8d 76 00             	lea    0x0(%esi),%esi
+    64e8:	83 c7 01             	add    $0x1,%edi
+    64eb:	83 c3 14             	add    $0x14,%ebx
+    64ee:	39 7e 6c             	cmp    %edi,0x6c(%esi)
+    64f1:	0f 8e 63 fc ff ff    	jle    0x615a
+    64f7:	8b 46 74             	mov    0x74(%esi),%eax
+    64fa:	8b 55 b8             	mov    -0x48(%ebp),%edx
+    64fd:	01 d8                	add    %ebx,%eax
+    64ff:	39 10                	cmp    %edx,(%eax)
+    6501:	75 e5                	jne    0x64e8
+    6503:	8b 4d bc             	mov    -0x44(%ebp),%ecx
+    6506:	39 48 04             	cmp    %ecx,0x4(%eax)
+    6509:	75 dd                	jne    0x64e8
+    650b:	8b 50 0c             	mov    0xc(%eax),%edx
+    650e:	8b 48 08             	mov    0x8(%eax),%ecx
+    6511:	89 55 d4             	mov    %edx,-0x2c(%ebp)
+    6514:	29 ca                	sub    %ecx,%edx
+    6516:	89 55 c8             	mov    %edx,-0x38(%ebp)
+    6519:	0f 85 50 01 00 00    	jne    0x666f
+    651f:	8b 45 a8             	mov    -0x58(%ebp),%eax
+    6522:	8b 55 b4             	mov    -0x4c(%ebp),%edx
+    6525:	8b 40 14             	mov    0x14(%eax),%eax
+    6528:	8b 54 10 08          	mov    0x8(%eax,%edx,1),%edx
+    652c:	8b 02                	mov    (%edx),%eax
+    652e:	8d 04 40             	lea    (%eax,%eax,2),%eax
+    6531:	8b 55 a8             	mov    -0x58(%ebp),%edx
+    6534:	c1 e0 02             	shl    $0x2,%eax
+    6537:	8b 52 18             	mov    0x18(%edx),%edx
+    653a:	01 d0                	add    %edx,%eax
+    653c:	89 45 dc             	mov    %eax,-0x24(%ebp)
+    653f:	8b 45 d4             	mov    -0x2c(%ebp),%eax
+    6542:	03 45 bc             	add    -0x44(%ebp),%eax
+    6545:	29 c8                	sub    %ecx,%eax
+    6547:	8b 4e 58             	mov    0x58(%esi),%ecx
+    654a:	89 c2                	mov    %eax,%edx
+    654c:	83 ea 01             	sub    $0x1,%edx
+    654f:	89 45 e0             	mov    %eax,-0x20(%ebp)
+    6552:	89 f0                	mov    %esi,%eax
+    6554:	e8 67 c6 ff ff       	call   0x2bc0
+    6559:	8b 55 e0             	mov    -0x20(%ebp),%edx
+    655c:	8b 4d a0             	mov    -0x60(%ebp),%ecx
+    655f:	c7 45 c4 00 00 00 00 	movl   $0x0,-0x3c(%ebp)
+    6566:	c1 e2 02             	shl    $0x2,%edx
+    6569:	89 55 d4             	mov    %edx,-0x2c(%ebp)
+    656c:	89 45 cc             	mov    %eax,-0x34(%ebp)
+    656f:	8b 46 64             	mov    0x64(%esi),%eax
+    6572:	01 c2                	add    %eax,%edx
+    6574:	8b 04 08             	mov    (%eax,%ecx,1),%eax
+    6577:	89 55 d0             	mov    %edx,-0x30(%ebp)
+    657a:	8b 12                	mov    (%edx),%edx
+    657c:	85 c0                	test   %eax,%eax
+    657e:	74 06                	je     0x6586
+    6580:	8b 40 08             	mov    0x8(%eax),%eax
+    6583:	89 45 c4             	mov    %eax,-0x3c(%ebp)
+    6586:	85 d2                	test   %edx,%edx
+    6588:	0f 84 f8 00 00 00    	je     0x6686
+    658e:	8b 52 28             	mov    0x28(%edx),%edx
+    6591:	8d 45 e4             	lea    -0x1c(%ebp),%eax
+    6594:	8b 4d dc             	mov    -0x24(%ebp),%ecx
+    6597:	e8 64 b9 ff ff       	call   0x1f00
+    659c:	85 c0                	test   %eax,%eax
+    659e:	89 45 f0             	mov    %eax,-0x10(%ebp)
+    65a1:	0f 85 16 01 00 00    	jne    0x66bd
+    65a7:	8b 55 cc             	mov    -0x34(%ebp),%edx
+    65aa:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
+    65ad:	8b 45 d4             	mov    -0x2c(%ebp),%eax
+    65b0:	03 46 64             	add    0x64(%esi),%eax
+    65b3:	89 14 24             	mov    %edx,(%esp)
+    65b6:	8b 55 a8             	mov    -0x58(%ebp),%edx
+    65b9:	89 45 d4             	mov    %eax,-0x2c(%ebp)
+    65bc:	8d 45 f0             	lea    -0x10(%ebp),%eax
+    65bf:	e8 4c df ff ff       	call   0x4510
+    65c4:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
+    65c7:	89 01                	mov    %eax,(%ecx)
+    65c9:	8b 45 ec             	mov    -0x14(%ebp),%eax
+    65cc:	83 ec 04             	sub    $0x4,%esp
+    65cf:	89 04 24             	mov    %eax,(%esp)
+    65d2:	e8 fc ff ff ff       	call   0x65d3
+    65d7:	8b 56 64             	mov    0x64(%esi),%edx
+    65da:	8b 45 e0             	mov    -0x20(%ebp),%eax
+    65dd:	8b 0c 82             	mov    (%edx,%eax,4),%ecx
+    65e0:	85 c9                	test   %ecx,%ecx
+    65e2:	0f 84 c8 00 00 00    	je     0x66b0
+    65e8:	8b 45 c8             	mov    -0x38(%ebp),%eax
+    65eb:	85 c0                	test   %eax,%eax
+    65ed:	0f 85 f5 fe ff ff    	jne    0x64e8
+    65f3:	8b 4d a0             	mov    -0x60(%ebp),%ecx
+    65f6:	8b 04 0a             	mov    (%edx,%ecx,1),%eax
+    65f9:	8b 55 c4             	mov    -0x3c(%ebp),%edx
+    65fc:	3b 50 08             	cmp    0x8(%eax),%edx
+    65ff:	0f 8d e3 fe ff ff    	jge    0x64e8
+    6605:	8b 4d bc             	mov    -0x44(%ebp),%ecx
+    6608:	89 f0                	mov    %esi,%eax
+    660a:	8b 55 dc             	mov    -0x24(%ebp),%edx
+    660d:	e8 4e e2 ff ff       	call   0x4860
+    6612:	85 c0                	test   %eax,%eax
+    6614:	89 45 f0             	mov    %eax,-0x10(%ebp)
+    6617:	75 43                	jne    0x665c
+    6619:	8b 55 dc             	mov    -0x24(%ebp),%edx
+    661c:	89 f0                	mov    %esi,%eax
+    661e:	e8 fd fa ff ff       	call   0x6120
+    6623:	85 c0                	test   %eax,%eax
+    6625:	89 45 f0             	mov    %eax,-0x10(%ebp)
+    6628:	0f 84 ba fe ff ff    	je     0x64e8
+    662e:	eb 2c                	jmp    0x665c
+    6630:	b8 01 00 00 00       	mov    $0x1,%eax
+    6635:	2b 06                	sub    (%esi),%eax
+    6637:	03 45 e0             	add    -0x20(%ebp),%eax
+    663a:	c7 04 24 0c 00 00 00 	movl   $0xc,(%esp)
+    6641:	89 44 24 04          	mov    %eax,0x4(%esp)
+    6645:	e8 fc ff ff ff       	call   0x6646
+    664a:	85 c0                	test   %eax,%eax
+    664c:	89 c2                	mov    %eax,%edx
+    664e:	89 46 08             	mov    %eax,0x8(%esi)
+    6651:	0f 85 a7 fd ff ff    	jne    0x63fe
+    6657:	b8 0c 00 00 00       	mov    $0xc,%eax
+    665c:	8d 65 f4             	lea    -0xc(%ebp),%esp
+    665f:	5b                   	pop    %ebx
+    6660:	5e                   	pop    %esi
+    6661:	5f                   	pop    %edi
+    6662:	5d                   	pop    %ebp
+    6663:	c3                   	ret    
+    6664:	8b 45 bc             	mov    -0x44(%ebp),%eax
+    6667:	89 45 d4             	mov    %eax,-0x2c(%ebp)
+    666a:	e9 e2 fc ff ff       	jmp    0x6351
+    666f:	8b 45 a8             	mov    -0x58(%ebp),%eax
+    6672:	8b 55 c0             	mov    -0x40(%ebp),%edx
+    6675:	8b 40 0c             	mov    0xc(%eax),%eax
+    6678:	8b 14 10             	mov    (%eax,%edx,1),%edx
+    667b:	89 55 e0             	mov    %edx,-0x20(%ebp)
+    667e:	8d 04 52             	lea    (%edx,%edx,2),%eax
+    6681:	e9 ab fe ff ff       	jmp    0x6531
+    6686:	8b 45 cc             	mov    -0x34(%ebp),%eax
+    6689:	8b 55 a8             	mov    -0x58(%ebp),%edx
+    668c:	8b 4d dc             	mov    -0x24(%ebp),%ecx
+    668f:	89 04 24             	mov    %eax,(%esp)
+    6692:	8d 45 f0             	lea    -0x10(%ebp),%eax
+    6695:	e8 76 de ff ff       	call   0x4510
+    669a:	8b 4d e0             	mov    -0x20(%ebp),%ecx
+    669d:	52                   	push   %edx
+    669e:	8b 55 d0             	mov    -0x30(%ebp),%edx
+    66a1:	89 02                	mov    %eax,(%edx)
+    66a3:	8b 56 64             	mov    0x64(%esi),%edx
+    66a6:	83 3c 8a 00          	cmpl   $0x0,(%edx,%ecx,4)
+    66aa:	0f 85 38 ff ff ff    	jne    0x65e8
+    66b0:	8b 45 f0             	mov    -0x10(%ebp),%eax
+    66b3:	85 c0                	test   %eax,%eax
+    66b5:	0f 84 2d ff ff ff    	je     0x65e8
+    66bb:	eb 9f                	jmp    0x665c
+    66bd:	8b 45 ec             	mov    -0x14(%ebp),%eax
+    66c0:	89 04 24             	mov    %eax,(%esp)
+    66c3:	e8 fc ff ff ff       	call   0x66c4
+    66c8:	8b 45 f0             	mov    -0x10(%ebp),%eax
+    66cb:	eb 8f                	jmp    0x665c
+    66cd:	3b 42 30             	cmp    0x30(%edx),%eax
+    66d0:	0f 8f 60 fc ff ff    	jg     0x6336
+    66d6:	89 c2                	mov    %eax,%edx
+    66d8:	8b 45 d8             	mov    -0x28(%ebp),%eax
+    66db:	e8 a0 dd ff ff       	call   0x4480
+    66e0:	85 c0                	test   %eax,%eax
+    66e2:	0f 85 74 ff ff ff    	jne    0x665c
+    66e8:	8b 4d d8             	mov    -0x28(%ebp),%ecx
+    66eb:	8b 49 04             	mov    0x4(%ecx),%ecx
+    66ee:	89 4d cc             	mov    %ecx,-0x34(%ebp)
+    66f1:	e9 be fb ff ff       	jmp    0x62b4
+    66f6:	31 c0                	xor    %eax,%eax
+    66f8:	e9 5f ff ff ff       	jmp    0x665c
+    66fd:	8b 55 dc             	mov    -0x24(%ebp),%edx
+    6700:	8d 74 00 01          	lea    0x1(%eax,%eax,1),%esi
+    6704:	8d 04 b5 00 00 00 00 	lea    0x0(,%esi,4),%eax
+    670b:	89 44 24 04          	mov    %eax,0x4(%esp)
+    670f:	8b 42 14             	mov    0x14(%edx),%eax
+    6712:	89 04 24             	mov    %eax,(%esp)
+    6715:	e8 fc ff ff ff       	call   0x6716
+    671a:	85 c0                	test   %eax,%eax
+    671c:	0f 84 35 ff ff ff    	je     0x6657
+    6722:	8b 4d dc             	mov    -0x24(%ebp),%ecx
+    6725:	89 41 14             	mov    %eax,0x14(%ecx)
+    6728:	89 71 0c             	mov    %esi,0xc(%ecx)
+    672b:	e9 12 fd ff ff       	jmp    0x6442
+    6730:	39 71 30             	cmp    %esi,0x30(%ecx)
+    6733:	0f 8e 0f fb ff ff    	jle    0x6248
+    6739:	89 c8                	mov    %ecx,%eax
+    673b:	e8 30 dc ff ff       	call   0x4370
+    6740:	85 c0                	test   %eax,%eax
+    6742:	0f 85 14 ff ff ff    	jne    0x665c
+    6748:	8b 45 d8             	mov    -0x28(%ebp),%eax
+    674b:	8b 40 04             	mov    0x4(%eax),%eax
+    674e:	89 45 cc             	mov    %eax,-0x34(%ebp)
+    6751:	e9 25 fc ff ff       	jmp    0x637b
+    6756:	8d 76 00             	lea    0x0(%esi),%esi
+    6759:	8d bc 27 00 00 00 00 	lea    0x0(%edi,%eiz,1),%edi
+    6760:	55                   	push   %ebp
+    6761:	89 e5                	mov    %esp,%ebp
+    6763:	83 ec 2c             	sub    $0x2c,%esp
+    6766:	89 5d f4             	mov    %ebx,-0xc(%ebp)
+    6769:	89 d3                	mov    %edx,%ebx
+    676b:	89 75 f8             	mov    %esi,-0x8(%ebp)
+    676e:	89 ce                	mov    %ecx,%esi
+    6770:	89 7d fc             	mov    %edi,-0x4(%ebp)
+    6773:	8b 7a 28             	mov    0x28(%edx),%edi
+    6776:	89 45 e0             	mov    %eax,-0x20(%ebp)
+    6779:	8b 42 54             	mov    0x54(%edx),%eax
+    677c:	3b 7a 68             	cmp    0x68(%edx),%edi
+    677f:	89 45 dc             	mov    %eax,-0x24(%ebp)
+    6782:	7e 24                	jle    0x67a8
+    6784:	8b 42 64             	mov    0x64(%edx),%eax
+    6787:	89 7a 68             	mov    %edi,0x68(%edx)
+    678a:	89 0c b8             	mov    %ecx,(%eax,%edi,4)
+    678d:	85 f6                	test   %esi,%esi
+    678f:	0f 85 e3 00 00 00    	jne    0x6878
+    6795:	89 f0                	mov    %esi,%eax
+    6797:	8b 5d f4             	mov    -0xc(%ebp),%ebx
+    679a:	8b 75 f8             	mov    -0x8(%ebp),%esi
+    679d:	8b 7d fc             	mov    -0x4(%ebp),%edi
+    67a0:	89 ec                	mov    %ebp,%esp
+    67a2:	5d                   	pop    %ebp
+    67a3:	c3                   	ret    
+    67a4:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    67a8:	8d 14 bd 00 00 00 00 	lea    0x0(,%edi,4),%edx
+    67af:	89 55 d8             	mov    %edx,-0x28(%ebp)
+    67b2:	03 53 64             	add    0x64(%ebx),%edx
+    67b5:	8b 02                	mov    (%edx),%eax
+    67b7:	89 55 e4             	mov    %edx,-0x1c(%ebp)
+    67ba:	85 c0                	test   %eax,%eax
+    67bc:	74 42                	je     0x6800
+    67be:	85 f6                	test   %esi,%esi
+    67c0:	8b 48 28             	mov    0x28(%eax),%ecx
+    67c3:	75 43                	jne    0x6808
+    67c5:	8b 01                	mov    (%ecx),%eax
+    67c7:	8d 57 ff             	lea    -0x1(%edi),%edx
+    67ca:	89 45 e8             	mov    %eax,-0x18(%ebp)
+    67cd:	8b 41 04             	mov    0x4(%ecx),%eax
+    67d0:	89 45 ec             	mov    %eax,-0x14(%ebp)
+    67d3:	8b 41 08             	mov    0x8(%ecx),%eax
+    67d6:	8b 4b 58             	mov    0x58(%ebx),%ecx
+    67d9:	89 45 f0             	mov    %eax,-0x10(%ebp)
+    67dc:	89 d8                	mov    %ebx,%eax
+    67de:	e8 dd c3 ff ff       	call   0x2bc0
+    67e3:	8b 55 dc             	mov    -0x24(%ebp),%edx
+    67e6:	8d 4d e8             	lea    -0x18(%ebp),%ecx
+    67e9:	89 04 24             	mov    %eax,(%esp)
+    67ec:	8b 45 e0             	mov    -0x20(%ebp),%eax
+    67ef:	e8 1c dd ff ff       	call   0x4510
+    67f4:	89 c6                	mov    %eax,%esi
+    67f6:	8b 45 e4             	mov    -0x1c(%ebp),%eax
+    67f9:	83 ec 04             	sub    $0x4,%esp
+    67fc:	89 30                	mov    %esi,(%eax)
+    67fe:	eb 8d                	jmp    0x678d
+    6800:	89 0a                	mov    %ecx,(%edx)
+    6802:	eb 89                	jmp    0x678d
+    6804:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    6808:	8b 76 28             	mov    0x28(%esi),%esi
+    680b:	89 75 e4             	mov    %esi,-0x1c(%ebp)
+    680e:	8b 55 e4             	mov    -0x1c(%ebp),%edx
+    6811:	8d 75 e8             	lea    -0x18(%ebp),%esi
+    6814:	89 f0                	mov    %esi,%eax
+    6816:	e8 e5 b6 ff ff       	call   0x1f00
+    681b:	8b 55 e0             	mov    -0x20(%ebp),%edx
+    681e:	85 c0                	test   %eax,%eax
+    6820:	89 02                	mov    %eax,(%edx)
+    6822:	0f 85 a0 00 00 00    	jne    0x68c8
+    6828:	8b 53 28             	mov    0x28(%ebx),%edx
+    682b:	89 d8                	mov    %ebx,%eax
+    682d:	8b 4b 58             	mov    0x58(%ebx),%ecx
+    6830:	83 ea 01             	sub    $0x1,%edx
+    6833:	e8 88 c3 ff ff       	call   0x2bc0
+    6838:	8b 55 d8             	mov    -0x28(%ebp),%edx
+    683b:	89 f1                	mov    %esi,%ecx
+    683d:	03 53 64             	add    0x64(%ebx),%edx
+    6840:	89 55 d8             	mov    %edx,-0x28(%ebp)
+    6843:	8b 55 dc             	mov    -0x24(%ebp),%edx
+    6846:	89 04 24             	mov    %eax,(%esp)
+    6849:	8b 45 e0             	mov    -0x20(%ebp),%eax
+    684c:	e8 bf dc ff ff       	call   0x4510
+    6851:	8b 55 e4             	mov    -0x1c(%ebp),%edx
+    6854:	89 c6                	mov    %eax,%esi
+    6856:	8b 45 d8             	mov    -0x28(%ebp),%eax
+    6859:	83 ec 04             	sub    $0x4,%esp
+    685c:	85 d2                	test   %edx,%edx
+    685e:	89 30                	mov    %esi,(%eax)
+    6860:	0f 84 27 ff ff ff    	je     0x678d
+    6866:	8b 45 f0             	mov    -0x10(%ebp),%eax
+    6869:	89 04 24             	mov    %eax,(%esp)
+    686c:	e8 fc ff ff ff       	call   0x686d
+    6871:	e9 17 ff ff ff       	jmp    0x678d
+    6876:	66 90                	xchg   %ax,%ax
+    6878:	8b 55 dc             	mov    -0x24(%ebp),%edx
+    687b:	8b 42 4c             	mov    0x4c(%edx),%eax
+    687e:	85 c0                	test   %eax,%eax
+    6880:	0f 84 0f ff ff ff    	je     0x6795
+    6886:	8d 46 04             	lea    0x4(%esi),%eax
+    6889:	89 f9                	mov    %edi,%ecx
+    688b:	89 c2                	mov    %eax,%edx
+    688d:	89 45 dc             	mov    %eax,-0x24(%ebp)
+    6890:	89 d8                	mov    %ebx,%eax
+    6892:	e8 c9 df ff ff       	call   0x4860
+    6897:	8b 55 e0             	mov    -0x20(%ebp),%edx
+    689a:	85 c0                	test   %eax,%eax
+    689c:	89 02                	mov    %eax,(%edx)
+    689e:	75 28                	jne    0x68c8
+    68a0:	f6 46 34 40          	testb  $0x40,0x34(%esi)
+    68a4:	0f 84 eb fe ff ff    	je     0x6795
+    68aa:	8b 55 dc             	mov    -0x24(%ebp),%edx
+    68ad:	89 d8                	mov    %ebx,%eax
+    68af:	e8 6c f8 ff ff       	call   0x6120
+    68b4:	8b 55 e0             	mov    -0x20(%ebp),%edx
+    68b7:	85 c0                	test   %eax,%eax
+    68b9:	89 02                	mov    %eax,(%edx)
+    68bb:	75 0b                	jne    0x68c8
+    68bd:	8b 43 64             	mov    0x64(%ebx),%eax
+    68c0:	8b 34 b8             	mov    (%eax,%edi,4),%esi
+    68c3:	e9 cd fe ff ff       	jmp    0x6795
+    68c8:	31 f6                	xor    %esi,%esi
+    68ca:	e9 c6 fe ff ff       	jmp    0x6795
+    68cf:	90                   	nop
+    68d0:	55                   	push   %ebp
+    68d1:	89 e5                	mov    %esp,%ebp
+    68d3:	57                   	push   %edi
+    68d4:	56                   	push   %esi
+    68d5:	53                   	push   %ebx
+    68d6:	83 ec 50             	sub    $0x50,%esp
+    68d9:	89 45 d4             	mov    %eax,-0x2c(%ebp)
+    68dc:	8b 42 0c             	mov    0xc(%edx),%eax
+    68df:	89 55 dc             	mov    %edx,-0x24(%ebp)
+    68e2:	8b 52 08             	mov    0x8(%edx),%edx
+    68e5:	89 45 d8             	mov    %eax,-0x28(%ebp)
+    68e8:	8d 45 e8             	lea    -0x18(%ebp),%eax
+    68eb:	e8 60 a1 ff ff       	call   0xa50
+    68f0:	85 c0                	test   %eax,%eax
+    68f2:	89 45 b8             	mov    %eax,-0x48(%ebp)
+    68f5:	0f 85 23 02 00 00    	jne    0x6b1e
+    68fb:	8d 45 e8             	lea    -0x18(%ebp),%eax
+    68fe:	89 04 24             	mov    %eax,(%esp)
+    6901:	8b 4d d8             	mov    -0x28(%ebp),%ecx
+    6904:	8b 55 dc             	mov    -0x24(%ebp),%edx
+    6907:	8b 45 d4             	mov    -0x2c(%ebp),%eax
+    690a:	e8 b1 02 00 00       	call   0x6bc0
+    690f:	83 ec 04             	sub    $0x4,%esp
+    6912:	85 c0                	test   %eax,%eax
+    6914:	89 45 b8             	mov    %eax,-0x48(%ebp)
+    6917:	0f 85 f6 01 00 00    	jne    0x6b13
+    691d:	8b 5d d8             	mov    -0x28(%ebp),%ebx
+    6920:	85 db                	test   %ebx,%ebx
+    6922:	0f 8e eb 01 00 00    	jle    0x6b13
+    6928:	8b 55 dc             	mov    -0x24(%ebp),%edx
+    692b:	8b 4d d8             	mov    -0x28(%ebp),%ecx
+    692e:	8b 45 d8             	mov    -0x28(%ebp),%eax
+    6931:	c7 45 c4 00 00 00 00 	movl   $0x0,-0x3c(%ebp)
+    6938:	83 c2 10             	add    $0x10,%edx
+    693b:	c1 e1 02             	shl    $0x2,%ecx
+    693e:	8d 04 85 fc ff ff ff 	lea    -0x4(,%eax,4),%eax
+    6945:	89 55 bc             	mov    %edx,-0x44(%ebp)
+    6948:	89 4d c8             	mov    %ecx,-0x38(%ebp)
+    694b:	89 45 c0             	mov    %eax,-0x40(%ebp)
+    694e:	66 90                	xchg   %ax,%ax
+    6950:	8b 55 dc             	mov    -0x24(%ebp),%edx
+    6953:	8b 4d c8             	mov    -0x38(%ebp),%ecx
+    6956:	8b 02                	mov    (%edx),%eax
+    6958:	8b 55 c4             	mov    -0x3c(%ebp),%edx
+    695b:	c7 45 c4 00 00 00 00 	movl   $0x0,-0x3c(%ebp)
+    6962:	8b 0c 08             	mov    (%eax,%ecx,1),%ecx
+    6965:	83 c2 01             	add    $0x1,%edx
+    6968:	85 c9                	test   %ecx,%ecx
+    696a:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
+    696d:	0f 45 55 c4          	cmovne -0x3c(%ebp),%edx
+    6971:	3b 51 78             	cmp    0x78(%ecx),%edx
+    6974:	89 55 c4             	mov    %edx,-0x3c(%ebp)
+    6977:	0f 8f 09 02 00 00    	jg     0x6b86
+    697d:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
+    6980:	8b 55 c0             	mov    -0x40(%ebp),%edx
+    6983:	83 6d d8 01          	subl   $0x1,-0x28(%ebp)
+    6987:	8b 41 64             	mov    0x64(%ecx),%eax
+    698a:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
+    6991:	8b 34 10             	mov    (%eax,%edx,1),%esi
+    6994:	85 f6                	test   %esi,%esi
+    6996:	0f 84 ac 01 00 00    	je     0x6b48
+    699c:	8b 56 14             	mov    0x14(%esi),%edx
+    699f:	8b 49 54             	mov    0x54(%ecx),%ecx
+    69a2:	85 d2                	test   %edx,%edx
+    69a4:	89 4d e0             	mov    %ecx,-0x20(%ebp)
+    69a7:	0f 8e 9b 01 00 00    	jle    0x6b48
+    69ad:	31 db                	xor    %ebx,%ebx
+    69af:	eb 70                	jmp    0x6a21
+    69b1:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
+    69b8:	8b 4d d8             	mov    -0x28(%ebp),%ecx
+    69bb:	8b 45 d4             	mov    -0x2c(%ebp),%eax
+    69be:	e8 bd c2 ff ff       	call   0x2c80
+    69c3:	85 c0                	test   %eax,%eax
+    69c5:	74 4e                	je     0x6a15
+    69c7:	8b 55 dc             	mov    -0x24(%ebp),%edx
+    69ca:	8b 4d c8             	mov    -0x38(%ebp),%ecx
+    69cd:	8b 02                	mov    (%edx),%eax
+    69cf:	8b 14 08             	mov    (%eax,%ecx,1),%edx
+    69d2:	85 d2                	test   %edx,%edx
+    69d4:	74 3f                	je     0x6a15
+    69d6:	8b 4d e0             	mov    -0x20(%ebp),%ecx
+    69d9:	8b 41 0c             	mov    0xc(%ecx),%eax
+    69dc:	8d 4a 04             	lea    0x4(%edx),%ecx
+    69df:	8b 04 b8             	mov    (%eax,%edi,4),%eax
+    69e2:	89 c2                	mov    %eax,%edx
+    69e4:	89 c8                	mov    %ecx,%eax
+    69e6:	e8 15 96 ff ff       	call   0x0
+    69eb:	85 c0                	test   %eax,%eax
+    69ed:	74 26                	je     0x6a15
+    69ef:	b9 01 00 00 00       	mov    $0x1,%ecx
+    69f4:	8b 45 dc             	mov    -0x24(%ebp),%eax
+    69f7:	8b 40 14             	mov    0x14(%eax),%eax
+    69fa:	85 c0                	test   %eax,%eax
+    69fc:	0f 85 c6 00 00 00    	jne    0x6ac8
+    6a02:	89 fa                	mov    %edi,%edx
+    6a04:	8d 45 e8             	lea    -0x18(%ebp),%eax
+    6a07:	e8 d4 ae ff ff       	call   0x18e0
+    6a0c:	83 f8 ff             	cmp    $0xffffffff,%eax
+    6a0f:	0f 84 f7 00 00 00    	je     0x6b0c
+    6a15:	83 c3 01             	add    $0x1,%ebx
+    6a18:	3b 5e 14             	cmp    0x14(%esi),%ebx
+    6a1b:	0f 8d 27 01 00 00    	jge    0x6b48
+    6a21:	8b 46 18             	mov    0x18(%esi),%eax
+    6a24:	8b 4d e0             	mov    -0x20(%ebp),%ecx
+    6a27:	8b 3c 98             	mov    (%eax,%ebx,4),%edi
+    6a2a:	8d 04 fd 00 00 00 00 	lea    0x0(,%edi,8),%eax
+    6a31:	89 c2                	mov    %eax,%edx
+    6a33:	03 11                	add    (%ecx),%edx
+    6a35:	89 45 e4             	mov    %eax,-0x1c(%ebp)
+    6a38:	f6 42 06 10          	testb  $0x10,0x6(%edx)
+    6a3c:	0f 84 76 ff ff ff    	je     0x69b8
+    6a42:	8b 45 dc             	mov    -0x24(%ebp),%eax
+    6a45:	8b 55 d4             	mov    -0x2c(%ebp),%edx
+    6a48:	8b 4d d8             	mov    -0x28(%ebp),%ecx
+    6a4b:	8b 40 0c             	mov    0xc(%eax),%eax
+    6a4e:	8b 52 54             	mov    0x54(%edx),%edx
+    6a51:	89 45 cc             	mov    %eax,-0x34(%ebp)
+    6a54:	89 55 d0             	mov    %edx,-0x30(%ebp)
+    6a57:	89 fa                	mov    %edi,%edx
+    6a59:	89 0c 24             	mov    %ecx,(%esp)
+    6a5c:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
+    6a5f:	8b 45 d0             	mov    -0x30(%ebp),%eax
+    6a62:	e8 c9 e3 ff ff       	call   0x4e30
+    6a67:	83 ec 04             	sub    $0x4,%esp
+    6a6a:	83 f8 00             	cmp    $0x0,%eax
+    6a6d:	89 c1                	mov    %eax,%ecx
+    6a6f:	0f 8e bb 00 00 00    	jle    0x6b30
+    6a75:	8b 45 d8             	mov    -0x28(%ebp),%eax
+    6a78:	8d 14 01             	lea    (%ecx,%eax,1),%edx
+    6a7b:	39 55 cc             	cmp    %edx,-0x34(%ebp)
+    6a7e:	0f 8c 70 ff ff ff    	jl     0x69f4
+    6a84:	8b 45 dc             	mov    -0x24(%ebp),%eax
+    6a87:	8b 00                	mov    (%eax),%eax
+    6a89:	8b 14 90             	mov    (%eax,%edx,4),%edx
+    6a8c:	85 d2                	test   %edx,%edx
+    6a8e:	74 25                	je     0x6ab5
+    6a90:	8b 45 d0             	mov    -0x30(%ebp),%eax
+    6a93:	89 4d b4             	mov    %ecx,-0x4c(%ebp)
+    6a96:	8b 40 0c             	mov    0xc(%eax),%eax
+    6a99:	8b 04 b8             	mov    (%eax,%edi,4),%eax
+    6a9c:	89 45 cc             	mov    %eax,-0x34(%ebp)
+    6a9f:	8d 42 04             	lea    0x4(%edx),%eax
+    6aa2:	8b 55 cc             	mov    -0x34(%ebp),%edx
+    6aa5:	e8 56 95 ff ff       	call   0x0
+    6aaa:	8b 4d b4             	mov    -0x4c(%ebp),%ecx
+    6aad:	85 c0                	test   %eax,%eax
+    6aaf:	0f 85 3f ff ff ff    	jne    0x69f4
+    6ab5:	8b 4d e0             	mov    -0x20(%ebp),%ecx
+    6ab8:	8b 55 e4             	mov    -0x1c(%ebp),%edx
+    6abb:	03 11                	add    (%ecx),%edx
+    6abd:	e9 f6 fe ff ff       	jmp    0x69b8
+    6ac2:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
+    6ac8:	8b 55 e0             	mov    -0x20(%ebp),%edx
+    6acb:	8b 42 0c             	mov    0xc(%edx),%eax
+    6ace:	8b 55 d8             	mov    -0x28(%ebp),%edx
+    6ad1:	8b 04 b8             	mov    (%eax,%edi,4),%eax
+    6ad4:	01 d1                	add    %edx,%ecx
+    6ad6:	89 0c 24             	mov    %ecx,(%esp)
+    6ad9:	89 54 24 08          	mov    %edx,0x8(%esp)
+    6add:	89 7c 24 04          	mov    %edi,0x4(%esp)
+    6ae1:	89 c1                	mov    %eax,%ecx
+    6ae3:	8b 55 bc             	mov    -0x44(%ebp),%edx
+    6ae6:	8b 45 d4             	mov    -0x2c(%ebp),%eax
+    6ae9:	e8 72 9a ff ff       	call   0x560
+    6aee:	83 ec 0c             	sub    $0xc,%esp
+    6af1:	85 c0                	test   %eax,%eax
+    6af3:	0f 85 1c ff ff ff    	jne    0x6a15
+    6af9:	89 fa                	mov    %edi,%edx
+    6afb:	8d 45 e8             	lea    -0x18(%ebp),%eax
+    6afe:	e8 dd ad ff ff       	call   0x18e0
+    6b03:	83 f8 ff             	cmp    $0xffffffff,%eax
+    6b06:	0f 85 09 ff ff ff    	jne    0x6a15
+    6b0c:	c7 45 b8 0c 00 00 00 	movl   $0xc,-0x48(%ebp)
+    6b13:	8b 45 f0             	mov    -0x10(%ebp),%eax
+    6b16:	89 04 24             	mov    %eax,(%esp)
+    6b19:	e8 fc ff ff ff       	call   0x6b1a
+    6b1e:	8b 45 b8             	mov    -0x48(%ebp),%eax
+    6b21:	8d 65 f4             	lea    -0xc(%ebp),%esp
+    6b24:	5b                   	pop    %ebx
+    6b25:	5e                   	pop    %esi
+    6b26:	5f                   	pop    %edi
+    6b27:	5d                   	pop    %ebp
+    6b28:	c3                   	ret    
+    6b29:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
+    6b30:	0f 85 be fe ff ff    	jne    0x69f4
+    6b36:	8b 45 e0             	mov    -0x20(%ebp),%eax
+    6b39:	8b 55 e4             	mov    -0x1c(%ebp),%edx
+    6b3c:	03 10                	add    (%eax),%edx
+    6b3e:	e9 75 fe ff ff       	jmp    0x69b8
+    6b43:	90                   	nop
+    6b44:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    6b48:	8d 4d e8             	lea    -0x18(%ebp),%ecx
+    6b4b:	89 0c 24             	mov    %ecx,(%esp)
+    6b4e:	8b 4d d8             	mov    -0x28(%ebp),%ecx
+    6b51:	8b 55 dc             	mov    -0x24(%ebp),%edx
+    6b54:	8b 45 d4             	mov    -0x2c(%ebp),%eax
+    6b57:	e8 64 00 00 00       	call   0x6bc0
+    6b5c:	83 ec 04             	sub    $0x4,%esp
+    6b5f:	85 c0                	test   %eax,%eax
+    6b61:	75 13                	jne    0x6b76
+    6b63:	8b 4d d8             	mov    -0x28(%ebp),%ecx
+    6b66:	83 6d c8 04          	subl   $0x4,-0x38(%ebp)
+    6b6a:	83 6d c0 04          	subl   $0x4,-0x40(%ebp)
+    6b6e:	85 c9                	test   %ecx,%ecx
+    6b70:	0f 8f da fd ff ff    	jg     0x6950
+    6b76:	89 45 b8             	mov    %eax,-0x48(%ebp)
+    6b79:	8b 45 f0             	mov    -0x10(%ebp),%eax
+    6b7c:	89 04 24             	mov    %eax,(%esp)
+    6b7f:	e8 fc ff ff ff       	call   0x6b80
+    6b84:	eb 98                	jmp    0x6b1e
+    6b86:	8b 55 c8             	mov    -0x38(%ebp),%edx
+    6b89:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
+    6b90:	00 
+    6b91:	89 04 24             	mov    %eax,(%esp)
+    6b94:	89 54 24 08          	mov    %edx,0x8(%esp)
+    6b98:	e8 fc ff ff ff       	call   0x6b99
+    6b9d:	8b 45 f0             	mov    -0x10(%ebp),%eax
+    6ba0:	89 04 24             	mov    %eax,(%esp)
+    6ba3:	e8 fc ff ff ff       	call   0x6ba4
+    6ba8:	8b 45 b8             	mov    -0x48(%ebp),%eax
+    6bab:	8d 65 f4             	lea    -0xc(%ebp),%esp
+    6bae:	5b                   	pop    %ebx
+    6baf:	5e                   	pop    %esi
+    6bb0:	5f                   	pop    %edi
+    6bb1:	5d                   	pop    %ebp
+    6bb2:	c3                   	ret    
+    6bb3:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
+    6bb9:	8d bc 27 00 00 00 00 	lea    0x0(%edi,%eiz,1),%edi
+    6bc0:	55                   	push   %ebp
+    6bc1:	89 e5                	mov    %esp,%ebp
+    6bc3:	57                   	push   %edi
+    6bc4:	56                   	push   %esi
+    6bc5:	53                   	push   %ebx
+    6bc6:	83 ec 70             	sub    $0x70,%esp
+    6bc9:	8b 78 54             	mov    0x54(%eax),%edi
+    6bcc:	89 4d b8             	mov    %ecx,-0x48(%ebp)
+    6bcf:	c1 e1 02             	shl    $0x2,%ecx
+    6bd2:	8b 5d 08             	mov    0x8(%ebp),%ebx
+    6bd5:	89 45 a4             	mov    %eax,-0x5c(%ebp)
+    6bd8:	8b 40 64             	mov    0x64(%eax),%eax
+    6bdb:	89 4d 9c             	mov    %ecx,-0x64(%ebp)
+    6bde:	8b 4d b8             	mov    -0x48(%ebp),%ecx
+    6be1:	c7 45 c8 00 00 00 00 	movl   $0x0,-0x38(%ebp)
+    6be8:	89 55 c0             	mov    %edx,-0x40(%ebp)
+    6beb:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
+    6bf2:	8b 04 88             	mov    (%eax,%ecx,4),%eax
+    6bf5:	85 c0                	test   %eax,%eax
+    6bf7:	8d 50 04             	lea    0x4(%eax),%edx
+    6bfa:	0f 44 55 c8          	cmove  -0x38(%ebp),%edx
+    6bfe:	89 55 c8             	mov    %edx,-0x38(%ebp)
+    6c01:	8b 53 04             	mov    0x4(%ebx),%edx
+    6c04:	85 d2                	test   %edx,%edx
+    6c06:	75 38                	jne    0x6c40
+    6c08:	8b 5d c0             	mov    -0x40(%ebp),%ebx
+    6c0b:	8b 03                	mov    (%ebx),%eax
+    6c0d:	c7 04 88 00 00 00 00 	movl   $0x0,(%eax,%ecx,4)
+    6c14:	8b 4d c8             	mov    -0x38(%ebp),%ecx
+    6c17:	85 c9                	test   %ecx,%ecx
+    6c19:	74 16                	je     0x6c31
+    6c1b:	8b 55 a4             	mov    -0x5c(%ebp),%edx
+    6c1e:	8b 4d b8             	mov    -0x48(%ebp),%ecx
+    6c21:	8b 42 64             	mov    0x64(%edx),%eax
+    6c24:	8b 04 88             	mov    (%eax,%ecx,4),%eax
+    6c27:	f6 40 34 40          	testb  $0x40,0x34(%eax)
+    6c2b:	0f 85 e7 00 00 00    	jne    0x6d18
+    6c31:	31 c0                	xor    %eax,%eax
+    6c33:	8d 65 f4             	lea    -0xc(%ebp),%esp
+    6c36:	5b                   	pop    %ebx
+    6c37:	5e                   	pop    %esi
+    6c38:	5f                   	pop    %edi
+    6c39:	5d                   	pop    %ebp
+    6c3a:	c2 04 00             	ret    $0x4
+    6c3d:	8d 76 00             	lea    0x0(%esi),%esi
+    6c40:	8b 45 c8             	mov    -0x38(%ebp),%eax
+    6c43:	85 c0                	test   %eax,%eax
+    6c45:	0f 84 a5 00 00 00    	je     0x6cf0
+    6c4b:	89 fa                	mov    %edi,%edx
+    6c4d:	89 d9                	mov    %ebx,%ecx
+    6c4f:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
+    6c56:	8d 45 ec             	lea    -0x14(%ebp),%eax
+    6c59:	e8 32 dd ff ff       	call   0x4990
+    6c5e:	89 c2                	mov    %eax,%edx
+    6c60:	8b 45 ec             	mov    -0x14(%ebp),%eax
+    6c63:	85 c0                	test   %eax,%eax
+    6c65:	75 cc                	jne    0x6c33
+    6c67:	8b 72 1c             	mov    0x1c(%edx),%esi
+    6c6a:	8d 42 1c             	lea    0x1c(%edx),%eax
+    6c6d:	89 45 cc             	mov    %eax,-0x34(%ebp)
+    6c70:	85 f6                	test   %esi,%esi
+    6c72:	75 52                	jne    0x6cc6
+    6c74:	8b 53 04             	mov    0x4(%ebx),%edx
+    6c77:	e8 a4 9d ff ff       	call   0xa20
+    6c7c:	85 c0                	test   %eax,%eax
+    6c7e:	0f 85 7d 05 00 00    	jne    0x7201
+    6c84:	8b 4b 04             	mov    0x4(%ebx),%ecx
+    6c87:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
+    6c8e:	85 c9                	test   %ecx,%ecx
+    6c90:	7e 34                	jle    0x6cc6
+    6c92:	31 f6                	xor    %esi,%esi
+    6c94:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    6c98:	8b 43 08             	mov    0x8(%ebx),%eax
+    6c9b:	8b 04 b0             	mov    (%eax,%esi,4),%eax
+    6c9e:	8d 14 40             	lea    (%eax,%eax,2),%edx
+    6ca1:	8b 45 cc             	mov    -0x34(%ebp),%eax
+    6ca4:	c1 e2 02             	shl    $0x2,%edx
+    6ca7:	03 57 1c             	add    0x1c(%edi),%edx
+    6caa:	e8 91 aa ff ff       	call   0x1740
+    6caf:	85 c0                	test   %eax,%eax
+    6cb1:	0f 85 4a 05 00 00    	jne    0x7201
+    6cb7:	83 c6 01             	add    $0x1,%esi
+    6cba:	3b 73 04             	cmp    0x4(%ebx),%esi
+    6cbd:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
+    6cc4:	7c d2                	jl     0x6c98
+    6cc6:	8b 4d cc             	mov    -0x34(%ebp),%ecx
+    6cc9:	89 d8                	mov    %ebx,%eax
+    6ccb:	8b 55 c8             	mov    -0x38(%ebp),%edx
+    6cce:	e8 6d af ff ff       	call   0x1c40
+    6cd3:	85 c0                	test   %eax,%eax
+    6cd5:	0f 85 58 ff ff ff    	jne    0x6c33
+    6cdb:	8b 55 c0             	mov    -0x40(%ebp),%edx
+    6cde:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
+    6ce5:	8b 42 14             	mov    0x14(%edx),%eax
+    6ce8:	85 c0                	test   %eax,%eax
+    6cea:	0f 85 a7 02 00 00    	jne    0x6f97
+    6cf0:	8b 45 c0             	mov    -0x40(%ebp),%eax
+    6cf3:	89 d9                	mov    %ebx,%ecx
+    6cf5:	89 fa                	mov    %edi,%edx
+    6cf7:	8b 75 9c             	mov    -0x64(%ebp),%esi
+    6cfa:	03 30                	add    (%eax),%esi
+    6cfc:	8d 45 f0             	lea    -0x10(%ebp),%eax
+    6cff:	e8 8c dc ff ff       	call   0x4990
+    6d04:	89 06                	mov    %eax,(%esi)
+    6d06:	8b 45 f0             	mov    -0x10(%ebp),%eax
+    6d09:	85 c0                	test   %eax,%eax
+    6d0b:	0f 84 03 ff ff ff    	je     0x6c14
+    6d11:	e9 1d ff ff ff       	jmp    0x6c33
+    6d16:	66 90                	xchg   %ax,%ax
+    6d18:	8b 5a 54             	mov    0x54(%edx),%ebx
+    6d1b:	89 ca                	mov    %ecx,%edx
+    6d1d:	8b 45 a4             	mov    -0x5c(%ebp),%eax
+    6d20:	89 5d c4             	mov    %ebx,-0x3c(%ebp)
+    6d23:	e8 b8 97 ff ff       	call   0x4e0
+    6d28:	83 f8 ff             	cmp    $0xffffffff,%eax
+    6d2b:	89 45 a0             	mov    %eax,-0x60(%ebp)
+    6d2e:	0f 84 fd fe ff ff    	je     0x6c31
+    6d34:	8b 45 c8             	mov    -0x38(%ebp),%eax
+    6d37:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
+    6d3e:	8b 50 04             	mov    0x4(%eax),%edx
+    6d41:	85 d2                	test   %edx,%edx
+    6d43:	0f 8e e8 fe ff ff    	jle    0x6c31
+    6d49:	8b 55 a0             	mov    -0x60(%ebp),%edx
+    6d4c:	31 ff                	xor    %edi,%edi
+    6d4e:	8b 4d c0             	mov    -0x40(%ebp),%ecx
+    6d51:	8b 5d b8             	mov    -0x48(%ebp),%ebx
+    6d54:	8d 04 92             	lea    (%edx,%edx,4),%eax
+    6d57:	c1 e0 02             	shl    $0x2,%eax
+    6d5a:	83 c1 10             	add    $0x10,%ecx
+    6d5d:	83 c3 01             	add    $0x1,%ebx
+    6d60:	89 45 b4             	mov    %eax,-0x4c(%ebp)
+    6d63:	89 4d 98             	mov    %ecx,-0x68(%ebp)
+    6d66:	89 5d 94             	mov    %ebx,-0x6c(%ebp)
+    6d69:	eb 18                	jmp    0x6d83
+    6d6b:	90                   	nop
+    6d6c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    6d70:	3c 04                	cmp    $0x4,%al
+    6d72:	74 36                	je     0x6daa
+    6d74:	8b 5d c8             	mov    -0x38(%ebp),%ebx
+    6d77:	83 c7 01             	add    $0x1,%edi
+    6d7a:	3b 7b 04             	cmp    0x4(%ebx),%edi
+    6d7d:	0f 8d cf 01 00 00    	jge    0x6f52
+    6d83:	8b 55 c8             	mov    -0x38(%ebp),%edx
+    6d86:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
+    6d89:	8b 5d c0             	mov    -0x40(%ebp),%ebx
+    6d8c:	8b 42 08             	mov    0x8(%edx),%eax
+    6d8f:	8b 34 b8             	mov    (%eax,%edi,4),%esi
+    6d92:	8b 01                	mov    (%ecx),%eax
+    6d94:	3b 73 08             	cmp    0x8(%ebx),%esi
+    6d97:	0f b6 44 f0 04       	movzbl 0x4(%eax,%esi,8),%eax
+    6d9c:	75 d2                	jne    0x6d70
+    6d9e:	8b 55 b8             	mov    -0x48(%ebp),%edx
+    6da1:	3b 53 0c             	cmp    0xc(%ebx),%edx
+    6da4:	74 ce                	je     0x6d74
+    6da6:	3c 04                	cmp    $0x4,%al
+    6da8:	75 ca                	jne    0x6d74
+    6daa:	8d 04 b5 00 00 00 00 	lea    0x0(,%esi,4),%eax
+    6db1:	8b 4d a4             	mov    -0x5c(%ebp),%ecx
+    6db4:	89 45 b0             	mov    %eax,-0x50(%ebp)
+    6db7:	8d 04 76             	lea    (%esi,%esi,2),%eax
+    6dba:	8b 55 a0             	mov    -0x60(%ebp),%edx
+    6dbd:	c1 e0 02             	shl    $0x2,%eax
+    6dc0:	8b 5d b4             	mov    -0x4c(%ebp),%ebx
+    6dc3:	89 45 ac             	mov    %eax,-0x54(%ebp)
+    6dc6:	8b 45 b4             	mov    -0x4c(%ebp),%eax
+    6dc9:	89 7d a8             	mov    %edi,-0x58(%ebp)
+    6dcc:	03 59 74             	add    0x74(%ecx),%ebx
+    6dcf:	89 55 cc             	mov    %edx,-0x34(%ebp)
+    6dd2:	89 c7                	mov    %eax,%edi
+    6dd4:	eb 16                	jmp    0x6dec
+    6dd6:	66 90                	xchg   %ax,%ax
+    6dd8:	83 c7 14             	add    $0x14,%edi
+    6ddb:	80 7b 10 00          	cmpb   $0x0,0x10(%ebx)
+    6ddf:	0f 84 5b 01 00 00    	je     0x6f40
+    6de5:	83 45 cc 01          	addl   $0x1,-0x34(%ebp)
+    6de9:	83 c3 14             	add    $0x14,%ebx
+    6dec:	3b 33                	cmp    (%ebx),%esi
+    6dee:	75 e8                	jne    0x6dd8
+    6df0:	8b 43 0c             	mov    0xc(%ebx),%eax
+    6df3:	8b 4d b8             	mov    -0x48(%ebp),%ecx
+    6df6:	2b 43 08             	sub    0x8(%ebx),%eax
+    6df9:	01 c1                	add    %eax,%ecx
+    6dfb:	85 c0                	test   %eax,%eax
+    6dfd:	0f 84 7d 01 00 00    	je     0x6f80
+    6e03:	8b 55 c4             	mov    -0x3c(%ebp),%edx
+    6e06:	8b 42 0c             	mov    0xc(%edx),%eax
+    6e09:	8b 55 b0             	mov    -0x50(%ebp),%edx
+    6e0c:	8b 04 10             	mov    (%eax,%edx,1),%eax
+    6e0f:	89 45 bc             	mov    %eax,-0x44(%ebp)
+    6e12:	8b 45 c0             	mov    -0x40(%ebp),%eax
+    6e15:	3b 48 0c             	cmp    0xc(%eax),%ecx
+    6e18:	7f be                	jg     0x6dd8
+    6e1a:	8b 00                	mov    (%eax),%eax
+    6e1c:	8b 04 88             	mov    (%eax,%ecx,4),%eax
+    6e1f:	85 c0                	test   %eax,%eax
+    6e21:	74 b5                	je     0x6dd8
+    6e23:	8b 55 bc             	mov    -0x44(%ebp),%edx
+    6e26:	83 c0 04             	add    $0x4,%eax
+    6e29:	89 4d 90             	mov    %ecx,-0x70(%ebp)
+    6e2c:	e8 cf 91 ff ff       	call   0x0
+    6e31:	8b 4d 90             	mov    -0x70(%ebp),%ecx
+    6e34:	85 c0                	test   %eax,%eax
+    6e36:	74 a0                	je     0x6dd8
+    6e38:	89 4c 24 08          	mov    %ecx,0x8(%esp)
+    6e3c:	8b 4d bc             	mov    -0x44(%ebp),%ecx
+    6e3f:	89 4c 24 04          	mov    %ecx,0x4(%esp)
+    6e43:	8b 45 b8             	mov    -0x48(%ebp),%eax
+    6e46:	89 f1                	mov    %esi,%ecx
+    6e48:	89 04 24             	mov    %eax,(%esp)
+    6e4b:	8b 55 98             	mov    -0x68(%ebp),%edx
+    6e4e:	8b 45 a4             	mov    -0x5c(%ebp),%eax
+    6e51:	e8 0a 97 ff ff       	call   0x560
+    6e56:	83 ec 0c             	sub    $0xc,%esp
+    6e59:	85 c0                	test   %eax,%eax
+    6e5b:	0f 85 77 ff ff ff    	jne    0x6dd8
+    6e61:	8b 45 d0             	mov    -0x30(%ebp),%eax
+    6e64:	85 c0                	test   %eax,%eax
+    6e66:	0f 84 51 03 00 00    	je     0x71bd
+    6e6c:	8b 4d b8             	mov    -0x48(%ebp),%ecx
+    6e6f:	8d 45 e0             	lea    -0x20(%ebp),%eax
+    6e72:	8b 55 cc             	mov    -0x34(%ebp),%edx
+    6e75:	89 75 d8             	mov    %esi,-0x28(%ebp)
+    6e78:	89 4d dc             	mov    %ecx,-0x24(%ebp)
+    6e7b:	e8 60 aa ff ff       	call   0x18e0
+    6e80:	85 c0                	test   %eax,%eax
+    6e82:	0f 88 85 03 00 00    	js     0x720d
+    6e88:	8b 45 d0             	mov    -0x30(%ebp),%eax
+    6e8b:	8b 55 9c             	mov    -0x64(%ebp),%edx
+    6e8e:	8b 1c 10             	mov    (%eax,%edx,1),%ebx
+    6e91:	8d 55 d0             	lea    -0x30(%ebp),%edx
+    6e94:	8b 45 a4             	mov    -0x5c(%ebp),%eax
+    6e97:	e8 34 fa ff ff       	call   0x68d0
+    6e9c:	85 c0                	test   %eax,%eax
+    6e9e:	0f 85 b0 00 00 00    	jne    0x6f54
+    6ea4:	8b 4d c0             	mov    -0x40(%ebp),%ecx
+    6ea7:	8b 51 04             	mov    0x4(%ecx),%edx
+    6eaa:	85 d2                	test   %edx,%edx
+    6eac:	74 1c                	je     0x6eca
+    6eae:	8b 45 94             	mov    -0x6c(%ebp),%eax
+    6eb1:	89 04 24             	mov    %eax,(%esp)
+    6eb4:	8b 4d d0             	mov    -0x30(%ebp),%ecx
+    6eb7:	8b 45 c4             	mov    -0x3c(%ebp),%eax
+    6eba:	e8 e1 de ff ff       	call   0x4da0
+    6ebf:	83 ec 04             	sub    $0x4,%esp
+    6ec2:	85 c0                	test   %eax,%eax
+    6ec4:	0f 85 8a 00 00 00    	jne    0x6f54
+    6eca:	8b 45 d0             	mov    -0x30(%ebp),%eax
+    6ecd:	8b 55 9c             	mov    -0x64(%ebp),%edx
+    6ed0:	89 1c 10             	mov    %ebx,(%eax,%edx,1)
+    6ed3:	8b 55 cc             	mov    -0x34(%ebp),%edx
+    6ed6:	8d 45 e0             	lea    -0x20(%ebp),%eax
+    6ed9:	e8 22 91 ff ff       	call   0x0
+    6ede:	89 c3                	mov    %eax,%ebx
+    6ee0:	83 eb 01             	sub    $0x1,%ebx
+    6ee3:	78 3f                	js     0x6f24
+    6ee5:	8b 55 e4             	mov    -0x1c(%ebp),%edx
+    6ee8:	39 d3                	cmp    %edx,%ebx
+    6eea:	7d 38                	jge    0x6f24
+    6eec:	83 ea 01             	sub    $0x1,%edx
+    6eef:	39 d3                	cmp    %edx,%ebx
+    6ef1:	89 55 e4             	mov    %edx,-0x1c(%ebp)
+    6ef4:	7d 2e                	jge    0x6f24
+    6ef6:	89 c1                	mov    %eax,%ecx
+    6ef8:	8b 45 e8             	mov    -0x18(%ebp),%eax
+    6efb:	8b 55 e8             	mov    -0x18(%ebp),%edx
+    6efe:	8d 04 88             	lea    (%eax,%ecx,4),%eax
+    6f01:	89 45 bc             	mov    %eax,-0x44(%ebp)
+    6f04:	8d 04 9a             	lea    (%edx,%ebx,4),%eax
+    6f07:	8b 55 bc             	mov    -0x44(%ebp),%edx
+    6f0a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
+    6f10:	8b 1a                	mov    (%edx),%ebx
+    6f12:	83 c2 04             	add    $0x4,%edx
+    6f15:	89 18                	mov    %ebx,(%eax)
+    6f17:	89 cb                	mov    %ecx,%ebx
+    6f19:	83 c0 04             	add    $0x4,%eax
+    6f1c:	83 c1 01             	add    $0x1,%ecx
+    6f1f:	3b 5d e4             	cmp    -0x1c(%ebp),%ebx
+    6f22:	7c ec                	jl     0x6f10
+    6f24:	8b 4d a4             	mov    -0x5c(%ebp),%ecx
+    6f27:	89 fb                	mov    %edi,%ebx
+    6f29:	83 c7 14             	add    $0x14,%edi
+    6f2c:	03 59 74             	add    0x74(%ecx),%ebx
+    6f2f:	80 7b 10 00          	cmpb   $0x0,0x10(%ebx)
+    6f33:	0f 85 ac fe ff ff    	jne    0x6de5
+    6f39:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
+    6f40:	8b 7d a8             	mov    -0x58(%ebp),%edi
+    6f43:	8b 5d c8             	mov    -0x38(%ebp),%ebx
+    6f46:	83 c7 01             	add    $0x1,%edi
+    6f49:	3b 7b 04             	cmp    0x4(%ebx),%edi
+    6f4c:	0f 8c 31 fe ff ff    	jl     0x6d83
+    6f52:	31 c0                	xor    %eax,%eax
+    6f54:	8b 5d d0             	mov    -0x30(%ebp),%ebx
+    6f57:	85 db                	test   %ebx,%ebx
+    6f59:	0f 84 d4 fc ff ff    	je     0x6c33
+    6f5f:	8b 55 e8             	mov    -0x18(%ebp),%edx
+    6f62:	89 14 24             	mov    %edx,(%esp)
+    6f65:	89 45 90             	mov    %eax,-0x70(%ebp)
+    6f68:	e8 fc ff ff ff       	call   0x6f69
+    6f6d:	8b 45 90             	mov    -0x70(%ebp),%eax
+    6f70:	8d 65 f4             	lea    -0xc(%ebp),%esp
+    6f73:	5b                   	pop    %ebx
+    6f74:	5e                   	pop    %esi
+    6f75:	5f                   	pop    %edi
+    6f76:	5d                   	pop    %ebp
+    6f77:	c2 04 00             	ret    $0x4
+    6f7a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
+    6f80:	8b 55 c4             	mov    -0x3c(%ebp),%edx
+    6f83:	8b 42 14             	mov    0x14(%edx),%eax
+    6f86:	8b 55 ac             	mov    -0x54(%ebp),%edx
+    6f89:	8b 44 10 08          	mov    0x8(%eax,%edx,1),%eax
+    6f8d:	8b 00                	mov    (%eax),%eax
+    6f8f:	89 45 bc             	mov    %eax,-0x44(%ebp)
+    6f92:	e9 7b fe ff ff       	jmp    0x6e12
+    6f97:	8b 4d a4             	mov    -0x5c(%ebp),%ecx
+    6f9a:	83 c2 10             	add    $0x10,%edx
+    6f9d:	85 c0                	test   %eax,%eax
+    6f9f:	89 55 c4             	mov    %edx,-0x3c(%ebp)
+    6fa2:	8b 49 74             	mov    0x74(%ecx),%ecx
+    6fa5:	89 4d b0             	mov    %ecx,-0x50(%ebp)
+    6fa8:	0f 8e a5 00 00 00    	jle    0x7053
+    6fae:	c7 45 cc 00 00 00 00 	movl   $0x0,-0x34(%ebp)
+    6fb5:	8d 76 00             	lea    0x0(%esi),%esi
+    6fb8:	8b 55 c4             	mov    -0x3c(%ebp),%edx
+    6fbb:	8b 4d cc             	mov    -0x34(%ebp),%ecx
+    6fbe:	8b 42 08             	mov    0x8(%edx),%eax
+    6fc1:	8b 04 88             	mov    (%eax,%ecx,4),%eax
+    6fc4:	8b 4d b0             	mov    -0x50(%ebp),%ecx
+    6fc7:	8d 04 80             	lea    (%eax,%eax,4),%eax
+    6fca:	8d 14 81             	lea    (%ecx,%eax,4),%edx
+    6fcd:	8b 45 b8             	mov    -0x48(%ebp),%eax
+    6fd0:	3b 42 08             	cmp    0x8(%edx),%eax
+    6fd3:	7e 6b                	jle    0x7040
+    6fd5:	3b 42 04             	cmp    0x4(%edx),%eax
+    6fd8:	7f 66                	jg     0x7040
+    6fda:	8b 07                	mov    (%edi),%eax
+    6fdc:	8b 0a                	mov    (%edx),%ecx
+    6fde:	8b 0c c8             	mov    (%eax,%ecx,8),%ecx
+    6fe1:	89 4d bc             	mov    %ecx,-0x44(%ebp)
+    6fe4:	8b 4d b8             	mov    -0x48(%ebp),%ecx
+    6fe7:	3b 4a 0c             	cmp    0xc(%edx),%ecx
+    6fea:	74 74                	je     0x7060
+    6fec:	8b 53 04             	mov    0x4(%ebx),%edx
+    6fef:	31 f6                	xor    %esi,%esi
+    6ff1:	85 d2                	test   %edx,%edx
+    6ff3:	7f 0d                	jg     0x7002
+    6ff5:	eb 49                	jmp    0x7040
+    6ff7:	90                   	nop
+    6ff8:	83 c6 01             	add    $0x1,%esi
+    6ffb:	3b 73 04             	cmp    0x4(%ebx),%esi
+    6ffe:	7d 40                	jge    0x7040
+    7000:	8b 07                	mov    (%edi),%eax
+    7002:	8b 53 08             	mov    0x8(%ebx),%edx
+    7005:	8b 14 b2             	mov    (%edx,%esi,4),%edx
+    7008:	8d 04 d0             	lea    (%eax,%edx,8),%eax
+    700b:	0f b6 48 04          	movzbl 0x4(%eax),%ecx
+    700f:	83 e9 08             	sub    $0x8,%ecx
+    7012:	83 f9 01             	cmp    $0x1,%ecx
+    7015:	77 e1                	ja     0x6ff8
+    7017:	8b 4d bc             	mov    -0x44(%ebp),%ecx
+    701a:	3b 08                	cmp    (%eax),%ecx
+    701c:	75 da                	jne    0x6ff8
+    701e:	8b 45 c8             	mov    -0x38(%ebp),%eax
+    7021:	89 d9                	mov    %ebx,%ecx
+    7023:	89 04 24             	mov    %eax,(%esp)
+    7026:	89 f8                	mov    %edi,%eax
+    7028:	e8 c3 b0 ff ff       	call   0x20f0
+    702d:	83 ec 04             	sub    $0x4,%esp
+    7030:	85 c0                	test   %eax,%eax
+    7032:	0f 85 fb fb ff ff    	jne    0x6c33
+    7038:	83 c6 01             	add    $0x1,%esi
+    703b:	3b 73 04             	cmp    0x4(%ebx),%esi
+    703e:	7c c0                	jl     0x7000
+    7040:	8b 55 c4             	mov    -0x3c(%ebp),%edx
+    7043:	83 45 cc 01          	addl   $0x1,-0x34(%ebp)
+    7047:	8b 4d cc             	mov    -0x34(%ebp),%ecx
+    704a:	3b 4a 04             	cmp    0x4(%edx),%ecx
+    704d:	0f 8c 65 ff ff ff    	jl     0x6fb8
+    7053:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
+    705a:	e9 91 fc ff ff       	jmp    0x6cf0
+    705f:	90                   	nop
+    7060:	8b 53 04             	mov    0x4(%ebx),%edx
+    7063:	85 d2                	test   %edx,%edx
+    7065:	89 55 ac             	mov    %edx,-0x54(%ebp)
+    7068:	7e d6                	jle    0x7040
+    706a:	8b 4b 08             	mov    0x8(%ebx),%ecx
+    706d:	ba ff ff ff ff       	mov    $0xffffffff,%edx
+    7072:	89 7d a0             	mov    %edi,-0x60(%ebp)
+    7075:	89 d7                	mov    %edx,%edi
+    7077:	c7 45 b4 ff ff ff ff 	movl   $0xffffffff,-0x4c(%ebp)
+    707e:	89 5d 98             	mov    %ebx,-0x68(%ebp)
+    7081:	89 4d a8             	mov    %ecx,-0x58(%ebp)
+    7084:	31 c9                	xor    %ecx,%ecx
+    7086:	66 90                	xchg   %ax,%ax
+    7088:	8b 5d a8             	mov    -0x58(%ebp),%ebx
+    708b:	8b 14 8b             	mov    (%ebx,%ecx,4),%edx
+    708e:	8d 34 d0             	lea    (%eax,%edx,8),%esi
+    7091:	0f b6 5e 04          	movzbl 0x4(%esi),%ebx
+    7095:	83 fb 08             	cmp    $0x8,%ebx
+    7098:	0f 84 0a 01 00 00    	je     0x71a8
+    709e:	83 fb 09             	cmp    $0x9,%ebx
+    70a1:	74 15                	je     0x70b8
+    70a3:	89 fa                	mov    %edi,%edx
+    70a5:	83 c1 01             	add    $0x1,%ecx
+    70a8:	3b 4d ac             	cmp    -0x54(%ebp),%ecx
+    70ab:	74 23                	je     0x70d0
+    70ad:	89 d7                	mov    %edx,%edi
+    70af:	eb d7                	jmp    0x7088
+    70b1:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
+    70b8:	8b 5d bc             	mov    -0x44(%ebp),%ebx
+    70bb:	3b 1e                	cmp    (%esi),%ebx
+    70bd:	75 e4                	jne    0x70a3
+    70bf:	83 c1 01             	add    $0x1,%ecx
+    70c2:	3b 4d ac             	cmp    -0x54(%ebp),%ecx
+    70c5:	89 55 b4             	mov    %edx,-0x4c(%ebp)
+    70c8:	89 fa                	mov    %edi,%edx
+    70ca:	75 e1                	jne    0x70ad
+    70cc:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    70d0:	85 d2                	test   %edx,%edx
+    70d2:	8b 7d a0             	mov    -0x60(%ebp),%edi
+    70d5:	8b 5d 98             	mov    -0x68(%ebp),%ebx
+    70d8:	78 1a                	js     0x70f4
+    70da:	8b 45 c8             	mov    -0x38(%ebp),%eax
+    70dd:	89 d9                	mov    %ebx,%ecx
+    70df:	89 04 24             	mov    %eax,(%esp)
+    70e2:	89 f8                	mov    %edi,%eax
+    70e4:	e8 07 b0 ff ff       	call   0x20f0
+    70e9:	83 ec 04             	sub    $0x4,%esp
+    70ec:	85 c0                	test   %eax,%eax
+    70ee:	0f 85 3f fb ff ff    	jne    0x6c33
+    70f4:	8b 45 b4             	mov    -0x4c(%ebp),%eax
+    70f7:	85 c0                	test   %eax,%eax
+    70f9:	0f 88 41 ff ff ff    	js     0x7040
+    70ff:	8b 73 04             	mov    0x4(%ebx),%esi
+    7102:	85 f6                	test   %esi,%esi
+    7104:	0f 8e 36 ff ff ff    	jle    0x7040
+    710a:	31 f6                	xor    %esi,%esi
+    710c:	89 7d bc             	mov    %edi,-0x44(%ebp)
+    710f:	eb 0f                	jmp    0x7120
+    7111:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
+    7118:	83 c6 01             	add    $0x1,%esi
+    711b:	3b 73 04             	cmp    0x4(%ebx),%esi
+    711e:	7d 68                	jge    0x7188
+    7120:	8b 43 08             	mov    0x8(%ebx),%eax
+    7123:	8b 55 bc             	mov    -0x44(%ebp),%edx
+    7126:	8b 3c b0             	mov    (%eax,%esi,4),%edi
+    7129:	8d 0c 7f             	lea    (%edi,%edi,2),%ecx
+    712c:	c1 e1 02             	shl    $0x2,%ecx
+    712f:	89 c8                	mov    %ecx,%eax
+    7131:	03 42 1c             	add    0x1c(%edx),%eax
+    7134:	8b 55 b4             	mov    -0x4c(%ebp),%edx
+    7137:	89 4d 90             	mov    %ecx,-0x70(%ebp)
+    713a:	e8 c1 8e ff ff       	call   0x0
+    713f:	8b 4d 90             	mov    -0x70(%ebp),%ecx
+    7142:	85 c0                	test   %eax,%eax
+    7144:	75 d2                	jne    0x7118
+    7146:	8b 55 bc             	mov    -0x44(%ebp),%edx
+    7149:	89 c8                	mov    %ecx,%eax
+    714b:	03 42 18             	add    0x18(%edx),%eax
+    714e:	8b 55 b4             	mov    -0x4c(%ebp),%edx
+    7151:	e8 aa 8e ff ff       	call   0x0
+    7156:	85 c0                	test   %eax,%eax
+    7158:	75 be                	jne    0x7118
+    715a:	8b 4d c8             	mov    -0x38(%ebp),%ecx
+    715d:	89 fa                	mov    %edi,%edx
+    715f:	89 0c 24             	mov    %ecx,(%esp)
+    7162:	8b 45 bc             	mov    -0x44(%ebp),%eax
+    7165:	89 d9                	mov    %ebx,%ecx
+    7167:	e8 84 af ff ff       	call   0x20f0
+    716c:	83 ec 04             	sub    $0x4,%esp
+    716f:	85 c0                	test   %eax,%eax
+    7171:	0f 85 bc fa ff ff    	jne    0x6c33
+    7177:	83 ee 01             	sub    $0x1,%esi
+    717a:	83 c6 01             	add    $0x1,%esi
+    717d:	3b 73 04             	cmp    0x4(%ebx),%esi
+    7180:	7c 9e                	jl     0x7120
+    7182:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
+    7188:	8b 55 c4             	mov    -0x3c(%ebp),%edx
+    718b:	83 45 cc 01          	addl   $0x1,-0x34(%ebp)
+    718f:	8b 4d cc             	mov    -0x34(%ebp),%ecx
+    7192:	8b 7d bc             	mov    -0x44(%ebp),%edi
+    7195:	3b 4a 04             	cmp    0x4(%edx),%ecx
+    7198:	0f 8c 1a fe ff ff    	jl     0x6fb8
+    719e:	e9 b0 fe ff ff       	jmp    0x7053
     71a3:	90                   	nop
     71a4:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    71a8:	e9 e8 fe ff ff       	jmp    0x7095
-    71ad:	8b 55 c0             	mov    -0x40(%ebp),%edx
-    71b0:	8b 02                	mov    (%edx),%eax
-    71b2:	89 45 d0             	mov    %eax,-0x30(%ebp)
-    71b5:	8b 42 04             	mov    0x4(%edx),%eax
-    71b8:	89 45 d4             	mov    %eax,-0x2c(%ebp)
-    71bb:	8b 42 08             	mov    0x8(%edx),%eax
-    71be:	89 45 d8             	mov    %eax,-0x28(%ebp)
-    71c1:	8b 42 0c             	mov    0xc(%edx),%eax
-    71c4:	89 45 dc             	mov    %eax,-0x24(%ebp)
-    71c7:	8b 42 10             	mov    0x10(%edx),%eax
-    71ca:	89 45 e0             	mov    %eax,-0x20(%ebp)
-    71cd:	8b 42 14             	mov    0x14(%edx),%eax
-    71d0:	89 45 e4             	mov    %eax,-0x1c(%ebp)
-    71d3:	8b 42 18             	mov    0x18(%edx),%eax
-    71d6:	8b 55 98             	mov    -0x68(%ebp),%edx
-    71d9:	89 45 e8             	mov    %eax,-0x18(%ebp)
-    71dc:	8d 45 e0             	lea    -0x20(%ebp),%eax
-    71df:	e8 9c ac ff ff       	call   0x1e80
-    71e4:	85 c0                	test   %eax,%eax
-    71e6:	0f 84 70 fc ff ff    	je     0x6e5c
-    71ec:	e9 53 fd ff ff       	jmp    0x6f44
-    71f1:	b8 0c 00 00 00       	mov    $0xc,%eax
-    71f6:	66 90                	xchg   %ax,%ax
-    71f8:	e9 26 fa ff ff       	jmp    0x6c23
-    71fd:	b8 0c 00 00 00       	mov    $0xc,%eax
-    7202:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
-    7208:	e9 37 fd ff ff       	jmp    0x6f44
-    720d:	8d 76 00             	lea    0x0(%esi),%esi
-    7210:	55                   	push   %ebp
-    7211:	b9 08 00 00 00       	mov    $0x8,%ecx
-    7216:	89 e5                	mov    %esp,%ebp
-    7218:	57                   	push   %edi
-    7219:	56                   	push   %esi
-    721a:	53                   	push   %ebx
-    721b:	81 ec f0 2c 00 00    	sub    $0x2cf0,%esp
-    7221:	89 85 30 ff ff ff    	mov    %eax,-0xd0(%ebp)
-    7227:	8d 44 24 1b          	lea    0x1b(%esp),%eax
-    722b:	83 e0 f0             	and    $0xfffffff0,%eax
-    722e:	89 85 38 ff ff ff    	mov    %eax,-0xc8(%ebp)
-    7234:	8d 5d a4             	lea    -0x5c(%ebp),%ebx
-    7237:	05 00 0c 00 00       	add    $0xc00,%eax
-    723c:	89 85 34 ff ff ff    	mov    %eax,-0xcc(%ebp)
-    7242:	89 df                	mov    %ebx,%edi
-    7244:	31 c0                	xor    %eax,%eax
-    7246:	c7 42 2c 00 00 00 00 	movl   $0x0,0x2c(%edx)
-    724d:	c7 42 30 00 00 00 00 	movl   $0x0,0x30(%edx)
-    7254:	f3 ab                	rep stos %eax,%es:(%edi)
-    7256:	89 95 44 ff ff ff    	mov    %edx,-0xbc(%ebp)
-    725c:	83 7a 08 00          	cmpl   $0x0,0x8(%edx)
-    7260:	0f 8e b2 09 00 00    	jle    0x7c18
-    7266:	c7 85 58 ff ff ff 00 	movl   $0x0,-0xa8(%ebp)
-    726d:	00 00 00 
-    7270:	c7 85 3c ff ff ff 00 	movl   $0x0,-0xc4(%ebp)
-    7277:	00 00 00 
-    727a:	eb 43                	jmp    0x72bf
-    727c:	83 bd 4c ff ff ff 03 	cmpl   $0x3,-0xb4(%ebp)
-    7283:	0f 84 33 04 00 00    	je     0x76bc
-    7289:	83 bd 4c ff ff ff 05 	cmpl   $0x5,-0xb4(%ebp)
-    7290:	0f 84 47 04 00 00    	je     0x76dd
-    7296:	83 bd 4c ff ff ff 07 	cmpl   $0x7,-0xb4(%ebp)
-    729d:	0f 84 d0 04 00 00    	je     0x7773
-    72a3:	8b bd 44 ff ff ff    	mov    -0xbc(%ebp),%edi
-    72a9:	83 85 3c ff ff ff 01 	addl   $0x1,-0xc4(%ebp)
-    72b0:	8b 85 3c ff ff ff    	mov    -0xc4(%ebp),%eax
-    72b6:	3b 47 08             	cmp    0x8(%edi),%eax
-    72b9:	0f 8d f3 04 00 00    	jge    0x77b2
-    72bf:	8b 85 3c ff ff ff    	mov    -0xc4(%ebp),%eax
-    72c5:	8b 95 44 ff ff ff    	mov    -0xbc(%ebp),%edx
-    72cb:	8b 8d 3c ff ff ff    	mov    -0xc4(%ebp),%ecx
-    72d1:	8b b5 30 ff ff ff    	mov    -0xd0(%ebp),%esi
-    72d7:	c1 e0 02             	shl    $0x2,%eax
-    72da:	89 85 40 ff ff ff    	mov    %eax,-0xc0(%ebp)
-    72e0:	8b 42 0c             	mov    0xc(%edx),%eax
-    72e3:	8b 36                	mov    (%esi),%esi
-    72e5:	8b 04 88             	mov    (%eax,%ecx,4),%eax
-    72e8:	c1 e0 03             	shl    $0x3,%eax
-    72eb:	01 f0                	add    %esi,%eax
-    72ed:	89 85 48 ff ff ff    	mov    %eax,-0xb8(%ebp)
-    72f3:	0f b6 78 04          	movzbl 0x4(%eax),%edi
-    72f7:	89 c2                	mov    %eax,%edx
-    72f9:	89 bd 4c ff ff ff    	mov    %edi,-0xb4(%ebp)
-    72ff:	8b 40 04             	mov    0x4(%eax),%eax
-    7302:	c1 e8 08             	shr    $0x8,%eax
-    7305:	89 c7                	mov    %eax,%edi
-    7307:	66 81 e7 ff 03       	and    $0x3ff,%di
-    730c:	83 bd 4c ff ff ff 01 	cmpl   $0x1,-0xb4(%ebp)
-    7313:	0f 85 63 ff ff ff    	jne    0x727c
-    7319:	0f b6 0a             	movzbl (%edx),%ecx
-    731c:	8b b5 4c ff ff ff    	mov    -0xb4(%ebp),%esi
-    7322:	89 c8                	mov    %ecx,%eax
-    7324:	83 e1 1f             	and    $0x1f,%ecx
-    7327:	c0 e8 05             	shr    $0x5,%al
-    732a:	0f b6 c0             	movzbl %al,%eax
-    732d:	d3 e6                	shl    %cl,%esi
-    732f:	09 74 85 a4          	or     %esi,-0x5c(%ebp,%eax,4)
-    7333:	0f b7 f7             	movzwl %di,%esi
-    7336:	85 f6                	test   %esi,%esi
-    7338:	0f 84 cd 00 00 00    	je     0x740b
-    733e:	f7 c6 20 00 00 00    	test   $0x20,%esi
-    7344:	0f 85 06 04 00 00    	jne    0x7750
-    734a:	89 f0                	mov    %esi,%eax
-    734c:	84 c0                	test   %al,%al
-    734e:	0f 88 ec 03 00 00    	js     0x7740
-    7354:	f7 c6 04 00 00 00    	test   $0x4,%esi
-    735a:	74 5b                	je     0x73b7
-    735c:	83 bd 4c ff ff ff 01 	cmpl   $0x1,-0xb4(%ebp)
-    7363:	0f 84 37 04 00 00    	je     0x77a0
-    7369:	8b 85 30 ff ff ff    	mov    -0xd0(%ebp),%eax
-    736f:	83 78 5c 01          	cmpl   $0x1,0x5c(%eax)
-    7373:	0f 8e da 07 00 00    	jle    0x7b53
-    7379:	8b 78 3c             	mov    0x3c(%eax),%edi
-    737c:	31 c9                	xor    %ecx,%ecx
-    737e:	31 c0                	xor    %eax,%eax
-    7380:	31 d2                	xor    %edx,%edx
-    7382:	89 b5 60 ff ff ff    	mov    %esi,-0xa0(%ebp)
-    7388:	8b 04 87             	mov    (%edi,%eax,4),%eax
-    738b:	8b b5 30 ff ff ff    	mov    -0xd0(%ebp),%esi
-    7391:	f7 d0                	not    %eax
-    7393:	0b 44 96 60          	or     0x60(%esi,%edx,4),%eax
-    7397:	23 04 93             	and    (%ebx,%edx,4),%eax
-    739a:	89 04 93             	mov    %eax,(%ebx,%edx,4)
-    739d:	83 c2 01             	add    $0x1,%edx
-    73a0:	09 c1                	or     %eax,%ecx
-    73a2:	83 fa 08             	cmp    $0x8,%edx
-    73a5:	89 d0                	mov    %edx,%eax
-    73a7:	75 df                	jne    0x7388
-    73a9:	8b b5 60 ff ff ff    	mov    -0xa0(%ebp),%esi
-    73af:	85 c9                	test   %ecx,%ecx
-    73b1:	0f 84 ec fe ff ff    	je     0x72a3
-    73b7:	83 e6 08             	and    $0x8,%esi
-    73ba:	74 4f                	je     0x740b
-    73bc:	83 bd 4c ff ff ff 01 	cmpl   $0x1,-0xb4(%ebp)
-    73c3:	0f 84 67 03 00 00    	je     0x7730
-    73c9:	8b 85 30 ff ff ff    	mov    -0xd0(%ebp),%eax
-    73cf:	83 78 5c 01          	cmpl   $0x1,0x5c(%eax)
-    73d3:	0f 8e 9d 07 00 00    	jle    0x7b76
-    73d9:	8b bd 30 ff ff ff    	mov    -0xd0(%ebp),%edi
-    73df:	31 c9                	xor    %ecx,%ecx
-    73e1:	31 d2                	xor    %edx,%edx
-    73e3:	8b 70 3c             	mov    0x3c(%eax),%esi
-    73e6:	31 c0                	xor    %eax,%eax
-    73e8:	8b 04 86             	mov    (%esi,%eax,4),%eax
-    73eb:	23 44 97 60          	and    0x60(%edi,%edx,4),%eax
-    73ef:	f7 d0                	not    %eax
-    73f1:	23 04 93             	and    (%ebx,%edx,4),%eax
-    73f4:	89 04 93             	mov    %eax,(%ebx,%edx,4)
-    73f7:	83 c2 01             	add    $0x1,%edx
-    73fa:	09 c1                	or     %eax,%ecx
-    73fc:	83 fa 08             	cmp    $0x8,%edx
-    73ff:	89 d0                	mov    %edx,%eax
-    7401:	75 e5                	jne    0x73e8
-    7403:	85 c9                	test   %ecx,%ecx
-    7405:	0f 84 98 fe ff ff    	je     0x72a3
-    740b:	8b 85 58 ff ff ff    	mov    -0xa8(%ebp),%eax
-    7411:	c7 85 5c ff ff ff 00 	movl   $0x0,-0xa4(%ebp)
-    7418:	00 00 00 
-    741b:	85 c0                	test   %eax,%eax
-    741d:	0f 8e f7 01 00 00    	jle    0x761a
-    7423:	8b bd 38 ff ff ff    	mov    -0xc8(%ebp),%edi
-    7429:	8b 85 58 ff ff ff    	mov    -0xa8(%ebp),%eax
-    742f:	83 bd 4c ff ff ff 01 	cmpl   $0x1,-0xb4(%ebp)
-    7436:	8b b5 34 ff ff ff    	mov    -0xcc(%ebp),%esi
-    743c:	89 bd 54 ff ff ff    	mov    %edi,-0xac(%ebp)
-    7442:	89 85 5c ff ff ff    	mov    %eax,-0xa4(%ebp)
-    7448:	c7 85 50 ff ff ff 00 	movl   $0x0,-0xb0(%ebp)
-    744f:	00 00 00 
-    7452:	0f 84 8c 01 00 00    	je     0x75e4
-    7458:	31 c9                	xor    %ecx,%ecx
-    745a:	31 c0                	xor    %eax,%eax
-    745c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    7460:	8b 14 86             	mov    (%esi,%eax,4),%edx
-    7463:	23 14 83             	and    (%ebx,%eax,4),%edx
-    7466:	89 54 85 84          	mov    %edx,-0x7c(%ebp,%eax,4)
-    746a:	83 c0 01             	add    $0x1,%eax
-    746d:	09 d1                	or     %edx,%ecx
-    746f:	83 f8 08             	cmp    $0x8,%eax
-    7472:	75 ec                	jne    0x7460
-    7474:	85 c9                	test   %ecx,%ecx
-    7476:	0f 84 26 01 00 00    	je     0x75a2
-    747c:	c7 85 60 ff ff ff 00 	movl   $0x0,-0xa0(%ebp)
-    7483:	00 00 00 
-    7486:	31 ff                	xor    %edi,%edi
-    7488:	30 c0                	xor    %al,%al
-    748a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
-    7490:	8b 0c 83             	mov    (%ebx,%eax,4),%ecx
-    7493:	89 ca                	mov    %ecx,%edx
-    7495:	f7 d2                	not    %edx
-    7497:	23 14 86             	and    (%esi,%eax,4),%edx
-    749a:	89 94 85 64 ff ff ff 	mov    %edx,-0x9c(%ebp,%eax,4)
-    74a1:	09 d7                	or     %edx,%edi
-    74a3:	8b 14 86             	mov    (%esi,%eax,4),%edx
-    74a6:	f7 d2                	not    %edx
-    74a8:	21 ca                	and    %ecx,%edx
-    74aa:	89 14 83             	mov    %edx,(%ebx,%eax,4)
-    74ad:	83 c0 01             	add    $0x1,%eax
-    74b0:	09 95 60 ff ff ff    	or     %edx,-0xa0(%ebp)
-    74b6:	83 f8 08             	cmp    $0x8,%eax
-    74b9:	75 d5                	jne    0x7490
-    74bb:	85 ff                	test   %edi,%edi
-    74bd:	0f 84 b0 00 00 00    	je     0x7573
-    74c3:	8b 85 58 ff ff ff    	mov    -0xa8(%ebp),%eax
-    74c9:	8b 95 64 ff ff ff    	mov    -0x9c(%ebp),%edx
-    74cf:	c1 e0 05             	shl    $0x5,%eax
-    74d2:	03 85 34 ff ff ff    	add    -0xcc(%ebp),%eax
-    74d8:	89 10                	mov    %edx,(%eax)
-    74da:	8b 95 68 ff ff ff    	mov    -0x98(%ebp),%edx
-    74e0:	89 50 04             	mov    %edx,0x4(%eax)
-    74e3:	8b 95 6c ff ff ff    	mov    -0x94(%ebp),%edx
-    74e9:	89 50 08             	mov    %edx,0x8(%eax)
-    74ec:	8b 95 70 ff ff ff    	mov    -0x90(%ebp),%edx
-    74f2:	89 50 0c             	mov    %edx,0xc(%eax)
-    74f5:	8b 95 74 ff ff ff    	mov    -0x8c(%ebp),%edx
-    74fb:	89 50 10             	mov    %edx,0x10(%eax)
-    74fe:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
-    7504:	89 50 14             	mov    %edx,0x14(%eax)
-    7507:	8b 95 7c ff ff ff    	mov    -0x84(%ebp),%edx
-    750d:	89 50 18             	mov    %edx,0x18(%eax)
-    7510:	8b 55 80             	mov    -0x80(%ebp),%edx
-    7513:	89 50 1c             	mov    %edx,0x1c(%eax)
-    7516:	8b 45 84             	mov    -0x7c(%ebp),%eax
-    7519:	89 06                	mov    %eax,(%esi)
-    751b:	8b 45 88             	mov    -0x78(%ebp),%eax
-    751e:	89 46 04             	mov    %eax,0x4(%esi)
-    7521:	8b 45 8c             	mov    -0x74(%ebp),%eax
-    7524:	89 46 08             	mov    %eax,0x8(%esi)
-    7527:	8b 45 90             	mov    -0x70(%ebp),%eax
-    752a:	89 46 0c             	mov    %eax,0xc(%esi)
-    752d:	8b 45 94             	mov    -0x6c(%ebp),%eax
-    7530:	89 46 10             	mov    %eax,0x10(%esi)
-    7533:	8b 45 98             	mov    -0x68(%ebp),%eax
-    7536:	89 46 14             	mov    %eax,0x14(%esi)
-    7539:	8b 45 9c             	mov    -0x64(%ebp),%eax
-    753c:	89 46 18             	mov    %eax,0x18(%esi)
-    753f:	8b 45 a0             	mov    -0x60(%ebp),%eax
-    7542:	89 46 1c             	mov    %eax,0x1c(%esi)
-    7545:	8b bd 58 ff ff ff    	mov    -0xa8(%ebp),%edi
-    754b:	8b 95 38 ff ff ff    	mov    -0xc8(%ebp),%edx
-    7551:	8d 04 7f             	lea    (%edi,%edi,2),%eax
-    7554:	8d 04 82             	lea    (%edx,%eax,4),%eax
-    7557:	8b 95 54 ff ff ff    	mov    -0xac(%ebp),%edx
-    755d:	e8 1e a9 ff ff       	call   0x1e80
-    7562:	85 c0                	test   %eax,%eax
-    7564:	0f 85 6f 08 00 00    	jne    0x7dd9
-    756a:	83 c7 01             	add    $0x1,%edi
-    756d:	89 bd 5c ff ff ff    	mov    %edi,-0xa4(%ebp)
-    7573:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
-    7579:	8b bd 40 ff ff ff    	mov    -0xc0(%ebp),%edi
-    757f:	8b 41 0c             	mov    0xc(%ecx),%eax
-    7582:	8b 14 38             	mov    (%eax,%edi,1),%edx
-    7585:	8b 85 54 ff ff ff    	mov    -0xac(%ebp),%eax
-    758b:	e8 50 a3 ff ff       	call   0x18e0
-    7590:	85 c0                	test   %eax,%eax
-    7592:	0f 88 41 08 00 00    	js     0x7dd9
-    7598:	8b bd 60 ff ff ff    	mov    -0xa0(%ebp),%edi
-    759e:	85 ff                	test   %edi,%edi
-    75a0:	74 60                	je     0x7602
-    75a2:	8b 95 50 ff ff ff    	mov    -0xb0(%ebp),%edx
-    75a8:	83 c6 20             	add    $0x20,%esi
-    75ab:	8b 85 5c ff ff ff    	mov    -0xa4(%ebp),%eax
-    75b1:	83 85 54 ff ff ff 0c 	addl   $0xc,-0xac(%ebp)
-    75b8:	83 c2 01             	add    $0x1,%edx
-    75bb:	39 c2                	cmp    %eax,%edx
-    75bd:	89 85 58 ff ff ff    	mov    %eax,-0xa8(%ebp)
-    75c3:	89 95 5c ff ff ff    	mov    %edx,-0xa4(%ebp)
-    75c9:	7d 4f                	jge    0x761a
-    75cb:	83 bd 4c ff ff ff 01 	cmpl   $0x1,-0xb4(%ebp)
-    75d2:	89 95 50 ff ff ff    	mov    %edx,-0xb0(%ebp)
-    75d8:	89 85 5c ff ff ff    	mov    %eax,-0xa4(%ebp)
-    75de:	0f 85 74 fe ff ff    	jne    0x7458
-    75e4:	8b 8d 48 ff ff ff    	mov    -0xb8(%ebp),%ecx
-    75ea:	0f b6 11             	movzbl (%ecx),%edx
-    75ed:	89 d0                	mov    %edx,%eax
-    75ef:	c0 e8 05             	shr    $0x5,%al
-    75f2:	0f b6 c0             	movzbl %al,%eax
-    75f5:	8b 04 86             	mov    (%esi,%eax,4),%eax
-    75f8:	0f a3 d0             	bt     %edx,%eax
-    75fb:	73 a5                	jae    0x75a2
-    75fd:	e9 56 fe ff ff       	jmp    0x7458
-    7602:	8b 8d 5c ff ff ff    	mov    -0xa4(%ebp),%ecx
-    7608:	8b b5 50 ff ff ff    	mov    -0xb0(%ebp),%esi
-    760e:	89 8d 58 ff ff ff    	mov    %ecx,-0xa8(%ebp)
-    7614:	89 b5 5c ff ff ff    	mov    %esi,-0xa4(%ebp)
-    761a:	8b bd 58 ff ff ff    	mov    -0xa8(%ebp),%edi
-    7620:	39 bd 5c ff ff ff    	cmp    %edi,-0xa4(%ebp)
-    7626:	0f 85 77 fc ff ff    	jne    0x72a3
-    762c:	8b bd 5c ff ff ff    	mov    -0xa4(%ebp),%edi
-    7632:	89 de                	mov    %ebx,%esi
-    7634:	ba 20 00 00 00       	mov    $0x20,%edx
-    7639:	c1 e7 05             	shl    $0x5,%edi
-    763c:	03 bd 34 ff ff ff    	add    -0xcc(%ebp),%edi
-    7642:	f7 c7 02 00 00 00    	test   $0x2,%edi
-    7648:	0f 85 6a 05 00 00    	jne    0x7bb8
-    764e:	89 d1                	mov    %edx,%ecx
-    7650:	31 c0                	xor    %eax,%eax
-    7652:	c1 e9 02             	shr    $0x2,%ecx
-    7655:	f6 c2 02             	test   $0x2,%dl
-    7658:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
-    765a:	74 0b                	je     0x7667
-    765c:	0f b7 06             	movzwl (%esi),%eax
-    765f:	66 89 07             	mov    %ax,(%edi)
-    7662:	b8 02 00 00 00       	mov    $0x2,%eax
-    7667:	80 e2 01             	and    $0x1,%dl
-    766a:	74 07                	je     0x7673
-    766c:	0f b6 14 06          	movzbl (%esi,%eax,1),%edx
-    7670:	88 14 07             	mov    %dl,(%edi,%eax,1)
-    7673:	8b 95 44 ff ff ff    	mov    -0xbc(%ebp),%edx
-    7679:	8b 8d 40 ff ff ff    	mov    -0xc0(%ebp),%ecx
-    767f:	8b 42 0c             	mov    0xc(%edx),%eax
-    7682:	8b 14 08             	mov    (%eax,%ecx,1),%edx
-    7685:	6b 85 5c ff ff ff 0c 	imul   $0xc,-0xa4(%ebp),%eax
-    768c:	03 85 38 ff ff ff    	add    -0xc8(%ebp),%eax
-    7692:	e8 b9 93 ff ff       	call   0xa50
-    7697:	85 c0                	test   %eax,%eax
-    7699:	0f 85 3a 07 00 00    	jne    0x7dd9
-    769f:	8b b5 5c ff ff ff    	mov    -0xa4(%ebp),%esi
-    76a5:	b9 08 00 00 00       	mov    $0x8,%ecx
-    76aa:	89 df                	mov    %ebx,%edi
-    76ac:	f3 ab                	rep stos %eax,%es:(%edi)
-    76ae:	83 c6 01             	add    $0x1,%esi
-    76b1:	89 b5 58 ff ff ff    	mov    %esi,-0xa8(%ebp)
-    76b7:	e9 e7 fb ff ff       	jmp    0x72a3
-    76bc:	8b 85 48 ff ff ff    	mov    -0xb8(%ebp),%eax
-    76c2:	31 d2                	xor    %edx,%edx
-    76c4:	8b 08                	mov    (%eax),%ecx
-    76c6:	31 c0                	xor    %eax,%eax
-    76c8:	8b 34 91             	mov    (%ecx,%edx,4),%esi
-    76cb:	83 c0 01             	add    $0x1,%eax
-    76ce:	09 34 93             	or     %esi,(%ebx,%edx,4)
-    76d1:	83 f8 08             	cmp    $0x8,%eax
-    76d4:	89 c2                	mov    %eax,%edx
-    76d6:	75 f0                	jne    0x76c8
-    76d8:	e9 56 fc ff ff       	jmp    0x7333
-    76dd:	8b 95 30 ff ff ff    	mov    -0xd0(%ebp),%edx
-    76e3:	83 7a 5c 01          	cmpl   $0x1,0x5c(%edx)
-    76e7:	0f 8e ae 04 00 00    	jle    0x7b9b
-    76ed:	8b 4a 3c             	mov    0x3c(%edx),%ecx
-    76f0:	31 c0                	xor    %eax,%eax
-    76f2:	31 d2                	xor    %edx,%edx
-    76f4:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    76f8:	8b 34 91             	mov    (%ecx,%edx,4),%esi
-    76fb:	83 c0 01             	add    $0x1,%eax
-    76fe:	09 34 93             	or     %esi,(%ebx,%edx,4)
-    7701:	83 f8 08             	cmp    $0x8,%eax
-    7704:	89 c2                	mov    %eax,%edx
-    7706:	75 f0                	jne    0x76f8
-    7708:	8b 8d 30 ff ff ff    	mov    -0xd0(%ebp),%ecx
-    770e:	8b 81 80 00 00 00    	mov    0x80(%ecx),%eax
-    7714:	a8 40                	test   $0x40,%al
-    7716:	75 07                	jne    0x771f
-    7718:	81 65 a4 ff fb ff ff 	andl   $0xfffffbff,-0x5c(%ebp)
-    771f:	84 c0                	test   %al,%al
-    7721:	0f 89 0c fc ff ff    	jns    0x7333
-    7727:	83 65 a4 fe          	andl   $0xfffffffe,-0x5c(%ebp)
-    772b:	e9 03 fc ff ff       	jmp    0x7333
-    7730:	8b 85 48 ff ff ff    	mov    -0xb8(%ebp),%eax
-    7736:	f6 40 06 40          	testb  $0x40,0x6(%eax)
-    773a:	0f 84 89 fc ff ff    	je     0x73c9
-    7740:	b9 08 00 00 00       	mov    $0x8,%ecx
-    7745:	31 c0                	xor    %eax,%eax
-    7747:	89 df                	mov    %ebx,%edi
-    7749:	f3 ab                	rep stos %eax,%es:(%edi)
-    774b:	e9 53 fb ff ff       	jmp    0x72a3
-    7750:	8b 55 a4             	mov    -0x5c(%ebp),%edx
-    7753:	31 c0                	xor    %eax,%eax
-    7755:	b9 08 00 00 00       	mov    $0x8,%ecx
-    775a:	89 df                	mov    %ebx,%edi
-    775c:	f3 ab                	rep stos %eax,%es:(%edi)
-    775e:	80 e6 04             	and    $0x4,%dh
-    7761:	0f 84 3c fb ff ff    	je     0x72a3
-    7767:	81 4d a4 00 04 00 00 	orl    $0x400,-0x5c(%ebp)
-    776e:	e9 d7 fb ff ff       	jmp    0x734a
-    7773:	c7 44 24 08 10 00 00 	movl   $0x10,0x8(%esp)
-    777a:	00 
-    777b:	c7 44 24 04 ff ff ff 	movl   $0xffffffff,0x4(%esp)
-    7782:	ff 
-    7783:	89 1c 24             	mov    %ebx,(%esp)
-    7786:	e8 fc ff ff ff       	call   0x7787
-    778b:	8b b5 30 ff ff ff    	mov    -0xd0(%ebp),%esi
-    7791:	8b 86 80 00 00 00    	mov    0x80(%esi),%eax
-    7797:	a8 40                	test   $0x40,%al
-    7799:	75 84                	jne    0x771f
-    779b:	e9 78 ff ff ff       	jmp    0x7718
-    77a0:	8b 85 48 ff ff ff    	mov    -0xb8(%ebp),%eax
-    77a6:	f6 40 06 40          	testb  $0x40,0x6(%eax)
-    77aa:	0f 85 b9 fb ff ff    	jne    0x7369
-    77b0:	eb 8e                	jmp    0x7740
-    77b2:	83 bd 58 ff ff ff 00 	cmpl   $0x0,-0xa8(%ebp)
-    77b9:	0f 8e 53 04 00 00    	jle    0x7c12
-    77bf:	8b 95 58 ff ff ff    	mov    -0xa8(%ebp),%edx
-    77c5:	8d 45 e4             	lea    -0x1c(%ebp),%eax
-    77c8:	83 c2 01             	add    $0x1,%edx
-    77cb:	e8 50 92 ff ff       	call   0xa20
-    77d0:	85 c0                	test   %eax,%eax
-    77d2:	89 45 f0             	mov    %eax,-0x10(%ebp)
-    77d5:	0f 85 43 03 00 00    	jne    0x7b1e
-    77db:	81 bd 58 ff ff ff aa 	cmpl   $0x155551aa,-0xa8(%ebp)
-    77e2:	51 55 15 
-    77e5:	0f 87 33 03 00 00    	ja     0x7b1e
-    77eb:	6b 85 58 ff ff ff 0c 	imul   $0xc,-0xa8(%ebp),%eax
-    77f2:	8d 90 00 2c 00 00    	lea    0x2c00(%eax),%edx
-    77f8:	81 fa 00 00 01 00    	cmp    $0x10000,%edx
-    77fe:	0f 87 ec 03 00 00    	ja     0x7bf0
-    7804:	83 c0 10             	add    $0x10,%eax
-    7807:	29 c4                	sub    %eax,%esp
-    7809:	8d 4c 24 1b          	lea    0x1b(%esp),%ecx
-    780d:	83 e1 f0             	and    $0xfffffff0,%ecx
-    7810:	89 8d 5c ff ff ff    	mov    %ecx,-0xa4(%ebp)
-    7816:	c6 85 40 ff ff ff 00 	movb   $0x0,-0xc0(%ebp)
-    781d:	8b bd 5c ff ff ff    	mov    -0xa4(%ebp),%edi
-    7823:	8d 55 c4             	lea    -0x3c(%ebp),%edx
-    7826:	b9 08 00 00 00       	mov    $0x8,%ecx
-    782b:	8b 85 58 ff ff ff    	mov    -0xa8(%ebp),%eax
-    7831:	8b b5 58 ff ff ff    	mov    -0xa8(%ebp),%esi
-    7837:	89 95 28 ff ff ff    	mov    %edx,-0xd8(%ebp)
-    783d:	c7 85 4c ff ff ff 00 	movl   $0x0,-0xb4(%ebp)
-    7844:	00 00 00 
-    7847:	8d 04 c7             	lea    (%edi,%eax,8),%eax
-    784a:	8d 34 b7             	lea    (%edi,%esi,4),%esi
-    784d:	89 d7                	mov    %edx,%edi
-    784f:	89 85 50 ff ff ff    	mov    %eax,-0xb0(%ebp)
-    7855:	31 c0                	xor    %eax,%eax
-    7857:	f3 ab                	rep stos %eax,%es:(%edi)
-    7859:	8b 85 38 ff ff ff    	mov    -0xc8(%ebp),%eax
-    785f:	31 ff                	xor    %edi,%edi
-    7861:	89 bd 60 ff ff ff    	mov    %edi,-0xa0(%ebp)
-    7867:	8b bd 30 ff ff ff    	mov    -0xd0(%ebp),%edi
-    786d:	89 b5 54 ff ff ff    	mov    %esi,-0xac(%ebp)
-    7873:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
-    7879:	89 c3                	mov    %eax,%ebx
-    787b:	90                   	nop
-    787c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    7880:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
-    7887:	8b 4b 04             	mov    0x4(%ebx),%ecx
-    788a:	85 c9                	test   %ecx,%ecx
-    788c:	7e 37                	jle    0x78c5
-    788e:	31 f6                	xor    %esi,%esi
-    7890:	8b 43 08             	mov    0x8(%ebx),%eax
-    7893:	8b 14 b0             	mov    (%eax,%esi,4),%edx
-    7896:	8b 47 0c             	mov    0xc(%edi),%eax
-    7899:	8b 04 90             	mov    (%eax,%edx,4),%eax
-    789c:	83 f8 ff             	cmp    $0xffffffff,%eax
-    789f:	74 1c                	je     0x78bd
-    78a1:	8d 14 40             	lea    (%eax,%eax,2),%edx
-    78a4:	c1 e2 02             	shl    $0x2,%edx
-    78a7:	03 57 18             	add    0x18(%edi),%edx
-    78aa:	8d 45 e4             	lea    -0x1c(%ebp),%eax
-    78ad:	e8 8e 9e ff ff       	call   0x1740
-    78b2:	85 c0                	test   %eax,%eax
-    78b4:	89 45 f0             	mov    %eax,-0x10(%ebp)
-    78b7:	0f 85 4a 02 00 00    	jne    0x7b07
-    78bd:	83 c6 01             	add    $0x1,%esi
-    78c0:	39 73 04             	cmp    %esi,0x4(%ebx)
-    78c3:	7f cb                	jg     0x7890
-    78c5:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
-    78c8:	89 fa                	mov    %edi,%edx
-    78ca:	8d 45 f0             	lea    -0x10(%ebp),%eax
-    78cd:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
-    78d4:	e8 37 cc ff ff       	call   0x4510
-    78d9:	8b 95 60 ff ff ff    	mov    -0xa0(%ebp),%edx
-    78df:	8b 8d 5c ff ff ff    	mov    -0xa4(%ebp),%ecx
-    78e5:	83 ec 04             	sub    $0x4,%esp
-    78e8:	85 c0                	test   %eax,%eax
-    78ea:	89 04 91             	mov    %eax,(%ecx,%edx,4)
-    78ed:	0f 84 4b 04 00 00    	je     0x7d3e
-    78f3:	80 78 34 00          	cmpb   $0x0,0x34(%eax)
-    78f7:	0f 88 7d 01 00 00    	js     0x7a7a
-    78fd:	8b b5 60 ff ff ff    	mov    -0xa0(%ebp),%esi
-    7903:	8b 95 54 ff ff ff    	mov    -0xac(%ebp),%edx
-    7909:	8b 8d 5c ff ff ff    	mov    -0xa4(%ebp),%ecx
-    790f:	89 04 b2             	mov    %eax,(%edx,%esi,4)
-    7912:	8b 95 50 ff ff ff    	mov    -0xb0(%ebp),%edx
-    7918:	8b 04 b1             	mov    (%ecx,%esi,4),%eax
-    791b:	89 04 b2             	mov    %eax,(%edx,%esi,4)
-    791e:	8b b5 60 ff ff ff    	mov    -0xa0(%ebp),%esi
-    7924:	31 d2                	xor    %edx,%edx
-    7926:	31 c0                	xor    %eax,%eax
-    7928:	c1 e6 05             	shl    $0x5,%esi
-    792b:	03 b5 34 ff ff ff    	add    -0xcc(%ebp),%esi
-    7931:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
-    7938:	8b 0c 96             	mov    (%esi,%edx,4),%ecx
-    793b:	83 c0 01             	add    $0x1,%eax
-    793e:	09 4c 95 c4          	or     %ecx,-0x3c(%ebp,%edx,4)
-    7942:	83 f8 08             	cmp    $0x8,%eax
-    7945:	89 c2                	mov    %eax,%edx
-    7947:	75 ef                	jne    0x7938
-    7949:	83 85 60 ff ff ff 01 	addl   $0x1,-0xa0(%ebp)
-    7950:	83 c3 0c             	add    $0xc,%ebx
-    7953:	8b 8d 58 ff ff ff    	mov    -0xa8(%ebp),%ecx
-    7959:	39 8d 60 ff ff ff    	cmp    %ecx,-0xa0(%ebp)
-    795f:	0f 8c 1b ff ff ff    	jl     0x7880
-    7965:	83 bd 4c ff ff ff 00 	cmpl   $0x0,-0xb4(%ebp)
-    796c:	0f 85 4d 03 00 00    	jne    0x7cbf
-    7972:	c7 44 24 04 00 01 00 	movl   $0x100,0x4(%esp)
-    7979:	00 
-    797a:	c7 04 24 04 00 00 00 	movl   $0x4,(%esp)
-    7981:	e8 fc ff ff ff       	call   0x7982
-    7986:	8b 9d 44 ff ff ff    	mov    -0xbc(%ebp),%ebx
-    798c:	85 c0                	test   %eax,%eax
-    798e:	89 c7                	mov    %eax,%edi
-    7990:	89 85 48 ff ff ff    	mov    %eax,-0xb8(%ebp)
-    7996:	89 43 2c             	mov    %eax,0x2c(%ebx)
-    7999:	0f 84 68 01 00 00    	je     0x7b07
-    799f:	31 d2                	xor    %edx,%edx
-    79a1:	31 db                	xor    %ebx,%ebx
-    79a3:	8b 44 9d c4          	mov    -0x3c(%ebp,%ebx,4),%eax
-    79a7:	85 c0                	test   %eax,%eax
-    79a9:	74 44                	je     0x79ef
-    79ab:	8b b5 38 ff ff ff    	mov    -0xc8(%ebp),%esi
-    79b1:	c1 e2 07             	shl    $0x7,%edx
-    79b4:	b9 01 00 00 00       	mov    $0x1,%ecx
-    79b9:	8d 14 17             	lea    (%edi,%edx,1),%edx
-    79bc:	89 bd 44 ff ff ff    	mov    %edi,-0xbc(%ebp)
-    79c2:	8d b4 9e 00 0c 00 00 	lea    0xc00(%esi,%ebx,4),%esi
-    79c9:	89 b5 34 ff ff ff    	mov    %esi,-0xcc(%ebp)
-    79cf:	eb 09                	jmp    0x79da
-    79d1:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
-    79d8:	01 c9                	add    %ecx,%ecx
-    79da:	a8 01                	test   $0x1,%al
-    79dc:	0f 85 6f 02 00 00    	jne    0x7c51
-    79e2:	83 c2 04             	add    $0x4,%edx
-    79e5:	d1 e8                	shr    %eax
-    79e7:	75 ef                	jne    0x79d8
-    79e9:	8b bd 44 ff ff ff    	mov    -0xbc(%ebp),%edi
-    79ef:	83 c3 01             	add    $0x1,%ebx
-    79f2:	83 fb 08             	cmp    $0x8,%ebx
-    79f5:	89 da                	mov    %ebx,%edx
-    79f7:	75 aa                	jne    0x79a3
-    79f9:	f6 45 c5 04          	testb  $0x4,-0x3b(%ebp)
-    79fd:	74 23                	je     0x7a22
-    79ff:	8b 95 38 ff ff ff    	mov    -0xc8(%ebp),%edx
-    7a05:	31 c0                	xor    %eax,%eax
-    7a07:	f6 82 01 0c 00 00 04 	testb  $0x4,0xc01(%edx)
-    7a0e:	0f 85 ae 01 00 00    	jne    0x7bc2
-    7a14:	83 c0 01             	add    $0x1,%eax
-    7a17:	83 c2 20             	add    $0x20,%edx
-    7a1a:	3b 85 58 ff ff ff    	cmp    -0xa8(%ebp),%eax
-    7a20:	7c e5                	jl     0x7a07
-    7a22:	80 bd 40 ff ff ff 00 	cmpb   $0x0,-0xc0(%ebp)
-    7a29:	74 0e                	je     0x7a39
-    7a2b:	8b bd 5c ff ff ff    	mov    -0xa4(%ebp),%edi
-    7a31:	89 3c 24             	mov    %edi,(%esp)
-    7a34:	e8 fc ff ff ff       	call   0x7a35
-    7a39:	8b 45 ec             	mov    -0x14(%ebp),%eax
-    7a3c:	31 db                	xor    %ebx,%ebx
-    7a3e:	89 04 24             	mov    %eax,(%esp)
-    7a41:	e8 fc ff ff ff       	call   0x7a42
-    7a46:	8b bd 58 ff ff ff    	mov    -0xa8(%ebp),%edi
-    7a4c:	8b b5 3c ff ff ff    	mov    -0xc4(%ebp),%esi
-    7a52:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
-    7a58:	8b 46 08             	mov    0x8(%esi),%eax
-    7a5b:	83 c3 01             	add    $0x1,%ebx
-    7a5e:	83 c6 0c             	add    $0xc,%esi
-    7a61:	89 04 24             	mov    %eax,(%esp)
-    7a64:	e8 fc ff ff ff       	call   0x7a65
-    7a69:	39 fb                	cmp    %edi,%ebx
-    7a6b:	7c eb                	jl     0x7a58
-    7a6d:	b8 01 00 00 00       	mov    $0x1,%eax
-    7a72:	8d 65 f4             	lea    -0xc(%ebp),%esp
-    7a75:	5b                   	pop    %ebx
-    7a76:	5e                   	pop    %esi
-    7a77:	5f                   	pop    %edi
-    7a78:	5d                   	pop    %ebp
-    7a79:	c3                   	ret    
-    7a7a:	89 fa                	mov    %edi,%edx
-    7a7c:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
-    7a7f:	8d 45 f0             	lea    -0x10(%ebp),%eax
-    7a82:	c7 04 24 01 00 00 00 	movl   $0x1,(%esp)
-    7a89:	e8 82 ca ff ff       	call   0x4510
-    7a8e:	8b b5 60 ff ff ff    	mov    -0xa0(%ebp),%esi
-    7a94:	8b 95 54 ff ff ff    	mov    -0xac(%ebp),%edx
-    7a9a:	83 ec 04             	sub    $0x4,%esp
-    7a9d:	85 c0                	test   %eax,%eax
-    7a9f:	89 04 b2             	mov    %eax,(%edx,%esi,4)
-    7aa2:	0f 84 9a 01 00 00    	je     0x7c42
-    7aa8:	8b 8d 60 ff ff ff    	mov    -0xa0(%ebp),%ecx
-    7aae:	8b b5 5c ff ff ff    	mov    -0xa4(%ebp),%esi
-    7ab4:	3b 04 8e             	cmp    (%esi,%ecx,4),%eax
-    7ab7:	74 16                	je     0x7acf
-    7ab9:	83 7f 5c 02          	cmpl   $0x2,0x5c(%edi)
-    7abd:	b8 01 00 00 00       	mov    $0x1,%eax
-    7ac2:	0f 4c 85 4c ff ff ff 	cmovl  -0xb4(%ebp),%eax
-    7ac9:	89 85 4c ff ff ff    	mov    %eax,-0xb4(%ebp)
-    7acf:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
-    7ad2:	89 fa                	mov    %edi,%edx
-    7ad4:	8d 45 f0             	lea    -0x10(%ebp),%eax
-    7ad7:	c7 04 24 02 00 00 00 	movl   $0x2,(%esp)
-    7ade:	e8 2d ca ff ff       	call   0x4510
-    7ae3:	8b 95 60 ff ff ff    	mov    -0xa0(%ebp),%edx
-    7ae9:	8b 8d 50 ff ff ff    	mov    -0xb0(%ebp),%ecx
-    7aef:	83 ec 04             	sub    $0x4,%esp
-    7af2:	85 c0                	test   %eax,%eax
-    7af4:	89 04 91             	mov    %eax,(%ecx,%edx,4)
-    7af7:	0f 85 21 fe ff ff    	jne    0x791e
-    7afd:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
-    7b01:	0f 84 17 fe ff ff    	je     0x791e
-    7b07:	80 bd 40 ff ff ff 00 	cmpb   $0x0,-0xc0(%ebp)
-    7b0e:	74 0e                	je     0x7b1e
-    7b10:	8b 9d 5c ff ff ff    	mov    -0xa4(%ebp),%ebx
-    7b16:	89 1c 24             	mov    %ebx,(%esp)
-    7b19:	e8 fc ff ff ff       	call   0x7b1a
-    7b1e:	8b 45 ec             	mov    -0x14(%ebp),%eax
-    7b21:	31 db                	xor    %ebx,%ebx
-    7b23:	89 04 24             	mov    %eax,(%esp)
-    7b26:	e8 fc ff ff ff       	call   0x7b27
-    7b2b:	8b b5 38 ff ff ff    	mov    -0xc8(%ebp),%esi
-    7b31:	8b bd 58 ff ff ff    	mov    -0xa8(%ebp),%edi
-    7b37:	8b 46 08             	mov    0x8(%esi),%eax
-    7b3a:	83 c3 01             	add    $0x1,%ebx
-    7b3d:	83 c6 0c             	add    $0xc,%esi
-    7b40:	89 04 24             	mov    %eax,(%esp)
-    7b43:	e8 fc ff ff ff       	call   0x7b44
-    7b48:	39 fb                	cmp    %edi,%ebx
-    7b4a:	7c eb                	jl     0x7b37
-    7b4c:	31 c0                	xor    %eax,%eax
-    7b4e:	e9 1f ff ff ff       	jmp    0x7a72
-    7b53:	31 c9                	xor    %ecx,%ecx
-    7b55:	31 c0                	xor    %eax,%eax
-    7b57:	8b bd 30 ff ff ff    	mov    -0xd0(%ebp),%edi
-    7b5d:	8b 54 87 60          	mov    0x60(%edi,%eax,4),%edx
-    7b61:	23 14 83             	and    (%ebx,%eax,4),%edx
-    7b64:	89 14 83             	mov    %edx,(%ebx,%eax,4)
-    7b67:	83 c0 01             	add    $0x1,%eax
-    7b6a:	09 d1                	or     %edx,%ecx
-    7b6c:	83 f8 08             	cmp    $0x8,%eax
-    7b6f:	75 e6                	jne    0x7b57
-    7b71:	e9 39 f8 ff ff       	jmp    0x73af
-    7b76:	31 c9                	xor    %ecx,%ecx
-    7b78:	31 d2                	xor    %edx,%edx
-    7b7a:	8b b5 30 ff ff ff    	mov    -0xd0(%ebp),%esi
-    7b80:	8b 44 96 60          	mov    0x60(%esi,%edx,4),%eax
-    7b84:	f7 d0                	not    %eax
-    7b86:	23 04 93             	and    (%ebx,%edx,4),%eax
-    7b89:	89 04 93             	mov    %eax,(%ebx,%edx,4)
-    7b8c:	83 c2 01             	add    $0x1,%edx
-    7b8f:	09 c1                	or     %eax,%ecx
-    7b91:	83 fa 08             	cmp    $0x8,%edx
-    7b94:	75 e4                	jne    0x7b7a
-    7b96:	e9 68 f8 ff ff       	jmp    0x7403
-    7b9b:	c7 44 24 08 20 00 00 	movl   $0x20,0x8(%esp)
-    7ba2:	00 
-    7ba3:	c7 44 24 04 ff ff ff 	movl   $0xffffffff,0x4(%esp)
-    7baa:	ff 
-    7bab:	89 1c 24             	mov    %ebx,(%esp)
-    7bae:	e8 fc ff ff ff       	call   0x7baf
-    7bb3:	e9 50 fb ff ff       	jmp    0x7708
-    7bb8:	66 a5                	movsw  %ds:(%esi),%es:(%edi)
-    7bba:	83 ea 02             	sub    $0x2,%edx
-    7bbd:	e9 8c fa ff ff       	jmp    0x764e
-    7bc2:	8b 9d 50 ff ff ff    	mov    -0xb0(%ebp),%ebx
-    7bc8:	8b b5 48 ff ff ff    	mov    -0xb8(%ebp),%esi
-    7bce:	83 bd 4c ff ff ff 00 	cmpl   $0x0,-0xb4(%ebp)
-    7bd5:	8d 04 83             	lea    (%ebx,%eax,4),%eax
-    7bd8:	8b 10                	mov    (%eax),%edx
-    7bda:	89 56 28             	mov    %edx,0x28(%esi)
-    7bdd:	0f 84 3f fe ff ff    	je     0x7a22
-    7be3:	8b 00                	mov    (%eax),%eax
-    7be5:	89 86 28 04 00 00    	mov    %eax,0x428(%esi)
-    7beb:	e9 32 fe ff ff       	jmp    0x7a22
-    7bf0:	89 04 24             	mov    %eax,(%esp)
-    7bf3:	e8 fc ff ff ff       	call   0x7bf4
-    7bf8:	c6 85 40 ff ff ff 01 	movb   $0x1,-0xc0(%ebp)
-    7bff:	85 c0                	test   %eax,%eax
-    7c01:	89 85 5c ff ff ff    	mov    %eax,-0xa4(%ebp)
-    7c07:	0f 85 10 fc ff ff    	jne    0x781d
-    7c0d:	e9 0c ff ff ff       	jmp    0x7b1e
-    7c12:	0f 85 34 ff ff ff    	jne    0x7b4c
-    7c18:	c7 44 24 04 00 01 00 	movl   $0x100,0x4(%esp)
-    7c1f:	00 
-    7c20:	c7 04 24 04 00 00 00 	movl   $0x4,(%esp)
-    7c27:	e8 fc ff ff ff       	call   0x7c28
-    7c2c:	8b 95 44 ff ff ff    	mov    -0xbc(%ebp),%edx
-    7c32:	85 c0                	test   %eax,%eax
-    7c34:	89 42 2c             	mov    %eax,0x2c(%edx)
-    7c37:	0f 95 c0             	setne  %al
-    7c3a:	0f b6 c0             	movzbl %al,%eax
-    7c3d:	e9 30 fe ff ff       	jmp    0x7a72
-    7c42:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
-    7c46:	0f 84 5c fe ff ff    	je     0x7aa8
-    7c4c:	e9 b6 fe ff ff       	jmp    0x7b07
-    7c51:	8b bd 34 ff ff ff    	mov    -0xcc(%ebp),%edi
-    7c57:	31 f6                	xor    %esi,%esi
-    7c59:	89 95 24 ff ff ff    	mov    %edx,-0xdc(%ebp)
-    7c5f:	89 85 20 ff ff ff    	mov    %eax,-0xe0(%ebp)
-    7c65:	89 bd 60 ff ff ff    	mov    %edi,-0xa0(%ebp)
-    7c6b:	8b bd 44 ff ff ff    	mov    -0xbc(%ebp),%edi
-    7c71:	eb 03                	jmp    0x7c76
-    7c73:	83 c6 01             	add    $0x1,%esi
-    7c76:	8b 85 60 ff ff ff    	mov    -0xa0(%ebp),%eax
-    7c7c:	8b 10                	mov    (%eax),%edx
-    7c7e:	83 c0 20             	add    $0x20,%eax
-    7c81:	89 85 60 ff ff ff    	mov    %eax,-0xa0(%ebp)
-    7c87:	21 ca                	and    %ecx,%edx
-    7c89:	85 d2                	test   %edx,%edx
-    7c8b:	74 e6                	je     0x7c73
-    7c8d:	89 bd 44 ff ff ff    	mov    %edi,-0xbc(%ebp)
-    7c93:	8b bd 30 ff ff ff    	mov    -0xd0(%ebp),%edi
-    7c99:	8b 95 24 ff ff ff    	mov    -0xdc(%ebp),%edx
-    7c9f:	8b 85 20 ff ff ff    	mov    -0xe0(%ebp),%eax
-    7ca5:	85 4c 9f 60          	test   %ecx,0x60(%edi,%ebx,4)
-    7ca9:	0f 84 df 00 00 00    	je     0x7d8e
-    7caf:	8b bd 54 ff ff ff    	mov    -0xac(%ebp),%edi
-    7cb5:	8b 34 b7             	mov    (%edi,%esi,4),%esi
-    7cb8:	89 32                	mov    %esi,(%edx)
-    7cba:	e9 23 fd ff ff       	jmp    0x79e2
-    7cbf:	c7 44 24 04 00 02 00 	movl   $0x200,0x4(%esp)
-    7cc6:	00 
-    7cc7:	c7 04 24 04 00 00 00 	movl   $0x4,(%esp)
-    7cce:	e8 fc ff ff ff       	call   0x7ccf
-    7cd3:	89 c1                	mov    %eax,%ecx
-    7cd5:	89 85 48 ff ff ff    	mov    %eax,-0xb8(%ebp)
-    7cdb:	8b 85 44 ff ff ff    	mov    -0xbc(%ebp),%eax
-    7ce1:	85 c9                	test   %ecx,%ecx
-    7ce3:	89 48 30             	mov    %ecx,0x30(%eax)
-    7ce6:	0f 84 1b fe ff ff    	je     0x7b07
-    7cec:	31 d2                	xor    %edx,%edx
-    7cee:	31 c0                	xor    %eax,%eax
-    7cf0:	8b 9d 38 ff ff ff    	mov    -0xc8(%ebp),%ebx
-    7cf6:	c1 e2 05             	shl    $0x5,%edx
-    7cf9:	31 f6                	xor    %esi,%esi
-    7cfb:	89 95 44 ff ff ff    	mov    %edx,-0xbc(%ebp)
-    7d01:	8b 54 85 c4          	mov    -0x3c(%ebp,%eax,4),%edx
-    7d05:	c7 85 60 ff ff ff 01 	movl   $0x1,-0xa0(%ebp)
-    7d0c:	00 00 00 
-    7d0f:	89 85 24 ff ff ff    	mov    %eax,-0xdc(%ebp)
-    7d15:	8d 9c 83 00 0c 00 00 	lea    0xc00(%ebx,%eax,4),%ebx
-    7d1c:	89 9d 30 ff ff ff    	mov    %ebx,-0xd0(%ebp)
-    7d22:	89 8d 20 ff ff ff    	mov    %ecx,-0xe0(%ebp)
-    7d28:	85 d2                	test   %edx,%edx
-    7d2a:	74 43                	je     0x7d6f
-    7d2c:	f6 c2 01             	test   $0x1,%dl
-    7d2f:	75 1c                	jne    0x7d4d
-    7d31:	d1 a5 60 ff ff ff    	shll   -0xa0(%ebp)
-    7d37:	83 c6 04             	add    $0x4,%esi
-    7d3a:	d1 ea                	shr    %edx
-    7d3c:	eb ea                	jmp    0x7d28
-    7d3e:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
-    7d42:	0f 84 ab fb ff ff    	je     0x78f3
-    7d48:	e9 ba fd ff ff       	jmp    0x7b07
-    7d4d:	8b bd 30 ff ff ff    	mov    -0xd0(%ebp),%edi
-    7d53:	31 db                	xor    %ebx,%ebx
-    7d55:	8b 8d 20 ff ff ff    	mov    -0xe0(%ebp),%ecx
-    7d5b:	8b 85 60 ff ff ff    	mov    -0xa0(%ebp),%eax
-    7d61:	23 07                	and    (%edi),%eax
-    7d63:	83 c7 20             	add    $0x20,%edi
-    7d66:	85 c0                	test   %eax,%eax
-    7d68:	75 34                	jne    0x7d9e
-    7d6a:	83 c3 01             	add    $0x1,%ebx
-    7d6d:	eb ec                	jmp    0x7d5b
-    7d6f:	8b 85 24 ff ff ff    	mov    -0xdc(%ebp),%eax
-    7d75:	8b 8d 20 ff ff ff    	mov    -0xe0(%ebp),%ecx
-    7d7b:	83 c0 01             	add    $0x1,%eax
-    7d7e:	83 f8 08             	cmp    $0x8,%eax
-    7d81:	89 c2                	mov    %eax,%edx
-    7d83:	0f 85 67 ff ff ff    	jne    0x7cf0
-    7d89:	e9 6b fc ff ff       	jmp    0x79f9
-    7d8e:	8b bd 5c ff ff ff    	mov    -0xa4(%ebp),%edi
-    7d94:	8b 34 b7             	mov    (%edi,%esi,4),%esi
-    7d97:	89 32                	mov    %esi,(%edx)
-    7d99:	e9 44 fc ff ff       	jmp    0x79e2
-    7d9e:	89 8d 20 ff ff ff    	mov    %ecx,-0xe0(%ebp)
-    7da4:	01 f1                	add    %esi,%ecx
-    7da6:	8b bd 44 ff ff ff    	mov    -0xbc(%ebp),%edi
-    7dac:	89 8d 34 ff ff ff    	mov    %ecx,-0xcc(%ebp)
-    7db2:	8b 8d 5c ff ff ff    	mov    -0xa4(%ebp),%ecx
-    7db8:	8b 85 34 ff ff ff    	mov    -0xcc(%ebp),%eax
-    7dbe:	8b 0c 99             	mov    (%ecx,%ebx,4),%ecx
-    7dc1:	89 0c b8             	mov    %ecx,(%eax,%edi,4)
-    7dc4:	8b 8d 54 ff ff ff    	mov    -0xac(%ebp),%ecx
-    7dca:	8b 1c 99             	mov    (%ecx,%ebx,4),%ebx
-    7dcd:	89 9c b8 00 04 00 00 	mov    %ebx,0x400(%eax,%edi,4)
-    7dd4:	e9 58 ff ff ff       	jmp    0x7d31
-    7dd9:	8b b5 38 ff ff ff    	mov    -0xc8(%ebp),%esi
-    7ddf:	31 db                	xor    %ebx,%ebx
-    7de1:	3b 9d 5c ff ff ff    	cmp    -0xa4(%ebp),%ebx
-    7de7:	0f 8d 5f fd ff ff    	jge    0x7b4c
-    7ded:	8b 46 08             	mov    0x8(%esi),%eax
-    7df0:	83 c3 01             	add    $0x1,%ebx
-    7df3:	83 c6 0c             	add    $0xc,%esi
-    7df6:	89 04 24             	mov    %eax,(%esp)
-    7df9:	e8 fc ff ff ff       	call   0x7dfa
-    7dfe:	eb e1                	jmp    0x7de1
-    7e00:	55                   	push   %ebp
-    7e01:	89 e5                	mov    %esp,%ebp
-    7e03:	57                   	push   %edi
-    7e04:	56                   	push   %esi
-    7e05:	53                   	push   %ebx
-    7e06:	83 ec 64             	sub    $0x64,%esp
-    7e09:	8b 00                	mov    (%eax),%eax
-    7e0b:	89 4d c0             	mov    %ecx,-0x40(%ebp)
-    7e0e:	8b 4d 0c             	mov    0xc(%ebp),%ecx
-    7e11:	89 55 d0             	mov    %edx,-0x30(%ebp)
-    7e14:	8b 75 08             	mov    0x8(%ebp),%esi
-    7e17:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
-    7e1e:	89 45 c4             	mov    %eax,-0x3c(%ebp)
-    7e21:	85 c9                	test   %ecx,%ecx
-    7e23:	c7 45 dc 02 00 00 00 	movl   $0x2,-0x24(%ebp)
-    7e2a:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
-    7e31:	c7 45 cc 00 00 00 00 	movl   $0x0,-0x34(%ebp)
-    7e38:	74 24                	je     0x7e5e
-    7e3a:	c7 04 24 30 00 00 00 	movl   $0x30,(%esp)
-    7e41:	e8 fc ff ff ff       	call   0x7e42
-    7e46:	89 c2                	mov    %eax,%edx
-    7e48:	85 d2                	test   %edx,%edx
-    7e4a:	89 45 e0             	mov    %eax,-0x20(%ebp)
-    7e4d:	b8 0c 00 00 00       	mov    $0xc,%eax
-    7e52:	0f 84 53 01 00 00    	je     0x7fab
-    7e58:	8d 45 d8             	lea    -0x28(%ebp),%eax
-    7e5b:	89 45 cc             	mov    %eax,-0x34(%ebp)
-    7e5e:	8b 4d c0             	mov    -0x40(%ebp),%ecx
-    7e61:	8b 55 c4             	mov    -0x3c(%ebp),%edx
-    7e64:	c1 e1 03             	shl    $0x3,%ecx
-    7e67:	81 f9 00 00 01 00    	cmp    $0x10000,%ecx
-    7e6d:	8b 5a 48             	mov    0x48(%edx),%ebx
-    7e70:	89 4d b4             	mov    %ecx,-0x4c(%ebp)
-    7e73:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
-    7e7a:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
-    7e81:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
-    7e88:	0f 86 27 01 00 00    	jbe    0x7fb5
-    7e8e:	8b 45 b4             	mov    -0x4c(%ebp),%eax
-    7e91:	89 04 24             	mov    %eax,(%esp)
-    7e94:	e8 fc ff ff ff       	call   0x7e95
-    7e99:	c7 45 b0 01 00 00 00 	movl   $0x1,-0x50(%ebp)
-    7ea0:	85 c0                	test   %eax,%eax
-    7ea2:	89 45 b8             	mov    %eax,-0x48(%ebp)
-    7ea5:	0f 84 fa 04 00 00    	je     0x83a5
-    7eab:	8b 55 b4             	mov    -0x4c(%ebp),%edx
-    7eae:	8b 4d b8             	mov    -0x48(%ebp),%ecx
-    7eb1:	89 74 24 04          	mov    %esi,0x4(%esp)
-    7eb5:	89 54 24 08          	mov    %edx,0x8(%esp)
-    7eb9:	89 0c 24             	mov    %ecx,(%esp)
-    7ebc:	e8 fc ff ff ff       	call   0x7ebd
-    7ec1:	8b 06                	mov    (%esi),%eax
-    7ec3:	8b 56 04             	mov    0x4(%esi),%edx
-    7ec6:	89 45 f0             	mov    %eax,-0x10(%ebp)
-    7ec9:	39 c2                	cmp    %eax,%edx
-    7ecb:	0f 8c bc 00 00 00    	jl     0x7f8d
-    7ed1:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
-    7ed8:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
-    7edb:	8d 3c dd 00 00 00 00 	lea    0x0(,%ebx,8),%edi
-    7ee2:	89 7d d4             	mov    %edi,-0x2c(%ebp)
-    7ee5:	89 5d c8             	mov    %ebx,-0x38(%ebp)
-    7ee8:	03 39                	add    (%ecx),%edi
-    7eea:	0f b6 4f 04          	movzbl 0x4(%edi),%ecx
-    7eee:	83 f9 08             	cmp    $0x8,%ecx
-    7ef1:	0f 84 51 01 00 00    	je     0x8048
-    7ef7:	83 f9 09             	cmp    $0x9,%ecx
-    7efa:	0f 84 70 01 00 00    	je     0x8070
-    7f00:	39 c2                	cmp    %eax,%edx
-    7f02:	75 0c                	jne    0x7f10
-    7f04:	8b 55 d0             	mov    -0x30(%ebp),%edx
-    7f07:	39 5a 60             	cmp    %ebx,0x60(%edx)
-    7f0a:	0f 84 d8 01 00 00    	je     0x80e8
-    7f10:	8b 4d d0             	mov    -0x30(%ebp),%ecx
-    7f13:	8b 55 d4             	mov    -0x2c(%ebp),%edx
-    7f16:	8b 79 54             	mov    0x54(%ecx),%edi
-    7f19:	03 17                	add    (%edi),%edx
-    7f1b:	0f b6 42 04          	movzbl 0x4(%edx),%eax
-    7f1f:	a8 08                	test   $0x8,%al
-    7f21:	0f 85 d5 02 00 00    	jne    0x81fc
-    7f27:	f6 42 06 10          	testb  $0x10,0x6(%edx)
-    7f2b:	0f 85 a7 00 00 00    	jne    0x7fd8
-    7f31:	3c 04                	cmp    $0x4,%al
-    7f33:	0f 84 87 01 00 00    	je     0x80c0
-    7f39:	8b 45 f0             	mov    -0x10(%ebp),%eax
-    7f3c:	89 45 bc             	mov    %eax,-0x44(%ebp)
-    7f3f:	8b 4d bc             	mov    -0x44(%ebp),%ecx
-    7f42:	8b 45 d0             	mov    -0x30(%ebp),%eax
-    7f45:	e8 36 ad ff ff       	call   0x2c80
-    7f4a:	85 c0                	test   %eax,%eax
-    7f4c:	0f 84 ca 00 00 00    	je     0x801c
-    7f52:	8b 47 0c             	mov    0xc(%edi),%eax
-    7f55:	8b 55 c8             	mov    -0x38(%ebp),%edx
-    7f58:	8b 7d cc             	mov    -0x34(%ebp),%edi
-    7f5b:	8b 1c 90             	mov    (%eax,%edx,4),%ebx
-    7f5e:	8b 55 bc             	mov    -0x44(%ebp),%edx
-    7f61:	83 c2 01             	add    $0x1,%edx
-    7f64:	85 ff                	test   %edi,%edi
-    7f66:	89 55 f0             	mov    %edx,-0x10(%ebp)
-    7f69:	0f 85 a1 00 00 00    	jne    0x8010
-    7f6f:	90                   	nop
-    7f70:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
-    7f77:	85 db                	test   %ebx,%ebx
-    7f79:	0f 88 de 04 00 00    	js     0x845d
-    7f7f:	8b 45 f0             	mov    -0x10(%ebp),%eax
-    7f82:	8b 56 04             	mov    0x4(%esi),%edx
-    7f85:	39 c2                	cmp    %eax,%edx
-    7f87:	0f 8d 4b ff ff ff    	jge    0x7ed8
-    7f8d:	8b 45 ec             	mov    -0x14(%ebp),%eax
-    7f90:	89 04 24             	mov    %eax,(%esp)
-    7f93:	e8 fc ff ff ff       	call   0x7f94
-    7f98:	8b 55 b0             	mov    -0x50(%ebp),%edx
-    7f9b:	85 d2                	test   %edx,%edx
-    7f9d:	0f 85 e2 02 00 00    	jne    0x8285
-    7fa3:	8b 45 cc             	mov    -0x34(%ebp),%eax
-    7fa6:	e8 a5 8f ff ff       	call   0xf50
-    7fab:	8d 65 f4             	lea    -0xc(%ebp),%esp
-    7fae:	5b                   	pop    %ebx
-    7faf:	5e                   	pop    %esi
-    7fb0:	5f                   	pop    %edi
-    7fb1:	5d                   	pop    %ebp
-    7fb2:	c2 08 00             	ret    $0x8
-    7fb5:	89 c8                	mov    %ecx,%eax
-    7fb7:	83 c0 10             	add    $0x10,%eax
-    7fba:	29 c4                	sub    %eax,%esp
-    7fbc:	8d 7c 24 1b          	lea    0x1b(%esp),%edi
-    7fc0:	83 e7 f0             	and    $0xfffffff0,%edi
-    7fc3:	89 7d b8             	mov    %edi,-0x48(%ebp)
-    7fc6:	c7 45 b0 00 00 00 00 	movl   $0x0,-0x50(%ebp)
-    7fcd:	e9 d9 fe ff ff       	jmp    0x7eab
-    7fd2:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
-    7fd8:	8b 45 f0             	mov    -0x10(%ebp),%eax
-    7fdb:	89 da                	mov    %ebx,%edx
-    7fdd:	8b 4d d0             	mov    -0x30(%ebp),%ecx
-    7fe0:	89 04 24             	mov    %eax,(%esp)
-    7fe3:	89 f8                	mov    %edi,%eax
-    7fe5:	e8 46 ce ff ff       	call   0x4e30
-    7fea:	83 ec 04             	sub    $0x4,%esp
-    7fed:	85 c0                	test   %eax,%eax
-    7fef:	89 c2                	mov    %eax,%edx
-    7ff1:	0f 84 5b 04 00 00    	je     0x8452
-    7ff7:	8b 4d f0             	mov    -0x10(%ebp),%ecx
-    7ffa:	8b 47 0c             	mov    0xc(%edi),%eax
-    7ffd:	01 ca                	add    %ecx,%edx
-    7fff:	8b 7d cc             	mov    -0x34(%ebp),%edi
-    8002:	8b 1c 98             	mov    (%eax,%ebx,4),%ebx
-    8005:	85 ff                	test   %edi,%edi
-    8007:	89 55 f0             	mov    %edx,-0x10(%ebp)
-    800a:	0f 84 60 ff ff ff    	je     0x7f70
-    8010:	8b 4d d0             	mov    -0x30(%ebp),%ecx
-    8013:	3b 51 5c             	cmp    0x5c(%ecx),%edx
-    8016:	0f 8e 79 02 00 00    	jle    0x8295
-    801c:	83 7d cc 00          	cmpl   $0x0,-0x34(%ebp)
-    8020:	0f 84 fd 03 00 00    	je     0x8423
-    8026:	8d 45 e4             	lea    -0x1c(%ebp),%eax
-    8029:	8b 4d c0             	mov    -0x40(%ebp),%ecx
-    802c:	89 44 24 04          	mov    %eax,0x4(%esp)
-    8030:	8b 45 cc             	mov    -0x34(%ebp),%eax
-    8033:	8d 55 f0             	lea    -0x10(%ebp),%edx
-    8036:	89 34 24             	mov    %esi,(%esp)
-    8039:	e8 82 92 ff ff       	call   0x12c0
-    803e:	51                   	push   %ecx
-    803f:	89 c3                	mov    %eax,%ebx
-    8041:	51                   	push   %ecx
-    8042:	e9 38 ff ff ff       	jmp    0x7f7f
-    8047:	90                   	nop
-    8048:	8b 0f                	mov    (%edi),%ecx
-    804a:	83 c1 01             	add    $0x1,%ecx
-    804d:	39 4d c0             	cmp    %ecx,-0x40(%ebp)
-    8050:	0f 8e aa fe ff ff    	jle    0x7f00
-    8056:	8d 14 ce             	lea    (%esi,%ecx,8),%edx
-    8059:	89 02                	mov    %eax,(%edx)
-    805b:	8b 45 f0             	mov    -0x10(%ebp),%eax
-    805e:	c7 42 04 ff ff ff ff 	movl   $0xffffffff,0x4(%edx)
-    8065:	8b 56 04             	mov    0x4(%esi),%edx
-    8068:	e9 93 fe ff ff       	jmp    0x7f00
-    806d:	8d 76 00             	lea    0x0(%esi),%esi
-    8070:	8b 0f                	mov    (%edi),%ecx
-    8072:	83 c1 01             	add    $0x1,%ecx
-    8075:	39 4d c0             	cmp    %ecx,-0x40(%ebp)
-    8078:	0f 8e 82 fe ff ff    	jle    0x7f00
-    807e:	8d 14 ce             	lea    (%esi,%ecx,8),%edx
-    8081:	39 02                	cmp    %eax,(%edx)
-    8083:	0f 8c 4f 01 00 00    	jl     0x81d8
-    8089:	f6 47 06 08          	testb  $0x8,0x6(%edi)
-    808d:	0f 84 c5 00 00 00    	je     0x8158
-    8093:	8b 7d b8             	mov    -0x48(%ebp),%edi
-    8096:	83 3c cf ff          	cmpl   $0xffffffff,(%edi,%ecx,8)
-    809a:	0f 84 b8 00 00 00    	je     0x8158
-    80a0:	8b 45 b4             	mov    -0x4c(%ebp),%eax
-    80a3:	89 7c 24 04          	mov    %edi,0x4(%esp)
-    80a7:	89 34 24             	mov    %esi,(%esp)
-    80aa:	89 44 24 08          	mov    %eax,0x8(%esp)
-    80ae:	e8 fc ff ff ff       	call   0x80af
-    80b3:	8b 56 04             	mov    0x4(%esi),%edx
-    80b6:	8b 45 f0             	mov    -0x10(%ebp),%eax
-    80b9:	e9 42 fe ff ff       	jmp    0x7f00
-    80be:	66 90                	xchg   %ax,%ax
-    80c0:	8b 02                	mov    (%edx),%eax
-    80c2:	8d 44 c6 08          	lea    0x8(%esi,%eax,8),%eax
-    80c6:	8b 48 04             	mov    0x4(%eax),%ecx
-    80c9:	8b 00                	mov    (%eax),%eax
-    80cb:	89 ca                	mov    %ecx,%edx
-    80cd:	29 c2                	sub    %eax,%edx
-    80cf:	83 7d cc 00          	cmpl   $0x0,-0x34(%ebp)
-    80d3:	0f 85 8f 00 00 00    	jne    0x8168
-    80d9:	85 d2                	test   %edx,%edx
-    80db:	0f 85 16 ff ff ff    	jne    0x7ff7
-    80e1:	e9 a0 00 00 00       	jmp    0x8186
-    80e6:	66 90                	xchg   %ax,%ax
-    80e8:	8b 55 cc             	mov    -0x34(%ebp),%edx
-    80eb:	85 d2                	test   %edx,%edx
-    80ed:	8d 76 00             	lea    0x0(%esi),%esi
-    80f0:	0f 84 f2 01 00 00    	je     0x82e8
-    80f6:	8b 45 c0             	mov    -0x40(%ebp),%eax
-    80f9:	85 c0                	test   %eax,%eax
-    80fb:	0f 84 8c fe ff ff    	je     0x7f8d
-    8101:	8b 5d c0             	mov    -0x40(%ebp),%ebx
-    8104:	31 c9                	xor    %ecx,%ecx
-    8106:	31 c0                	xor    %eax,%eax
-    8108:	8d 14 ce             	lea    (%esi,%ecx,8),%edx
-    810b:	8b 3a                	mov    (%edx),%edi
-    810d:	85 ff                	test   %edi,%edi
-    810f:	78 06                	js     0x8117
-    8111:	83 7a 04 ff          	cmpl   $0xffffffff,0x4(%edx)
-    8115:	74 09                	je     0x8120
-    8117:	83 c0 01             	add    $0x1,%eax
-    811a:	39 c3                	cmp    %eax,%ebx
-    811c:	89 c1                	mov    %eax,%ecx
-    811e:	77 e8                	ja     0x8108
-    8120:	39 4d c0             	cmp    %ecx,-0x40(%ebp)
-    8123:	0f 84 64 fe ff ff    	je     0x7f8d
-    8129:	8b 4d c0             	mov    -0x40(%ebp),%ecx
-    812c:	8d 7d e4             	lea    -0x1c(%ebp),%edi
-    812f:	8b 45 cc             	mov    -0x34(%ebp),%eax
-    8132:	8d 55 f0             	lea    -0x10(%ebp),%edx
-    8135:	89 7c 24 04          	mov    %edi,0x4(%esp)
-    8139:	89 34 24             	mov    %esi,(%esp)
-    813c:	e8 7f 91 ff ff       	call   0x12c0
-    8141:	89 c3                	mov    %eax,%ebx
-    8143:	83 ec 08             	sub    $0x8,%esp
-    8146:	89 45 c8             	mov    %eax,-0x38(%ebp)
-    8149:	8d 04 c5 00 00 00 00 	lea    0x0(,%eax,8),%eax
-    8150:	89 45 d4             	mov    %eax,-0x2c(%ebp)
-    8153:	e9 b8 fd ff ff       	jmp    0x7f10
-    8158:	89 42 04             	mov    %eax,0x4(%edx)
-    815b:	8b 45 f0             	mov    -0x10(%ebp),%eax
-    815e:	8b 56 04             	mov    0x4(%esi),%edx
-    8161:	e9 9a fd ff ff       	jmp    0x7f00
-    8166:	66 90                	xchg   %ax,%ax
-    8168:	83 f8 ff             	cmp    $0xffffffff,%eax
-    816b:	0f 84 ab fe ff ff    	je     0x801c
-    8171:	83 f9 ff             	cmp    $0xffffffff,%ecx
-    8174:	0f 84 a2 fe ff ff    	je     0x801c
-    817a:	85 d2                	test   %edx,%edx
-    817c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    8180:	0f 85 60 02 00 00    	jne    0x83e6
-    8186:	89 da                	mov    %ebx,%edx
-    8188:	8d 45 e4             	lea    -0x1c(%ebp),%eax
-    818b:	e8 50 97 ff ff       	call   0x18e0
-    8190:	85 c0                	test   %eax,%eax
-    8192:	0f 88 f1 01 00 00    	js     0x8389
-    8198:	8b 57 14             	mov    0x14(%edi),%edx
-    819b:	8d 04 5b             	lea    (%ebx,%ebx,2),%eax
-    819e:	8b 44 82 08          	mov    0x8(%edx,%eax,4),%eax
-    81a2:	8b 55 d0             	mov    -0x30(%ebp),%edx
-    81a5:	8b 18                	mov    (%eax),%ebx
-    81a7:	8b 45 f0             	mov    -0x10(%ebp),%eax
-    81aa:	89 45 bc             	mov    %eax,-0x44(%ebp)
-    81ad:	8b 42 64             	mov    0x64(%edx),%eax
-    81b0:	89 da                	mov    %ebx,%edx
-    81b2:	8b 4d bc             	mov    -0x44(%ebp),%ecx
-    81b5:	8b 04 88             	mov    (%eax,%ecx,4),%eax
-    81b8:	83 c0 04             	add    $0x4,%eax
-    81bb:	e8 40 7e ff ff       	call   0x0
-    81c0:	85 c0                	test   %eax,%eax
-    81c2:	0f 85 af fd ff ff    	jne    0x7f77
-    81c8:	8b 55 d4             	mov    -0x2c(%ebp),%edx
-    81cb:	03 17                	add    (%edi),%edx
-    81cd:	e9 6d fd ff ff       	jmp    0x7f3f
-    81d2:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
-    81d8:	89 42 04             	mov    %eax,0x4(%edx)
-    81db:	8b 7d b4             	mov    -0x4c(%ebp),%edi
-    81de:	8b 45 b8             	mov    -0x48(%ebp),%eax
-    81e1:	89 74 24 04          	mov    %esi,0x4(%esp)
-    81e5:	89 7c 24 08          	mov    %edi,0x8(%esp)
-    81e9:	89 04 24             	mov    %eax,(%esp)
-    81ec:	e8 fc ff ff ff       	call   0x81ed
-    81f1:	8b 56 04             	mov    0x4(%esi),%edx
-    81f4:	8b 45 f0             	mov    -0x10(%ebp),%eax
-    81f7:	e9 04 fd ff ff       	jmp    0x7f00
-    81fc:	8b 51 64             	mov    0x64(%ecx),%edx
-    81ff:	8b 45 f0             	mov    -0x10(%ebp),%eax
-    8202:	8b 7f 14             	mov    0x14(%edi),%edi
-    8205:	8b 04 82             	mov    (%edx,%eax,4),%eax
-    8208:	89 da                	mov    %ebx,%edx
-    820a:	83 c0 04             	add    $0x4,%eax
-    820d:	89 45 bc             	mov    %eax,-0x44(%ebp)
-    8210:	8d 45 e4             	lea    -0x1c(%ebp),%eax
-    8213:	e8 c8 96 ff ff       	call   0x18e0
-    8218:	85 c0                	test   %eax,%eax
-    821a:	0f 88 69 01 00 00    	js     0x8389
-    8220:	8d 04 5b             	lea    (%ebx,%ebx,2),%eax
-    8223:	8d 04 87             	lea    (%edi,%eax,4),%eax
-    8226:	8b 78 04             	mov    0x4(%eax),%edi
-    8229:	85 ff                	test   %edi,%edi
-    822b:	89 7d d4             	mov    %edi,-0x2c(%ebp)
-    822e:	0f 8e e8 fd ff ff    	jle    0x801c
-    8234:	8b 40 08             	mov    0x8(%eax),%eax
-    8237:	31 ff                	xor    %edi,%edi
-    8239:	89 75 a8             	mov    %esi,-0x58(%ebp)
-    823c:	be ff ff ff ff       	mov    $0xffffffff,%esi
-    8241:	c7 45 ac ff ff ff ff 	movl   $0xffffffff,-0x54(%ebp)
-    8248:	89 45 c8             	mov    %eax,-0x38(%ebp)
-    824b:	eb 12                	jmp    0x825f
-    824d:	8d 76 00             	lea    0x0(%esi),%esi
-    8250:	83 fe ff             	cmp    $0xffffffff,%esi
-    8253:	75 6b                	jne    0x82c0
-    8255:	83 c7 01             	add    $0x1,%edi
-    8258:	3b 7d d4             	cmp    -0x2c(%ebp),%edi
-    825b:	7d 20                	jge    0x827d
-    825d:	89 de                	mov    %ebx,%esi
-    825f:	8b 45 c8             	mov    -0x38(%ebp),%eax
-    8262:	8b 1c b8             	mov    (%eax,%edi,4),%ebx
-    8265:	8b 45 bc             	mov    -0x44(%ebp),%eax
-    8268:	89 da                	mov    %ebx,%edx
-    826a:	e8 91 7d ff ff       	call   0x0
-    826f:	85 c0                	test   %eax,%eax
-    8271:	75 dd                	jne    0x8250
-    8273:	83 c7 01             	add    $0x1,%edi
-    8276:	89 f3                	mov    %esi,%ebx
-    8278:	3b 7d d4             	cmp    -0x2c(%ebp),%edi
-    827b:	7c e0                	jl     0x825d
-    827d:	8b 75 a8             	mov    -0x58(%ebp),%esi
-    8280:	e9 f2 fc ff ff       	jmp    0x7f77
-    8285:	8b 4d b8             	mov    -0x48(%ebp),%ecx
-    8288:	89 0c 24             	mov    %ecx,(%esp)
-    828b:	e8 fc ff ff ff       	call   0x828c
-    8290:	e9 0e fd ff ff       	jmp    0x7fa3
-    8295:	8b 41 64             	mov    0x64(%ecx),%eax
-    8298:	8b 04 90             	mov    (%eax,%edx,4),%eax
-    829b:	85 c0                	test   %eax,%eax
-    829d:	0f 84 79 fd ff ff    	je     0x801c
-    82a3:	83 c0 04             	add    $0x4,%eax
-    82a6:	89 da                	mov    %ebx,%edx
-    82a8:	e8 53 7d ff ff       	call   0x0
-    82ad:	85 c0                	test   %eax,%eax
-    82af:	0f 85 bb fc ff ff    	jne    0x7f70
-    82b5:	e9 62 fd ff ff       	jmp    0x801c
-    82ba:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
-    82c0:	89 75 ac             	mov    %esi,-0x54(%ebp)
-    82c3:	8b 55 ac             	mov    -0x54(%ebp),%edx
-    82c6:	8d 45 e4             	lea    -0x1c(%ebp),%eax
-    82c9:	8b 75 a8             	mov    -0x58(%ebp),%esi
-    82cc:	e8 2f 7d ff ff       	call   0x0
-    82d1:	85 c0                	test   %eax,%eax
-    82d3:	0f 85 9e fc ff ff    	jne    0x7f77
-    82d9:	8b 45 cc             	mov    -0x34(%ebp),%eax
-    82dc:	85 c0                	test   %eax,%eax
-    82de:	75 32                	jne    0x8312
-    82e0:	8b 5d ac             	mov    -0x54(%ebp),%ebx
-    82e3:	e9 8f fc ff ff       	jmp    0x7f77
-    82e8:	8b 45 ec             	mov    -0x14(%ebp),%eax
-    82eb:	89 04 24             	mov    %eax,(%esp)
-    82ee:	e8 fc ff ff ff       	call   0x82ef
-    82f3:	8b 55 b0             	mov    -0x50(%ebp),%edx
-    82f6:	31 c0                	xor    %eax,%eax
-    82f8:	85 d2                	test   %edx,%edx
-    82fa:	0f 84 ab fc ff ff    	je     0x7fab
-    8300:	8b 55 b8             	mov    -0x48(%ebp),%edx
-    8303:	89 14 24             	mov    %edx,(%esp)
-    8306:	e8 fc ff ff ff       	call   0x8307
-    830b:	31 c0                	xor    %eax,%eax
-    830d:	e9 99 fc ff ff       	jmp    0x7fab
-    8312:	8b 55 cc             	mov    -0x34(%ebp),%edx
-    8315:	8b 4d f0             	mov    -0x10(%ebp),%ecx
-    8318:	8b 3a                	mov    (%edx),%edi
-    831a:	8d 47 01             	lea    0x1(%edi),%eax
-    831d:	3b 42 04             	cmp    0x4(%edx),%eax
-    8320:	89 02                	mov    %eax,(%edx)
-    8322:	0f 84 8f 00 00 00    	je     0x83b7
-    8328:	8b 52 08             	mov    0x8(%edx),%edx
-    832b:	89 d0                	mov    %edx,%eax
-    832d:	6b ff 18             	imul   $0x18,%edi,%edi
-    8330:	89 0c 38             	mov    %ecx,(%eax,%edi,1)
-    8333:	8b 4d cc             	mov    -0x34(%ebp),%ecx
-    8336:	8b 45 b4             	mov    -0x4c(%ebp),%eax
-    8339:	89 5c 3a 04          	mov    %ebx,0x4(%edx,%edi,1)
-    833d:	89 fb                	mov    %edi,%ebx
-    833f:	03 59 08             	add    0x8(%ecx),%ebx
-    8342:	89 04 24             	mov    %eax,(%esp)
-    8345:	e8 fc ff ff ff       	call   0x8346
-    834a:	8b 55 cc             	mov    -0x34(%ebp),%edx
-    834d:	89 43 08             	mov    %eax,0x8(%ebx)
-    8350:	8b 42 08             	mov    0x8(%edx),%eax
-    8353:	8b 44 38 08          	mov    0x8(%eax,%edi,1),%eax
-    8357:	85 c0                	test   %eax,%eax
-    8359:	74 2e                	je     0x8389
-    835b:	8b 4d b4             	mov    -0x4c(%ebp),%ecx
-    835e:	89 74 24 04          	mov    %esi,0x4(%esp)
-    8362:	89 04 24             	mov    %eax,(%esp)
-    8365:	89 4c 24 08          	mov    %ecx,0x8(%esp)
-    8369:	e8 fc ff ff ff       	call   0x836a
-    836e:	8b 55 cc             	mov    -0x34(%ebp),%edx
-    8371:	89 f8                	mov    %edi,%eax
-    8373:	03 42 08             	add    0x8(%edx),%eax
-    8376:	8d 55 e4             	lea    -0x1c(%ebp),%edx
-    8379:	83 c0 0c             	add    $0xc,%eax
-    837c:	e8 ff 9a ff ff       	call   0x1e80
-    8381:	85 c0                	test   %eax,%eax
-    8383:	0f 84 57 ff ff ff    	je     0x82e0
-    8389:	8b 45 ec             	mov    -0x14(%ebp),%eax
-    838c:	89 04 24             	mov    %eax,(%esp)
-    838f:	e8 fc ff ff ff       	call   0x8390
-    8394:	83 7d b0 00          	cmpl   $0x0,-0x50(%ebp)
-    8398:	74 0b                	je     0x83a5
-    839a:	8b 7d b8             	mov    -0x48(%ebp),%edi
-    839d:	89 3c 24             	mov    %edi,(%esp)
-    83a0:	e8 fc ff ff ff       	call   0x83a1
-    83a5:	8b 45 cc             	mov    -0x34(%ebp),%eax
-    83a8:	e8 a3 8b ff ff       	call   0xf50
-    83ad:	b8 0c 00 00 00       	mov    $0xc,%eax
-    83b2:	e9 f4 fb ff ff       	jmp    0x7fab
-    83b7:	6b c0 30             	imul   $0x30,%eax,%eax
-    83ba:	8b 55 cc             	mov    -0x34(%ebp),%edx
-    83bd:	89 4d a0             	mov    %ecx,-0x60(%ebp)
-    83c0:	89 44 24 04          	mov    %eax,0x4(%esp)
-    83c4:	8b 42 08             	mov    0x8(%edx),%eax
-    83c7:	89 04 24             	mov    %eax,(%esp)
-    83ca:	e8 fc ff ff ff       	call   0x83cb
-    83cf:	8b 4d a0             	mov    -0x60(%ebp),%ecx
-    83d2:	85 c0                	test   %eax,%eax
-    83d4:	74 b3                	je     0x8389
-    83d6:	8b 55 cc             	mov    -0x34(%ebp),%edx
-    83d9:	d1 62 04             	shll   0x4(%edx)
-    83dc:	89 42 08             	mov    %eax,0x8(%edx)
-    83df:	89 c2                	mov    %eax,%edx
-    83e1:	e9 47 ff ff ff       	jmp    0x832d
-    83e6:	8b 4d d0             	mov    -0x30(%ebp),%ecx
-    83e9:	89 55 9c             	mov    %edx,-0x64(%ebp)
-    83ec:	8b 49 04             	mov    0x4(%ecx),%ecx
-    83ef:	89 54 24 08          	mov    %edx,0x8(%esp)
-    83f3:	89 4d a4             	mov    %ecx,-0x5c(%ebp)
-    83f6:	8b 4d f0             	mov    -0x10(%ebp),%ecx
-    83f9:	03 45 a4             	add    -0x5c(%ebp),%eax
-    83fc:	89 04 24             	mov    %eax,(%esp)
-    83ff:	8b 45 a4             	mov    -0x5c(%ebp),%eax
-    8402:	89 4d a0             	mov    %ecx,-0x60(%ebp)
-    8405:	01 c8                	add    %ecx,%eax
-    8407:	89 44 24 04          	mov    %eax,0x4(%esp)
-    840b:	e8 fc ff ff ff       	call   0x840c
-    8410:	8b 55 9c             	mov    -0x64(%ebp),%edx
-    8413:	8b 4d a0             	mov    -0x60(%ebp),%ecx
-    8416:	85 c0                	test   %eax,%eax
-    8418:	0f 84 dc fb ff ff    	je     0x7ffa
-    841e:	e9 f9 fb ff ff       	jmp    0x801c
-    8423:	8b 45 ec             	mov    -0x14(%ebp),%eax
-    8426:	89 04 24             	mov    %eax,(%esp)
-    8429:	e8 fc ff ff ff       	call   0x842a
-    842e:	b8 01 00 00 00       	mov    $0x1,%eax
-    8433:	83 7d b0 00          	cmpl   $0x0,-0x50(%ebp)
-    8437:	0f 84 6e fb ff ff    	je     0x7fab
-    843d:	8b 55 b8             	mov    -0x48(%ebp),%edx
-    8440:	89 14 24             	mov    %edx,(%esp)
-    8443:	e8 fc ff ff ff       	call   0x8444
-    8448:	b8 01 00 00 00       	mov    $0x1,%eax
-    844d:	e9 59 fb ff ff       	jmp    0x7fab
-    8452:	8b 45 f0             	mov    -0x10(%ebp),%eax
-    8455:	89 45 bc             	mov    %eax,-0x44(%ebp)
-    8458:	e9 6b fd ff ff       	jmp    0x81c8
-    845d:	83 fb fe             	cmp    $0xfffffffe,%ebx
-    8460:	0f 84 23 ff ff ff    	je     0x8389
-    8466:	e9 b1 fb ff ff       	jmp    0x801c
-    846b:	90                   	nop
-    846c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    8470:	55                   	push   %ebp
-    8471:	89 e5                	mov    %esp,%ebp
-    8473:	57                   	push   %edi
-    8474:	56                   	push   %esi
-    8475:	53                   	push   %ebx
-    8476:	81 ec 38 01 00 00    	sub    $0x138,%esp
-    847c:	8b 5d 08             	mov    0x8(%ebp),%ebx
-    847f:	89 85 0c ff ff ff    	mov    %eax,-0xf4(%ebp)
-    8485:	8b 00                	mov    (%eax),%eax
-    8487:	89 95 e8 fe ff ff    	mov    %edx,-0x118(%ebp)
-    848d:	8d 95 38 ff ff ff    	lea    -0xc8(%ebp),%edx
-    8493:	8b b5 0c ff ff ff    	mov    -0xf4(%ebp),%esi
-    8499:	89 8d f8 fe ff ff    	mov    %ecx,-0x108(%ebp)
-    849f:	89 d7                	mov    %edx,%edi
-    84a1:	b9 22 00 00 00       	mov    $0x22,%ecx
-    84a6:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
-    84ac:	89 85 14 ff ff ff    	mov    %eax,-0xec(%ebp)
-    84b2:	31 c0                	xor    %eax,%eax
-    84b4:	f3 ab                	rep stos %eax,%es:(%edi)
-    84b6:	8b 8d 14 ff ff ff    	mov    -0xec(%ebp),%ecx
-    84bc:	8b 76 10             	mov    0x10(%esi),%esi
-    84bf:	89 4d 8c             	mov    %ecx,-0x74(%ebp)
-    84c2:	85 f6                	test   %esi,%esi
-    84c4:	89 b5 04 ff ff ff    	mov    %esi,-0xfc(%ebp)
-    84ca:	74 1f                	je     0x84eb
-    84cc:	8b 55 0c             	mov    0xc(%ebp),%edx
-    84cf:	8b bd 0c ff ff ff    	mov    -0xf4(%ebp),%edi
-    84d5:	85 d2                	test   %edx,%edx
-    84d7:	0f b6 47 1c          	movzbl 0x1c(%edi),%eax
-    84db:	0f 85 46 03 00 00    	jne    0x8827
-    84e1:	c7 85 04 ff ff ff 00 	movl   $0x0,-0xfc(%ebp)
-    84e8:	00 00 00 
-    84eb:	8b 85 0c ff ff ff    	mov    -0xf4(%ebp),%eax
-    84f1:	31 f6                	xor    %esi,%esi
-    84f3:	8b 95 0c ff ff ff    	mov    -0xf4(%ebp),%edx
-    84f9:	c7 85 e0 fe ff ff 00 	movl   $0x0,-0x120(%ebp)
-    8500:	00 00 00 
-    8503:	8b 40 14             	mov    0x14(%eax),%eax
-    8506:	89 85 ec fe ff ff    	mov    %eax,-0x114(%ebp)
-    850c:	8b 42 18             	mov    0x18(%edx),%eax
-    850f:	3b 45 14             	cmp    0x14(%ebp),%eax
-    8512:	73 0d                	jae    0x8521
-    8514:	f7 d0                	not    %eax
-    8516:	03 45 14             	add    0x14(%ebp),%eax
-    8519:	89 85 e0 fe ff ff    	mov    %eax,-0x120(%ebp)
-    851f:	89 c6                	mov    %eax,%esi
-    8521:	8b 8d 0c ff ff ff    	mov    -0xf4(%ebp),%ecx
-    8527:	8b 41 08             	mov    0x8(%ecx),%eax
-    852a:	85 c0                	test   %eax,%eax
-    852c:	0f 84 b6 0c 00 00    	je     0x91e8
-    8532:	8b bd 14 ff ff ff    	mov    -0xec(%ebp),%edi
-    8538:	8b 47 24             	mov    0x24(%edi),%eax
-    853b:	85 c0                	test   %eax,%eax
-    853d:	0f 84 a5 0c 00 00    	je     0x91e8
-    8543:	8b 8d 14 ff ff ff    	mov    -0xec(%ebp),%ecx
-    8549:	8b 51 28             	mov    0x28(%ecx),%edx
-    854c:	85 d2                	test   %edx,%edx
-    854e:	0f 84 94 0c 00 00    	je     0x91e8
-    8554:	89 cf                	mov    %ecx,%edi
-    8556:	8b 49 2c             	mov    0x2c(%ecx),%ecx
-    8559:	85 c9                	test   %ecx,%ecx
-    855b:	0f 84 87 0c 00 00    	je     0x91e8
-    8561:	8b 7f 30             	mov    0x30(%edi),%edi
-    8564:	85 ff                	test   %edi,%edi
-    8566:	0f 84 7c 0c 00 00    	je     0x91e8
-    856c:	8b 78 08             	mov    0x8(%eax),%edi
-    856f:	85 ff                	test   %edi,%edi
-    8571:	75 30                	jne    0x85a3
-    8573:	8b 52 08             	mov    0x8(%edx),%edx
-    8576:	85 d2                	test   %edx,%edx
-    8578:	75 29                	jne    0x85a3
-    857a:	8b 41 08             	mov    0x8(%ecx),%eax
-    857d:	85 c0                	test   %eax,%eax
-    857f:	74 0c                	je     0x858d
-    8581:	8b 85 0c ff ff ff    	mov    -0xf4(%ebp),%eax
-    8587:	80 78 1c 00          	cmpb   $0x0,0x1c(%eax)
-    858b:	78 16                	js     0x85a3
-    858d:	85 db                	test   %ebx,%ebx
-    858f:	74 0b                	je     0x859c
-    8591:	03 5d 0c             	add    0xc(%ebp),%ebx
-    8594:	85 db                	test   %ebx,%ebx
-    8596:	0f 85 4c 0c 00 00    	jne    0x91e8
-    859c:	c7 45 0c 00 00 00 00 	movl   $0x0,0xc(%ebp)
-    85a3:	8b 55 14             	mov    0x14(%ebp),%edx
-    85a6:	29 f2                	sub    %esi,%edx
-    85a8:	89 95 00 ff ff ff    	mov    %edx,-0x100(%ebp)
-    85ae:	0f 85 89 02 00 00    	jne    0x883d
-    85b4:	8b 8d 14 ff ff ff    	mov    -0xec(%ebp),%ecx
-    85ba:	31 c0                	xor    %eax,%eax
-    85bc:	83 79 4c 00          	cmpl   $0x0,0x4c(%ecx)
-    85c0:	0f 95 c0             	setne  %al
-    85c3:	89 85 18 ff ff ff    	mov    %eax,-0xe8(%ebp)
-    85c9:	8b bd 0c ff ff ff    	mov    -0xf4(%ebp),%edi
-    85cf:	8b 95 14 ff ff ff    	mov    -0xec(%ebp),%edx
-    85d5:	8b 77 0c             	mov    0xc(%edi),%esi
-    85d8:	8b bd 14 ff ff ff    	mov    -0xec(%ebp),%edi
-    85de:	8b 42 08             	mov    0x8(%edx),%eax
-    85e1:	8b 95 f8 fe ff ff    	mov    -0x108(%ebp),%edx
-    85e7:	8b 4f 5c             	mov    0x5c(%edi),%ecx
-    85ea:	83 c0 01             	add    $0x1,%eax
-    85ed:	8b bd ec fe ff ff    	mov    -0x114(%ebp),%edi
-    85f3:	83 c2 01             	add    $0x1,%edx
-    85f6:	39 c8                	cmp    %ecx,%eax
-    85f8:	0f 4c c1             	cmovl  %ecx,%eax
-    85fb:	8b 8d f8 fe ff ff    	mov    -0x108(%ebp),%ecx
-    8601:	39 c2                	cmp    %eax,%edx
-    8603:	0f 4f d0             	cmovg  %eax,%edx
-    8606:	8b 85 e8 fe ff ff    	mov    -0x118(%ebp),%eax
-    860c:	81 e6 00 00 40 00    	and    $0x400000,%esi
-    8612:	89 bd 78 ff ff ff    	mov    %edi,-0x88(%ebp)
-    8618:	8b b5 f8 fe ff ff    	mov    -0x108(%ebp),%esi
-    861e:	89 8d 68 ff ff ff    	mov    %ecx,-0x98(%ebp)
-    8624:	89 8d 64 ff ff ff    	mov    %ecx,-0x9c(%ebp)
-    862a:	89 85 38 ff ff ff    	mov    %eax,-0xc8(%ebp)
-    8630:	0f 95 c0             	setne  %al
-    8633:	31 c9                	xor    %ecx,%ecx
-    8635:	85 ff                	test   %edi,%edi
-    8637:	0f 95 c1             	setne  %cl
-    863a:	88 45 80             	mov    %al,-0x80(%ebp)
-    863d:	0f b6 c0             	movzbl %al,%eax
-    8640:	89 8d 30 ff ff ff    	mov    %ecx,-0xd0(%ebp)
-    8646:	09 c8                	or     %ecx,%eax
-    8648:	8b 8d 14 ff ff ff    	mov    -0xec(%ebp),%ecx
-    864e:	88 45 83             	mov    %al,-0x7d(%ebp)
-    8651:	8b 41 5c             	mov    0x5c(%ecx),%eax
-    8654:	89 45 88             	mov    %eax,-0x78(%ebp)
-    8657:	0f b6 41 58          	movzbl 0x58(%ecx),%eax
-    865b:	c0 e8 02             	shr    $0x2,%al
-    865e:	83 e0 01             	and    $0x1,%eax
-    8661:	88 45 81             	mov    %al,-0x7f(%ebp)
-    8664:	0f b6 41 58          	movzbl 0x58(%ecx),%eax
-    8668:	89 b5 70 ff ff ff    	mov    %esi,-0x90(%ebp)
-    866e:	89 b5 6c ff ff ff    	mov    %esi,-0x94(%ebp)
-    8674:	c0 e8 03             	shr    $0x3,%al
-    8677:	83 e0 01             	and    $0x1,%eax
-    867a:	88 45 82             	mov    %al,-0x7e(%ebp)
-    867d:	8d 85 38 ff ff ff    	lea    -0xc8(%ebp),%eax
-    8683:	e8 f8 8e ff ff       	call   0x1580
-    8688:	85 c0                	test   %eax,%eax
-    868a:	89 c6                	mov    %eax,%esi
-    868c:	0f 85 a6 0c 00 00    	jne    0x9338
-    8692:	8b 85 14 ff ff ff    	mov    -0xec(%ebp),%eax
-    8698:	8b bd 14 ff ff ff    	mov    -0xec(%ebp),%edi
-    869e:	83 c0 60             	add    $0x60,%eax
-    86a1:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
-    86a7:	0f b6 47 58          	movzbl 0x58(%edi),%eax
-    86ab:	c0 e8 04             	shr    $0x4,%al
-    86ae:	83 e0 01             	and    $0x1,%eax
-    86b1:	88 45 86             	mov    %al,-0x7a(%ebp)
-    86b4:	8b 85 e8 fe ff ff    	mov    -0x118(%ebp),%eax
-    86ba:	80 7d 83 00          	cmpb   $0x0,-0x7d(%ebp)
-    86be:	0f 45 85 3c ff ff ff 	cmovne -0xc4(%ebp),%eax
-    86c5:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
-    86cb:	75 0c                	jne    0x86d9
-    86cd:	83 7f 5c 01          	cmpl   $0x1,0x5c(%edi)
-    86d1:	8b 85 f8 fe ff ff    	mov    -0x108(%ebp),%eax
-    86d7:	7e 02                	jle    0x86db
-    86d9:	31 c0                	xor    %eax,%eax
-    86db:	89 85 54 ff ff ff    	mov    %eax,-0xac(%ebp)
-    86e1:	8b 95 0c ff ff ff    	mov    -0xf4(%ebp),%edx
-    86e7:	89 85 58 ff ff ff    	mov    %eax,-0xa8(%ebp)
-    86ed:	8b 45 10             	mov    0x10(%ebp),%eax
-    86f0:	8b 8d 14 ff ff ff    	mov    -0xec(%ebp),%ecx
-    86f6:	8b 7d 1c             	mov    0x1c(%ebp),%edi
-    86f9:	89 85 70 ff ff ff    	mov    %eax,-0x90(%ebp)
-    86ff:	89 85 6c ff ff ff    	mov    %eax,-0x94(%ebp)
-    8705:	0f b6 42 1c          	movzbl 0x1c(%edx),%eax
-    8709:	c0 e8 07             	shr    $0x7,%al
-    870c:	88 45 85             	mov    %al,-0x7b(%ebp)
-    870f:	8b 41 4c             	mov    0x4c(%ecx),%eax
-    8712:	89 7d 90             	mov    %edi,-0x70(%ebp)
-    8715:	c7 45 94 ff ff ff ff 	movl   $0xffffffff,-0x6c(%ebp)
-    871c:	8d 34 00             	lea    (%eax,%eax,1),%esi
-    871f:	85 f6                	test   %esi,%esi
-    8721:	7e 36                	jle    0x8759
-    8723:	8d 3c c5 00 00 00 00 	lea    0x0(,%eax,8),%edi
-    872a:	8d 04 37             	lea    (%edi,%esi,1),%eax
-    872d:	c1 e0 02             	shl    $0x2,%eax
-    8730:	89 04 24             	mov    %eax,(%esp)
-    8733:	e8 fc ff ff ff       	call   0x8734
-    8738:	89 45 ac             	mov    %eax,-0x54(%ebp)
-    873b:	89 3c 24             	mov    %edi,(%esp)
-    873e:	e8 fc ff ff ff       	call   0x873f
-    8743:	8b 7d ac             	mov    -0x54(%ebp),%edi
-    8746:	85 ff                	test   %edi,%edi
-    8748:	89 45 bc             	mov    %eax,-0x44(%ebp)
-    874b:	0f 84 c7 0e 00 00    	je     0x9618
-    8751:	85 c0                	test   %eax,%eax
-    8753:	0f 84 76 0f 00 00    	je     0x96cf
-    8759:	83 bd 00 ff ff ff 01 	cmpl   $0x1,-0x100(%ebp)
-    8760:	89 75 a8             	mov    %esi,-0x58(%ebp)
-    8763:	c7 45 b0 01 00 00 00 	movl   $0x1,-0x50(%ebp)
-    876a:	89 75 b8             	mov    %esi,-0x48(%ebp)
-    876d:	0f 86 fe 0a 00 00    	jbe    0x9271
-    8773:	8b 85 5c ff ff ff    	mov    -0xa4(%ebp),%eax
-    8779:	3d fe ff ff 3f       	cmp    $0x3ffffffe,%eax
-    877e:	0f 87 4b 0f 00 00    	ja     0x96cf
-    8784:	8d 04 85 04 00 00 00 	lea    0x4(,%eax,4),%eax
-    878b:	89 04 24             	mov    %eax,(%esp)
-    878e:	e8 fc ff ff ff       	call   0x878f
-    8793:	85 c0                	test   %eax,%eax
-    8795:	89 c2                	mov    %eax,%edx
-    8797:	89 45 9c             	mov    %eax,-0x64(%ebp)
-    879a:	0f 84 7b 0e 00 00    	je     0x961b
-    87a0:	8b 45 1c             	mov    0x1c(%ebp),%eax
-    87a3:	8b 4d 0c             	mov    0xc(%ebp),%ecx
-    87a6:	89 5d f0             	mov    %ebx,-0x10(%ebp)
-    87a9:	83 e0 01             	and    $0x1,%eax
-    87ac:	83 f8 01             	cmp    $0x1,%eax
-    87af:	19 c0                	sbb    %eax,%eax
-    87b1:	83 e0 02             	and    $0x2,%eax
-    87b4:	83 c0 04             	add    $0x4,%eax
-    87b7:	85 c9                	test   %ecx,%ecx
-    87b9:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
-    87bf:	0f 88 85 0a 00 00    	js     0x924a
-    87c5:	8b 45 0c             	mov    0xc(%ebp),%eax
-    87c8:	89 9d 10 ff ff ff    	mov    %ebx,-0xf0(%ebp)
-    87ce:	c7 85 fc fe ff ff 01 	movl   $0x1,-0x104(%ebp)
-    87d5:	00 00 00 
-    87d8:	01 d8                	add    %ebx,%eax
-    87da:	39 c3                	cmp    %eax,%ebx
-    87dc:	0f 9f c2             	setg   %dl
-    87df:	31 c9                	xor    %ecx,%ecx
-    87e1:	89 85 08 ff ff ff    	mov    %eax,-0xf8(%ebp)
-    87e7:	89 d6                	mov    %edx,%esi
-    87e9:	8b bd 14 ff ff ff    	mov    -0xec(%ebp),%edi
-    87ef:	31 c0                	xor    %eax,%eax
-    87f1:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
-    87f7:	83 7f 5c 01          	cmpl   $0x1,0x5c(%edi)
-    87fb:	0f 94 c0             	sete   %al
-    87fe:	85 d2                	test   %edx,%edx
-    8800:	89 85 e4 fe ff ff    	mov    %eax,-0x11c(%ebp)
-    8806:	b8 08 00 00 00       	mov    $0x8,%eax
-    880b:	74 61                	je     0x886e
-    880d:	8b 85 e4 fe ff ff    	mov    -0x11c(%ebp),%eax
-    8813:	85 c0                	test   %eax,%eax
-    8815:	75 3f                	jne    0x8856
-    8817:	8b 85 0c ff ff ff    	mov    -0xf4(%ebp),%eax
-    881d:	f6 40 0e 40          	testb  $0x40,0xe(%eax)
-    8821:	74 29                	je     0x884c
-    8823:	31 c0                	xor    %eax,%eax
-    8825:	eb 34                	jmp    0x885b
-    8827:	a8 08                	test   $0x8,%al
-    8829:	0f 84 b2 fc ff ff    	je     0x84e1
-    882f:	a8 01                	test   $0x1,%al
-    8831:	0f 84 b4 fc ff ff    	je     0x84eb
-    8837:	90                   	nop
-    8838:	e9 a4 fc ff ff       	jmp    0x84e1
-    883d:	c7 85 18 ff ff ff 01 	movl   $0x1,-0xe8(%ebp)
-    8844:	00 00 00 
-    8847:	e9 7d fd ff ff       	jmp    0x85c9
-    884c:	8b bd ec fe ff ff    	mov    -0x114(%ebp),%edi
-    8852:	85 ff                	test   %edi,%edi
-    8854:	75 cd                	jne    0x8823
-    8856:	b8 04 00 00 00       	mov    $0x4,%eax
-    885b:	8b 55 0c             	mov    0xc(%ebp),%edx
-    885e:	0b 85 30 ff ff ff    	or     -0xd0(%ebp),%eax
-    8864:	c1 fa 1f             	sar    $0x1f,%edx
-    8867:	f7 d2                	not    %edx
-    8869:	83 e2 02             	and    $0x2,%edx
-    886c:	09 d0                	or     %edx,%eax
-    886e:	84 c9                	test   %cl,%cl
-    8870:	0f 85 02 04 00 00    	jne    0x8c78
-    8876:	89 f2                	mov    %esi,%edx
-    8878:	84 d2                	test   %dl,%dl
-    887a:	0f 85 f8 03 00 00    	jne    0x8c78
-    8880:	83 e8 04             	sub    $0x4,%eax
-    8883:	8d 4d dc             	lea    -0x24(%ebp),%ecx
-    8886:	89 85 f0 fe ff ff    	mov    %eax,-0x110(%ebp)
-    888c:	89 8d cc fe ff ff    	mov    %ecx,-0x134(%ebp)
-    8892:	83 bd f0 fe ff ff 04 	cmpl   $0x4,-0x110(%ebp)
-    8899:	0f 87 f1 05 00 00    	ja     0x8e90
-    889f:	8b b5 f0 fe ff ff    	mov    -0x110(%ebp),%esi
-    88a5:	ff 24 b5 70 03 00 00 	jmp    *0x370(,%esi,4)
-    88ac:	3b 9d 10 ff ff ff    	cmp    -0xf0(%ebp),%ebx
-    88b2:	0f 8c c0 03 00 00    	jl     0x8c78
-    88b8:	8b 95 e8 fe ff ff    	mov    -0x118(%ebp),%edx
-    88be:	8b 8d ec fe ff ff    	mov    -0x114(%ebp),%ecx
-    88c4:	8b b5 04 ff ff ff    	mov    -0xfc(%ebp),%esi
-    88ca:	8b bd f8 fe ff ff    	mov    -0x108(%ebp),%edi
-    88d0:	01 da                	add    %ebx,%edx
-    88d2:	eb 19                	jmp    0x88ed
-    88d4:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    88d8:	83 eb 01             	sub    $0x1,%ebx
-    88db:	83 ea 01             	sub    $0x1,%edx
-    88de:	3b 9d 10 ff ff ff    	cmp    -0xf0(%ebp),%ebx
-    88e4:	89 5d f0             	mov    %ebx,-0x10(%ebp)
-    88e7:	0f 8c 8b 03 00 00    	jl     0x8c78
-    88ed:	31 c0                	xor    %eax,%eax
-    88ef:	39 fb                	cmp    %edi,%ebx
-    88f1:	7d 03                	jge    0x88f6
-    88f3:	0f b6 02             	movzbl (%edx),%eax
-    88f6:	85 c9                	test   %ecx,%ecx
-    88f8:	74 04                	je     0x88fe
-    88fa:	0f b6 04 01          	movzbl (%ecx,%eax,1),%eax
-    88fe:	80 3c 06 00          	cmpb   $0x0,(%esi,%eax,1)
-    8902:	74 d4                	je     0x88d8
-    8904:	8b 55 f0             	mov    -0x10(%ebp),%edx
-    8907:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
-    890a:	8d 85 38 ff ff ff    	lea    -0xc8(%ebp),%eax
-    8910:	e8 6b b3 ff ff       	call   0x3c80
-    8915:	85 c0                	test   %eax,%eax
-    8917:	0f 85 70 0e 00 00    	jne    0x978d
-    891d:	8b 8d e4 fe ff ff    	mov    -0x11c(%ebp),%ecx
-    8923:	85 c9                	test   %ecx,%ecx
-    8925:	75 19                	jne    0x8940
-    8927:	8b 95 54 ff ff ff    	mov    -0xac(%ebp),%edx
-    892d:	85 d2                	test   %edx,%edx
-    892f:	74 0f                	je     0x8940
-    8931:	8b 85 40 ff ff ff    	mov    -0xc0(%ebp),%eax
-    8937:	83 38 ff             	cmpl   $0xffffffff,(%eax)
-    893a:	0f 84 11 03 00 00    	je     0x8c51
-    8940:	8b 45 0c             	mov    0xc(%ebp),%eax
-    8943:	c7 45 b0 00 00 00 00 	movl   $0x0,-0x50(%ebp)
-    894a:	c7 45 a4 00 00 00 00 	movl   $0x0,-0x5c(%ebp)
-    8951:	c7 45 a0 00 00 00 00 	movl   $0x0,-0x60(%ebp)
-    8958:	85 c0                	test   %eax,%eax
-    895a:	c7 85 28 ff ff ff 00 	movl   $0x0,-0xd8(%ebp)
-    8961:	00 00 00 
-    8964:	c7 85 20 ff ff ff 00 	movl   $0x0,-0xe0(%ebp)
-    896b:	00 00 00 
-    896e:	78 13                	js     0x8983
-    8970:	8d 7d f0             	lea    -0x10(%ebp),%edi
-    8973:	c7 85 28 ff ff ff 01 	movl   $0x1,-0xd8(%ebp)
-    897a:	00 00 00 
-    897d:	89 bd 20 ff ff ff    	mov    %edi,-0xe0(%ebp)
-    8983:	8b 5d 8c             	mov    -0x74(%ebp),%ebx
-    8986:	8b 85 60 ff ff ff    	mov    -0xa0(%ebp),%eax
-    898c:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
-    8993:	8b 53 24             	mov    0x24(%ebx),%edx
-    8996:	89 85 24 ff ff ff    	mov    %eax,-0xdc(%ebp)
-    899c:	89 95 30 ff ff ff    	mov    %edx,-0xd0(%ebp)
-    89a2:	80 7a 34 00          	cmpb   $0x0,0x34(%edx)
-    89a6:	79 24                	jns    0x89cc
-    89a8:	8b 4d 90             	mov    -0x70(%ebp),%ecx
-    89ab:	89 c2                	mov    %eax,%edx
-    89ad:	83 ea 01             	sub    $0x1,%edx
-    89b0:	8d 85 38 ff ff ff    	lea    -0xc8(%ebp),%eax
-    89b6:	e8 05 a2 ff ff       	call   0x2bc0
-    89bb:	a8 01                	test   $0x1,%al
-    89bd:	0f 84 f6 07 00 00    	je     0x91b9
-    89c3:	8b 4b 28             	mov    0x28(%ebx),%ecx
-    89c6:	89 8d 30 ff ff ff    	mov    %ecx,-0xd0(%ebp)
-    89cc:	8b b5 30 ff ff ff    	mov    -0xd0(%ebp),%esi
-    89d2:	85 f6                	test   %esi,%esi
-    89d4:	0f 84 28 0d 00 00    	je     0x9702
-    89da:	8b 45 9c             	mov    -0x64(%ebp),%eax
-    89dd:	85 c0                	test   %eax,%eax
-    89df:	0f 84 14 08 00 00    	je     0x91f9
-    89e5:	8b 4b 4c             	mov    0x4c(%ebx),%ecx
-    89e8:	8b bd 30 ff ff ff    	mov    -0xd0(%ebp),%edi
-    89ee:	8b b5 24 ff ff ff    	mov    -0xdc(%ebp),%esi
-    89f4:	85 c9                	test   %ecx,%ecx
-    89f6:	89 3c b0             	mov    %edi,(%eax,%esi,4)
-    89f9:	0f 85 52 0d 00 00    	jne    0x9751
-    89ff:	0f b6 47 34          	movzbl 0x34(%edi),%eax
-    8a03:	a8 10                	test   $0x10,%al
-    8a05:	0f 85 d1 0c 00 00    	jne    0x96dc
-    8a0b:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
-    8a10:	c7 85 1c ff ff ff 00 	movl   $0x0,-0xe4(%ebp)
-    8a17:	00 00 00 
-    8a1a:	8b bd 24 ff ff ff    	mov    -0xdc(%ebp),%edi
-    8a20:	8b b5 60 ff ff ff    	mov    -0xa0(%ebp),%esi
-    8a26:	89 85 24 ff ff ff    	mov    %eax,-0xdc(%ebp)
-    8a2c:	89 bd 2c ff ff ff    	mov    %edi,-0xd4(%ebp)
-    8a32:	eb 4c                	jmp    0x8a80
-    8a34:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    8a38:	84 c0                	test   %al,%al
-    8a3a:	0f 88 c0 01 00 00    	js     0x8c00
-    8a40:	8b bd 18 ff ff ff    	mov    -0xe8(%ebp),%edi
-    8a46:	8b b5 60 ff ff ff    	mov    -0xa0(%ebp),%esi
-    8a4c:	85 ff                	test   %edi,%edi
-    8a4e:	89 b5 24 ff ff ff    	mov    %esi,-0xdc(%ebp)
-    8a54:	0f 84 76 02 00 00    	je     0x8cd0
-    8a5a:	c7 85 1c ff ff ff 01 	movl   $0x1,-0xe4(%ebp)
-    8a61:	00 00 00 
-    8a64:	c7 85 20 ff ff ff 00 	movl   $0x0,-0xe0(%ebp)
-    8a6b:	00 00 00 
-    8a6e:	8b 85 34 ff ff ff    	mov    -0xcc(%ebp),%eax
-    8a74:	89 9d 30 ff ff ff    	mov    %ebx,-0xd0(%ebp)
-    8a7a:	89 85 2c ff ff ff    	mov    %eax,-0xd4(%ebp)
-    8a80:	39 b5 70 ff ff ff    	cmp    %esi,-0x90(%ebp)
-    8a86:	0f 8e 2c 02 00 00    	jle    0x8cb8
-    8a8c:	8d 46 01             	lea    0x1(%esi),%eax
-    8a8f:	89 85 34 ff ff ff    	mov    %eax,-0xcc(%ebp)
-    8a95:	8b 85 5c ff ff ff    	mov    -0xa4(%ebp),%eax
-    8a9b:	39 85 34 ff ff ff    	cmp    %eax,-0xcc(%ebp)
-    8aa1:	0f 8d 19 0b 00 00    	jge    0x95c0
-    8aa7:	8b 85 54 ff ff ff    	mov    -0xac(%ebp),%eax
-    8aad:	39 85 34 ff ff ff    	cmp    %eax,-0xcc(%ebp)
-    8ab3:	0f 8d 34 0b 00 00    	jge    0x95ed
-    8ab9:	8b 95 30 ff ff ff    	mov    -0xd0(%ebp),%edx
-    8abf:	f6 42 34 20          	testb  $0x20,0x34(%edx)
-    8ac3:	0f 85 a6 08 00 00    	jne    0x936f
-    8ac9:	8b 85 3c ff ff ff    	mov    -0xc4(%ebp),%eax
-    8acf:	0f b6 1c 30          	movzbl (%eax,%esi,1),%ebx
-    8ad3:	83 c6 01             	add    $0x1,%esi
-    8ad6:	89 b5 60 ff ff ff    	mov    %esi,-0xa0(%ebp)
-    8adc:	8b 95 30 ff ff ff    	mov    -0xd0(%ebp),%edx
-    8ae2:	8b 42 2c             	mov    0x2c(%edx),%eax
-    8ae5:	85 c0                	test   %eax,%eax
-    8ae7:	0f 84 98 0a 00 00    	je     0x9585
-    8aed:	0f b6 db             	movzbl %bl,%ebx
-    8af0:	8b 1c 98             	mov    (%eax,%ebx,4),%ebx
-    8af3:	8b 7d 9c             	mov    -0x64(%ebp),%edi
-    8af6:	85 ff                	test   %edi,%edi
-    8af8:	74 12                	je     0x8b0c
-    8afa:	89 d9                	mov    %ebx,%ecx
-    8afc:	8d 95 38 ff ff ff    	lea    -0xc8(%ebp),%edx
-    8b02:	8d 45 ec             	lea    -0x14(%ebp),%eax
-    8b05:	e8 46 dc ff ff       	call   0x6750
-    8b0a:	89 c3                	mov    %eax,%ebx
-    8b0c:	85 db                	test   %ebx,%ebx
-    8b0e:	0f 84 26 06 00 00    	je     0x913a
-    8b14:	8b 85 28 ff ff ff    	mov    -0xd8(%ebp),%eax
-    8b1a:	85 c0                	test   %eax,%eax
-    8b1c:	0f 85 1e 08 00 00    	jne    0x9340
-    8b22:	8b b5 2c ff ff ff    	mov    -0xd4(%ebp),%esi
-    8b28:	89 b5 34 ff ff ff    	mov    %esi,-0xcc(%ebp)
-    8b2e:	0f b6 43 34          	movzbl 0x34(%ebx),%eax
-    8b32:	a8 10                	test   $0x10,%al
-    8b34:	0f 85 fe fe ff ff    	jne    0x8a38
-    8b3a:	8b b5 60 ff ff ff    	mov    -0xa0(%ebp),%esi
-    8b40:	e9 29 ff ff ff       	jmp    0x8a6e
-    8b45:	39 9d 08 ff ff ff    	cmp    %ebx,-0xf8(%ebp)
-    8b4b:	7e 3a                	jle    0x8b87
-    8b4d:	8b 85 e8 fe ff ff    	mov    -0x118(%ebp),%eax
-    8b53:	8b 8d 04 ff ff ff    	mov    -0xfc(%ebp),%ecx
-    8b59:	01 d8                	add    %ebx,%eax
-    8b5b:	0f b6 10             	movzbl (%eax),%edx
-    8b5e:	80 3c 11 00          	cmpb   $0x0,(%ecx,%edx,1)
-    8b62:	75 2f                	jne    0x8b93
-    8b64:	8b 8d 04 ff ff ff    	mov    -0xfc(%ebp),%ecx
-    8b6a:	8b b5 08 ff ff ff    	mov    -0xf8(%ebp),%esi
-    8b70:	83 c3 01             	add    $0x1,%ebx
-    8b73:	39 de                	cmp    %ebx,%esi
-    8b75:	89 5d f0             	mov    %ebx,-0x10(%ebp)
-    8b78:	7e 0d                	jle    0x8b87
-    8b7a:	0f b6 50 01          	movzbl 0x1(%eax),%edx
-    8b7e:	83 c0 01             	add    $0x1,%eax
-    8b81:	80 3c 11 00          	cmpb   $0x0,(%ecx,%edx,1)
-    8b85:	74 e9                	je     0x8b70
-    8b87:	39 9d 08 ff ff ff    	cmp    %ebx,-0xf8(%ebp)
-    8b8d:	0f 84 2f 0c 00 00    	je     0x97c2
-    8b93:	89 da                	mov    %ebx,%edx
-    8b95:	e9 6d fd ff ff       	jmp    0x8907
-    8b9a:	39 9d 08 ff ff ff    	cmp    %ebx,-0xf8(%ebp)
-    8ba0:	7e e5                	jle    0x8b87
-    8ba2:	8b 95 e8 fe ff ff    	mov    -0x118(%ebp),%edx
-    8ba8:	8b bd ec fe ff ff    	mov    -0x114(%ebp),%edi
-    8bae:	01 da                	add    %ebx,%edx
-    8bb0:	0f b6 02             	movzbl (%edx),%eax
-    8bb3:	0f b6 0c 07          	movzbl (%edi,%eax,1),%ecx
-    8bb7:	89 d0                	mov    %edx,%eax
-    8bb9:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
-    8bbf:	80 3c 0a 00          	cmpb   $0x0,(%edx,%ecx,1)
-    8bc3:	75 ce                	jne    0x8b93
-    8bc5:	8b 8d ec fe ff ff    	mov    -0x114(%ebp),%ecx
-    8bcb:	8b b5 04 ff ff ff    	mov    -0xfc(%ebp),%esi
-    8bd1:	8b bd 08 ff ff ff    	mov    -0xf8(%ebp),%edi
-    8bd7:	90                   	nop
-    8bd8:	83 c3 01             	add    $0x1,%ebx
-    8bdb:	39 df                	cmp    %ebx,%edi
-    8bdd:	89 5d f0             	mov    %ebx,-0x10(%ebp)
-    8be0:	7e a5                	jle    0x8b87
-    8be2:	0f b6 50 01          	movzbl 0x1(%eax),%edx
-    8be6:	83 c0 01             	add    $0x1,%eax
-    8be9:	0f b6 14 11          	movzbl (%ecx,%edx,1),%edx
-    8bed:	80 3c 16 00          	cmpb   $0x0,(%esi,%edx,1)
-    8bf1:	74 e5                	je     0x8bd8
-    8bf3:	39 9d 08 ff ff ff    	cmp    %ebx,-0xf8(%ebp)
-    8bf9:	75 98                	jne    0x8b93
-    8bfb:	e9 c2 0b 00 00       	jmp    0x97c2
-    8c00:	8b 8d 60 ff ff ff    	mov    -0xa0(%ebp),%ecx
-    8c06:	89 da                	mov    %ebx,%edx
-    8c08:	8d 85 38 ff ff ff    	lea    -0xc8(%ebp),%eax
-    8c0e:	e8 8d a1 ff ff       	call   0x2da0
-    8c13:	85 c0                	test   %eax,%eax
-    8c15:	0f 85 25 fe ff ff    	jne    0x8a40
-    8c1b:	e9 1a ff ff ff       	jmp    0x8b3a
-    8c20:	c7 85 24 ff ff ff 00 	movl   $0x0,-0xdc(%ebp)
-    8c27:	00 00 00 
-    8c2a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
-    8c30:	89 3c 24             	mov    %edi,(%esp)
-    8c33:	e8 fc ff ff ff       	call   0x8c34
-    8c38:	8b 8d 24 ff ff ff    	mov    -0xdc(%ebp),%ecx
-    8c3e:	89 0c 24             	mov    %ecx,(%esp)
-    8c41:	e8 fc ff ff ff       	call   0x8c42
-    8c46:	8d 85 38 ff ff ff    	lea    -0xc8(%ebp),%eax
-    8c4c:	e8 3f 82 ff ff       	call   0xe90
-    8c51:	8b 9d fc fe ff ff    	mov    -0x104(%ebp),%ebx
-    8c57:	03 5d f0             	add    -0x10(%ebp),%ebx
-    8c5a:	39 9d 08 ff ff ff    	cmp    %ebx,-0xf8(%ebp)
-    8c60:	89 5d f0             	mov    %ebx,-0x10(%ebp)
-    8c63:	7c 13                	jl     0x8c78
-    8c65:	3b 9d 10 ff ff ff    	cmp    -0xf0(%ebp),%ebx
-    8c6b:	0f 8d 21 fc ff ff    	jge    0x8892
-    8c71:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
-    8c78:	8b 55 9c             	mov    -0x64(%ebp),%edx
-    8c7b:	be 01 00 00 00       	mov    $0x1,%esi
-    8c80:	89 14 24             	mov    %edx,(%esp)
-    8c83:	e8 fc ff ff ff       	call   0x8c84
-    8c88:	8b 95 14 ff ff ff    	mov    -0xec(%ebp),%edx
-    8c8e:	8b 42 4c             	mov    0x4c(%edx),%eax
-    8c91:	85 c0                	test   %eax,%eax
-    8c93:	0f 85 8b 05 00 00    	jne    0x9224
-    8c99:	8d 85 38 ff ff ff    	lea    -0xc8(%ebp),%eax
-    8c9f:	e8 0c 83 ff ff       	call   0xfb0
-    8ca4:	8d 65 f4             	lea    -0xc(%ebp),%esp
-    8ca7:	89 f0                	mov    %esi,%eax
-    8ca9:	5b                   	pop    %ebx
-    8caa:	5e                   	pop    %esi
-    8cab:	5f                   	pop    %edi
-    8cac:	5d                   	pop    %ebp
-    8cad:	c2 18 00             	ret    $0x18
-    8cb0:	89 9d 60 ff ff ff    	mov    %ebx,-0xa0(%ebp)
-    8cb6:	66 90                	xchg   %ax,%ax
-    8cb8:	8b b5 20 ff ff ff    	mov    -0xe0(%ebp),%esi
-    8cbe:	85 f6                	test   %esi,%esi
-    8cc0:	74 0e                	je     0x8cd0
-    8cc2:	8b 95 20 ff ff ff    	mov    -0xe0(%ebp),%edx
-    8cc8:	8b 8d 2c ff ff ff    	mov    -0xd4(%ebp),%ecx
-    8cce:	01 0a                	add    %ecx,(%edx)
-    8cd0:	83 bd 24 ff ff ff ff 	cmpl   $0xffffffff,-0xdc(%ebp)
-    8cd7:	0f 84 69 ff ff ff    	je     0x8c46
-    8cdd:	83 bd 24 ff ff ff fe 	cmpl   $0xfffffffe,-0xdc(%ebp)
-    8ce4:	0f 84 2e 09 00 00    	je     0x9618
-    8cea:	8b b5 24 ff ff ff    	mov    -0xdc(%ebp),%esi
-    8cf0:	83 bd 00 ff ff ff 01 	cmpl   $0x1,-0x100(%ebp)
-    8cf7:	89 75 94             	mov    %esi,-0x6c(%ebp)
-    8cfa:	0f 97 85 20 ff ff ff 	seta   -0xe0(%ebp)
-    8d01:	0f 87 e9 01 00 00    	ja     0x8ef0
-    8d07:	8b 85 14 ff ff ff    	mov    -0xec(%ebp),%eax
-    8d0d:	8b 58 4c             	mov    0x4c(%eax),%ebx
-    8d10:	85 db                	test   %ebx,%ebx
-    8d12:	0f 85 e8 01 00 00    	jne    0x8f00
-    8d18:	83 bd 00 ff ff ff 00 	cmpl   $0x0,-0x100(%ebp)
-    8d1f:	0f 84 5a 01 00 00    	je     0x8e7f
-    8d25:	80 bd 20 ff ff ff 00 	cmpb   $0x0,-0xe0(%ebp)
-    8d2c:	74 2c                	je     0x8d5a
-    8d2e:	8b 8d 00 ff ff ff    	mov    -0x100(%ebp),%ecx
-    8d34:	ba 01 00 00 00       	mov    $0x1,%edx
-    8d39:	b8 01 00 00 00       	mov    $0x1,%eax
-    8d3e:	8b 5d 18             	mov    0x18(%ebp),%ebx
-    8d41:	83 c0 01             	add    $0x1,%eax
-    8d44:	8d 14 d3             	lea    (%ebx,%edx,8),%edx
-    8d47:	39 c1                	cmp    %eax,%ecx
-    8d49:	c7 42 04 ff ff ff ff 	movl   $0xffffffff,0x4(%edx)
-    8d50:	c7 02 ff ff ff ff    	movl   $0xffffffff,(%edx)
-    8d56:	89 c2                	mov    %eax,%edx
-    8d58:	77 e7                	ja     0x8d41
-    8d5a:	8b 4d 18             	mov    0x18(%ebp),%ecx
-    8d5d:	80 bd 20 ff ff ff 00 	cmpb   $0x0,-0xe0(%ebp)
-    8d64:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
-    8d6a:	8b 45 94             	mov    -0x6c(%ebp),%eax
-    8d6d:	89 41 04             	mov    %eax,0x4(%ecx)
-    8d70:	74 51                	je     0x8dc3
-    8d72:	8b b5 0c ff ff ff    	mov    -0xf4(%ebp),%esi
-    8d78:	f6 46 1c 10          	testb  $0x10,0x1c(%esi)
-    8d7c:	75 45                	jne    0x8dc3
-    8d7e:	8b bd 14 ff ff ff    	mov    -0xec(%ebp),%edi
-    8d84:	31 c0                	xor    %eax,%eax
-    8d86:	f6 47 58 01          	testb  $0x1,0x58(%edi)
-    8d8a:	74 0a                	je     0x8d96
-    8d8c:	83 7f 4c 00          	cmpl   $0x0,0x4c(%edi)
-    8d90:	0f 9f c0             	setg   %al
-    8d93:	0f b6 c0             	movzbl %al,%eax
-    8d96:	89 44 24 04          	mov    %eax,0x4(%esp)
-    8d9a:	8b 55 18             	mov    0x18(%ebp),%edx
-    8d9d:	89 14 24             	mov    %edx,(%esp)
-    8da0:	8b 8d 00 ff ff ff    	mov    -0x100(%ebp),%ecx
-    8da6:	8d 95 38 ff ff ff    	lea    -0xc8(%ebp),%edx
-    8dac:	8b 85 0c ff ff ff    	mov    -0xf4(%ebp),%eax
-    8db2:	e8 49 f0 ff ff       	call   0x7e00
-    8db7:	85 c0                	test   %eax,%eax
-    8db9:	89 c6                	mov    %eax,%esi
-    8dbb:	52                   	push   %edx
-    8dbc:	52                   	push   %edx
-    8dbd:	0f 85 75 05 00 00    	jne    0x9338
-    8dc3:	8b bd 44 ff ff ff    	mov    -0xbc(%ebp),%edi
-    8dc9:	31 c0                	xor    %eax,%eax
-    8dcb:	31 d2                	xor    %edx,%edx
-    8dcd:	8b 75 f0             	mov    -0x10(%ebp),%esi
-    8dd0:	8b 4d 18             	mov    0x18(%ebp),%ecx
-    8dd3:	8d 04 c1             	lea    (%ecx,%eax,8),%eax
-    8dd6:	8b 08                	mov    (%eax),%ecx
-    8dd8:	83 f9 ff             	cmp    $0xffffffff,%ecx
-    8ddb:	74 11                	je     0x8dee
-    8ddd:	80 7d 84 00          	cmpb   $0x0,-0x7c(%ebp)
-    8de1:	0f 85 68 08 00 00    	jne    0x964f
-    8de7:	01 70 04             	add    %esi,0x4(%eax)
-    8dea:	01 f1                	add    %esi,%ecx
-    8dec:	89 08                	mov    %ecx,(%eax)
-    8dee:	83 c2 01             	add    $0x1,%edx
-    8df1:	3b 95 00 ff ff ff    	cmp    -0x100(%ebp),%edx
-    8df7:	89 d0                	mov    %edx,%eax
-    8df9:	75 d5                	jne    0x8dd0
-    8dfb:	83 bd e0 fe ff ff 00 	cmpl   $0x0,-0x120(%ebp)
-    8e02:	7e 2b                	jle    0x8e2f
-    8e04:	8b b5 00 ff ff ff    	mov    -0x100(%ebp),%esi
-    8e0a:	31 d2                	xor    %edx,%edx
-    8e0c:	8b 7d 18             	mov    0x18(%ebp),%edi
-    8e0f:	8b 8d e0 fe ff ff    	mov    -0x120(%ebp),%ecx
-    8e15:	8d 04 f7             	lea    (%edi,%esi,8),%eax
-    8e18:	83 c2 01             	add    $0x1,%edx
-    8e1b:	c7 00 ff ff ff ff    	movl   $0xffffffff,(%eax)
-    8e21:	c7 40 04 ff ff ff ff 	movl   $0xffffffff,0x4(%eax)
-    8e28:	83 c0 08             	add    $0x8,%eax
-    8e2b:	39 ca                	cmp    %ecx,%edx
-    8e2d:	75 e9                	jne    0x8e18
-    8e2f:	8b 85 14 ff ff ff    	mov    -0xec(%ebp),%eax
-    8e35:	83 b8 84 00 00 00 00 	cmpl   $0x0,0x84(%eax)
-    8e3c:	74 41                	je     0x8e7f
-    8e3e:	8b 9d 00 ff ff ff    	mov    -0x100(%ebp),%ebx
-    8e44:	31 c0                	xor    %eax,%eax
-    8e46:	8b bd 14 ff ff ff    	mov    -0xec(%ebp),%edi
-    8e4c:	8b 55 18             	mov    0x18(%ebp),%edx
-    8e4f:	83 eb 01             	sub    $0x1,%ebx
-    8e52:	eb 27                	jmp    0x8e7b
-    8e54:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    8e58:	8b 8f 84 00 00 00    	mov    0x84(%edi),%ecx
-    8e5e:	8b 34 81             	mov    (%ecx,%eax,4),%esi
-    8e61:	39 f0                	cmp    %esi,%eax
-    8e63:	74 13                	je     0x8e78
-    8e65:	8b 74 f2 08          	mov    0x8(%edx,%esi,8),%esi
-    8e69:	89 74 c2 08          	mov    %esi,0x8(%edx,%eax,8)
-    8e6d:	8b 0c 81             	mov    (%ecx,%eax,4),%ecx
-    8e70:	8b 4c ca 0c          	mov    0xc(%edx,%ecx,8),%ecx
-    8e74:	89 4c c2 0c          	mov    %ecx,0xc(%edx,%eax,8)
-    8e78:	83 c0 01             	add    $0x1,%eax
-    8e7b:	39 d8                	cmp    %ebx,%eax
-    8e7d:	75 d9                	jne    0x8e58
-    8e7f:	8b 55 9c             	mov    -0x64(%ebp),%edx
-    8e82:	31 f6                	xor    %esi,%esi
-    8e84:	e9 f7 fd ff ff       	jmp    0x8c80
-    8e89:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
-    8e90:	89 da                	mov    %ebx,%edx
-    8e92:	8b b5 04 ff ff ff    	mov    -0xfc(%ebp),%esi
-    8e98:	8b bd f8 fe ff ff    	mov    -0x108(%ebp),%edi
-    8e9e:	8b 9d 08 ff ff ff    	mov    -0xf8(%ebp),%ebx
-    8ea4:	89 d0                	mov    %edx,%eax
-    8ea6:	2b 85 50 ff ff ff    	sub    -0xb0(%ebp),%eax
-    8eac:	3b 85 58 ff ff ff    	cmp    -0xa8(%ebp),%eax
-    8eb2:	0f 83 58 09 00 00    	jae    0x9810
-    8eb8:	31 c9                	xor    %ecx,%ecx
-    8eba:	39 d7                	cmp    %edx,%edi
-    8ebc:	7e 0a                	jle    0x8ec8
-    8ebe:	8b 8d 3c ff ff ff    	mov    -0xc4(%ebp),%ecx
-    8ec4:	0f b6 0c 01          	movzbl (%ecx,%eax,1),%ecx
-    8ec8:	80 3c 0e 00          	cmpb   $0x0,(%esi,%ecx,1)
-    8ecc:	0f 85 c2 03 00 00    	jne    0x9294
-    8ed2:	03 95 fc fe ff ff    	add    -0x104(%ebp),%edx
-    8ed8:	39 d3                	cmp    %edx,%ebx
-    8eda:	89 55 f0             	mov    %edx,-0x10(%ebp)
-    8edd:	0f 8c 95 fd ff ff    	jl     0x8c78
-    8ee3:	39 95 10 ff ff ff    	cmp    %edx,-0xf0(%ebp)
-    8ee9:	7e b9                	jle    0x8ea4
-    8eeb:	e9 88 fd ff ff       	jmp    0x8c78
-    8ef0:	8b bd 0c ff ff ff    	mov    -0xf4(%ebp),%edi
-    8ef6:	f6 47 1c 10          	testb  $0x10,0x1c(%edi)
-    8efa:	0f 85 07 fe ff ff    	jne    0x8d07
-    8f00:	8b 45 9c             	mov    -0x64(%ebp),%eax
-    8f03:	8b 8d 24 ff ff ff    	mov    -0xdc(%ebp),%ecx
-    8f09:	8b 14 88             	mov    (%eax,%ecx,4),%edx
-    8f0c:	8d 85 38 ff ff ff    	lea    -0xc8(%ebp),%eax
-    8f12:	e8 89 9e ff ff       	call   0x2da0
-    8f17:	80 bd 20 ff ff ff 00 	cmpb   $0x0,-0xe0(%ebp)
-    8f1e:	89 85 34 ff ff ff    	mov    %eax,-0xcc(%ebp)
-    8f24:	89 45 98             	mov    %eax,-0x68(%ebp)
-    8f27:	0f 84 db 02 00 00    	je     0x9208
-    8f2d:	8b b5 0c ff ff ff    	mov    -0xf4(%ebp),%esi
-    8f33:	f6 46 1c 10          	testb  $0x10,0x1c(%esi)
-    8f37:	0f 85 cb 02 00 00    	jne    0x9208
-    8f3d:	8b 85 14 ff ff ff    	mov    -0xec(%ebp),%eax
-    8f43:	f6 40 58 01          	testb  $0x1,0x58(%eax)
-    8f47:	75 0b                	jne    0x8f54
-    8f49:	8b 40 4c             	mov    0x4c(%eax),%eax
-    8f4c:	85 c0                	test   %eax,%eax
-    8f4e:	0f 84 c4 fd ff ff    	je     0x8d18
-    8f54:	8b 5d 94             	mov    -0x6c(%ebp),%ebx
-    8f57:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
-    8f5a:	81 fb fe ff ff 3f    	cmp    $0x3ffffffe,%ebx
-    8f60:	89 8d 28 ff ff ff    	mov    %ecx,-0xd8(%ebp)
-    8f66:	0f 87 63 07 00 00    	ja     0x96cf
-    8f6c:	8d 73 01             	lea    0x1(%ebx),%esi
-    8f6f:	89 b5 30 ff ff ff    	mov    %esi,-0xd0(%ebp)
-    8f75:	c1 e6 02             	shl    $0x2,%esi
-    8f78:	89 34 24             	mov    %esi,(%esp)
-    8f7b:	e8 fc ff ff ff       	call   0x8f7c
-    8f80:	85 c0                	test   %eax,%eax
-    8f82:	89 c7                	mov    %eax,%edi
-    8f84:	0f 84 9b 06 00 00    	je     0x9625
-    8f8a:	8b 85 28 ff ff ff    	mov    -0xd8(%ebp),%eax
-    8f90:	8b 48 4c             	mov    0x4c(%eax),%ecx
-    8f93:	85 c9                	test   %ecx,%ecx
-    8f95:	0f 84 e5 00 00 00    	je     0x9080
-    8f9b:	89 34 24             	mov    %esi,(%esp)
-    8f9e:	e8 fc ff ff ff       	call   0x8f9f
-    8fa3:	85 c0                	test   %eax,%eax
-    8fa5:	89 c6                	mov    %eax,%esi
-    8fa7:	89 85 24 ff ff ff    	mov    %eax,-0xdc(%ebp)
-    8fad:	0f 84 7c 06 00 00    	je     0x962f
-    8fb3:	8d 55 c0             	lea    -0x40(%ebp),%edx
-    8fb6:	89 95 2c ff ff ff    	mov    %edx,-0xd4(%ebp)
-    8fbc:	8b 85 30 ff ff ff    	mov    -0xd0(%ebp),%eax
-    8fc2:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
-    8fc9:	00 
-    8fca:	89 34 24             	mov    %esi,(%esp)
-    8fcd:	c1 e0 02             	shl    $0x2,%eax
-    8fd0:	89 44 24 08          	mov    %eax,0x8(%esp)
-    8fd4:	e8 fc ff ff ff       	call   0x8fd5
-    8fd9:	8b 8d 34 ff ff ff    	mov    -0xcc(%ebp),%ecx
-    8fdf:	8d 85 38 ff ff ff    	lea    -0xc8(%ebp),%eax
-    8fe5:	8b 95 2c ff ff ff    	mov    -0xd4(%ebp),%edx
-    8feb:	89 7d c0             	mov    %edi,-0x40(%ebp)
-    8fee:	89 75 c4             	mov    %esi,-0x3c(%ebp)
-    8ff1:	89 4d c8             	mov    %ecx,-0x38(%ebp)
-    8ff4:	89 5d cc             	mov    %ebx,-0x34(%ebp)
-    8ff7:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
-    8ffe:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
-    9005:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
-    900c:	e8 af d8 ff ff       	call   0x68c0
-    9011:	8b 55 d8             	mov    -0x28(%ebp),%edx
-    9014:	89 14 24             	mov    %edx,(%esp)
-    9017:	89 85 d4 fe ff ff    	mov    %eax,-0x12c(%ebp)
-    901d:	e8 fc ff ff ff       	call   0x901e
-    9022:	8b 85 d4 fe ff ff    	mov    -0x12c(%ebp),%eax
-    9028:	85 c0                	test   %eax,%eax
-    902a:	0f 85 db 02 00 00    	jne    0x930b
-    9030:	8b 17                	mov    (%edi),%edx
-    9032:	85 d2                	test   %edx,%edx
-    9034:	0f 85 90 02 00 00    	jne    0x92ca
-    903a:	8b 06                	mov    (%esi),%eax
-    903c:	85 c0                	test   %eax,%eax
-    903e:	0f 85 86 02 00 00    	jne    0x92ca
-    9044:	8d 4b ff             	lea    -0x1(%ebx),%ecx
-    9047:	8d 04 8d 00 00 00 00 	lea    0x0(,%ecx,4),%eax
-    904e:	03 45 9c             	add    -0x64(%ebp),%eax
-    9051:	eb 1b                	jmp    0x906e
-    9053:	90                   	nop
-    9054:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    9058:	8b 10                	mov    (%eax),%edx
-    905a:	85 d2                	test   %edx,%edx
-    905c:	74 0a                	je     0x9068
-    905e:	f6 42 34 10          	testb  $0x10,0x34(%edx)
-    9062:	0f 85 b3 00 00 00    	jne    0x911b
-    9068:	83 e8 04             	sub    $0x4,%eax
-    906b:	83 e9 01             	sub    $0x1,%ecx
-    906e:	83 f9 ff             	cmp    $0xffffffff,%ecx
-    9071:	89 cb                	mov    %ecx,%ebx
-    9073:	75 e3                	jne    0x9058
-    9075:	e9 b6 fb ff ff       	jmp    0x8c30
-    907a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
-    9080:	8b 8d 34 ff ff ff    	mov    -0xcc(%ebp),%ecx
-    9086:	8d 75 c0             	lea    -0x40(%ebp),%esi
-    9089:	89 f2                	mov    %esi,%edx
-    908b:	89 7d c0             	mov    %edi,-0x40(%ebp)
-    908e:	8d 85 38 ff ff ff    	lea    -0xc8(%ebp),%eax
-    9094:	c7 45 c4 00 00 00 00 	movl   $0x0,-0x3c(%ebp)
-    909b:	89 4d c8             	mov    %ecx,-0x38(%ebp)
-    909e:	89 5d cc             	mov    %ebx,-0x34(%ebp)
-    90a1:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
-    90a8:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
-    90af:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
-    90b6:	e8 05 d8 ff ff       	call   0x68c0
-    90bb:	8b 55 d8             	mov    -0x28(%ebp),%edx
-    90be:	89 14 24             	mov    %edx,(%esp)
-    90c1:	89 85 d4 fe ff ff    	mov    %eax,-0x12c(%ebp)
-    90c7:	e8 fc ff ff ff       	call   0x90c8
-    90cc:	8b 85 d4 fe ff ff    	mov    -0x12c(%ebp),%eax
-    90d2:	85 c0                	test   %eax,%eax
-    90d4:	0f 85 27 02 00 00    	jne    0x9301
-    90da:	8b 0f                	mov    (%edi),%ecx
-    90dc:	85 c9                	test   %ecx,%ecx
-    90de:	0f 84 3c fb ff ff    	je     0x8c20
-    90e4:	8b 45 9c             	mov    -0x64(%ebp),%eax
-    90e7:	89 04 24             	mov    %eax,(%esp)
-    90ea:	e8 fc ff ff ff       	call   0x90eb
-    90ef:	89 7d 9c             	mov    %edi,-0x64(%ebp)
-    90f2:	8b bd 34 ff ff ff    	mov    -0xcc(%ebp),%edi
-    90f8:	89 5d 94             	mov    %ebx,-0x6c(%ebp)
-    90fb:	89 7d 98             	mov    %edi,-0x68(%ebp)
-    90fe:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
-    9105:	e8 fc ff ff ff       	call   0x9106
-    910a:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
-    9111:	e8 fc ff ff ff       	call   0x9112
-    9116:	e9 fd fb ff ff       	jmp    0x8d18
-    911b:	8d 85 38 ff ff ff    	lea    -0xc8(%ebp),%eax
-    9121:	e8 7a 9c ff ff       	call   0x2da0
-    9126:	89 85 34 ff ff ff    	mov    %eax,-0xcc(%ebp)
-    912c:	8d 43 01             	lea    0x1(%ebx),%eax
-    912f:	89 85 30 ff ff ff    	mov    %eax,-0xd0(%ebp)
-    9135:	e9 82 fe ff ff       	jmp    0x8fbc
-    913a:	8b 75 ec             	mov    -0x14(%ebp),%esi
-    913d:	85 f6                	test   %esi,%esi
-    913f:	0f 85 d3 04 00 00    	jne    0x9618
-    9145:	8b 5d 9c             	mov    -0x64(%ebp),%ebx
-    9148:	85 db                	test   %ebx,%ebx
-    914a:	0f 84 68 fb ff ff    	je     0x8cb8
-    9150:	8b 8d 1c ff ff ff    	mov    -0xe4(%ebp),%ecx
-    9156:	85 c9                	test   %ecx,%ecx
-    9158:	0f 85 a8 04 00 00    	jne    0x9606
-    915e:	8b 9d 60 ff ff ff    	mov    -0xa0(%ebp),%ebx
-    9164:	8b 75 a0             	mov    -0x60(%ebp),%esi
-    9167:	8d 53 01             	lea    0x1(%ebx),%edx
-    916a:	8d 04 95 00 00 00 00 	lea    0x0(,%edx,4),%eax
-    9171:	03 45 9c             	add    -0x64(%ebp),%eax
-    9174:	eb 05                	jmp    0x917b
-    9176:	66 90                	xchg   %ax,%ax
-    9178:	83 c2 01             	add    $0x1,%edx
-    917b:	39 d6                	cmp    %edx,%esi
-    917d:	0f 8c 2d fb ff ff    	jl     0x8cb0
-    9183:	8b 08                	mov    (%eax),%ecx
-    9185:	83 c3 01             	add    $0x1,%ebx
-    9188:	83 c0 04             	add    $0x4,%eax
-    918b:	85 c9                	test   %ecx,%ecx
-    918d:	74 e9                	je     0x9178
-    918f:	31 c9                	xor    %ecx,%ecx
-    9191:	89 9d 60 ff ff ff    	mov    %ebx,-0xa0(%ebp)
-    9197:	8d 95 38 ff ff ff    	lea    -0xc8(%ebp),%edx
-    919d:	8d 45 ec             	lea    -0x14(%ebp),%eax
-    91a0:	e8 ab d5 ff ff       	call   0x6750
-    91a5:	85 c0                	test   %eax,%eax
-    91a7:	0f 85 e0 00 00 00    	jne    0x928d
-    91ad:	8b 55 ec             	mov    -0x14(%ebp),%edx
-    91b0:	85 d2                	test   %edx,%edx
-    91b2:	74 aa                	je     0x915e
-    91b4:	e9 ff fa ff ff       	jmp    0x8cb8
-    91b9:	85 c0                	test   %eax,%eax
-    91bb:	90                   	nop
-    91bc:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    91c0:	0f 84 06 f8 ff ff    	je     0x89cc
-    91c6:	89 c2                	mov    %eax,%edx
-    91c8:	83 e2 06             	and    $0x6,%edx
-    91cb:	83 fa 06             	cmp    $0x6,%edx
-    91ce:	66 90                	xchg   %ax,%ax
-    91d0:	74 44                	je     0x9216
-    91d2:	a8 02                	test   $0x2,%al
-    91d4:	0f 84 c3 00 00 00    	je     0x929d
-    91da:	8b 7b 2c             	mov    0x2c(%ebx),%edi
-    91dd:	89 bd 30 ff ff ff    	mov    %edi,-0xd0(%ebp)
-    91e3:	e9 e4 f7 ff ff       	jmp    0x89cc
-    91e8:	be 01 00 00 00       	mov    $0x1,%esi
-    91ed:	8d 65 f4             	lea    -0xc(%ebp),%esp
-    91f0:	89 f0                	mov    %esi,%eax
-    91f2:	5b                   	pop    %ebx
-    91f3:	5e                   	pop    %esi
-    91f4:	5f                   	pop    %edi
-    91f5:	5d                   	pop    %ebp
-    91f6:	c2 18 00             	ret    $0x18
-    91f9:	8b 8d 30 ff ff ff    	mov    -0xd0(%ebp),%ecx
-    91ff:	0f b6 41 34          	movzbl 0x34(%ecx),%eax
-    9203:	e9 fb f7 ff ff       	jmp    0x8a03
-    9208:	8b bd 14 ff ff ff    	mov    -0xec(%ebp),%edi
-    920e:	8b 47 4c             	mov    0x4c(%edi),%eax
-    9211:	e9 36 fd ff ff       	jmp    0x8f4c
-    9216:	8b 73 30             	mov    0x30(%ebx),%esi
-    9219:	89 b5 30 ff ff ff    	mov    %esi,-0xd0(%ebp)
-    921f:	e9 a8 f7 ff ff       	jmp    0x89cc
-    9224:	8d 85 38 ff ff ff    	lea    -0xc8(%ebp),%eax
-    922a:	e8 61 7c ff ff       	call   0xe90
-    922f:	8b 45 bc             	mov    -0x44(%ebp),%eax
-    9232:	89 04 24             	mov    %eax,(%esp)
-    9235:	e8 fc ff ff ff       	call   0x9236
-    923a:	8b 45 ac             	mov    -0x54(%ebp),%eax
-    923d:	89 04 24             	mov    %eax,(%esp)
-    9240:	e8 fc ff ff ff       	call   0x9241
-    9245:	e9 4f fa ff ff       	jmp    0x8c99
-    924a:	8b 55 0c             	mov    0xc(%ebp),%edx
-    924d:	89 9d 08 ff ff ff    	mov    %ebx,-0xf8(%ebp)
-    9253:	c7 85 fc fe ff ff ff 	movl   $0xffffffff,-0x104(%ebp)
-    925a:	ff ff ff 
-    925d:	01 da                	add    %ebx,%edx
-    925f:	39 d3                	cmp    %edx,%ebx
-    9261:	0f 9c c1             	setl   %cl
-    9264:	31 f6                	xor    %esi,%esi
-    9266:	89 95 10 ff ff ff    	mov    %edx,-0xf0(%ebp)
-    926c:	e9 78 f5 ff ff       	jmp    0x87e9
-    9271:	8b 85 14 ff ff ff    	mov    -0xec(%ebp),%eax
-    9277:	f6 40 58 02          	testb  $0x2,0x58(%eax)
-    927b:	0f 85 f2 f4 ff ff    	jne    0x8773
-    9281:	c7 45 9c 00 00 00 00 	movl   $0x0,-0x64(%ebp)
-    9288:	e9 13 f5 ff ff       	jmp    0x87a0
-    928d:	89 c3                	mov    %eax,%ebx
-    928f:	e9 80 f8 ff ff       	jmp    0x8b14
-    9294:	89 d3                	mov    %edx,%ebx
-    9296:	89 da                	mov    %ebx,%edx
-    9298:	e9 6a f6 ff ff       	jmp    0x8907
-    929d:	a8 04                	test   $0x4,%al
-    929f:	90                   	nop
-    92a0:	0f 84 26 f7 ff ff    	je     0x89cc
-    92a6:	8b 95 30 ff ff ff    	mov    -0xd0(%ebp),%edx
-    92ac:	8d 75 ec             	lea    -0x14(%ebp),%esi
-    92af:	8b 4a 28             	mov    0x28(%edx),%ecx
-    92b2:	89 da                	mov    %ebx,%edx
-    92b4:	89 04 24             	mov    %eax,(%esp)
-    92b7:	89 f0                	mov    %esi,%eax
-    92b9:	e8 52 b2 ff ff       	call   0x4510
-    92be:	57                   	push   %edi
-    92bf:	89 85 30 ff ff ff    	mov    %eax,-0xd0(%ebp)
-    92c5:	e9 02 f7 ff ff       	jmp    0x89cc
-    92ca:	8b 95 30 ff ff ff    	mov    -0xd0(%ebp),%edx
-    92d0:	89 f1                	mov    %esi,%ecx
-    92d2:	89 14 24             	mov    %edx,(%esp)
-    92d5:	8b 85 28 ff ff ff    	mov    -0xd8(%ebp),%eax
-    92db:	89 fa                	mov    %edi,%edx
-    92dd:	e8 be ba ff ff       	call   0x4da0
-    92e2:	83 ec 04             	sub    $0x4,%esp
-    92e5:	89 34 24             	mov    %esi,(%esp)
-    92e8:	89 85 d4 fe ff ff    	mov    %eax,-0x12c(%ebp)
-    92ee:	e8 fc ff ff ff       	call   0x92ef
-    92f3:	8b 85 d4 fe ff ff    	mov    -0x12c(%ebp),%eax
-    92f9:	85 c0                	test   %eax,%eax
-    92fb:	0f 84 e3 fd ff ff    	je     0x90e4
-    9301:	c7 85 24 ff ff ff 00 	movl   $0x0,-0xdc(%ebp)
-    9308:	00 00 00 
-    930b:	89 3c 24             	mov    %edi,(%esp)
-    930e:	89 85 d4 fe ff ff    	mov    %eax,-0x12c(%ebp)
-    9314:	e8 fc ff ff ff       	call   0x9315
-    9319:	8b 95 24 ff ff ff    	mov    -0xdc(%ebp),%edx
-    931f:	89 14 24             	mov    %edx,(%esp)
-    9322:	e8 fc ff ff ff       	call   0x9323
-    9327:	8b 85 d4 fe ff ff    	mov    -0x12c(%ebp),%eax
-    932d:	83 f8 01             	cmp    $0x1,%eax
-    9330:	0f 84 10 f9 ff ff    	je     0x8c46
-    9336:	89 c6                	mov    %eax,%esi
-    9338:	8b 55 9c             	mov    -0x64(%ebp),%edx
-    933b:	e9 40 f9 ff ff       	jmp    0x8c80
-    9340:	31 c0                	xor    %eax,%eax
-    9342:	8b bd 34 ff ff ff    	mov    -0xcc(%ebp),%edi
-    9348:	39 9d 30 ff ff ff    	cmp    %ebx,-0xd0(%ebp)
-    934e:	0f 94 c0             	sete   %al
-    9351:	39 9d 30 ff ff ff    	cmp    %ebx,-0xd0(%ebp)
-    9357:	0f 45 bd 2c ff ff ff 	cmovne -0xd4(%ebp),%edi
-    935e:	89 85 28 ff ff ff    	mov    %eax,-0xd8(%ebp)
-    9364:	89 bd 34 ff ff ff    	mov    %edi,-0xcc(%ebp)
-    936a:	e9 bf f7 ff ff       	jmp    0x8b2e
-    936f:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
-    9372:	83 7a 08 00          	cmpl   $0x0,0x8(%edx)
-    9376:	89 8d dc fe ff ff    	mov    %ecx,-0x124(%ebp)
-    937c:	0f 8e bd 01 00 00    	jle    0x953f
-    9382:	31 db                	xor    %ebx,%ebx
-    9384:	89 f7                	mov    %esi,%edi
-    9386:	89 9d f4 fe ff ff    	mov    %ebx,-0x10c(%ebp)
-    938c:	eb 24                	jmp    0x93b2
-    938e:	66 90                	xchg   %ax,%ax
-    9390:	8b bd 60 ff ff ff    	mov    -0xa0(%ebp),%edi
-    9396:	8b b5 30 ff ff ff    	mov    -0xd0(%ebp),%esi
-    939c:	83 85 f4 fe ff ff 01 	addl   $0x1,-0x10c(%ebp)
-    93a3:	8b 85 f4 fe ff ff    	mov    -0x10c(%ebp),%eax
-    93a9:	3b 46 08             	cmp    0x8(%esi),%eax
-    93ac:	0f 8d 8b 01 00 00    	jge    0x953d
-    93b2:	8b b5 30 ff ff ff    	mov    -0xd0(%ebp),%esi
-    93b8:	8b 95 f4 fe ff ff    	mov    -0x10c(%ebp),%edx
-    93be:	8b 8d dc fe ff ff    	mov    -0x124(%ebp),%ecx
-    93c4:	8b 46 0c             	mov    0xc(%esi),%eax
-    93c7:	8b 1c 90             	mov    (%eax,%edx,4),%ebx
-    93ca:	8d 04 dd 00 00 00 00 	lea    0x0(,%ebx,8),%eax
-    93d1:	03 01                	add    (%ecx),%eax
-    93d3:	f6 40 06 10          	testb  $0x10,0x6(%eax)
-    93d7:	74 bd                	je     0x9396
-    93d9:	8b 70 04             	mov    0x4(%eax),%esi
-    93dc:	f7 c6 00 ff 03 00    	test   $0x3ff00,%esi
-    93e2:	74 56                	je     0x943a
-    93e4:	8b 4d 90             	mov    -0x70(%ebp),%ecx
-    93e7:	c1 ee 08             	shr    $0x8,%esi
-    93ea:	89 fa                	mov    %edi,%edx
-    93ec:	8d 85 38 ff ff ff    	lea    -0xc8(%ebp),%eax
-    93f2:	81 e6 ff 03 00 00    	and    $0x3ff,%esi
-    93f8:	e8 c3 97 ff ff       	call   0x2bc0
-    93fd:	f7 c6 04 00 00 00    	test   $0x4,%esi
-    9403:	74 04                	je     0x9409
-    9405:	a8 01                	test   $0x1,%al
-    9407:	74 8d                	je     0x9396
-    9409:	f7 c6 08 00 00 00    	test   $0x8,%esi
-    940f:	90                   	nop
-    9410:	74 08                	je     0x941a
-    9412:	a8 01                	test   $0x1,%al
-    9414:	0f 85 7c ff ff ff    	jne    0x9396
-    941a:	f7 c6 20 00 00 00    	test   $0x20,%esi
+    71a8:	8b 5d bc             	mov    -0x44(%ebp),%ebx
+    71ab:	3b 1e                	cmp    (%esi),%ebx
+    71ad:	0f 85 f0 fe ff ff    	jne    0x70a3
+    71b3:	90                   	nop
+    71b4:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    71b8:	e9 e8 fe ff ff       	jmp    0x70a5
+    71bd:	8b 55 c0             	mov    -0x40(%ebp),%edx
+    71c0:	8b 02                	mov    (%edx),%eax
+    71c2:	89 45 d0             	mov    %eax,-0x30(%ebp)
+    71c5:	8b 42 04             	mov    0x4(%edx),%eax
+    71c8:	89 45 d4             	mov    %eax,-0x2c(%ebp)
+    71cb:	8b 42 08             	mov    0x8(%edx),%eax
+    71ce:	89 45 d8             	mov    %eax,-0x28(%ebp)
+    71d1:	8b 42 0c             	mov    0xc(%edx),%eax
+    71d4:	89 45 dc             	mov    %eax,-0x24(%ebp)
+    71d7:	8b 42 10             	mov    0x10(%edx),%eax
+    71da:	89 45 e0             	mov    %eax,-0x20(%ebp)
+    71dd:	8b 42 14             	mov    0x14(%edx),%eax
+    71e0:	89 45 e4             	mov    %eax,-0x1c(%ebp)
+    71e3:	8b 42 18             	mov    0x18(%edx),%eax
+    71e6:	8b 55 98             	mov    -0x68(%ebp),%edx
+    71e9:	89 45 e8             	mov    %eax,-0x18(%ebp)
+    71ec:	8d 45 e0             	lea    -0x20(%ebp),%eax
+    71ef:	e8 8c ac ff ff       	call   0x1e80
+    71f4:	85 c0                	test   %eax,%eax
+    71f6:	0f 84 70 fc ff ff    	je     0x6e6c
+    71fc:	e9 53 fd ff ff       	jmp    0x6f54
+    7201:	b8 0c 00 00 00       	mov    $0xc,%eax
+    7206:	66 90                	xchg   %ax,%ax
+    7208:	e9 26 fa ff ff       	jmp    0x6c33
+    720d:	b8 0c 00 00 00       	mov    $0xc,%eax
+    7212:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
+    7218:	e9 37 fd ff ff       	jmp    0x6f54
+    721d:	8d 76 00             	lea    0x0(%esi),%esi
+    7220:	55                   	push   %ebp
+    7221:	b9 08 00 00 00       	mov    $0x8,%ecx
+    7226:	89 e5                	mov    %esp,%ebp
+    7228:	57                   	push   %edi
+    7229:	56                   	push   %esi
+    722a:	53                   	push   %ebx
+    722b:	81 ec f0 2c 00 00    	sub    $0x2cf0,%esp
+    7231:	89 85 30 ff ff ff    	mov    %eax,-0xd0(%ebp)
+    7237:	8d 44 24 1b          	lea    0x1b(%esp),%eax
+    723b:	83 e0 f0             	and    $0xfffffff0,%eax
+    723e:	89 85 38 ff ff ff    	mov    %eax,-0xc8(%ebp)
+    7244:	8d 5d a4             	lea    -0x5c(%ebp),%ebx
+    7247:	05 00 0c 00 00       	add    $0xc00,%eax
+    724c:	89 85 34 ff ff ff    	mov    %eax,-0xcc(%ebp)
+    7252:	89 df                	mov    %ebx,%edi
+    7254:	31 c0                	xor    %eax,%eax
+    7256:	c7 42 2c 00 00 00 00 	movl   $0x0,0x2c(%edx)
+    725d:	c7 42 30 00 00 00 00 	movl   $0x0,0x30(%edx)
+    7264:	f3 ab                	rep stos %eax,%es:(%edi)
+    7266:	89 95 44 ff ff ff    	mov    %edx,-0xbc(%ebp)
+    726c:	83 7a 08 00          	cmpl   $0x0,0x8(%edx)
+    7270:	0f 8e b2 09 00 00    	jle    0x7c28
+    7276:	c7 85 58 ff ff ff 00 	movl   $0x0,-0xa8(%ebp)
+    727d:	00 00 00 
+    7280:	c7 85 3c ff ff ff 00 	movl   $0x0,-0xc4(%ebp)
+    7287:	00 00 00 
+    728a:	eb 43                	jmp    0x72cf
+    728c:	83 bd 4c ff ff ff 03 	cmpl   $0x3,-0xb4(%ebp)
+    7293:	0f 84 33 04 00 00    	je     0x76cc
+    7299:	83 bd 4c ff ff ff 05 	cmpl   $0x5,-0xb4(%ebp)
+    72a0:	0f 84 47 04 00 00    	je     0x76ed
+    72a6:	83 bd 4c ff ff ff 07 	cmpl   $0x7,-0xb4(%ebp)
+    72ad:	0f 84 d0 04 00 00    	je     0x7783
+    72b3:	8b bd 44 ff ff ff    	mov    -0xbc(%ebp),%edi
+    72b9:	83 85 3c ff ff ff 01 	addl   $0x1,-0xc4(%ebp)
+    72c0:	8b 85 3c ff ff ff    	mov    -0xc4(%ebp),%eax
+    72c6:	3b 47 08             	cmp    0x8(%edi),%eax
+    72c9:	0f 8d f3 04 00 00    	jge    0x77c2
+    72cf:	8b 85 3c ff ff ff    	mov    -0xc4(%ebp),%eax
+    72d5:	8b 95 44 ff ff ff    	mov    -0xbc(%ebp),%edx
+    72db:	8b 8d 3c ff ff ff    	mov    -0xc4(%ebp),%ecx
+    72e1:	8b b5 30 ff ff ff    	mov    -0xd0(%ebp),%esi
+    72e7:	c1 e0 02             	shl    $0x2,%eax
+    72ea:	89 85 40 ff ff ff    	mov    %eax,-0xc0(%ebp)
+    72f0:	8b 42 0c             	mov    0xc(%edx),%eax
+    72f3:	8b 36                	mov    (%esi),%esi
+    72f5:	8b 04 88             	mov    (%eax,%ecx,4),%eax
+    72f8:	c1 e0 03             	shl    $0x3,%eax
+    72fb:	01 f0                	add    %esi,%eax
+    72fd:	89 85 48 ff ff ff    	mov    %eax,-0xb8(%ebp)
+    7303:	0f b6 78 04          	movzbl 0x4(%eax),%edi
+    7307:	89 c2                	mov    %eax,%edx
+    7309:	89 bd 4c ff ff ff    	mov    %edi,-0xb4(%ebp)
+    730f:	8b 40 04             	mov    0x4(%eax),%eax
+    7312:	c1 e8 08             	shr    $0x8,%eax
+    7315:	89 c7                	mov    %eax,%edi
+    7317:	66 81 e7 ff 03       	and    $0x3ff,%di
+    731c:	83 bd 4c ff ff ff 01 	cmpl   $0x1,-0xb4(%ebp)
+    7323:	0f 85 63 ff ff ff    	jne    0x728c
+    7329:	0f b6 0a             	movzbl (%edx),%ecx
+    732c:	8b b5 4c ff ff ff    	mov    -0xb4(%ebp),%esi
+    7332:	89 c8                	mov    %ecx,%eax
+    7334:	83 e1 1f             	and    $0x1f,%ecx
+    7337:	c0 e8 05             	shr    $0x5,%al
+    733a:	0f b6 c0             	movzbl %al,%eax
+    733d:	d3 e6                	shl    %cl,%esi
+    733f:	09 74 85 a4          	or     %esi,-0x5c(%ebp,%eax,4)
+    7343:	0f b7 f7             	movzwl %di,%esi
+    7346:	85 f6                	test   %esi,%esi
+    7348:	0f 84 cd 00 00 00    	je     0x741b
+    734e:	f7 c6 20 00 00 00    	test   $0x20,%esi
+    7354:	0f 85 06 04 00 00    	jne    0x7760
+    735a:	89 f0                	mov    %esi,%eax
+    735c:	84 c0                	test   %al,%al
+    735e:	0f 88 ec 03 00 00    	js     0x7750
+    7364:	f7 c6 04 00 00 00    	test   $0x4,%esi
+    736a:	74 5b                	je     0x73c7
+    736c:	83 bd 4c ff ff ff 01 	cmpl   $0x1,-0xb4(%ebp)
+    7373:	0f 84 37 04 00 00    	je     0x77b0
+    7379:	8b 85 30 ff ff ff    	mov    -0xd0(%ebp),%eax
+    737f:	83 78 5c 01          	cmpl   $0x1,0x5c(%eax)
+    7383:	0f 8e da 07 00 00    	jle    0x7b63
+    7389:	8b 78 3c             	mov    0x3c(%eax),%edi
+    738c:	31 c9                	xor    %ecx,%ecx
+    738e:	31 c0                	xor    %eax,%eax
+    7390:	31 d2                	xor    %edx,%edx
+    7392:	89 b5 60 ff ff ff    	mov    %esi,-0xa0(%ebp)
+    7398:	8b 04 87             	mov    (%edi,%eax,4),%eax
+    739b:	8b b5 30 ff ff ff    	mov    -0xd0(%ebp),%esi
+    73a1:	f7 d0                	not    %eax
+    73a3:	0b 44 96 60          	or     0x60(%esi,%edx,4),%eax
+    73a7:	23 04 93             	and    (%ebx,%edx,4),%eax
+    73aa:	89 04 93             	mov    %eax,(%ebx,%edx,4)
+    73ad:	83 c2 01             	add    $0x1,%edx
+    73b0:	09 c1                	or     %eax,%ecx
+    73b2:	83 fa 08             	cmp    $0x8,%edx
+    73b5:	89 d0                	mov    %edx,%eax
+    73b7:	75 df                	jne    0x7398
+    73b9:	8b b5 60 ff ff ff    	mov    -0xa0(%ebp),%esi
+    73bf:	85 c9                	test   %ecx,%ecx
+    73c1:	0f 84 ec fe ff ff    	je     0x72b3
+    73c7:	83 e6 08             	and    $0x8,%esi
+    73ca:	74 4f                	je     0x741b
+    73cc:	83 bd 4c ff ff ff 01 	cmpl   $0x1,-0xb4(%ebp)
+    73d3:	0f 84 67 03 00 00    	je     0x7740
+    73d9:	8b 85 30 ff ff ff    	mov    -0xd0(%ebp),%eax
+    73df:	83 78 5c 01          	cmpl   $0x1,0x5c(%eax)
+    73e3:	0f 8e 9d 07 00 00    	jle    0x7b86
+    73e9:	8b bd 30 ff ff ff    	mov    -0xd0(%ebp),%edi
+    73ef:	31 c9                	xor    %ecx,%ecx
+    73f1:	31 d2                	xor    %edx,%edx
+    73f3:	8b 70 3c             	mov    0x3c(%eax),%esi
+    73f6:	31 c0                	xor    %eax,%eax
+    73f8:	8b 04 86             	mov    (%esi,%eax,4),%eax
+    73fb:	23 44 97 60          	and    0x60(%edi,%edx,4),%eax
+    73ff:	f7 d0                	not    %eax
+    7401:	23 04 93             	and    (%ebx,%edx,4),%eax
+    7404:	89 04 93             	mov    %eax,(%ebx,%edx,4)
+    7407:	83 c2 01             	add    $0x1,%edx
+    740a:	09 c1                	or     %eax,%ecx
+    740c:	83 fa 08             	cmp    $0x8,%edx
+    740f:	89 d0                	mov    %edx,%eax
+    7411:	75 e5                	jne    0x73f8
+    7413:	85 c9                	test   %ecx,%ecx
+    7415:	0f 84 98 fe ff ff    	je     0x72b3
+    741b:	8b 85 58 ff ff ff    	mov    -0xa8(%ebp),%eax
+    7421:	c7 85 5c ff ff ff 00 	movl   $0x0,-0xa4(%ebp)
+    7428:	00 00 00 
+    742b:	85 c0                	test   %eax,%eax
+    742d:	0f 8e f7 01 00 00    	jle    0x762a
+    7433:	8b bd 38 ff ff ff    	mov    -0xc8(%ebp),%edi
+    7439:	8b 85 58 ff ff ff    	mov    -0xa8(%ebp),%eax
+    743f:	83 bd 4c ff ff ff 01 	cmpl   $0x1,-0xb4(%ebp)
+    7446:	8b b5 34 ff ff ff    	mov    -0xcc(%ebp),%esi
+    744c:	89 bd 54 ff ff ff    	mov    %edi,-0xac(%ebp)
+    7452:	89 85 5c ff ff ff    	mov    %eax,-0xa4(%ebp)
+    7458:	c7 85 50 ff ff ff 00 	movl   $0x0,-0xb0(%ebp)
+    745f:	00 00 00 
+    7462:	0f 84 8c 01 00 00    	je     0x75f4
+    7468:	31 c9                	xor    %ecx,%ecx
+    746a:	31 c0                	xor    %eax,%eax
+    746c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    7470:	8b 14 86             	mov    (%esi,%eax,4),%edx
+    7473:	23 14 83             	and    (%ebx,%eax,4),%edx
+    7476:	89 54 85 84          	mov    %edx,-0x7c(%ebp,%eax,4)
+    747a:	83 c0 01             	add    $0x1,%eax
+    747d:	09 d1                	or     %edx,%ecx
+    747f:	83 f8 08             	cmp    $0x8,%eax
+    7482:	75 ec                	jne    0x7470
+    7484:	85 c9                	test   %ecx,%ecx
+    7486:	0f 84 26 01 00 00    	je     0x75b2
+    748c:	c7 85 60 ff ff ff 00 	movl   $0x0,-0xa0(%ebp)
+    7493:	00 00 00 
+    7496:	31 ff                	xor    %edi,%edi
+    7498:	30 c0                	xor    %al,%al
+    749a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
+    74a0:	8b 0c 83             	mov    (%ebx,%eax,4),%ecx
+    74a3:	89 ca                	mov    %ecx,%edx
+    74a5:	f7 d2                	not    %edx
+    74a7:	23 14 86             	and    (%esi,%eax,4),%edx
+    74aa:	89 94 85 64 ff ff ff 	mov    %edx,-0x9c(%ebp,%eax,4)
+    74b1:	09 d7                	or     %edx,%edi
+    74b3:	8b 14 86             	mov    (%esi,%eax,4),%edx
+    74b6:	f7 d2                	not    %edx
+    74b8:	21 ca                	and    %ecx,%edx
+    74ba:	89 14 83             	mov    %edx,(%ebx,%eax,4)
+    74bd:	83 c0 01             	add    $0x1,%eax
+    74c0:	09 95 60 ff ff ff    	or     %edx,-0xa0(%ebp)
+    74c6:	83 f8 08             	cmp    $0x8,%eax
+    74c9:	75 d5                	jne    0x74a0
+    74cb:	85 ff                	test   %edi,%edi
+    74cd:	0f 84 b0 00 00 00    	je     0x7583
+    74d3:	8b 85 58 ff ff ff    	mov    -0xa8(%ebp),%eax
+    74d9:	8b 95 64 ff ff ff    	mov    -0x9c(%ebp),%edx
+    74df:	c1 e0 05             	shl    $0x5,%eax
+    74e2:	03 85 34 ff ff ff    	add    -0xcc(%ebp),%eax
+    74e8:	89 10                	mov    %edx,(%eax)
+    74ea:	8b 95 68 ff ff ff    	mov    -0x98(%ebp),%edx
+    74f0:	89 50 04             	mov    %edx,0x4(%eax)
+    74f3:	8b 95 6c ff ff ff    	mov    -0x94(%ebp),%edx
+    74f9:	89 50 08             	mov    %edx,0x8(%eax)
+    74fc:	8b 95 70 ff ff ff    	mov    -0x90(%ebp),%edx
+    7502:	89 50 0c             	mov    %edx,0xc(%eax)
+    7505:	8b 95 74 ff ff ff    	mov    -0x8c(%ebp),%edx
+    750b:	89 50 10             	mov    %edx,0x10(%eax)
+    750e:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
+    7514:	89 50 14             	mov    %edx,0x14(%eax)
+    7517:	8b 95 7c ff ff ff    	mov    -0x84(%ebp),%edx
+    751d:	89 50 18             	mov    %edx,0x18(%eax)
+    7520:	8b 55 80             	mov    -0x80(%ebp),%edx
+    7523:	89 50 1c             	mov    %edx,0x1c(%eax)
+    7526:	8b 45 84             	mov    -0x7c(%ebp),%eax
+    7529:	89 06                	mov    %eax,(%esi)
+    752b:	8b 45 88             	mov    -0x78(%ebp),%eax
+    752e:	89 46 04             	mov    %eax,0x4(%esi)
+    7531:	8b 45 8c             	mov    -0x74(%ebp),%eax
+    7534:	89 46 08             	mov    %eax,0x8(%esi)
+    7537:	8b 45 90             	mov    -0x70(%ebp),%eax
+    753a:	89 46 0c             	mov    %eax,0xc(%esi)
+    753d:	8b 45 94             	mov    -0x6c(%ebp),%eax
+    7540:	89 46 10             	mov    %eax,0x10(%esi)
+    7543:	8b 45 98             	mov    -0x68(%ebp),%eax
+    7546:	89 46 14             	mov    %eax,0x14(%esi)
+    7549:	8b 45 9c             	mov    -0x64(%ebp),%eax
+    754c:	89 46 18             	mov    %eax,0x18(%esi)
+    754f:	8b 45 a0             	mov    -0x60(%ebp),%eax
+    7552:	89 46 1c             	mov    %eax,0x1c(%esi)
+    7555:	8b bd 58 ff ff ff    	mov    -0xa8(%ebp),%edi
+    755b:	8b 95 38 ff ff ff    	mov    -0xc8(%ebp),%edx
+    7561:	8d 04 7f             	lea    (%edi,%edi,2),%eax
+    7564:	8d 04 82             	lea    (%edx,%eax,4),%eax
+    7567:	8b 95 54 ff ff ff    	mov    -0xac(%ebp),%edx
+    756d:	e8 0e a9 ff ff       	call   0x1e80
+    7572:	85 c0                	test   %eax,%eax
+    7574:	0f 85 6f 08 00 00    	jne    0x7de9
+    757a:	83 c7 01             	add    $0x1,%edi
+    757d:	89 bd 5c ff ff ff    	mov    %edi,-0xa4(%ebp)
+    7583:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
+    7589:	8b bd 40 ff ff ff    	mov    -0xc0(%ebp),%edi
+    758f:	8b 41 0c             	mov    0xc(%ecx),%eax
+    7592:	8b 14 38             	mov    (%eax,%edi,1),%edx
+    7595:	8b 85 54 ff ff ff    	mov    -0xac(%ebp),%eax
+    759b:	e8 40 a3 ff ff       	call   0x18e0
+    75a0:	85 c0                	test   %eax,%eax
+    75a2:	0f 88 41 08 00 00    	js     0x7de9
+    75a8:	8b bd 60 ff ff ff    	mov    -0xa0(%ebp),%edi
+    75ae:	85 ff                	test   %edi,%edi
+    75b0:	74 60                	je     0x7612
+    75b2:	8b 95 50 ff ff ff    	mov    -0xb0(%ebp),%edx
+    75b8:	83 c6 20             	add    $0x20,%esi
+    75bb:	8b 85 5c ff ff ff    	mov    -0xa4(%ebp),%eax
+    75c1:	83 85 54 ff ff ff 0c 	addl   $0xc,-0xac(%ebp)
+    75c8:	83 c2 01             	add    $0x1,%edx
+    75cb:	39 c2                	cmp    %eax,%edx
+    75cd:	89 85 58 ff ff ff    	mov    %eax,-0xa8(%ebp)
+    75d3:	89 95 5c ff ff ff    	mov    %edx,-0xa4(%ebp)
+    75d9:	7d 4f                	jge    0x762a
+    75db:	83 bd 4c ff ff ff 01 	cmpl   $0x1,-0xb4(%ebp)
+    75e2:	89 95 50 ff ff ff    	mov    %edx,-0xb0(%ebp)
+    75e8:	89 85 5c ff ff ff    	mov    %eax,-0xa4(%ebp)
+    75ee:	0f 85 74 fe ff ff    	jne    0x7468
+    75f4:	8b 8d 48 ff ff ff    	mov    -0xb8(%ebp),%ecx
+    75fa:	0f b6 11             	movzbl (%ecx),%edx
+    75fd:	89 d0                	mov    %edx,%eax
+    75ff:	c0 e8 05             	shr    $0x5,%al
+    7602:	0f b6 c0             	movzbl %al,%eax
+    7605:	8b 04 86             	mov    (%esi,%eax,4),%eax
+    7608:	0f a3 d0             	bt     %edx,%eax
+    760b:	73 a5                	jae    0x75b2
+    760d:	e9 56 fe ff ff       	jmp    0x7468
+    7612:	8b 8d 5c ff ff ff    	mov    -0xa4(%ebp),%ecx
+    7618:	8b b5 50 ff ff ff    	mov    -0xb0(%ebp),%esi
+    761e:	89 8d 58 ff ff ff    	mov    %ecx,-0xa8(%ebp)
+    7624:	89 b5 5c ff ff ff    	mov    %esi,-0xa4(%ebp)
+    762a:	8b bd 58 ff ff ff    	mov    -0xa8(%ebp),%edi
+    7630:	39 bd 5c ff ff ff    	cmp    %edi,-0xa4(%ebp)
+    7636:	0f 85 77 fc ff ff    	jne    0x72b3
+    763c:	8b bd 5c ff ff ff    	mov    -0xa4(%ebp),%edi
+    7642:	89 de                	mov    %ebx,%esi
+    7644:	ba 20 00 00 00       	mov    $0x20,%edx
+    7649:	c1 e7 05             	shl    $0x5,%edi
+    764c:	03 bd 34 ff ff ff    	add    -0xcc(%ebp),%edi
+    7652:	f7 c7 02 00 00 00    	test   $0x2,%edi
+    7658:	0f 85 6a 05 00 00    	jne    0x7bc8
+    765e:	89 d1                	mov    %edx,%ecx
+    7660:	31 c0                	xor    %eax,%eax
+    7662:	c1 e9 02             	shr    $0x2,%ecx
+    7665:	f6 c2 02             	test   $0x2,%dl
+    7668:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
+    766a:	74 0b                	je     0x7677
+    766c:	0f b7 06             	movzwl (%esi),%eax
+    766f:	66 89 07             	mov    %ax,(%edi)
+    7672:	b8 02 00 00 00       	mov    $0x2,%eax
+    7677:	80 e2 01             	and    $0x1,%dl
+    767a:	74 07                	je     0x7683
+    767c:	0f b6 14 06          	movzbl (%esi,%eax,1),%edx
+    7680:	88 14 07             	mov    %dl,(%edi,%eax,1)
+    7683:	8b 95 44 ff ff ff    	mov    -0xbc(%ebp),%edx
+    7689:	8b 8d 40 ff ff ff    	mov    -0xc0(%ebp),%ecx
+    768f:	8b 42 0c             	mov    0xc(%edx),%eax
+    7692:	8b 14 08             	mov    (%eax,%ecx,1),%edx
+    7695:	6b 85 5c ff ff ff 0c 	imul   $0xc,-0xa4(%ebp),%eax
+    769c:	03 85 38 ff ff ff    	add    -0xc8(%ebp),%eax
+    76a2:	e8 a9 93 ff ff       	call   0xa50
+    76a7:	85 c0                	test   %eax,%eax
+    76a9:	0f 85 3a 07 00 00    	jne    0x7de9
+    76af:	8b b5 5c ff ff ff    	mov    -0xa4(%ebp),%esi
+    76b5:	b9 08 00 00 00       	mov    $0x8,%ecx
+    76ba:	89 df                	mov    %ebx,%edi
+    76bc:	f3 ab                	rep stos %eax,%es:(%edi)
+    76be:	83 c6 01             	add    $0x1,%esi
+    76c1:	89 b5 58 ff ff ff    	mov    %esi,-0xa8(%ebp)
+    76c7:	e9 e7 fb ff ff       	jmp    0x72b3
+    76cc:	8b 85 48 ff ff ff    	mov    -0xb8(%ebp),%eax
+    76d2:	31 d2                	xor    %edx,%edx
+    76d4:	8b 08                	mov    (%eax),%ecx
+    76d6:	31 c0                	xor    %eax,%eax
+    76d8:	8b 34 91             	mov    (%ecx,%edx,4),%esi
+    76db:	83 c0 01             	add    $0x1,%eax
+    76de:	09 34 93             	or     %esi,(%ebx,%edx,4)
+    76e1:	83 f8 08             	cmp    $0x8,%eax
+    76e4:	89 c2                	mov    %eax,%edx
+    76e6:	75 f0                	jne    0x76d8
+    76e8:	e9 56 fc ff ff       	jmp    0x7343
+    76ed:	8b 95 30 ff ff ff    	mov    -0xd0(%ebp),%edx
+    76f3:	83 7a 5c 01          	cmpl   $0x1,0x5c(%edx)
+    76f7:	0f 8e ae 04 00 00    	jle    0x7bab
+    76fd:	8b 4a 3c             	mov    0x3c(%edx),%ecx
+    7700:	31 c0                	xor    %eax,%eax
+    7702:	31 d2                	xor    %edx,%edx
+    7704:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    7708:	8b 34 91             	mov    (%ecx,%edx,4),%esi
+    770b:	83 c0 01             	add    $0x1,%eax
+    770e:	09 34 93             	or     %esi,(%ebx,%edx,4)
+    7711:	83 f8 08             	cmp    $0x8,%eax
+    7714:	89 c2                	mov    %eax,%edx
+    7716:	75 f0                	jne    0x7708
+    7718:	8b 8d 30 ff ff ff    	mov    -0xd0(%ebp),%ecx
+    771e:	8b 81 80 00 00 00    	mov    0x80(%ecx),%eax
+    7724:	a8 40                	test   $0x40,%al
+    7726:	75 07                	jne    0x772f
+    7728:	81 65 a4 ff fb ff ff 	andl   $0xfffffbff,-0x5c(%ebp)
+    772f:	84 c0                	test   %al,%al
+    7731:	0f 89 0c fc ff ff    	jns    0x7343
+    7737:	83 65 a4 fe          	andl   $0xfffffffe,-0x5c(%ebp)
+    773b:	e9 03 fc ff ff       	jmp    0x7343
+    7740:	8b 85 48 ff ff ff    	mov    -0xb8(%ebp),%eax
+    7746:	f6 40 06 40          	testb  $0x40,0x6(%eax)
+    774a:	0f 84 89 fc ff ff    	je     0x73d9
+    7750:	b9 08 00 00 00       	mov    $0x8,%ecx
+    7755:	31 c0                	xor    %eax,%eax
+    7757:	89 df                	mov    %ebx,%edi
+    7759:	f3 ab                	rep stos %eax,%es:(%edi)
+    775b:	e9 53 fb ff ff       	jmp    0x72b3
+    7760:	8b 55 a4             	mov    -0x5c(%ebp),%edx
+    7763:	31 c0                	xor    %eax,%eax
+    7765:	b9 08 00 00 00       	mov    $0x8,%ecx
+    776a:	89 df                	mov    %ebx,%edi
+    776c:	f3 ab                	rep stos %eax,%es:(%edi)
+    776e:	80 e6 04             	and    $0x4,%dh
+    7771:	0f 84 3c fb ff ff    	je     0x72b3
+    7777:	81 4d a4 00 04 00 00 	orl    $0x400,-0x5c(%ebp)
+    777e:	e9 d7 fb ff ff       	jmp    0x735a
+    7783:	c7 44 24 08 10 00 00 	movl   $0x10,0x8(%esp)
+    778a:	00 
+    778b:	c7 44 24 04 ff ff ff 	movl   $0xffffffff,0x4(%esp)
+    7792:	ff 
+    7793:	89 1c 24             	mov    %ebx,(%esp)
+    7796:	e8 fc ff ff ff       	call   0x7797
+    779b:	8b b5 30 ff ff ff    	mov    -0xd0(%ebp),%esi
+    77a1:	8b 86 80 00 00 00    	mov    0x80(%esi),%eax
+    77a7:	a8 40                	test   $0x40,%al
+    77a9:	75 84                	jne    0x772f
+    77ab:	e9 78 ff ff ff       	jmp    0x7728
+    77b0:	8b 85 48 ff ff ff    	mov    -0xb8(%ebp),%eax
+    77b6:	f6 40 06 40          	testb  $0x40,0x6(%eax)
+    77ba:	0f 85 b9 fb ff ff    	jne    0x7379
+    77c0:	eb 8e                	jmp    0x7750
+    77c2:	83 bd 58 ff ff ff 00 	cmpl   $0x0,-0xa8(%ebp)
+    77c9:	0f 8e 53 04 00 00    	jle    0x7c22
+    77cf:	8b 95 58 ff ff ff    	mov    -0xa8(%ebp),%edx
+    77d5:	8d 45 e4             	lea    -0x1c(%ebp),%eax
+    77d8:	83 c2 01             	add    $0x1,%edx
+    77db:	e8 40 92 ff ff       	call   0xa20
+    77e0:	85 c0                	test   %eax,%eax
+    77e2:	89 45 f0             	mov    %eax,-0x10(%ebp)
+    77e5:	0f 85 43 03 00 00    	jne    0x7b2e
+    77eb:	81 bd 58 ff ff ff aa 	cmpl   $0x155551aa,-0xa8(%ebp)
+    77f2:	51 55 15 
+    77f5:	0f 87 33 03 00 00    	ja     0x7b2e
+    77fb:	6b 85 58 ff ff ff 0c 	imul   $0xc,-0xa8(%ebp),%eax
+    7802:	8d 90 00 2c 00 00    	lea    0x2c00(%eax),%edx
+    7808:	81 fa 00 00 01 00    	cmp    $0x10000,%edx
+    780e:	0f 87 ec 03 00 00    	ja     0x7c00
+    7814:	83 c0 10             	add    $0x10,%eax
+    7817:	29 c4                	sub    %eax,%esp
+    7819:	8d 4c 24 1b          	lea    0x1b(%esp),%ecx
+    781d:	83 e1 f0             	and    $0xfffffff0,%ecx
+    7820:	89 8d 5c ff ff ff    	mov    %ecx,-0xa4(%ebp)
+    7826:	c6 85 40 ff ff ff 00 	movb   $0x0,-0xc0(%ebp)
+    782d:	8b bd 5c ff ff ff    	mov    -0xa4(%ebp),%edi
+    7833:	8d 55 c4             	lea    -0x3c(%ebp),%edx
+    7836:	b9 08 00 00 00       	mov    $0x8,%ecx
+    783b:	8b 85 58 ff ff ff    	mov    -0xa8(%ebp),%eax
+    7841:	8b b5 58 ff ff ff    	mov    -0xa8(%ebp),%esi
+    7847:	89 95 28 ff ff ff    	mov    %edx,-0xd8(%ebp)
+    784d:	c7 85 4c ff ff ff 00 	movl   $0x0,-0xb4(%ebp)
+    7854:	00 00 00 
+    7857:	8d 04 c7             	lea    (%edi,%eax,8),%eax
+    785a:	8d 34 b7             	lea    (%edi,%esi,4),%esi
+    785d:	89 d7                	mov    %edx,%edi
+    785f:	89 85 50 ff ff ff    	mov    %eax,-0xb0(%ebp)
+    7865:	31 c0                	xor    %eax,%eax
+    7867:	f3 ab                	rep stos %eax,%es:(%edi)
+    7869:	8b 85 38 ff ff ff    	mov    -0xc8(%ebp),%eax
+    786f:	31 ff                	xor    %edi,%edi
+    7871:	89 bd 60 ff ff ff    	mov    %edi,-0xa0(%ebp)
+    7877:	8b bd 30 ff ff ff    	mov    -0xd0(%ebp),%edi
+    787d:	89 b5 54 ff ff ff    	mov    %esi,-0xac(%ebp)
+    7883:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
+    7889:	89 c3                	mov    %eax,%ebx
+    788b:	90                   	nop
+    788c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    7890:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
+    7897:	8b 4b 04             	mov    0x4(%ebx),%ecx
+    789a:	85 c9                	test   %ecx,%ecx
+    789c:	7e 37                	jle    0x78d5
+    789e:	31 f6                	xor    %esi,%esi
+    78a0:	8b 43 08             	mov    0x8(%ebx),%eax
+    78a3:	8b 14 b0             	mov    (%eax,%esi,4),%edx
+    78a6:	8b 47 0c             	mov    0xc(%edi),%eax
+    78a9:	8b 04 90             	mov    (%eax,%edx,4),%eax
+    78ac:	83 f8 ff             	cmp    $0xffffffff,%eax
+    78af:	74 1c                	je     0x78cd
+    78b1:	8d 14 40             	lea    (%eax,%eax,2),%edx
+    78b4:	c1 e2 02             	shl    $0x2,%edx
+    78b7:	03 57 18             	add    0x18(%edi),%edx
+    78ba:	8d 45 e4             	lea    -0x1c(%ebp),%eax
+    78bd:	e8 7e 9e ff ff       	call   0x1740
+    78c2:	85 c0                	test   %eax,%eax
+    78c4:	89 45 f0             	mov    %eax,-0x10(%ebp)
+    78c7:	0f 85 4a 02 00 00    	jne    0x7b17
+    78cd:	83 c6 01             	add    $0x1,%esi
+    78d0:	39 73 04             	cmp    %esi,0x4(%ebx)
+    78d3:	7f cb                	jg     0x78a0
+    78d5:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
+    78d8:	89 fa                	mov    %edi,%edx
+    78da:	8d 45 f0             	lea    -0x10(%ebp),%eax
+    78dd:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
+    78e4:	e8 27 cc ff ff       	call   0x4510
+    78e9:	8b 95 60 ff ff ff    	mov    -0xa0(%ebp),%edx
+    78ef:	8b 8d 5c ff ff ff    	mov    -0xa4(%ebp),%ecx
+    78f5:	83 ec 04             	sub    $0x4,%esp
+    78f8:	85 c0                	test   %eax,%eax
+    78fa:	89 04 91             	mov    %eax,(%ecx,%edx,4)
+    78fd:	0f 84 4b 04 00 00    	je     0x7d4e
+    7903:	80 78 34 00          	cmpb   $0x0,0x34(%eax)
+    7907:	0f 88 7d 01 00 00    	js     0x7a8a
+    790d:	8b b5 60 ff ff ff    	mov    -0xa0(%ebp),%esi
+    7913:	8b 95 54 ff ff ff    	mov    -0xac(%ebp),%edx
+    7919:	8b 8d 5c ff ff ff    	mov    -0xa4(%ebp),%ecx
+    791f:	89 04 b2             	mov    %eax,(%edx,%esi,4)
+    7922:	8b 95 50 ff ff ff    	mov    -0xb0(%ebp),%edx
+    7928:	8b 04 b1             	mov    (%ecx,%esi,4),%eax
+    792b:	89 04 b2             	mov    %eax,(%edx,%esi,4)
+    792e:	8b b5 60 ff ff ff    	mov    -0xa0(%ebp),%esi
+    7934:	31 d2                	xor    %edx,%edx
+    7936:	31 c0                	xor    %eax,%eax
+    7938:	c1 e6 05             	shl    $0x5,%esi
+    793b:	03 b5 34 ff ff ff    	add    -0xcc(%ebp),%esi
+    7941:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
+    7948:	8b 0c 96             	mov    (%esi,%edx,4),%ecx
+    794b:	83 c0 01             	add    $0x1,%eax
+    794e:	09 4c 95 c4          	or     %ecx,-0x3c(%ebp,%edx,4)
+    7952:	83 f8 08             	cmp    $0x8,%eax
+    7955:	89 c2                	mov    %eax,%edx
+    7957:	75 ef                	jne    0x7948
+    7959:	83 85 60 ff ff ff 01 	addl   $0x1,-0xa0(%ebp)
+    7960:	83 c3 0c             	add    $0xc,%ebx
+    7963:	8b 8d 58 ff ff ff    	mov    -0xa8(%ebp),%ecx
+    7969:	39 8d 60 ff ff ff    	cmp    %ecx,-0xa0(%ebp)
+    796f:	0f 8c 1b ff ff ff    	jl     0x7890
+    7975:	83 bd 4c ff ff ff 00 	cmpl   $0x0,-0xb4(%ebp)
+    797c:	0f 85 4d 03 00 00    	jne    0x7ccf
+    7982:	c7 44 24 04 00 01 00 	movl   $0x100,0x4(%esp)
+    7989:	00 
+    798a:	c7 04 24 04 00 00 00 	movl   $0x4,(%esp)
+    7991:	e8 fc ff ff ff       	call   0x7992
+    7996:	8b 9d 44 ff ff ff    	mov    -0xbc(%ebp),%ebx
+    799c:	85 c0                	test   %eax,%eax
+    799e:	89 c7                	mov    %eax,%edi
+    79a0:	89 85 48 ff ff ff    	mov    %eax,-0xb8(%ebp)
+    79a6:	89 43 2c             	mov    %eax,0x2c(%ebx)
+    79a9:	0f 84 68 01 00 00    	je     0x7b17
+    79af:	31 d2                	xor    %edx,%edx
+    79b1:	31 db                	xor    %ebx,%ebx
+    79b3:	8b 44 9d c4          	mov    -0x3c(%ebp,%ebx,4),%eax
+    79b7:	85 c0                	test   %eax,%eax
+    79b9:	74 44                	je     0x79ff
+    79bb:	8b b5 38 ff ff ff    	mov    -0xc8(%ebp),%esi
+    79c1:	c1 e2 07             	shl    $0x7,%edx
+    79c4:	b9 01 00 00 00       	mov    $0x1,%ecx
+    79c9:	8d 14 17             	lea    (%edi,%edx,1),%edx
+    79cc:	89 bd 44 ff ff ff    	mov    %edi,-0xbc(%ebp)
+    79d2:	8d b4 9e 00 0c 00 00 	lea    0xc00(%esi,%ebx,4),%esi
+    79d9:	89 b5 34 ff ff ff    	mov    %esi,-0xcc(%ebp)
+    79df:	eb 09                	jmp    0x79ea
+    79e1:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
+    79e8:	01 c9                	add    %ecx,%ecx
+    79ea:	a8 01                	test   $0x1,%al
+    79ec:	0f 85 6f 02 00 00    	jne    0x7c61
+    79f2:	83 c2 04             	add    $0x4,%edx
+    79f5:	d1 e8                	shr    %eax
+    79f7:	75 ef                	jne    0x79e8
+    79f9:	8b bd 44 ff ff ff    	mov    -0xbc(%ebp),%edi
+    79ff:	83 c3 01             	add    $0x1,%ebx
+    7a02:	83 fb 08             	cmp    $0x8,%ebx
+    7a05:	89 da                	mov    %ebx,%edx
+    7a07:	75 aa                	jne    0x79b3
+    7a09:	f6 45 c5 04          	testb  $0x4,-0x3b(%ebp)
+    7a0d:	74 23                	je     0x7a32
+    7a0f:	8b 95 38 ff ff ff    	mov    -0xc8(%ebp),%edx
+    7a15:	31 c0                	xor    %eax,%eax
+    7a17:	f6 82 01 0c 00 00 04 	testb  $0x4,0xc01(%edx)
+    7a1e:	0f 85 ae 01 00 00    	jne    0x7bd2
+    7a24:	83 c0 01             	add    $0x1,%eax
+    7a27:	83 c2 20             	add    $0x20,%edx
+    7a2a:	3b 85 58 ff ff ff    	cmp    -0xa8(%ebp),%eax
+    7a30:	7c e5                	jl     0x7a17
+    7a32:	80 bd 40 ff ff ff 00 	cmpb   $0x0,-0xc0(%ebp)
+    7a39:	74 0e                	je     0x7a49
+    7a3b:	8b bd 5c ff ff ff    	mov    -0xa4(%ebp),%edi
+    7a41:	89 3c 24             	mov    %edi,(%esp)
+    7a44:	e8 fc ff ff ff       	call   0x7a45
+    7a49:	8b 45 ec             	mov    -0x14(%ebp),%eax
+    7a4c:	31 db                	xor    %ebx,%ebx
+    7a4e:	89 04 24             	mov    %eax,(%esp)
+    7a51:	e8 fc ff ff ff       	call   0x7a52
+    7a56:	8b bd 58 ff ff ff    	mov    -0xa8(%ebp),%edi
+    7a5c:	8b b5 3c ff ff ff    	mov    -0xc4(%ebp),%esi
+    7a62:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
+    7a68:	8b 46 08             	mov    0x8(%esi),%eax
+    7a6b:	83 c3 01             	add    $0x1,%ebx
+    7a6e:	83 c6 0c             	add    $0xc,%esi
+    7a71:	89 04 24             	mov    %eax,(%esp)
+    7a74:	e8 fc ff ff ff       	call   0x7a75
+    7a79:	39 fb                	cmp    %edi,%ebx
+    7a7b:	7c eb                	jl     0x7a68
+    7a7d:	b8 01 00 00 00       	mov    $0x1,%eax
+    7a82:	8d 65 f4             	lea    -0xc(%ebp),%esp
+    7a85:	5b                   	pop    %ebx
+    7a86:	5e                   	pop    %esi
+    7a87:	5f                   	pop    %edi
+    7a88:	5d                   	pop    %ebp
+    7a89:	c3                   	ret    
+    7a8a:	89 fa                	mov    %edi,%edx
+    7a8c:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
+    7a8f:	8d 45 f0             	lea    -0x10(%ebp),%eax
+    7a92:	c7 04 24 01 00 00 00 	movl   $0x1,(%esp)
+    7a99:	e8 72 ca ff ff       	call   0x4510
+    7a9e:	8b b5 60 ff ff ff    	mov    -0xa0(%ebp),%esi
+    7aa4:	8b 95 54 ff ff ff    	mov    -0xac(%ebp),%edx
+    7aaa:	83 ec 04             	sub    $0x4,%esp
+    7aad:	85 c0                	test   %eax,%eax
+    7aaf:	89 04 b2             	mov    %eax,(%edx,%esi,4)
+    7ab2:	0f 84 9a 01 00 00    	je     0x7c52
+    7ab8:	8b 8d 60 ff ff ff    	mov    -0xa0(%ebp),%ecx
+    7abe:	8b b5 5c ff ff ff    	mov    -0xa4(%ebp),%esi
+    7ac4:	3b 04 8e             	cmp    (%esi,%ecx,4),%eax
+    7ac7:	74 16                	je     0x7adf
+    7ac9:	83 7f 5c 02          	cmpl   $0x2,0x5c(%edi)
+    7acd:	b8 01 00 00 00       	mov    $0x1,%eax
+    7ad2:	0f 4c 85 4c ff ff ff 	cmovl  -0xb4(%ebp),%eax
+    7ad9:	89 85 4c ff ff ff    	mov    %eax,-0xb4(%ebp)
+    7adf:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
+    7ae2:	89 fa                	mov    %edi,%edx
+    7ae4:	8d 45 f0             	lea    -0x10(%ebp),%eax
+    7ae7:	c7 04 24 02 00 00 00 	movl   $0x2,(%esp)
+    7aee:	e8 1d ca ff ff       	call   0x4510
+    7af3:	8b 95 60 ff ff ff    	mov    -0xa0(%ebp),%edx
+    7af9:	8b 8d 50 ff ff ff    	mov    -0xb0(%ebp),%ecx
+    7aff:	83 ec 04             	sub    $0x4,%esp
+    7b02:	85 c0                	test   %eax,%eax
+    7b04:	89 04 91             	mov    %eax,(%ecx,%edx,4)
+    7b07:	0f 85 21 fe ff ff    	jne    0x792e
+    7b0d:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
+    7b11:	0f 84 17 fe ff ff    	je     0x792e
+    7b17:	80 bd 40 ff ff ff 00 	cmpb   $0x0,-0xc0(%ebp)
+    7b1e:	74 0e                	je     0x7b2e
+    7b20:	8b 9d 5c ff ff ff    	mov    -0xa4(%ebp),%ebx
+    7b26:	89 1c 24             	mov    %ebx,(%esp)
+    7b29:	e8 fc ff ff ff       	call   0x7b2a
+    7b2e:	8b 45 ec             	mov    -0x14(%ebp),%eax
+    7b31:	31 db                	xor    %ebx,%ebx
+    7b33:	89 04 24             	mov    %eax,(%esp)
+    7b36:	e8 fc ff ff ff       	call   0x7b37
+    7b3b:	8b b5 38 ff ff ff    	mov    -0xc8(%ebp),%esi
+    7b41:	8b bd 58 ff ff ff    	mov    -0xa8(%ebp),%edi
+    7b47:	8b 46 08             	mov    0x8(%esi),%eax
+    7b4a:	83 c3 01             	add    $0x1,%ebx
+    7b4d:	83 c6 0c             	add    $0xc,%esi
+    7b50:	89 04 24             	mov    %eax,(%esp)
+    7b53:	e8 fc ff ff ff       	call   0x7b54
+    7b58:	39 fb                	cmp    %edi,%ebx
+    7b5a:	7c eb                	jl     0x7b47
+    7b5c:	31 c0                	xor    %eax,%eax
+    7b5e:	e9 1f ff ff ff       	jmp    0x7a82
+    7b63:	31 c9                	xor    %ecx,%ecx
+    7b65:	31 c0                	xor    %eax,%eax
+    7b67:	8b bd 30 ff ff ff    	mov    -0xd0(%ebp),%edi
+    7b6d:	8b 54 87 60          	mov    0x60(%edi,%eax,4),%edx
+    7b71:	23 14 83             	and    (%ebx,%eax,4),%edx
+    7b74:	89 14 83             	mov    %edx,(%ebx,%eax,4)
+    7b77:	83 c0 01             	add    $0x1,%eax
+    7b7a:	09 d1                	or     %edx,%ecx
+    7b7c:	83 f8 08             	cmp    $0x8,%eax
+    7b7f:	75 e6                	jne    0x7b67
+    7b81:	e9 39 f8 ff ff       	jmp    0x73bf
+    7b86:	31 c9                	xor    %ecx,%ecx
+    7b88:	31 d2                	xor    %edx,%edx
+    7b8a:	8b b5 30 ff ff ff    	mov    -0xd0(%ebp),%esi
+    7b90:	8b 44 96 60          	mov    0x60(%esi,%edx,4),%eax
+    7b94:	f7 d0                	not    %eax
+    7b96:	23 04 93             	and    (%ebx,%edx,4),%eax
+    7b99:	89 04 93             	mov    %eax,(%ebx,%edx,4)
+    7b9c:	83 c2 01             	add    $0x1,%edx
+    7b9f:	09 c1                	or     %eax,%ecx
+    7ba1:	83 fa 08             	cmp    $0x8,%edx
+    7ba4:	75 e4                	jne    0x7b8a
+    7ba6:	e9 68 f8 ff ff       	jmp    0x7413
+    7bab:	c7 44 24 08 20 00 00 	movl   $0x20,0x8(%esp)
+    7bb2:	00 
+    7bb3:	c7 44 24 04 ff ff ff 	movl   $0xffffffff,0x4(%esp)
+    7bba:	ff 
+    7bbb:	89 1c 24             	mov    %ebx,(%esp)
+    7bbe:	e8 fc ff ff ff       	call   0x7bbf
+    7bc3:	e9 50 fb ff ff       	jmp    0x7718
+    7bc8:	66 a5                	movsw  %ds:(%esi),%es:(%edi)
+    7bca:	83 ea 02             	sub    $0x2,%edx
+    7bcd:	e9 8c fa ff ff       	jmp    0x765e
+    7bd2:	8b 9d 50 ff ff ff    	mov    -0xb0(%ebp),%ebx
+    7bd8:	8b b5 48 ff ff ff    	mov    -0xb8(%ebp),%esi
+    7bde:	83 bd 4c ff ff ff 00 	cmpl   $0x0,-0xb4(%ebp)
+    7be5:	8d 04 83             	lea    (%ebx,%eax,4),%eax
+    7be8:	8b 10                	mov    (%eax),%edx
+    7bea:	89 56 28             	mov    %edx,0x28(%esi)
+    7bed:	0f 84 3f fe ff ff    	je     0x7a32
+    7bf3:	8b 00                	mov    (%eax),%eax
+    7bf5:	89 86 28 04 00 00    	mov    %eax,0x428(%esi)
+    7bfb:	e9 32 fe ff ff       	jmp    0x7a32
+    7c00:	89 04 24             	mov    %eax,(%esp)
+    7c03:	e8 fc ff ff ff       	call   0x7c04
+    7c08:	c6 85 40 ff ff ff 01 	movb   $0x1,-0xc0(%ebp)
+    7c0f:	85 c0                	test   %eax,%eax
+    7c11:	89 85 5c ff ff ff    	mov    %eax,-0xa4(%ebp)
+    7c17:	0f 85 10 fc ff ff    	jne    0x782d
+    7c1d:	e9 0c ff ff ff       	jmp    0x7b2e
+    7c22:	0f 85 34 ff ff ff    	jne    0x7b5c
+    7c28:	c7 44 24 04 00 01 00 	movl   $0x100,0x4(%esp)
+    7c2f:	00 
+    7c30:	c7 04 24 04 00 00 00 	movl   $0x4,(%esp)
+    7c37:	e8 fc ff ff ff       	call   0x7c38
+    7c3c:	8b 95 44 ff ff ff    	mov    -0xbc(%ebp),%edx
+    7c42:	85 c0                	test   %eax,%eax
+    7c44:	89 42 2c             	mov    %eax,0x2c(%edx)
+    7c47:	0f 95 c0             	setne  %al
+    7c4a:	0f b6 c0             	movzbl %al,%eax
+    7c4d:	e9 30 fe ff ff       	jmp    0x7a82
+    7c52:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
+    7c56:	0f 84 5c fe ff ff    	je     0x7ab8
+    7c5c:	e9 b6 fe ff ff       	jmp    0x7b17
+    7c61:	8b bd 34 ff ff ff    	mov    -0xcc(%ebp),%edi
+    7c67:	31 f6                	xor    %esi,%esi
+    7c69:	89 95 24 ff ff ff    	mov    %edx,-0xdc(%ebp)
+    7c6f:	89 85 20 ff ff ff    	mov    %eax,-0xe0(%ebp)
+    7c75:	89 bd 60 ff ff ff    	mov    %edi,-0xa0(%ebp)
+    7c7b:	8b bd 44 ff ff ff    	mov    -0xbc(%ebp),%edi
+    7c81:	eb 03                	jmp    0x7c86
+    7c83:	83 c6 01             	add    $0x1,%esi
+    7c86:	8b 85 60 ff ff ff    	mov    -0xa0(%ebp),%eax
+    7c8c:	8b 10                	mov    (%eax),%edx
+    7c8e:	83 c0 20             	add    $0x20,%eax
+    7c91:	89 85 60 ff ff ff    	mov    %eax,-0xa0(%ebp)
+    7c97:	21 ca                	and    %ecx,%edx
+    7c99:	85 d2                	test   %edx,%edx
+    7c9b:	74 e6                	je     0x7c83
+    7c9d:	89 bd 44 ff ff ff    	mov    %edi,-0xbc(%ebp)
+    7ca3:	8b bd 30 ff ff ff    	mov    -0xd0(%ebp),%edi
+    7ca9:	8b 95 24 ff ff ff    	mov    -0xdc(%ebp),%edx
+    7caf:	8b 85 20 ff ff ff    	mov    -0xe0(%ebp),%eax
+    7cb5:	85 4c 9f 60          	test   %ecx,0x60(%edi,%ebx,4)
+    7cb9:	0f 84 df 00 00 00    	je     0x7d9e
+    7cbf:	8b bd 54 ff ff ff    	mov    -0xac(%ebp),%edi
+    7cc5:	8b 34 b7             	mov    (%edi,%esi,4),%esi
+    7cc8:	89 32                	mov    %esi,(%edx)
+    7cca:	e9 23 fd ff ff       	jmp    0x79f2
+    7ccf:	c7 44 24 04 00 02 00 	movl   $0x200,0x4(%esp)
+    7cd6:	00 
+    7cd7:	c7 04 24 04 00 00 00 	movl   $0x4,(%esp)
+    7cde:	e8 fc ff ff ff       	call   0x7cdf
+    7ce3:	89 c1                	mov    %eax,%ecx
+    7ce5:	89 85 48 ff ff ff    	mov    %eax,-0xb8(%ebp)
+    7ceb:	8b 85 44 ff ff ff    	mov    -0xbc(%ebp),%eax
+    7cf1:	85 c9                	test   %ecx,%ecx
+    7cf3:	89 48 30             	mov    %ecx,0x30(%eax)
+    7cf6:	0f 84 1b fe ff ff    	je     0x7b17
+    7cfc:	31 d2                	xor    %edx,%edx
+    7cfe:	31 c0                	xor    %eax,%eax
+    7d00:	8b 9d 38 ff ff ff    	mov    -0xc8(%ebp),%ebx
+    7d06:	c1 e2 05             	shl    $0x5,%edx
+    7d09:	31 f6                	xor    %esi,%esi
+    7d0b:	89 95 44 ff ff ff    	mov    %edx,-0xbc(%ebp)
+    7d11:	8b 54 85 c4          	mov    -0x3c(%ebp,%eax,4),%edx
+    7d15:	c7 85 60 ff ff ff 01 	movl   $0x1,-0xa0(%ebp)
+    7d1c:	00 00 00 
+    7d1f:	89 85 24 ff ff ff    	mov    %eax,-0xdc(%ebp)
+    7d25:	8d 9c 83 00 0c 00 00 	lea    0xc00(%ebx,%eax,4),%ebx
+    7d2c:	89 9d 30 ff ff ff    	mov    %ebx,-0xd0(%ebp)
+    7d32:	89 8d 20 ff ff ff    	mov    %ecx,-0xe0(%ebp)
+    7d38:	85 d2                	test   %edx,%edx
+    7d3a:	74 43                	je     0x7d7f
+    7d3c:	f6 c2 01             	test   $0x1,%dl
+    7d3f:	75 1c                	jne    0x7d5d
+    7d41:	d1 a5 60 ff ff ff    	shll   -0xa0(%ebp)
+    7d47:	83 c6 04             	add    $0x4,%esi
+    7d4a:	d1 ea                	shr    %edx
+    7d4c:	eb ea                	jmp    0x7d38
+    7d4e:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
+    7d52:	0f 84 ab fb ff ff    	je     0x7903
+    7d58:	e9 ba fd ff ff       	jmp    0x7b17
+    7d5d:	8b bd 30 ff ff ff    	mov    -0xd0(%ebp),%edi
+    7d63:	31 db                	xor    %ebx,%ebx
+    7d65:	8b 8d 20 ff ff ff    	mov    -0xe0(%ebp),%ecx
+    7d6b:	8b 85 60 ff ff ff    	mov    -0xa0(%ebp),%eax
+    7d71:	23 07                	and    (%edi),%eax
+    7d73:	83 c7 20             	add    $0x20,%edi
+    7d76:	85 c0                	test   %eax,%eax
+    7d78:	75 34                	jne    0x7dae
+    7d7a:	83 c3 01             	add    $0x1,%ebx
+    7d7d:	eb ec                	jmp    0x7d6b
+    7d7f:	8b 85 24 ff ff ff    	mov    -0xdc(%ebp),%eax
+    7d85:	8b 8d 20 ff ff ff    	mov    -0xe0(%ebp),%ecx
+    7d8b:	83 c0 01             	add    $0x1,%eax
+    7d8e:	83 f8 08             	cmp    $0x8,%eax
+    7d91:	89 c2                	mov    %eax,%edx
+    7d93:	0f 85 67 ff ff ff    	jne    0x7d00
+    7d99:	e9 6b fc ff ff       	jmp    0x7a09
+    7d9e:	8b bd 5c ff ff ff    	mov    -0xa4(%ebp),%edi
+    7da4:	8b 34 b7             	mov    (%edi,%esi,4),%esi
+    7da7:	89 32                	mov    %esi,(%edx)
+    7da9:	e9 44 fc ff ff       	jmp    0x79f2
+    7dae:	89 8d 20 ff ff ff    	mov    %ecx,-0xe0(%ebp)
+    7db4:	01 f1                	add    %esi,%ecx
+    7db6:	8b bd 44 ff ff ff    	mov    -0xbc(%ebp),%edi
+    7dbc:	89 8d 34 ff ff ff    	mov    %ecx,-0xcc(%ebp)
+    7dc2:	8b 8d 5c ff ff ff    	mov    -0xa4(%ebp),%ecx
+    7dc8:	8b 85 34 ff ff ff    	mov    -0xcc(%ebp),%eax
+    7dce:	8b 0c 99             	mov    (%ecx,%ebx,4),%ecx
+    7dd1:	89 0c b8             	mov    %ecx,(%eax,%edi,4)
+    7dd4:	8b 8d 54 ff ff ff    	mov    -0xac(%ebp),%ecx
+    7dda:	8b 1c 99             	mov    (%ecx,%ebx,4),%ebx
+    7ddd:	89 9c b8 00 04 00 00 	mov    %ebx,0x400(%eax,%edi,4)
+    7de4:	e9 58 ff ff ff       	jmp    0x7d41
+    7de9:	8b b5 38 ff ff ff    	mov    -0xc8(%ebp),%esi
+    7def:	31 db                	xor    %ebx,%ebx
+    7df1:	3b 9d 5c ff ff ff    	cmp    -0xa4(%ebp),%ebx
+    7df7:	0f 8d 5f fd ff ff    	jge    0x7b5c
+    7dfd:	8b 46 08             	mov    0x8(%esi),%eax
+    7e00:	83 c3 01             	add    $0x1,%ebx
+    7e03:	83 c6 0c             	add    $0xc,%esi
+    7e06:	89 04 24             	mov    %eax,(%esp)
+    7e09:	e8 fc ff ff ff       	call   0x7e0a
+    7e0e:	eb e1                	jmp    0x7df1
+    7e10:	55                   	push   %ebp
+    7e11:	89 e5                	mov    %esp,%ebp
+    7e13:	57                   	push   %edi
+    7e14:	56                   	push   %esi
+    7e15:	53                   	push   %ebx
+    7e16:	83 ec 64             	sub    $0x64,%esp
+    7e19:	8b 00                	mov    (%eax),%eax
+    7e1b:	89 4d c0             	mov    %ecx,-0x40(%ebp)
+    7e1e:	8b 4d 0c             	mov    0xc(%ebp),%ecx
+    7e21:	89 55 d0             	mov    %edx,-0x30(%ebp)
+    7e24:	8b 75 08             	mov    0x8(%ebp),%esi
+    7e27:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
+    7e2e:	89 45 c4             	mov    %eax,-0x3c(%ebp)
+    7e31:	85 c9                	test   %ecx,%ecx
+    7e33:	c7 45 dc 02 00 00 00 	movl   $0x2,-0x24(%ebp)
+    7e3a:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
+    7e41:	c7 45 cc 00 00 00 00 	movl   $0x0,-0x34(%ebp)
+    7e48:	74 24                	je     0x7e6e
+    7e4a:	c7 04 24 30 00 00 00 	movl   $0x30,(%esp)
+    7e51:	e8 fc ff ff ff       	call   0x7e52
+    7e56:	89 c2                	mov    %eax,%edx
+    7e58:	85 d2                	test   %edx,%edx
+    7e5a:	89 45 e0             	mov    %eax,-0x20(%ebp)
+    7e5d:	b8 0c 00 00 00       	mov    $0xc,%eax
+    7e62:	0f 84 53 01 00 00    	je     0x7fbb
+    7e68:	8d 45 d8             	lea    -0x28(%ebp),%eax
+    7e6b:	89 45 cc             	mov    %eax,-0x34(%ebp)
+    7e6e:	8b 4d c0             	mov    -0x40(%ebp),%ecx
+    7e71:	8b 55 c4             	mov    -0x3c(%ebp),%edx
+    7e74:	c1 e1 03             	shl    $0x3,%ecx
+    7e77:	81 f9 00 00 01 00    	cmp    $0x10000,%ecx
+    7e7d:	8b 5a 48             	mov    0x48(%edx),%ebx
+    7e80:	89 4d b4             	mov    %ecx,-0x4c(%ebp)
+    7e83:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
+    7e8a:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
+    7e91:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
+    7e98:	0f 86 27 01 00 00    	jbe    0x7fc5
+    7e9e:	8b 45 b4             	mov    -0x4c(%ebp),%eax
+    7ea1:	89 04 24             	mov    %eax,(%esp)
+    7ea4:	e8 fc ff ff ff       	call   0x7ea5
+    7ea9:	c7 45 b0 01 00 00 00 	movl   $0x1,-0x50(%ebp)
+    7eb0:	85 c0                	test   %eax,%eax
+    7eb2:	89 45 b8             	mov    %eax,-0x48(%ebp)
+    7eb5:	0f 84 fa 04 00 00    	je     0x83b5
+    7ebb:	8b 55 b4             	mov    -0x4c(%ebp),%edx
+    7ebe:	8b 4d b8             	mov    -0x48(%ebp),%ecx
+    7ec1:	89 74 24 04          	mov    %esi,0x4(%esp)
+    7ec5:	89 54 24 08          	mov    %edx,0x8(%esp)
+    7ec9:	89 0c 24             	mov    %ecx,(%esp)
+    7ecc:	e8 fc ff ff ff       	call   0x7ecd
+    7ed1:	8b 06                	mov    (%esi),%eax
+    7ed3:	8b 56 04             	mov    0x4(%esi),%edx
+    7ed6:	89 45 f0             	mov    %eax,-0x10(%ebp)
+    7ed9:	39 c2                	cmp    %eax,%edx
+    7edb:	0f 8c bc 00 00 00    	jl     0x7f9d
+    7ee1:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
+    7ee8:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
+    7eeb:	8d 3c dd 00 00 00 00 	lea    0x0(,%ebx,8),%edi
+    7ef2:	89 7d d4             	mov    %edi,-0x2c(%ebp)
+    7ef5:	89 5d c8             	mov    %ebx,-0x38(%ebp)
+    7ef8:	03 39                	add    (%ecx),%edi
+    7efa:	0f b6 4f 04          	movzbl 0x4(%edi),%ecx
+    7efe:	83 f9 08             	cmp    $0x8,%ecx
+    7f01:	0f 84 51 01 00 00    	je     0x8058
+    7f07:	83 f9 09             	cmp    $0x9,%ecx
+    7f0a:	0f 84 70 01 00 00    	je     0x8080
+    7f10:	39 c2                	cmp    %eax,%edx
+    7f12:	75 0c                	jne    0x7f20
+    7f14:	8b 55 d0             	mov    -0x30(%ebp),%edx
+    7f17:	39 5a 60             	cmp    %ebx,0x60(%edx)
+    7f1a:	0f 84 d8 01 00 00    	je     0x80f8
+    7f20:	8b 4d d0             	mov    -0x30(%ebp),%ecx
+    7f23:	8b 55 d4             	mov    -0x2c(%ebp),%edx
+    7f26:	8b 79 54             	mov    0x54(%ecx),%edi
+    7f29:	03 17                	add    (%edi),%edx
+    7f2b:	0f b6 42 04          	movzbl 0x4(%edx),%eax
+    7f2f:	a8 08                	test   $0x8,%al
+    7f31:	0f 85 d5 02 00 00    	jne    0x820c
+    7f37:	f6 42 06 10          	testb  $0x10,0x6(%edx)
+    7f3b:	0f 85 a7 00 00 00    	jne    0x7fe8
+    7f41:	3c 04                	cmp    $0x4,%al
+    7f43:	0f 84 87 01 00 00    	je     0x80d0
+    7f49:	8b 45 f0             	mov    -0x10(%ebp),%eax
+    7f4c:	89 45 bc             	mov    %eax,-0x44(%ebp)
+    7f4f:	8b 4d bc             	mov    -0x44(%ebp),%ecx
+    7f52:	8b 45 d0             	mov    -0x30(%ebp),%eax
+    7f55:	e8 26 ad ff ff       	call   0x2c80
+    7f5a:	85 c0                	test   %eax,%eax
+    7f5c:	0f 84 ca 00 00 00    	je     0x802c
+    7f62:	8b 47 0c             	mov    0xc(%edi),%eax
+    7f65:	8b 55 c8             	mov    -0x38(%ebp),%edx
+    7f68:	8b 7d cc             	mov    -0x34(%ebp),%edi
+    7f6b:	8b 1c 90             	mov    (%eax,%edx,4),%ebx
+    7f6e:	8b 55 bc             	mov    -0x44(%ebp),%edx
+    7f71:	83 c2 01             	add    $0x1,%edx
+    7f74:	85 ff                	test   %edi,%edi
+    7f76:	89 55 f0             	mov    %edx,-0x10(%ebp)
+    7f79:	0f 85 a1 00 00 00    	jne    0x8020
+    7f7f:	90                   	nop
+    7f80:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
+    7f87:	85 db                	test   %ebx,%ebx
+    7f89:	0f 88 de 04 00 00    	js     0x846d
+    7f8f:	8b 45 f0             	mov    -0x10(%ebp),%eax
+    7f92:	8b 56 04             	mov    0x4(%esi),%edx
+    7f95:	39 c2                	cmp    %eax,%edx
+    7f97:	0f 8d 4b ff ff ff    	jge    0x7ee8
+    7f9d:	8b 45 ec             	mov    -0x14(%ebp),%eax
+    7fa0:	89 04 24             	mov    %eax,(%esp)
+    7fa3:	e8 fc ff ff ff       	call   0x7fa4
+    7fa8:	8b 55 b0             	mov    -0x50(%ebp),%edx
+    7fab:	85 d2                	test   %edx,%edx
+    7fad:	0f 85 e2 02 00 00    	jne    0x8295
+    7fb3:	8b 45 cc             	mov    -0x34(%ebp),%eax
+    7fb6:	e8 95 8f ff ff       	call   0xf50
+    7fbb:	8d 65 f4             	lea    -0xc(%ebp),%esp
+    7fbe:	5b                   	pop    %ebx
+    7fbf:	5e                   	pop    %esi
+    7fc0:	5f                   	pop    %edi
+    7fc1:	5d                   	pop    %ebp
+    7fc2:	c2 08 00             	ret    $0x8
+    7fc5:	89 c8                	mov    %ecx,%eax
+    7fc7:	83 c0 10             	add    $0x10,%eax
+    7fca:	29 c4                	sub    %eax,%esp
+    7fcc:	8d 7c 24 1b          	lea    0x1b(%esp),%edi
+    7fd0:	83 e7 f0             	and    $0xfffffff0,%edi
+    7fd3:	89 7d b8             	mov    %edi,-0x48(%ebp)
+    7fd6:	c7 45 b0 00 00 00 00 	movl   $0x0,-0x50(%ebp)
+    7fdd:	e9 d9 fe ff ff       	jmp    0x7ebb
+    7fe2:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
+    7fe8:	8b 45 f0             	mov    -0x10(%ebp),%eax
+    7feb:	89 da                	mov    %ebx,%edx
+    7fed:	8b 4d d0             	mov    -0x30(%ebp),%ecx
+    7ff0:	89 04 24             	mov    %eax,(%esp)
+    7ff3:	89 f8                	mov    %edi,%eax
+    7ff5:	e8 36 ce ff ff       	call   0x4e30
+    7ffa:	83 ec 04             	sub    $0x4,%esp
+    7ffd:	85 c0                	test   %eax,%eax
+    7fff:	89 c2                	mov    %eax,%edx
+    8001:	0f 84 5b 04 00 00    	je     0x8462
+    8007:	8b 4d f0             	mov    -0x10(%ebp),%ecx
+    800a:	8b 47 0c             	mov    0xc(%edi),%eax
+    800d:	01 ca                	add    %ecx,%edx
+    800f:	8b 7d cc             	mov    -0x34(%ebp),%edi
+    8012:	8b 1c 98             	mov    (%eax,%ebx,4),%ebx
+    8015:	85 ff                	test   %edi,%edi
+    8017:	89 55 f0             	mov    %edx,-0x10(%ebp)
+    801a:	0f 84 60 ff ff ff    	je     0x7f80
+    8020:	8b 4d d0             	mov    -0x30(%ebp),%ecx
+    8023:	3b 51 5c             	cmp    0x5c(%ecx),%edx
+    8026:	0f 8e 79 02 00 00    	jle    0x82a5
+    802c:	83 7d cc 00          	cmpl   $0x0,-0x34(%ebp)
+    8030:	0f 84 fd 03 00 00    	je     0x8433
+    8036:	8d 45 e4             	lea    -0x1c(%ebp),%eax
+    8039:	8b 4d c0             	mov    -0x40(%ebp),%ecx
+    803c:	89 44 24 04          	mov    %eax,0x4(%esp)
+    8040:	8b 45 cc             	mov    -0x34(%ebp),%eax
+    8043:	8d 55 f0             	lea    -0x10(%ebp),%edx
+    8046:	89 34 24             	mov    %esi,(%esp)
+    8049:	e8 72 92 ff ff       	call   0x12c0
+    804e:	51                   	push   %ecx
+    804f:	89 c3                	mov    %eax,%ebx
+    8051:	51                   	push   %ecx
+    8052:	e9 38 ff ff ff       	jmp    0x7f8f
+    8057:	90                   	nop
+    8058:	8b 0f                	mov    (%edi),%ecx
+    805a:	83 c1 01             	add    $0x1,%ecx
+    805d:	39 4d c0             	cmp    %ecx,-0x40(%ebp)
+    8060:	0f 8e aa fe ff ff    	jle    0x7f10
+    8066:	8d 14 ce             	lea    (%esi,%ecx,8),%edx
+    8069:	89 02                	mov    %eax,(%edx)
+    806b:	8b 45 f0             	mov    -0x10(%ebp),%eax
+    806e:	c7 42 04 ff ff ff ff 	movl   $0xffffffff,0x4(%edx)
+    8075:	8b 56 04             	mov    0x4(%esi),%edx
+    8078:	e9 93 fe ff ff       	jmp    0x7f10
+    807d:	8d 76 00             	lea    0x0(%esi),%esi
+    8080:	8b 0f                	mov    (%edi),%ecx
+    8082:	83 c1 01             	add    $0x1,%ecx
+    8085:	39 4d c0             	cmp    %ecx,-0x40(%ebp)
+    8088:	0f 8e 82 fe ff ff    	jle    0x7f10
+    808e:	8d 14 ce             	lea    (%esi,%ecx,8),%edx
+    8091:	39 02                	cmp    %eax,(%edx)
+    8093:	0f 8c 4f 01 00 00    	jl     0x81e8
+    8099:	f6 47 06 08          	testb  $0x8,0x6(%edi)
+    809d:	0f 84 c5 00 00 00    	je     0x8168
+    80a3:	8b 7d b8             	mov    -0x48(%ebp),%edi
+    80a6:	83 3c cf ff          	cmpl   $0xffffffff,(%edi,%ecx,8)
+    80aa:	0f 84 b8 00 00 00    	je     0x8168
+    80b0:	8b 45 b4             	mov    -0x4c(%ebp),%eax
+    80b3:	89 7c 24 04          	mov    %edi,0x4(%esp)
+    80b7:	89 34 24             	mov    %esi,(%esp)
+    80ba:	89 44 24 08          	mov    %eax,0x8(%esp)
+    80be:	e8 fc ff ff ff       	call   0x80bf
+    80c3:	8b 56 04             	mov    0x4(%esi),%edx
+    80c6:	8b 45 f0             	mov    -0x10(%ebp),%eax
+    80c9:	e9 42 fe ff ff       	jmp    0x7f10
+    80ce:	66 90                	xchg   %ax,%ax
+    80d0:	8b 02                	mov    (%edx),%eax
+    80d2:	8d 44 c6 08          	lea    0x8(%esi,%eax,8),%eax
+    80d6:	8b 48 04             	mov    0x4(%eax),%ecx
+    80d9:	8b 00                	mov    (%eax),%eax
+    80db:	89 ca                	mov    %ecx,%edx
+    80dd:	29 c2                	sub    %eax,%edx
+    80df:	83 7d cc 00          	cmpl   $0x0,-0x34(%ebp)
+    80e3:	0f 85 8f 00 00 00    	jne    0x8178
+    80e9:	85 d2                	test   %edx,%edx
+    80eb:	0f 85 16 ff ff ff    	jne    0x8007
+    80f1:	e9 a0 00 00 00       	jmp    0x8196
+    80f6:	66 90                	xchg   %ax,%ax
+    80f8:	8b 55 cc             	mov    -0x34(%ebp),%edx
+    80fb:	85 d2                	test   %edx,%edx
+    80fd:	8d 76 00             	lea    0x0(%esi),%esi
+    8100:	0f 84 f2 01 00 00    	je     0x82f8
+    8106:	8b 45 c0             	mov    -0x40(%ebp),%eax
+    8109:	85 c0                	test   %eax,%eax
+    810b:	0f 84 8c fe ff ff    	je     0x7f9d
+    8111:	8b 5d c0             	mov    -0x40(%ebp),%ebx
+    8114:	31 c9                	xor    %ecx,%ecx
+    8116:	31 c0                	xor    %eax,%eax
+    8118:	8d 14 ce             	lea    (%esi,%ecx,8),%edx
+    811b:	8b 3a                	mov    (%edx),%edi
+    811d:	85 ff                	test   %edi,%edi
+    811f:	78 06                	js     0x8127
+    8121:	83 7a 04 ff          	cmpl   $0xffffffff,0x4(%edx)
+    8125:	74 09                	je     0x8130
+    8127:	83 c0 01             	add    $0x1,%eax
+    812a:	39 c3                	cmp    %eax,%ebx
+    812c:	89 c1                	mov    %eax,%ecx
+    812e:	77 e8                	ja     0x8118
+    8130:	39 4d c0             	cmp    %ecx,-0x40(%ebp)
+    8133:	0f 84 64 fe ff ff    	je     0x7f9d
+    8139:	8b 4d c0             	mov    -0x40(%ebp),%ecx
+    813c:	8d 7d e4             	lea    -0x1c(%ebp),%edi
+    813f:	8b 45 cc             	mov    -0x34(%ebp),%eax
+    8142:	8d 55 f0             	lea    -0x10(%ebp),%edx
+    8145:	89 7c 24 04          	mov    %edi,0x4(%esp)
+    8149:	89 34 24             	mov    %esi,(%esp)
+    814c:	e8 6f 91 ff ff       	call   0x12c0
+    8151:	89 c3                	mov    %eax,%ebx
+    8153:	83 ec 08             	sub    $0x8,%esp
+    8156:	89 45 c8             	mov    %eax,-0x38(%ebp)
+    8159:	8d 04 c5 00 00 00 00 	lea    0x0(,%eax,8),%eax
+    8160:	89 45 d4             	mov    %eax,-0x2c(%ebp)
+    8163:	e9 b8 fd ff ff       	jmp    0x7f20
+    8168:	89 42 04             	mov    %eax,0x4(%edx)
+    816b:	8b 45 f0             	mov    -0x10(%ebp),%eax
+    816e:	8b 56 04             	mov    0x4(%esi),%edx
+    8171:	e9 9a fd ff ff       	jmp    0x7f10
+    8176:	66 90                	xchg   %ax,%ax
+    8178:	83 f8 ff             	cmp    $0xffffffff,%eax
+    817b:	0f 84 ab fe ff ff    	je     0x802c
+    8181:	83 f9 ff             	cmp    $0xffffffff,%ecx
+    8184:	0f 84 a2 fe ff ff    	je     0x802c
+    818a:	85 d2                	test   %edx,%edx
+    818c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    8190:	0f 85 60 02 00 00    	jne    0x83f6
+    8196:	89 da                	mov    %ebx,%edx
+    8198:	8d 45 e4             	lea    -0x1c(%ebp),%eax
+    819b:	e8 40 97 ff ff       	call   0x18e0
+    81a0:	85 c0                	test   %eax,%eax
+    81a2:	0f 88 f1 01 00 00    	js     0x8399
+    81a8:	8b 57 14             	mov    0x14(%edi),%edx
+    81ab:	8d 04 5b             	lea    (%ebx,%ebx,2),%eax
+    81ae:	8b 44 82 08          	mov    0x8(%edx,%eax,4),%eax
+    81b2:	8b 55 d0             	mov    -0x30(%ebp),%edx
+    81b5:	8b 18                	mov    (%eax),%ebx
+    81b7:	8b 45 f0             	mov    -0x10(%ebp),%eax
+    81ba:	89 45 bc             	mov    %eax,-0x44(%ebp)
+    81bd:	8b 42 64             	mov    0x64(%edx),%eax
+    81c0:	89 da                	mov    %ebx,%edx
+    81c2:	8b 4d bc             	mov    -0x44(%ebp),%ecx
+    81c5:	8b 04 88             	mov    (%eax,%ecx,4),%eax
+    81c8:	83 c0 04             	add    $0x4,%eax
+    81cb:	e8 30 7e ff ff       	call   0x0
+    81d0:	85 c0                	test   %eax,%eax
+    81d2:	0f 85 af fd ff ff    	jne    0x7f87
+    81d8:	8b 55 d4             	mov    -0x2c(%ebp),%edx
+    81db:	03 17                	add    (%edi),%edx
+    81dd:	e9 6d fd ff ff       	jmp    0x7f4f
+    81e2:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
+    81e8:	89 42 04             	mov    %eax,0x4(%edx)
+    81eb:	8b 7d b4             	mov    -0x4c(%ebp),%edi
+    81ee:	8b 45 b8             	mov    -0x48(%ebp),%eax
+    81f1:	89 74 24 04          	mov    %esi,0x4(%esp)
+    81f5:	89 7c 24 08          	mov    %edi,0x8(%esp)
+    81f9:	89 04 24             	mov    %eax,(%esp)
+    81fc:	e8 fc ff ff ff       	call   0x81fd
+    8201:	8b 56 04             	mov    0x4(%esi),%edx
+    8204:	8b 45 f0             	mov    -0x10(%ebp),%eax
+    8207:	e9 04 fd ff ff       	jmp    0x7f10
+    820c:	8b 51 64             	mov    0x64(%ecx),%edx
+    820f:	8b 45 f0             	mov    -0x10(%ebp),%eax
+    8212:	8b 7f 14             	mov    0x14(%edi),%edi
+    8215:	8b 04 82             	mov    (%edx,%eax,4),%eax
+    8218:	89 da                	mov    %ebx,%edx
+    821a:	83 c0 04             	add    $0x4,%eax
+    821d:	89 45 bc             	mov    %eax,-0x44(%ebp)
+    8220:	8d 45 e4             	lea    -0x1c(%ebp),%eax
+    8223:	e8 b8 96 ff ff       	call   0x18e0
+    8228:	85 c0                	test   %eax,%eax
+    822a:	0f 88 69 01 00 00    	js     0x8399
+    8230:	8d 04 5b             	lea    (%ebx,%ebx,2),%eax
+    8233:	8d 04 87             	lea    (%edi,%eax,4),%eax
+    8236:	8b 78 04             	mov    0x4(%eax),%edi
+    8239:	85 ff                	test   %edi,%edi
+    823b:	89 7d d4             	mov    %edi,-0x2c(%ebp)
+    823e:	0f 8e e8 fd ff ff    	jle    0x802c
+    8244:	8b 40 08             	mov    0x8(%eax),%eax
+    8247:	31 ff                	xor    %edi,%edi
+    8249:	89 75 a8             	mov    %esi,-0x58(%ebp)
+    824c:	be ff ff ff ff       	mov    $0xffffffff,%esi
+    8251:	c7 45 ac ff ff ff ff 	movl   $0xffffffff,-0x54(%ebp)
+    8258:	89 45 c8             	mov    %eax,-0x38(%ebp)
+    825b:	eb 12                	jmp    0x826f
+    825d:	8d 76 00             	lea    0x0(%esi),%esi
+    8260:	83 fe ff             	cmp    $0xffffffff,%esi
+    8263:	75 6b                	jne    0x82d0
+    8265:	83 c7 01             	add    $0x1,%edi
+    8268:	3b 7d d4             	cmp    -0x2c(%ebp),%edi
+    826b:	7d 20                	jge    0x828d
+    826d:	89 de                	mov    %ebx,%esi
+    826f:	8b 45 c8             	mov    -0x38(%ebp),%eax
+    8272:	8b 1c b8             	mov    (%eax,%edi,4),%ebx
+    8275:	8b 45 bc             	mov    -0x44(%ebp),%eax
+    8278:	89 da                	mov    %ebx,%edx
+    827a:	e8 81 7d ff ff       	call   0x0
+    827f:	85 c0                	test   %eax,%eax
+    8281:	75 dd                	jne    0x8260
+    8283:	83 c7 01             	add    $0x1,%edi
+    8286:	89 f3                	mov    %esi,%ebx
+    8288:	3b 7d d4             	cmp    -0x2c(%ebp),%edi
+    828b:	7c e0                	jl     0x826d
+    828d:	8b 75 a8             	mov    -0x58(%ebp),%esi
+    8290:	e9 f2 fc ff ff       	jmp    0x7f87
+    8295:	8b 4d b8             	mov    -0x48(%ebp),%ecx
+    8298:	89 0c 24             	mov    %ecx,(%esp)
+    829b:	e8 fc ff ff ff       	call   0x829c
+    82a0:	e9 0e fd ff ff       	jmp    0x7fb3
+    82a5:	8b 41 64             	mov    0x64(%ecx),%eax
+    82a8:	8b 04 90             	mov    (%eax,%edx,4),%eax
+    82ab:	85 c0                	test   %eax,%eax
+    82ad:	0f 84 79 fd ff ff    	je     0x802c
+    82b3:	83 c0 04             	add    $0x4,%eax
+    82b6:	89 da                	mov    %ebx,%edx
+    82b8:	e8 43 7d ff ff       	call   0x0
+    82bd:	85 c0                	test   %eax,%eax
+    82bf:	0f 85 bb fc ff ff    	jne    0x7f80
+    82c5:	e9 62 fd ff ff       	jmp    0x802c
+    82ca:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
+    82d0:	89 75 ac             	mov    %esi,-0x54(%ebp)
+    82d3:	8b 55 ac             	mov    -0x54(%ebp),%edx
+    82d6:	8d 45 e4             	lea    -0x1c(%ebp),%eax
+    82d9:	8b 75 a8             	mov    -0x58(%ebp),%esi
+    82dc:	e8 1f 7d ff ff       	call   0x0
+    82e1:	85 c0                	test   %eax,%eax
+    82e3:	0f 85 9e fc ff ff    	jne    0x7f87
+    82e9:	8b 45 cc             	mov    -0x34(%ebp),%eax
+    82ec:	85 c0                	test   %eax,%eax
+    82ee:	75 32                	jne    0x8322
+    82f0:	8b 5d ac             	mov    -0x54(%ebp),%ebx
+    82f3:	e9 8f fc ff ff       	jmp    0x7f87
+    82f8:	8b 45 ec             	mov    -0x14(%ebp),%eax
+    82fb:	89 04 24             	mov    %eax,(%esp)
+    82fe:	e8 fc ff ff ff       	call   0x82ff
+    8303:	8b 55 b0             	mov    -0x50(%ebp),%edx
+    8306:	31 c0                	xor    %eax,%eax
+    8308:	85 d2                	test   %edx,%edx
+    830a:	0f 84 ab fc ff ff    	je     0x7fbb
+    8310:	8b 55 b8             	mov    -0x48(%ebp),%edx
+    8313:	89 14 24             	mov    %edx,(%esp)
+    8316:	e8 fc ff ff ff       	call   0x8317
+    831b:	31 c0                	xor    %eax,%eax
+    831d:	e9 99 fc ff ff       	jmp    0x7fbb
+    8322:	8b 55 cc             	mov    -0x34(%ebp),%edx
+    8325:	8b 4d f0             	mov    -0x10(%ebp),%ecx
+    8328:	8b 3a                	mov    (%edx),%edi
+    832a:	8d 47 01             	lea    0x1(%edi),%eax
+    832d:	3b 42 04             	cmp    0x4(%edx),%eax
+    8330:	89 02                	mov    %eax,(%edx)
+    8332:	0f 84 8f 00 00 00    	je     0x83c7
+    8338:	8b 52 08             	mov    0x8(%edx),%edx
+    833b:	89 d0                	mov    %edx,%eax
+    833d:	6b ff 18             	imul   $0x18,%edi,%edi
+    8340:	89 0c 38             	mov    %ecx,(%eax,%edi,1)
+    8343:	8b 4d cc             	mov    -0x34(%ebp),%ecx
+    8346:	8b 45 b4             	mov    -0x4c(%ebp),%eax
+    8349:	89 5c 3a 04          	mov    %ebx,0x4(%edx,%edi,1)
+    834d:	89 fb                	mov    %edi,%ebx
+    834f:	03 59 08             	add    0x8(%ecx),%ebx
+    8352:	89 04 24             	mov    %eax,(%esp)
+    8355:	e8 fc ff ff ff       	call   0x8356
+    835a:	8b 55 cc             	mov    -0x34(%ebp),%edx
+    835d:	89 43 08             	mov    %eax,0x8(%ebx)
+    8360:	8b 42 08             	mov    0x8(%edx),%eax
+    8363:	8b 44 38 08          	mov    0x8(%eax,%edi,1),%eax
+    8367:	85 c0                	test   %eax,%eax
+    8369:	74 2e                	je     0x8399
+    836b:	8b 4d b4             	mov    -0x4c(%ebp),%ecx
+    836e:	89 74 24 04          	mov    %esi,0x4(%esp)
+    8372:	89 04 24             	mov    %eax,(%esp)
+    8375:	89 4c 24 08          	mov    %ecx,0x8(%esp)
+    8379:	e8 fc ff ff ff       	call   0x837a
+    837e:	8b 55 cc             	mov    -0x34(%ebp),%edx
+    8381:	89 f8                	mov    %edi,%eax
+    8383:	03 42 08             	add    0x8(%edx),%eax
+    8386:	8d 55 e4             	lea    -0x1c(%ebp),%edx
+    8389:	83 c0 0c             	add    $0xc,%eax
+    838c:	e8 ef 9a ff ff       	call   0x1e80
+    8391:	85 c0                	test   %eax,%eax
+    8393:	0f 84 57 ff ff ff    	je     0x82f0
+    8399:	8b 45 ec             	mov    -0x14(%ebp),%eax
+    839c:	89 04 24             	mov    %eax,(%esp)
+    839f:	e8 fc ff ff ff       	call   0x83a0
+    83a4:	83 7d b0 00          	cmpl   $0x0,-0x50(%ebp)
+    83a8:	74 0b                	je     0x83b5
+    83aa:	8b 7d b8             	mov    -0x48(%ebp),%edi
+    83ad:	89 3c 24             	mov    %edi,(%esp)
+    83b0:	e8 fc ff ff ff       	call   0x83b1
+    83b5:	8b 45 cc             	mov    -0x34(%ebp),%eax
+    83b8:	e8 93 8b ff ff       	call   0xf50
+    83bd:	b8 0c 00 00 00       	mov    $0xc,%eax
+    83c2:	e9 f4 fb ff ff       	jmp    0x7fbb
+    83c7:	6b c0 30             	imul   $0x30,%eax,%eax
+    83ca:	8b 55 cc             	mov    -0x34(%ebp),%edx
+    83cd:	89 4d a0             	mov    %ecx,-0x60(%ebp)
+    83d0:	89 44 24 04          	mov    %eax,0x4(%esp)
+    83d4:	8b 42 08             	mov    0x8(%edx),%eax
+    83d7:	89 04 24             	mov    %eax,(%esp)
+    83da:	e8 fc ff ff ff       	call   0x83db
+    83df:	8b 4d a0             	mov    -0x60(%ebp),%ecx
+    83e2:	85 c0                	test   %eax,%eax
+    83e4:	74 b3                	je     0x8399
+    83e6:	8b 55 cc             	mov    -0x34(%ebp),%edx
+    83e9:	d1 62 04             	shll   0x4(%edx)
+    83ec:	89 42 08             	mov    %eax,0x8(%edx)
+    83ef:	89 c2                	mov    %eax,%edx
+    83f1:	e9 47 ff ff ff       	jmp    0x833d
+    83f6:	8b 4d d0             	mov    -0x30(%ebp),%ecx
+    83f9:	89 55 9c             	mov    %edx,-0x64(%ebp)
+    83fc:	8b 49 04             	mov    0x4(%ecx),%ecx
+    83ff:	89 54 24 08          	mov    %edx,0x8(%esp)
+    8403:	89 4d a4             	mov    %ecx,-0x5c(%ebp)
+    8406:	8b 4d f0             	mov    -0x10(%ebp),%ecx
+    8409:	03 45 a4             	add    -0x5c(%ebp),%eax
+    840c:	89 04 24             	mov    %eax,(%esp)
+    840f:	8b 45 a4             	mov    -0x5c(%ebp),%eax
+    8412:	89 4d a0             	mov    %ecx,-0x60(%ebp)
+    8415:	01 c8                	add    %ecx,%eax
+    8417:	89 44 24 04          	mov    %eax,0x4(%esp)
+    841b:	e8 fc ff ff ff       	call   0x841c
+    8420:	8b 55 9c             	mov    -0x64(%ebp),%edx
+    8423:	8b 4d a0             	mov    -0x60(%ebp),%ecx
+    8426:	85 c0                	test   %eax,%eax
+    8428:	0f 84 dc fb ff ff    	je     0x800a
+    842e:	e9 f9 fb ff ff       	jmp    0x802c
+    8433:	8b 45 ec             	mov    -0x14(%ebp),%eax
+    8436:	89 04 24             	mov    %eax,(%esp)
+    8439:	e8 fc ff ff ff       	call   0x843a
+    843e:	b8 01 00 00 00       	mov    $0x1,%eax
+    8443:	83 7d b0 00          	cmpl   $0x0,-0x50(%ebp)
+    8447:	0f 84 6e fb ff ff    	je     0x7fbb
+    844d:	8b 55 b8             	mov    -0x48(%ebp),%edx
+    8450:	89 14 24             	mov    %edx,(%esp)
+    8453:	e8 fc ff ff ff       	call   0x8454
+    8458:	b8 01 00 00 00       	mov    $0x1,%eax
+    845d:	e9 59 fb ff ff       	jmp    0x7fbb
+    8462:	8b 45 f0             	mov    -0x10(%ebp),%eax
+    8465:	89 45 bc             	mov    %eax,-0x44(%ebp)
+    8468:	e9 6b fd ff ff       	jmp    0x81d8
+    846d:	83 fb fe             	cmp    $0xfffffffe,%ebx
+    8470:	0f 84 23 ff ff ff    	je     0x8399
+    8476:	e9 b1 fb ff ff       	jmp    0x802c
+    847b:	90                   	nop
+    847c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    8480:	55                   	push   %ebp
+    8481:	89 e5                	mov    %esp,%ebp
+    8483:	57                   	push   %edi
+    8484:	56                   	push   %esi
+    8485:	53                   	push   %ebx
+    8486:	81 ec 38 01 00 00    	sub    $0x138,%esp
+    848c:	8b 5d 08             	mov    0x8(%ebp),%ebx
+    848f:	89 85 0c ff ff ff    	mov    %eax,-0xf4(%ebp)
+    8495:	8b 00                	mov    (%eax),%eax
+    8497:	89 95 e8 fe ff ff    	mov    %edx,-0x118(%ebp)
+    849d:	8d 95 38 ff ff ff    	lea    -0xc8(%ebp),%edx
+    84a3:	8b b5 0c ff ff ff    	mov    -0xf4(%ebp),%esi
+    84a9:	89 8d f8 fe ff ff    	mov    %ecx,-0x108(%ebp)
+    84af:	89 d7                	mov    %edx,%edi
+    84b1:	b9 22 00 00 00       	mov    $0x22,%ecx
+    84b6:	89 95 d0 fe ff ff    	mov    %edx,-0x130(%ebp)
+    84bc:	89 85 14 ff ff ff    	mov    %eax,-0xec(%ebp)
+    84c2:	31 c0                	xor    %eax,%eax
+    84c4:	f3 ab                	rep stos %eax,%es:(%edi)
+    84c6:	8b 8d 14 ff ff ff    	mov    -0xec(%ebp),%ecx
+    84cc:	8b 76 10             	mov    0x10(%esi),%esi
+    84cf:	89 4d 8c             	mov    %ecx,-0x74(%ebp)
+    84d2:	85 f6                	test   %esi,%esi
+    84d4:	89 b5 04 ff ff ff    	mov    %esi,-0xfc(%ebp)
+    84da:	74 1f                	je     0x84fb
+    84dc:	8b 55 0c             	mov    0xc(%ebp),%edx
+    84df:	8b bd 0c ff ff ff    	mov    -0xf4(%ebp),%edi
+    84e5:	85 d2                	test   %edx,%edx
+    84e7:	0f b6 47 1c          	movzbl 0x1c(%edi),%eax
+    84eb:	0f 85 46 03 00 00    	jne    0x8837
+    84f1:	c7 85 04 ff ff ff 00 	movl   $0x0,-0xfc(%ebp)
+    84f8:	00 00 00 
+    84fb:	8b 85 0c ff ff ff    	mov    -0xf4(%ebp),%eax
+    8501:	31 f6                	xor    %esi,%esi
+    8503:	8b 95 0c ff ff ff    	mov    -0xf4(%ebp),%edx
+    8509:	c7 85 e0 fe ff ff 00 	movl   $0x0,-0x120(%ebp)
+    8510:	00 00 00 
+    8513:	8b 40 14             	mov    0x14(%eax),%eax
+    8516:	89 85 ec fe ff ff    	mov    %eax,-0x114(%ebp)
+    851c:	8b 42 18             	mov    0x18(%edx),%eax
+    851f:	3b 45 14             	cmp    0x14(%ebp),%eax
+    8522:	73 0d                	jae    0x8531
+    8524:	f7 d0                	not    %eax
+    8526:	03 45 14             	add    0x14(%ebp),%eax
+    8529:	89 85 e0 fe ff ff    	mov    %eax,-0x120(%ebp)
+    852f:	89 c6                	mov    %eax,%esi
+    8531:	8b 8d 0c ff ff ff    	mov    -0xf4(%ebp),%ecx
+    8537:	8b 41 08             	mov    0x8(%ecx),%eax
+    853a:	85 c0                	test   %eax,%eax
+    853c:	0f 84 b6 0c 00 00    	je     0x91f8
+    8542:	8b bd 14 ff ff ff    	mov    -0xec(%ebp),%edi
+    8548:	8b 47 24             	mov    0x24(%edi),%eax
+    854b:	85 c0                	test   %eax,%eax
+    854d:	0f 84 a5 0c 00 00    	je     0x91f8
+    8553:	8b 8d 14 ff ff ff    	mov    -0xec(%ebp),%ecx
+    8559:	8b 51 28             	mov    0x28(%ecx),%edx
+    855c:	85 d2                	test   %edx,%edx
+    855e:	0f 84 94 0c 00 00    	je     0x91f8
+    8564:	89 cf                	mov    %ecx,%edi
+    8566:	8b 49 2c             	mov    0x2c(%ecx),%ecx
+    8569:	85 c9                	test   %ecx,%ecx
+    856b:	0f 84 87 0c 00 00    	je     0x91f8
+    8571:	8b 7f 30             	mov    0x30(%edi),%edi
+    8574:	85 ff                	test   %edi,%edi
+    8576:	0f 84 7c 0c 00 00    	je     0x91f8
+    857c:	8b 78 08             	mov    0x8(%eax),%edi
+    857f:	85 ff                	test   %edi,%edi
+    8581:	75 30                	jne    0x85b3
+    8583:	8b 52 08             	mov    0x8(%edx),%edx
+    8586:	85 d2                	test   %edx,%edx
+    8588:	75 29                	jne    0x85b3
+    858a:	8b 41 08             	mov    0x8(%ecx),%eax
+    858d:	85 c0                	test   %eax,%eax
+    858f:	74 0c                	je     0x859d
+    8591:	8b 85 0c ff ff ff    	mov    -0xf4(%ebp),%eax
+    8597:	80 78 1c 00          	cmpb   $0x0,0x1c(%eax)
+    859b:	78 16                	js     0x85b3
+    859d:	85 db                	test   %ebx,%ebx
+    859f:	74 0b                	je     0x85ac
+    85a1:	03 5d 0c             	add    0xc(%ebp),%ebx
+    85a4:	85 db                	test   %ebx,%ebx
+    85a6:	0f 85 4c 0c 00 00    	jne    0x91f8
+    85ac:	c7 45 0c 00 00 00 00 	movl   $0x0,0xc(%ebp)
+    85b3:	8b 55 14             	mov    0x14(%ebp),%edx
+    85b6:	29 f2                	sub    %esi,%edx
+    85b8:	89 95 00 ff ff ff    	mov    %edx,-0x100(%ebp)
+    85be:	0f 85 89 02 00 00    	jne    0x884d
+    85c4:	8b 8d 14 ff ff ff    	mov    -0xec(%ebp),%ecx
+    85ca:	31 c0                	xor    %eax,%eax
+    85cc:	83 79 4c 00          	cmpl   $0x0,0x4c(%ecx)
+    85d0:	0f 95 c0             	setne  %al
+    85d3:	89 85 18 ff ff ff    	mov    %eax,-0xe8(%ebp)
+    85d9:	8b bd 0c ff ff ff    	mov    -0xf4(%ebp),%edi
+    85df:	8b 95 14 ff ff ff    	mov    -0xec(%ebp),%edx
+    85e5:	8b 77 0c             	mov    0xc(%edi),%esi
+    85e8:	8b bd 14 ff ff ff    	mov    -0xec(%ebp),%edi
+    85ee:	8b 42 08             	mov    0x8(%edx),%eax
+    85f1:	8b 95 f8 fe ff ff    	mov    -0x108(%ebp),%edx
+    85f7:	8b 4f 5c             	mov    0x5c(%edi),%ecx
+    85fa:	83 c0 01             	add    $0x1,%eax
+    85fd:	8b bd ec fe ff ff    	mov    -0x114(%ebp),%edi
+    8603:	83 c2 01             	add    $0x1,%edx
+    8606:	39 c8                	cmp    %ecx,%eax
+    8608:	0f 4c c1             	cmovl  %ecx,%eax
+    860b:	8b 8d f8 fe ff ff    	mov    -0x108(%ebp),%ecx
+    8611:	39 c2                	cmp    %eax,%edx
+    8613:	0f 4f d0             	cmovg  %eax,%edx
+    8616:	8b 85 e8 fe ff ff    	mov    -0x118(%ebp),%eax
+    861c:	81 e6 00 00 40 00    	and    $0x400000,%esi
+    8622:	89 bd 78 ff ff ff    	mov    %edi,-0x88(%ebp)
+    8628:	8b b5 f8 fe ff ff    	mov    -0x108(%ebp),%esi
+    862e:	89 8d 68 ff ff ff    	mov    %ecx,-0x98(%ebp)
+    8634:	89 8d 64 ff ff ff    	mov    %ecx,-0x9c(%ebp)
+    863a:	89 85 38 ff ff ff    	mov    %eax,-0xc8(%ebp)
+    8640:	0f 95 c0             	setne  %al
+    8643:	31 c9                	xor    %ecx,%ecx
+    8645:	85 ff                	test   %edi,%edi
+    8647:	0f 95 c1             	setne  %cl
+    864a:	88 45 80             	mov    %al,-0x80(%ebp)
+    864d:	0f b6 c0             	movzbl %al,%eax
+    8650:	89 8d 30 ff ff ff    	mov    %ecx,-0xd0(%ebp)
+    8656:	09 c8                	or     %ecx,%eax
+    8658:	8b 8d 14 ff ff ff    	mov    -0xec(%ebp),%ecx
+    865e:	88 45 83             	mov    %al,-0x7d(%ebp)
+    8661:	8b 41 5c             	mov    0x5c(%ecx),%eax
+    8664:	89 45 88             	mov    %eax,-0x78(%ebp)
+    8667:	0f b6 41 58          	movzbl 0x58(%ecx),%eax
+    866b:	c0 e8 02             	shr    $0x2,%al
+    866e:	83 e0 01             	and    $0x1,%eax
+    8671:	88 45 81             	mov    %al,-0x7f(%ebp)
+    8674:	0f b6 41 58          	movzbl 0x58(%ecx),%eax
+    8678:	89 b5 70 ff ff ff    	mov    %esi,-0x90(%ebp)
+    867e:	89 b5 6c ff ff ff    	mov    %esi,-0x94(%ebp)
+    8684:	c0 e8 03             	shr    $0x3,%al
+    8687:	83 e0 01             	and    $0x1,%eax
+    868a:	88 45 82             	mov    %al,-0x7e(%ebp)
+    868d:	8d 85 38 ff ff ff    	lea    -0xc8(%ebp),%eax
+    8693:	e8 e8 8e ff ff       	call   0x1580
+    8698:	85 c0                	test   %eax,%eax
+    869a:	89 c6                	mov    %eax,%esi
+    869c:	0f 85 a6 0c 00 00    	jne    0x9348
+    86a2:	8b 85 14 ff ff ff    	mov    -0xec(%ebp),%eax
+    86a8:	8b bd 14 ff ff ff    	mov    -0xec(%ebp),%edi
+    86ae:	83 c0 60             	add    $0x60,%eax
+    86b1:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
+    86b7:	0f b6 47 58          	movzbl 0x58(%edi),%eax
+    86bb:	c0 e8 04             	shr    $0x4,%al
+    86be:	83 e0 01             	and    $0x1,%eax
+    86c1:	88 45 86             	mov    %al,-0x7a(%ebp)
+    86c4:	8b 85 e8 fe ff ff    	mov    -0x118(%ebp),%eax
+    86ca:	80 7d 83 00          	cmpb   $0x0,-0x7d(%ebp)
+    86ce:	0f 45 85 3c ff ff ff 	cmovne -0xc4(%ebp),%eax
+    86d5:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
+    86db:	75 0c                	jne    0x86e9
+    86dd:	83 7f 5c 01          	cmpl   $0x1,0x5c(%edi)
+    86e1:	8b 85 f8 fe ff ff    	mov    -0x108(%ebp),%eax
+    86e7:	7e 02                	jle    0x86eb
+    86e9:	31 c0                	xor    %eax,%eax
+    86eb:	89 85 54 ff ff ff    	mov    %eax,-0xac(%ebp)
+    86f1:	8b 95 0c ff ff ff    	mov    -0xf4(%ebp),%edx
+    86f7:	89 85 58 ff ff ff    	mov    %eax,-0xa8(%ebp)
+    86fd:	8b 45 10             	mov    0x10(%ebp),%eax
+    8700:	8b 8d 14 ff ff ff    	mov    -0xec(%ebp),%ecx
+    8706:	8b 7d 1c             	mov    0x1c(%ebp),%edi
+    8709:	89 85 70 ff ff ff    	mov    %eax,-0x90(%ebp)
+    870f:	89 85 6c ff ff ff    	mov    %eax,-0x94(%ebp)
+    8715:	0f b6 42 1c          	movzbl 0x1c(%edx),%eax
+    8719:	c0 e8 07             	shr    $0x7,%al
+    871c:	88 45 85             	mov    %al,-0x7b(%ebp)
+    871f:	8b 41 4c             	mov    0x4c(%ecx),%eax
+    8722:	89 7d 90             	mov    %edi,-0x70(%ebp)
+    8725:	c7 45 94 ff ff ff ff 	movl   $0xffffffff,-0x6c(%ebp)
+    872c:	8d 34 00             	lea    (%eax,%eax,1),%esi
+    872f:	85 f6                	test   %esi,%esi
+    8731:	7e 36                	jle    0x8769
+    8733:	8d 3c c5 00 00 00 00 	lea    0x0(,%eax,8),%edi
+    873a:	8d 04 37             	lea    (%edi,%esi,1),%eax
+    873d:	c1 e0 02             	shl    $0x2,%eax
+    8740:	89 04 24             	mov    %eax,(%esp)
+    8743:	e8 fc ff ff ff       	call   0x8744
+    8748:	89 45 ac             	mov    %eax,-0x54(%ebp)
+    874b:	89 3c 24             	mov    %edi,(%esp)
+    874e:	e8 fc ff ff ff       	call   0x874f
+    8753:	8b 7d ac             	mov    -0x54(%ebp),%edi
+    8756:	85 ff                	test   %edi,%edi
+    8758:	89 45 bc             	mov    %eax,-0x44(%ebp)
+    875b:	0f 84 c7 0e 00 00    	je     0x9628
+    8761:	85 c0                	test   %eax,%eax
+    8763:	0f 84 76 0f 00 00    	je     0x96df
+    8769:	83 bd 00 ff ff ff 01 	cmpl   $0x1,-0x100(%ebp)
+    8770:	89 75 a8             	mov    %esi,-0x58(%ebp)
+    8773:	c7 45 b0 01 00 00 00 	movl   $0x1,-0x50(%ebp)
+    877a:	89 75 b8             	mov    %esi,-0x48(%ebp)
+    877d:	0f 86 fe 0a 00 00    	jbe    0x9281
+    8783:	8b 85 5c ff ff ff    	mov    -0xa4(%ebp),%eax
+    8789:	3d fe ff ff 3f       	cmp    $0x3ffffffe,%eax
+    878e:	0f 87 4b 0f 00 00    	ja     0x96df
+    8794:	8d 04 85 04 00 00 00 	lea    0x4(,%eax,4),%eax
+    879b:	89 04 24             	mov    %eax,(%esp)
+    879e:	e8 fc ff ff ff       	call   0x879f
+    87a3:	85 c0                	test   %eax,%eax
+    87a5:	89 c2                	mov    %eax,%edx
+    87a7:	89 45 9c             	mov    %eax,-0x64(%ebp)
+    87aa:	0f 84 7b 0e 00 00    	je     0x962b
+    87b0:	8b 45 1c             	mov    0x1c(%ebp),%eax
+    87b3:	8b 4d 0c             	mov    0xc(%ebp),%ecx
+    87b6:	89 5d f0             	mov    %ebx,-0x10(%ebp)
+    87b9:	83 e0 01             	and    $0x1,%eax
+    87bc:	83 f8 01             	cmp    $0x1,%eax
+    87bf:	19 c0                	sbb    %eax,%eax
+    87c1:	83 e0 02             	and    $0x2,%eax
+    87c4:	83 c0 04             	add    $0x4,%eax
+    87c7:	85 c9                	test   %ecx,%ecx
+    87c9:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
+    87cf:	0f 88 85 0a 00 00    	js     0x925a
+    87d5:	8b 45 0c             	mov    0xc(%ebp),%eax
+    87d8:	89 9d 10 ff ff ff    	mov    %ebx,-0xf0(%ebp)
+    87de:	c7 85 fc fe ff ff 01 	movl   $0x1,-0x104(%ebp)
+    87e5:	00 00 00 
+    87e8:	01 d8                	add    %ebx,%eax
+    87ea:	39 c3                	cmp    %eax,%ebx
+    87ec:	0f 9f c2             	setg   %dl
+    87ef:	31 c9                	xor    %ecx,%ecx
+    87f1:	89 85 08 ff ff ff    	mov    %eax,-0xf8(%ebp)
+    87f7:	89 d6                	mov    %edx,%esi
+    87f9:	8b bd 14 ff ff ff    	mov    -0xec(%ebp),%edi
+    87ff:	31 c0                	xor    %eax,%eax
+    8801:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
+    8807:	83 7f 5c 01          	cmpl   $0x1,0x5c(%edi)
+    880b:	0f 94 c0             	sete   %al
+    880e:	85 d2                	test   %edx,%edx
+    8810:	89 85 e4 fe ff ff    	mov    %eax,-0x11c(%ebp)
+    8816:	b8 08 00 00 00       	mov    $0x8,%eax
+    881b:	74 61                	je     0x887e
+    881d:	8b 85 e4 fe ff ff    	mov    -0x11c(%ebp),%eax
+    8823:	85 c0                	test   %eax,%eax
+    8825:	75 3f                	jne    0x8866
+    8827:	8b 85 0c ff ff ff    	mov    -0xf4(%ebp),%eax
+    882d:	f6 40 0e 40          	testb  $0x40,0xe(%eax)
+    8831:	74 29                	je     0x885c
+    8833:	31 c0                	xor    %eax,%eax
+    8835:	eb 34                	jmp    0x886b
+    8837:	a8 08                	test   $0x8,%al
+    8839:	0f 84 b2 fc ff ff    	je     0x84f1
+    883f:	a8 01                	test   $0x1,%al
+    8841:	0f 84 b4 fc ff ff    	je     0x84fb
+    8847:	90                   	nop
+    8848:	e9 a4 fc ff ff       	jmp    0x84f1
+    884d:	c7 85 18 ff ff ff 01 	movl   $0x1,-0xe8(%ebp)
+    8854:	00 00 00 
+    8857:	e9 7d fd ff ff       	jmp    0x85d9
+    885c:	8b bd ec fe ff ff    	mov    -0x114(%ebp),%edi
+    8862:	85 ff                	test   %edi,%edi
+    8864:	75 cd                	jne    0x8833
+    8866:	b8 04 00 00 00       	mov    $0x4,%eax
+    886b:	8b 55 0c             	mov    0xc(%ebp),%edx
+    886e:	0b 85 30 ff ff ff    	or     -0xd0(%ebp),%eax
+    8874:	c1 fa 1f             	sar    $0x1f,%edx
+    8877:	f7 d2                	not    %edx
+    8879:	83 e2 02             	and    $0x2,%edx
+    887c:	09 d0                	or     %edx,%eax
+    887e:	84 c9                	test   %cl,%cl
+    8880:	0f 85 02 04 00 00    	jne    0x8c88
+    8886:	89 f2                	mov    %esi,%edx
+    8888:	84 d2                	test   %dl,%dl
+    888a:	0f 85 f8 03 00 00    	jne    0x8c88
+    8890:	83 e8 04             	sub    $0x4,%eax
+    8893:	8d 4d dc             	lea    -0x24(%ebp),%ecx
+    8896:	89 85 f0 fe ff ff    	mov    %eax,-0x110(%ebp)
+    889c:	89 8d cc fe ff ff    	mov    %ecx,-0x134(%ebp)
+    88a2:	83 bd f0 fe ff ff 04 	cmpl   $0x4,-0x110(%ebp)
+    88a9:	0f 87 f1 05 00 00    	ja     0x8ea0
+    88af:	8b b5 f0 fe ff ff    	mov    -0x110(%ebp),%esi
+    88b5:	ff 24 b5 70 03 00 00 	jmp    *0x370(,%esi,4)
+    88bc:	3b 9d 10 ff ff ff    	cmp    -0xf0(%ebp),%ebx
+    88c2:	0f 8c c0 03 00 00    	jl     0x8c88
+    88c8:	8b 95 e8 fe ff ff    	mov    -0x118(%ebp),%edx
+    88ce:	8b 8d ec fe ff ff    	mov    -0x114(%ebp),%ecx
+    88d4:	8b b5 04 ff ff ff    	mov    -0xfc(%ebp),%esi
+    88da:	8b bd f8 fe ff ff    	mov    -0x108(%ebp),%edi
+    88e0:	01 da                	add    %ebx,%edx
+    88e2:	eb 19                	jmp    0x88fd
+    88e4:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    88e8:	83 eb 01             	sub    $0x1,%ebx
+    88eb:	83 ea 01             	sub    $0x1,%edx
+    88ee:	3b 9d 10 ff ff ff    	cmp    -0xf0(%ebp),%ebx
+    88f4:	89 5d f0             	mov    %ebx,-0x10(%ebp)
+    88f7:	0f 8c 8b 03 00 00    	jl     0x8c88
+    88fd:	31 c0                	xor    %eax,%eax
+    88ff:	39 fb                	cmp    %edi,%ebx
+    8901:	7d 03                	jge    0x8906
+    8903:	0f b6 02             	movzbl (%edx),%eax
+    8906:	85 c9                	test   %ecx,%ecx
+    8908:	74 04                	je     0x890e
+    890a:	0f b6 04 01          	movzbl (%ecx,%eax,1),%eax
+    890e:	80 3c 06 00          	cmpb   $0x0,(%esi,%eax,1)
+    8912:	74 d4                	je     0x88e8
+    8914:	8b 55 f0             	mov    -0x10(%ebp),%edx
+    8917:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
+    891a:	8d 85 38 ff ff ff    	lea    -0xc8(%ebp),%eax
+    8920:	e8 5b b3 ff ff       	call   0x3c80
+    8925:	85 c0                	test   %eax,%eax
+    8927:	0f 85 70 0e 00 00    	jne    0x979d
+    892d:	8b 8d e4 fe ff ff    	mov    -0x11c(%ebp),%ecx
+    8933:	85 c9                	test   %ecx,%ecx
+    8935:	75 19                	jne    0x8950
+    8937:	8b 95 54 ff ff ff    	mov    -0xac(%ebp),%edx
+    893d:	85 d2                	test   %edx,%edx
+    893f:	74 0f                	je     0x8950
+    8941:	8b 85 40 ff ff ff    	mov    -0xc0(%ebp),%eax
+    8947:	83 38 ff             	cmpl   $0xffffffff,(%eax)
+    894a:	0f 84 11 03 00 00    	je     0x8c61
+    8950:	8b 45 0c             	mov    0xc(%ebp),%eax
+    8953:	c7 45 b0 00 00 00 00 	movl   $0x0,-0x50(%ebp)
+    895a:	c7 45 a4 00 00 00 00 	movl   $0x0,-0x5c(%ebp)
+    8961:	c7 45 a0 00 00 00 00 	movl   $0x0,-0x60(%ebp)
+    8968:	85 c0                	test   %eax,%eax
+    896a:	c7 85 28 ff ff ff 00 	movl   $0x0,-0xd8(%ebp)
+    8971:	00 00 00 
+    8974:	c7 85 20 ff ff ff 00 	movl   $0x0,-0xe0(%ebp)
+    897b:	00 00 00 
+    897e:	78 13                	js     0x8993
+    8980:	8d 7d f0             	lea    -0x10(%ebp),%edi
+    8983:	c7 85 28 ff ff ff 01 	movl   $0x1,-0xd8(%ebp)
+    898a:	00 00 00 
+    898d:	89 bd 20 ff ff ff    	mov    %edi,-0xe0(%ebp)
+    8993:	8b 5d 8c             	mov    -0x74(%ebp),%ebx
+    8996:	8b 85 60 ff ff ff    	mov    -0xa0(%ebp),%eax
+    899c:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
+    89a3:	8b 53 24             	mov    0x24(%ebx),%edx
+    89a6:	89 85 24 ff ff ff    	mov    %eax,-0xdc(%ebp)
+    89ac:	89 95 30 ff ff ff    	mov    %edx,-0xd0(%ebp)
+    89b2:	80 7a 34 00          	cmpb   $0x0,0x34(%edx)
+    89b6:	79 24                	jns    0x89dc
+    89b8:	8b 4d 90             	mov    -0x70(%ebp),%ecx
+    89bb:	89 c2                	mov    %eax,%edx
+    89bd:	83 ea 01             	sub    $0x1,%edx
+    89c0:	8d 85 38 ff ff ff    	lea    -0xc8(%ebp),%eax
+    89c6:	e8 f5 a1 ff ff       	call   0x2bc0
+    89cb:	a8 01                	test   $0x1,%al
+    89cd:	0f 84 f6 07 00 00    	je     0x91c9
+    89d3:	8b 4b 28             	mov    0x28(%ebx),%ecx
+    89d6:	89 8d 30 ff ff ff    	mov    %ecx,-0xd0(%ebp)
+    89dc:	8b b5 30 ff ff ff    	mov    -0xd0(%ebp),%esi
+    89e2:	85 f6                	test   %esi,%esi
+    89e4:	0f 84 28 0d 00 00    	je     0x9712
+    89ea:	8b 45 9c             	mov    -0x64(%ebp),%eax
+    89ed:	85 c0                	test   %eax,%eax
+    89ef:	0f 84 14 08 00 00    	je     0x9209
+    89f5:	8b 4b 4c             	mov    0x4c(%ebx),%ecx
+    89f8:	8b bd 30 ff ff ff    	mov    -0xd0(%ebp),%edi
+    89fe:	8b b5 24 ff ff ff    	mov    -0xdc(%ebp),%esi
+    8a04:	85 c9                	test   %ecx,%ecx
+    8a06:	89 3c b0             	mov    %edi,(%eax,%esi,4)
+    8a09:	0f 85 52 0d 00 00    	jne    0x9761
+    8a0f:	0f b6 47 34          	movzbl 0x34(%edi),%eax
+    8a13:	a8 10                	test   $0x10,%al
+    8a15:	0f 85 d1 0c 00 00    	jne    0x96ec
+    8a1b:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
+    8a20:	c7 85 1c ff ff ff 00 	movl   $0x0,-0xe4(%ebp)
+    8a27:	00 00 00 
+    8a2a:	8b bd 24 ff ff ff    	mov    -0xdc(%ebp),%edi
+    8a30:	8b b5 60 ff ff ff    	mov    -0xa0(%ebp),%esi
+    8a36:	89 85 24 ff ff ff    	mov    %eax,-0xdc(%ebp)
+    8a3c:	89 bd 2c ff ff ff    	mov    %edi,-0xd4(%ebp)
+    8a42:	eb 4c                	jmp    0x8a90
+    8a44:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    8a48:	84 c0                	test   %al,%al
+    8a4a:	0f 88 c0 01 00 00    	js     0x8c10
+    8a50:	8b bd 18 ff ff ff    	mov    -0xe8(%ebp),%edi
+    8a56:	8b b5 60 ff ff ff    	mov    -0xa0(%ebp),%esi
+    8a5c:	85 ff                	test   %edi,%edi
+    8a5e:	89 b5 24 ff ff ff    	mov    %esi,-0xdc(%ebp)
+    8a64:	0f 84 76 02 00 00    	je     0x8ce0
+    8a6a:	c7 85 1c ff ff ff 01 	movl   $0x1,-0xe4(%ebp)
+    8a71:	00 00 00 
+    8a74:	c7 85 20 ff ff ff 00 	movl   $0x0,-0xe0(%ebp)
+    8a7b:	00 00 00 
+    8a7e:	8b 85 34 ff ff ff    	mov    -0xcc(%ebp),%eax
+    8a84:	89 9d 30 ff ff ff    	mov    %ebx,-0xd0(%ebp)
+    8a8a:	89 85 2c ff ff ff    	mov    %eax,-0xd4(%ebp)
+    8a90:	39 b5 70 ff ff ff    	cmp    %esi,-0x90(%ebp)
+    8a96:	0f 8e 2c 02 00 00    	jle    0x8cc8
+    8a9c:	8d 46 01             	lea    0x1(%esi),%eax
+    8a9f:	89 85 34 ff ff ff    	mov    %eax,-0xcc(%ebp)
+    8aa5:	8b 85 5c ff ff ff    	mov    -0xa4(%ebp),%eax
+    8aab:	39 85 34 ff ff ff    	cmp    %eax,-0xcc(%ebp)
+    8ab1:	0f 8d 19 0b 00 00    	jge    0x95d0
+    8ab7:	8b 85 54 ff ff ff    	mov    -0xac(%ebp),%eax
+    8abd:	39 85 34 ff ff ff    	cmp    %eax,-0xcc(%ebp)
+    8ac3:	0f 8d 34 0b 00 00    	jge    0x95fd
+    8ac9:	8b 95 30 ff ff ff    	mov    -0xd0(%ebp),%edx
+    8acf:	f6 42 34 20          	testb  $0x20,0x34(%edx)
+    8ad3:	0f 85 a6 08 00 00    	jne    0x937f
+    8ad9:	8b 85 3c ff ff ff    	mov    -0xc4(%ebp),%eax
+    8adf:	0f b6 1c 30          	movzbl (%eax,%esi,1),%ebx
+    8ae3:	83 c6 01             	add    $0x1,%esi
+    8ae6:	89 b5 60 ff ff ff    	mov    %esi,-0xa0(%ebp)
+    8aec:	8b 95 30 ff ff ff    	mov    -0xd0(%ebp),%edx
+    8af2:	8b 42 2c             	mov    0x2c(%edx),%eax
+    8af5:	85 c0                	test   %eax,%eax
+    8af7:	0f 84 98 0a 00 00    	je     0x9595
+    8afd:	0f b6 db             	movzbl %bl,%ebx
+    8b00:	8b 1c 98             	mov    (%eax,%ebx,4),%ebx
+    8b03:	8b 7d 9c             	mov    -0x64(%ebp),%edi
+    8b06:	85 ff                	test   %edi,%edi
+    8b08:	74 12                	je     0x8b1c
+    8b0a:	89 d9                	mov    %ebx,%ecx
+    8b0c:	8d 95 38 ff ff ff    	lea    -0xc8(%ebp),%edx
+    8b12:	8d 45 ec             	lea    -0x14(%ebp),%eax
+    8b15:	e8 46 dc ff ff       	call   0x6760
+    8b1a:	89 c3                	mov    %eax,%ebx
+    8b1c:	85 db                	test   %ebx,%ebx
+    8b1e:	0f 84 26 06 00 00    	je     0x914a
+    8b24:	8b 85 28 ff ff ff    	mov    -0xd8(%ebp),%eax
+    8b2a:	85 c0                	test   %eax,%eax
+    8b2c:	0f 85 1e 08 00 00    	jne    0x9350
+    8b32:	8b b5 2c ff ff ff    	mov    -0xd4(%ebp),%esi
+    8b38:	89 b5 34 ff ff ff    	mov    %esi,-0xcc(%ebp)
+    8b3e:	0f b6 43 34          	movzbl 0x34(%ebx),%eax
+    8b42:	a8 10                	test   $0x10,%al
+    8b44:	0f 85 fe fe ff ff    	jne    0x8a48
+    8b4a:	8b b5 60 ff ff ff    	mov    -0xa0(%ebp),%esi
+    8b50:	e9 29 ff ff ff       	jmp    0x8a7e
+    8b55:	39 9d 08 ff ff ff    	cmp    %ebx,-0xf8(%ebp)
+    8b5b:	7e 3a                	jle    0x8b97
+    8b5d:	8b 85 e8 fe ff ff    	mov    -0x118(%ebp),%eax
+    8b63:	8b 8d 04 ff ff ff    	mov    -0xfc(%ebp),%ecx
+    8b69:	01 d8                	add    %ebx,%eax
+    8b6b:	0f b6 10             	movzbl (%eax),%edx
+    8b6e:	80 3c 11 00          	cmpb   $0x0,(%ecx,%edx,1)
+    8b72:	75 2f                	jne    0x8ba3
+    8b74:	8b 8d 04 ff ff ff    	mov    -0xfc(%ebp),%ecx
+    8b7a:	8b b5 08 ff ff ff    	mov    -0xf8(%ebp),%esi
+    8b80:	83 c3 01             	add    $0x1,%ebx
+    8b83:	39 de                	cmp    %ebx,%esi
+    8b85:	89 5d f0             	mov    %ebx,-0x10(%ebp)
+    8b88:	7e 0d                	jle    0x8b97
+    8b8a:	0f b6 50 01          	movzbl 0x1(%eax),%edx
+    8b8e:	83 c0 01             	add    $0x1,%eax
+    8b91:	80 3c 11 00          	cmpb   $0x0,(%ecx,%edx,1)
+    8b95:	74 e9                	je     0x8b80
+    8b97:	39 9d 08 ff ff ff    	cmp    %ebx,-0xf8(%ebp)
+    8b9d:	0f 84 2f 0c 00 00    	je     0x97d2
+    8ba3:	89 da                	mov    %ebx,%edx
+    8ba5:	e9 6d fd ff ff       	jmp    0x8917
+    8baa:	39 9d 08 ff ff ff    	cmp    %ebx,-0xf8(%ebp)
+    8bb0:	7e e5                	jle    0x8b97
+    8bb2:	8b 95 e8 fe ff ff    	mov    -0x118(%ebp),%edx
+    8bb8:	8b bd ec fe ff ff    	mov    -0x114(%ebp),%edi
+    8bbe:	01 da                	add    %ebx,%edx
+    8bc0:	0f b6 02             	movzbl (%edx),%eax
+    8bc3:	0f b6 0c 07          	movzbl (%edi,%eax,1),%ecx
+    8bc7:	89 d0                	mov    %edx,%eax
+    8bc9:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
+    8bcf:	80 3c 0a 00          	cmpb   $0x0,(%edx,%ecx,1)
+    8bd3:	75 ce                	jne    0x8ba3
+    8bd5:	8b 8d ec fe ff ff    	mov    -0x114(%ebp),%ecx
+    8bdb:	8b b5 04 ff ff ff    	mov    -0xfc(%ebp),%esi
+    8be1:	8b bd 08 ff ff ff    	mov    -0xf8(%ebp),%edi
+    8be7:	90                   	nop
+    8be8:	83 c3 01             	add    $0x1,%ebx
+    8beb:	39 df                	cmp    %ebx,%edi
+    8bed:	89 5d f0             	mov    %ebx,-0x10(%ebp)
+    8bf0:	7e a5                	jle    0x8b97
+    8bf2:	0f b6 50 01          	movzbl 0x1(%eax),%edx
+    8bf6:	83 c0 01             	add    $0x1,%eax
+    8bf9:	0f b6 14 11          	movzbl (%ecx,%edx,1),%edx
+    8bfd:	80 3c 16 00          	cmpb   $0x0,(%esi,%edx,1)
+    8c01:	74 e5                	je     0x8be8
+    8c03:	39 9d 08 ff ff ff    	cmp    %ebx,-0xf8(%ebp)
+    8c09:	75 98                	jne    0x8ba3
+    8c0b:	e9 c2 0b 00 00       	jmp    0x97d2
+    8c10:	8b 8d 60 ff ff ff    	mov    -0xa0(%ebp),%ecx
+    8c16:	89 da                	mov    %ebx,%edx
+    8c18:	8d 85 38 ff ff ff    	lea    -0xc8(%ebp),%eax
+    8c1e:	e8 7d a1 ff ff       	call   0x2da0
+    8c23:	85 c0                	test   %eax,%eax
+    8c25:	0f 85 25 fe ff ff    	jne    0x8a50
+    8c2b:	e9 1a ff ff ff       	jmp    0x8b4a
+    8c30:	c7 85 24 ff ff ff 00 	movl   $0x0,-0xdc(%ebp)
+    8c37:	00 00 00 
+    8c3a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
+    8c40:	89 3c 24             	mov    %edi,(%esp)
+    8c43:	e8 fc ff ff ff       	call   0x8c44
+    8c48:	8b 8d 24 ff ff ff    	mov    -0xdc(%ebp),%ecx
+    8c4e:	89 0c 24             	mov    %ecx,(%esp)
+    8c51:	e8 fc ff ff ff       	call   0x8c52
+    8c56:	8d 85 38 ff ff ff    	lea    -0xc8(%ebp),%eax
+    8c5c:	e8 2f 82 ff ff       	call   0xe90
+    8c61:	8b 9d fc fe ff ff    	mov    -0x104(%ebp),%ebx
+    8c67:	03 5d f0             	add    -0x10(%ebp),%ebx
+    8c6a:	39 9d 08 ff ff ff    	cmp    %ebx,-0xf8(%ebp)
+    8c70:	89 5d f0             	mov    %ebx,-0x10(%ebp)
+    8c73:	7c 13                	jl     0x8c88
+    8c75:	3b 9d 10 ff ff ff    	cmp    -0xf0(%ebp),%ebx
+    8c7b:	0f 8d 21 fc ff ff    	jge    0x88a2
+    8c81:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
+    8c88:	8b 55 9c             	mov    -0x64(%ebp),%edx
+    8c8b:	be 01 00 00 00       	mov    $0x1,%esi
+    8c90:	89 14 24             	mov    %edx,(%esp)
+    8c93:	e8 fc ff ff ff       	call   0x8c94
+    8c98:	8b 95 14 ff ff ff    	mov    -0xec(%ebp),%edx
+    8c9e:	8b 42 4c             	mov    0x4c(%edx),%eax
+    8ca1:	85 c0                	test   %eax,%eax
+    8ca3:	0f 85 8b 05 00 00    	jne    0x9234
+    8ca9:	8d 85 38 ff ff ff    	lea    -0xc8(%ebp),%eax
+    8caf:	e8 fc 82 ff ff       	call   0xfb0
+    8cb4:	8d 65 f4             	lea    -0xc(%ebp),%esp
+    8cb7:	89 f0                	mov    %esi,%eax
+    8cb9:	5b                   	pop    %ebx
+    8cba:	5e                   	pop    %esi
+    8cbb:	5f                   	pop    %edi
+    8cbc:	5d                   	pop    %ebp
+    8cbd:	c2 18 00             	ret    $0x18
+    8cc0:	89 9d 60 ff ff ff    	mov    %ebx,-0xa0(%ebp)
+    8cc6:	66 90                	xchg   %ax,%ax
+    8cc8:	8b b5 20 ff ff ff    	mov    -0xe0(%ebp),%esi
+    8cce:	85 f6                	test   %esi,%esi
+    8cd0:	74 0e                	je     0x8ce0
+    8cd2:	8b 95 20 ff ff ff    	mov    -0xe0(%ebp),%edx
+    8cd8:	8b 8d 2c ff ff ff    	mov    -0xd4(%ebp),%ecx
+    8cde:	01 0a                	add    %ecx,(%edx)
+    8ce0:	83 bd 24 ff ff ff ff 	cmpl   $0xffffffff,-0xdc(%ebp)
+    8ce7:	0f 84 69 ff ff ff    	je     0x8c56
+    8ced:	83 bd 24 ff ff ff fe 	cmpl   $0xfffffffe,-0xdc(%ebp)
+    8cf4:	0f 84 2e 09 00 00    	je     0x9628
+    8cfa:	8b b5 24 ff ff ff    	mov    -0xdc(%ebp),%esi
+    8d00:	83 bd 00 ff ff ff 01 	cmpl   $0x1,-0x100(%ebp)
+    8d07:	89 75 94             	mov    %esi,-0x6c(%ebp)
+    8d0a:	0f 97 85 20 ff ff ff 	seta   -0xe0(%ebp)
+    8d11:	0f 87 e9 01 00 00    	ja     0x8f00
+    8d17:	8b 85 14 ff ff ff    	mov    -0xec(%ebp),%eax
+    8d1d:	8b 58 4c             	mov    0x4c(%eax),%ebx
+    8d20:	85 db                	test   %ebx,%ebx
+    8d22:	0f 85 e8 01 00 00    	jne    0x8f10
+    8d28:	83 bd 00 ff ff ff 00 	cmpl   $0x0,-0x100(%ebp)
+    8d2f:	0f 84 5a 01 00 00    	je     0x8e8f
+    8d35:	80 bd 20 ff ff ff 00 	cmpb   $0x0,-0xe0(%ebp)
+    8d3c:	74 2c                	je     0x8d6a
+    8d3e:	8b 8d 00 ff ff ff    	mov    -0x100(%ebp),%ecx
+    8d44:	ba 01 00 00 00       	mov    $0x1,%edx
+    8d49:	b8 01 00 00 00       	mov    $0x1,%eax
+    8d4e:	8b 5d 18             	mov    0x18(%ebp),%ebx
+    8d51:	83 c0 01             	add    $0x1,%eax
+    8d54:	8d 14 d3             	lea    (%ebx,%edx,8),%edx
+    8d57:	39 c1                	cmp    %eax,%ecx
+    8d59:	c7 42 04 ff ff ff ff 	movl   $0xffffffff,0x4(%edx)
+    8d60:	c7 02 ff ff ff ff    	movl   $0xffffffff,(%edx)
+    8d66:	89 c2                	mov    %eax,%edx
+    8d68:	77 e7                	ja     0x8d51
+    8d6a:	8b 4d 18             	mov    0x18(%ebp),%ecx
+    8d6d:	80 bd 20 ff ff ff 00 	cmpb   $0x0,-0xe0(%ebp)
+    8d74:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
+    8d7a:	8b 45 94             	mov    -0x6c(%ebp),%eax
+    8d7d:	89 41 04             	mov    %eax,0x4(%ecx)
+    8d80:	74 51                	je     0x8dd3
+    8d82:	8b b5 0c ff ff ff    	mov    -0xf4(%ebp),%esi
+    8d88:	f6 46 1c 10          	testb  $0x10,0x1c(%esi)
+    8d8c:	75 45                	jne    0x8dd3
+    8d8e:	8b bd 14 ff ff ff    	mov    -0xec(%ebp),%edi
+    8d94:	31 c0                	xor    %eax,%eax
+    8d96:	f6 47 58 01          	testb  $0x1,0x58(%edi)
+    8d9a:	74 0a                	je     0x8da6
+    8d9c:	83 7f 4c 00          	cmpl   $0x0,0x4c(%edi)
+    8da0:	0f 9f c0             	setg   %al
+    8da3:	0f b6 c0             	movzbl %al,%eax
+    8da6:	89 44 24 04          	mov    %eax,0x4(%esp)
+    8daa:	8b 55 18             	mov    0x18(%ebp),%edx
+    8dad:	89 14 24             	mov    %edx,(%esp)
+    8db0:	8b 8d 00 ff ff ff    	mov    -0x100(%ebp),%ecx
+    8db6:	8d 95 38 ff ff ff    	lea    -0xc8(%ebp),%edx
+    8dbc:	8b 85 0c ff ff ff    	mov    -0xf4(%ebp),%eax
+    8dc2:	e8 49 f0 ff ff       	call   0x7e10
+    8dc7:	85 c0                	test   %eax,%eax
+    8dc9:	89 c6                	mov    %eax,%esi
+    8dcb:	52                   	push   %edx
+    8dcc:	52                   	push   %edx
+    8dcd:	0f 85 75 05 00 00    	jne    0x9348
+    8dd3:	8b bd 44 ff ff ff    	mov    -0xbc(%ebp),%edi
+    8dd9:	31 c0                	xor    %eax,%eax
+    8ddb:	31 d2                	xor    %edx,%edx
+    8ddd:	8b 75 f0             	mov    -0x10(%ebp),%esi
+    8de0:	8b 4d 18             	mov    0x18(%ebp),%ecx
+    8de3:	8d 04 c1             	lea    (%ecx,%eax,8),%eax
+    8de6:	8b 08                	mov    (%eax),%ecx
+    8de8:	83 f9 ff             	cmp    $0xffffffff,%ecx
+    8deb:	74 11                	je     0x8dfe
+    8ded:	80 7d 84 00          	cmpb   $0x0,-0x7c(%ebp)
+    8df1:	0f 85 68 08 00 00    	jne    0x965f
+    8df7:	01 70 04             	add    %esi,0x4(%eax)
+    8dfa:	01 f1                	add    %esi,%ecx
+    8dfc:	89 08                	mov    %ecx,(%eax)
+    8dfe:	83 c2 01             	add    $0x1,%edx
+    8e01:	3b 95 00 ff ff ff    	cmp    -0x100(%ebp),%edx
+    8e07:	89 d0                	mov    %edx,%eax
+    8e09:	75 d5                	jne    0x8de0
+    8e0b:	83 bd e0 fe ff ff 00 	cmpl   $0x0,-0x120(%ebp)
+    8e12:	7e 2b                	jle    0x8e3f
+    8e14:	8b b5 00 ff ff ff    	mov    -0x100(%ebp),%esi
+    8e1a:	31 d2                	xor    %edx,%edx
+    8e1c:	8b 7d 18             	mov    0x18(%ebp),%edi
+    8e1f:	8b 8d e0 fe ff ff    	mov    -0x120(%ebp),%ecx
+    8e25:	8d 04 f7             	lea    (%edi,%esi,8),%eax
+    8e28:	83 c2 01             	add    $0x1,%edx
+    8e2b:	c7 00 ff ff ff ff    	movl   $0xffffffff,(%eax)
+    8e31:	c7 40 04 ff ff ff ff 	movl   $0xffffffff,0x4(%eax)
+    8e38:	83 c0 08             	add    $0x8,%eax
+    8e3b:	39 ca                	cmp    %ecx,%edx
+    8e3d:	75 e9                	jne    0x8e28
+    8e3f:	8b 85 14 ff ff ff    	mov    -0xec(%ebp),%eax
+    8e45:	83 b8 84 00 00 00 00 	cmpl   $0x0,0x84(%eax)
+    8e4c:	74 41                	je     0x8e8f
+    8e4e:	8b 9d 00 ff ff ff    	mov    -0x100(%ebp),%ebx
+    8e54:	31 c0                	xor    %eax,%eax
+    8e56:	8b bd 14 ff ff ff    	mov    -0xec(%ebp),%edi
+    8e5c:	8b 55 18             	mov    0x18(%ebp),%edx
+    8e5f:	83 eb 01             	sub    $0x1,%ebx
+    8e62:	eb 27                	jmp    0x8e8b
+    8e64:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    8e68:	8b 8f 84 00 00 00    	mov    0x84(%edi),%ecx
+    8e6e:	8b 34 81             	mov    (%ecx,%eax,4),%esi
+    8e71:	39 f0                	cmp    %esi,%eax
+    8e73:	74 13                	je     0x8e88
+    8e75:	8b 74 f2 08          	mov    0x8(%edx,%esi,8),%esi
+    8e79:	89 74 c2 08          	mov    %esi,0x8(%edx,%eax,8)
+    8e7d:	8b 0c 81             	mov    (%ecx,%eax,4),%ecx
+    8e80:	8b 4c ca 0c          	mov    0xc(%edx,%ecx,8),%ecx
+    8e84:	89 4c c2 0c          	mov    %ecx,0xc(%edx,%eax,8)
+    8e88:	83 c0 01             	add    $0x1,%eax
+    8e8b:	39 d8                	cmp    %ebx,%eax
+    8e8d:	75 d9                	jne    0x8e68
+    8e8f:	8b 55 9c             	mov    -0x64(%ebp),%edx
+    8e92:	31 f6                	xor    %esi,%esi
+    8e94:	e9 f7 fd ff ff       	jmp    0x8c90
+    8e99:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
+    8ea0:	89 da                	mov    %ebx,%edx
+    8ea2:	8b b5 04 ff ff ff    	mov    -0xfc(%ebp),%esi
+    8ea8:	8b bd f8 fe ff ff    	mov    -0x108(%ebp),%edi
+    8eae:	8b 9d 08 ff ff ff    	mov    -0xf8(%ebp),%ebx
+    8eb4:	89 d0                	mov    %edx,%eax
+    8eb6:	2b 85 50 ff ff ff    	sub    -0xb0(%ebp),%eax
+    8ebc:	3b 85 58 ff ff ff    	cmp    -0xa8(%ebp),%eax
+    8ec2:	0f 83 58 09 00 00    	jae    0x9820
+    8ec8:	31 c9                	xor    %ecx,%ecx
+    8eca:	39 d7                	cmp    %edx,%edi
+    8ecc:	7e 0a                	jle    0x8ed8
+    8ece:	8b 8d 3c ff ff ff    	mov    -0xc4(%ebp),%ecx
+    8ed4:	0f b6 0c 01          	movzbl (%ecx,%eax,1),%ecx
+    8ed8:	80 3c 0e 00          	cmpb   $0x0,(%esi,%ecx,1)
+    8edc:	0f 85 c2 03 00 00    	jne    0x92a4
+    8ee2:	03 95 fc fe ff ff    	add    -0x104(%ebp),%edx
+    8ee8:	39 d3                	cmp    %edx,%ebx
+    8eea:	89 55 f0             	mov    %edx,-0x10(%ebp)
+    8eed:	0f 8c 95 fd ff ff    	jl     0x8c88
+    8ef3:	39 95 10 ff ff ff    	cmp    %edx,-0xf0(%ebp)
+    8ef9:	7e b9                	jle    0x8eb4
+    8efb:	e9 88 fd ff ff       	jmp    0x8c88
+    8f00:	8b bd 0c ff ff ff    	mov    -0xf4(%ebp),%edi
+    8f06:	f6 47 1c 10          	testb  $0x10,0x1c(%edi)
+    8f0a:	0f 85 07 fe ff ff    	jne    0x8d17
+    8f10:	8b 45 9c             	mov    -0x64(%ebp),%eax
+    8f13:	8b 8d 24 ff ff ff    	mov    -0xdc(%ebp),%ecx
+    8f19:	8b 14 88             	mov    (%eax,%ecx,4),%edx
+    8f1c:	8d 85 38 ff ff ff    	lea    -0xc8(%ebp),%eax
+    8f22:	e8 79 9e ff ff       	call   0x2da0
+    8f27:	80 bd 20 ff ff ff 00 	cmpb   $0x0,-0xe0(%ebp)
+    8f2e:	89 85 34 ff ff ff    	mov    %eax,-0xcc(%ebp)
+    8f34:	89 45 98             	mov    %eax,-0x68(%ebp)
+    8f37:	0f 84 db 02 00 00    	je     0x9218
+    8f3d:	8b b5 0c ff ff ff    	mov    -0xf4(%ebp),%esi
+    8f43:	f6 46 1c 10          	testb  $0x10,0x1c(%esi)
+    8f47:	0f 85 cb 02 00 00    	jne    0x9218
+    8f4d:	8b 85 14 ff ff ff    	mov    -0xec(%ebp),%eax
+    8f53:	f6 40 58 01          	testb  $0x1,0x58(%eax)
+    8f57:	75 0b                	jne    0x8f64
+    8f59:	8b 40 4c             	mov    0x4c(%eax),%eax
+    8f5c:	85 c0                	test   %eax,%eax
+    8f5e:	0f 84 c4 fd ff ff    	je     0x8d28
+    8f64:	8b 5d 94             	mov    -0x6c(%ebp),%ebx
+    8f67:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
+    8f6a:	81 fb fe ff ff 3f    	cmp    $0x3ffffffe,%ebx
+    8f70:	89 8d 28 ff ff ff    	mov    %ecx,-0xd8(%ebp)
+    8f76:	0f 87 63 07 00 00    	ja     0x96df
+    8f7c:	8d 73 01             	lea    0x1(%ebx),%esi
+    8f7f:	89 b5 30 ff ff ff    	mov    %esi,-0xd0(%ebp)
+    8f85:	c1 e6 02             	shl    $0x2,%esi
+    8f88:	89 34 24             	mov    %esi,(%esp)
+    8f8b:	e8 fc ff ff ff       	call   0x8f8c
+    8f90:	85 c0                	test   %eax,%eax
+    8f92:	89 c7                	mov    %eax,%edi
+    8f94:	0f 84 9b 06 00 00    	je     0x9635
+    8f9a:	8b 85 28 ff ff ff    	mov    -0xd8(%ebp),%eax
+    8fa0:	8b 48 4c             	mov    0x4c(%eax),%ecx
+    8fa3:	85 c9                	test   %ecx,%ecx
+    8fa5:	0f 84 e5 00 00 00    	je     0x9090
+    8fab:	89 34 24             	mov    %esi,(%esp)
+    8fae:	e8 fc ff ff ff       	call   0x8faf
+    8fb3:	85 c0                	test   %eax,%eax
+    8fb5:	89 c6                	mov    %eax,%esi
+    8fb7:	89 85 24 ff ff ff    	mov    %eax,-0xdc(%ebp)
+    8fbd:	0f 84 7c 06 00 00    	je     0x963f
+    8fc3:	8d 55 c0             	lea    -0x40(%ebp),%edx
+    8fc6:	89 95 2c ff ff ff    	mov    %edx,-0xd4(%ebp)
+    8fcc:	8b 85 30 ff ff ff    	mov    -0xd0(%ebp),%eax
+    8fd2:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
+    8fd9:	00 
+    8fda:	89 34 24             	mov    %esi,(%esp)
+    8fdd:	c1 e0 02             	shl    $0x2,%eax
+    8fe0:	89 44 24 08          	mov    %eax,0x8(%esp)
+    8fe4:	e8 fc ff ff ff       	call   0x8fe5
+    8fe9:	8b 8d 34 ff ff ff    	mov    -0xcc(%ebp),%ecx
+    8fef:	8d 85 38 ff ff ff    	lea    -0xc8(%ebp),%eax
+    8ff5:	8b 95 2c ff ff ff    	mov    -0xd4(%ebp),%edx
+    8ffb:	89 7d c0             	mov    %edi,-0x40(%ebp)
+    8ffe:	89 75 c4             	mov    %esi,-0x3c(%ebp)
+    9001:	89 4d c8             	mov    %ecx,-0x38(%ebp)
+    9004:	89 5d cc             	mov    %ebx,-0x34(%ebp)
+    9007:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
+    900e:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
+    9015:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
+    901c:	e8 af d8 ff ff       	call   0x68d0
+    9021:	8b 55 d8             	mov    -0x28(%ebp),%edx
+    9024:	89 14 24             	mov    %edx,(%esp)
+    9027:	89 85 d4 fe ff ff    	mov    %eax,-0x12c(%ebp)
+    902d:	e8 fc ff ff ff       	call   0x902e
+    9032:	8b 85 d4 fe ff ff    	mov    -0x12c(%ebp),%eax
+    9038:	85 c0                	test   %eax,%eax
+    903a:	0f 85 db 02 00 00    	jne    0x931b
+    9040:	8b 17                	mov    (%edi),%edx
+    9042:	85 d2                	test   %edx,%edx
+    9044:	0f 85 90 02 00 00    	jne    0x92da
+    904a:	8b 06                	mov    (%esi),%eax
+    904c:	85 c0                	test   %eax,%eax
+    904e:	0f 85 86 02 00 00    	jne    0x92da
+    9054:	8d 4b ff             	lea    -0x1(%ebx),%ecx
+    9057:	8d 04 8d 00 00 00 00 	lea    0x0(,%ecx,4),%eax
+    905e:	03 45 9c             	add    -0x64(%ebp),%eax
+    9061:	eb 1b                	jmp    0x907e
+    9063:	90                   	nop
+    9064:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    9068:	8b 10                	mov    (%eax),%edx
+    906a:	85 d2                	test   %edx,%edx
+    906c:	74 0a                	je     0x9078
+    906e:	f6 42 34 10          	testb  $0x10,0x34(%edx)
+    9072:	0f 85 b3 00 00 00    	jne    0x912b
+    9078:	83 e8 04             	sub    $0x4,%eax
+    907b:	83 e9 01             	sub    $0x1,%ecx
+    907e:	83 f9 ff             	cmp    $0xffffffff,%ecx
+    9081:	89 cb                	mov    %ecx,%ebx
+    9083:	75 e3                	jne    0x9068
+    9085:	e9 b6 fb ff ff       	jmp    0x8c40
+    908a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
+    9090:	8b 8d 34 ff ff ff    	mov    -0xcc(%ebp),%ecx
+    9096:	8d 75 c0             	lea    -0x40(%ebp),%esi
+    9099:	89 f2                	mov    %esi,%edx
+    909b:	89 7d c0             	mov    %edi,-0x40(%ebp)
+    909e:	8d 85 38 ff ff ff    	lea    -0xc8(%ebp),%eax
+    90a4:	c7 45 c4 00 00 00 00 	movl   $0x0,-0x3c(%ebp)
+    90ab:	89 4d c8             	mov    %ecx,-0x38(%ebp)
+    90ae:	89 5d cc             	mov    %ebx,-0x34(%ebp)
+    90b1:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
+    90b8:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
+    90bf:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
+    90c6:	e8 05 d8 ff ff       	call   0x68d0
+    90cb:	8b 55 d8             	mov    -0x28(%ebp),%edx
+    90ce:	89 14 24             	mov    %edx,(%esp)
+    90d1:	89 85 d4 fe ff ff    	mov    %eax,-0x12c(%ebp)
+    90d7:	e8 fc ff ff ff       	call   0x90d8
+    90dc:	8b 85 d4 fe ff ff    	mov    -0x12c(%ebp),%eax
+    90e2:	85 c0                	test   %eax,%eax
+    90e4:	0f 85 27 02 00 00    	jne    0x9311
+    90ea:	8b 0f                	mov    (%edi),%ecx
+    90ec:	85 c9                	test   %ecx,%ecx
+    90ee:	0f 84 3c fb ff ff    	je     0x8c30
+    90f4:	8b 45 9c             	mov    -0x64(%ebp),%eax
+    90f7:	89 04 24             	mov    %eax,(%esp)
+    90fa:	e8 fc ff ff ff       	call   0x90fb
+    90ff:	89 7d 9c             	mov    %edi,-0x64(%ebp)
+    9102:	8b bd 34 ff ff ff    	mov    -0xcc(%ebp),%edi
+    9108:	89 5d 94             	mov    %ebx,-0x6c(%ebp)
+    910b:	89 7d 98             	mov    %edi,-0x68(%ebp)
+    910e:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
+    9115:	e8 fc ff ff ff       	call   0x9116
+    911a:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
+    9121:	e8 fc ff ff ff       	call   0x9122
+    9126:	e9 fd fb ff ff       	jmp    0x8d28
+    912b:	8d 85 38 ff ff ff    	lea    -0xc8(%ebp),%eax
+    9131:	e8 6a 9c ff ff       	call   0x2da0
+    9136:	89 85 34 ff ff ff    	mov    %eax,-0xcc(%ebp)
+    913c:	8d 43 01             	lea    0x1(%ebx),%eax
+    913f:	89 85 30 ff ff ff    	mov    %eax,-0xd0(%ebp)
+    9145:	e9 82 fe ff ff       	jmp    0x8fcc
+    914a:	8b 75 ec             	mov    -0x14(%ebp),%esi
+    914d:	85 f6                	test   %esi,%esi
+    914f:	0f 85 d3 04 00 00    	jne    0x9628
+    9155:	8b 5d 9c             	mov    -0x64(%ebp),%ebx
+    9158:	85 db                	test   %ebx,%ebx
+    915a:	0f 84 68 fb ff ff    	je     0x8cc8
+    9160:	8b 8d 1c ff ff ff    	mov    -0xe4(%ebp),%ecx
+    9166:	85 c9                	test   %ecx,%ecx
+    9168:	0f 85 a8 04 00 00    	jne    0x9616
+    916e:	8b 9d 60 ff ff ff    	mov    -0xa0(%ebp),%ebx
+    9174:	8b 75 a0             	mov    -0x60(%ebp),%esi
+    9177:	8d 53 01             	lea    0x1(%ebx),%edx
+    917a:	8d 04 95 00 00 00 00 	lea    0x0(,%edx,4),%eax
+    9181:	03 45 9c             	add    -0x64(%ebp),%eax
+    9184:	eb 05                	jmp    0x918b
+    9186:	66 90                	xchg   %ax,%ax
+    9188:	83 c2 01             	add    $0x1,%edx
+    918b:	39 d6                	cmp    %edx,%esi
+    918d:	0f 8c 2d fb ff ff    	jl     0x8cc0
+    9193:	8b 08                	mov    (%eax),%ecx
+    9195:	83 c3 01             	add    $0x1,%ebx
+    9198:	83 c0 04             	add    $0x4,%eax
+    919b:	85 c9                	test   %ecx,%ecx
+    919d:	74 e9                	je     0x9188
+    919f:	31 c9                	xor    %ecx,%ecx
+    91a1:	89 9d 60 ff ff ff    	mov    %ebx,-0xa0(%ebp)
+    91a7:	8d 95 38 ff ff ff    	lea    -0xc8(%ebp),%edx
+    91ad:	8d 45 ec             	lea    -0x14(%ebp),%eax
+    91b0:	e8 ab d5 ff ff       	call   0x6760
+    91b5:	85 c0                	test   %eax,%eax
+    91b7:	0f 85 e0 00 00 00    	jne    0x929d
+    91bd:	8b 55 ec             	mov    -0x14(%ebp),%edx
+    91c0:	85 d2                	test   %edx,%edx
+    91c2:	74 aa                	je     0x916e
+    91c4:	e9 ff fa ff ff       	jmp    0x8cc8
+    91c9:	85 c0                	test   %eax,%eax
+    91cb:	90                   	nop
+    91cc:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    91d0:	0f 84 06 f8 ff ff    	je     0x89dc
+    91d6:	89 c2                	mov    %eax,%edx
+    91d8:	83 e2 06             	and    $0x6,%edx
+    91db:	83 fa 06             	cmp    $0x6,%edx
+    91de:	66 90                	xchg   %ax,%ax
+    91e0:	74 44                	je     0x9226
+    91e2:	a8 02                	test   $0x2,%al
+    91e4:	0f 84 c3 00 00 00    	je     0x92ad
+    91ea:	8b 7b 2c             	mov    0x2c(%ebx),%edi
+    91ed:	89 bd 30 ff ff ff    	mov    %edi,-0xd0(%ebp)
+    91f3:	e9 e4 f7 ff ff       	jmp    0x89dc
+    91f8:	be 01 00 00 00       	mov    $0x1,%esi
+    91fd:	8d 65 f4             	lea    -0xc(%ebp),%esp
+    9200:	89 f0                	mov    %esi,%eax
+    9202:	5b                   	pop    %ebx
+    9203:	5e                   	pop    %esi
+    9204:	5f                   	pop    %edi
+    9205:	5d                   	pop    %ebp
+    9206:	c2 18 00             	ret    $0x18
+    9209:	8b 8d 30 ff ff ff    	mov    -0xd0(%ebp),%ecx
+    920f:	0f b6 41 34          	movzbl 0x34(%ecx),%eax
+    9213:	e9 fb f7 ff ff       	jmp    0x8a13
+    9218:	8b bd 14 ff ff ff    	mov    -0xec(%ebp),%edi
+    921e:	8b 47 4c             	mov    0x4c(%edi),%eax
+    9221:	e9 36 fd ff ff       	jmp    0x8f5c
+    9226:	8b 73 30             	mov    0x30(%ebx),%esi
+    9229:	89 b5 30 ff ff ff    	mov    %esi,-0xd0(%ebp)
+    922f:	e9 a8 f7 ff ff       	jmp    0x89dc
+    9234:	8d 85 38 ff ff ff    	lea    -0xc8(%ebp),%eax
+    923a:	e8 51 7c ff ff       	call   0xe90
+    923f:	8b 45 bc             	mov    -0x44(%ebp),%eax
+    9242:	89 04 24             	mov    %eax,(%esp)
+    9245:	e8 fc ff ff ff       	call   0x9246
+    924a:	8b 45 ac             	mov    -0x54(%ebp),%eax
+    924d:	89 04 24             	mov    %eax,(%esp)
+    9250:	e8 fc ff ff ff       	call   0x9251
+    9255:	e9 4f fa ff ff       	jmp    0x8ca9
+    925a:	8b 55 0c             	mov    0xc(%ebp),%edx
+    925d:	89 9d 08 ff ff ff    	mov    %ebx,-0xf8(%ebp)
+    9263:	c7 85 fc fe ff ff ff 	movl   $0xffffffff,-0x104(%ebp)
+    926a:	ff ff ff 
+    926d:	01 da                	add    %ebx,%edx
+    926f:	39 d3                	cmp    %edx,%ebx
+    9271:	0f 9c c1             	setl   %cl
+    9274:	31 f6                	xor    %esi,%esi
+    9276:	89 95 10 ff ff ff    	mov    %edx,-0xf0(%ebp)
+    927c:	e9 78 f5 ff ff       	jmp    0x87f9
+    9281:	8b 85 14 ff ff ff    	mov    -0xec(%ebp),%eax
+    9287:	f6 40 58 02          	testb  $0x2,0x58(%eax)
+    928b:	0f 85 f2 f4 ff ff    	jne    0x8783
+    9291:	c7 45 9c 00 00 00 00 	movl   $0x0,-0x64(%ebp)
+    9298:	e9 13 f5 ff ff       	jmp    0x87b0
+    929d:	89 c3                	mov    %eax,%ebx
+    929f:	e9 80 f8 ff ff       	jmp    0x8b24
+    92a4:	89 d3                	mov    %edx,%ebx
+    92a6:	89 da                	mov    %ebx,%edx
+    92a8:	e9 6a f6 ff ff       	jmp    0x8917
+    92ad:	a8 04                	test   $0x4,%al
+    92af:	90                   	nop
+    92b0:	0f 84 26 f7 ff ff    	je     0x89dc
+    92b6:	8b 95 30 ff ff ff    	mov    -0xd0(%ebp),%edx
+    92bc:	8d 75 ec             	lea    -0x14(%ebp),%esi
+    92bf:	8b 4a 28             	mov    0x28(%edx),%ecx
+    92c2:	89 da                	mov    %ebx,%edx
+    92c4:	89 04 24             	mov    %eax,(%esp)
+    92c7:	89 f0                	mov    %esi,%eax
+    92c9:	e8 42 b2 ff ff       	call   0x4510
+    92ce:	57                   	push   %edi
+    92cf:	89 85 30 ff ff ff    	mov    %eax,-0xd0(%ebp)
+    92d5:	e9 02 f7 ff ff       	jmp    0x89dc
+    92da:	8b 95 30 ff ff ff    	mov    -0xd0(%ebp),%edx
+    92e0:	89 f1                	mov    %esi,%ecx
+    92e2:	89 14 24             	mov    %edx,(%esp)
+    92e5:	8b 85 28 ff ff ff    	mov    -0xd8(%ebp),%eax
+    92eb:	89 fa                	mov    %edi,%edx
+    92ed:	e8 ae ba ff ff       	call   0x4da0
+    92f2:	83 ec 04             	sub    $0x4,%esp
+    92f5:	89 34 24             	mov    %esi,(%esp)
+    92f8:	89 85 d4 fe ff ff    	mov    %eax,-0x12c(%ebp)
+    92fe:	e8 fc ff ff ff       	call   0x92ff
+    9303:	8b 85 d4 fe ff ff    	mov    -0x12c(%ebp),%eax
+    9309:	85 c0                	test   %eax,%eax
+    930b:	0f 84 e3 fd ff ff    	je     0x90f4
+    9311:	c7 85 24 ff ff ff 00 	movl   $0x0,-0xdc(%ebp)
+    9318:	00 00 00 
+    931b:	89 3c 24             	mov    %edi,(%esp)
+    931e:	89 85 d4 fe ff ff    	mov    %eax,-0x12c(%ebp)
+    9324:	e8 fc ff ff ff       	call   0x9325
+    9329:	8b 95 24 ff ff ff    	mov    -0xdc(%ebp),%edx
+    932f:	89 14 24             	mov    %edx,(%esp)
+    9332:	e8 fc ff ff ff       	call   0x9333
+    9337:	8b 85 d4 fe ff ff    	mov    -0x12c(%ebp),%eax
+    933d:	83 f8 01             	cmp    $0x1,%eax
+    9340:	0f 84 10 f9 ff ff    	je     0x8c56
+    9346:	89 c6                	mov    %eax,%esi
+    9348:	8b 55 9c             	mov    -0x64(%ebp),%edx
+    934b:	e9 40 f9 ff ff       	jmp    0x8c90
+    9350:	31 c0                	xor    %eax,%eax
+    9352:	8b bd 34 ff ff ff    	mov    -0xcc(%ebp),%edi
+    9358:	39 9d 30 ff ff ff    	cmp    %ebx,-0xd0(%ebp)
+    935e:	0f 94 c0             	sete   %al
+    9361:	39 9d 30 ff ff ff    	cmp    %ebx,-0xd0(%ebp)
+    9367:	0f 45 bd 2c ff ff ff 	cmovne -0xd4(%ebp),%edi
+    936e:	89 85 28 ff ff ff    	mov    %eax,-0xd8(%ebp)
+    9374:	89 bd 34 ff ff ff    	mov    %edi,-0xcc(%ebp)
+    937a:	e9 bf f7 ff ff       	jmp    0x8b3e
+    937f:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
+    9382:	83 7a 08 00          	cmpl   $0x0,0x8(%edx)
+    9386:	89 8d dc fe ff ff    	mov    %ecx,-0x124(%ebp)
+    938c:	0f 8e bd 01 00 00    	jle    0x954f
+    9392:	31 db                	xor    %ebx,%ebx
+    9394:	89 f7                	mov    %esi,%edi
+    9396:	89 9d f4 fe ff ff    	mov    %ebx,-0x10c(%ebp)
+    939c:	eb 24                	jmp    0x93c2
+    939e:	66 90                	xchg   %ax,%ax
+    93a0:	8b bd 60 ff ff ff    	mov    -0xa0(%ebp),%edi
+    93a6:	8b b5 30 ff ff ff    	mov    -0xd0(%ebp),%esi
+    93ac:	83 85 f4 fe ff ff 01 	addl   $0x1,-0x10c(%ebp)
+    93b3:	8b 85 f4 fe ff ff    	mov    -0x10c(%ebp),%eax
+    93b9:	3b 46 08             	cmp    0x8(%esi),%eax
+    93bc:	0f 8d 8b 01 00 00    	jge    0x954d
+    93c2:	8b b5 30 ff ff ff    	mov    -0xd0(%ebp),%esi
+    93c8:	8b 95 f4 fe ff ff    	mov    -0x10c(%ebp),%edx
+    93ce:	8b 8d dc fe ff ff    	mov    -0x124(%ebp),%ecx
+    93d4:	8b 46 0c             	mov    0xc(%esi),%eax
+    93d7:	8b 1c 90             	mov    (%eax,%edx,4),%ebx
+    93da:	8d 04 dd 00 00 00 00 	lea    0x0(,%ebx,8),%eax
+    93e1:	03 01                	add    (%ecx),%eax
+    93e3:	f6 40 06 10          	testb  $0x10,0x6(%eax)
+    93e7:	74 bd                	je     0x93a6
+    93e9:	8b 70 04             	mov    0x4(%eax),%esi
+    93ec:	f7 c6 00 ff 03 00    	test   $0x3ff00,%esi
+    93f2:	74 56                	je     0x944a
+    93f4:	8b 4d 90             	mov    -0x70(%ebp),%ecx
+    93f7:	c1 ee 08             	shr    $0x8,%esi
+    93fa:	89 fa                	mov    %edi,%edx
+    93fc:	8d 85 38 ff ff ff    	lea    -0xc8(%ebp),%eax
+    9402:	81 e6 ff 03 00 00    	and    $0x3ff,%esi
+    9408:	e8 b3 97 ff ff       	call   0x2bc0
+    940d:	f7 c6 04 00 00 00    	test   $0x4,%esi
+    9413:	74 04                	je     0x9419
+    9415:	a8 01                	test   $0x1,%al
+    9417:	74 8d                	je     0x93a6
+    9419:	f7 c6 08 00 00 00    	test   $0x8,%esi
+    941f:	90                   	nop
     9420:	74 08                	je     0x942a
-    9422:	a8 02                	test   $0x2,%al
-    9424:	0f 84 6c ff ff ff    	je     0x9396
-    942a:	89 f2                	mov    %esi,%edx
-    942c:	84 d2                	test   %dl,%dl
-    942e:	66 90                	xchg   %ax,%ax
-    9430:	79 08                	jns    0x943a
-    9432:	a8 08                	test   $0x8,%al
-    9434:	0f 84 5c ff ff ff    	je     0x9396
-    943a:	89 3c 24             	mov    %edi,(%esp)
-    943d:	8b 85 dc fe ff ff    	mov    -0x124(%ebp),%eax
-    9443:	8d 8d 38 ff ff ff    	lea    -0xc8(%ebp),%ecx
-    9449:	89 da                	mov    %ebx,%edx
-    944b:	e8 e0 b9 ff ff       	call   0x4e30
-    9450:	83 ec 04             	sub    $0x4,%esp
-    9453:	85 c0                	test   %eax,%eax
-    9455:	0f 84 35 ff ff ff    	je     0x9390
-    945b:	8b 55 b0             	mov    -0x50(%ebp),%edx
-    945e:	8b 8d 60 ff ff ff    	mov    -0xa0(%ebp),%ecx
-    9464:	01 c1                	add    %eax,%ecx
-    9466:	39 d0                	cmp    %edx,%eax
-    9468:	0f 4c c2             	cmovl  %edx,%eax
-    946b:	89 ca                	mov    %ecx,%edx
-    946d:	89 45 b0             	mov    %eax,-0x50(%ebp)
-    9470:	8d 85 38 ff ff ff    	lea    -0xc8(%ebp),%eax
-    9476:	89 8d d8 fe ff ff    	mov    %ecx,-0x128(%ebp)
-    947c:	e8 ff af ff ff       	call   0x4480
-    9481:	85 c0                	test   %eax,%eax
-    9483:	89 45 e8             	mov    %eax,-0x18(%ebp)
-    9486:	0f 85 a7 00 00 00    	jne    0x9533
-    948c:	8b b5 dc fe ff ff    	mov    -0x124(%ebp),%esi
-    9492:	8b 95 d8 fe ff ff    	mov    -0x128(%ebp),%edx
-    9498:	8b bd dc fe ff ff    	mov    -0x124(%ebp),%edi
-    949e:	8b 46 0c             	mov    0xc(%esi),%eax
-    94a1:	8b 04 98             	mov    (%eax,%ebx,4),%eax
-    94a4:	8b 9d d8 fe ff ff    	mov    -0x128(%ebp),%ebx
-    94aa:	8d 34 40             	lea    (%eax,%eax,2),%esi
-    94ad:	8b 45 9c             	mov    -0x64(%ebp),%eax
-    94b0:	c1 e6 02             	shl    $0x2,%esi
-    94b3:	c1 e3 02             	shl    $0x2,%ebx
-    94b6:	03 77 18             	add    0x18(%edi),%esi
-    94b9:	8b 04 90             	mov    (%eax,%edx,4),%eax
-    94bc:	85 c0                	test   %eax,%eax
-    94be:	0f 84 87 00 00 00    	je     0x954b
-    94c4:	8b 50 28             	mov    0x28(%eax),%edx
-    94c7:	89 f1                	mov    %esi,%ecx
-    94c9:	8d 45 dc             	lea    -0x24(%ebp),%eax
-    94cc:	e8 2f 8a ff ff       	call   0x1f00
-    94d1:	85 c0                	test   %eax,%eax
-    94d3:	89 45 e8             	mov    %eax,-0x18(%ebp)
-    94d6:	75 5b                	jne    0x9533
-    94d8:	8b 95 d8 fe ff ff    	mov    -0x128(%ebp),%edx
-    94de:	8d 85 38 ff ff ff    	lea    -0xc8(%ebp),%eax
-    94e4:	8b 4d 90             	mov    -0x70(%ebp),%ecx
-    94e7:	83 ea 01             	sub    $0x1,%edx
-    94ea:	e8 d1 96 ff ff       	call   0x2bc0
-    94ef:	8d 4d dc             	lea    -0x24(%ebp),%ecx
-    94f2:	03 5d 9c             	add    -0x64(%ebp),%ebx
-    94f5:	89 04 24             	mov    %eax,(%esp)
-    94f8:	8b 95 dc fe ff ff    	mov    -0x124(%ebp),%edx
-    94fe:	8d 45 e8             	lea    -0x18(%ebp),%eax
-    9501:	e8 0a b0 ff ff       	call   0x4510
-    9506:	56                   	push   %esi
-    9507:	89 03                	mov    %eax,(%ebx)
-    9509:	8b 45 e4             	mov    -0x1c(%ebp),%eax
-    950c:	89 04 24             	mov    %eax,(%esp)
-    950f:	e8 fc ff ff ff       	call   0x9510
-    9514:	8b 45 9c             	mov    -0x64(%ebp),%eax
-    9517:	8b 8d d8 fe ff ff    	mov    -0x128(%ebp),%ecx
-    951d:	8b 04 88             	mov    (%eax,%ecx,4),%eax
-    9520:	85 c0                	test   %eax,%eax
-    9522:	0f 85 68 fe ff ff    	jne    0x9390
-    9528:	8b 45 e8             	mov    -0x18(%ebp),%eax
-    952b:	85 c0                	test   %eax,%eax
-    952d:	0f 84 5d fe ff ff    	je     0x9390
-    9533:	89 45 ec             	mov    %eax,-0x14(%ebp)
-    9536:	31 db                	xor    %ebx,%ebx
-    9538:	e9 b6 f5 ff ff       	jmp    0x8af3
-    953d:	89 fe                	mov    %edi,%esi
-    953f:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
-    9546:	e9 7e f5 ff ff       	jmp    0x8ac9
-    954b:	8b bd cc fe ff ff    	mov    -0x134(%ebp),%edi
-    9551:	b9 03 00 00 00       	mov    $0x3,%ecx
-    9556:	83 ea 01             	sub    $0x1,%edx
-    9559:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
-    955b:	8b 4d 90             	mov    -0x70(%ebp),%ecx
-    955e:	8d 85 38 ff ff ff    	lea    -0xc8(%ebp),%eax
-    9564:	e8 57 96 ff ff       	call   0x2bc0
-    9569:	8d 4d dc             	lea    -0x24(%ebp),%ecx
-    956c:	03 5d 9c             	add    -0x64(%ebp),%ebx
-    956f:	89 04 24             	mov    %eax,(%esp)
-    9572:	8b 95 dc fe ff ff    	mov    -0x124(%ebp),%edx
-    9578:	8d 45 e8             	lea    -0x18(%ebp),%eax
-    957b:	e8 90 af ff ff       	call   0x4510
-    9580:	52                   	push   %edx
-    9581:	89 03                	mov    %eax,(%ebx)
-    9583:	eb 8f                	jmp    0x9514
-    9585:	8b 8d 30 ff ff ff    	mov    -0xd0(%ebp),%ecx
-    958b:	8b 71 30             	mov    0x30(%ecx),%esi
-    958e:	85 f6                	test   %esi,%esi
-    9590:	0f 84 05 01 00 00    	je     0x969b
-    9596:	8b 95 60 ff ff ff    	mov    -0xa0(%ebp),%edx
-    959c:	8d 85 38 ff ff ff    	lea    -0xc8(%ebp),%eax
-    95a2:	8b 4d 90             	mov    -0x70(%ebp),%ecx
-    95a5:	83 ea 01             	sub    $0x1,%edx
-    95a8:	e8 13 96 ff ff       	call   0x2bc0
-    95ad:	a8 01                	test   $0x1,%al
-    95af:	74 4a                	je     0x95fb
-    95b1:	0f b6 db             	movzbl %bl,%ebx
-    95b4:	8b 9c 9e 00 04 00 00 	mov    0x400(%esi,%ebx,4),%ebx
-    95bb:	e9 33 f5 ff ff       	jmp    0x8af3
-    95c0:	3b 85 68 ff ff ff    	cmp    -0x98(%ebp),%eax
-    95c6:	0f 8d db f4 ff ff    	jge    0x8aa7
-    95cc:	8d 85 38 ff ff ff    	lea    -0xc8(%ebp),%eax
-    95d2:	e8 99 ad ff ff       	call   0x4370
-    95d7:	85 c0                	test   %eax,%eax
-    95d9:	89 45 ec             	mov    %eax,-0x14(%ebp)
-    95dc:	0f 85 90 00 00 00    	jne    0x9672
-    95e2:	8b b5 60 ff ff ff    	mov    -0xa0(%ebp),%esi
-    95e8:	e9 cc f4 ff ff       	jmp    0x8ab9
-    95ed:	3b 85 68 ff ff ff    	cmp    -0x98(%ebp),%eax
-    95f3:	0f 8d c0 f4 ff ff    	jge    0x8ab9
-    95f9:	eb d1                	jmp    0x95cc
-    95fb:	0f b6 db             	movzbl %bl,%ebx
-    95fe:	8b 1c 9e             	mov    (%esi,%ebx,4),%ebx
-    9601:	e9 ed f4 ff ff       	jmp    0x8af3
-    9606:	83 bd 18 ff ff ff 00 	cmpl   $0x0,-0xe8(%ebp)
-    960d:	0f 85 4b fb ff ff    	jne    0x915e
-    9613:	e9 a0 f6 ff ff       	jmp    0x8cb8
-    9618:	8b 55 9c             	mov    -0x64(%ebp),%edx
-    961b:	be 0c 00 00 00       	mov    $0xc,%esi
-    9620:	e9 5b f6 ff ff       	jmp    0x8c80
-    9625:	c7 85 24 ff ff ff 00 	movl   $0x0,-0xdc(%ebp)
-    962c:	00 00 00 
-    962f:	89 3c 24             	mov    %edi,(%esp)
-    9632:	e8 fc ff ff ff       	call   0x9633
-    9637:	8b b5 24 ff ff ff    	mov    -0xdc(%ebp),%esi
-    963d:	89 34 24             	mov    %esi,(%esp)
-    9640:	be 0c 00 00 00       	mov    $0xc,%esi
-    9645:	e8 fc ff ff ff       	call   0x9646
-    964a:	e9 e9 fc ff ff       	jmp    0x9338
-    964f:	3b 8d 54 ff ff ff    	cmp    -0xac(%ebp),%ecx
-    9655:	74 70                	je     0x96c7
-    9657:	8b 0c 8f             	mov    (%edi,%ecx,4),%ecx
-    965a:	8b 58 04             	mov    0x4(%eax),%ebx
-    965d:	89 08                	mov    %ecx,(%eax)
-    965f:	3b 9d 54 ff ff ff    	cmp    -0xac(%ebp),%ebx
-    9665:	74 58                	je     0x96bf
-    9667:	8b 1c 9f             	mov    (%edi,%ebx,4),%ebx
-    966a:	89 58 04             	mov    %ebx,0x4(%eax)
-    966d:	e9 75 f7 ff ff       	jmp    0x8de7
-    9672:	83 f8 0c             	cmp    $0xc,%eax
-    9675:	74 a1                	je     0x9618
-    9677:	c7 44 24 0c 59 01 00 	movl   $0x159,0xc(%esp)
-    967e:	00 
-    967f:	c7 44 24 08 81 04 00 	movl   $0x481,0x8(%esp)
-    9686:	00 
-    9687:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
+    9422:	a8 01                	test   $0x1,%al
+    9424:	0f 85 7c ff ff ff    	jne    0x93a6
+    942a:	f7 c6 20 00 00 00    	test   $0x20,%esi
+    9430:	74 08                	je     0x943a
+    9432:	a8 02                	test   $0x2,%al
+    9434:	0f 84 6c ff ff ff    	je     0x93a6
+    943a:	89 f2                	mov    %esi,%edx
+    943c:	84 d2                	test   %dl,%dl
+    943e:	66 90                	xchg   %ax,%ax
+    9440:	79 08                	jns    0x944a
+    9442:	a8 08                	test   $0x8,%al
+    9444:	0f 84 5c ff ff ff    	je     0x93a6
+    944a:	89 3c 24             	mov    %edi,(%esp)
+    944d:	8b 85 dc fe ff ff    	mov    -0x124(%ebp),%eax
+    9453:	8d 8d 38 ff ff ff    	lea    -0xc8(%ebp),%ecx
+    9459:	89 da                	mov    %ebx,%edx
+    945b:	e8 d0 b9 ff ff       	call   0x4e30
+    9460:	83 ec 04             	sub    $0x4,%esp
+    9463:	85 c0                	test   %eax,%eax
+    9465:	0f 84 35 ff ff ff    	je     0x93a0
+    946b:	8b 55 b0             	mov    -0x50(%ebp),%edx
+    946e:	8b 8d 60 ff ff ff    	mov    -0xa0(%ebp),%ecx
+    9474:	01 c1                	add    %eax,%ecx
+    9476:	39 d0                	cmp    %edx,%eax
+    9478:	0f 4c c2             	cmovl  %edx,%eax
+    947b:	89 ca                	mov    %ecx,%edx
+    947d:	89 45 b0             	mov    %eax,-0x50(%ebp)
+    9480:	8d 85 38 ff ff ff    	lea    -0xc8(%ebp),%eax
+    9486:	89 8d d8 fe ff ff    	mov    %ecx,-0x128(%ebp)
+    948c:	e8 ef af ff ff       	call   0x4480
+    9491:	85 c0                	test   %eax,%eax
+    9493:	89 45 e8             	mov    %eax,-0x18(%ebp)
+    9496:	0f 85 a7 00 00 00    	jne    0x9543
+    949c:	8b b5 dc fe ff ff    	mov    -0x124(%ebp),%esi
+    94a2:	8b 95 d8 fe ff ff    	mov    -0x128(%ebp),%edx
+    94a8:	8b bd dc fe ff ff    	mov    -0x124(%ebp),%edi
+    94ae:	8b 46 0c             	mov    0xc(%esi),%eax
+    94b1:	8b 04 98             	mov    (%eax,%ebx,4),%eax
+    94b4:	8b 9d d8 fe ff ff    	mov    -0x128(%ebp),%ebx
+    94ba:	8d 34 40             	lea    (%eax,%eax,2),%esi
+    94bd:	8b 45 9c             	mov    -0x64(%ebp),%eax
+    94c0:	c1 e6 02             	shl    $0x2,%esi
+    94c3:	c1 e3 02             	shl    $0x2,%ebx
+    94c6:	03 77 18             	add    0x18(%edi),%esi
+    94c9:	8b 04 90             	mov    (%eax,%edx,4),%eax
+    94cc:	85 c0                	test   %eax,%eax
+    94ce:	0f 84 87 00 00 00    	je     0x955b
+    94d4:	8b 50 28             	mov    0x28(%eax),%edx
+    94d7:	89 f1                	mov    %esi,%ecx
+    94d9:	8d 45 dc             	lea    -0x24(%ebp),%eax
+    94dc:	e8 1f 8a ff ff       	call   0x1f00
+    94e1:	85 c0                	test   %eax,%eax
+    94e3:	89 45 e8             	mov    %eax,-0x18(%ebp)
+    94e6:	75 5b                	jne    0x9543
+    94e8:	8b 95 d8 fe ff ff    	mov    -0x128(%ebp),%edx
+    94ee:	8d 85 38 ff ff ff    	lea    -0xc8(%ebp),%eax
+    94f4:	8b 4d 90             	mov    -0x70(%ebp),%ecx
+    94f7:	83 ea 01             	sub    $0x1,%edx
+    94fa:	e8 c1 96 ff ff       	call   0x2bc0
+    94ff:	8d 4d dc             	lea    -0x24(%ebp),%ecx
+    9502:	03 5d 9c             	add    -0x64(%ebp),%ebx
+    9505:	89 04 24             	mov    %eax,(%esp)
+    9508:	8b 95 dc fe ff ff    	mov    -0x124(%ebp),%edx
+    950e:	8d 45 e8             	lea    -0x18(%ebp),%eax
+    9511:	e8 fa af ff ff       	call   0x4510
+    9516:	56                   	push   %esi
+    9517:	89 03                	mov    %eax,(%ebx)
+    9519:	8b 45 e4             	mov    -0x1c(%ebp),%eax
+    951c:	89 04 24             	mov    %eax,(%esp)
+    951f:	e8 fc ff ff ff       	call   0x9520
+    9524:	8b 45 9c             	mov    -0x64(%ebp),%eax
+    9527:	8b 8d d8 fe ff ff    	mov    -0x128(%ebp),%ecx
+    952d:	8b 04 88             	mov    (%eax,%ecx,4),%eax
+    9530:	85 c0                	test   %eax,%eax
+    9532:	0f 85 68 fe ff ff    	jne    0x93a0
+    9538:	8b 45 e8             	mov    -0x18(%ebp),%eax
+    953b:	85 c0                	test   %eax,%eax
+    953d:	0f 84 5d fe ff ff    	je     0x93a0
+    9543:	89 45 ec             	mov    %eax,-0x14(%ebp)
+    9546:	31 db                	xor    %ebx,%ebx
+    9548:	e9 b6 f5 ff ff       	jmp    0x8b03
+    954d:	89 fe                	mov    %edi,%esi
+    954f:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
+    9556:	e9 7e f5 ff ff       	jmp    0x8ad9
+    955b:	8b bd cc fe ff ff    	mov    -0x134(%ebp),%edi
+    9561:	b9 03 00 00 00       	mov    $0x3,%ecx
+    9566:	83 ea 01             	sub    $0x1,%edx
+    9569:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
+    956b:	8b 4d 90             	mov    -0x70(%ebp),%ecx
+    956e:	8d 85 38 ff ff ff    	lea    -0xc8(%ebp),%eax
+    9574:	e8 47 96 ff ff       	call   0x2bc0
+    9579:	8d 4d dc             	lea    -0x24(%ebp),%ecx
+    957c:	03 5d 9c             	add    -0x64(%ebp),%ebx
+    957f:	89 04 24             	mov    %eax,(%esp)
+    9582:	8b 95 dc fe ff ff    	mov    -0x124(%ebp),%edx
+    9588:	8d 45 e8             	lea    -0x18(%ebp),%eax
+    958b:	e8 80 af ff ff       	call   0x4510
+    9590:	52                   	push   %edx
+    9591:	89 03                	mov    %eax,(%ebx)
+    9593:	eb 8f                	jmp    0x9524
+    9595:	8b 8d 30 ff ff ff    	mov    -0xd0(%ebp),%ecx
+    959b:	8b 71 30             	mov    0x30(%ecx),%esi
+    959e:	85 f6                	test   %esi,%esi
+    95a0:	0f 84 05 01 00 00    	je     0x96ab
+    95a6:	8b 95 60 ff ff ff    	mov    -0xa0(%ebp),%edx
+    95ac:	8d 85 38 ff ff ff    	lea    -0xc8(%ebp),%eax
+    95b2:	8b 4d 90             	mov    -0x70(%ebp),%ecx
+    95b5:	83 ea 01             	sub    $0x1,%edx
+    95b8:	e8 03 96 ff ff       	call   0x2bc0
+    95bd:	a8 01                	test   $0x1,%al
+    95bf:	74 4a                	je     0x960b
+    95c1:	0f b6 db             	movzbl %bl,%ebx
+    95c4:	8b 9c 9e 00 04 00 00 	mov    0x400(%esi,%ebx,4),%ebx
+    95cb:	e9 33 f5 ff ff       	jmp    0x8b03
+    95d0:	3b 85 68 ff ff ff    	cmp    -0x98(%ebp),%eax
+    95d6:	0f 8d db f4 ff ff    	jge    0x8ab7
+    95dc:	8d 85 38 ff ff ff    	lea    -0xc8(%ebp),%eax
+    95e2:	e8 89 ad ff ff       	call   0x4370
+    95e7:	85 c0                	test   %eax,%eax
+    95e9:	89 45 ec             	mov    %eax,-0x14(%ebp)
+    95ec:	0f 85 90 00 00 00    	jne    0x9682
+    95f2:	8b b5 60 ff ff ff    	mov    -0xa0(%ebp),%esi
+    95f8:	e9 cc f4 ff ff       	jmp    0x8ac9
+    95fd:	3b 85 68 ff ff ff    	cmp    -0x98(%ebp),%eax
+    9603:	0f 8d c0 f4 ff ff    	jge    0x8ac9
+    9609:	eb d1                	jmp    0x95dc
+    960b:	0f b6 db             	movzbl %bl,%ebx
+    960e:	8b 1c 9e             	mov    (%esi,%ebx,4),%ebx
+    9611:	e9 ed f4 ff ff       	jmp    0x8b03
+    9616:	83 bd 18 ff ff ff 00 	cmpl   $0x0,-0xe8(%ebp)
+    961d:	0f 85 4b fb ff ff    	jne    0x916e
+    9623:	e9 a0 f6 ff ff       	jmp    0x8cc8
+    9628:	8b 55 9c             	mov    -0x64(%ebp),%edx
+    962b:	be 0c 00 00 00       	mov    $0xc,%esi
+    9630:	e9 5b f6 ff ff       	jmp    0x8c90
+    9635:	c7 85 24 ff ff ff 00 	movl   $0x0,-0xdc(%ebp)
+    963c:	00 00 00 
+    963f:	89 3c 24             	mov    %edi,(%esp)
+    9642:	e8 fc ff ff ff       	call   0x9643
+    9647:	8b b5 24 ff ff ff    	mov    -0xdc(%ebp),%esi
+    964d:	89 34 24             	mov    %esi,(%esp)
+    9650:	be 0c 00 00 00       	mov    $0xc,%esi
+    9655:	e8 fc ff ff ff       	call   0x9656
+    965a:	e9 e9 fc ff ff       	jmp    0x9348
+    965f:	3b 8d 54 ff ff ff    	cmp    -0xac(%ebp),%ecx
+    9665:	74 70                	je     0x96d7
+    9667:	8b 0c 8f             	mov    (%edi,%ecx,4),%ecx
+    966a:	8b 58 04             	mov    0x4(%eax),%ebx
+    966d:	89 08                	mov    %ecx,(%eax)
+    966f:	3b 9d 54 ff ff ff    	cmp    -0xac(%ebp),%ebx
+    9675:	74 58                	je     0x96cf
+    9677:	8b 1c 9f             	mov    (%edi,%ebx,4),%ebx
+    967a:	89 58 04             	mov    %ebx,0x4(%eax)
+    967d:	e9 75 f7 ff ff       	jmp    0x8df7
+    9682:	83 f8 0c             	cmp    $0xc,%eax
+    9685:	74 a1                	je     0x9628
+    9687:	c7 44 24 0c 59 01 00 	movl   $0x159,0xc(%esp)
     968e:	00 
-    968f:	c7 04 24 77 00 00 00 	movl   $0x77,(%esp)
-    9696:	e8 fc ff ff ff       	call   0x9697
-    969b:	8b 95 30 ff ff ff    	mov    -0xd0(%ebp),%edx
-    96a1:	8b 45 8c             	mov    -0x74(%ebp),%eax
-    96a4:	e8 67 db ff ff       	call   0x7210
-    96a9:	85 c0                	test   %eax,%eax
-    96ab:	0f 85 2b f4 ff ff    	jne    0x8adc
-    96b1:	c7 45 ec 0c 00 00 00 	movl   $0xc,-0x14(%ebp)
-    96b8:	31 db                	xor    %ebx,%ebx
-    96ba:	e9 34 f4 ff ff       	jmp    0x8af3
-    96bf:	8b 9d 58 ff ff ff    	mov    -0xa8(%ebp),%ebx
-    96c5:	eb a3                	jmp    0x966a
-    96c7:	8b 8d 58 ff ff ff    	mov    -0xa8(%ebp),%ecx
-    96cd:	eb 8b                	jmp    0x965a
-    96cf:	8b 55 9c             	mov    -0x64(%ebp),%edx
-    96d2:	be 0c 00 00 00       	mov    $0xc,%esi
-    96d7:	e9 a4 f5 ff ff       	jmp    0x8c80
-    96dc:	84 c0                	test   %al,%al
-    96de:	78 50                	js     0x9730
-    96e0:	83 bd 18 ff ff ff 00 	cmpl   $0x0,-0xe8(%ebp)
-    96e7:	0f 84 e3 f5 ff ff    	je     0x8cd0
-    96ed:	8b 85 24 ff ff ff    	mov    -0xdc(%ebp),%eax
-    96f3:	c7 85 1c ff ff ff 01 	movl   $0x1,-0xe4(%ebp)
-    96fa:	00 00 00 
-    96fd:	e9 18 f3 ff ff       	jmp    0x8a1a
-    9702:	83 7d ec 0c          	cmpl   $0xc,-0x14(%ebp)
-    9706:	0f 84 0c ff ff ff    	je     0x9618
-    970c:	c7 44 24 0c 59 01 00 	movl   $0x159,0xc(%esp)
-    9713:	00 
-    9714:	c7 44 24 08 4a 04 00 	movl   $0x44a,0x8(%esp)
-    971b:	00 
-    971c:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
+    968f:	c7 44 24 08 81 04 00 	movl   $0x481,0x8(%esp)
+    9696:	00 
+    9697:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
+    969e:	00 
+    969f:	c7 04 24 77 00 00 00 	movl   $0x77,(%esp)
+    96a6:	e8 fc ff ff ff       	call   0x96a7
+    96ab:	8b 95 30 ff ff ff    	mov    -0xd0(%ebp),%edx
+    96b1:	8b 45 8c             	mov    -0x74(%ebp),%eax
+    96b4:	e8 67 db ff ff       	call   0x7220
+    96b9:	85 c0                	test   %eax,%eax
+    96bb:	0f 85 2b f4 ff ff    	jne    0x8aec
+    96c1:	c7 45 ec 0c 00 00 00 	movl   $0xc,-0x14(%ebp)
+    96c8:	31 db                	xor    %ebx,%ebx
+    96ca:	e9 34 f4 ff ff       	jmp    0x8b03
+    96cf:	8b 9d 58 ff ff ff    	mov    -0xa8(%ebp),%ebx
+    96d5:	eb a3                	jmp    0x967a
+    96d7:	8b 8d 58 ff ff ff    	mov    -0xa8(%ebp),%ecx
+    96dd:	eb 8b                	jmp    0x966a
+    96df:	8b 55 9c             	mov    -0x64(%ebp),%edx
+    96e2:	be 0c 00 00 00       	mov    $0xc,%esi
+    96e7:	e9 a4 f5 ff ff       	jmp    0x8c90
+    96ec:	84 c0                	test   %al,%al
+    96ee:	78 50                	js     0x9740
+    96f0:	83 bd 18 ff ff ff 00 	cmpl   $0x0,-0xe8(%ebp)
+    96f7:	0f 84 e3 f5 ff ff    	je     0x8ce0
+    96fd:	8b 85 24 ff ff ff    	mov    -0xdc(%ebp),%eax
+    9703:	c7 85 1c ff ff ff 01 	movl   $0x1,-0xe4(%ebp)
+    970a:	00 00 00 
+    970d:	e9 18 f3 ff ff       	jmp    0x8a2a
+    9712:	83 7d ec 0c          	cmpl   $0xc,-0x14(%ebp)
+    9716:	0f 84 0c ff ff ff    	je     0x9628
+    971c:	c7 44 24 0c 59 01 00 	movl   $0x159,0xc(%esp)
     9723:	00 
-    9724:	c7 04 24 77 00 00 00 	movl   $0x77,(%esp)
-    972b:	e8 fc ff ff ff       	call   0x972c
-    9730:	8b 8d 24 ff ff ff    	mov    -0xdc(%ebp),%ecx
-    9736:	8d 85 38 ff ff ff    	lea    -0xc8(%ebp),%eax
-    973c:	8b 95 30 ff ff ff    	mov    -0xd0(%ebp),%edx
-    9742:	e8 59 96 ff ff       	call   0x2da0
-    9747:	85 c0                	test   %eax,%eax
-    9749:	0f 84 bc f2 ff ff    	je     0x8a0b
-    974f:	eb 8f                	jmp    0x96e0
-    9751:	8b 9d 30 ff ff ff    	mov    -0xd0(%ebp),%ebx
-    9757:	31 c9                	xor    %ecx,%ecx
-    9759:	8d 85 38 ff ff ff    	lea    -0xc8(%ebp),%eax
-    975f:	83 c3 04             	add    $0x4,%ebx
-    9762:	89 da                	mov    %ebx,%edx
-    9764:	e8 f7 b0 ff ff       	call   0x4860
-    9769:	85 c0                	test   %eax,%eax
-    976b:	89 45 ec             	mov    %eax,-0x14(%ebp)
-    976e:	75 47                	jne    0x97b7
-    9770:	8b 8d 30 ff ff ff    	mov    -0xd0(%ebp),%ecx
-    9776:	0f b6 41 34          	movzbl 0x34(%ecx),%eax
-    977a:	a8 40                	test   $0x40,%al
-    977c:	75 19                	jne    0x9797
-    977e:	c7 85 28 ff ff ff 00 	movl   $0x0,-0xd8(%ebp)
-    9785:	00 00 00 
-    9788:	e9 76 f2 ff ff       	jmp    0x8a03
-    978d:	8b 55 9c             	mov    -0x64(%ebp),%edx
-    9790:	89 c6                	mov    %eax,%esi
-    9792:	e9 e9 f4 ff ff       	jmp    0x8c80
-    9797:	89 da                	mov    %ebx,%edx
-    9799:	8d 85 38 ff ff ff    	lea    -0xc8(%ebp),%eax
-    979f:	e8 6c c9 ff ff       	call   0x6110
-    97a4:	85 c0                	test   %eax,%eax
-    97a6:	89 45 ec             	mov    %eax,-0x14(%ebp)
-    97a9:	75 0c                	jne    0x97b7
-    97ab:	8b b5 30 ff ff ff    	mov    -0xd0(%ebp),%esi
-    97b1:	0f b6 46 34          	movzbl 0x34(%esi),%eax
-    97b5:	eb c7                	jmp    0x977e
-    97b7:	89 85 24 ff ff ff    	mov    %eax,-0xdc(%ebp)
-    97bd:	e9 0e f5 ff ff       	jmp    0x8cd0
-    97c2:	8b b5 f8 fe ff ff    	mov    -0x108(%ebp),%esi
-    97c8:	31 c0                	xor    %eax,%eax
-    97ca:	39 b5 08 ff ff ff    	cmp    %esi,-0xf8(%ebp)
-    97d0:	7d 10                	jge    0x97e2
-    97d2:	8b 95 e8 fe ff ff    	mov    -0x118(%ebp),%edx
-    97d8:	8b bd 08 ff ff ff    	mov    -0xf8(%ebp),%edi
-    97de:	0f b6 04 3a          	movzbl (%edx,%edi,1),%eax
-    97e2:	83 bd ec fe ff ff 00 	cmpl   $0x0,-0x114(%ebp)
-    97e9:	74 0a                	je     0x97f5
-    97eb:	8b 8d ec fe ff ff    	mov    -0x114(%ebp),%ecx
-    97f1:	0f b6 04 01          	movzbl (%ecx,%eax,1),%eax
-    97f5:	8b b5 04 ff ff ff    	mov    -0xfc(%ebp),%esi
-    97fb:	80 3c 06 00          	cmpb   $0x0,(%esi,%eax,1)
-    97ff:	0f 84 73 f4 ff ff    	je     0x8c78
-    9805:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
-    980b:	e9 f7 f0 ff ff       	jmp    0x8907
-    9810:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
-    9813:	8d 85 38 ff ff ff    	lea    -0xc8(%ebp),%eax
-    9819:	e8 62 a4 ff ff       	call   0x3c80
-    981e:	85 c0                	test   %eax,%eax
-    9820:	75 10                	jne    0x9832
-    9822:	8b 55 f0             	mov    -0x10(%ebp),%edx
-    9825:	89 d0                	mov    %edx,%eax
-    9827:	2b 85 50 ff ff ff    	sub    -0xb0(%ebp),%eax
-    982d:	e9 86 f6 ff ff       	jmp    0x8eb8
-    9832:	89 c6                	mov    %eax,%esi
-    9834:	8b 55 9c             	mov    -0x64(%ebp),%edx
-    9837:	e9 44 f4 ff ff       	jmp    0x8c80
-    983c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    9840:	55                   	push   %ebp
-    9841:	89 e5                	mov    %esp,%ebp
-    9843:	83 ec 2c             	sub    $0x2c,%esp
-    9846:	89 5d f4             	mov    %ebx,-0xc(%ebp)
-    9849:	8b 5d 08             	mov    0x8(%ebp),%ebx
-    984c:	89 75 f8             	mov    %esi,-0x8(%ebp)
-    984f:	8b 75 18             	mov    0x18(%ebp),%esi
-    9852:	89 7d fc             	mov    %edi,-0x4(%ebp)
-    9855:	8b 03                	mov    (%ebx),%eax
-    9857:	f7 c6 f8 ff ff ff    	test   $0xfffffff8,%esi
-    985d:	89 45 f0             	mov    %eax,-0x10(%ebp)
-    9860:	b8 02 00 00 00       	mov    $0x2,%eax
-    9865:	0f 85 94 00 00 00    	jne    0x98ff
-    986b:	f7 c6 04 00 00 00    	test   $0x4,%esi
-    9871:	0f 85 99 00 00 00    	jne    0x9910
-    9877:	8b 45 0c             	mov    0xc(%ebp),%eax
-    987a:	89 04 24             	mov    %eax,(%esp)
-    987d:	e8 fc ff ff ff       	call   0x987e
-    9882:	31 d2                	xor    %edx,%edx
-    9884:	89 c7                	mov    %eax,%edi
-    9886:	b8 00 00 00 00       	mov    $0x0,%eax
-    988b:	85 c0                	test   %eax,%eax
-    988d:	74 16                	je     0x98a5
-    988f:	8b 45 f0             	mov    -0x10(%ebp),%eax
-    9892:	89 55 ec             	mov    %edx,-0x14(%ebp)
-    9895:	05 88 00 00 00       	add    $0x88,%eax
-    989a:	89 04 24             	mov    %eax,(%esp)
-    989d:	e8 fc ff ff ff       	call   0x989e
-    98a2:	8b 55 ec             	mov    -0x14(%ebp),%edx
-    98a5:	f6 43 1c 10          	testb  $0x10,0x1c(%ebx)
-    98a9:	74 75                	je     0x9920
-    98ab:	89 74 24 14          	mov    %esi,0x14(%esp)
-    98af:	c7 44 24 10 00 00 00 	movl   $0x0,0x10(%esp)
-    98b6:	00 
-    98b7:	c7 44 24 0c 00 00 00 	movl   $0x0,0xc(%esp)
-    98be:	00 
-    98bf:	89 f8                	mov    %edi,%eax
-    98c1:	89 f9                	mov    %edi,%ecx
-    98c3:	29 d0                	sub    %edx,%eax
-    98c5:	89 14 24             	mov    %edx,(%esp)
-    98c8:	8b 55 0c             	mov    0xc(%ebp),%edx
-    98cb:	89 44 24 04          	mov    %eax,0x4(%esp)
-    98cf:	89 d8                	mov    %ebx,%eax
-    98d1:	89 7c 24 08          	mov    %edi,0x8(%esp)
-    98d5:	e8 96 eb ff ff       	call   0x8470
-    98da:	89 c3                	mov    %eax,%ebx
-    98dc:	b8 00 00 00 00       	mov    $0x0,%eax
-    98e1:	83 ec 18             	sub    $0x18,%esp
-    98e4:	85 c0                	test   %eax,%eax
-    98e6:	74 10                	je     0x98f8
-    98e8:	8b 45 f0             	mov    -0x10(%ebp),%eax
-    98eb:	05 88 00 00 00       	add    $0x88,%eax
-    98f0:	89 04 24             	mov    %eax,(%esp)
-    98f3:	e8 fc ff ff ff       	call   0x98f4
-    98f8:	31 c0                	xor    %eax,%eax
-    98fa:	85 db                	test   %ebx,%ebx
-    98fc:	0f 95 c0             	setne  %al
-    98ff:	8b 5d f4             	mov    -0xc(%ebp),%ebx
-    9902:	8b 75 f8             	mov    -0x8(%ebp),%esi
-    9905:	8b 7d fc             	mov    -0x4(%ebp),%edi
-    9908:	89 ec                	mov    %ebp,%esp
-    990a:	5d                   	pop    %ebp
-    990b:	c3                   	ret    
-    990c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    9910:	8b 45 14             	mov    0x14(%ebp),%eax
-    9913:	8b 10                	mov    (%eax),%edx
-    9915:	8b 78 04             	mov    0x4(%eax),%edi
-    9918:	e9 69 ff ff ff       	jmp    0x9886
-    991d:	8d 76 00             	lea    0x0(%esi),%esi
+    9724:	c7 44 24 08 4a 04 00 	movl   $0x44a,0x8(%esp)
+    972b:	00 
+    972c:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
+    9733:	00 
+    9734:	c7 04 24 77 00 00 00 	movl   $0x77,(%esp)
+    973b:	e8 fc ff ff ff       	call   0x973c
+    9740:	8b 8d 24 ff ff ff    	mov    -0xdc(%ebp),%ecx
+    9746:	8d 85 38 ff ff ff    	lea    -0xc8(%ebp),%eax
+    974c:	8b 95 30 ff ff ff    	mov    -0xd0(%ebp),%edx
+    9752:	e8 49 96 ff ff       	call   0x2da0
+    9757:	85 c0                	test   %eax,%eax
+    9759:	0f 84 bc f2 ff ff    	je     0x8a1b
+    975f:	eb 8f                	jmp    0x96f0
+    9761:	8b 9d 30 ff ff ff    	mov    -0xd0(%ebp),%ebx
+    9767:	31 c9                	xor    %ecx,%ecx
+    9769:	8d 85 38 ff ff ff    	lea    -0xc8(%ebp),%eax
+    976f:	83 c3 04             	add    $0x4,%ebx
+    9772:	89 da                	mov    %ebx,%edx
+    9774:	e8 e7 b0 ff ff       	call   0x4860
+    9779:	85 c0                	test   %eax,%eax
+    977b:	89 45 ec             	mov    %eax,-0x14(%ebp)
+    977e:	75 47                	jne    0x97c7
+    9780:	8b 8d 30 ff ff ff    	mov    -0xd0(%ebp),%ecx
+    9786:	0f b6 41 34          	movzbl 0x34(%ecx),%eax
+    978a:	a8 40                	test   $0x40,%al
+    978c:	75 19                	jne    0x97a7
+    978e:	c7 85 28 ff ff ff 00 	movl   $0x0,-0xd8(%ebp)
+    9795:	00 00 00 
+    9798:	e9 76 f2 ff ff       	jmp    0x8a13
+    979d:	8b 55 9c             	mov    -0x64(%ebp),%edx
+    97a0:	89 c6                	mov    %eax,%esi
+    97a2:	e9 e9 f4 ff ff       	jmp    0x8c90
+    97a7:	89 da                	mov    %ebx,%edx
+    97a9:	8d 85 38 ff ff ff    	lea    -0xc8(%ebp),%eax
+    97af:	e8 6c c9 ff ff       	call   0x6120
+    97b4:	85 c0                	test   %eax,%eax
+    97b6:	89 45 ec             	mov    %eax,-0x14(%ebp)
+    97b9:	75 0c                	jne    0x97c7
+    97bb:	8b b5 30 ff ff ff    	mov    -0xd0(%ebp),%esi
+    97c1:	0f b6 46 34          	movzbl 0x34(%esi),%eax
+    97c5:	eb c7                	jmp    0x978e
+    97c7:	89 85 24 ff ff ff    	mov    %eax,-0xdc(%ebp)
+    97cd:	e9 0e f5 ff ff       	jmp    0x8ce0
+    97d2:	8b b5 f8 fe ff ff    	mov    -0x108(%ebp),%esi
+    97d8:	31 c0                	xor    %eax,%eax
+    97da:	39 b5 08 ff ff ff    	cmp    %esi,-0xf8(%ebp)
+    97e0:	7d 10                	jge    0x97f2
+    97e2:	8b 95 e8 fe ff ff    	mov    -0x118(%ebp),%edx
+    97e8:	8b bd 08 ff ff ff    	mov    -0xf8(%ebp),%edi
+    97ee:	0f b6 04 3a          	movzbl (%edx,%edi,1),%eax
+    97f2:	83 bd ec fe ff ff 00 	cmpl   $0x0,-0x114(%ebp)
+    97f9:	74 0a                	je     0x9805
+    97fb:	8b 8d ec fe ff ff    	mov    -0x114(%ebp),%ecx
+    9801:	0f b6 04 01          	movzbl (%ecx,%eax,1),%eax
+    9805:	8b b5 04 ff ff ff    	mov    -0xfc(%ebp),%esi
+    980b:	80 3c 06 00          	cmpb   $0x0,(%esi,%eax,1)
+    980f:	0f 84 73 f4 ff ff    	je     0x8c88
+    9815:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
+    981b:	e9 f7 f0 ff ff       	jmp    0x8917
+    9820:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
+    9823:	8d 85 38 ff ff ff    	lea    -0xc8(%ebp),%eax
+    9829:	e8 52 a4 ff ff       	call   0x3c80
+    982e:	85 c0                	test   %eax,%eax
+    9830:	75 10                	jne    0x9842
+    9832:	8b 55 f0             	mov    -0x10(%ebp),%edx
+    9835:	89 d0                	mov    %edx,%eax
+    9837:	2b 85 50 ff ff ff    	sub    -0xb0(%ebp),%eax
+    983d:	e9 86 f6 ff ff       	jmp    0x8ec8
+    9842:	89 c6                	mov    %eax,%esi
+    9844:	8b 55 9c             	mov    -0x64(%ebp),%edx
+    9847:	e9 44 f4 ff ff       	jmp    0x8c90
+    984c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    9850:	55                   	push   %ebp
+    9851:	89 e5                	mov    %esp,%ebp
+    9853:	83 ec 2c             	sub    $0x2c,%esp
+    9856:	89 5d f4             	mov    %ebx,-0xc(%ebp)
+    9859:	8b 5d 08             	mov    0x8(%ebp),%ebx
+    985c:	89 75 f8             	mov    %esi,-0x8(%ebp)
+    985f:	8b 75 18             	mov    0x18(%ebp),%esi
+    9862:	89 7d fc             	mov    %edi,-0x4(%ebp)
+    9865:	8b 03                	mov    (%ebx),%eax
+    9867:	f7 c6 f8 ff ff ff    	test   $0xfffffff8,%esi
+    986d:	89 45 f0             	mov    %eax,-0x10(%ebp)
+    9870:	b8 02 00 00 00       	mov    $0x2,%eax
+    9875:	0f 85 94 00 00 00    	jne    0x990f
+    987b:	f7 c6 04 00 00 00    	test   $0x4,%esi
+    9881:	0f 85 99 00 00 00    	jne    0x9920
+    9887:	8b 45 0c             	mov    0xc(%ebp),%eax
+    988a:	89 04 24             	mov    %eax,(%esp)
+    988d:	e8 fc ff ff ff       	call   0x988e
+    9892:	31 d2                	xor    %edx,%edx
+    9894:	89 c7                	mov    %eax,%edi
+    9896:	b8 00 00 00 00       	mov    $0x0,%eax
+    989b:	85 c0                	test   %eax,%eax
+    989d:	74 16                	je     0x98b5
+    989f:	8b 45 f0             	mov    -0x10(%ebp),%eax
+    98a2:	89 55 ec             	mov    %edx,-0x14(%ebp)
+    98a5:	05 88 00 00 00       	add    $0x88,%eax
+    98aa:	89 04 24             	mov    %eax,(%esp)
+    98ad:	e8 fc ff ff ff       	call   0x98ae
+    98b2:	8b 55 ec             	mov    -0x14(%ebp),%edx
+    98b5:	f6 43 1c 10          	testb  $0x10,0x1c(%ebx)
+    98b9:	74 75                	je     0x9930
+    98bb:	89 74 24 14          	mov    %esi,0x14(%esp)
+    98bf:	c7 44 24 10 00 00 00 	movl   $0x0,0x10(%esp)
+    98c6:	00 
+    98c7:	c7 44 24 0c 00 00 00 	movl   $0x0,0xc(%esp)
+    98ce:	00 
+    98cf:	89 f8                	mov    %edi,%eax
+    98d1:	89 f9                	mov    %edi,%ecx
+    98d3:	29 d0                	sub    %edx,%eax
+    98d5:	89 14 24             	mov    %edx,(%esp)
+    98d8:	8b 55 0c             	mov    0xc(%ebp),%edx
+    98db:	89 44 24 04          	mov    %eax,0x4(%esp)
+    98df:	89 d8                	mov    %ebx,%eax
+    98e1:	89 7c 24 08          	mov    %edi,0x8(%esp)
+    98e5:	e8 96 eb ff ff       	call   0x8480
+    98ea:	89 c3                	mov    %eax,%ebx
+    98ec:	b8 00 00 00 00       	mov    $0x0,%eax
+    98f1:	83 ec 18             	sub    $0x18,%esp
+    98f4:	85 c0                	test   %eax,%eax
+    98f6:	74 10                	je     0x9908
+    98f8:	8b 45 f0             	mov    -0x10(%ebp),%eax
+    98fb:	05 88 00 00 00       	add    $0x88,%eax
+    9900:	89 04 24             	mov    %eax,(%esp)
+    9903:	e8 fc ff ff ff       	call   0x9904
+    9908:	31 c0                	xor    %eax,%eax
+    990a:	85 db                	test   %ebx,%ebx
+    990c:	0f 95 c0             	setne  %al
+    990f:	8b 5d f4             	mov    -0xc(%ebp),%ebx
+    9912:	8b 75 f8             	mov    -0x8(%ebp),%esi
+    9915:	8b 7d fc             	mov    -0x4(%ebp),%edi
+    9918:	89 ec                	mov    %ebp,%esp
+    991a:	5d                   	pop    %ebp
+    991b:	c3                   	ret    
+    991c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
     9920:	8b 45 14             	mov    0x14(%ebp),%eax
-    9923:	89 74 24 14          	mov    %esi,0x14(%esp)
-    9927:	89 44 24 10          	mov    %eax,0x10(%esp)
-    992b:	8b 45 10             	mov    0x10(%ebp),%eax
-    992e:	89 44 24 0c          	mov    %eax,0xc(%esp)
-    9932:	eb 8b                	jmp    0x98bf
-    9934:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
-    993a:	8d bf 00 00 00 00    	lea    0x0(%edi),%edi
-    9940:	55                   	push   %ebp
-    9941:	89 e5                	mov    %esp,%ebp
-    9943:	83 ec 14             	sub    $0x14,%esp
-    9946:	8b 45 08             	mov    0x8(%ebp),%eax
-    9949:	c7 44 24 10 00 00 00 	movl   $0x0,0x10(%esp)
-    9950:	00 
-    9951:	c7 44 24 0c 00 00 00 	movl   $0x0,0xc(%esp)
-    9958:	00 
-    9959:	c7 44 24 08 00 00 00 	movl   $0x0,0x8(%esp)
+    9923:	8b 10                	mov    (%eax),%edx
+    9925:	8b 78 04             	mov    0x4(%eax),%edi
+    9928:	e9 69 ff ff ff       	jmp    0x9896
+    992d:	8d 76 00             	lea    0x0(%esi),%esi
+    9930:	8b 45 14             	mov    0x14(%ebp),%eax
+    9933:	89 74 24 14          	mov    %esi,0x14(%esp)
+    9937:	89 44 24 10          	mov    %eax,0x10(%esp)
+    993b:	8b 45 10             	mov    0x10(%ebp),%eax
+    993e:	89 44 24 0c          	mov    %eax,0xc(%esp)
+    9942:	eb 8b                	jmp    0x98cf
+    9944:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
+    994a:	8d bf 00 00 00 00    	lea    0x0(%edi),%edi
+    9950:	55                   	push   %ebp
+    9951:	89 e5                	mov    %esp,%ebp
+    9953:	83 ec 14             	sub    $0x14,%esp
+    9956:	8b 45 08             	mov    0x8(%ebp),%eax
+    9959:	c7 44 24 10 00 00 00 	movl   $0x0,0x10(%esp)
     9960:	00 
-    9961:	89 44 24 04          	mov    %eax,0x4(%esp)
-    9965:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
-    996c:	e8 fc ff ff ff       	call   0x996d
-    9971:	c9                   	leave  
-    9972:	85 c0                	test   %eax,%eax
-    9974:	0f 94 c0             	sete   %al
-    9977:	0f b6 c0             	movzbl %al,%eax
-    997a:	c3                   	ret    
-    997b:	90                   	nop
-    997c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    9980:	55                   	push   %ebp
-    9981:	89 e5                	mov    %esp,%ebp
-    9983:	57                   	push   %edi
-    9984:	56                   	push   %esi
-    9985:	53                   	push   %ebx
-    9986:	89 d3                	mov    %edx,%ebx
-    9988:	81 ec d0 00 00 00    	sub    $0xd0,%esp
-    998e:	89 ca                	mov    %ecx,%edx
-    9990:	89 45 ec             	mov    %eax,-0x14(%ebp)
-    9993:	8b 45 0c             	mov    0xc(%ebp),%eax
-    9996:	f6 45 12 40          	testb  $0x40,0x12(%ebp)
-    999a:	89 45 f0             	mov    %eax,-0x10(%ebp)
-    999d:	74 1b                	je     0x99ba
-    999f:	bf 89 00 00 00       	mov    $0x89,%edi
-    99a4:	b9 06 00 00 00       	mov    $0x6,%ecx
-    99a9:	89 c6                	mov    %eax,%esi
-    99ab:	f3 a6                	repz cmpsb %es:(%edi),%ds:(%esi)
-    99ad:	0f 85 c1 01 00 00    	jne    0x9b74
-    99b3:	c7 45 f0 95 00 00 00 	movl   $0x95,-0x10(%ebp)
-    99ba:	8b 4d 08             	mov    0x8(%ebp),%ecx
-    99bd:	8b 72 2c             	mov    0x2c(%edx),%esi
-    99c0:	8b 01                	mov    (%ecx),%eax
-    99c2:	39 f0                	cmp    %esi,%eax
-    99c4:	0f 84 03 08 00 00    	je     0xa1cd
-    99ca:	8b 45 f0             	mov    -0x10(%ebp),%eax
-    99cd:	8d 3c b5 00 00 00 00 	lea    0x0(,%esi,4),%edi
-    99d4:	83 c6 01             	add    $0x1,%esi
-    99d7:	03 7a 14             	add    0x14(%edx),%edi
-    99da:	89 04 24             	mov    %eax,(%esp)
-    99dd:	89 55 e4             	mov    %edx,-0x1c(%ebp)
-    99e0:	e8 fc ff ff ff       	call   0x99e1
-    99e5:	8b 55 e4             	mov    -0x1c(%ebp),%edx
-    99e8:	b9 06 00 00 00       	mov    $0x6,%ecx
-    99ed:	89 72 2c             	mov    %esi,0x2c(%edx)
-    99f0:	8b 75 f0             	mov    -0x10(%ebp),%esi
-    99f3:	89 07                	mov    %eax,(%edi)
-    99f5:	bf 9b 00 00 00       	mov    $0x9b,%edi
-    99fa:	f3 a6                	repz cmpsb %es:(%edi),%ds:(%esi)
-    99fc:	75 6a                	jne    0x9a68
-    99fe:	8b 45 ec             	mov    -0x14(%ebp),%eax
-    9a01:	85 c0                	test   %eax,%eax
-    9a03:	0f 85 7e 04 00 00    	jne    0x9e87
-    9a09:	a1 00 00 00 00       	mov    0x0,%eax
-    9a0e:	8b 35 00 00 00 00    	mov    0x0,%esi
-    9a14:	65 8b 00             	mov    %gs:(%eax),%eax
-    9a17:	89 75 f0             	mov    %esi,-0x10(%ebp)
-    9a1a:	65 8b 16             	mov    %gs:(%esi),%edx
-    9a1d:	89 de                	mov    %ebx,%esi
-    9a1f:	89 45 ec             	mov    %eax,-0x14(%ebp)
-    9a22:	31 c0                	xor    %eax,%eax
-    9a24:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    9a28:	85 d2                	test   %edx,%edx
-    9a2a:	0f 84 92 02 00 00    	je     0x9cc2
-    9a30:	f6 04 42 08          	testb  $0x8,(%edx,%eax,2)
-    9a34:	74 14                	je     0x9a4a
-    9a36:	89 c3                	mov    %eax,%ebx
-    9a38:	89 c1                	mov    %eax,%ecx
-    9a3a:	c1 eb 05             	shr    $0x5,%ebx
-    9a3d:	83 e1 1f             	and    $0x1f,%ecx
-    9a40:	bf 01 00 00 00       	mov    $0x1,%edi
-    9a45:	d3 e7                	shl    %cl,%edi
-    9a47:	09 3c 9e             	or     %edi,(%esi,%ebx,4)
-    9a4a:	83 c0 01             	add    $0x1,%eax
-    9a4d:	3d 00 01 00 00       	cmp    $0x100,%eax
-    9a52:	75 d4                	jne    0x9a28
-    9a54:	8b 75 f0             	mov    -0x10(%ebp),%esi
-    9a57:	31 c0                	xor    %eax,%eax
-    9a59:	65 89 16             	mov    %edx,%gs:(%esi)
-    9a5c:	81 c4 d0 00 00 00    	add    $0xd0,%esp
-    9a62:	5b                   	pop    %ebx
-    9a63:	5e                   	pop    %esi
-    9a64:	5f                   	pop    %edi
-    9a65:	5d                   	pop    %ebp
-    9a66:	c3                   	ret    
-    9a67:	90                   	nop
-    9a68:	8b 75 f0             	mov    -0x10(%ebp),%esi
-    9a6b:	bf a1 00 00 00       	mov    $0xa1,%edi
-    9a70:	b9 06 00 00 00       	mov    $0x6,%ecx
-    9a75:	f3 a6                	repz cmpsb %es:(%edi),%ds:(%esi)
-    9a77:	75 66                	jne    0x9adf
-    9a79:	8b 7d ec             	mov    -0x14(%ebp),%edi
-    9a7c:	85 ff                	test   %edi,%edi
-    9a7e:	0f 85 6f 04 00 00    	jne    0x9ef3
-    9a84:	a1 00 00 00 00       	mov    0x0,%eax
-    9a89:	8b 35 00 00 00 00    	mov    0x0,%esi
-    9a8f:	65 8b 00             	mov    %gs:(%eax),%eax
-    9a92:	89 75 f0             	mov    %esi,-0x10(%ebp)
-    9a95:	65 8b 16             	mov    %gs:(%esi),%edx
-    9a98:	89 de                	mov    %ebx,%esi
-    9a9a:	89 45 ec             	mov    %eax,-0x14(%ebp)
-    9a9d:	31 c0                	xor    %eax,%eax
-    9a9f:	90                   	nop
-    9aa0:	85 d2                	test   %edx,%edx
-    9aa2:	0f 84 22 03 00 00    	je     0x9dca
-    9aa8:	f6 04 42 02          	testb  $0x2,(%edx,%eax,2)
-    9aac:	74 14                	je     0x9ac2
-    9aae:	89 c3                	mov    %eax,%ebx
-    9ab0:	89 c1                	mov    %eax,%ecx
-    9ab2:	c1 eb 05             	shr    $0x5,%ebx
-    9ab5:	83 e1 1f             	and    $0x1f,%ecx
-    9ab8:	bf 01 00 00 00       	mov    $0x1,%edi
-    9abd:	d3 e7                	shl    %cl,%edi
-    9abf:	09 3c 9e             	or     %edi,(%esi,%ebx,4)
-    9ac2:	83 c0 01             	add    $0x1,%eax
-    9ac5:	3d 00 01 00 00       	cmp    $0x100,%eax
-    9aca:	75 d4                	jne    0x9aa0
-    9acc:	8b 45 f0             	mov    -0x10(%ebp),%eax
-    9acf:	65 89 10             	mov    %edx,%gs:(%eax)
-    9ad2:	31 c0                	xor    %eax,%eax
-    9ad4:	81 c4 d0 00 00 00    	add    $0xd0,%esp
-    9ada:	5b                   	pop    %ebx
-    9adb:	5e                   	pop    %esi
-    9adc:	5f                   	pop    %edi
-    9add:	5d                   	pop    %ebp
-    9ade:	c3                   	ret    
-    9adf:	8b 75 f0             	mov    -0x10(%ebp),%esi
-    9ae2:	bf 8f 00 00 00       	mov    $0x8f,%edi
-    9ae7:	b9 06 00 00 00       	mov    $0x6,%ecx
-    9aec:	f3 a6                	repz cmpsb %es:(%edi),%ds:(%esi)
-    9aee:	0f 84 a1 00 00 00    	je     0x9b95
-    9af4:	8b 75 f0             	mov    -0x10(%ebp),%esi
-    9af7:	bf a7 00 00 00       	mov    $0xa7,%edi
-    9afc:	b9 06 00 00 00       	mov    $0x6,%ecx
-    9b01:	f3 a6                	repz cmpsb %es:(%edi),%ds:(%esi)
-    9b03:	0f 85 f1 00 00 00    	jne    0x9bfa
-    9b09:	8b 4d ec             	mov    -0x14(%ebp),%ecx
-    9b0c:	85 c9                	test   %ecx,%ecx
-    9b0e:	0f 85 4d 06 00 00    	jne    0xa161
-    9b14:	8b 35 00 00 00 00    	mov    0x0,%esi
-    9b1a:	a1 00 00 00 00       	mov    0x0,%eax
-    9b1f:	65 8b 3e             	mov    %gs:(%esi),%edi
-    9b22:	65 8b 00             	mov    %gs:(%eax),%eax
-    9b25:	89 75 f0             	mov    %esi,-0x10(%ebp)
-    9b28:	89 de                	mov    %ebx,%esi
-    9b2a:	89 7d ec             	mov    %edi,-0x14(%ebp)
-    9b2d:	89 fa                	mov    %edi,%edx
-    9b2f:	89 45 e8             	mov    %eax,-0x18(%ebp)
-    9b32:	31 c0                	xor    %eax,%eax
-    9b34:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    9b38:	85 d2                	test   %edx,%edx
-    9b3a:	0f 84 0b 06 00 00    	je     0xa14b
-    9b40:	f6 44 42 01 20       	testb  $0x20,0x1(%edx,%eax,2)
-    9b45:	74 1b                	je     0x9b62
-    9b47:	89 c7                	mov    %eax,%edi
-    9b49:	89 c3                	mov    %eax,%ebx
-    9b4b:	83 e7 1f             	and    $0x1f,%edi
-    9b4e:	89 7d e0             	mov    %edi,-0x20(%ebp)
-    9b51:	0f b6 4d e0          	movzbl -0x20(%ebp),%ecx
-    9b55:	c1 eb 05             	shr    $0x5,%ebx
-    9b58:	bf 01 00 00 00       	mov    $0x1,%edi
-    9b5d:	d3 e7                	shl    %cl,%edi
-    9b5f:	09 3c 9e             	or     %edi,(%esi,%ebx,4)
-    9b62:	83 c0 01             	add    $0x1,%eax
-    9b65:	3d 00 01 00 00       	cmp    $0x100,%eax
-    9b6a:	75 cc                	jne    0x9b38
-    9b6c:	8b 55 ec             	mov    -0x14(%ebp),%edx
-    9b6f:	e9 58 ff ff ff       	jmp    0x9acc
-    9b74:	8b 75 f0             	mov    -0x10(%ebp),%esi
-    9b77:	bf 8f 00 00 00       	mov    $0x8f,%edi
-    9b7c:	b9 06 00 00 00       	mov    $0x6,%ecx
-    9b81:	f3 a6                	repz cmpsb %es:(%edi),%ds:(%esi)
-    9b83:	0f 85 31 fe ff ff    	jne    0x99ba
-    9b89:	c7 45 f0 95 00 00 00 	movl   $0x95,-0x10(%ebp)
-    9b90:	e9 25 fe ff ff       	jmp    0x99ba
-    9b95:	8b 75 ec             	mov    -0x14(%ebp),%esi
-    9b98:	85 f6                	test   %esi,%esi
-    9b9a:	0f 85 3e 05 00 00    	jne    0xa0de
-    9ba0:	a1 00 00 00 00       	mov    0x0,%eax
-    9ba5:	8b 35 00 00 00 00    	mov    0x0,%esi
-    9bab:	65 8b 00             	mov    %gs:(%eax),%eax
-    9bae:	89 75 f0             	mov    %esi,-0x10(%ebp)
-    9bb1:	65 8b 16             	mov    %gs:(%esi),%edx
-    9bb4:	89 de                	mov    %ebx,%esi
-    9bb6:	89 45 ec             	mov    %eax,-0x14(%ebp)
-    9bb9:	31 c0                	xor    %eax,%eax
-    9bbb:	90                   	nop
-    9bbc:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    9bc0:	85 d2                	test   %edx,%edx
-    9bc2:	0f 84 15 02 00 00    	je     0x9ddd
-    9bc8:	f6 44 42 01 02       	testb  $0x2,0x1(%edx,%eax,2)
-    9bcd:	74 14                	je     0x9be3
-    9bcf:	89 c3                	mov    %eax,%ebx
-    9bd1:	89 c1                	mov    %eax,%ecx
-    9bd3:	c1 eb 05             	shr    $0x5,%ebx
-    9bd6:	83 e1 1f             	and    $0x1f,%ecx
-    9bd9:	bf 01 00 00 00       	mov    $0x1,%edi
-    9bde:	d3 e7                	shl    %cl,%edi
-    9be0:	09 3c 9e             	or     %edi,(%esi,%ebx,4)
-    9be3:	83 c0 01             	add    $0x1,%eax
-    9be6:	3d 00 01 00 00       	cmp    $0x100,%eax
-    9beb:	75 d3                	jne    0x9bc0
-    9bed:	8b 45 f0             	mov    -0x10(%ebp),%eax
-    9bf0:	65 89 10             	mov    %edx,%gs:(%eax)
-    9bf3:	31 c0                	xor    %eax,%eax
-    9bf5:	e9 da fe ff ff       	jmp    0x9ad4
-    9bfa:	8b 75 f0             	mov    -0x10(%ebp),%esi
-    9bfd:	bf 95 00 00 00       	mov    $0x95,%edi
-    9c02:	b9 06 00 00 00       	mov    $0x6,%ecx
-    9c07:	f3 a6                	repz cmpsb %es:(%edi),%ds:(%esi)
-    9c09:	74 5b                	je     0x9c66
-    9c0b:	c7 44 24 04 ad 00 00 	movl   $0xad,0x4(%esp)
-    9c12:	00 
-    9c13:	8b 55 f0             	mov    -0x10(%ebp),%edx
-    9c16:	89 14 24             	mov    %edx,(%esp)
-    9c19:	e8 fc ff ff ff       	call   0x9c1a
-    9c1e:	85 c0                	test   %eax,%eax
-    9c20:	0f 85 af 00 00 00    	jne    0x9cd5
-    9c26:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
-    9c2a:	0f 85 15 09 00 00    	jne    0xa545
-    9c30:	83 c3 04             	add    $0x4,%ebx
-    9c33:	ba 01 00 00 00       	mov    $0x1,%edx
-    9c38:	83 c0 01             	add    $0x1,%eax
-    9c3b:	3d 00 01 00 00       	cmp    $0x100,%eax
-    9c40:	74 1d                	je     0x9c5f
-    9c42:	8d 48 d0             	lea    -0x30(%eax),%ecx
-    9c45:	83 f9 09             	cmp    $0x9,%ecx
-    9c48:	77 ee                	ja     0x9c38
-    9c4a:	89 c1                	mov    %eax,%ecx
-    9c4c:	89 d7                	mov    %edx,%edi
-    9c4e:	83 e1 1f             	and    $0x1f,%ecx
-    9c51:	83 c0 01             	add    $0x1,%eax
-    9c54:	d3 e7                	shl    %cl,%edi
-    9c56:	09 3b                	or     %edi,(%ebx)
-    9c58:	3d 00 01 00 00       	cmp    $0x100,%eax
-    9c5d:	75 e3                	jne    0x9c42
-    9c5f:	31 c0                	xor    %eax,%eax
-    9c61:	e9 f6 fd ff ff       	jmp    0x9a5c
-    9c66:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
-    9c6a:	0f 85 02 04 00 00    	jne    0xa072
-    9c70:	a1 00 00 00 00       	mov    0x0,%eax
-    9c75:	8b 35 00 00 00 00    	mov    0x0,%esi
-    9c7b:	65 8b 00             	mov    %gs:(%eax),%eax
-    9c7e:	89 75 f0             	mov    %esi,-0x10(%ebp)
-    9c81:	65 8b 16             	mov    %gs:(%esi),%edx
-    9c84:	89 de                	mov    %ebx,%esi
-    9c86:	89 45 ec             	mov    %eax,-0x14(%ebp)
-    9c89:	31 c0                	xor    %eax,%eax
-    9c8b:	90                   	nop
-    9c8c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    9c90:	85 d2                	test   %edx,%edx
-    9c92:	0f 84 c7 03 00 00    	je     0xa05f
-    9c98:	f6 44 42 01 04       	testb  $0x4,0x1(%edx,%eax,2)
-    9c9d:	74 14                	je     0x9cb3
-    9c9f:	89 c3                	mov    %eax,%ebx
-    9ca1:	89 c1                	mov    %eax,%ecx
-    9ca3:	c1 eb 05             	shr    $0x5,%ebx
-    9ca6:	83 e1 1f             	and    $0x1f,%ecx
-    9ca9:	bf 01 00 00 00       	mov    $0x1,%edi
-    9cae:	d3 e7                	shl    %cl,%edi
-    9cb0:	09 3c 9e             	or     %edi,(%esi,%ebx,4)
-    9cb3:	83 c0 01             	add    $0x1,%eax
-    9cb6:	3d 00 01 00 00       	cmp    $0x100,%eax
-    9cbb:	75 d3                	jne    0x9c90
-    9cbd:	e9 0a fe ff ff       	jmp    0x9acc
-    9cc2:	8b 7d ec             	mov    -0x14(%ebp),%edi
-    9cc5:	8b 17                	mov    (%edi),%edx
-    9cc7:	8b 52 28             	mov    0x28(%edx),%edx
-    9cca:	81 c2 00 01 00 00    	add    $0x100,%edx
-    9cd0:	e9 5b fd ff ff       	jmp    0x9a30
-    9cd5:	c7 44 24 04 b3 00 00 	movl   $0xb3,0x4(%esp)
-    9cdc:	00 
-    9cdd:	8b 45 f0             	mov    -0x10(%ebp),%eax
-    9ce0:	89 04 24             	mov    %eax,(%esp)
-    9ce3:	e8 fc ff ff ff       	call   0x9ce4
-    9ce8:	85 c0                	test   %eax,%eax
-    9cea:	75 5e                	jne    0x9d4a
-    9cec:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
-    9cf0:	0f 85 fd 02 00 00    	jne    0x9ff3
-    9cf6:	a1 00 00 00 00       	mov    0x0,%eax
-    9cfb:	8b 35 00 00 00 00    	mov    0x0,%esi
-    9d01:	65 8b 00             	mov    %gs:(%eax),%eax
-    9d04:	89 75 f0             	mov    %esi,-0x10(%ebp)
-    9d07:	65 8b 16             	mov    %gs:(%esi),%edx
-    9d0a:	89 de                	mov    %ebx,%esi
-    9d0c:	89 45 ec             	mov    %eax,-0x14(%ebp)
-    9d0f:	31 c0                	xor    %eax,%eax
-    9d11:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
-    9d18:	85 d2                	test   %edx,%edx
-    9d1a:	0f 84 c0 02 00 00    	je     0x9fe0
-    9d20:	f6 44 42 01 40       	testb  $0x40,0x1(%edx,%eax,2)
-    9d25:	74 14                	je     0x9d3b
-    9d27:	89 c3                	mov    %eax,%ebx
-    9d29:	89 c1                	mov    %eax,%ecx
-    9d2b:	c1 eb 05             	shr    $0x5,%ebx
-    9d2e:	83 e1 1f             	and    $0x1f,%ecx
-    9d31:	bf 01 00 00 00       	mov    $0x1,%edi
-    9d36:	d3 e7                	shl    %cl,%edi
-    9d38:	09 3c 9e             	or     %edi,(%esi,%ebx,4)
-    9d3b:	83 c0 01             	add    $0x1,%eax
-    9d3e:	3d 00 01 00 00       	cmp    $0x100,%eax
-    9d43:	75 d3                	jne    0x9d18
-    9d45:	e9 82 fd ff ff       	jmp    0x9acc
-    9d4a:	c7 44 24 04 89 00 00 	movl   $0x89,0x4(%esp)
-    9d51:	00 
-    9d52:	8b 55 f0             	mov    -0x10(%ebp),%edx
-    9d55:	89 14 24             	mov    %edx,(%esp)
-    9d58:	e8 fc ff ff ff       	call   0x9d59
-    9d5d:	85 c0                	test   %eax,%eax
-    9d5f:	0f 85 8b 00 00 00    	jne    0x9df0
-    9d65:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
-    9d69:	0f 85 05 02 00 00    	jne    0x9f74
-    9d6f:	8b 35 00 00 00 00    	mov    0x0,%esi
-    9d75:	a1 00 00 00 00       	mov    0x0,%eax
-    9d7a:	65 8b 3e             	mov    %gs:(%esi),%edi
-    9d7d:	65 8b 00             	mov    %gs:(%eax),%eax
-    9d80:	89 75 f0             	mov    %esi,-0x10(%ebp)
-    9d83:	89 fa                	mov    %edi,%edx
-    9d85:	89 45 ec             	mov    %eax,-0x14(%ebp)
-    9d88:	31 c0                	xor    %eax,%eax
-    9d8a:	89 7d e0             	mov    %edi,-0x20(%ebp)
-    9d8d:	85 d2                	test   %edx,%edx
-    9d8f:	0f 84 c9 01 00 00    	je     0x9f5e
-    9d95:	f6 44 42 01 01       	testb  $0x1,0x1(%edx,%eax,2)
-    9d9a:	74 14                	je     0x9db0
-    9d9c:	89 c6                	mov    %eax,%esi
-    9d9e:	89 c1                	mov    %eax,%ecx
-    9da0:	c1 ee 05             	shr    $0x5,%esi
-    9da3:	83 e1 1f             	and    $0x1f,%ecx
-    9da6:	bf 01 00 00 00       	mov    $0x1,%edi
-    9dab:	d3 e7                	shl    %cl,%edi
-    9dad:	09 3c b3             	or     %edi,(%ebx,%esi,4)
-    9db0:	83 c0 01             	add    $0x1,%eax
-    9db3:	3d 00 01 00 00       	cmp    $0x100,%eax
-    9db8:	75 d3                	jne    0x9d8d
-    9dba:	8b 45 f0             	mov    -0x10(%ebp),%eax
-    9dbd:	8b 7d e0             	mov    -0x20(%ebp),%edi
-    9dc0:	65 89 38             	mov    %edi,%gs:(%eax)
-    9dc3:	31 c0                	xor    %eax,%eax
-    9dc5:	e9 92 fc ff ff       	jmp    0x9a5c
-    9dca:	8b 7d ec             	mov    -0x14(%ebp),%edi
-    9dcd:	8b 17                	mov    (%edi),%edx
-    9dcf:	8b 52 28             	mov    0x28(%edx),%edx
-    9dd2:	81 c2 00 01 00 00    	add    $0x100,%edx
-    9dd8:	e9 cb fc ff ff       	jmp    0x9aa8
-    9ddd:	8b 7d ec             	mov    -0x14(%ebp),%edi
-    9de0:	8b 17                	mov    (%edi),%edx
-    9de2:	8b 52 28             	mov    0x28(%edx),%edx
-    9de5:	81 c2 00 01 00 00    	add    $0x100,%edx
-    9deb:	e9 d8 fd ff ff       	jmp    0x9bc8
-    9df0:	c7 44 24 04 b9 00 00 	movl   $0xb9,0x4(%esp)
-    9df7:	00 
-    9df8:	8b 55 f0             	mov    -0x10(%ebp),%edx
-    9dfb:	89 14 24             	mov    %edx,(%esp)
-    9dfe:	e8 fc ff ff ff       	call   0x9dff
-    9e03:	85 c0                	test   %eax,%eax
-    9e05:	0f 85 01 04 00 00    	jne    0xa20c
-    9e0b:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
-    9e0f:	0f 85 b1 06 00 00    	jne    0xa4c6
-    9e15:	8b 35 00 00 00 00    	mov    0x0,%esi
-    9e1b:	a1 00 00 00 00       	mov    0x0,%eax
-    9e20:	89 5d e0             	mov    %ebx,-0x20(%ebp)
-    9e23:	89 75 f0             	mov    %esi,-0x10(%ebp)
-    9e26:	65 8b 36             	mov    %gs:(%esi),%esi
-    9e29:	65 8b 38             	mov    %gs:(%eax),%edi
-    9e2c:	31 c0                	xor    %eax,%eax
-    9e2e:	89 f2                	mov    %esi,%edx
-    9e30:	89 b5 2c ff ff ff    	mov    %esi,-0xd4(%ebp)
-    9e36:	eb 38                	jmp    0x9e70
-    9e38:	f6 04 42 01          	testb  $0x1,(%edx,%eax,2)
-    9e3c:	74 24                	je     0x9e62
-    9e3e:	89 c1                	mov    %eax,%ecx
-    9e40:	89 c3                	mov    %eax,%ebx
-    9e42:	c1 e9 05             	shr    $0x5,%ecx
-    9e45:	83 e3 1f             	and    $0x1f,%ebx
-    9e48:	89 4d ec             	mov    %ecx,-0x14(%ebp)
-    9e4b:	8b 75 ec             	mov    -0x14(%ebp),%esi
-    9e4e:	89 5d e8             	mov    %ebx,-0x18(%ebp)
-    9e51:	0f b6 4d e8          	movzbl -0x18(%ebp),%ecx
-    9e55:	bb 01 00 00 00       	mov    $0x1,%ebx
-    9e5a:	d3 e3                	shl    %cl,%ebx
-    9e5c:	8b 4d e0             	mov    -0x20(%ebp),%ecx
-    9e5f:	09 1c b1             	or     %ebx,(%ecx,%esi,4)
-    9e62:	83 c0 01             	add    $0x1,%eax
-    9e65:	3d 00 01 00 00       	cmp    $0x100,%eax
-    9e6a:	0f 84 c1 06 00 00    	je     0xa531
-    9e70:	85 d2                	test   %edx,%edx
-    9e72:	75 c4                	jne    0x9e38
-    9e74:	8b 17                	mov    (%edi),%edx
-    9e76:	8b 52 28             	mov    0x28(%edx),%edx
-    9e79:	81 c2 00 01 00 00    	add    $0x100,%edx
-    9e7f:	89 95 2c ff ff ff    	mov    %edx,-0xd4(%ebp)
-    9e85:	eb b1                	jmp    0x9e38
-    9e87:	8b 15 00 00 00 00    	mov    0x0,%edx
-    9e8d:	a1 00 00 00 00       	mov    0x0,%eax
-    9e92:	89 5d e0             	mov    %ebx,-0x20(%ebp)
-    9e95:	89 55 f0             	mov    %edx,-0x10(%ebp)
-    9e98:	65 8b 12             	mov    %gs:(%edx),%edx
-    9e9b:	65 8b 38             	mov    %gs:(%eax),%edi
-    9e9e:	31 c0                	xor    %eax,%eax
-    9ea0:	eb 3a                	jmp    0x9edc
-    9ea2:	f6 04 42 08          	testb  $0x8,(%edx,%eax,2)
-    9ea6:	74 26                	je     0x9ece
-    9ea8:	8b 75 ec             	mov    -0x14(%ebp),%esi
-    9eab:	0f b6 1c 06          	movzbl (%esi,%eax,1),%ebx
-    9eaf:	89 d9                	mov    %ebx,%ecx
-    9eb1:	c0 e9 05             	shr    $0x5,%cl
-    9eb4:	89 ce                	mov    %ecx,%esi
-    9eb6:	89 d9                	mov    %ebx,%ecx
-    9eb8:	83 e1 1f             	and    $0x1f,%ecx
-    9ebb:	bb 01 00 00 00       	mov    $0x1,%ebx
-    9ec0:	d3 e3                	shl    %cl,%ebx
-    9ec2:	8b 4d e0             	mov    -0x20(%ebp),%ecx
-    9ec5:	81 e6 ff 00 00 00    	and    $0xff,%esi
-    9ecb:	09 1c b1             	or     %ebx,(%ecx,%esi,4)
-    9ece:	83 c0 01             	add    $0x1,%eax
-    9ed1:	3d 00 01 00 00       	cmp    $0x100,%eax
-    9ed6:	0f 84 83 fd ff ff    	je     0x9c5f
-    9edc:	85 d2                	test   %edx,%edx
-    9ede:	75 c2                	jne    0x9ea2
-    9ee0:	8b 17                	mov    (%edi),%edx
-    9ee2:	8b 5d f0             	mov    -0x10(%ebp),%ebx
-    9ee5:	8b 52 28             	mov    0x28(%edx),%edx
-    9ee8:	81 c2 00 01 00 00    	add    $0x100,%edx
-    9eee:	65 89 13             	mov    %edx,%gs:(%ebx)
-    9ef1:	eb af                	jmp    0x9ea2
-    9ef3:	a1 00 00 00 00       	mov    0x0,%eax
-    9ef8:	89 5d e0             	mov    %ebx,-0x20(%ebp)
-    9efb:	89 45 f0             	mov    %eax,-0x10(%ebp)
-    9efe:	65 8b 10             	mov    %gs:(%eax),%edx
-    9f01:	a1 00 00 00 00       	mov    0x0,%eax
-    9f06:	65 8b 38             	mov    %gs:(%eax),%edi
-    9f09:	31 c0                	xor    %eax,%eax
-    9f0b:	eb 3a                	jmp    0x9f47
-    9f0d:	f6 04 42 02          	testb  $0x2,(%edx,%eax,2)
-    9f11:	74 26                	je     0x9f39
-    9f13:	8b 75 ec             	mov    -0x14(%ebp),%esi
-    9f16:	0f b6 1c 06          	movzbl (%esi,%eax,1),%ebx
-    9f1a:	89 d9                	mov    %ebx,%ecx
-    9f1c:	c0 e9 05             	shr    $0x5,%cl
-    9f1f:	89 ce                	mov    %ecx,%esi
-    9f21:	89 d9                	mov    %ebx,%ecx
-    9f23:	83 e1 1f             	and    $0x1f,%ecx
-    9f26:	bb 01 00 00 00       	mov    $0x1,%ebx
-    9f2b:	d3 e3                	shl    %cl,%ebx
-    9f2d:	8b 4d e0             	mov    -0x20(%ebp),%ecx
-    9f30:	81 e6 ff 00 00 00    	and    $0xff,%esi
-    9f36:	09 1c b1             	or     %ebx,(%ecx,%esi,4)
-    9f39:	83 c0 01             	add    $0x1,%eax
-    9f3c:	3d 00 01 00 00       	cmp    $0x100,%eax
-    9f41:	0f 84 18 fd ff ff    	je     0x9c5f
-    9f47:	85 d2                	test   %edx,%edx
-    9f49:	75 c2                	jne    0x9f0d
-    9f4b:	8b 17                	mov    (%edi),%edx
-    9f4d:	8b 4d f0             	mov    -0x10(%ebp),%ecx
-    9f50:	8b 52 28             	mov    0x28(%edx),%edx
-    9f53:	81 c2 00 01 00 00    	add    $0x100,%edx
-    9f59:	65 89 11             	mov    %edx,%gs:(%ecx)
-    9f5c:	eb af                	jmp    0x9f0d
-    9f5e:	8b 7d ec             	mov    -0x14(%ebp),%edi
-    9f61:	8b 17                	mov    (%edi),%edx
-    9f63:	8b 52 28             	mov    0x28(%edx),%edx
-    9f66:	81 c2 00 01 00 00    	add    $0x100,%edx
-    9f6c:	89 55 e0             	mov    %edx,-0x20(%ebp)
-    9f6f:	e9 21 fe ff ff       	jmp    0x9d95
-    9f74:	8b 0d 00 00 00 00    	mov    0x0,%ecx
-    9f7a:	a1 00 00 00 00       	mov    0x0,%eax
-    9f7f:	89 5d e0             	mov    %ebx,-0x20(%ebp)
-    9f82:	65 8b 11             	mov    %gs:(%ecx),%edx
-    9f85:	65 8b 38             	mov    %gs:(%eax),%edi
-    9f88:	31 c0                	xor    %eax,%eax
-    9f8a:	89 4d f0             	mov    %ecx,-0x10(%ebp)
-    9f8d:	85 d2                	test   %edx,%edx
-    9f8f:	75 11                	jne    0x9fa2
-    9f91:	8b 17                	mov    (%edi),%edx
-    9f93:	8b 5d f0             	mov    -0x10(%ebp),%ebx
-    9f96:	8b 52 28             	mov    0x28(%edx),%edx
-    9f99:	81 c2 00 01 00 00    	add    $0x100,%edx
-    9f9f:	65 89 13             	mov    %edx,%gs:(%ebx)
-    9fa2:	f6 44 42 01 01       	testb  $0x1,0x1(%edx,%eax,2)
-    9fa7:	74 26                	je     0x9fcf
-    9fa9:	8b 75 ec             	mov    -0x14(%ebp),%esi
-    9fac:	0f b6 1c 06          	movzbl (%esi,%eax,1),%ebx
-    9fb0:	89 d9                	mov    %ebx,%ecx
-    9fb2:	c0 e9 05             	shr    $0x5,%cl
-    9fb5:	89 ce                	mov    %ecx,%esi
-    9fb7:	89 d9                	mov    %ebx,%ecx
-    9fb9:	83 e1 1f             	and    $0x1f,%ecx
-    9fbc:	bb 01 00 00 00       	mov    $0x1,%ebx
-    9fc1:	d3 e3                	shl    %cl,%ebx
-    9fc3:	8b 4d e0             	mov    -0x20(%ebp),%ecx
-    9fc6:	81 e6 ff 00 00 00    	and    $0xff,%esi
-    9fcc:	09 1c b1             	or     %ebx,(%ecx,%esi,4)
-    9fcf:	83 c0 01             	add    $0x1,%eax
-    9fd2:	3d 00 01 00 00       	cmp    $0x100,%eax
-    9fd7:	75 b4                	jne    0x9f8d
-    9fd9:	31 c0                	xor    %eax,%eax
-    9fdb:	e9 7c fa ff ff       	jmp    0x9a5c
-    9fe0:	8b 7d ec             	mov    -0x14(%ebp),%edi
-    9fe3:	8b 17                	mov    (%edi),%edx
-    9fe5:	8b 52 28             	mov    0x28(%edx),%edx
-    9fe8:	81 c2 00 01 00 00    	add    $0x100,%edx
-    9fee:	e9 2d fd ff ff       	jmp    0x9d20
-    9ff3:	8b 15 00 00 00 00    	mov    0x0,%edx
-    9ff9:	a1 00 00 00 00       	mov    0x0,%eax
-    9ffe:	89 5d e0             	mov    %ebx,-0x20(%ebp)
-    a001:	89 55 f0             	mov    %edx,-0x10(%ebp)
-    a004:	65 8b 12             	mov    %gs:(%edx),%edx
-    a007:	65 8b 38             	mov    %gs:(%eax),%edi
-    a00a:	31 c0                	xor    %eax,%eax
-    a00c:	85 d2                	test   %edx,%edx
-    a00e:	75 11                	jne    0xa021
-    a010:	8b 17                	mov    (%edi),%edx
-    a012:	8b 5d f0             	mov    -0x10(%ebp),%ebx
-    a015:	8b 52 28             	mov    0x28(%edx),%edx
-    a018:	81 c2 00 01 00 00    	add    $0x100,%edx
-    a01e:	65 89 13             	mov    %edx,%gs:(%ebx)
-    a021:	f6 44 42 01 40       	testb  $0x40,0x1(%edx,%eax,2)
-    a026:	74 26                	je     0xa04e
-    a028:	8b 75 ec             	mov    -0x14(%ebp),%esi
-    a02b:	0f b6 1c 06          	movzbl (%esi,%eax,1),%ebx
-    a02f:	89 d9                	mov    %ebx,%ecx
-    a031:	c0 e9 05             	shr    $0x5,%cl
-    a034:	89 ce                	mov    %ecx,%esi
-    a036:	89 d9                	mov    %ebx,%ecx
-    a038:	83 e1 1f             	and    $0x1f,%ecx
-    a03b:	bb 01 00 00 00       	mov    $0x1,%ebx
-    a040:	d3 e3                	shl    %cl,%ebx
-    a042:	8b 4d e0             	mov    -0x20(%ebp),%ecx
-    a045:	81 e6 ff 00 00 00    	and    $0xff,%esi
-    a04b:	09 1c b1             	or     %ebx,(%ecx,%esi,4)
-    a04e:	83 c0 01             	add    $0x1,%eax
-    a051:	3d 00 01 00 00       	cmp    $0x100,%eax
-    a056:	75 b4                	jne    0xa00c
-    a058:	31 c0                	xor    %eax,%eax
-    a05a:	e9 fd f9 ff ff       	jmp    0x9a5c
-    a05f:	8b 7d ec             	mov    -0x14(%ebp),%edi
-    a062:	8b 17                	mov    (%edi),%edx
-    a064:	8b 52 28             	mov    0x28(%edx),%edx
-    a067:	81 c2 00 01 00 00    	add    $0x100,%edx
-    a06d:	e9 26 fc ff ff       	jmp    0x9c98
-    a072:	8b 0d 00 00 00 00    	mov    0x0,%ecx
-    a078:	a1 00 00 00 00       	mov    0x0,%eax
-    a07d:	89 5d e0             	mov    %ebx,-0x20(%ebp)
-    a080:	65 8b 11             	mov    %gs:(%ecx),%edx
-    a083:	65 8b 38             	mov    %gs:(%eax),%edi
-    a086:	31 c0                	xor    %eax,%eax
-    a088:	89 4d f0             	mov    %ecx,-0x10(%ebp)
-    a08b:	85 d2                	test   %edx,%edx
-    a08d:	75 11                	jne    0xa0a0
-    a08f:	8b 17                	mov    (%edi),%edx
-    a091:	8b 5d f0             	mov    -0x10(%ebp),%ebx
-    a094:	8b 52 28             	mov    0x28(%edx),%edx
-    a097:	81 c2 00 01 00 00    	add    $0x100,%edx
-    a09d:	65 89 13             	mov    %edx,%gs:(%ebx)
-    a0a0:	f6 44 42 01 04       	testb  $0x4,0x1(%edx,%eax,2)
-    a0a5:	74 26                	je     0xa0cd
-    a0a7:	8b 75 ec             	mov    -0x14(%ebp),%esi
-    a0aa:	0f b6 1c 06          	movzbl (%esi,%eax,1),%ebx
-    a0ae:	89 d9                	mov    %ebx,%ecx
-    a0b0:	c0 e9 05             	shr    $0x5,%cl
-    a0b3:	89 ce                	mov    %ecx,%esi
-    a0b5:	89 d9                	mov    %ebx,%ecx
-    a0b7:	83 e1 1f             	and    $0x1f,%ecx
-    a0ba:	bb 01 00 00 00       	mov    $0x1,%ebx
-    a0bf:	d3 e3                	shl    %cl,%ebx
-    a0c1:	8b 4d e0             	mov    -0x20(%ebp),%ecx
-    a0c4:	81 e6 ff 00 00 00    	and    $0xff,%esi
-    a0ca:	09 1c b1             	or     %ebx,(%ecx,%esi,4)
-    a0cd:	83 c0 01             	add    $0x1,%eax
-    a0d0:	3d 00 01 00 00       	cmp    $0x100,%eax
-    a0d5:	75 b4                	jne    0xa08b
-    a0d7:	31 c0                	xor    %eax,%eax
-    a0d9:	e9 7e f9 ff ff       	jmp    0x9a5c
-    a0de:	8b 15 00 00 00 00    	mov    0x0,%edx
-    a0e4:	a1 00 00 00 00       	mov    0x0,%eax
-    a0e9:	89 5d e0             	mov    %ebx,-0x20(%ebp)
-    a0ec:	89 55 f0             	mov    %edx,-0x10(%ebp)
-    a0ef:	65 8b 12             	mov    %gs:(%edx),%edx
-    a0f2:	65 8b 38             	mov    %gs:(%eax),%edi
-    a0f5:	31 c0                	xor    %eax,%eax
-    a0f7:	eb 3b                	jmp    0xa134
-    a0f9:	f6 44 42 01 02       	testb  $0x2,0x1(%edx,%eax,2)
-    a0fe:	74 26                	je     0xa126
-    a100:	8b 75 ec             	mov    -0x14(%ebp),%esi
-    a103:	0f b6 1c 06          	movzbl (%esi,%eax,1),%ebx
-    a107:	89 d9                	mov    %ebx,%ecx
-    a109:	c0 e9 05             	shr    $0x5,%cl
-    a10c:	89 ce                	mov    %ecx,%esi
-    a10e:	89 d9                	mov    %ebx,%ecx
-    a110:	83 e1 1f             	and    $0x1f,%ecx
-    a113:	bb 01 00 00 00       	mov    $0x1,%ebx
-    a118:	d3 e3                	shl    %cl,%ebx
-    a11a:	8b 4d e0             	mov    -0x20(%ebp),%ecx
-    a11d:	81 e6 ff 00 00 00    	and    $0xff,%esi
-    a123:	09 1c b1             	or     %ebx,(%ecx,%esi,4)
-    a126:	83 c0 01             	add    $0x1,%eax
-    a129:	3d 00 01 00 00       	cmp    $0x100,%eax
-    a12e:	0f 84 2b fb ff ff    	je     0x9c5f
-    a134:	85 d2                	test   %edx,%edx
-    a136:	75 c1                	jne    0xa0f9
-    a138:	8b 17                	mov    (%edi),%edx
-    a13a:	8b 5d f0             	mov    -0x10(%ebp),%ebx
-    a13d:	8b 52 28             	mov    0x28(%edx),%edx
-    a140:	81 c2 00 01 00 00    	add    $0x100,%edx
-    a146:	65 89 13             	mov    %edx,%gs:(%ebx)
-    a149:	eb ae                	jmp    0xa0f9
-    a14b:	8b 4d e8             	mov    -0x18(%ebp),%ecx
-    a14e:	8b 11                	mov    (%ecx),%edx
-    a150:	8b 52 28             	mov    0x28(%edx),%edx
-    a153:	81 c2 00 01 00 00    	add    $0x100,%edx
-    a159:	89 55 ec             	mov    %edx,-0x14(%ebp)
-    a15c:	e9 df f9 ff ff       	jmp    0x9b40
-    a161:	8b 15 00 00 00 00    	mov    0x0,%edx
-    a167:	a1 00 00 00 00       	mov    0x0,%eax
-    a16c:	89 5d e0             	mov    %ebx,-0x20(%ebp)
-    a16f:	89 55 f0             	mov    %edx,-0x10(%ebp)
-    a172:	65 8b 12             	mov    %gs:(%edx),%edx
-    a175:	65 8b 38             	mov    %gs:(%eax),%edi
-    a178:	31 c0                	xor    %eax,%eax
-    a17a:	85 d2                	test   %edx,%edx
-    a17c:	75 11                	jne    0xa18f
-    a17e:	8b 17                	mov    (%edi),%edx
-    a180:	8b 5d f0             	mov    -0x10(%ebp),%ebx
-    a183:	8b 52 28             	mov    0x28(%edx),%edx
-    a186:	81 c2 00 01 00 00    	add    $0x100,%edx
-    a18c:	65 89 13             	mov    %edx,%gs:(%ebx)
-    a18f:	f6 44 42 01 20       	testb  $0x20,0x1(%edx,%eax,2)
-    a194:	74 26                	je     0xa1bc
-    a196:	8b 75 ec             	mov    -0x14(%ebp),%esi
-    a199:	0f b6 1c 06          	movzbl (%esi,%eax,1),%ebx
-    a19d:	89 d9                	mov    %ebx,%ecx
-    a19f:	c0 e9 05             	shr    $0x5,%cl
-    a1a2:	89 ce                	mov    %ecx,%esi
-    a1a4:	89 d9                	mov    %ebx,%ecx
-    a1a6:	83 e1 1f             	and    $0x1f,%ecx
-    a1a9:	bb 01 00 00 00       	mov    $0x1,%ebx
-    a1ae:	d3 e3                	shl    %cl,%ebx
-    a1b0:	8b 4d e0             	mov    -0x20(%ebp),%ecx
-    a1b3:	81 e6 ff 00 00 00    	and    $0xff,%esi
-    a1b9:	09 1c b1             	or     %ebx,(%ecx,%esi,4)
-    a1bc:	83 c0 01             	add    $0x1,%eax
-    a1bf:	3d 00 01 00 00       	cmp    $0x100,%eax
-    a1c4:	75 b4                	jne    0xa17a
-    a1c6:	31 c0                	xor    %eax,%eax
-    a1c8:	e9 8f f8 ff ff       	jmp    0x9a5c
-    a1cd:	8d 74 00 01          	lea    0x1(%eax,%eax,1),%esi
-    a1d1:	8d 04 b5 00 00 00 00 	lea    0x0(,%esi,4),%eax
-    a1d8:	89 44 24 04          	mov    %eax,0x4(%esp)
-    a1dc:	8b 42 14             	mov    0x14(%edx),%eax
-    a1df:	89 04 24             	mov    %eax,(%esp)
-    a1e2:	89 55 e4             	mov    %edx,-0x1c(%ebp)
-    a1e5:	e8 fc ff ff ff       	call   0xa1e6
-    a1ea:	8b 55 e4             	mov    -0x1c(%ebp),%edx
-    a1ed:	89 c1                	mov    %eax,%ecx
-    a1ef:	b8 0c 00 00 00       	mov    $0xc,%eax
-    a1f4:	85 c9                	test   %ecx,%ecx
-    a1f6:	0f 84 60 f8 ff ff    	je     0x9a5c
-    a1fc:	8b 7d 08             	mov    0x8(%ebp),%edi
-    a1ff:	89 4a 14             	mov    %ecx,0x14(%edx)
-    a202:	89 37                	mov    %esi,(%edi)
-    a204:	8b 72 2c             	mov    0x2c(%edx),%esi
-    a207:	e9 be f7 ff ff       	jmp    0x99ca
-    a20c:	c7 44 24 04 bf 00 00 	movl   $0xbf,0x4(%esp)
-    a213:	00 
-    a214:	8b 75 f0             	mov    -0x10(%ebp),%esi
-    a217:	89 34 24             	mov    %esi,(%esp)
-    a21a:	e8 fc ff ff ff       	call   0xa21b
-    a21f:	85 c0                	test   %eax,%eax
-    a221:	0f 85 d0 00 00 00    	jne    0xa2f7
-    a227:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
-    a22b:	75 5e                	jne    0xa28b
-    a22d:	8b 35 00 00 00 00    	mov    0x0,%esi
-    a233:	a1 00 00 00 00       	mov    0x0,%eax
-    a238:	89 75 f0             	mov    %esi,-0x10(%ebp)
-    a23b:	65 8b 16             	mov    %gs:(%esi),%edx
-    a23e:	65 8b 30             	mov    %gs:(%eax),%esi
-    a241:	31 c0                	xor    %eax,%eax
-    a243:	eb 11                	jmp    0xa256
-    a245:	8d 76 00             	lea    0x0(%esi),%esi
-    a248:	83 c0 01             	add    $0x1,%eax
-    a24b:	3d 00 01 00 00       	cmp    $0x100,%eax
-    a250:	0f 84 28 03 00 00    	je     0xa57e
-    a256:	85 d2                	test   %edx,%edx
-    a258:	74 24                	je     0xa27e
-    a25a:	66 83 3c 42 00       	cmpw   $0x0,(%edx,%eax,2)
-    a25f:	90                   	nop
-    a260:	79 e6                	jns    0xa248
-    a262:	89 c7                	mov    %eax,%edi
-    a264:	89 c1                	mov    %eax,%ecx
-    a266:	c1 ef 05             	shr    $0x5,%edi
-    a269:	83 e1 1f             	and    $0x1f,%ecx
-    a26c:	89 7d e8             	mov    %edi,-0x18(%ebp)
-    a26f:	bf 01 00 00 00       	mov    $0x1,%edi
-    a274:	d3 e7                	shl    %cl,%edi
-    a276:	8b 4d e8             	mov    -0x18(%ebp),%ecx
-    a279:	09 3c 8b             	or     %edi,(%ebx,%ecx,4)
-    a27c:	eb ca                	jmp    0xa248
-    a27e:	8b 16                	mov    (%esi),%edx
-    a280:	8b 52 28             	mov    0x28(%edx),%edx
-    a283:	81 c2 00 01 00 00    	add    $0x100,%edx
-    a289:	eb cf                	jmp    0xa25a
-    a28b:	8b 3d 00 00 00 00    	mov    0x0,%edi
-    a291:	a1 00 00 00 00       	mov    0x0,%eax
-    a296:	89 5d e0             	mov    %ebx,-0x20(%ebp)
-    a299:	89 7d f0             	mov    %edi,-0x10(%ebp)
-    a29c:	65 8b 17             	mov    %gs:(%edi),%edx
-    a29f:	65 8b 38             	mov    %gs:(%eax),%edi
-    a2a2:	31 c0                	xor    %eax,%eax
-    a2a4:	85 d2                	test   %edx,%edx
-    a2a6:	75 11                	jne    0xa2b9
-    a2a8:	8b 17                	mov    (%edi),%edx
-    a2aa:	8b 4d f0             	mov    -0x10(%ebp),%ecx
-    a2ad:	8b 52 28             	mov    0x28(%edx),%edx
-    a2b0:	81 c2 00 01 00 00    	add    $0x100,%edx
-    a2b6:	65 89 11             	mov    %edx,%gs:(%ecx)
-    a2b9:	66 83 3c 42 00       	cmpw   $0x0,(%edx,%eax,2)
-    a2be:	79 26                	jns    0xa2e6
-    a2c0:	8b 75 ec             	mov    -0x14(%ebp),%esi
-    a2c3:	0f b6 1c 06          	movzbl (%esi,%eax,1),%ebx
-    a2c7:	89 d9                	mov    %ebx,%ecx
-    a2c9:	c0 e9 05             	shr    $0x5,%cl
-    a2cc:	89 ce                	mov    %ecx,%esi
-    a2ce:	89 d9                	mov    %ebx,%ecx
-    a2d0:	83 e1 1f             	and    $0x1f,%ecx
-    a2d3:	bb 01 00 00 00       	mov    $0x1,%ebx
-    a2d8:	d3 e3                	shl    %cl,%ebx
-    a2da:	8b 4d e0             	mov    -0x20(%ebp),%ecx
-    a2dd:	81 e6 ff 00 00 00    	and    $0xff,%esi
-    a2e3:	09 1c b1             	or     %ebx,(%ecx,%esi,4)
-    a2e6:	83 c0 01             	add    $0x1,%eax
-    a2e9:	3d 00 01 00 00       	cmp    $0x100,%eax
-    a2ee:	75 b4                	jne    0xa2a4
-    a2f0:	31 c0                	xor    %eax,%eax
-    a2f2:	e9 65 f7 ff ff       	jmp    0x9a5c
-    a2f7:	c7 44 24 04 c5 00 00 	movl   $0xc5,0x4(%esp)
-    a2fe:	00 
-    a2ff:	8b 75 f0             	mov    -0x10(%ebp),%esi
-    a302:	89 34 24             	mov    %esi,(%esp)
-    a305:	e8 fc ff ff ff       	call   0xa306
-    a30a:	85 c0                	test   %eax,%eax
-    a30c:	0f 84 ec 00 00 00    	je     0xa3fe
-    a312:	c7 44 24 04 cb 00 00 	movl   $0xcb,0x4(%esp)
-    a319:	00 
-    a31a:	8b 75 f0             	mov    -0x10(%ebp),%esi
-    a31d:	89 34 24             	mov    %esi,(%esp)
-    a320:	e8 fc ff ff ff       	call   0xa321
-    a325:	89 c2                	mov    %eax,%edx
-    a327:	b8 04 00 00 00       	mov    $0x4,%eax
-    a32c:	85 d2                	test   %edx,%edx
-    a32e:	0f 85 28 f7 ff ff    	jne    0x9a5c
-    a334:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
-    a338:	75 58                	jne    0xa392
-    a33a:	8b 35 00 00 00 00    	mov    0x0,%esi
-    a340:	a1 00 00 00 00       	mov    0x0,%eax
-    a345:	89 75 f0             	mov    %esi,-0x10(%ebp)
-    a348:	65 8b 16             	mov    %gs:(%esi),%edx
-    a34b:	65 8b 30             	mov    %gs:(%eax),%esi
-    a34e:	31 c0                	xor    %eax,%eax
-    a350:	eb 2f                	jmp    0xa381
-    a352:	f6 44 42 01 10       	testb  $0x10,0x1(%edx,%eax,2)
-    a357:	74 1a                	je     0xa373
-    a359:	89 c7                	mov    %eax,%edi
-    a35b:	89 c1                	mov    %eax,%ecx
-    a35d:	c1 ef 05             	shr    $0x5,%edi
-    a360:	83 e1 1f             	and    $0x1f,%ecx
-    a363:	89 7d e8             	mov    %edi,-0x18(%ebp)
-    a366:	bf 01 00 00 00       	mov    $0x1,%edi
-    a36b:	d3 e7                	shl    %cl,%edi
-    a36d:	8b 4d e8             	mov    -0x18(%ebp),%ecx
-    a370:	09 3c 8b             	or     %edi,(%ebx,%ecx,4)
-    a373:	83 c0 01             	add    $0x1,%eax
-    a376:	3d 00 01 00 00       	cmp    $0x100,%eax
-    a37b:	0f 84 fd 01 00 00    	je     0xa57e
-    a381:	85 d2                	test   %edx,%edx
-    a383:	75 cd                	jne    0xa352
-    a385:	8b 16                	mov    (%esi),%edx
-    a387:	8b 52 28             	mov    0x28(%edx),%edx
-    a38a:	81 c2 00 01 00 00    	add    $0x100,%edx
-    a390:	eb c0                	jmp    0xa352
-    a392:	8b 3d 00 00 00 00    	mov    0x0,%edi
-    a398:	a1 00 00 00 00       	mov    0x0,%eax
-    a39d:	89 5d e0             	mov    %ebx,-0x20(%ebp)
-    a3a0:	89 7d f0             	mov    %edi,-0x10(%ebp)
-    a3a3:	65 8b 17             	mov    %gs:(%edi),%edx
-    a3a6:	65 8b 38             	mov    %gs:(%eax),%edi
-    a3a9:	31 c0                	xor    %eax,%eax
-    a3ab:	85 d2                	test   %edx,%edx
-    a3ad:	75 11                	jne    0xa3c0
-    a3af:	8b 17                	mov    (%edi),%edx
-    a3b1:	8b 4d f0             	mov    -0x10(%ebp),%ecx
-    a3b4:	8b 52 28             	mov    0x28(%edx),%edx
-    a3b7:	81 c2 00 01 00 00    	add    $0x100,%edx
-    a3bd:	65 89 11             	mov    %edx,%gs:(%ecx)
-    a3c0:	f6 44 42 01 10       	testb  $0x10,0x1(%edx,%eax,2)
-    a3c5:	74 26                	je     0xa3ed
-    a3c7:	8b 75 ec             	mov    -0x14(%ebp),%esi
-    a3ca:	0f b6 1c 06          	movzbl (%esi,%eax,1),%ebx
-    a3ce:	89 d9                	mov    %ebx,%ecx
-    a3d0:	c0 e9 05             	shr    $0x5,%cl
-    a3d3:	89 ce                	mov    %ecx,%esi
-    a3d5:	89 d9                	mov    %ebx,%ecx
-    a3d7:	83 e1 1f             	and    $0x1f,%ecx
-    a3da:	bb 01 00 00 00       	mov    $0x1,%ebx
-    a3df:	d3 e3                	shl    %cl,%ebx
-    a3e1:	8b 4d e0             	mov    -0x20(%ebp),%ecx
-    a3e4:	81 e6 ff 00 00 00    	and    $0xff,%esi
-    a3ea:	09 1c b1             	or     %ebx,(%ecx,%esi,4)
-    a3ed:	83 c0 01             	add    $0x1,%eax
-    a3f0:	3d 00 01 00 00       	cmp    $0x100,%eax
-    a3f5:	75 b4                	jne    0xa3ab
-    a3f7:	31 c0                	xor    %eax,%eax
-    a3f9:	e9 5e f6 ff ff       	jmp    0x9a5c
-    a3fe:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
-    a402:	75 57                	jne    0xa45b
-    a404:	8b 35 00 00 00 00    	mov    0x0,%esi
-    a40a:	a1 00 00 00 00       	mov    0x0,%eax
-    a40f:	89 75 f0             	mov    %esi,-0x10(%ebp)
-    a412:	65 8b 16             	mov    %gs:(%esi),%edx
-    a415:	65 8b 30             	mov    %gs:(%eax),%esi
-    a418:	31 c0                	xor    %eax,%eax
-    a41a:	eb 2e                	jmp    0xa44a
-    a41c:	f6 04 42 04          	testb  $0x4,(%edx,%eax,2)
-    a420:	74 1a                	je     0xa43c
-    a422:	89 c7                	mov    %eax,%edi
-    a424:	89 c1                	mov    %eax,%ecx
-    a426:	c1 ef 05             	shr    $0x5,%edi
-    a429:	83 e1 1f             	and    $0x1f,%ecx
-    a42c:	89 7d e8             	mov    %edi,-0x18(%ebp)
-    a42f:	bf 01 00 00 00       	mov    $0x1,%edi
-    a434:	d3 e7                	shl    %cl,%edi
-    a436:	8b 4d e8             	mov    -0x18(%ebp),%ecx
-    a439:	09 3c 8b             	or     %edi,(%ebx,%ecx,4)
-    a43c:	83 c0 01             	add    $0x1,%eax
-    a43f:	3d 00 01 00 00       	cmp    $0x100,%eax
-    a444:	0f 84 34 01 00 00    	je     0xa57e
-    a44a:	85 d2                	test   %edx,%edx
-    a44c:	75 ce                	jne    0xa41c
-    a44e:	8b 16                	mov    (%esi),%edx
-    a450:	8b 52 28             	mov    0x28(%edx),%edx
-    a453:	81 c2 00 01 00 00    	add    $0x100,%edx
-    a459:	eb c1                	jmp    0xa41c
-    a45b:	8b 3d 00 00 00 00    	mov    0x0,%edi
-    a461:	a1 00 00 00 00       	mov    0x0,%eax
-    a466:	89 5d e0             	mov    %ebx,-0x20(%ebp)
-    a469:	89 7d f0             	mov    %edi,-0x10(%ebp)
-    a46c:	65 8b 17             	mov    %gs:(%edi),%edx
-    a46f:	65 8b 38             	mov    %gs:(%eax),%edi
-    a472:	31 c0                	xor    %eax,%eax
-    a474:	85 d2                	test   %edx,%edx
-    a476:	75 11                	jne    0xa489
-    a478:	8b 17                	mov    (%edi),%edx
-    a47a:	8b 4d f0             	mov    -0x10(%ebp),%ecx
-    a47d:	8b 52 28             	mov    0x28(%edx),%edx
-    a480:	81 c2 00 01 00 00    	add    $0x100,%edx
-    a486:	65 89 11             	mov    %edx,%gs:(%ecx)
-    a489:	f6 04 42 04          	testb  $0x4,(%edx,%eax,2)
-    a48d:	74 26                	je     0xa4b5
-    a48f:	8b 75 ec             	mov    -0x14(%ebp),%esi
-    a492:	0f b6 1c 06          	movzbl (%esi,%eax,1),%ebx
-    a496:	89 d9                	mov    %ebx,%ecx
-    a498:	c0 e9 05             	shr    $0x5,%cl
-    a49b:	89 ce                	mov    %ecx,%esi
-    a49d:	89 d9                	mov    %ebx,%ecx
-    a49f:	83 e1 1f             	and    $0x1f,%ecx
-    a4a2:	bb 01 00 00 00       	mov    $0x1,%ebx
-    a4a7:	d3 e3                	shl    %cl,%ebx
-    a4a9:	8b 4d e0             	mov    -0x20(%ebp),%ecx
-    a4ac:	81 e6 ff 00 00 00    	and    $0xff,%esi
-    a4b2:	09 1c b1             	or     %ebx,(%ecx,%esi,4)
-    a4b5:	83 c0 01             	add    $0x1,%eax
-    a4b8:	3d 00 01 00 00       	cmp    $0x100,%eax
-    a4bd:	75 b5                	jne    0xa474
-    a4bf:	31 c0                	xor    %eax,%eax
-    a4c1:	e9 96 f5 ff ff       	jmp    0x9a5c
-    a4c6:	8b 0d 00 00 00 00    	mov    0x0,%ecx
-    a4cc:	a1 00 00 00 00       	mov    0x0,%eax
-    a4d1:	89 5d e0             	mov    %ebx,-0x20(%ebp)
-    a4d4:	65 8b 11             	mov    %gs:(%ecx),%edx
-    a4d7:	65 8b 38             	mov    %gs:(%eax),%edi
-    a4da:	31 c0                	xor    %eax,%eax
-    a4dc:	89 4d f0             	mov    %ecx,-0x10(%ebp)
-    a4df:	85 d2                	test   %edx,%edx
-    a4e1:	75 11                	jne    0xa4f4
-    a4e3:	8b 17                	mov    (%edi),%edx
-    a4e5:	8b 5d f0             	mov    -0x10(%ebp),%ebx
-    a4e8:	8b 52 28             	mov    0x28(%edx),%edx
-    a4eb:	81 c2 00 01 00 00    	add    $0x100,%edx
-    a4f1:	65 89 13             	mov    %edx,%gs:(%ebx)
-    a4f4:	f6 04 42 01          	testb  $0x1,(%edx,%eax,2)
-    a4f8:	74 26                	je     0xa520
-    a4fa:	8b 75 ec             	mov    -0x14(%ebp),%esi
-    a4fd:	0f b6 1c 06          	movzbl (%esi,%eax,1),%ebx
-    a501:	89 d9                	mov    %ebx,%ecx
-    a503:	c0 e9 05             	shr    $0x5,%cl
-    a506:	89 ce                	mov    %ecx,%esi
-    a508:	89 d9                	mov    %ebx,%ecx
-    a50a:	83 e1 1f             	and    $0x1f,%ecx
-    a50d:	bb 01 00 00 00       	mov    $0x1,%ebx
-    a512:	d3 e3                	shl    %cl,%ebx
-    a514:	8b 4d e0             	mov    -0x20(%ebp),%ecx
-    a517:	81 e6 ff 00 00 00    	and    $0xff,%esi
-    a51d:	09 1c b1             	or     %ebx,(%ecx,%esi,4)
-    a520:	83 c0 01             	add    $0x1,%eax
-    a523:	3d 00 01 00 00       	cmp    $0x100,%eax
-    a528:	75 b5                	jne    0xa4df
-    a52a:	31 c0                	xor    %eax,%eax
-    a52c:	e9 2b f5 ff ff       	jmp    0x9a5c
-    a531:	8b b5 2c ff ff ff    	mov    -0xd4(%ebp),%esi
-    a537:	66 31 c0             	xor    %ax,%ax
-    a53a:	8b 5d f0             	mov    -0x10(%ebp),%ebx
-    a53d:	65 89 33             	mov    %esi,%gs:(%ebx)
-    a540:	e9 17 f5 ff ff       	jmp    0x9a5c
-    a545:	8b 7d ec             	mov    -0x14(%ebp),%edi
-    a548:	b8 d1 ff ff ff       	mov    $0xffffffd1,%eax
-    a54d:	83 c0 01             	add    $0x1,%eax
-    a550:	3d d0 00 00 00       	cmp    $0xd0,%eax
-    a555:	0f 84 04 f7 ff ff    	je     0x9c5f
-    a55b:	83 f8 09             	cmp    $0x9,%eax
-    a55e:	77 ed                	ja     0xa54d
-    a560:	0f b6 74 07 30       	movzbl 0x30(%edi,%eax,1),%esi
-    a565:	89 f2                	mov    %esi,%edx
-    a567:	89 f1                	mov    %esi,%ecx
-    a569:	c0 ea 05             	shr    $0x5,%dl
-    a56c:	83 e1 1f             	and    $0x1f,%ecx
-    a56f:	0f b6 d2             	movzbl %dl,%edx
-    a572:	be 01 00 00 00       	mov    $0x1,%esi
-    a577:	d3 e6                	shl    %cl,%esi
-    a579:	09 34 93             	or     %esi,(%ebx,%edx,4)
-    a57c:	eb cf                	jmp    0xa54d
-    a57e:	8b 5d f0             	mov    -0x10(%ebp),%ebx
-    a581:	66 31 c0             	xor    %ax,%ax
-    a584:	65 89 13             	mov    %edx,%gs:(%ebx)
-    a587:	e9 d0 f4 ff ff       	jmp    0x9a5c
-    a58c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    a590:	55                   	push   %ebp
-    a591:	89 e5                	mov    %esp,%ebp
-    a593:	57                   	push   %edi
-    a594:	89 c7                	mov    %eax,%edi
-    a596:	56                   	push   %esi
-    a597:	53                   	push   %ebx
-    a598:	83 ec 24             	sub    $0x24,%esp
-    a59b:	8b 75 08             	mov    0x8(%ebp),%esi
-    a59e:	89 55 e0             	mov    %edx,-0x20(%ebp)
-    a5a1:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
-    a5a8:	c7 44 24 04 01 00 00 	movl   $0x1,0x4(%esp)
-    a5af:	00 
-    a5b0:	c7 04 24 20 00 00 00 	movl   $0x20,(%esp)
-    a5b7:	89 4d dc             	mov    %ecx,-0x24(%ebp)
-    a5ba:	e8 fc ff ff ff       	call   0xa5bb
-    a5bf:	c7 44 24 04 01 00 00 	movl   $0x1,0x4(%esp)
-    a5c6:	00 
-    a5c7:	c7 04 24 30 00 00 00 	movl   $0x30,(%esp)
-    a5ce:	89 c3                	mov    %eax,%ebx
-    a5d0:	e8 fc ff ff ff       	call   0xa5d1
-    a5d5:	8b 4d dc             	mov    -0x24(%ebp),%ecx
-    a5d8:	85 c0                	test   %eax,%eax
-    a5da:	89 45 e4             	mov    %eax,-0x1c(%ebp)
-    a5dd:	0f 84 63 01 00 00    	je     0xa746
-    a5e3:	85 db                	test   %ebx,%ebx
-    a5e5:	0f 84 5b 01 00 00    	je     0xa746
-    a5eb:	8b 45 0c             	mov    0xc(%ebp),%eax
-    a5ee:	85 c0                	test   %eax,%eax
-    a5f0:	74 07                	je     0xa5f9
-    a5f2:	8b 45 e4             	mov    -0x1c(%ebp),%eax
-    a5f5:	80 48 18 01          	orb    $0x1,0x18(%eax)
-    a5f9:	8d 45 f0             	lea    -0x10(%ebp),%eax
-    a5fc:	89 da                	mov    %ebx,%edx
-    a5fe:	c7 44 24 08 00 00 00 	movl   $0x0,0x8(%esp)
-    a605:	00 
-    a606:	89 4c 24 04          	mov    %ecx,0x4(%esp)
-    a60a:	89 04 24             	mov    %eax,(%esp)
-    a60d:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
-    a610:	8b 45 e0             	mov    -0x20(%ebp),%eax
-    a613:	e8 68 f3 ff ff       	call   0x9980
-    a618:	85 c0                	test   %eax,%eax
-    a61a:	89 c2                	mov    %eax,%edx
-    a61c:	0f 85 05 01 00 00    	jne    0xa727
-    a622:	0f b6 0e             	movzbl (%esi),%ecx
-    a625:	b2 01                	mov    $0x1,%dl
-    a627:	84 c9                	test   %cl,%cl
-    a629:	74 24                	je     0xa64f
-    a62b:	89 7d e0             	mov    %edi,-0x20(%ebp)
-    a62e:	66 90                	xchg   %ax,%ax
-    a630:	89 c8                	mov    %ecx,%eax
-    a632:	89 d7                	mov    %edx,%edi
-    a634:	c0 e8 05             	shr    $0x5,%al
-    a637:	83 e1 1f             	and    $0x1f,%ecx
-    a63a:	0f b6 c0             	movzbl %al,%eax
-    a63d:	83 c6 01             	add    $0x1,%esi
-    a640:	d3 e7                	shl    %cl,%edi
-    a642:	09 3c 83             	or     %edi,(%ebx,%eax,4)
-    a645:	0f b6 0e             	movzbl (%esi),%ecx
-    a648:	84 c9                	test   %cl,%cl
-    a64a:	75 e4                	jne    0xa630
-    a64c:	8b 7d e0             	mov    -0x20(%ebp),%edi
-    a64f:	8b 55 0c             	mov    0xc(%ebp),%edx
-    a652:	85 d2                	test   %edx,%edx
-    a654:	74 17                	je     0xa66d
-    a656:	31 d2                	xor    %edx,%edx
-    a658:	31 c0                	xor    %eax,%eax
-    a65a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
-    a660:	83 c0 01             	add    $0x1,%eax
-    a663:	83 f8 08             	cmp    $0x8,%eax
-    a666:	f7 14 93             	notl   (%ebx,%edx,4)
-    a669:	89 c2                	mov    %eax,%edx
-    a66b:	75 f3                	jne    0xa660
-    a66d:	83 7f 5c 01          	cmpl   $0x1,0x5c(%edi)
-    a671:	7e 1d                	jle    0xa690
-    a673:	8b 77 3c             	mov    0x3c(%edi),%esi
-    a676:	31 d2                	xor    %edx,%edx
-    a678:	31 c0                	xor    %eax,%eax
-    a67a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
-    a680:	8b 0c 96             	mov    (%esi,%edx,4),%ecx
-    a683:	83 c0 01             	add    $0x1,%eax
-    a686:	21 0c 93             	and    %ecx,(%ebx,%edx,4)
-    a689:	83 f8 08             	cmp    $0x8,%eax
-    a68c:	89 c2                	mov    %eax,%edx
-    a68e:	75 f0                	jne    0xa680
-    a690:	8d 45 e8             	lea    -0x18(%ebp),%eax
-    a693:	31 c9                	xor    %ecx,%ecx
-    a695:	c6 45 ec 03          	movb   $0x3,-0x14(%ebp)
-    a699:	31 d2                	xor    %edx,%edx
-    a69b:	89 5d e8             	mov    %ebx,-0x18(%ebp)
-    a69e:	89 04 24             	mov    %eax,(%esp)
-    a6a1:	89 f8                	mov    %edi,%eax
-    a6a3:	e8 f8 63 ff ff       	call   0xaa0
-    a6a8:	85 c0                	test   %eax,%eax
-    a6aa:	89 c6                	mov    %eax,%esi
-    a6ac:	74 5c                	je     0xa70a
-    a6ae:	83 7f 5c 01          	cmpl   $0x1,0x5c(%edi)
-    a6b2:	7e 44                	jle    0xa6f8
-    a6b4:	8b 45 e4             	mov    -0x1c(%ebp),%eax
-    a6b7:	31 c9                	xor    %ecx,%ecx
-    a6b9:	31 d2                	xor    %edx,%edx
-    a6bb:	c6 45 ec 06          	movb   $0x6,-0x14(%ebp)
-    a6bf:	89 45 e8             	mov    %eax,-0x18(%ebp)
-    a6c2:	8d 45 e8             	lea    -0x18(%ebp),%eax
-    a6c5:	80 4f 58 02          	orb    $0x2,0x58(%edi)
-    a6c9:	89 04 24             	mov    %eax,(%esp)
-    a6cc:	89 f8                	mov    %edi,%eax
-    a6ce:	e8 cd 63 ff ff       	call   0xaa0
-    a6d3:	85 c0                	test   %eax,%eax
-    a6d5:	74 33                	je     0xa70a
-    a6d7:	89 c1                	mov    %eax,%ecx
-    a6d9:	89 f2                	mov    %esi,%edx
-    a6db:	89 f8                	mov    %edi,%eax
-    a6dd:	c7 04 24 0a 00 00 00 	movl   $0xa,(%esp)
-    a6e4:	e8 17 65 ff ff       	call   0xc00
-    a6e9:	89 c6                	mov    %eax,%esi
-    a6eb:	83 c4 24             	add    $0x24,%esp
-    a6ee:	89 f0                	mov    %esi,%eax
-    a6f0:	5b                   	pop    %ebx
-    a6f1:	5e                   	pop    %esi
-    a6f2:	5f                   	pop    %edi
-    a6f3:	5d                   	pop    %ebp
-    a6f4:	c3                   	ret    
-    a6f5:	8d 76 00             	lea    0x0(%esi),%esi
-    a6f8:	8b 45 e4             	mov    -0x1c(%ebp),%eax
-    a6fb:	e8 f0 68 ff ff       	call   0xff0
-    a700:	83 c4 24             	add    $0x24,%esp
-    a703:	89 f0                	mov    %esi,%eax
-    a705:	5b                   	pop    %ebx
-    a706:	5e                   	pop    %esi
-    a707:	5f                   	pop    %edi
-    a708:	5d                   	pop    %ebp
-    a709:	c3                   	ret    
-    a70a:	89 1c 24             	mov    %ebx,(%esp)
-    a70d:	31 f6                	xor    %esi,%esi
-    a70f:	e8 fc ff ff ff       	call   0xa710
-    a714:	8b 45 e4             	mov    -0x1c(%ebp),%eax
-    a717:	e8 d4 68 ff ff       	call   0xff0
-    a71c:	8b 7d 10             	mov    0x10(%ebp),%edi
-    a71f:	c7 07 0c 00 00 00    	movl   $0xc,(%edi)
-    a725:	eb c4                	jmp    0xa6eb
-    a727:	89 1c 24             	mov    %ebx,(%esp)
-    a72a:	31 f6                	xor    %esi,%esi
-    a72c:	89 45 dc             	mov    %eax,-0x24(%ebp)
-    a72f:	e8 fc ff ff ff       	call   0xa730
-    a734:	8b 45 e4             	mov    -0x1c(%ebp),%eax
-    a737:	e8 b4 68 ff ff       	call   0xff0
-    a73c:	8b 55 dc             	mov    -0x24(%ebp),%edx
-    a73f:	8b 7d 10             	mov    0x10(%ebp),%edi
-    a742:	89 17                	mov    %edx,(%edi)
-    a744:	eb a5                	jmp    0xa6eb
-    a746:	8b 45 10             	mov    0x10(%ebp),%eax
-    a749:	31 f6                	xor    %esi,%esi
-    a74b:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
-    a751:	eb 98                	jmp    0xa6eb
-    a753:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
-    a759:	8d bc 27 00 00 00 00 	lea    0x0(%edi,%eiz,1),%edi
-    a760:	55                   	push   %ebp
-    a761:	89 e5                	mov    %esp,%ebp
-    a763:	83 ec 18             	sub    $0x18,%esp
-    a766:	8b 45 08             	mov    0x8(%ebp),%eax
-    a769:	89 75 f8             	mov    %esi,-0x8(%ebp)
-    a76c:	8b 75 14             	mov    0x14(%ebp),%esi
-    a76f:	89 5d f4             	mov    %ebx,-0xc(%ebp)
-    a772:	89 7d fc             	mov    %edi,-0x4(%ebp)
-    a775:	83 f8 10             	cmp    $0x10,%eax
-    a778:	77 5b                	ja     0xa7d5
-    a77a:	8b 04 85 00 00 00 00 	mov    0x0(,%eax,4),%eax
-    a781:	c7 44 24 08 05 00 00 	movl   $0x5,0x8(%esp)
-    a788:	00 
-    a789:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
-    a790:	05 00 00 00 00       	add    $0x0,%eax
-    a795:	89 44 24 04          	mov    %eax,0x4(%esp)
-    a799:	e8 fc ff ff ff       	call   0xa79a
-    a79e:	89 04 24             	mov    %eax,(%esp)
-    a7a1:	89 c7                	mov    %eax,%edi
-    a7a3:	e8 fc ff ff ff       	call   0xa7a4
-    a7a8:	85 f6                	test   %esi,%esi
-    a7aa:	8d 58 01             	lea    0x1(%eax),%ebx
-    a7ad:	74 17                	je     0xa7c6
-    a7af:	39 f3                	cmp    %esi,%ebx
-    a7b1:	77 27                	ja     0xa7da
-    a7b3:	8b 55 10             	mov    0x10(%ebp),%edx
-    a7b6:	89 5c 24 08          	mov    %ebx,0x8(%esp)
-    a7ba:	89 7c 24 04          	mov    %edi,0x4(%esp)
-    a7be:	89 14 24             	mov    %edx,(%esp)
-    a7c1:	e8 fc ff ff ff       	call   0xa7c2
-    a7c6:	89 d8                	mov    %ebx,%eax
-    a7c8:	8b 75 f8             	mov    -0x8(%ebp),%esi
-    a7cb:	8b 5d f4             	mov    -0xc(%ebp),%ebx
-    a7ce:	8b 7d fc             	mov    -0x4(%ebp),%edi
-    a7d1:	89 ec                	mov    %ebp,%esp
-    a7d3:	5d                   	pop    %ebp
-    a7d4:	c3                   	ret    
-    a7d5:	e8 fc ff ff ff       	call   0xa7d6
-    a7da:	8b 45 10             	mov    0x10(%ebp),%eax
-    a7dd:	83 ee 01             	sub    $0x1,%esi
-    a7e0:	89 74 24 08          	mov    %esi,0x8(%esp)
-    a7e4:	89 7c 24 04          	mov    %edi,0x4(%esp)
-    a7e8:	89 04 24             	mov    %eax,(%esp)
-    a7eb:	e8 fc ff ff ff       	call   0xa7ec
-    a7f0:	c6 00 00             	movb   $0x0,(%eax)
-    a7f3:	eb d1                	jmp    0xa7c6
-    a7f5:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    a7f9:	8d bc 27 00 00 00 00 	lea    0x0(%edi,%eiz,1),%edi
-    a800:	55                   	push   %ebp
-    a801:	89 e5                	mov    %esp,%ebp
-    a803:	57                   	push   %edi
-    a804:	56                   	push   %esi
-    a805:	53                   	push   %ebx
-    a806:	81 ec 4c 01 00 00    	sub    $0x14c,%esp
-    a80c:	89 85 c0 fe ff ff    	mov    %eax,-0x140(%ebp)
-    a812:	8b 00                	mov    (%eax),%eax
-    a814:	89 95 c4 fe ff ff    	mov    %edx,-0x13c(%ebp)
-    a81a:	89 8d d4 fe ff ff    	mov    %ecx,-0x12c(%ebp)
-    a820:	c7 85 dc fe ff ff 00 	movl   $0x0,-0x124(%ebp)
-    a827:	00 00 00 
-    a82a:	83 78 5c 01          	cmpl   $0x1,0x5c(%eax)
-    a82e:	89 85 c8 fe ff ff    	mov    %eax,-0x138(%ebp)
-    a834:	0f 84 4b 05 00 00    	je     0xad85
-    a83a:	8b 8d c4 fe ff ff    	mov    -0x13c(%ebp),%ecx
-    a840:	8b 41 08             	mov    0x8(%ecx),%eax
-    a843:	85 c0                	test   %eax,%eax
-    a845:	0f 8e 23 05 00 00    	jle    0xad6e
-    a84b:	c7 85 d0 fe ff ff 00 	movl   $0x0,-0x130(%ebp)
-    a852:	00 00 00 
-    a855:	eb 4d                	jmp    0xa8a4
-    a857:	90                   	nop
-    a858:	83 fa 03             	cmp    $0x3,%edx
-    a85b:	0f 84 cf 01 00 00    	je     0xaa30
-    a861:	83 fa 06             	cmp    $0x6,%edx
-    a864:	0f 84 8d 02 00 00    	je     0xaaf7
-    a86a:	83 fa 07             	cmp    $0x7,%edx
-    a86d:	8d 76 00             	lea    0x0(%esi),%esi
-    a870:	0f 84 29 05 00 00    	je     0xad9f
-    a876:	83 fa 05             	cmp    $0x5,%edx
-    a879:	0f 84 20 05 00 00    	je     0xad9f
-    a87f:	83 fa 02             	cmp    $0x2,%edx
-    a882:	0f 84 a0 04 00 00    	je     0xad28
-    a888:	8b 95 c4 fe ff ff    	mov    -0x13c(%ebp),%edx
-    a88e:	83 85 d0 fe ff ff 01 	addl   $0x1,-0x130(%ebp)
-    a895:	8b 8d d0 fe ff ff    	mov    -0x130(%ebp),%ecx
-    a89b:	39 4a 08             	cmp    %ecx,0x8(%edx)
-    a89e:	0f 8e ca 04 00 00    	jle    0xad6e
-    a8a4:	8b 9d c4 fe ff ff    	mov    -0x13c(%ebp),%ebx
-    a8aa:	8b b5 d0 fe ff ff    	mov    -0x130(%ebp),%esi
-    a8b0:	8b bd c8 fe ff ff    	mov    -0x138(%ebp),%edi
-    a8b6:	8b 43 0c             	mov    0xc(%ebx),%eax
-    a8b9:	8b 0f                	mov    (%edi),%ecx
-    a8bb:	8b 04 b0             	mov    (%eax,%esi,4),%eax
-    a8be:	8d 14 c5 00 00 00 00 	lea    0x0(,%eax,8),%edx
-    a8c5:	8d 1c 11             	lea    (%ecx,%edx,1),%ebx
-    a8c8:	89 95 cc fe ff ff    	mov    %edx,-0x134(%ebp)
-    a8ce:	0f b6 53 04          	movzbl 0x4(%ebx),%edx
-    a8d2:	83 fa 01             	cmp    $0x1,%edx
-    a8d5:	75 81                	jne    0xa858
-    a8d7:	0f b6 0b             	movzbl (%ebx),%ecx
-    a8da:	8b 9d d4 fe ff ff    	mov    -0x12c(%ebp),%ebx
-    a8e0:	c6 04 0b 01          	movb   $0x1,(%ebx,%ecx,1)
-    a8e4:	8b bd dc fe ff ff    	mov    -0x124(%ebp),%edi
-    a8ea:	85 ff                	test   %edi,%edi
-    a8ec:	74 1e                	je     0xa90c
-    a8ee:	8b 1d 00 00 00 00    	mov    0x0,%ebx
-    a8f4:	65 8b 13             	mov    %gs:(%ebx),%edx
-    a8f7:	85 d2                	test   %edx,%edx
-    a8f9:	0f 84 52 05 00 00    	je     0xae51
-    a8ff:	8b 14 8a             	mov    (%edx,%ecx,4),%edx
-    a902:	8b b5 d4 fe ff ff    	mov    -0x12c(%ebp),%esi
-    a908:	c6 04 16 01          	movb   $0x1,(%esi,%edx,1)
-    a90c:	8b bd c0 fe ff ff    	mov    -0x140(%ebp),%edi
-    a912:	f6 47 0e 40          	testb  $0x40,0xe(%edi)
-    a916:	0f 84 6c ff ff ff    	je     0xa888
-    a91c:	8b 8d c8 fe ff ff    	mov    -0x138(%ebp),%ecx
-    a922:	8b 51 5c             	mov    0x5c(%ecx),%edx
-    a925:	83 fa 01             	cmp    $0x1,%edx
-    a928:	0f 8e 5a ff ff ff    	jle    0xa888
-    a92e:	83 c2 12             	add    $0x12,%edx
-    a931:	83 e2 fc             	and    $0xfffffffc,%edx
-    a934:	29 d4                	sub    %edx,%esp
-    a936:	8b 11                	mov    (%ecx),%edx
-    a938:	8d 7c 24 1f          	lea    0x1f(%esp),%edi
-    a93c:	83 e7 f0             	and    $0xfffffff0,%edi
-    a93f:	8d 4f 01             	lea    0x1(%edi),%ecx
-    a942:	0f b6 14 c2          	movzbl (%edx,%eax,8),%edx
-    a946:	88 17                	mov    %dl,(%edi)
-    a948:	8b 9d c8 fe ff ff    	mov    -0x138(%ebp),%ebx
-    a94e:	8d 50 01             	lea    0x1(%eax),%edx
-    a951:	39 53 08             	cmp    %edx,0x8(%ebx)
-    a954:	76 66                	jbe    0xa9bc
-    a956:	8b b5 c8 fe ff ff    	mov    -0x138(%ebp),%esi
-    a95c:	8d 1c d5 00 00 00 00 	lea    0x0(,%edx,8),%ebx
-    a963:	03 1e                	add    (%esi),%ebx
-    a965:	8b 73 04             	mov    0x4(%ebx),%esi
-    a968:	81 e6 ff 00 20 00    	and    $0x2000ff,%esi
-    a96e:	81 fe 01 00 20 00    	cmp    $0x200001,%esi
-    a974:	75 46                	jne    0xa9bc
-    a976:	89 bd d8 fe ff ff    	mov    %edi,-0x128(%ebp)
-    a97c:	8d 34 c5 10 00 00 00 	lea    0x10(,%eax,8),%esi
-    a983:	8b bd c8 fe ff ff    	mov    -0x138(%ebp),%edi
-    a989:	eb 1b                	jmp    0xa9a6
-    a98b:	90                   	nop
-    a98c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    a990:	8b 1f                	mov    (%edi),%ebx
-    a992:	01 f3                	add    %esi,%ebx
-    a994:	83 c6 08             	add    $0x8,%esi
-    a997:	8b 43 04             	mov    0x4(%ebx),%eax
-    a99a:	25 ff 00 20 00       	and    $0x2000ff,%eax
-    a99f:	3d 01 00 20 00       	cmp    $0x200001,%eax
-    a9a4:	75 10                	jne    0xa9b6
-    a9a6:	0f b6 03             	movzbl (%ebx),%eax
-    a9a9:	83 c2 01             	add    $0x1,%edx
-    a9ac:	88 01                	mov    %al,(%ecx)
-    a9ae:	83 c1 01             	add    $0x1,%ecx
-    a9b1:	39 57 08             	cmp    %edx,0x8(%edi)
-    a9b4:	77 da                	ja     0xa990
-    a9b6:	8b bd d8 fe ff ff    	mov    -0x128(%ebp),%edi
-    a9bc:	89 cb                	mov    %ecx,%ebx
-    a9be:	29 fb                	sub    %edi,%ebx
-    a9c0:	8d 45 e8             	lea    -0x18(%ebp),%eax
-    a9c3:	8d 55 f0             	lea    -0x10(%ebp),%edx
-    a9c6:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
-    a9cd:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
-    a9d4:	89 44 24 0c          	mov    %eax,0xc(%esp)
-    a9d8:	89 5c 24 08          	mov    %ebx,0x8(%esp)
-    a9dc:	89 7c 24 04          	mov    %edi,0x4(%esp)
-    a9e0:	89 14 24             	mov    %edx,(%esp)
-    a9e3:	e8 fc ff ff ff       	call   0xa9e4
-    a9e8:	39 c3                	cmp    %eax,%ebx
-    a9ea:	0f 85 98 fe ff ff    	jne    0xa888
-    a9f0:	8b 45 f0             	mov    -0x10(%ebp),%eax
-    a9f3:	89 04 24             	mov    %eax,(%esp)
-    a9f6:	e8 fc ff ff ff       	call   0xa9f7
-    a9fb:	8d 4d e8             	lea    -0x18(%ebp),%ecx
-    a9fe:	89 4c 24 08          	mov    %ecx,0x8(%esp)
-    aa02:	89 3c 24             	mov    %edi,(%esp)
-    aa05:	89 44 24 04          	mov    %eax,0x4(%esp)
-    aa09:	e8 fc ff ff ff       	call   0xaa0a
-    aa0e:	83 f8 ff             	cmp    $0xffffffff,%eax
-    aa11:	0f 84 71 fe ff ff    	je     0xa888
-    aa17:	0f b6 07             	movzbl (%edi),%eax
-    aa1a:	8b 9d d4 fe ff ff    	mov    -0x12c(%ebp),%ebx
-    aa20:	c6 04 03 01          	movb   $0x1,(%ebx,%eax,1)
-    aa24:	e9 5f fe ff ff       	jmp    0xa888
-    aa29:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
-    aa30:	31 c0                	xor    %eax,%eax
-    aa32:	c7 85 d8 fe ff ff 00 	movl   $0x0,-0x128(%ebp)
-    aa39:	00 00 00 
-    aa3c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    aa40:	8b b5 cc fe ff ff    	mov    -0x134(%ebp),%esi
-    aa46:	8b 9d d8 fe ff ff    	mov    -0x128(%ebp),%ebx
-    aa4c:	8b 14 31             	mov    (%ecx,%esi,1),%edx
-    aa4f:	8b 8d d8 fe ff ff    	mov    -0x128(%ebp),%ecx
-    aa55:	c1 e3 07             	shl    $0x7,%ebx
-    aa58:	8b 34 82             	mov    (%edx,%eax,4),%esi
-    aa5b:	31 c0                	xor    %eax,%eax
-    aa5d:	8b 95 d8 fe ff ff    	mov    -0x128(%ebp),%edx
-    aa63:	83 c1 04             	add    $0x4,%ecx
-    aa66:	c1 e1 05             	shl    $0x5,%ecx
-    aa69:	89 b5 b8 fe ff ff    	mov    %esi,-0x148(%ebp)
-    aa6f:	c1 e2 05             	shl    $0x5,%edx
-    aa72:	03 95 d4 fe ff ff    	add    -0x12c(%ebp),%edx
-    aa78:	8b bd b8 fe ff ff    	mov    -0x148(%ebp),%edi
-    aa7e:	0f a3 c7             	bt     %eax,%edi
-    aa81:	73 40                	jae    0xaac3
-    aa83:	c6 02 01             	movb   $0x1,(%edx)
-    aa86:	8b b5 dc fe ff ff    	mov    -0x124(%ebp),%esi
-    aa8c:	89 d7                	mov    %edx,%edi
-    aa8e:	85 f6                	test   %esi,%esi
-    aa90:	74 31                	je     0xaac3
-    aa92:	81 f9 7f 01 00 00    	cmp    $0x17f,%ecx
-    aa98:	77 26                	ja     0xaac0
-    aa9a:	8b 35 00 00 00 00    	mov    0x0,%esi
-    aaa0:	65 8b 36             	mov    %gs:(%esi),%esi
-    aaa3:	85 f6                	test   %esi,%esi
-    aaa5:	89 b5 bc fe ff ff    	mov    %esi,-0x144(%ebp)
-    aaab:	0f 84 78 03 00 00    	je     0xae29
-    aab1:	8b b5 bc fe ff ff    	mov    -0x144(%ebp),%esi
-    aab7:	8b bd d4 fe ff ff    	mov    -0x12c(%ebp),%edi
-    aabd:	03 3c 1e             	add    (%esi,%ebx,1),%edi
-    aac0:	c6 07 01             	movb   $0x1,(%edi)
-    aac3:	83 c0 01             	add    $0x1,%eax
-    aac6:	83 c2 01             	add    $0x1,%edx
-    aac9:	83 c1 01             	add    $0x1,%ecx
-    aacc:	83 c3 04             	add    $0x4,%ebx
-    aacf:	83 f8 20             	cmp    $0x20,%eax
-    aad2:	75 a4                	jne    0xaa78
-    aad4:	83 85 d8 fe ff ff 01 	addl   $0x1,-0x128(%ebp)
-    aadb:	8b 85 d8 fe ff ff    	mov    -0x128(%ebp),%eax
-    aae1:	83 f8 08             	cmp    $0x8,%eax
-    aae4:	0f 84 9e fd ff ff    	je     0xa888
-    aaea:	8b bd c8 fe ff ff    	mov    -0x138(%ebp),%edi
-    aaf0:	8b 0f                	mov    (%edi),%ecx
-    aaf2:	e9 49 ff ff ff       	jmp    0xaa40
-    aaf7:	a1 00 00 00 00       	mov    0x0,%eax
-    aafc:	8b 33                	mov    (%ebx),%esi
-    aafe:	65 8b 00             	mov    %gs:(%eax),%eax
-    ab01:	8b 00                	mov    (%eax),%eax
-    ab03:	8b 48 28             	mov    0x28(%eax),%ecx
-    ab06:	85 c9                	test   %ecx,%ecx
-    ab08:	74 15                	je     0xab1f
-    ab0a:	8b 56 20             	mov    0x20(%esi),%edx
-    ab0d:	85 d2                	test   %edx,%edx
-    ab0f:	0f 85 9d 00 00 00    	jne    0xabb2
-    ab15:	83 7e 28 00          	cmpl   $0x0,0x28(%esi)
-    ab19:	0f 85 93 00 00 00    	jne    0xabb2
-    ab1f:	8b 85 c8 fe ff ff    	mov    -0x138(%ebp),%eax
-    ab25:	83 78 5c 01          	cmpl   $0x1,0x5c(%eax)
-    ab29:	0f 8e f7 00 00 00    	jle    0xac26
-    ab2f:	8b 4e 2c             	mov    0x2c(%esi),%ecx
-    ab32:	85 c9                	test   %ecx,%ecx
-    ab34:	75 10                	jne    0xab46
-    ab36:	f6 46 18 01          	testb  $0x1,0x18(%esi)
-    ab3a:	75 0a                	jne    0xab46
-    ab3c:	83 7e 28 00          	cmpl   $0x0,0x28(%esi)
-    ab40:	0f 84 30 02 00 00    	je     0xad76
-    ab46:	c6 45 f0 00          	movb   $0x0,-0x10(%ebp)
-    ab4a:	8b 9d d4 fe ff ff    	mov    -0x12c(%ebp),%ebx
-    ab50:	eb 18                	jmp    0xab6a
-    ab52:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
-    ab58:	0f b6 45 f0          	movzbl -0x10(%ebp),%eax
-    ab5c:	83 c0 01             	add    $0x1,%eax
-    ab5f:	84 c0                	test   %al,%al
-    ab61:	88 45 f0             	mov    %al,-0x10(%ebp)
-    ab64:	0f 84 1e fd ff ff    	je     0xa888
-    ab6a:	8d 95 e0 fe ff ff    	lea    -0x120(%ebp),%edx
-    ab70:	8d 4d f0             	lea    -0x10(%ebp),%ecx
-    ab73:	c7 85 e0 fe ff ff 00 	movl   $0x0,-0x120(%ebp)
-    ab7a:	00 00 00 
-    ab7d:	c7 85 e4 fe ff ff 00 	movl   $0x0,-0x11c(%ebp)
-    ab84:	00 00 00 
-    ab87:	89 54 24 0c          	mov    %edx,0xc(%esp)
-    ab8b:	c7 44 24 08 01 00 00 	movl   $0x1,0x8(%esp)
-    ab92:	00 
-    ab93:	89 4c 24 04          	mov    %ecx,0x4(%esp)
-    ab97:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
-    ab9e:	e8 fc ff ff ff       	call   0xab9f
-    aba3:	83 f8 fe             	cmp    $0xfffffffe,%eax
-    aba6:	75 b0                	jne    0xab58
-    aba8:	0f b6 45 f0          	movzbl -0x10(%ebp),%eax
-    abac:	c6 04 03 01          	movb   $0x1,(%ebx,%eax,1)
-    abb0:	eb a6                	jmp    0xab58
-    abb2:	8b 48 30             	mov    0x30(%eax),%ecx
-    abb5:	31 c0                	xor    %eax,%eax
-    abb7:	89 b5 d8 fe ff ff    	mov    %esi,-0x128(%ebp)
-    abbd:	8b b5 d4 fe ff ff    	mov    -0x12c(%ebp),%esi
-    abc3:	eb 0d                	jmp    0xabd2
-    abc5:	8d 76 00             	lea    0x0(%esi),%esi
-    abc8:	83 c0 01             	add    $0x1,%eax
-    abcb:	3d 00 01 00 00       	cmp    $0x100,%eax
-    abd0:	74 3e                	je     0xac10
-    abd2:	8b 3c 81             	mov    (%ecx,%eax,4),%edi
-    abd5:	8d 14 85 00 00 00 00 	lea    0x0(,%eax,4),%edx
-    abdc:	85 ff                	test   %edi,%edi
-    abde:	79 e8                	jns    0xabc8
-    abe0:	c6 04 06 01          	movb   $0x1,(%esi,%eax,1)
-    abe4:	8b 9d dc fe ff ff    	mov    -0x124(%ebp),%ebx
-    abea:	85 db                	test   %ebx,%ebx
-    abec:	74 da                	je     0xabc8
-    abee:	8b 3d 00 00 00 00    	mov    0x0,%edi
-    abf4:	65 8b 1f             	mov    %gs:(%edi),%ebx
-    abf7:	85 db                	test   %ebx,%ebx
-    abf9:	0f 84 0e 02 00 00    	je     0xae0d
-    abff:	8b 14 13             	mov    (%ebx,%edx,1),%edx
-    ac02:	83 c0 01             	add    $0x1,%eax
-    ac05:	3d 00 01 00 00       	cmp    $0x100,%eax
-    ac0a:	c6 04 16 01          	movb   $0x1,(%esi,%edx,1)
-    ac0e:	75 c2                	jne    0xabd2
-    ac10:	8b 85 c8 fe ff ff    	mov    -0x138(%ebp),%eax
-    ac16:	8b b5 d8 fe ff ff    	mov    -0x128(%ebp),%esi
-    ac1c:	83 78 5c 01          	cmpl   $0x1,0x5c(%eax)
-    ac20:	0f 8f 09 ff ff ff    	jg     0xab2f
-    ac26:	31 db                	xor    %ebx,%ebx
-    ac28:	83 7e 1c 00          	cmpl   $0x0,0x1c(%esi)
-    ac2c:	7f 72                	jg     0xaca0
-    ac2e:	e9 55 fc ff ff       	jmp    0xa888
-    ac33:	8b 04 82             	mov    (%edx,%eax,4),%eax
-    ac36:	8b 95 d4 fe ff ff    	mov    -0x12c(%ebp),%edx
-    ac3c:	c6 04 02 01          	movb   $0x1,(%edx,%eax,1)
-    ac40:	8b 8d c0 fe ff ff    	mov    -0x140(%ebp),%ecx
-    ac46:	f6 41 0e 40          	testb  $0x40,0xe(%ecx)
-    ac4a:	74 48                	je     0xac94
-    ac4c:	8b 85 c8 fe ff ff    	mov    -0x138(%ebp),%eax
-    ac52:	83 78 5c 01          	cmpl   $0x1,0x5c(%eax)
-    ac56:	7e 3c                	jle    0xac94
-    ac58:	8b 06                	mov    (%esi),%eax
-    ac5a:	8b 04 38             	mov    (%eax,%edi,1),%eax
-    ac5d:	89 04 24             	mov    %eax,(%esp)
-    ac60:	e8 fc ff ff ff       	call   0xac61
-    ac65:	8d 55 e0             	lea    -0x20(%ebp),%edx
-    ac68:	8d 8d e0 fe ff ff    	lea    -0x120(%ebp),%ecx
-    ac6e:	89 54 24 08          	mov    %edx,0x8(%esp)
-    ac72:	89 0c 24             	mov    %ecx,(%esp)
-    ac75:	89 44 24 04          	mov    %eax,0x4(%esp)
-    ac79:	e8 fc ff ff ff       	call   0xac7a
-    ac7e:	83 f8 ff             	cmp    $0xffffffff,%eax
-    ac81:	74 11                	je     0xac94
-    ac83:	0f b6 85 e0 fe ff ff 	movzbl -0x120(%ebp),%eax
-    ac8a:	8b bd d4 fe ff ff    	mov    -0x12c(%ebp),%edi
-    ac90:	c6 04 07 01          	movb   $0x1,(%edi,%eax,1)
-    ac94:	83 c3 01             	add    $0x1,%ebx
-    ac97:	39 5e 1c             	cmp    %ebx,0x1c(%esi)
-    ac9a:	0f 8e e8 fb ff ff    	jle    0xa888
-    aca0:	8d 45 e0             	lea    -0x20(%ebp),%eax
-    aca3:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
-    acaa:	8d 95 e0 fe ff ff    	lea    -0x120(%ebp),%edx
-    acb0:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
-    acb7:	8d 3c 9d 00 00 00 00 	lea    0x0(,%ebx,4),%edi
-    acbe:	89 44 24 08          	mov    %eax,0x8(%esp)
-    acc2:	8b 06                	mov    (%esi),%eax
-    acc4:	8b 04 98             	mov    (%eax,%ebx,4),%eax
-    acc7:	89 14 24             	mov    %edx,(%esp)
-    acca:	89 44 24 04          	mov    %eax,0x4(%esp)
-    acce:	e8 fc ff ff ff       	call   0xaccf
-    acd3:	83 f8 ff             	cmp    $0xffffffff,%eax
-    acd6:	0f 84 64 ff ff ff    	je     0xac40
-    acdc:	0f b6 85 e0 fe ff ff 	movzbl -0x120(%ebp),%eax
-    ace3:	8b 8d d4 fe ff ff    	mov    -0x12c(%ebp),%ecx
-    ace9:	c6 04 01 01          	movb   $0x1,(%ecx,%eax,1)
-    aced:	8b 95 dc fe ff ff    	mov    -0x124(%ebp),%edx
-    acf3:	85 d2                	test   %edx,%edx
-    acf5:	0f 84 45 ff ff ff    	je     0xac40
-    acfb:	8b 0d 00 00 00 00    	mov    0x0,%ecx
-    ad01:	65 8b 11             	mov    %gs:(%ecx),%edx
-    ad04:	85 d2                	test   %edx,%edx
-    ad06:	0f 85 27 ff ff ff    	jne    0xac33
-    ad0c:	8b 15 00 00 00 00    	mov    0x0,%edx
-    ad12:	65 8b 12             	mov    %gs:(%edx),%edx
-    ad15:	8b 12                	mov    (%edx),%edx
-    ad17:	8b 52 34             	mov    0x34(%edx),%edx
-    ad1a:	81 c2 00 02 00 00    	add    $0x200,%edx
-    ad20:	65 89 11             	mov    %edx,%gs:(%ecx)
-    ad23:	e9 0b ff ff ff       	jmp    0xac33
-    ad28:	8b bd d4 fe ff ff    	mov    -0x12c(%ebp),%edi
-    ad2e:	ba 00 01 00 00       	mov    $0x100,%edx
-    ad33:	b8 01 01 01 01       	mov    $0x1010101,%eax
-    ad38:	f7 c7 01 00 00 00    	test   $0x1,%edi
-    ad3e:	0f 85 b1 00 00 00    	jne    0xadf5
-    ad44:	f7 c7 02 00 00 00    	test   $0x2,%edi
-    ad4a:	0f 85 9a 00 00 00    	jne    0xadea
-    ad50:	89 d1                	mov    %edx,%ecx
-    ad52:	c1 e9 02             	shr    $0x2,%ecx
-    ad55:	f6 c2 02             	test   $0x2,%dl
-    ad58:	f3 ab                	rep stos %eax,%es:(%edi)
-    ad5a:	74 02                	je     0xad5e
-    ad5c:	66 ab                	stos   %ax,%es:(%edi)
-    ad5e:	80 e2 01             	and    $0x1,%dl
-    ad61:	74 01                	je     0xad64
-    ad63:	aa                   	stos   %al,%es:(%edi)
-    ad64:	8b 85 c0 fe ff ff    	mov    -0x140(%ebp),%eax
-    ad6a:	80 48 1c 01          	orb    $0x1,0x1c(%eax)
-    ad6e:	8d 65 f4             	lea    -0xc(%ebp),%esp
-    ad71:	5b                   	pop    %ebx
-    ad72:	5e                   	pop    %esi
-    ad73:	5f                   	pop    %edi
-    ad74:	5d                   	pop    %ebp
-    ad75:	c3                   	ret    
-    ad76:	83 7e 24 00          	cmpl   $0x0,0x24(%esi)
-    ad7a:	0f 84 a6 fe ff ff    	je     0xac26
-    ad80:	e9 c1 fd ff ff       	jmp    0xab46
-    ad85:	8b 95 c0 fe ff ff    	mov    -0x140(%ebp),%edx
-    ad8b:	8b 52 0c             	mov    0xc(%edx),%edx
-    ad8e:	c1 ea 16             	shr    $0x16,%edx
-    ad91:	83 e2 01             	and    $0x1,%edx
-    ad94:	89 95 dc fe ff ff    	mov    %edx,-0x124(%ebp)
-    ad9a:	e9 9b fa ff ff       	jmp    0xa83a
-    ad9f:	8b bd d4 fe ff ff    	mov    -0x12c(%ebp),%edi
-    ada5:	bb 00 01 00 00       	mov    $0x100,%ebx
-    adaa:	b8 01 01 01 01       	mov    $0x1010101,%eax
-    adaf:	f7 c7 01 00 00 00    	test   $0x1,%edi
-    adb5:	75 4f                	jne    0xae06
-    adb7:	f7 c7 02 00 00 00    	test   $0x2,%edi
-    adbd:	75 40                	jne    0xadff
-    adbf:	89 d9                	mov    %ebx,%ecx
-    adc1:	c1 e9 02             	shr    $0x2,%ecx
-    adc4:	f6 c3 02             	test   $0x2,%bl
-    adc7:	f3 ab                	rep stos %eax,%es:(%edi)
-    adc9:	75 17                	jne    0xade2
-    adcb:	80 e3 01             	and    $0x1,%bl
-    adce:	75 0a                	jne    0xadda
-    add0:	83 fa 02             	cmp    $0x2,%edx
-    add3:	75 99                	jne    0xad6e
-    add5:	8d 76 00             	lea    0x0(%esi),%esi
-    add8:	eb 8a                	jmp    0xad64
-    adda:	aa                   	stos   %al,%es:(%edi)
-    addb:	90                   	nop
-    addc:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    ade0:	eb ee                	jmp    0xadd0
-    ade2:	66 ab                	stos   %ax,%es:(%edi)
-    ade4:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    ade8:	eb e1                	jmp    0xadcb
-    adea:	66 ab                	stos   %ax,%es:(%edi)
-    adec:	83 ea 02             	sub    $0x2,%edx
-    adef:	90                   	nop
-    adf0:	e9 5b ff ff ff       	jmp    0xad50
-    adf5:	aa                   	stos   %al,%es:(%edi)
-    adf6:	66 ba ff 00          	mov    $0xff,%dx
-    adfa:	e9 45 ff ff ff       	jmp    0xad44
-    adff:	66 ab                	stos   %ax,%es:(%edi)
-    ae01:	83 eb 02             	sub    $0x2,%ebx
-    ae04:	eb b9                	jmp    0xadbf
-    ae06:	aa                   	stos   %al,%es:(%edi)
-    ae07:	66 bb ff 00          	mov    $0xff,%bx
-    ae0b:	eb aa                	jmp    0xadb7
-    ae0d:	8b 1d 00 00 00 00    	mov    0x0,%ebx
-    ae13:	65 8b 1b             	mov    %gs:(%ebx),%ebx
-    ae16:	8b 1b                	mov    (%ebx),%ebx
-    ae18:	8b 5b 34             	mov    0x34(%ebx),%ebx
-    ae1b:	81 c3 00 02 00 00    	add    $0x200,%ebx
-    ae21:	65 89 1f             	mov    %ebx,%gs:(%edi)
-    ae24:	e9 d6 fd ff ff       	jmp    0xabff
-    ae29:	8b 3d 00 00 00 00    	mov    0x0,%edi
-    ae2f:	8b 35 00 00 00 00    	mov    0x0,%esi
-    ae35:	65 8b 3f             	mov    %gs:(%edi),%edi
-    ae38:	8b 3f                	mov    (%edi),%edi
-    ae3a:	8b 7f 34             	mov    0x34(%edi),%edi
-    ae3d:	81 c7 00 02 00 00    	add    $0x200,%edi
-    ae43:	89 bd bc fe ff ff    	mov    %edi,-0x144(%ebp)
-    ae49:	65 89 3e             	mov    %edi,%gs:(%esi)
-    ae4c:	e9 60 fc ff ff       	jmp    0xaab1
-    ae51:	8b 15 00 00 00 00    	mov    0x0,%edx
-    ae57:	65 8b 12             	mov    %gs:(%edx),%edx
-    ae5a:	8b 12                	mov    (%edx),%edx
-    ae5c:	8b 52 34             	mov    0x34(%edx),%edx
-    ae5f:	81 c2 00 02 00 00    	add    $0x200,%edx
-    ae65:	65 89 13             	mov    %edx,%gs:(%ebx)
-    ae68:	e9 92 fa ff ff       	jmp    0xa8ff
-    ae6d:	8d 76 00             	lea    0x0(%esi),%esi
-    ae70:	55                   	push   %ebp
-    ae71:	ba 00 01 00 00       	mov    $0x100,%edx
-    ae76:	89 e5                	mov    %esp,%ebp
-    ae78:	57                   	push   %edi
-    ae79:	56                   	push   %esi
-    ae7a:	53                   	push   %ebx
-    ae7b:	83 ec 04             	sub    $0x4,%esp
-    ae7e:	8b 75 08             	mov    0x8(%ebp),%esi
-    ae81:	8b 46 10             	mov    0x10(%esi),%eax
-    ae84:	8b 1e                	mov    (%esi),%ebx
-    ae86:	a8 01                	test   $0x1,%al
-    ae88:	89 c7                	mov    %eax,%edi
-    ae8a:	89 45 f0             	mov    %eax,-0x10(%ebp)
-    ae8d:	0f 85 85 00 00 00    	jne    0xaf18
-    ae93:	f7 c7 02 00 00 00    	test   $0x2,%edi
-    ae99:	0f 85 91 00 00 00    	jne    0xaf30
-    ae9f:	89 d1                	mov    %edx,%ecx
-    aea1:	31 c0                	xor    %eax,%eax
-    aea3:	c1 e9 02             	shr    $0x2,%ecx
-    aea6:	f6 c2 02             	test   $0x2,%dl
-    aea9:	f3 ab                	rep stos %eax,%es:(%edi)
-    aeab:	74 08                	je     0xaeb5
-    aead:	66 c7 07 00 00       	movw   $0x0,(%edi)
-    aeb2:	83 c7 02             	add    $0x2,%edi
-    aeb5:	83 e2 01             	and    $0x1,%edx
-    aeb8:	74 03                	je     0xaebd
-    aeba:	c6 07 00             	movb   $0x0,(%edi)
-    aebd:	8b 53 24             	mov    0x24(%ebx),%edx
-    aec0:	89 f0                	mov    %esi,%eax
-    aec2:	8b 4d f0             	mov    -0x10(%ebp),%ecx
-    aec5:	e8 36 f9 ff ff       	call   0xa800
-    aeca:	8b 53 28             	mov    0x28(%ebx),%edx
-    aecd:	39 53 24             	cmp    %edx,0x24(%ebx)
-    aed0:	74 0d                	je     0xaedf
+    9961:	c7 44 24 0c 00 00 00 	movl   $0x0,0xc(%esp)
+    9968:	00 
+    9969:	c7 44 24 08 00 00 00 	movl   $0x0,0x8(%esp)
+    9970:	00 
+    9971:	89 44 24 04          	mov    %eax,0x4(%esp)
+    9975:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
+    997c:	e8 fc ff ff ff       	call   0x997d
+    9981:	c9                   	leave  
+    9982:	85 c0                	test   %eax,%eax
+    9984:	0f 94 c0             	sete   %al
+    9987:	0f b6 c0             	movzbl %al,%eax
+    998a:	c3                   	ret    
+    998b:	90                   	nop
+    998c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    9990:	55                   	push   %ebp
+    9991:	89 e5                	mov    %esp,%ebp
+    9993:	57                   	push   %edi
+    9994:	56                   	push   %esi
+    9995:	53                   	push   %ebx
+    9996:	89 d3                	mov    %edx,%ebx
+    9998:	81 ec d0 00 00 00    	sub    $0xd0,%esp
+    999e:	89 ca                	mov    %ecx,%edx
+    99a0:	89 45 ec             	mov    %eax,-0x14(%ebp)
+    99a3:	8b 45 0c             	mov    0xc(%ebp),%eax
+    99a6:	f6 45 12 40          	testb  $0x40,0x12(%ebp)
+    99aa:	89 45 f0             	mov    %eax,-0x10(%ebp)
+    99ad:	74 1b                	je     0x99ca
+    99af:	bf 89 00 00 00       	mov    $0x89,%edi
+    99b4:	b9 06 00 00 00       	mov    $0x6,%ecx
+    99b9:	89 c6                	mov    %eax,%esi
+    99bb:	f3 a6                	repz cmpsb %es:(%edi),%ds:(%esi)
+    99bd:	0f 85 c1 01 00 00    	jne    0x9b84
+    99c3:	c7 45 f0 95 00 00 00 	movl   $0x95,-0x10(%ebp)
+    99ca:	8b 4d 08             	mov    0x8(%ebp),%ecx
+    99cd:	8b 72 2c             	mov    0x2c(%edx),%esi
+    99d0:	8b 01                	mov    (%ecx),%eax
+    99d2:	39 f0                	cmp    %esi,%eax
+    99d4:	0f 84 03 08 00 00    	je     0xa1dd
+    99da:	8b 45 f0             	mov    -0x10(%ebp),%eax
+    99dd:	8d 3c b5 00 00 00 00 	lea    0x0(,%esi,4),%edi
+    99e4:	83 c6 01             	add    $0x1,%esi
+    99e7:	03 7a 14             	add    0x14(%edx),%edi
+    99ea:	89 04 24             	mov    %eax,(%esp)
+    99ed:	89 55 e4             	mov    %edx,-0x1c(%ebp)
+    99f0:	e8 fc ff ff ff       	call   0x99f1
+    99f5:	8b 55 e4             	mov    -0x1c(%ebp),%edx
+    99f8:	b9 06 00 00 00       	mov    $0x6,%ecx
+    99fd:	89 72 2c             	mov    %esi,0x2c(%edx)
+    9a00:	8b 75 f0             	mov    -0x10(%ebp),%esi
+    9a03:	89 07                	mov    %eax,(%edi)
+    9a05:	bf 9b 00 00 00       	mov    $0x9b,%edi
+    9a0a:	f3 a6                	repz cmpsb %es:(%edi),%ds:(%esi)
+    9a0c:	75 6a                	jne    0x9a78
+    9a0e:	8b 45 ec             	mov    -0x14(%ebp),%eax
+    9a11:	85 c0                	test   %eax,%eax
+    9a13:	0f 85 7e 04 00 00    	jne    0x9e97
+    9a19:	a1 00 00 00 00       	mov    0x0,%eax
+    9a1e:	8b 35 00 00 00 00    	mov    0x0,%esi
+    9a24:	65 8b 00             	mov    %gs:(%eax),%eax
+    9a27:	89 75 f0             	mov    %esi,-0x10(%ebp)
+    9a2a:	65 8b 16             	mov    %gs:(%esi),%edx
+    9a2d:	89 de                	mov    %ebx,%esi
+    9a2f:	89 45 ec             	mov    %eax,-0x14(%ebp)
+    9a32:	31 c0                	xor    %eax,%eax
+    9a34:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    9a38:	85 d2                	test   %edx,%edx
+    9a3a:	0f 84 92 02 00 00    	je     0x9cd2
+    9a40:	f6 04 42 08          	testb  $0x8,(%edx,%eax,2)
+    9a44:	74 14                	je     0x9a5a
+    9a46:	89 c3                	mov    %eax,%ebx
+    9a48:	89 c1                	mov    %eax,%ecx
+    9a4a:	c1 eb 05             	shr    $0x5,%ebx
+    9a4d:	83 e1 1f             	and    $0x1f,%ecx
+    9a50:	bf 01 00 00 00       	mov    $0x1,%edi
+    9a55:	d3 e7                	shl    %cl,%edi
+    9a57:	09 3c 9e             	or     %edi,(%esi,%ebx,4)
+    9a5a:	83 c0 01             	add    $0x1,%eax
+    9a5d:	3d 00 01 00 00       	cmp    $0x100,%eax
+    9a62:	75 d4                	jne    0x9a38
+    9a64:	8b 75 f0             	mov    -0x10(%ebp),%esi
+    9a67:	31 c0                	xor    %eax,%eax
+    9a69:	65 89 16             	mov    %edx,%gs:(%esi)
+    9a6c:	81 c4 d0 00 00 00    	add    $0xd0,%esp
+    9a72:	5b                   	pop    %ebx
+    9a73:	5e                   	pop    %esi
+    9a74:	5f                   	pop    %edi
+    9a75:	5d                   	pop    %ebp
+    9a76:	c3                   	ret    
+    9a77:	90                   	nop
+    9a78:	8b 75 f0             	mov    -0x10(%ebp),%esi
+    9a7b:	bf a1 00 00 00       	mov    $0xa1,%edi
+    9a80:	b9 06 00 00 00       	mov    $0x6,%ecx
+    9a85:	f3 a6                	repz cmpsb %es:(%edi),%ds:(%esi)
+    9a87:	75 66                	jne    0x9aef
+    9a89:	8b 7d ec             	mov    -0x14(%ebp),%edi
+    9a8c:	85 ff                	test   %edi,%edi
+    9a8e:	0f 85 6f 04 00 00    	jne    0x9f03
+    9a94:	a1 00 00 00 00       	mov    0x0,%eax
+    9a99:	8b 35 00 00 00 00    	mov    0x0,%esi
+    9a9f:	65 8b 00             	mov    %gs:(%eax),%eax
+    9aa2:	89 75 f0             	mov    %esi,-0x10(%ebp)
+    9aa5:	65 8b 16             	mov    %gs:(%esi),%edx
+    9aa8:	89 de                	mov    %ebx,%esi
+    9aaa:	89 45 ec             	mov    %eax,-0x14(%ebp)
+    9aad:	31 c0                	xor    %eax,%eax
+    9aaf:	90                   	nop
+    9ab0:	85 d2                	test   %edx,%edx
+    9ab2:	0f 84 22 03 00 00    	je     0x9dda
+    9ab8:	f6 04 42 02          	testb  $0x2,(%edx,%eax,2)
+    9abc:	74 14                	je     0x9ad2
+    9abe:	89 c3                	mov    %eax,%ebx
+    9ac0:	89 c1                	mov    %eax,%ecx
+    9ac2:	c1 eb 05             	shr    $0x5,%ebx
+    9ac5:	83 e1 1f             	and    $0x1f,%ecx
+    9ac8:	bf 01 00 00 00       	mov    $0x1,%edi
+    9acd:	d3 e7                	shl    %cl,%edi
+    9acf:	09 3c 9e             	or     %edi,(%esi,%ebx,4)
+    9ad2:	83 c0 01             	add    $0x1,%eax
+    9ad5:	3d 00 01 00 00       	cmp    $0x100,%eax
+    9ada:	75 d4                	jne    0x9ab0
+    9adc:	8b 45 f0             	mov    -0x10(%ebp),%eax
+    9adf:	65 89 10             	mov    %edx,%gs:(%eax)
+    9ae2:	31 c0                	xor    %eax,%eax
+    9ae4:	81 c4 d0 00 00 00    	add    $0xd0,%esp
+    9aea:	5b                   	pop    %ebx
+    9aeb:	5e                   	pop    %esi
+    9aec:	5f                   	pop    %edi
+    9aed:	5d                   	pop    %ebp
+    9aee:	c3                   	ret    
+    9aef:	8b 75 f0             	mov    -0x10(%ebp),%esi
+    9af2:	bf 8f 00 00 00       	mov    $0x8f,%edi
+    9af7:	b9 06 00 00 00       	mov    $0x6,%ecx
+    9afc:	f3 a6                	repz cmpsb %es:(%edi),%ds:(%esi)
+    9afe:	0f 84 a1 00 00 00    	je     0x9ba5
+    9b04:	8b 75 f0             	mov    -0x10(%ebp),%esi
+    9b07:	bf a7 00 00 00       	mov    $0xa7,%edi
+    9b0c:	b9 06 00 00 00       	mov    $0x6,%ecx
+    9b11:	f3 a6                	repz cmpsb %es:(%edi),%ds:(%esi)
+    9b13:	0f 85 f1 00 00 00    	jne    0x9c0a
+    9b19:	8b 4d ec             	mov    -0x14(%ebp),%ecx
+    9b1c:	85 c9                	test   %ecx,%ecx
+    9b1e:	0f 85 4d 06 00 00    	jne    0xa171
+    9b24:	8b 35 00 00 00 00    	mov    0x0,%esi
+    9b2a:	a1 00 00 00 00       	mov    0x0,%eax
+    9b2f:	65 8b 3e             	mov    %gs:(%esi),%edi
+    9b32:	65 8b 00             	mov    %gs:(%eax),%eax
+    9b35:	89 75 f0             	mov    %esi,-0x10(%ebp)
+    9b38:	89 de                	mov    %ebx,%esi
+    9b3a:	89 7d ec             	mov    %edi,-0x14(%ebp)
+    9b3d:	89 fa                	mov    %edi,%edx
+    9b3f:	89 45 e8             	mov    %eax,-0x18(%ebp)
+    9b42:	31 c0                	xor    %eax,%eax
+    9b44:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    9b48:	85 d2                	test   %edx,%edx
+    9b4a:	0f 84 0b 06 00 00    	je     0xa15b
+    9b50:	f6 44 42 01 20       	testb  $0x20,0x1(%edx,%eax,2)
+    9b55:	74 1b                	je     0x9b72
+    9b57:	89 c7                	mov    %eax,%edi
+    9b59:	89 c3                	mov    %eax,%ebx
+    9b5b:	83 e7 1f             	and    $0x1f,%edi
+    9b5e:	89 7d e0             	mov    %edi,-0x20(%ebp)
+    9b61:	0f b6 4d e0          	movzbl -0x20(%ebp),%ecx
+    9b65:	c1 eb 05             	shr    $0x5,%ebx
+    9b68:	bf 01 00 00 00       	mov    $0x1,%edi
+    9b6d:	d3 e7                	shl    %cl,%edi
+    9b6f:	09 3c 9e             	or     %edi,(%esi,%ebx,4)
+    9b72:	83 c0 01             	add    $0x1,%eax
+    9b75:	3d 00 01 00 00       	cmp    $0x100,%eax
+    9b7a:	75 cc                	jne    0x9b48
+    9b7c:	8b 55 ec             	mov    -0x14(%ebp),%edx
+    9b7f:	e9 58 ff ff ff       	jmp    0x9adc
+    9b84:	8b 75 f0             	mov    -0x10(%ebp),%esi
+    9b87:	bf 8f 00 00 00       	mov    $0x8f,%edi
+    9b8c:	b9 06 00 00 00       	mov    $0x6,%ecx
+    9b91:	f3 a6                	repz cmpsb %es:(%edi),%ds:(%esi)
+    9b93:	0f 85 31 fe ff ff    	jne    0x99ca
+    9b99:	c7 45 f0 95 00 00 00 	movl   $0x95,-0x10(%ebp)
+    9ba0:	e9 25 fe ff ff       	jmp    0x99ca
+    9ba5:	8b 75 ec             	mov    -0x14(%ebp),%esi
+    9ba8:	85 f6                	test   %esi,%esi
+    9baa:	0f 85 3e 05 00 00    	jne    0xa0ee
+    9bb0:	a1 00 00 00 00       	mov    0x0,%eax
+    9bb5:	8b 35 00 00 00 00    	mov    0x0,%esi
+    9bbb:	65 8b 00             	mov    %gs:(%eax),%eax
+    9bbe:	89 75 f0             	mov    %esi,-0x10(%ebp)
+    9bc1:	65 8b 16             	mov    %gs:(%esi),%edx
+    9bc4:	89 de                	mov    %ebx,%esi
+    9bc6:	89 45 ec             	mov    %eax,-0x14(%ebp)
+    9bc9:	31 c0                	xor    %eax,%eax
+    9bcb:	90                   	nop
+    9bcc:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    9bd0:	85 d2                	test   %edx,%edx
+    9bd2:	0f 84 15 02 00 00    	je     0x9ded
+    9bd8:	f6 44 42 01 02       	testb  $0x2,0x1(%edx,%eax,2)
+    9bdd:	74 14                	je     0x9bf3
+    9bdf:	89 c3                	mov    %eax,%ebx
+    9be1:	89 c1                	mov    %eax,%ecx
+    9be3:	c1 eb 05             	shr    $0x5,%ebx
+    9be6:	83 e1 1f             	and    $0x1f,%ecx
+    9be9:	bf 01 00 00 00       	mov    $0x1,%edi
+    9bee:	d3 e7                	shl    %cl,%edi
+    9bf0:	09 3c 9e             	or     %edi,(%esi,%ebx,4)
+    9bf3:	83 c0 01             	add    $0x1,%eax
+    9bf6:	3d 00 01 00 00       	cmp    $0x100,%eax
+    9bfb:	75 d3                	jne    0x9bd0
+    9bfd:	8b 45 f0             	mov    -0x10(%ebp),%eax
+    9c00:	65 89 10             	mov    %edx,%gs:(%eax)
+    9c03:	31 c0                	xor    %eax,%eax
+    9c05:	e9 da fe ff ff       	jmp    0x9ae4
+    9c0a:	8b 75 f0             	mov    -0x10(%ebp),%esi
+    9c0d:	bf 95 00 00 00       	mov    $0x95,%edi
+    9c12:	b9 06 00 00 00       	mov    $0x6,%ecx
+    9c17:	f3 a6                	repz cmpsb %es:(%edi),%ds:(%esi)
+    9c19:	74 5b                	je     0x9c76
+    9c1b:	c7 44 24 04 ad 00 00 	movl   $0xad,0x4(%esp)
+    9c22:	00 
+    9c23:	8b 55 f0             	mov    -0x10(%ebp),%edx
+    9c26:	89 14 24             	mov    %edx,(%esp)
+    9c29:	e8 fc ff ff ff       	call   0x9c2a
+    9c2e:	85 c0                	test   %eax,%eax
+    9c30:	0f 85 af 00 00 00    	jne    0x9ce5
+    9c36:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
+    9c3a:	0f 85 15 09 00 00    	jne    0xa555
+    9c40:	83 c3 04             	add    $0x4,%ebx
+    9c43:	ba 01 00 00 00       	mov    $0x1,%edx
+    9c48:	83 c0 01             	add    $0x1,%eax
+    9c4b:	3d 00 01 00 00       	cmp    $0x100,%eax
+    9c50:	74 1d                	je     0x9c6f
+    9c52:	8d 48 d0             	lea    -0x30(%eax),%ecx
+    9c55:	83 f9 09             	cmp    $0x9,%ecx
+    9c58:	77 ee                	ja     0x9c48
+    9c5a:	89 c1                	mov    %eax,%ecx
+    9c5c:	89 d7                	mov    %edx,%edi
+    9c5e:	83 e1 1f             	and    $0x1f,%ecx
+    9c61:	83 c0 01             	add    $0x1,%eax
+    9c64:	d3 e7                	shl    %cl,%edi
+    9c66:	09 3b                	or     %edi,(%ebx)
+    9c68:	3d 00 01 00 00       	cmp    $0x100,%eax
+    9c6d:	75 e3                	jne    0x9c52
+    9c6f:	31 c0                	xor    %eax,%eax
+    9c71:	e9 f6 fd ff ff       	jmp    0x9a6c
+    9c76:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
+    9c7a:	0f 85 02 04 00 00    	jne    0xa082
+    9c80:	a1 00 00 00 00       	mov    0x0,%eax
+    9c85:	8b 35 00 00 00 00    	mov    0x0,%esi
+    9c8b:	65 8b 00             	mov    %gs:(%eax),%eax
+    9c8e:	89 75 f0             	mov    %esi,-0x10(%ebp)
+    9c91:	65 8b 16             	mov    %gs:(%esi),%edx
+    9c94:	89 de                	mov    %ebx,%esi
+    9c96:	89 45 ec             	mov    %eax,-0x14(%ebp)
+    9c99:	31 c0                	xor    %eax,%eax
+    9c9b:	90                   	nop
+    9c9c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    9ca0:	85 d2                	test   %edx,%edx
+    9ca2:	0f 84 c7 03 00 00    	je     0xa06f
+    9ca8:	f6 44 42 01 04       	testb  $0x4,0x1(%edx,%eax,2)
+    9cad:	74 14                	je     0x9cc3
+    9caf:	89 c3                	mov    %eax,%ebx
+    9cb1:	89 c1                	mov    %eax,%ecx
+    9cb3:	c1 eb 05             	shr    $0x5,%ebx
+    9cb6:	83 e1 1f             	and    $0x1f,%ecx
+    9cb9:	bf 01 00 00 00       	mov    $0x1,%edi
+    9cbe:	d3 e7                	shl    %cl,%edi
+    9cc0:	09 3c 9e             	or     %edi,(%esi,%ebx,4)
+    9cc3:	83 c0 01             	add    $0x1,%eax
+    9cc6:	3d 00 01 00 00       	cmp    $0x100,%eax
+    9ccb:	75 d3                	jne    0x9ca0
+    9ccd:	e9 0a fe ff ff       	jmp    0x9adc
+    9cd2:	8b 7d ec             	mov    -0x14(%ebp),%edi
+    9cd5:	8b 17                	mov    (%edi),%edx
+    9cd7:	8b 52 28             	mov    0x28(%edx),%edx
+    9cda:	81 c2 00 01 00 00    	add    $0x100,%edx
+    9ce0:	e9 5b fd ff ff       	jmp    0x9a40
+    9ce5:	c7 44 24 04 b3 00 00 	movl   $0xb3,0x4(%esp)
+    9cec:	00 
+    9ced:	8b 45 f0             	mov    -0x10(%ebp),%eax
+    9cf0:	89 04 24             	mov    %eax,(%esp)
+    9cf3:	e8 fc ff ff ff       	call   0x9cf4
+    9cf8:	85 c0                	test   %eax,%eax
+    9cfa:	75 5e                	jne    0x9d5a
+    9cfc:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
+    9d00:	0f 85 fd 02 00 00    	jne    0xa003
+    9d06:	a1 00 00 00 00       	mov    0x0,%eax
+    9d0b:	8b 35 00 00 00 00    	mov    0x0,%esi
+    9d11:	65 8b 00             	mov    %gs:(%eax),%eax
+    9d14:	89 75 f0             	mov    %esi,-0x10(%ebp)
+    9d17:	65 8b 16             	mov    %gs:(%esi),%edx
+    9d1a:	89 de                	mov    %ebx,%esi
+    9d1c:	89 45 ec             	mov    %eax,-0x14(%ebp)
+    9d1f:	31 c0                	xor    %eax,%eax
+    9d21:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
+    9d28:	85 d2                	test   %edx,%edx
+    9d2a:	0f 84 c0 02 00 00    	je     0x9ff0
+    9d30:	f6 44 42 01 40       	testb  $0x40,0x1(%edx,%eax,2)
+    9d35:	74 14                	je     0x9d4b
+    9d37:	89 c3                	mov    %eax,%ebx
+    9d39:	89 c1                	mov    %eax,%ecx
+    9d3b:	c1 eb 05             	shr    $0x5,%ebx
+    9d3e:	83 e1 1f             	and    $0x1f,%ecx
+    9d41:	bf 01 00 00 00       	mov    $0x1,%edi
+    9d46:	d3 e7                	shl    %cl,%edi
+    9d48:	09 3c 9e             	or     %edi,(%esi,%ebx,4)
+    9d4b:	83 c0 01             	add    $0x1,%eax
+    9d4e:	3d 00 01 00 00       	cmp    $0x100,%eax
+    9d53:	75 d3                	jne    0x9d28
+    9d55:	e9 82 fd ff ff       	jmp    0x9adc
+    9d5a:	c7 44 24 04 89 00 00 	movl   $0x89,0x4(%esp)
+    9d61:	00 
+    9d62:	8b 55 f0             	mov    -0x10(%ebp),%edx
+    9d65:	89 14 24             	mov    %edx,(%esp)
+    9d68:	e8 fc ff ff ff       	call   0x9d69
+    9d6d:	85 c0                	test   %eax,%eax
+    9d6f:	0f 85 8b 00 00 00    	jne    0x9e00
+    9d75:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
+    9d79:	0f 85 05 02 00 00    	jne    0x9f84
+    9d7f:	8b 35 00 00 00 00    	mov    0x0,%esi
+    9d85:	a1 00 00 00 00       	mov    0x0,%eax
+    9d8a:	65 8b 3e             	mov    %gs:(%esi),%edi
+    9d8d:	65 8b 00             	mov    %gs:(%eax),%eax
+    9d90:	89 75 f0             	mov    %esi,-0x10(%ebp)
+    9d93:	89 fa                	mov    %edi,%edx
+    9d95:	89 45 ec             	mov    %eax,-0x14(%ebp)
+    9d98:	31 c0                	xor    %eax,%eax
+    9d9a:	89 7d e0             	mov    %edi,-0x20(%ebp)
+    9d9d:	85 d2                	test   %edx,%edx
+    9d9f:	0f 84 c9 01 00 00    	je     0x9f6e
+    9da5:	f6 44 42 01 01       	testb  $0x1,0x1(%edx,%eax,2)
+    9daa:	74 14                	je     0x9dc0
+    9dac:	89 c6                	mov    %eax,%esi
+    9dae:	89 c1                	mov    %eax,%ecx
+    9db0:	c1 ee 05             	shr    $0x5,%esi
+    9db3:	83 e1 1f             	and    $0x1f,%ecx
+    9db6:	bf 01 00 00 00       	mov    $0x1,%edi
+    9dbb:	d3 e7                	shl    %cl,%edi
+    9dbd:	09 3c b3             	or     %edi,(%ebx,%esi,4)
+    9dc0:	83 c0 01             	add    $0x1,%eax
+    9dc3:	3d 00 01 00 00       	cmp    $0x100,%eax
+    9dc8:	75 d3                	jne    0x9d9d
+    9dca:	8b 45 f0             	mov    -0x10(%ebp),%eax
+    9dcd:	8b 7d e0             	mov    -0x20(%ebp),%edi
+    9dd0:	65 89 38             	mov    %edi,%gs:(%eax)
+    9dd3:	31 c0                	xor    %eax,%eax
+    9dd5:	e9 92 fc ff ff       	jmp    0x9a6c
+    9dda:	8b 7d ec             	mov    -0x14(%ebp),%edi
+    9ddd:	8b 17                	mov    (%edi),%edx
+    9ddf:	8b 52 28             	mov    0x28(%edx),%edx
+    9de2:	81 c2 00 01 00 00    	add    $0x100,%edx
+    9de8:	e9 cb fc ff ff       	jmp    0x9ab8
+    9ded:	8b 7d ec             	mov    -0x14(%ebp),%edi
+    9df0:	8b 17                	mov    (%edi),%edx
+    9df2:	8b 52 28             	mov    0x28(%edx),%edx
+    9df5:	81 c2 00 01 00 00    	add    $0x100,%edx
+    9dfb:	e9 d8 fd ff ff       	jmp    0x9bd8
+    9e00:	c7 44 24 04 b9 00 00 	movl   $0xb9,0x4(%esp)
+    9e07:	00 
+    9e08:	8b 55 f0             	mov    -0x10(%ebp),%edx
+    9e0b:	89 14 24             	mov    %edx,(%esp)
+    9e0e:	e8 fc ff ff ff       	call   0x9e0f
+    9e13:	85 c0                	test   %eax,%eax
+    9e15:	0f 85 01 04 00 00    	jne    0xa21c
+    9e1b:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
+    9e1f:	0f 85 b1 06 00 00    	jne    0xa4d6
+    9e25:	8b 35 00 00 00 00    	mov    0x0,%esi
+    9e2b:	a1 00 00 00 00       	mov    0x0,%eax
+    9e30:	89 5d e0             	mov    %ebx,-0x20(%ebp)
+    9e33:	89 75 f0             	mov    %esi,-0x10(%ebp)
+    9e36:	65 8b 36             	mov    %gs:(%esi),%esi
+    9e39:	65 8b 38             	mov    %gs:(%eax),%edi
+    9e3c:	31 c0                	xor    %eax,%eax
+    9e3e:	89 f2                	mov    %esi,%edx
+    9e40:	89 b5 2c ff ff ff    	mov    %esi,-0xd4(%ebp)
+    9e46:	eb 38                	jmp    0x9e80
+    9e48:	f6 04 42 01          	testb  $0x1,(%edx,%eax,2)
+    9e4c:	74 24                	je     0x9e72
+    9e4e:	89 c1                	mov    %eax,%ecx
+    9e50:	89 c3                	mov    %eax,%ebx
+    9e52:	c1 e9 05             	shr    $0x5,%ecx
+    9e55:	83 e3 1f             	and    $0x1f,%ebx
+    9e58:	89 4d ec             	mov    %ecx,-0x14(%ebp)
+    9e5b:	8b 75 ec             	mov    -0x14(%ebp),%esi
+    9e5e:	89 5d e8             	mov    %ebx,-0x18(%ebp)
+    9e61:	0f b6 4d e8          	movzbl -0x18(%ebp),%ecx
+    9e65:	bb 01 00 00 00       	mov    $0x1,%ebx
+    9e6a:	d3 e3                	shl    %cl,%ebx
+    9e6c:	8b 4d e0             	mov    -0x20(%ebp),%ecx
+    9e6f:	09 1c b1             	or     %ebx,(%ecx,%esi,4)
+    9e72:	83 c0 01             	add    $0x1,%eax
+    9e75:	3d 00 01 00 00       	cmp    $0x100,%eax
+    9e7a:	0f 84 c1 06 00 00    	je     0xa541
+    9e80:	85 d2                	test   %edx,%edx
+    9e82:	75 c4                	jne    0x9e48
+    9e84:	8b 17                	mov    (%edi),%edx
+    9e86:	8b 52 28             	mov    0x28(%edx),%edx
+    9e89:	81 c2 00 01 00 00    	add    $0x100,%edx
+    9e8f:	89 95 2c ff ff ff    	mov    %edx,-0xd4(%ebp)
+    9e95:	eb b1                	jmp    0x9e48
+    9e97:	8b 15 00 00 00 00    	mov    0x0,%edx
+    9e9d:	a1 00 00 00 00       	mov    0x0,%eax
+    9ea2:	89 5d e0             	mov    %ebx,-0x20(%ebp)
+    9ea5:	89 55 f0             	mov    %edx,-0x10(%ebp)
+    9ea8:	65 8b 12             	mov    %gs:(%edx),%edx
+    9eab:	65 8b 38             	mov    %gs:(%eax),%edi
+    9eae:	31 c0                	xor    %eax,%eax
+    9eb0:	eb 3a                	jmp    0x9eec
+    9eb2:	f6 04 42 08          	testb  $0x8,(%edx,%eax,2)
+    9eb6:	74 26                	je     0x9ede
+    9eb8:	8b 75 ec             	mov    -0x14(%ebp),%esi
+    9ebb:	0f b6 1c 06          	movzbl (%esi,%eax,1),%ebx
+    9ebf:	89 d9                	mov    %ebx,%ecx
+    9ec1:	c0 e9 05             	shr    $0x5,%cl
+    9ec4:	89 ce                	mov    %ecx,%esi
+    9ec6:	89 d9                	mov    %ebx,%ecx
+    9ec8:	83 e1 1f             	and    $0x1f,%ecx
+    9ecb:	bb 01 00 00 00       	mov    $0x1,%ebx
+    9ed0:	d3 e3                	shl    %cl,%ebx
+    9ed2:	8b 4d e0             	mov    -0x20(%ebp),%ecx
+    9ed5:	81 e6 ff 00 00 00    	and    $0xff,%esi
+    9edb:	09 1c b1             	or     %ebx,(%ecx,%esi,4)
+    9ede:	83 c0 01             	add    $0x1,%eax
+    9ee1:	3d 00 01 00 00       	cmp    $0x100,%eax
+    9ee6:	0f 84 83 fd ff ff    	je     0x9c6f
+    9eec:	85 d2                	test   %edx,%edx
+    9eee:	75 c2                	jne    0x9eb2
+    9ef0:	8b 17                	mov    (%edi),%edx
+    9ef2:	8b 5d f0             	mov    -0x10(%ebp),%ebx
+    9ef5:	8b 52 28             	mov    0x28(%edx),%edx
+    9ef8:	81 c2 00 01 00 00    	add    $0x100,%edx
+    9efe:	65 89 13             	mov    %edx,%gs:(%ebx)
+    9f01:	eb af                	jmp    0x9eb2
+    9f03:	a1 00 00 00 00       	mov    0x0,%eax
+    9f08:	89 5d e0             	mov    %ebx,-0x20(%ebp)
+    9f0b:	89 45 f0             	mov    %eax,-0x10(%ebp)
+    9f0e:	65 8b 10             	mov    %gs:(%eax),%edx
+    9f11:	a1 00 00 00 00       	mov    0x0,%eax
+    9f16:	65 8b 38             	mov    %gs:(%eax),%edi
+    9f19:	31 c0                	xor    %eax,%eax
+    9f1b:	eb 3a                	jmp    0x9f57
+    9f1d:	f6 04 42 02          	testb  $0x2,(%edx,%eax,2)
+    9f21:	74 26                	je     0x9f49
+    9f23:	8b 75 ec             	mov    -0x14(%ebp),%esi
+    9f26:	0f b6 1c 06          	movzbl (%esi,%eax,1),%ebx
+    9f2a:	89 d9                	mov    %ebx,%ecx
+    9f2c:	c0 e9 05             	shr    $0x5,%cl
+    9f2f:	89 ce                	mov    %ecx,%esi
+    9f31:	89 d9                	mov    %ebx,%ecx
+    9f33:	83 e1 1f             	and    $0x1f,%ecx
+    9f36:	bb 01 00 00 00       	mov    $0x1,%ebx
+    9f3b:	d3 e3                	shl    %cl,%ebx
+    9f3d:	8b 4d e0             	mov    -0x20(%ebp),%ecx
+    9f40:	81 e6 ff 00 00 00    	and    $0xff,%esi
+    9f46:	09 1c b1             	or     %ebx,(%ecx,%esi,4)
+    9f49:	83 c0 01             	add    $0x1,%eax
+    9f4c:	3d 00 01 00 00       	cmp    $0x100,%eax
+    9f51:	0f 84 18 fd ff ff    	je     0x9c6f
+    9f57:	85 d2                	test   %edx,%edx
+    9f59:	75 c2                	jne    0x9f1d
+    9f5b:	8b 17                	mov    (%edi),%edx
+    9f5d:	8b 4d f0             	mov    -0x10(%ebp),%ecx
+    9f60:	8b 52 28             	mov    0x28(%edx),%edx
+    9f63:	81 c2 00 01 00 00    	add    $0x100,%edx
+    9f69:	65 89 11             	mov    %edx,%gs:(%ecx)
+    9f6c:	eb af                	jmp    0x9f1d
+    9f6e:	8b 7d ec             	mov    -0x14(%ebp),%edi
+    9f71:	8b 17                	mov    (%edi),%edx
+    9f73:	8b 52 28             	mov    0x28(%edx),%edx
+    9f76:	81 c2 00 01 00 00    	add    $0x100,%edx
+    9f7c:	89 55 e0             	mov    %edx,-0x20(%ebp)
+    9f7f:	e9 21 fe ff ff       	jmp    0x9da5
+    9f84:	8b 0d 00 00 00 00    	mov    0x0,%ecx
+    9f8a:	a1 00 00 00 00       	mov    0x0,%eax
+    9f8f:	89 5d e0             	mov    %ebx,-0x20(%ebp)
+    9f92:	65 8b 11             	mov    %gs:(%ecx),%edx
+    9f95:	65 8b 38             	mov    %gs:(%eax),%edi
+    9f98:	31 c0                	xor    %eax,%eax
+    9f9a:	89 4d f0             	mov    %ecx,-0x10(%ebp)
+    9f9d:	85 d2                	test   %edx,%edx
+    9f9f:	75 11                	jne    0x9fb2
+    9fa1:	8b 17                	mov    (%edi),%edx
+    9fa3:	8b 5d f0             	mov    -0x10(%ebp),%ebx
+    9fa6:	8b 52 28             	mov    0x28(%edx),%edx
+    9fa9:	81 c2 00 01 00 00    	add    $0x100,%edx
+    9faf:	65 89 13             	mov    %edx,%gs:(%ebx)
+    9fb2:	f6 44 42 01 01       	testb  $0x1,0x1(%edx,%eax,2)
+    9fb7:	74 26                	je     0x9fdf
+    9fb9:	8b 75 ec             	mov    -0x14(%ebp),%esi
+    9fbc:	0f b6 1c 06          	movzbl (%esi,%eax,1),%ebx
+    9fc0:	89 d9                	mov    %ebx,%ecx
+    9fc2:	c0 e9 05             	shr    $0x5,%cl
+    9fc5:	89 ce                	mov    %ecx,%esi
+    9fc7:	89 d9                	mov    %ebx,%ecx
+    9fc9:	83 e1 1f             	and    $0x1f,%ecx
+    9fcc:	bb 01 00 00 00       	mov    $0x1,%ebx
+    9fd1:	d3 e3                	shl    %cl,%ebx
+    9fd3:	8b 4d e0             	mov    -0x20(%ebp),%ecx
+    9fd6:	81 e6 ff 00 00 00    	and    $0xff,%esi
+    9fdc:	09 1c b1             	or     %ebx,(%ecx,%esi,4)
+    9fdf:	83 c0 01             	add    $0x1,%eax
+    9fe2:	3d 00 01 00 00       	cmp    $0x100,%eax
+    9fe7:	75 b4                	jne    0x9f9d
+    9fe9:	31 c0                	xor    %eax,%eax
+    9feb:	e9 7c fa ff ff       	jmp    0x9a6c
+    9ff0:	8b 7d ec             	mov    -0x14(%ebp),%edi
+    9ff3:	8b 17                	mov    (%edi),%edx
+    9ff5:	8b 52 28             	mov    0x28(%edx),%edx
+    9ff8:	81 c2 00 01 00 00    	add    $0x100,%edx
+    9ffe:	e9 2d fd ff ff       	jmp    0x9d30
+    a003:	8b 15 00 00 00 00    	mov    0x0,%edx
+    a009:	a1 00 00 00 00       	mov    0x0,%eax
+    a00e:	89 5d e0             	mov    %ebx,-0x20(%ebp)
+    a011:	89 55 f0             	mov    %edx,-0x10(%ebp)
+    a014:	65 8b 12             	mov    %gs:(%edx),%edx
+    a017:	65 8b 38             	mov    %gs:(%eax),%edi
+    a01a:	31 c0                	xor    %eax,%eax
+    a01c:	85 d2                	test   %edx,%edx
+    a01e:	75 11                	jne    0xa031
+    a020:	8b 17                	mov    (%edi),%edx
+    a022:	8b 5d f0             	mov    -0x10(%ebp),%ebx
+    a025:	8b 52 28             	mov    0x28(%edx),%edx
+    a028:	81 c2 00 01 00 00    	add    $0x100,%edx
+    a02e:	65 89 13             	mov    %edx,%gs:(%ebx)
+    a031:	f6 44 42 01 40       	testb  $0x40,0x1(%edx,%eax,2)
+    a036:	74 26                	je     0xa05e
+    a038:	8b 75 ec             	mov    -0x14(%ebp),%esi
+    a03b:	0f b6 1c 06          	movzbl (%esi,%eax,1),%ebx
+    a03f:	89 d9                	mov    %ebx,%ecx
+    a041:	c0 e9 05             	shr    $0x5,%cl
+    a044:	89 ce                	mov    %ecx,%esi
+    a046:	89 d9                	mov    %ebx,%ecx
+    a048:	83 e1 1f             	and    $0x1f,%ecx
+    a04b:	bb 01 00 00 00       	mov    $0x1,%ebx
+    a050:	d3 e3                	shl    %cl,%ebx
+    a052:	8b 4d e0             	mov    -0x20(%ebp),%ecx
+    a055:	81 e6 ff 00 00 00    	and    $0xff,%esi
+    a05b:	09 1c b1             	or     %ebx,(%ecx,%esi,4)
+    a05e:	83 c0 01             	add    $0x1,%eax
+    a061:	3d 00 01 00 00       	cmp    $0x100,%eax
+    a066:	75 b4                	jne    0xa01c
+    a068:	31 c0                	xor    %eax,%eax
+    a06a:	e9 fd f9 ff ff       	jmp    0x9a6c
+    a06f:	8b 7d ec             	mov    -0x14(%ebp),%edi
+    a072:	8b 17                	mov    (%edi),%edx
+    a074:	8b 52 28             	mov    0x28(%edx),%edx
+    a077:	81 c2 00 01 00 00    	add    $0x100,%edx
+    a07d:	e9 26 fc ff ff       	jmp    0x9ca8
+    a082:	8b 0d 00 00 00 00    	mov    0x0,%ecx
+    a088:	a1 00 00 00 00       	mov    0x0,%eax
+    a08d:	89 5d e0             	mov    %ebx,-0x20(%ebp)
+    a090:	65 8b 11             	mov    %gs:(%ecx),%edx
+    a093:	65 8b 38             	mov    %gs:(%eax),%edi
+    a096:	31 c0                	xor    %eax,%eax
+    a098:	89 4d f0             	mov    %ecx,-0x10(%ebp)
+    a09b:	85 d2                	test   %edx,%edx
+    a09d:	75 11                	jne    0xa0b0
+    a09f:	8b 17                	mov    (%edi),%edx
+    a0a1:	8b 5d f0             	mov    -0x10(%ebp),%ebx
+    a0a4:	8b 52 28             	mov    0x28(%edx),%edx
+    a0a7:	81 c2 00 01 00 00    	add    $0x100,%edx
+    a0ad:	65 89 13             	mov    %edx,%gs:(%ebx)
+    a0b0:	f6 44 42 01 04       	testb  $0x4,0x1(%edx,%eax,2)
+    a0b5:	74 26                	je     0xa0dd
+    a0b7:	8b 75 ec             	mov    -0x14(%ebp),%esi
+    a0ba:	0f b6 1c 06          	movzbl (%esi,%eax,1),%ebx
+    a0be:	89 d9                	mov    %ebx,%ecx
+    a0c0:	c0 e9 05             	shr    $0x5,%cl
+    a0c3:	89 ce                	mov    %ecx,%esi
+    a0c5:	89 d9                	mov    %ebx,%ecx
+    a0c7:	83 e1 1f             	and    $0x1f,%ecx
+    a0ca:	bb 01 00 00 00       	mov    $0x1,%ebx
+    a0cf:	d3 e3                	shl    %cl,%ebx
+    a0d1:	8b 4d e0             	mov    -0x20(%ebp),%ecx
+    a0d4:	81 e6 ff 00 00 00    	and    $0xff,%esi
+    a0da:	09 1c b1             	or     %ebx,(%ecx,%esi,4)
+    a0dd:	83 c0 01             	add    $0x1,%eax
+    a0e0:	3d 00 01 00 00       	cmp    $0x100,%eax
+    a0e5:	75 b4                	jne    0xa09b
+    a0e7:	31 c0                	xor    %eax,%eax
+    a0e9:	e9 7e f9 ff ff       	jmp    0x9a6c
+    a0ee:	8b 15 00 00 00 00    	mov    0x0,%edx
+    a0f4:	a1 00 00 00 00       	mov    0x0,%eax
+    a0f9:	89 5d e0             	mov    %ebx,-0x20(%ebp)
+    a0fc:	89 55 f0             	mov    %edx,-0x10(%ebp)
+    a0ff:	65 8b 12             	mov    %gs:(%edx),%edx
+    a102:	65 8b 38             	mov    %gs:(%eax),%edi
+    a105:	31 c0                	xor    %eax,%eax
+    a107:	eb 3b                	jmp    0xa144
+    a109:	f6 44 42 01 02       	testb  $0x2,0x1(%edx,%eax,2)
+    a10e:	74 26                	je     0xa136
+    a110:	8b 75 ec             	mov    -0x14(%ebp),%esi
+    a113:	0f b6 1c 06          	movzbl (%esi,%eax,1),%ebx
+    a117:	89 d9                	mov    %ebx,%ecx
+    a119:	c0 e9 05             	shr    $0x5,%cl
+    a11c:	89 ce                	mov    %ecx,%esi
+    a11e:	89 d9                	mov    %ebx,%ecx
+    a120:	83 e1 1f             	and    $0x1f,%ecx
+    a123:	bb 01 00 00 00       	mov    $0x1,%ebx
+    a128:	d3 e3                	shl    %cl,%ebx
+    a12a:	8b 4d e0             	mov    -0x20(%ebp),%ecx
+    a12d:	81 e6 ff 00 00 00    	and    $0xff,%esi
+    a133:	09 1c b1             	or     %ebx,(%ecx,%esi,4)
+    a136:	83 c0 01             	add    $0x1,%eax
+    a139:	3d 00 01 00 00       	cmp    $0x100,%eax
+    a13e:	0f 84 2b fb ff ff    	je     0x9c6f
+    a144:	85 d2                	test   %edx,%edx
+    a146:	75 c1                	jne    0xa109
+    a148:	8b 17                	mov    (%edi),%edx
+    a14a:	8b 5d f0             	mov    -0x10(%ebp),%ebx
+    a14d:	8b 52 28             	mov    0x28(%edx),%edx
+    a150:	81 c2 00 01 00 00    	add    $0x100,%edx
+    a156:	65 89 13             	mov    %edx,%gs:(%ebx)
+    a159:	eb ae                	jmp    0xa109
+    a15b:	8b 4d e8             	mov    -0x18(%ebp),%ecx
+    a15e:	8b 11                	mov    (%ecx),%edx
+    a160:	8b 52 28             	mov    0x28(%edx),%edx
+    a163:	81 c2 00 01 00 00    	add    $0x100,%edx
+    a169:	89 55 ec             	mov    %edx,-0x14(%ebp)
+    a16c:	e9 df f9 ff ff       	jmp    0x9b50
+    a171:	8b 15 00 00 00 00    	mov    0x0,%edx
+    a177:	a1 00 00 00 00       	mov    0x0,%eax
+    a17c:	89 5d e0             	mov    %ebx,-0x20(%ebp)
+    a17f:	89 55 f0             	mov    %edx,-0x10(%ebp)
+    a182:	65 8b 12             	mov    %gs:(%edx),%edx
+    a185:	65 8b 38             	mov    %gs:(%eax),%edi
+    a188:	31 c0                	xor    %eax,%eax
+    a18a:	85 d2                	test   %edx,%edx
+    a18c:	75 11                	jne    0xa19f
+    a18e:	8b 17                	mov    (%edi),%edx
+    a190:	8b 5d f0             	mov    -0x10(%ebp),%ebx
+    a193:	8b 52 28             	mov    0x28(%edx),%edx
+    a196:	81 c2 00 01 00 00    	add    $0x100,%edx
+    a19c:	65 89 13             	mov    %edx,%gs:(%ebx)
+    a19f:	f6 44 42 01 20       	testb  $0x20,0x1(%edx,%eax,2)
+    a1a4:	74 26                	je     0xa1cc
+    a1a6:	8b 75 ec             	mov    -0x14(%ebp),%esi
+    a1a9:	0f b6 1c 06          	movzbl (%esi,%eax,1),%ebx
+    a1ad:	89 d9                	mov    %ebx,%ecx
+    a1af:	c0 e9 05             	shr    $0x5,%cl
+    a1b2:	89 ce                	mov    %ecx,%esi
+    a1b4:	89 d9                	mov    %ebx,%ecx
+    a1b6:	83 e1 1f             	and    $0x1f,%ecx
+    a1b9:	bb 01 00 00 00       	mov    $0x1,%ebx
+    a1be:	d3 e3                	shl    %cl,%ebx
+    a1c0:	8b 4d e0             	mov    -0x20(%ebp),%ecx
+    a1c3:	81 e6 ff 00 00 00    	and    $0xff,%esi
+    a1c9:	09 1c b1             	or     %ebx,(%ecx,%esi,4)
+    a1cc:	83 c0 01             	add    $0x1,%eax
+    a1cf:	3d 00 01 00 00       	cmp    $0x100,%eax
+    a1d4:	75 b4                	jne    0xa18a
+    a1d6:	31 c0                	xor    %eax,%eax
+    a1d8:	e9 8f f8 ff ff       	jmp    0x9a6c
+    a1dd:	8d 74 00 01          	lea    0x1(%eax,%eax,1),%esi
+    a1e1:	8d 04 b5 00 00 00 00 	lea    0x0(,%esi,4),%eax
+    a1e8:	89 44 24 04          	mov    %eax,0x4(%esp)
+    a1ec:	8b 42 14             	mov    0x14(%edx),%eax
+    a1ef:	89 04 24             	mov    %eax,(%esp)
+    a1f2:	89 55 e4             	mov    %edx,-0x1c(%ebp)
+    a1f5:	e8 fc ff ff ff       	call   0xa1f6
+    a1fa:	8b 55 e4             	mov    -0x1c(%ebp),%edx
+    a1fd:	89 c1                	mov    %eax,%ecx
+    a1ff:	b8 0c 00 00 00       	mov    $0xc,%eax
+    a204:	85 c9                	test   %ecx,%ecx
+    a206:	0f 84 60 f8 ff ff    	je     0x9a6c
+    a20c:	8b 7d 08             	mov    0x8(%ebp),%edi
+    a20f:	89 4a 14             	mov    %ecx,0x14(%edx)
+    a212:	89 37                	mov    %esi,(%edi)
+    a214:	8b 72 2c             	mov    0x2c(%edx),%esi
+    a217:	e9 be f7 ff ff       	jmp    0x99da
+    a21c:	c7 44 24 04 bf 00 00 	movl   $0xbf,0x4(%esp)
+    a223:	00 
+    a224:	8b 75 f0             	mov    -0x10(%ebp),%esi
+    a227:	89 34 24             	mov    %esi,(%esp)
+    a22a:	e8 fc ff ff ff       	call   0xa22b
+    a22f:	85 c0                	test   %eax,%eax
+    a231:	0f 85 d0 00 00 00    	jne    0xa307
+    a237:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
+    a23b:	75 5e                	jne    0xa29b
+    a23d:	8b 35 00 00 00 00    	mov    0x0,%esi
+    a243:	a1 00 00 00 00       	mov    0x0,%eax
+    a248:	89 75 f0             	mov    %esi,-0x10(%ebp)
+    a24b:	65 8b 16             	mov    %gs:(%esi),%edx
+    a24e:	65 8b 30             	mov    %gs:(%eax),%esi
+    a251:	31 c0                	xor    %eax,%eax
+    a253:	eb 11                	jmp    0xa266
+    a255:	8d 76 00             	lea    0x0(%esi),%esi
+    a258:	83 c0 01             	add    $0x1,%eax
+    a25b:	3d 00 01 00 00       	cmp    $0x100,%eax
+    a260:	0f 84 28 03 00 00    	je     0xa58e
+    a266:	85 d2                	test   %edx,%edx
+    a268:	74 24                	je     0xa28e
+    a26a:	66 83 3c 42 00       	cmpw   $0x0,(%edx,%eax,2)
+    a26f:	90                   	nop
+    a270:	79 e6                	jns    0xa258
+    a272:	89 c7                	mov    %eax,%edi
+    a274:	89 c1                	mov    %eax,%ecx
+    a276:	c1 ef 05             	shr    $0x5,%edi
+    a279:	83 e1 1f             	and    $0x1f,%ecx
+    a27c:	89 7d e8             	mov    %edi,-0x18(%ebp)
+    a27f:	bf 01 00 00 00       	mov    $0x1,%edi
+    a284:	d3 e7                	shl    %cl,%edi
+    a286:	8b 4d e8             	mov    -0x18(%ebp),%ecx
+    a289:	09 3c 8b             	or     %edi,(%ebx,%ecx,4)
+    a28c:	eb ca                	jmp    0xa258
+    a28e:	8b 16                	mov    (%esi),%edx
+    a290:	8b 52 28             	mov    0x28(%edx),%edx
+    a293:	81 c2 00 01 00 00    	add    $0x100,%edx
+    a299:	eb cf                	jmp    0xa26a
+    a29b:	8b 3d 00 00 00 00    	mov    0x0,%edi
+    a2a1:	a1 00 00 00 00       	mov    0x0,%eax
+    a2a6:	89 5d e0             	mov    %ebx,-0x20(%ebp)
+    a2a9:	89 7d f0             	mov    %edi,-0x10(%ebp)
+    a2ac:	65 8b 17             	mov    %gs:(%edi),%edx
+    a2af:	65 8b 38             	mov    %gs:(%eax),%edi
+    a2b2:	31 c0                	xor    %eax,%eax
+    a2b4:	85 d2                	test   %edx,%edx
+    a2b6:	75 11                	jne    0xa2c9
+    a2b8:	8b 17                	mov    (%edi),%edx
+    a2ba:	8b 4d f0             	mov    -0x10(%ebp),%ecx
+    a2bd:	8b 52 28             	mov    0x28(%edx),%edx
+    a2c0:	81 c2 00 01 00 00    	add    $0x100,%edx
+    a2c6:	65 89 11             	mov    %edx,%gs:(%ecx)
+    a2c9:	66 83 3c 42 00       	cmpw   $0x0,(%edx,%eax,2)
+    a2ce:	79 26                	jns    0xa2f6
+    a2d0:	8b 75 ec             	mov    -0x14(%ebp),%esi
+    a2d3:	0f b6 1c 06          	movzbl (%esi,%eax,1),%ebx
+    a2d7:	89 d9                	mov    %ebx,%ecx
+    a2d9:	c0 e9 05             	shr    $0x5,%cl
+    a2dc:	89 ce                	mov    %ecx,%esi
+    a2de:	89 d9                	mov    %ebx,%ecx
+    a2e0:	83 e1 1f             	and    $0x1f,%ecx
+    a2e3:	bb 01 00 00 00       	mov    $0x1,%ebx
+    a2e8:	d3 e3                	shl    %cl,%ebx
+    a2ea:	8b 4d e0             	mov    -0x20(%ebp),%ecx
+    a2ed:	81 e6 ff 00 00 00    	and    $0xff,%esi
+    a2f3:	09 1c b1             	or     %ebx,(%ecx,%esi,4)
+    a2f6:	83 c0 01             	add    $0x1,%eax
+    a2f9:	3d 00 01 00 00       	cmp    $0x100,%eax
+    a2fe:	75 b4                	jne    0xa2b4
+    a300:	31 c0                	xor    %eax,%eax
+    a302:	e9 65 f7 ff ff       	jmp    0x9a6c
+    a307:	c7 44 24 04 c5 00 00 	movl   $0xc5,0x4(%esp)
+    a30e:	00 
+    a30f:	8b 75 f0             	mov    -0x10(%ebp),%esi
+    a312:	89 34 24             	mov    %esi,(%esp)
+    a315:	e8 fc ff ff ff       	call   0xa316
+    a31a:	85 c0                	test   %eax,%eax
+    a31c:	0f 84 ec 00 00 00    	je     0xa40e
+    a322:	c7 44 24 04 cb 00 00 	movl   $0xcb,0x4(%esp)
+    a329:	00 
+    a32a:	8b 75 f0             	mov    -0x10(%ebp),%esi
+    a32d:	89 34 24             	mov    %esi,(%esp)
+    a330:	e8 fc ff ff ff       	call   0xa331
+    a335:	89 c2                	mov    %eax,%edx
+    a337:	b8 04 00 00 00       	mov    $0x4,%eax
+    a33c:	85 d2                	test   %edx,%edx
+    a33e:	0f 85 28 f7 ff ff    	jne    0x9a6c
+    a344:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
+    a348:	75 58                	jne    0xa3a2
+    a34a:	8b 35 00 00 00 00    	mov    0x0,%esi
+    a350:	a1 00 00 00 00       	mov    0x0,%eax
+    a355:	89 75 f0             	mov    %esi,-0x10(%ebp)
+    a358:	65 8b 16             	mov    %gs:(%esi),%edx
+    a35b:	65 8b 30             	mov    %gs:(%eax),%esi
+    a35e:	31 c0                	xor    %eax,%eax
+    a360:	eb 2f                	jmp    0xa391
+    a362:	f6 44 42 01 10       	testb  $0x10,0x1(%edx,%eax,2)
+    a367:	74 1a                	je     0xa383
+    a369:	89 c7                	mov    %eax,%edi
+    a36b:	89 c1                	mov    %eax,%ecx
+    a36d:	c1 ef 05             	shr    $0x5,%edi
+    a370:	83 e1 1f             	and    $0x1f,%ecx
+    a373:	89 7d e8             	mov    %edi,-0x18(%ebp)
+    a376:	bf 01 00 00 00       	mov    $0x1,%edi
+    a37b:	d3 e7                	shl    %cl,%edi
+    a37d:	8b 4d e8             	mov    -0x18(%ebp),%ecx
+    a380:	09 3c 8b             	or     %edi,(%ebx,%ecx,4)
+    a383:	83 c0 01             	add    $0x1,%eax
+    a386:	3d 00 01 00 00       	cmp    $0x100,%eax
+    a38b:	0f 84 fd 01 00 00    	je     0xa58e
+    a391:	85 d2                	test   %edx,%edx
+    a393:	75 cd                	jne    0xa362
+    a395:	8b 16                	mov    (%esi),%edx
+    a397:	8b 52 28             	mov    0x28(%edx),%edx
+    a39a:	81 c2 00 01 00 00    	add    $0x100,%edx
+    a3a0:	eb c0                	jmp    0xa362
+    a3a2:	8b 3d 00 00 00 00    	mov    0x0,%edi
+    a3a8:	a1 00 00 00 00       	mov    0x0,%eax
+    a3ad:	89 5d e0             	mov    %ebx,-0x20(%ebp)
+    a3b0:	89 7d f0             	mov    %edi,-0x10(%ebp)
+    a3b3:	65 8b 17             	mov    %gs:(%edi),%edx
+    a3b6:	65 8b 38             	mov    %gs:(%eax),%edi
+    a3b9:	31 c0                	xor    %eax,%eax
+    a3bb:	85 d2                	test   %edx,%edx
+    a3bd:	75 11                	jne    0xa3d0
+    a3bf:	8b 17                	mov    (%edi),%edx
+    a3c1:	8b 4d f0             	mov    -0x10(%ebp),%ecx
+    a3c4:	8b 52 28             	mov    0x28(%edx),%edx
+    a3c7:	81 c2 00 01 00 00    	add    $0x100,%edx
+    a3cd:	65 89 11             	mov    %edx,%gs:(%ecx)
+    a3d0:	f6 44 42 01 10       	testb  $0x10,0x1(%edx,%eax,2)
+    a3d5:	74 26                	je     0xa3fd
+    a3d7:	8b 75 ec             	mov    -0x14(%ebp),%esi
+    a3da:	0f b6 1c 06          	movzbl (%esi,%eax,1),%ebx
+    a3de:	89 d9                	mov    %ebx,%ecx
+    a3e0:	c0 e9 05             	shr    $0x5,%cl
+    a3e3:	89 ce                	mov    %ecx,%esi
+    a3e5:	89 d9                	mov    %ebx,%ecx
+    a3e7:	83 e1 1f             	and    $0x1f,%ecx
+    a3ea:	bb 01 00 00 00       	mov    $0x1,%ebx
+    a3ef:	d3 e3                	shl    %cl,%ebx
+    a3f1:	8b 4d e0             	mov    -0x20(%ebp),%ecx
+    a3f4:	81 e6 ff 00 00 00    	and    $0xff,%esi
+    a3fa:	09 1c b1             	or     %ebx,(%ecx,%esi,4)
+    a3fd:	83 c0 01             	add    $0x1,%eax
+    a400:	3d 00 01 00 00       	cmp    $0x100,%eax
+    a405:	75 b4                	jne    0xa3bb
+    a407:	31 c0                	xor    %eax,%eax
+    a409:	e9 5e f6 ff ff       	jmp    0x9a6c
+    a40e:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
+    a412:	75 57                	jne    0xa46b
+    a414:	8b 35 00 00 00 00    	mov    0x0,%esi
+    a41a:	a1 00 00 00 00       	mov    0x0,%eax
+    a41f:	89 75 f0             	mov    %esi,-0x10(%ebp)
+    a422:	65 8b 16             	mov    %gs:(%esi),%edx
+    a425:	65 8b 30             	mov    %gs:(%eax),%esi
+    a428:	31 c0                	xor    %eax,%eax
+    a42a:	eb 2e                	jmp    0xa45a
+    a42c:	f6 04 42 04          	testb  $0x4,(%edx,%eax,2)
+    a430:	74 1a                	je     0xa44c
+    a432:	89 c7                	mov    %eax,%edi
+    a434:	89 c1                	mov    %eax,%ecx
+    a436:	c1 ef 05             	shr    $0x5,%edi
+    a439:	83 e1 1f             	and    $0x1f,%ecx
+    a43c:	89 7d e8             	mov    %edi,-0x18(%ebp)
+    a43f:	bf 01 00 00 00       	mov    $0x1,%edi
+    a444:	d3 e7                	shl    %cl,%edi
+    a446:	8b 4d e8             	mov    -0x18(%ebp),%ecx
+    a449:	09 3c 8b             	or     %edi,(%ebx,%ecx,4)
+    a44c:	83 c0 01             	add    $0x1,%eax
+    a44f:	3d 00 01 00 00       	cmp    $0x100,%eax
+    a454:	0f 84 34 01 00 00    	je     0xa58e
+    a45a:	85 d2                	test   %edx,%edx
+    a45c:	75 ce                	jne    0xa42c
+    a45e:	8b 16                	mov    (%esi),%edx
+    a460:	8b 52 28             	mov    0x28(%edx),%edx
+    a463:	81 c2 00 01 00 00    	add    $0x100,%edx
+    a469:	eb c1                	jmp    0xa42c
+    a46b:	8b 3d 00 00 00 00    	mov    0x0,%edi
+    a471:	a1 00 00 00 00       	mov    0x0,%eax
+    a476:	89 5d e0             	mov    %ebx,-0x20(%ebp)
+    a479:	89 7d f0             	mov    %edi,-0x10(%ebp)
+    a47c:	65 8b 17             	mov    %gs:(%edi),%edx
+    a47f:	65 8b 38             	mov    %gs:(%eax),%edi
+    a482:	31 c0                	xor    %eax,%eax
+    a484:	85 d2                	test   %edx,%edx
+    a486:	75 11                	jne    0xa499
+    a488:	8b 17                	mov    (%edi),%edx
+    a48a:	8b 4d f0             	mov    -0x10(%ebp),%ecx
+    a48d:	8b 52 28             	mov    0x28(%edx),%edx
+    a490:	81 c2 00 01 00 00    	add    $0x100,%edx
+    a496:	65 89 11             	mov    %edx,%gs:(%ecx)
+    a499:	f6 04 42 04          	testb  $0x4,(%edx,%eax,2)
+    a49d:	74 26                	je     0xa4c5
+    a49f:	8b 75 ec             	mov    -0x14(%ebp),%esi
+    a4a2:	0f b6 1c 06          	movzbl (%esi,%eax,1),%ebx
+    a4a6:	89 d9                	mov    %ebx,%ecx
+    a4a8:	c0 e9 05             	shr    $0x5,%cl
+    a4ab:	89 ce                	mov    %ecx,%esi
+    a4ad:	89 d9                	mov    %ebx,%ecx
+    a4af:	83 e1 1f             	and    $0x1f,%ecx
+    a4b2:	bb 01 00 00 00       	mov    $0x1,%ebx
+    a4b7:	d3 e3                	shl    %cl,%ebx
+    a4b9:	8b 4d e0             	mov    -0x20(%ebp),%ecx
+    a4bc:	81 e6 ff 00 00 00    	and    $0xff,%esi
+    a4c2:	09 1c b1             	or     %ebx,(%ecx,%esi,4)
+    a4c5:	83 c0 01             	add    $0x1,%eax
+    a4c8:	3d 00 01 00 00       	cmp    $0x100,%eax
+    a4cd:	75 b5                	jne    0xa484
+    a4cf:	31 c0                	xor    %eax,%eax
+    a4d1:	e9 96 f5 ff ff       	jmp    0x9a6c
+    a4d6:	8b 0d 00 00 00 00    	mov    0x0,%ecx
+    a4dc:	a1 00 00 00 00       	mov    0x0,%eax
+    a4e1:	89 5d e0             	mov    %ebx,-0x20(%ebp)
+    a4e4:	65 8b 11             	mov    %gs:(%ecx),%edx
+    a4e7:	65 8b 38             	mov    %gs:(%eax),%edi
+    a4ea:	31 c0                	xor    %eax,%eax
+    a4ec:	89 4d f0             	mov    %ecx,-0x10(%ebp)
+    a4ef:	85 d2                	test   %edx,%edx
+    a4f1:	75 11                	jne    0xa504
+    a4f3:	8b 17                	mov    (%edi),%edx
+    a4f5:	8b 5d f0             	mov    -0x10(%ebp),%ebx
+    a4f8:	8b 52 28             	mov    0x28(%edx),%edx
+    a4fb:	81 c2 00 01 00 00    	add    $0x100,%edx
+    a501:	65 89 13             	mov    %edx,%gs:(%ebx)
+    a504:	f6 04 42 01          	testb  $0x1,(%edx,%eax,2)
+    a508:	74 26                	je     0xa530
+    a50a:	8b 75 ec             	mov    -0x14(%ebp),%esi
+    a50d:	0f b6 1c 06          	movzbl (%esi,%eax,1),%ebx
+    a511:	89 d9                	mov    %ebx,%ecx
+    a513:	c0 e9 05             	shr    $0x5,%cl
+    a516:	89 ce                	mov    %ecx,%esi
+    a518:	89 d9                	mov    %ebx,%ecx
+    a51a:	83 e1 1f             	and    $0x1f,%ecx
+    a51d:	bb 01 00 00 00       	mov    $0x1,%ebx
+    a522:	d3 e3                	shl    %cl,%ebx
+    a524:	8b 4d e0             	mov    -0x20(%ebp),%ecx
+    a527:	81 e6 ff 00 00 00    	and    $0xff,%esi
+    a52d:	09 1c b1             	or     %ebx,(%ecx,%esi,4)
+    a530:	83 c0 01             	add    $0x1,%eax
+    a533:	3d 00 01 00 00       	cmp    $0x100,%eax
+    a538:	75 b5                	jne    0xa4ef
+    a53a:	31 c0                	xor    %eax,%eax
+    a53c:	e9 2b f5 ff ff       	jmp    0x9a6c
+    a541:	8b b5 2c ff ff ff    	mov    -0xd4(%ebp),%esi
+    a547:	66 31 c0             	xor    %ax,%ax
+    a54a:	8b 5d f0             	mov    -0x10(%ebp),%ebx
+    a54d:	65 89 33             	mov    %esi,%gs:(%ebx)
+    a550:	e9 17 f5 ff ff       	jmp    0x9a6c
+    a555:	8b 7d ec             	mov    -0x14(%ebp),%edi
+    a558:	b8 d1 ff ff ff       	mov    $0xffffffd1,%eax
+    a55d:	83 c0 01             	add    $0x1,%eax
+    a560:	3d d0 00 00 00       	cmp    $0xd0,%eax
+    a565:	0f 84 04 f7 ff ff    	je     0x9c6f
+    a56b:	83 f8 09             	cmp    $0x9,%eax
+    a56e:	77 ed                	ja     0xa55d
+    a570:	0f b6 74 07 30       	movzbl 0x30(%edi,%eax,1),%esi
+    a575:	89 f2                	mov    %esi,%edx
+    a577:	89 f1                	mov    %esi,%ecx
+    a579:	c0 ea 05             	shr    $0x5,%dl
+    a57c:	83 e1 1f             	and    $0x1f,%ecx
+    a57f:	0f b6 d2             	movzbl %dl,%edx
+    a582:	be 01 00 00 00       	mov    $0x1,%esi
+    a587:	d3 e6                	shl    %cl,%esi
+    a589:	09 34 93             	or     %esi,(%ebx,%edx,4)
+    a58c:	eb cf                	jmp    0xa55d
+    a58e:	8b 5d f0             	mov    -0x10(%ebp),%ebx
+    a591:	66 31 c0             	xor    %ax,%ax
+    a594:	65 89 13             	mov    %edx,%gs:(%ebx)
+    a597:	e9 d0 f4 ff ff       	jmp    0x9a6c
+    a59c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    a5a0:	55                   	push   %ebp
+    a5a1:	89 e5                	mov    %esp,%ebp
+    a5a3:	57                   	push   %edi
+    a5a4:	89 c7                	mov    %eax,%edi
+    a5a6:	56                   	push   %esi
+    a5a7:	53                   	push   %ebx
+    a5a8:	83 ec 24             	sub    $0x24,%esp
+    a5ab:	8b 75 08             	mov    0x8(%ebp),%esi
+    a5ae:	89 55 e0             	mov    %edx,-0x20(%ebp)
+    a5b1:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
+    a5b8:	c7 44 24 04 01 00 00 	movl   $0x1,0x4(%esp)
+    a5bf:	00 
+    a5c0:	c7 04 24 20 00 00 00 	movl   $0x20,(%esp)
+    a5c7:	89 4d dc             	mov    %ecx,-0x24(%ebp)
+    a5ca:	e8 fc ff ff ff       	call   0xa5cb
+    a5cf:	c7 44 24 04 01 00 00 	movl   $0x1,0x4(%esp)
+    a5d6:	00 
+    a5d7:	c7 04 24 30 00 00 00 	movl   $0x30,(%esp)
+    a5de:	89 c3                	mov    %eax,%ebx
+    a5e0:	e8 fc ff ff ff       	call   0xa5e1
+    a5e5:	8b 4d dc             	mov    -0x24(%ebp),%ecx
+    a5e8:	85 c0                	test   %eax,%eax
+    a5ea:	89 45 e4             	mov    %eax,-0x1c(%ebp)
+    a5ed:	0f 84 63 01 00 00    	je     0xa756
+    a5f3:	85 db                	test   %ebx,%ebx
+    a5f5:	0f 84 5b 01 00 00    	je     0xa756
+    a5fb:	8b 45 0c             	mov    0xc(%ebp),%eax
+    a5fe:	85 c0                	test   %eax,%eax
+    a600:	74 07                	je     0xa609
+    a602:	8b 45 e4             	mov    -0x1c(%ebp),%eax
+    a605:	80 48 18 01          	orb    $0x1,0x18(%eax)
+    a609:	8d 45 f0             	lea    -0x10(%ebp),%eax
+    a60c:	89 da                	mov    %ebx,%edx
+    a60e:	c7 44 24 08 00 00 00 	movl   $0x0,0x8(%esp)
+    a615:	00 
+    a616:	89 4c 24 04          	mov    %ecx,0x4(%esp)
+    a61a:	89 04 24             	mov    %eax,(%esp)
+    a61d:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
+    a620:	8b 45 e0             	mov    -0x20(%ebp),%eax
+    a623:	e8 68 f3 ff ff       	call   0x9990
+    a628:	85 c0                	test   %eax,%eax
+    a62a:	89 c2                	mov    %eax,%edx
+    a62c:	0f 85 05 01 00 00    	jne    0xa737
+    a632:	0f b6 0e             	movzbl (%esi),%ecx
+    a635:	b2 01                	mov    $0x1,%dl
+    a637:	84 c9                	test   %cl,%cl
+    a639:	74 24                	je     0xa65f
+    a63b:	89 7d e0             	mov    %edi,-0x20(%ebp)
+    a63e:	66 90                	xchg   %ax,%ax
+    a640:	89 c8                	mov    %ecx,%eax
+    a642:	89 d7                	mov    %edx,%edi
+    a644:	c0 e8 05             	shr    $0x5,%al
+    a647:	83 e1 1f             	and    $0x1f,%ecx
+    a64a:	0f b6 c0             	movzbl %al,%eax
+    a64d:	83 c6 01             	add    $0x1,%esi
+    a650:	d3 e7                	shl    %cl,%edi
+    a652:	09 3c 83             	or     %edi,(%ebx,%eax,4)
+    a655:	0f b6 0e             	movzbl (%esi),%ecx
+    a658:	84 c9                	test   %cl,%cl
+    a65a:	75 e4                	jne    0xa640
+    a65c:	8b 7d e0             	mov    -0x20(%ebp),%edi
+    a65f:	8b 55 0c             	mov    0xc(%ebp),%edx
+    a662:	85 d2                	test   %edx,%edx
+    a664:	74 17                	je     0xa67d
+    a666:	31 d2                	xor    %edx,%edx
+    a668:	31 c0                	xor    %eax,%eax
+    a66a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
+    a670:	83 c0 01             	add    $0x1,%eax
+    a673:	83 f8 08             	cmp    $0x8,%eax
+    a676:	f7 14 93             	notl   (%ebx,%edx,4)
+    a679:	89 c2                	mov    %eax,%edx
+    a67b:	75 f3                	jne    0xa670
+    a67d:	83 7f 5c 01          	cmpl   $0x1,0x5c(%edi)
+    a681:	7e 1d                	jle    0xa6a0
+    a683:	8b 77 3c             	mov    0x3c(%edi),%esi
+    a686:	31 d2                	xor    %edx,%edx
+    a688:	31 c0                	xor    %eax,%eax
+    a68a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
+    a690:	8b 0c 96             	mov    (%esi,%edx,4),%ecx
+    a693:	83 c0 01             	add    $0x1,%eax
+    a696:	21 0c 93             	and    %ecx,(%ebx,%edx,4)
+    a699:	83 f8 08             	cmp    $0x8,%eax
+    a69c:	89 c2                	mov    %eax,%edx
+    a69e:	75 f0                	jne    0xa690
+    a6a0:	8d 45 e8             	lea    -0x18(%ebp),%eax
+    a6a3:	31 c9                	xor    %ecx,%ecx
+    a6a5:	c6 45 ec 03          	movb   $0x3,-0x14(%ebp)
+    a6a9:	31 d2                	xor    %edx,%edx
+    a6ab:	89 5d e8             	mov    %ebx,-0x18(%ebp)
+    a6ae:	89 04 24             	mov    %eax,(%esp)
+    a6b1:	89 f8                	mov    %edi,%eax
+    a6b3:	e8 e8 63 ff ff       	call   0xaa0
+    a6b8:	85 c0                	test   %eax,%eax
+    a6ba:	89 c6                	mov    %eax,%esi
+    a6bc:	74 5c                	je     0xa71a
+    a6be:	83 7f 5c 01          	cmpl   $0x1,0x5c(%edi)
+    a6c2:	7e 44                	jle    0xa708
+    a6c4:	8b 45 e4             	mov    -0x1c(%ebp),%eax
+    a6c7:	31 c9                	xor    %ecx,%ecx
+    a6c9:	31 d2                	xor    %edx,%edx
+    a6cb:	c6 45 ec 06          	movb   $0x6,-0x14(%ebp)
+    a6cf:	89 45 e8             	mov    %eax,-0x18(%ebp)
+    a6d2:	8d 45 e8             	lea    -0x18(%ebp),%eax
+    a6d5:	80 4f 58 02          	orb    $0x2,0x58(%edi)
+    a6d9:	89 04 24             	mov    %eax,(%esp)
+    a6dc:	89 f8                	mov    %edi,%eax
+    a6de:	e8 bd 63 ff ff       	call   0xaa0
+    a6e3:	85 c0                	test   %eax,%eax
+    a6e5:	74 33                	je     0xa71a
+    a6e7:	89 c1                	mov    %eax,%ecx
+    a6e9:	89 f2                	mov    %esi,%edx
+    a6eb:	89 f8                	mov    %edi,%eax
+    a6ed:	c7 04 24 0a 00 00 00 	movl   $0xa,(%esp)
+    a6f4:	e8 07 65 ff ff       	call   0xc00
+    a6f9:	89 c6                	mov    %eax,%esi
+    a6fb:	83 c4 24             	add    $0x24,%esp
+    a6fe:	89 f0                	mov    %esi,%eax
+    a700:	5b                   	pop    %ebx
+    a701:	5e                   	pop    %esi
+    a702:	5f                   	pop    %edi
+    a703:	5d                   	pop    %ebp
+    a704:	c3                   	ret    
+    a705:	8d 76 00             	lea    0x0(%esi),%esi
+    a708:	8b 45 e4             	mov    -0x1c(%ebp),%eax
+    a70b:	e8 e0 68 ff ff       	call   0xff0
+    a710:	83 c4 24             	add    $0x24,%esp
+    a713:	89 f0                	mov    %esi,%eax
+    a715:	5b                   	pop    %ebx
+    a716:	5e                   	pop    %esi
+    a717:	5f                   	pop    %edi
+    a718:	5d                   	pop    %ebp
+    a719:	c3                   	ret    
+    a71a:	89 1c 24             	mov    %ebx,(%esp)
+    a71d:	31 f6                	xor    %esi,%esi
+    a71f:	e8 fc ff ff ff       	call   0xa720
+    a724:	8b 45 e4             	mov    -0x1c(%ebp),%eax
+    a727:	e8 c4 68 ff ff       	call   0xff0
+    a72c:	8b 7d 10             	mov    0x10(%ebp),%edi
+    a72f:	c7 07 0c 00 00 00    	movl   $0xc,(%edi)
+    a735:	eb c4                	jmp    0xa6fb
+    a737:	89 1c 24             	mov    %ebx,(%esp)
+    a73a:	31 f6                	xor    %esi,%esi
+    a73c:	89 45 dc             	mov    %eax,-0x24(%ebp)
+    a73f:	e8 fc ff ff ff       	call   0xa740
+    a744:	8b 45 e4             	mov    -0x1c(%ebp),%eax
+    a747:	e8 a4 68 ff ff       	call   0xff0
+    a74c:	8b 55 dc             	mov    -0x24(%ebp),%edx
+    a74f:	8b 7d 10             	mov    0x10(%ebp),%edi
+    a752:	89 17                	mov    %edx,(%edi)
+    a754:	eb a5                	jmp    0xa6fb
+    a756:	8b 45 10             	mov    0x10(%ebp),%eax
+    a759:	31 f6                	xor    %esi,%esi
+    a75b:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
+    a761:	eb 98                	jmp    0xa6fb
+    a763:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
+    a769:	8d bc 27 00 00 00 00 	lea    0x0(%edi,%eiz,1),%edi
+    a770:	55                   	push   %ebp
+    a771:	89 e5                	mov    %esp,%ebp
+    a773:	83 ec 18             	sub    $0x18,%esp
+    a776:	8b 45 08             	mov    0x8(%ebp),%eax
+    a779:	89 75 f8             	mov    %esi,-0x8(%ebp)
+    a77c:	8b 75 14             	mov    0x14(%ebp),%esi
+    a77f:	89 5d f4             	mov    %ebx,-0xc(%ebp)
+    a782:	89 7d fc             	mov    %edi,-0x4(%ebp)
+    a785:	83 f8 10             	cmp    $0x10,%eax
+    a788:	77 5b                	ja     0xa7e5
+    a78a:	8b 04 85 00 00 00 00 	mov    0x0(,%eax,4),%eax
+    a791:	c7 44 24 08 05 00 00 	movl   $0x5,0x8(%esp)
+    a798:	00 
+    a799:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
+    a7a0:	05 00 00 00 00       	add    $0x0,%eax
+    a7a5:	89 44 24 04          	mov    %eax,0x4(%esp)
+    a7a9:	e8 fc ff ff ff       	call   0xa7aa
+    a7ae:	89 04 24             	mov    %eax,(%esp)
+    a7b1:	89 c7                	mov    %eax,%edi
+    a7b3:	e8 fc ff ff ff       	call   0xa7b4
+    a7b8:	85 f6                	test   %esi,%esi
+    a7ba:	8d 58 01             	lea    0x1(%eax),%ebx
+    a7bd:	74 17                	je     0xa7d6
+    a7bf:	39 f3                	cmp    %esi,%ebx
+    a7c1:	77 27                	ja     0xa7ea
+    a7c3:	8b 55 10             	mov    0x10(%ebp),%edx
+    a7c6:	89 5c 24 08          	mov    %ebx,0x8(%esp)
+    a7ca:	89 7c 24 04          	mov    %edi,0x4(%esp)
+    a7ce:	89 14 24             	mov    %edx,(%esp)
+    a7d1:	e8 fc ff ff ff       	call   0xa7d2
+    a7d6:	89 d8                	mov    %ebx,%eax
+    a7d8:	8b 75 f8             	mov    -0x8(%ebp),%esi
+    a7db:	8b 5d f4             	mov    -0xc(%ebp),%ebx
+    a7de:	8b 7d fc             	mov    -0x4(%ebp),%edi
+    a7e1:	89 ec                	mov    %ebp,%esp
+    a7e3:	5d                   	pop    %ebp
+    a7e4:	c3                   	ret    
+    a7e5:	e8 fc ff ff ff       	call   0xa7e6
+    a7ea:	8b 45 10             	mov    0x10(%ebp),%eax
+    a7ed:	83 ee 01             	sub    $0x1,%esi
+    a7f0:	89 74 24 08          	mov    %esi,0x8(%esp)
+    a7f4:	89 7c 24 04          	mov    %edi,0x4(%esp)
+    a7f8:	89 04 24             	mov    %eax,(%esp)
+    a7fb:	e8 fc ff ff ff       	call   0xa7fc
+    a800:	c6 00 00             	movb   $0x0,(%eax)
+    a803:	eb d1                	jmp    0xa7d6
+    a805:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    a809:	8d bc 27 00 00 00 00 	lea    0x0(%edi,%eiz,1),%edi
+    a810:	55                   	push   %ebp
+    a811:	89 e5                	mov    %esp,%ebp
+    a813:	57                   	push   %edi
+    a814:	56                   	push   %esi
+    a815:	53                   	push   %ebx
+    a816:	81 ec 4c 01 00 00    	sub    $0x14c,%esp
+    a81c:	89 85 c0 fe ff ff    	mov    %eax,-0x140(%ebp)
+    a822:	8b 00                	mov    (%eax),%eax
+    a824:	89 95 c4 fe ff ff    	mov    %edx,-0x13c(%ebp)
+    a82a:	89 8d d4 fe ff ff    	mov    %ecx,-0x12c(%ebp)
+    a830:	c7 85 dc fe ff ff 00 	movl   $0x0,-0x124(%ebp)
+    a837:	00 00 00 
+    a83a:	83 78 5c 01          	cmpl   $0x1,0x5c(%eax)
+    a83e:	89 85 c8 fe ff ff    	mov    %eax,-0x138(%ebp)
+    a844:	0f 84 4b 05 00 00    	je     0xad95
+    a84a:	8b 8d c4 fe ff ff    	mov    -0x13c(%ebp),%ecx
+    a850:	8b 41 08             	mov    0x8(%ecx),%eax
+    a853:	85 c0                	test   %eax,%eax
+    a855:	0f 8e 23 05 00 00    	jle    0xad7e
+    a85b:	c7 85 d0 fe ff ff 00 	movl   $0x0,-0x130(%ebp)
+    a862:	00 00 00 
+    a865:	eb 4d                	jmp    0xa8b4
+    a867:	90                   	nop
+    a868:	83 fa 03             	cmp    $0x3,%edx
+    a86b:	0f 84 cf 01 00 00    	je     0xaa40
+    a871:	83 fa 06             	cmp    $0x6,%edx
+    a874:	0f 84 8d 02 00 00    	je     0xab07
+    a87a:	83 fa 07             	cmp    $0x7,%edx
+    a87d:	8d 76 00             	lea    0x0(%esi),%esi
+    a880:	0f 84 29 05 00 00    	je     0xadaf
+    a886:	83 fa 05             	cmp    $0x5,%edx
+    a889:	0f 84 20 05 00 00    	je     0xadaf
+    a88f:	83 fa 02             	cmp    $0x2,%edx
+    a892:	0f 84 a0 04 00 00    	je     0xad38
+    a898:	8b 95 c4 fe ff ff    	mov    -0x13c(%ebp),%edx
+    a89e:	83 85 d0 fe ff ff 01 	addl   $0x1,-0x130(%ebp)
+    a8a5:	8b 8d d0 fe ff ff    	mov    -0x130(%ebp),%ecx
+    a8ab:	39 4a 08             	cmp    %ecx,0x8(%edx)
+    a8ae:	0f 8e ca 04 00 00    	jle    0xad7e
+    a8b4:	8b 9d c4 fe ff ff    	mov    -0x13c(%ebp),%ebx
+    a8ba:	8b b5 d0 fe ff ff    	mov    -0x130(%ebp),%esi
+    a8c0:	8b bd c8 fe ff ff    	mov    -0x138(%ebp),%edi
+    a8c6:	8b 43 0c             	mov    0xc(%ebx),%eax
+    a8c9:	8b 0f                	mov    (%edi),%ecx
+    a8cb:	8b 04 b0             	mov    (%eax,%esi,4),%eax
+    a8ce:	8d 14 c5 00 00 00 00 	lea    0x0(,%eax,8),%edx
+    a8d5:	8d 1c 11             	lea    (%ecx,%edx,1),%ebx
+    a8d8:	89 95 cc fe ff ff    	mov    %edx,-0x134(%ebp)
+    a8de:	0f b6 53 04          	movzbl 0x4(%ebx),%edx
+    a8e2:	83 fa 01             	cmp    $0x1,%edx
+    a8e5:	75 81                	jne    0xa868
+    a8e7:	0f b6 0b             	movzbl (%ebx),%ecx
+    a8ea:	8b 9d d4 fe ff ff    	mov    -0x12c(%ebp),%ebx
+    a8f0:	c6 04 0b 01          	movb   $0x1,(%ebx,%ecx,1)
+    a8f4:	8b bd dc fe ff ff    	mov    -0x124(%ebp),%edi
+    a8fa:	85 ff                	test   %edi,%edi
+    a8fc:	74 1e                	je     0xa91c
+    a8fe:	8b 1d 00 00 00 00    	mov    0x0,%ebx
+    a904:	65 8b 13             	mov    %gs:(%ebx),%edx
+    a907:	85 d2                	test   %edx,%edx
+    a909:	0f 84 52 05 00 00    	je     0xae61
+    a90f:	8b 14 8a             	mov    (%edx,%ecx,4),%edx
+    a912:	8b b5 d4 fe ff ff    	mov    -0x12c(%ebp),%esi
+    a918:	c6 04 16 01          	movb   $0x1,(%esi,%edx,1)
+    a91c:	8b bd c0 fe ff ff    	mov    -0x140(%ebp),%edi
+    a922:	f6 47 0e 40          	testb  $0x40,0xe(%edi)
+    a926:	0f 84 6c ff ff ff    	je     0xa898
+    a92c:	8b 8d c8 fe ff ff    	mov    -0x138(%ebp),%ecx
+    a932:	8b 51 5c             	mov    0x5c(%ecx),%edx
+    a935:	83 fa 01             	cmp    $0x1,%edx
+    a938:	0f 8e 5a ff ff ff    	jle    0xa898
+    a93e:	83 c2 12             	add    $0x12,%edx
+    a941:	83 e2 fc             	and    $0xfffffffc,%edx
+    a944:	29 d4                	sub    %edx,%esp
+    a946:	8b 11                	mov    (%ecx),%edx
+    a948:	8d 7c 24 1f          	lea    0x1f(%esp),%edi
+    a94c:	83 e7 f0             	and    $0xfffffff0,%edi
+    a94f:	8d 4f 01             	lea    0x1(%edi),%ecx
+    a952:	0f b6 14 c2          	movzbl (%edx,%eax,8),%edx
+    a956:	88 17                	mov    %dl,(%edi)
+    a958:	8b 9d c8 fe ff ff    	mov    -0x138(%ebp),%ebx
+    a95e:	8d 50 01             	lea    0x1(%eax),%edx
+    a961:	39 53 08             	cmp    %edx,0x8(%ebx)
+    a964:	76 66                	jbe    0xa9cc
+    a966:	8b b5 c8 fe ff ff    	mov    -0x138(%ebp),%esi
+    a96c:	8d 1c d5 00 00 00 00 	lea    0x0(,%edx,8),%ebx
+    a973:	03 1e                	add    (%esi),%ebx
+    a975:	8b 73 04             	mov    0x4(%ebx),%esi
+    a978:	81 e6 ff 00 20 00    	and    $0x2000ff,%esi
+    a97e:	81 fe 01 00 20 00    	cmp    $0x200001,%esi
+    a984:	75 46                	jne    0xa9cc
+    a986:	89 bd d8 fe ff ff    	mov    %edi,-0x128(%ebp)
+    a98c:	8d 34 c5 10 00 00 00 	lea    0x10(,%eax,8),%esi
+    a993:	8b bd c8 fe ff ff    	mov    -0x138(%ebp),%edi
+    a999:	eb 1b                	jmp    0xa9b6
+    a99b:	90                   	nop
+    a99c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    a9a0:	8b 1f                	mov    (%edi),%ebx
+    a9a2:	01 f3                	add    %esi,%ebx
+    a9a4:	83 c6 08             	add    $0x8,%esi
+    a9a7:	8b 43 04             	mov    0x4(%ebx),%eax
+    a9aa:	25 ff 00 20 00       	and    $0x2000ff,%eax
+    a9af:	3d 01 00 20 00       	cmp    $0x200001,%eax
+    a9b4:	75 10                	jne    0xa9c6
+    a9b6:	0f b6 03             	movzbl (%ebx),%eax
+    a9b9:	83 c2 01             	add    $0x1,%edx
+    a9bc:	88 01                	mov    %al,(%ecx)
+    a9be:	83 c1 01             	add    $0x1,%ecx
+    a9c1:	39 57 08             	cmp    %edx,0x8(%edi)
+    a9c4:	77 da                	ja     0xa9a0
+    a9c6:	8b bd d8 fe ff ff    	mov    -0x128(%ebp),%edi
+    a9cc:	89 cb                	mov    %ecx,%ebx
+    a9ce:	29 fb                	sub    %edi,%ebx
+    a9d0:	8d 45 e8             	lea    -0x18(%ebp),%eax
+    a9d3:	8d 55 f0             	lea    -0x10(%ebp),%edx
+    a9d6:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
+    a9dd:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
+    a9e4:	89 44 24 0c          	mov    %eax,0xc(%esp)
+    a9e8:	89 5c 24 08          	mov    %ebx,0x8(%esp)
+    a9ec:	89 7c 24 04          	mov    %edi,0x4(%esp)
+    a9f0:	89 14 24             	mov    %edx,(%esp)
+    a9f3:	e8 fc ff ff ff       	call   0xa9f4
+    a9f8:	39 c3                	cmp    %eax,%ebx
+    a9fa:	0f 85 98 fe ff ff    	jne    0xa898
+    aa00:	8b 45 f0             	mov    -0x10(%ebp),%eax
+    aa03:	89 04 24             	mov    %eax,(%esp)
+    aa06:	e8 fc ff ff ff       	call   0xaa07
+    aa0b:	8d 4d e8             	lea    -0x18(%ebp),%ecx
+    aa0e:	89 4c 24 08          	mov    %ecx,0x8(%esp)
+    aa12:	89 3c 24             	mov    %edi,(%esp)
+    aa15:	89 44 24 04          	mov    %eax,0x4(%esp)
+    aa19:	e8 fc ff ff ff       	call   0xaa1a
+    aa1e:	83 f8 ff             	cmp    $0xffffffff,%eax
+    aa21:	0f 84 71 fe ff ff    	je     0xa898
+    aa27:	0f b6 07             	movzbl (%edi),%eax
+    aa2a:	8b 9d d4 fe ff ff    	mov    -0x12c(%ebp),%ebx
+    aa30:	c6 04 03 01          	movb   $0x1,(%ebx,%eax,1)
+    aa34:	e9 5f fe ff ff       	jmp    0xa898
+    aa39:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
+    aa40:	31 c0                	xor    %eax,%eax
+    aa42:	c7 85 d8 fe ff ff 00 	movl   $0x0,-0x128(%ebp)
+    aa49:	00 00 00 
+    aa4c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    aa50:	8b b5 cc fe ff ff    	mov    -0x134(%ebp),%esi
+    aa56:	8b 9d d8 fe ff ff    	mov    -0x128(%ebp),%ebx
+    aa5c:	8b 14 31             	mov    (%ecx,%esi,1),%edx
+    aa5f:	8b 8d d8 fe ff ff    	mov    -0x128(%ebp),%ecx
+    aa65:	c1 e3 07             	shl    $0x7,%ebx
+    aa68:	8b 34 82             	mov    (%edx,%eax,4),%esi
+    aa6b:	31 c0                	xor    %eax,%eax
+    aa6d:	8b 95 d8 fe ff ff    	mov    -0x128(%ebp),%edx
+    aa73:	83 c1 04             	add    $0x4,%ecx
+    aa76:	c1 e1 05             	shl    $0x5,%ecx
+    aa79:	89 b5 b8 fe ff ff    	mov    %esi,-0x148(%ebp)
+    aa7f:	c1 e2 05             	shl    $0x5,%edx
+    aa82:	03 95 d4 fe ff ff    	add    -0x12c(%ebp),%edx
+    aa88:	8b bd b8 fe ff ff    	mov    -0x148(%ebp),%edi
+    aa8e:	0f a3 c7             	bt     %eax,%edi
+    aa91:	73 40                	jae    0xaad3
+    aa93:	c6 02 01             	movb   $0x1,(%edx)
+    aa96:	8b b5 dc fe ff ff    	mov    -0x124(%ebp),%esi
+    aa9c:	89 d7                	mov    %edx,%edi
+    aa9e:	85 f6                	test   %esi,%esi
+    aaa0:	74 31                	je     0xaad3
+    aaa2:	81 f9 7f 01 00 00    	cmp    $0x17f,%ecx
+    aaa8:	77 26                	ja     0xaad0
+    aaaa:	8b 35 00 00 00 00    	mov    0x0,%esi
+    aab0:	65 8b 36             	mov    %gs:(%esi),%esi
+    aab3:	85 f6                	test   %esi,%esi
+    aab5:	89 b5 bc fe ff ff    	mov    %esi,-0x144(%ebp)
+    aabb:	0f 84 78 03 00 00    	je     0xae39
+    aac1:	8b b5 bc fe ff ff    	mov    -0x144(%ebp),%esi
+    aac7:	8b bd d4 fe ff ff    	mov    -0x12c(%ebp),%edi
+    aacd:	03 3c 1e             	add    (%esi,%ebx,1),%edi
+    aad0:	c6 07 01             	movb   $0x1,(%edi)
+    aad3:	83 c0 01             	add    $0x1,%eax
+    aad6:	83 c2 01             	add    $0x1,%edx
+    aad9:	83 c1 01             	add    $0x1,%ecx
+    aadc:	83 c3 04             	add    $0x4,%ebx
+    aadf:	83 f8 20             	cmp    $0x20,%eax
+    aae2:	75 a4                	jne    0xaa88
+    aae4:	83 85 d8 fe ff ff 01 	addl   $0x1,-0x128(%ebp)
+    aaeb:	8b 85 d8 fe ff ff    	mov    -0x128(%ebp),%eax
+    aaf1:	83 f8 08             	cmp    $0x8,%eax
+    aaf4:	0f 84 9e fd ff ff    	je     0xa898
+    aafa:	8b bd c8 fe ff ff    	mov    -0x138(%ebp),%edi
+    ab00:	8b 0f                	mov    (%edi),%ecx
+    ab02:	e9 49 ff ff ff       	jmp    0xaa50
+    ab07:	a1 00 00 00 00       	mov    0x0,%eax
+    ab0c:	8b 33                	mov    (%ebx),%esi
+    ab0e:	65 8b 00             	mov    %gs:(%eax),%eax
+    ab11:	8b 00                	mov    (%eax),%eax
+    ab13:	8b 48 28             	mov    0x28(%eax),%ecx
+    ab16:	85 c9                	test   %ecx,%ecx
+    ab18:	74 15                	je     0xab2f
+    ab1a:	8b 56 20             	mov    0x20(%esi),%edx
+    ab1d:	85 d2                	test   %edx,%edx
+    ab1f:	0f 85 9d 00 00 00    	jne    0xabc2
+    ab25:	83 7e 28 00          	cmpl   $0x0,0x28(%esi)
+    ab29:	0f 85 93 00 00 00    	jne    0xabc2
+    ab2f:	8b 85 c8 fe ff ff    	mov    -0x138(%ebp),%eax
+    ab35:	83 78 5c 01          	cmpl   $0x1,0x5c(%eax)
+    ab39:	0f 8e f7 00 00 00    	jle    0xac36
+    ab3f:	8b 4e 2c             	mov    0x2c(%esi),%ecx
+    ab42:	85 c9                	test   %ecx,%ecx
+    ab44:	75 10                	jne    0xab56
+    ab46:	f6 46 18 01          	testb  $0x1,0x18(%esi)
+    ab4a:	75 0a                	jne    0xab56
+    ab4c:	83 7e 28 00          	cmpl   $0x0,0x28(%esi)
+    ab50:	0f 84 30 02 00 00    	je     0xad86
+    ab56:	c6 45 f0 00          	movb   $0x0,-0x10(%ebp)
+    ab5a:	8b 9d d4 fe ff ff    	mov    -0x12c(%ebp),%ebx
+    ab60:	eb 18                	jmp    0xab7a
+    ab62:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
+    ab68:	0f b6 45 f0          	movzbl -0x10(%ebp),%eax
+    ab6c:	83 c0 01             	add    $0x1,%eax
+    ab6f:	84 c0                	test   %al,%al
+    ab71:	88 45 f0             	mov    %al,-0x10(%ebp)
+    ab74:	0f 84 1e fd ff ff    	je     0xa898
+    ab7a:	8d 95 e0 fe ff ff    	lea    -0x120(%ebp),%edx
+    ab80:	8d 4d f0             	lea    -0x10(%ebp),%ecx
+    ab83:	c7 85 e0 fe ff ff 00 	movl   $0x0,-0x120(%ebp)
+    ab8a:	00 00 00 
+    ab8d:	c7 85 e4 fe ff ff 00 	movl   $0x0,-0x11c(%ebp)
+    ab94:	00 00 00 
+    ab97:	89 54 24 0c          	mov    %edx,0xc(%esp)
+    ab9b:	c7 44 24 08 01 00 00 	movl   $0x1,0x8(%esp)
+    aba2:	00 
+    aba3:	89 4c 24 04          	mov    %ecx,0x4(%esp)
+    aba7:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
+    abae:	e8 fc ff ff ff       	call   0xabaf
+    abb3:	83 f8 fe             	cmp    $0xfffffffe,%eax
+    abb6:	75 b0                	jne    0xab68
+    abb8:	0f b6 45 f0          	movzbl -0x10(%ebp),%eax
+    abbc:	c6 04 03 01          	movb   $0x1,(%ebx,%eax,1)
+    abc0:	eb a6                	jmp    0xab68
+    abc2:	8b 48 30             	mov    0x30(%eax),%ecx
+    abc5:	31 c0                	xor    %eax,%eax
+    abc7:	89 b5 d8 fe ff ff    	mov    %esi,-0x128(%ebp)
+    abcd:	8b b5 d4 fe ff ff    	mov    -0x12c(%ebp),%esi
+    abd3:	eb 0d                	jmp    0xabe2
+    abd5:	8d 76 00             	lea    0x0(%esi),%esi
+    abd8:	83 c0 01             	add    $0x1,%eax
+    abdb:	3d 00 01 00 00       	cmp    $0x100,%eax
+    abe0:	74 3e                	je     0xac20
+    abe2:	8b 3c 81             	mov    (%ecx,%eax,4),%edi
+    abe5:	8d 14 85 00 00 00 00 	lea    0x0(,%eax,4),%edx
+    abec:	85 ff                	test   %edi,%edi
+    abee:	79 e8                	jns    0xabd8
+    abf0:	c6 04 06 01          	movb   $0x1,(%esi,%eax,1)
+    abf4:	8b 9d dc fe ff ff    	mov    -0x124(%ebp),%ebx
+    abfa:	85 db                	test   %ebx,%ebx
+    abfc:	74 da                	je     0xabd8
+    abfe:	8b 3d 00 00 00 00    	mov    0x0,%edi
+    ac04:	65 8b 1f             	mov    %gs:(%edi),%ebx
+    ac07:	85 db                	test   %ebx,%ebx
+    ac09:	0f 84 0e 02 00 00    	je     0xae1d
+    ac0f:	8b 14 13             	mov    (%ebx,%edx,1),%edx
+    ac12:	83 c0 01             	add    $0x1,%eax
+    ac15:	3d 00 01 00 00       	cmp    $0x100,%eax
+    ac1a:	c6 04 16 01          	movb   $0x1,(%esi,%edx,1)
+    ac1e:	75 c2                	jne    0xabe2
+    ac20:	8b 85 c8 fe ff ff    	mov    -0x138(%ebp),%eax
+    ac26:	8b b5 d8 fe ff ff    	mov    -0x128(%ebp),%esi
+    ac2c:	83 78 5c 01          	cmpl   $0x1,0x5c(%eax)
+    ac30:	0f 8f 09 ff ff ff    	jg     0xab3f
+    ac36:	31 db                	xor    %ebx,%ebx
+    ac38:	83 7e 1c 00          	cmpl   $0x0,0x1c(%esi)
+    ac3c:	7f 72                	jg     0xacb0
+    ac3e:	e9 55 fc ff ff       	jmp    0xa898
+    ac43:	8b 04 82             	mov    (%edx,%eax,4),%eax
+    ac46:	8b 95 d4 fe ff ff    	mov    -0x12c(%ebp),%edx
+    ac4c:	c6 04 02 01          	movb   $0x1,(%edx,%eax,1)
+    ac50:	8b 8d c0 fe ff ff    	mov    -0x140(%ebp),%ecx
+    ac56:	f6 41 0e 40          	testb  $0x40,0xe(%ecx)
+    ac5a:	74 48                	je     0xaca4
+    ac5c:	8b 85 c8 fe ff ff    	mov    -0x138(%ebp),%eax
+    ac62:	83 78 5c 01          	cmpl   $0x1,0x5c(%eax)
+    ac66:	7e 3c                	jle    0xaca4
+    ac68:	8b 06                	mov    (%esi),%eax
+    ac6a:	8b 04 38             	mov    (%eax,%edi,1),%eax
+    ac6d:	89 04 24             	mov    %eax,(%esp)
+    ac70:	e8 fc ff ff ff       	call   0xac71
+    ac75:	8d 55 e0             	lea    -0x20(%ebp),%edx
+    ac78:	8d 8d e0 fe ff ff    	lea    -0x120(%ebp),%ecx
+    ac7e:	89 54 24 08          	mov    %edx,0x8(%esp)
+    ac82:	89 0c 24             	mov    %ecx,(%esp)
+    ac85:	89 44 24 04          	mov    %eax,0x4(%esp)
+    ac89:	e8 fc ff ff ff       	call   0xac8a
+    ac8e:	83 f8 ff             	cmp    $0xffffffff,%eax
+    ac91:	74 11                	je     0xaca4
+    ac93:	0f b6 85 e0 fe ff ff 	movzbl -0x120(%ebp),%eax
+    ac9a:	8b bd d4 fe ff ff    	mov    -0x12c(%ebp),%edi
+    aca0:	c6 04 07 01          	movb   $0x1,(%edi,%eax,1)
+    aca4:	83 c3 01             	add    $0x1,%ebx
+    aca7:	39 5e 1c             	cmp    %ebx,0x1c(%esi)
+    acaa:	0f 8e e8 fb ff ff    	jle    0xa898
+    acb0:	8d 45 e0             	lea    -0x20(%ebp),%eax
+    acb3:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
+    acba:	8d 95 e0 fe ff ff    	lea    -0x120(%ebp),%edx
+    acc0:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
+    acc7:	8d 3c 9d 00 00 00 00 	lea    0x0(,%ebx,4),%edi
+    acce:	89 44 24 08          	mov    %eax,0x8(%esp)
+    acd2:	8b 06                	mov    (%esi),%eax
+    acd4:	8b 04 98             	mov    (%eax,%ebx,4),%eax
+    acd7:	89 14 24             	mov    %edx,(%esp)
+    acda:	89 44 24 04          	mov    %eax,0x4(%esp)
+    acde:	e8 fc ff ff ff       	call   0xacdf
+    ace3:	83 f8 ff             	cmp    $0xffffffff,%eax
+    ace6:	0f 84 64 ff ff ff    	je     0xac50
+    acec:	0f b6 85 e0 fe ff ff 	movzbl -0x120(%ebp),%eax
+    acf3:	8b 8d d4 fe ff ff    	mov    -0x12c(%ebp),%ecx
+    acf9:	c6 04 01 01          	movb   $0x1,(%ecx,%eax,1)
+    acfd:	8b 95 dc fe ff ff    	mov    -0x124(%ebp),%edx
+    ad03:	85 d2                	test   %edx,%edx
+    ad05:	0f 84 45 ff ff ff    	je     0xac50
+    ad0b:	8b 0d 00 00 00 00    	mov    0x0,%ecx
+    ad11:	65 8b 11             	mov    %gs:(%ecx),%edx
+    ad14:	85 d2                	test   %edx,%edx
+    ad16:	0f 85 27 ff ff ff    	jne    0xac43
+    ad1c:	8b 15 00 00 00 00    	mov    0x0,%edx
+    ad22:	65 8b 12             	mov    %gs:(%edx),%edx
+    ad25:	8b 12                	mov    (%edx),%edx
+    ad27:	8b 52 34             	mov    0x34(%edx),%edx
+    ad2a:	81 c2 00 02 00 00    	add    $0x200,%edx
+    ad30:	65 89 11             	mov    %edx,%gs:(%ecx)
+    ad33:	e9 0b ff ff ff       	jmp    0xac43
+    ad38:	8b bd d4 fe ff ff    	mov    -0x12c(%ebp),%edi
+    ad3e:	ba 00 01 00 00       	mov    $0x100,%edx
+    ad43:	b8 01 01 01 01       	mov    $0x1010101,%eax
+    ad48:	f7 c7 01 00 00 00    	test   $0x1,%edi
+    ad4e:	0f 85 b1 00 00 00    	jne    0xae05
+    ad54:	f7 c7 02 00 00 00    	test   $0x2,%edi
+    ad5a:	0f 85 9a 00 00 00    	jne    0xadfa
+    ad60:	89 d1                	mov    %edx,%ecx
+    ad62:	c1 e9 02             	shr    $0x2,%ecx
+    ad65:	f6 c2 02             	test   $0x2,%dl
+    ad68:	f3 ab                	rep stos %eax,%es:(%edi)
+    ad6a:	74 02                	je     0xad6e
+    ad6c:	66 ab                	stos   %ax,%es:(%edi)
+    ad6e:	80 e2 01             	and    $0x1,%dl
+    ad71:	74 01                	je     0xad74
+    ad73:	aa                   	stos   %al,%es:(%edi)
+    ad74:	8b 85 c0 fe ff ff    	mov    -0x140(%ebp),%eax
+    ad7a:	80 48 1c 01          	orb    $0x1,0x1c(%eax)
+    ad7e:	8d 65 f4             	lea    -0xc(%ebp),%esp
+    ad81:	5b                   	pop    %ebx
+    ad82:	5e                   	pop    %esi
+    ad83:	5f                   	pop    %edi
+    ad84:	5d                   	pop    %ebp
+    ad85:	c3                   	ret    
+    ad86:	83 7e 24 00          	cmpl   $0x0,0x24(%esi)
+    ad8a:	0f 84 a6 fe ff ff    	je     0xac36
+    ad90:	e9 c1 fd ff ff       	jmp    0xab56
+    ad95:	8b 95 c0 fe ff ff    	mov    -0x140(%ebp),%edx
+    ad9b:	8b 52 0c             	mov    0xc(%edx),%edx
+    ad9e:	c1 ea 16             	shr    $0x16,%edx
+    ada1:	83 e2 01             	and    $0x1,%edx
+    ada4:	89 95 dc fe ff ff    	mov    %edx,-0x124(%ebp)
+    adaa:	e9 9b fa ff ff       	jmp    0xa84a
+    adaf:	8b bd d4 fe ff ff    	mov    -0x12c(%ebp),%edi
+    adb5:	bb 00 01 00 00       	mov    $0x100,%ebx
+    adba:	b8 01 01 01 01       	mov    $0x1010101,%eax
+    adbf:	f7 c7 01 00 00 00    	test   $0x1,%edi
+    adc5:	75 4f                	jne    0xae16
+    adc7:	f7 c7 02 00 00 00    	test   $0x2,%edi
+    adcd:	75 40                	jne    0xae0f
+    adcf:	89 d9                	mov    %ebx,%ecx
+    add1:	c1 e9 02             	shr    $0x2,%ecx
+    add4:	f6 c3 02             	test   $0x2,%bl
+    add7:	f3 ab                	rep stos %eax,%es:(%edi)
+    add9:	75 17                	jne    0xadf2
+    addb:	80 e3 01             	and    $0x1,%bl
+    adde:	75 0a                	jne    0xadea
+    ade0:	83 fa 02             	cmp    $0x2,%edx
+    ade3:	75 99                	jne    0xad7e
+    ade5:	8d 76 00             	lea    0x0(%esi),%esi
+    ade8:	eb 8a                	jmp    0xad74
+    adea:	aa                   	stos   %al,%es:(%edi)
+    adeb:	90                   	nop
+    adec:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    adf0:	eb ee                	jmp    0xade0
+    adf2:	66 ab                	stos   %ax,%es:(%edi)
+    adf4:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    adf8:	eb e1                	jmp    0xaddb
+    adfa:	66 ab                	stos   %ax,%es:(%edi)
+    adfc:	83 ea 02             	sub    $0x2,%edx
+    adff:	90                   	nop
+    ae00:	e9 5b ff ff ff       	jmp    0xad60
+    ae05:	aa                   	stos   %al,%es:(%edi)
+    ae06:	66 ba ff 00          	mov    $0xff,%dx
+    ae0a:	e9 45 ff ff ff       	jmp    0xad54
+    ae0f:	66 ab                	stos   %ax,%es:(%edi)
+    ae11:	83 eb 02             	sub    $0x2,%ebx
+    ae14:	eb b9                	jmp    0xadcf
+    ae16:	aa                   	stos   %al,%es:(%edi)
+    ae17:	66 bb ff 00          	mov    $0xff,%bx
+    ae1b:	eb aa                	jmp    0xadc7
+    ae1d:	8b 1d 00 00 00 00    	mov    0x0,%ebx
+    ae23:	65 8b 1b             	mov    %gs:(%ebx),%ebx
+    ae26:	8b 1b                	mov    (%ebx),%ebx
+    ae28:	8b 5b 34             	mov    0x34(%ebx),%ebx
+    ae2b:	81 c3 00 02 00 00    	add    $0x200,%ebx
+    ae31:	65 89 1f             	mov    %ebx,%gs:(%edi)
+    ae34:	e9 d6 fd ff ff       	jmp    0xac0f
+    ae39:	8b 3d 00 00 00 00    	mov    0x0,%edi
+    ae3f:	8b 35 00 00 00 00    	mov    0x0,%esi
+    ae45:	65 8b 3f             	mov    %gs:(%edi),%edi
+    ae48:	8b 3f                	mov    (%edi),%edi
+    ae4a:	8b 7f 34             	mov    0x34(%edi),%edi
+    ae4d:	81 c7 00 02 00 00    	add    $0x200,%edi
+    ae53:	89 bd bc fe ff ff    	mov    %edi,-0x144(%ebp)
+    ae59:	65 89 3e             	mov    %edi,%gs:(%esi)
+    ae5c:	e9 60 fc ff ff       	jmp    0xaac1
+    ae61:	8b 15 00 00 00 00    	mov    0x0,%edx
+    ae67:	65 8b 12             	mov    %gs:(%edx),%edx
+    ae6a:	8b 12                	mov    (%edx),%edx
+    ae6c:	8b 52 34             	mov    0x34(%edx),%edx
+    ae6f:	81 c2 00 02 00 00    	add    $0x200,%edx
+    ae75:	65 89 13             	mov    %edx,%gs:(%ebx)
+    ae78:	e9 92 fa ff ff       	jmp    0xa90f
+    ae7d:	8d 76 00             	lea    0x0(%esi),%esi
+    ae80:	55                   	push   %ebp
+    ae81:	ba 00 01 00 00       	mov    $0x100,%edx
+    ae86:	89 e5                	mov    %esp,%ebp
+    ae88:	57                   	push   %edi
+    ae89:	56                   	push   %esi
+    ae8a:	53                   	push   %ebx
+    ae8b:	83 ec 04             	sub    $0x4,%esp
+    ae8e:	8b 75 08             	mov    0x8(%ebp),%esi
+    ae91:	8b 46 10             	mov    0x10(%esi),%eax
+    ae94:	8b 1e                	mov    (%esi),%ebx
+    ae96:	a8 01                	test   $0x1,%al
+    ae98:	89 c7                	mov    %eax,%edi
+    ae9a:	89 45 f0             	mov    %eax,-0x10(%ebp)
+    ae9d:	0f 85 85 00 00 00    	jne    0xaf28
+    aea3:	f7 c7 02 00 00 00    	test   $0x2,%edi
+    aea9:	0f 85 91 00 00 00    	jne    0xaf40
+    aeaf:	89 d1                	mov    %edx,%ecx
+    aeb1:	31 c0                	xor    %eax,%eax
+    aeb3:	c1 e9 02             	shr    $0x2,%ecx
+    aeb6:	f6 c2 02             	test   $0x2,%dl
+    aeb9:	f3 ab                	rep stos %eax,%es:(%edi)
+    aebb:	74 08                	je     0xaec5
+    aebd:	66 c7 07 00 00       	movw   $0x0,(%edi)
+    aec2:	83 c7 02             	add    $0x2,%edi
+    aec5:	83 e2 01             	and    $0x1,%edx
+    aec8:	74 03                	je     0xaecd
+    aeca:	c6 07 00             	movb   $0x0,(%edi)
+    aecd:	8b 53 24             	mov    0x24(%ebx),%edx
+    aed0:	89 f0                	mov    %esi,%eax
     aed2:	8b 4d f0             	mov    -0x10(%ebp),%ecx
-    aed5:	89 f0                	mov    %esi,%eax
-    aed7:	e8 24 f9 ff ff       	call   0xa800
-    aedc:	8b 53 24             	mov    0x24(%ebx),%edx
-    aedf:	8b 43 2c             	mov    0x2c(%ebx),%eax
-    aee2:	39 d0                	cmp    %edx,%eax
-    aee4:	74 0f                	je     0xaef5
-    aee6:	8b 4d f0             	mov    -0x10(%ebp),%ecx
-    aee9:	89 c2                	mov    %eax,%edx
-    aeeb:	89 f0                	mov    %esi,%eax
-    aeed:	e8 0e f9 ff ff       	call   0xa800
-    aef2:	8b 43 24             	mov    0x24(%ebx),%eax
-    aef5:	8b 53 30             	mov    0x30(%ebx),%edx
-    aef8:	39 d0                	cmp    %edx,%eax
-    aefa:	74 0a                	je     0xaf06
-    aefc:	8b 4d f0             	mov    -0x10(%ebp),%ecx
-    aeff:	89 f0                	mov    %esi,%eax
-    af01:	e8 fa f8 ff ff       	call   0xa800
-    af06:	80 4e 1c 08          	orb    $0x8,0x1c(%esi)
-    af0a:	31 c0                	xor    %eax,%eax
-    af0c:	83 c4 04             	add    $0x4,%esp
-    af0f:	5b                   	pop    %ebx
-    af10:	5e                   	pop    %esi
-    af11:	5f                   	pop    %edi
-    af12:	5d                   	pop    %ebp
-    af13:	c3                   	ret    
-    af14:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    af18:	83 c7 01             	add    $0x1,%edi
-    af1b:	66 ba ff 00          	mov    $0xff,%dx
-    af1f:	f7 c7 02 00 00 00    	test   $0x2,%edi
-    af25:	c6 00 00             	movb   $0x0,(%eax)
-    af28:	0f 84 71 ff ff ff    	je     0xae9f
-    af2e:	66 90                	xchg   %ax,%ax
-    af30:	66 c7 07 00 00       	movw   $0x0,(%edi)
-    af35:	83 ea 02             	sub    $0x2,%edx
-    af38:	83 c7 02             	add    $0x2,%edi
-    af3b:	e9 5f ff ff ff       	jmp    0xae9f
-    af40:	55                   	push   %ebp
-    af41:	89 e5                	mov    %esp,%ebp
-    af43:	57                   	push   %edi
-    af44:	89 c7                	mov    %eax,%edi
-    af46:	56                   	push   %esi
-    af47:	53                   	push   %ebx
-    af48:	83 ec 38             	sub    $0x38,%esp
-    af4b:	8b 00                	mov    (%eax),%eax
-    af4d:	39 4d 08             	cmp    %ecx,0x8(%ebp)
-    af50:	89 55 e0             	mov    %edx,-0x20(%ebp)
-    af53:	89 45 e8             	mov    %eax,-0x18(%ebp)
-    af56:	0f 8f d5 02 00 00    	jg     0xb231
-    af5c:	8b 75 08             	mov    0x8(%ebp),%esi
-    af5f:	85 f6                	test   %esi,%esi
-    af61:	0f 88 ca 02 00 00    	js     0xb231
-    af67:	8b 45 0c             	mov    0xc(%ebp),%eax
-    af6a:	03 45 08             	add    0x8(%ebp),%eax
-    af6d:	39 c1                	cmp    %eax,%ecx
-    af6f:	0f 8c 1b 03 00 00    	jl     0xb290
-    af75:	85 c0                	test   %eax,%eax
-    af77:	0f 88 06 03 00 00    	js     0xb283
-    af7d:	b8 00 00 00 00       	mov    $0x0,%eax
-    af82:	85 c0                	test   %eax,%eax
-    af84:	74 16                	je     0xaf9c
-    af86:	8b 45 e8             	mov    -0x18(%ebp),%eax
-    af89:	89 4d dc             	mov    %ecx,-0x24(%ebp)
-    af8c:	05 88 00 00 00       	add    $0x88,%eax
-    af91:	89 04 24             	mov    %eax,(%esp)
-    af94:	e8 fc ff ff ff       	call   0xaf95
-    af99:	8b 4d dc             	mov    -0x24(%ebp),%ecx
-    af9c:	0f b6 47 1c          	movzbl 0x1c(%edi),%eax
-    afa0:	8b 5d 0c             	mov    0xc(%ebp),%ebx
-    afa3:	89 c2                	mov    %eax,%edx
-    afa5:	83 e2 40             	and    $0x40,%edx
-    afa8:	80 fa 01             	cmp    $0x1,%dl
-    afab:	19 d2                	sbb    %edx,%edx
-    afad:	f7 d2                	not    %edx
-    afaf:	83 e2 02             	and    $0x2,%edx
-    afb2:	85 db                	test   %ebx,%ebx
-    afb4:	88 45 e7             	mov    %al,-0x19(%ebp)
-    afb7:	7e 0f                	jle    0xafc8
-    afb9:	8b 77 10             	mov    0x10(%edi),%esi
-    afbc:	85 f6                	test   %esi,%esi
-    afbe:	74 08                	je     0xafc8
-    afc0:	a8 08                	test   $0x8,%al
-    afc2:	0f 84 c0 01 00 00    	je     0xb188
-    afc8:	a8 10                	test   $0x10,%al
-    afca:	0f 85 8a 02 00 00    	jne    0xb25a
-    afd0:	8b 5d 14             	mov    0x14(%ebp),%ebx
-    afd3:	85 db                	test   %ebx,%ebx
-    afd5:	0f 84 e5 01 00 00    	je     0xb1c0
-    afdb:	83 e0 06             	and    $0x6,%eax
-    afde:	3c 04                	cmp    $0x4,%al
-    afe0:	0f 84 57 02 00 00    	je     0xb23d
-    afe6:	8b 77 18             	mov    0x18(%edi),%esi
-    afe9:	83 c6 01             	add    $0x1,%esi
-    afec:	89 75 ec             	mov    %esi,-0x14(%ebp)
-    afef:	8d 04 f5 00 00 00 00 	lea    0x0(,%esi,8),%eax
-    aff6:	89 55 d8             	mov    %edx,-0x28(%ebp)
-    aff9:	89 4d dc             	mov    %ecx,-0x24(%ebp)
-    affc:	89 04 24             	mov    %eax,(%esp)
-    afff:	e8 fc ff ff ff       	call   0xb000
-    b004:	8b 55 d8             	mov    -0x28(%ebp),%edx
-    b007:	8b 4d dc             	mov    -0x24(%ebp),%ecx
-    b00a:	85 c0                	test   %eax,%eax
-    b00c:	89 c3                	mov    %eax,%ebx
-    b00e:	0f 84 63 02 00 00    	je     0xb277
-    b014:	0f b6 45 e7          	movzbl -0x19(%ebp),%eax
-    b018:	89 5c 24 10          	mov    %ebx,0x10(%esp)
-    b01c:	c0 e8 05             	shr    $0x5,%al
-    b01f:	83 e0 01             	and    $0x1,%eax
-    b022:	09 d0                	or     %edx,%eax
-    b024:	8b 55 0c             	mov    0xc(%ebp),%edx
-    b027:	89 44 24 14          	mov    %eax,0x14(%esp)
-    b02b:	8b 45 ec             	mov    -0x14(%ebp),%eax
-    b02e:	89 54 24 04          	mov    %edx,0x4(%esp)
-    b032:	8b 55 e0             	mov    -0x20(%ebp),%edx
-    b035:	89 44 24 0c          	mov    %eax,0xc(%esp)
-    b039:	8b 45 10             	mov    0x10(%ebp),%eax
-    b03c:	89 44 24 08          	mov    %eax,0x8(%esp)
-    b040:	8b 45 08             	mov    0x8(%ebp),%eax
-    b043:	89 04 24             	mov    %eax,(%esp)
-    b046:	89 f8                	mov    %edi,%eax
-    b048:	e8 23 d4 ff ff       	call   0x8470
-    b04d:	c7 45 f0 ff ff ff ff 	movl   $0xffffffff,-0x10(%ebp)
-    b054:	83 ec 18             	sub    $0x18,%esp
-    b057:	85 c0                	test   %eax,%eax
-    b059:	0f 85 ee 00 00 00    	jne    0xb14d
-    b05f:	8b 4d 14             	mov    0x14(%ebp),%ecx
-    b062:	85 c9                	test   %ecx,%ecx
-    b064:	0f 84 c6 00 00 00    	je     0xb130
-    b06a:	0f b6 47 1c          	movzbl 0x1c(%edi),%eax
-    b06e:	8d 56 01             	lea    0x1(%esi),%edx
-    b071:	d0 e8                	shr    %al
-    b073:	83 e0 03             	and    $0x3,%eax
-    b076:	0f 84 5c 01 00 00    	je     0xb1d8
-    b07c:	83 f8 01             	cmp    $0x1,%eax
-    b07f:	0f 84 23 01 00 00    	je     0xb1a8
-    b085:	83 f8 02             	cmp    $0x2,%eax
-    b088:	0f 85 57 02 00 00    	jne    0xb2e5
-    b08e:	8b 45 14             	mov    0x14(%ebp),%eax
-    b091:	8b 55 ec             	mov    -0x14(%ebp),%edx
-    b094:	39 10                	cmp    %edx,(%eax)
-    b096:	0f 82 25 02 00 00    	jb     0xb2c1
-    b09c:	c7 45 f0 02 00 00 00 	movl   $0x2,-0x10(%ebp)
-    b0a3:	85 f6                	test   %esi,%esi
-    b0a5:	0f 8e 7d 01 00 00    	jle    0xb228
-    b0ab:	8b 45 14             	mov    0x14(%ebp),%eax
-    b0ae:	89 7d ec             	mov    %edi,-0x14(%ebp)
-    b0b1:	8b 50 08             	mov    0x8(%eax),%edx
-    b0b4:	8b 48 04             	mov    0x4(%eax),%ecx
-    b0b7:	31 c0                	xor    %eax,%eax
-    b0b9:	89 d7                	mov    %edx,%edi
-    b0bb:	90                   	nop
-    b0bc:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    b0c0:	8b 14 c3             	mov    (%ebx,%eax,8),%edx
-    b0c3:	89 14 81             	mov    %edx,(%ecx,%eax,4)
-    b0c6:	8b 54 c3 04          	mov    0x4(%ebx,%eax,8),%edx
-    b0ca:	89 14 87             	mov    %edx,(%edi,%eax,4)
-    b0cd:	83 c0 01             	add    $0x1,%eax
-    b0d0:	39 f0                	cmp    %esi,%eax
-    b0d2:	75 ec                	jne    0xb0c0
-    b0d4:	8b 7d ec             	mov    -0x14(%ebp),%edi
-    b0d7:	89 f0                	mov    %esi,%eax
-    b0d9:	8b 55 14             	mov    0x14(%ebp),%edx
-    b0dc:	3b 02                	cmp    (%edx),%eax
-    b0de:	73 32                	jae    0xb112
-    b0e0:	8b 4a 04             	mov    0x4(%edx),%ecx
-    b0e3:	8b 52 08             	mov    0x8(%edx),%edx
-    b0e6:	89 4d ec             	mov    %ecx,-0x14(%ebp)
-    b0e9:	8b 4d ec             	mov    -0x14(%ebp),%ecx
-    b0ec:	89 5d ec             	mov    %ebx,-0x14(%ebp)
-    b0ef:	8b 5d 14             	mov    0x14(%ebp),%ebx
-    b0f2:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
-    b0f8:	c7 04 82 ff ff ff ff 	movl   $0xffffffff,(%edx,%eax,4)
-    b0ff:	83 c6 01             	add    $0x1,%esi
-    b102:	c7 04 81 ff ff ff ff 	movl   $0xffffffff,(%ecx,%eax,4)
-    b109:	89 f0                	mov    %esi,%eax
-    b10b:	39 33                	cmp    %esi,(%ebx)
-    b10d:	77 e9                	ja     0xb0f8
-    b10f:	8b 5d ec             	mov    -0x14(%ebp),%ebx
-    b112:	0f b6 45 f0          	movzbl -0x10(%ebp),%eax
-    b116:	83 e0 03             	and    $0x3,%eax
-    b119:	8d 14 00             	lea    (%eax,%eax,1),%edx
-    b11c:	0f b6 47 1c          	movzbl 0x1c(%edi),%eax
-    b120:	83 e0 f9             	and    $0xfffffff9,%eax
-    b123:	09 d0                	or     %edx,%eax
-    b125:	a8 06                	test   $0x6,%al
-    b127:	88 47 1c             	mov    %al,0x1c(%edi)
-    b12a:	0f 84 53 02 00 00    	je     0xb383
-    b130:	8b 55 18             	mov    0x18(%ebp),%edx
-    b133:	85 d2                	test   %edx,%edx
-    b135:	74 49                	je     0xb180
-    b137:	8b 45 08             	mov    0x8(%ebp),%eax
-    b13a:	39 03                	cmp    %eax,(%ebx)
-    b13c:	0f 85 5b 01 00 00    	jne    0xb29d
-    b142:	8b 53 04             	mov    0x4(%ebx),%edx
-    b145:	8b 4d 08             	mov    0x8(%ebp),%ecx
-    b148:	29 ca                	sub    %ecx,%edx
-    b14a:	89 55 f0             	mov    %edx,-0x10(%ebp)
-    b14d:	89 1c 24             	mov    %ebx,(%esp)
-    b150:	e8 fc ff ff ff       	call   0xb151
-    b155:	b8 00 00 00 00       	mov    $0x0,%eax
-    b15a:	85 c0                	test   %eax,%eax
-    b15c:	74 10                	je     0xb16e
-    b15e:	8b 45 e8             	mov    -0x18(%ebp),%eax
-    b161:	05 88 00 00 00       	add    $0x88,%eax
-    b166:	89 04 24             	mov    %eax,(%esp)
-    b169:	e8 fc ff ff ff       	call   0xb16a
-    b16e:	8b 45 f0             	mov    -0x10(%ebp),%eax
-    b171:	8d 65 f4             	lea    -0xc(%ebp),%esp
-    b174:	5b                   	pop    %ebx
-    b175:	5e                   	pop    %esi
-    b176:	5f                   	pop    %edi
-    b177:	5d                   	pop    %ebp
-    b178:	c2 14 00             	ret    $0x14
-    b17b:	90                   	nop
-    b17c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    b180:	8b 03                	mov    (%ebx),%eax
-    b182:	89 45 f0             	mov    %eax,-0x10(%ebp)
-    b185:	eb c6                	jmp    0xb14d
-    b187:	90                   	nop
-    b188:	89 55 d8             	mov    %edx,-0x28(%ebp)
-    b18b:	89 4d dc             	mov    %ecx,-0x24(%ebp)
-    b18e:	89 3c 24             	mov    %edi,(%esp)
-    b191:	e8 fc ff ff ff       	call   0xb192
-    b196:	0f b6 47 1c          	movzbl 0x1c(%edi),%eax
-    b19a:	8b 4d dc             	mov    -0x24(%ebp),%ecx
-    b19d:	8b 55 d8             	mov    -0x28(%ebp),%edx
-    b1a0:	e9 23 fe ff ff       	jmp    0xafc8
-    b1a5:	8d 76 00             	lea    0x0(%esi),%esi
-    b1a8:	8b 4d 14             	mov    0x14(%ebp),%ecx
-    b1ab:	3b 11                	cmp    (%ecx),%edx
-    b1ad:	0f 87 6f 01 00 00    	ja     0xb322
-    b1b3:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
-    b1ba:	e9 e4 fe ff ff       	jmp    0xb0a3
-    b1bf:	90                   	nop
-    b1c0:	b8 08 00 00 00       	mov    $0x8,%eax
-    b1c5:	be 01 00 00 00       	mov    $0x1,%esi
-    b1ca:	c7 45 ec 01 00 00 00 	movl   $0x1,-0x14(%ebp)
-    b1d1:	e9 20 fe ff ff       	jmp    0xaff6
-    b1d6:	66 90                	xchg   %ax,%ax
-    b1d8:	8d 0c 95 00 00 00 00 	lea    0x0(,%edx,4),%ecx
-    b1df:	89 4d f0             	mov    %ecx,-0x10(%ebp)
-    b1e2:	89 0c 24             	mov    %ecx,(%esp)
-    b1e5:	89 55 d8             	mov    %edx,-0x28(%ebp)
-    b1e8:	e8 fc ff ff ff       	call   0xb1e9
-    b1ed:	8b 4d 14             	mov    0x14(%ebp),%ecx
-    b1f0:	85 c0                	test   %eax,%eax
-    b1f2:	89 41 04             	mov    %eax,0x4(%ecx)
-    b1f5:	0f 84 20 01 00 00    	je     0xb31b
-    b1fb:	8b 45 f0             	mov    -0x10(%ebp),%eax
-    b1fe:	89 04 24             	mov    %eax,(%esp)
-    b201:	e8 fc ff ff ff       	call   0xb202
-    b206:	8b 4d 14             	mov    0x14(%ebp),%ecx
-    b209:	8b 55 d8             	mov    -0x28(%ebp),%edx
-    b20c:	85 c0                	test   %eax,%eax
-    b20e:	89 41 08             	mov    %eax,0x8(%ecx)
-    b211:	0f 84 f2 00 00 00    	je     0xb309
-    b217:	8b 45 14             	mov    0x14(%ebp),%eax
-    b21a:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
-    b221:	89 10                	mov    %edx,(%eax)
-    b223:	e9 7b fe ff ff       	jmp    0xb0a3
-    b228:	31 c0                	xor    %eax,%eax
-    b22a:	31 f6                	xor    %esi,%esi
-    b22c:	e9 a8 fe ff ff       	jmp    0xb0d9
-    b231:	c7 45 f0 ff ff ff ff 	movl   $0xffffffff,-0x10(%ebp)
-    b238:	e9 31 ff ff ff       	jmp    0xb16e
-    b23d:	8b 5d 14             	mov    0x14(%ebp),%ebx
-    b240:	8b 77 18             	mov    0x18(%edi),%esi
-    b243:	8b 03                	mov    (%ebx),%eax
-    b245:	83 c6 01             	add    $0x1,%esi
-    b248:	39 f0                	cmp    %esi,%eax
-    b24a:	0f 83 9c fd ff ff    	jae    0xafec
-    b250:	85 c0                	test   %eax,%eax
-    b252:	89 c6                	mov    %eax,%esi
-    b254:	0f 8f 92 fd ff ff    	jg     0xafec
-    b25a:	b8 08 00 00 00       	mov    $0x8,%eax
-    b25f:	be 01 00 00 00       	mov    $0x1,%esi
-    b264:	c7 45 ec 01 00 00 00 	movl   $0x1,-0x14(%ebp)
-    b26b:	c7 45 14 00 00 00 00 	movl   $0x0,0x14(%ebp)
-    b272:	e9 7f fd ff ff       	jmp    0xaff6
-    b277:	c7 45 f0 fe ff ff ff 	movl   $0xfffffffe,-0x10(%ebp)
-    b27e:	e9 d2 fe ff ff       	jmp    0xb155
-    b283:	8b 5d 08             	mov    0x8(%ebp),%ebx
-    b286:	f7 db                	neg    %ebx
-    b288:	89 5d 0c             	mov    %ebx,0xc(%ebp)
-    b28b:	e9 ed fc ff ff       	jmp    0xaf7d
-    b290:	89 ca                	mov    %ecx,%edx
-    b292:	2b 55 08             	sub    0x8(%ebp),%edx
-    b295:	89 55 0c             	mov    %edx,0xc(%ebp)
-    b298:	e9 e0 fc ff ff       	jmp    0xaf7d
-    b29d:	c7 44 24 0c 22 01 00 	movl   $0x122,0xc(%esp)
-    b2a4:	00 
-    b2a5:	c7 44 24 08 d6 01 00 	movl   $0x1d6,0x8(%esp)
-    b2ac:	00 
-    b2ad:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
+    aed5:	e8 36 f9 ff ff       	call   0xa810
+    aeda:	8b 53 28             	mov    0x28(%ebx),%edx
+    aedd:	39 53 24             	cmp    %edx,0x24(%ebx)
+    aee0:	74 0d                	je     0xaeef
+    aee2:	8b 4d f0             	mov    -0x10(%ebp),%ecx
+    aee5:	89 f0                	mov    %esi,%eax
+    aee7:	e8 24 f9 ff ff       	call   0xa810
+    aeec:	8b 53 24             	mov    0x24(%ebx),%edx
+    aeef:	8b 43 2c             	mov    0x2c(%ebx),%eax
+    aef2:	39 d0                	cmp    %edx,%eax
+    aef4:	74 0f                	je     0xaf05
+    aef6:	8b 4d f0             	mov    -0x10(%ebp),%ecx
+    aef9:	89 c2                	mov    %eax,%edx
+    aefb:	89 f0                	mov    %esi,%eax
+    aefd:	e8 0e f9 ff ff       	call   0xa810
+    af02:	8b 43 24             	mov    0x24(%ebx),%eax
+    af05:	8b 53 30             	mov    0x30(%ebx),%edx
+    af08:	39 d0                	cmp    %edx,%eax
+    af0a:	74 0a                	je     0xaf16
+    af0c:	8b 4d f0             	mov    -0x10(%ebp),%ecx
+    af0f:	89 f0                	mov    %esi,%eax
+    af11:	e8 fa f8 ff ff       	call   0xa810
+    af16:	80 4e 1c 08          	orb    $0x8,0x1c(%esi)
+    af1a:	31 c0                	xor    %eax,%eax
+    af1c:	83 c4 04             	add    $0x4,%esp
+    af1f:	5b                   	pop    %ebx
+    af20:	5e                   	pop    %esi
+    af21:	5f                   	pop    %edi
+    af22:	5d                   	pop    %ebp
+    af23:	c3                   	ret    
+    af24:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    af28:	83 c7 01             	add    $0x1,%edi
+    af2b:	66 ba ff 00          	mov    $0xff,%dx
+    af2f:	f7 c7 02 00 00 00    	test   $0x2,%edi
+    af35:	c6 00 00             	movb   $0x0,(%eax)
+    af38:	0f 84 71 ff ff ff    	je     0xaeaf
+    af3e:	66 90                	xchg   %ax,%ax
+    af40:	66 c7 07 00 00       	movw   $0x0,(%edi)
+    af45:	83 ea 02             	sub    $0x2,%edx
+    af48:	83 c7 02             	add    $0x2,%edi
+    af4b:	e9 5f ff ff ff       	jmp    0xaeaf
+    af50:	55                   	push   %ebp
+    af51:	89 e5                	mov    %esp,%ebp
+    af53:	57                   	push   %edi
+    af54:	89 c7                	mov    %eax,%edi
+    af56:	56                   	push   %esi
+    af57:	53                   	push   %ebx
+    af58:	83 ec 38             	sub    $0x38,%esp
+    af5b:	8b 00                	mov    (%eax),%eax
+    af5d:	39 4d 08             	cmp    %ecx,0x8(%ebp)
+    af60:	89 55 e0             	mov    %edx,-0x20(%ebp)
+    af63:	89 45 e8             	mov    %eax,-0x18(%ebp)
+    af66:	0f 8f d5 02 00 00    	jg     0xb241
+    af6c:	8b 75 08             	mov    0x8(%ebp),%esi
+    af6f:	85 f6                	test   %esi,%esi
+    af71:	0f 88 ca 02 00 00    	js     0xb241
+    af77:	8b 45 0c             	mov    0xc(%ebp),%eax
+    af7a:	03 45 08             	add    0x8(%ebp),%eax
+    af7d:	39 c1                	cmp    %eax,%ecx
+    af7f:	0f 8c 1b 03 00 00    	jl     0xb2a0
+    af85:	85 c0                	test   %eax,%eax
+    af87:	0f 88 06 03 00 00    	js     0xb293
+    af8d:	b8 00 00 00 00       	mov    $0x0,%eax
+    af92:	85 c0                	test   %eax,%eax
+    af94:	74 16                	je     0xafac
+    af96:	8b 45 e8             	mov    -0x18(%ebp),%eax
+    af99:	89 4d dc             	mov    %ecx,-0x24(%ebp)
+    af9c:	05 88 00 00 00       	add    $0x88,%eax
+    afa1:	89 04 24             	mov    %eax,(%esp)
+    afa4:	e8 fc ff ff ff       	call   0xafa5
+    afa9:	8b 4d dc             	mov    -0x24(%ebp),%ecx
+    afac:	0f b6 47 1c          	movzbl 0x1c(%edi),%eax
+    afb0:	8b 5d 0c             	mov    0xc(%ebp),%ebx
+    afb3:	89 c2                	mov    %eax,%edx
+    afb5:	83 e2 40             	and    $0x40,%edx
+    afb8:	80 fa 01             	cmp    $0x1,%dl
+    afbb:	19 d2                	sbb    %edx,%edx
+    afbd:	f7 d2                	not    %edx
+    afbf:	83 e2 02             	and    $0x2,%edx
+    afc2:	85 db                	test   %ebx,%ebx
+    afc4:	88 45 e7             	mov    %al,-0x19(%ebp)
+    afc7:	7e 0f                	jle    0xafd8
+    afc9:	8b 77 10             	mov    0x10(%edi),%esi
+    afcc:	85 f6                	test   %esi,%esi
+    afce:	74 08                	je     0xafd8
+    afd0:	a8 08                	test   $0x8,%al
+    afd2:	0f 84 c0 01 00 00    	je     0xb198
+    afd8:	a8 10                	test   $0x10,%al
+    afda:	0f 85 8a 02 00 00    	jne    0xb26a
+    afe0:	8b 5d 14             	mov    0x14(%ebp),%ebx
+    afe3:	85 db                	test   %ebx,%ebx
+    afe5:	0f 84 e5 01 00 00    	je     0xb1d0
+    afeb:	83 e0 06             	and    $0x6,%eax
+    afee:	3c 04                	cmp    $0x4,%al
+    aff0:	0f 84 57 02 00 00    	je     0xb24d
+    aff6:	8b 77 18             	mov    0x18(%edi),%esi
+    aff9:	83 c6 01             	add    $0x1,%esi
+    affc:	89 75 ec             	mov    %esi,-0x14(%ebp)
+    afff:	8d 04 f5 00 00 00 00 	lea    0x0(,%esi,8),%eax
+    b006:	89 55 d8             	mov    %edx,-0x28(%ebp)
+    b009:	89 4d dc             	mov    %ecx,-0x24(%ebp)
+    b00c:	89 04 24             	mov    %eax,(%esp)
+    b00f:	e8 fc ff ff ff       	call   0xb010
+    b014:	8b 55 d8             	mov    -0x28(%ebp),%edx
+    b017:	8b 4d dc             	mov    -0x24(%ebp),%ecx
+    b01a:	85 c0                	test   %eax,%eax
+    b01c:	89 c3                	mov    %eax,%ebx
+    b01e:	0f 84 63 02 00 00    	je     0xb287
+    b024:	0f b6 45 e7          	movzbl -0x19(%ebp),%eax
+    b028:	89 5c 24 10          	mov    %ebx,0x10(%esp)
+    b02c:	c0 e8 05             	shr    $0x5,%al
+    b02f:	83 e0 01             	and    $0x1,%eax
+    b032:	09 d0                	or     %edx,%eax
+    b034:	8b 55 0c             	mov    0xc(%ebp),%edx
+    b037:	89 44 24 14          	mov    %eax,0x14(%esp)
+    b03b:	8b 45 ec             	mov    -0x14(%ebp),%eax
+    b03e:	89 54 24 04          	mov    %edx,0x4(%esp)
+    b042:	8b 55 e0             	mov    -0x20(%ebp),%edx
+    b045:	89 44 24 0c          	mov    %eax,0xc(%esp)
+    b049:	8b 45 10             	mov    0x10(%ebp),%eax
+    b04c:	89 44 24 08          	mov    %eax,0x8(%esp)
+    b050:	8b 45 08             	mov    0x8(%ebp),%eax
+    b053:	89 04 24             	mov    %eax,(%esp)
+    b056:	89 f8                	mov    %edi,%eax
+    b058:	e8 23 d4 ff ff       	call   0x8480
+    b05d:	c7 45 f0 ff ff ff ff 	movl   $0xffffffff,-0x10(%ebp)
+    b064:	83 ec 18             	sub    $0x18,%esp
+    b067:	85 c0                	test   %eax,%eax
+    b069:	0f 85 ee 00 00 00    	jne    0xb15d
+    b06f:	8b 4d 14             	mov    0x14(%ebp),%ecx
+    b072:	85 c9                	test   %ecx,%ecx
+    b074:	0f 84 c6 00 00 00    	je     0xb140
+    b07a:	0f b6 47 1c          	movzbl 0x1c(%edi),%eax
+    b07e:	8d 56 01             	lea    0x1(%esi),%edx
+    b081:	d0 e8                	shr    %al
+    b083:	83 e0 03             	and    $0x3,%eax
+    b086:	0f 84 5c 01 00 00    	je     0xb1e8
+    b08c:	83 f8 01             	cmp    $0x1,%eax
+    b08f:	0f 84 23 01 00 00    	je     0xb1b8
+    b095:	83 f8 02             	cmp    $0x2,%eax
+    b098:	0f 85 57 02 00 00    	jne    0xb2f5
+    b09e:	8b 45 14             	mov    0x14(%ebp),%eax
+    b0a1:	8b 55 ec             	mov    -0x14(%ebp),%edx
+    b0a4:	39 10                	cmp    %edx,(%eax)
+    b0a6:	0f 82 25 02 00 00    	jb     0xb2d1
+    b0ac:	c7 45 f0 02 00 00 00 	movl   $0x2,-0x10(%ebp)
+    b0b3:	85 f6                	test   %esi,%esi
+    b0b5:	0f 8e 7d 01 00 00    	jle    0xb238
+    b0bb:	8b 45 14             	mov    0x14(%ebp),%eax
+    b0be:	89 7d ec             	mov    %edi,-0x14(%ebp)
+    b0c1:	8b 50 08             	mov    0x8(%eax),%edx
+    b0c4:	8b 48 04             	mov    0x4(%eax),%ecx
+    b0c7:	31 c0                	xor    %eax,%eax
+    b0c9:	89 d7                	mov    %edx,%edi
+    b0cb:	90                   	nop
+    b0cc:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    b0d0:	8b 14 c3             	mov    (%ebx,%eax,8),%edx
+    b0d3:	89 14 81             	mov    %edx,(%ecx,%eax,4)
+    b0d6:	8b 54 c3 04          	mov    0x4(%ebx,%eax,8),%edx
+    b0da:	89 14 87             	mov    %edx,(%edi,%eax,4)
+    b0dd:	83 c0 01             	add    $0x1,%eax
+    b0e0:	39 f0                	cmp    %esi,%eax
+    b0e2:	75 ec                	jne    0xb0d0
+    b0e4:	8b 7d ec             	mov    -0x14(%ebp),%edi
+    b0e7:	89 f0                	mov    %esi,%eax
+    b0e9:	8b 55 14             	mov    0x14(%ebp),%edx
+    b0ec:	3b 02                	cmp    (%edx),%eax
+    b0ee:	73 32                	jae    0xb122
+    b0f0:	8b 4a 04             	mov    0x4(%edx),%ecx
+    b0f3:	8b 52 08             	mov    0x8(%edx),%edx
+    b0f6:	89 4d ec             	mov    %ecx,-0x14(%ebp)
+    b0f9:	8b 4d ec             	mov    -0x14(%ebp),%ecx
+    b0fc:	89 5d ec             	mov    %ebx,-0x14(%ebp)
+    b0ff:	8b 5d 14             	mov    0x14(%ebp),%ebx
+    b102:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
+    b108:	c7 04 82 ff ff ff ff 	movl   $0xffffffff,(%edx,%eax,4)
+    b10f:	83 c6 01             	add    $0x1,%esi
+    b112:	c7 04 81 ff ff ff ff 	movl   $0xffffffff,(%ecx,%eax,4)
+    b119:	89 f0                	mov    %esi,%eax
+    b11b:	39 33                	cmp    %esi,(%ebx)
+    b11d:	77 e9                	ja     0xb108
+    b11f:	8b 5d ec             	mov    -0x14(%ebp),%ebx
+    b122:	0f b6 45 f0          	movzbl -0x10(%ebp),%eax
+    b126:	83 e0 03             	and    $0x3,%eax
+    b129:	8d 14 00             	lea    (%eax,%eax,1),%edx
+    b12c:	0f b6 47 1c          	movzbl 0x1c(%edi),%eax
+    b130:	83 e0 f9             	and    $0xfffffff9,%eax
+    b133:	09 d0                	or     %edx,%eax
+    b135:	a8 06                	test   $0x6,%al
+    b137:	88 47 1c             	mov    %al,0x1c(%edi)
+    b13a:	0f 84 53 02 00 00    	je     0xb393
+    b140:	8b 55 18             	mov    0x18(%ebp),%edx
+    b143:	85 d2                	test   %edx,%edx
+    b145:	74 49                	je     0xb190
+    b147:	8b 45 08             	mov    0x8(%ebp),%eax
+    b14a:	39 03                	cmp    %eax,(%ebx)
+    b14c:	0f 85 5b 01 00 00    	jne    0xb2ad
+    b152:	8b 53 04             	mov    0x4(%ebx),%edx
+    b155:	8b 4d 08             	mov    0x8(%ebp),%ecx
+    b158:	29 ca                	sub    %ecx,%edx
+    b15a:	89 55 f0             	mov    %edx,-0x10(%ebp)
+    b15d:	89 1c 24             	mov    %ebx,(%esp)
+    b160:	e8 fc ff ff ff       	call   0xb161
+    b165:	b8 00 00 00 00       	mov    $0x0,%eax
+    b16a:	85 c0                	test   %eax,%eax
+    b16c:	74 10                	je     0xb17e
+    b16e:	8b 45 e8             	mov    -0x18(%ebp),%eax
+    b171:	05 88 00 00 00       	add    $0x88,%eax
+    b176:	89 04 24             	mov    %eax,(%esp)
+    b179:	e8 fc ff ff ff       	call   0xb17a
+    b17e:	8b 45 f0             	mov    -0x10(%ebp),%eax
+    b181:	8d 65 f4             	lea    -0xc(%ebp),%esp
+    b184:	5b                   	pop    %ebx
+    b185:	5e                   	pop    %esi
+    b186:	5f                   	pop    %edi
+    b187:	5d                   	pop    %ebp
+    b188:	c2 14 00             	ret    $0x14
+    b18b:	90                   	nop
+    b18c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    b190:	8b 03                	mov    (%ebx),%eax
+    b192:	89 45 f0             	mov    %eax,-0x10(%ebp)
+    b195:	eb c6                	jmp    0xb15d
+    b197:	90                   	nop
+    b198:	89 55 d8             	mov    %edx,-0x28(%ebp)
+    b19b:	89 4d dc             	mov    %ecx,-0x24(%ebp)
+    b19e:	89 3c 24             	mov    %edi,(%esp)
+    b1a1:	e8 fc ff ff ff       	call   0xb1a2
+    b1a6:	0f b6 47 1c          	movzbl 0x1c(%edi),%eax
+    b1aa:	8b 4d dc             	mov    -0x24(%ebp),%ecx
+    b1ad:	8b 55 d8             	mov    -0x28(%ebp),%edx
+    b1b0:	e9 23 fe ff ff       	jmp    0xafd8
+    b1b5:	8d 76 00             	lea    0x0(%esi),%esi
+    b1b8:	8b 4d 14             	mov    0x14(%ebp),%ecx
+    b1bb:	3b 11                	cmp    (%ecx),%edx
+    b1bd:	0f 87 6f 01 00 00    	ja     0xb332
+    b1c3:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
+    b1ca:	e9 e4 fe ff ff       	jmp    0xb0b3
+    b1cf:	90                   	nop
+    b1d0:	b8 08 00 00 00       	mov    $0x8,%eax
+    b1d5:	be 01 00 00 00       	mov    $0x1,%esi
+    b1da:	c7 45 ec 01 00 00 00 	movl   $0x1,-0x14(%ebp)
+    b1e1:	e9 20 fe ff ff       	jmp    0xb006
+    b1e6:	66 90                	xchg   %ax,%ax
+    b1e8:	8d 0c 95 00 00 00 00 	lea    0x0(,%edx,4),%ecx
+    b1ef:	89 4d f0             	mov    %ecx,-0x10(%ebp)
+    b1f2:	89 0c 24             	mov    %ecx,(%esp)
+    b1f5:	89 55 d8             	mov    %edx,-0x28(%ebp)
+    b1f8:	e8 fc ff ff ff       	call   0xb1f9
+    b1fd:	8b 4d 14             	mov    0x14(%ebp),%ecx
+    b200:	85 c0                	test   %eax,%eax
+    b202:	89 41 04             	mov    %eax,0x4(%ecx)
+    b205:	0f 84 20 01 00 00    	je     0xb32b
+    b20b:	8b 45 f0             	mov    -0x10(%ebp),%eax
+    b20e:	89 04 24             	mov    %eax,(%esp)
+    b211:	e8 fc ff ff ff       	call   0xb212
+    b216:	8b 4d 14             	mov    0x14(%ebp),%ecx
+    b219:	8b 55 d8             	mov    -0x28(%ebp),%edx
+    b21c:	85 c0                	test   %eax,%eax
+    b21e:	89 41 08             	mov    %eax,0x8(%ecx)
+    b221:	0f 84 f2 00 00 00    	je     0xb319
+    b227:	8b 45 14             	mov    0x14(%ebp),%eax
+    b22a:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
+    b231:	89 10                	mov    %edx,(%eax)
+    b233:	e9 7b fe ff ff       	jmp    0xb0b3
+    b238:	31 c0                	xor    %eax,%eax
+    b23a:	31 f6                	xor    %esi,%esi
+    b23c:	e9 a8 fe ff ff       	jmp    0xb0e9
+    b241:	c7 45 f0 ff ff ff ff 	movl   $0xffffffff,-0x10(%ebp)
+    b248:	e9 31 ff ff ff       	jmp    0xb17e
+    b24d:	8b 5d 14             	mov    0x14(%ebp),%ebx
+    b250:	8b 77 18             	mov    0x18(%edi),%esi
+    b253:	8b 03                	mov    (%ebx),%eax
+    b255:	83 c6 01             	add    $0x1,%esi
+    b258:	39 f0                	cmp    %esi,%eax
+    b25a:	0f 83 9c fd ff ff    	jae    0xaffc
+    b260:	85 c0                	test   %eax,%eax
+    b262:	89 c6                	mov    %eax,%esi
+    b264:	0f 8f 92 fd ff ff    	jg     0xaffc
+    b26a:	b8 08 00 00 00       	mov    $0x8,%eax
+    b26f:	be 01 00 00 00       	mov    $0x1,%esi
+    b274:	c7 45 ec 01 00 00 00 	movl   $0x1,-0x14(%ebp)
+    b27b:	c7 45 14 00 00 00 00 	movl   $0x0,0x14(%ebp)
+    b282:	e9 7f fd ff ff       	jmp    0xb006
+    b287:	c7 45 f0 fe ff ff ff 	movl   $0xfffffffe,-0x10(%ebp)
+    b28e:	e9 d2 fe ff ff       	jmp    0xb165
+    b293:	8b 5d 08             	mov    0x8(%ebp),%ebx
+    b296:	f7 db                	neg    %ebx
+    b298:	89 5d 0c             	mov    %ebx,0xc(%ebp)
+    b29b:	e9 ed fc ff ff       	jmp    0xaf8d
+    b2a0:	89 ca                	mov    %ecx,%edx
+    b2a2:	2b 55 08             	sub    0x8(%ebp),%edx
+    b2a5:	89 55 0c             	mov    %edx,0xc(%ebp)
+    b2a8:	e9 e0 fc ff ff       	jmp    0xaf8d
+    b2ad:	c7 44 24 0c 22 01 00 	movl   $0x122,0xc(%esp)
     b2b4:	00 
-    b2b5:	c7 04 24 fe 00 00 00 	movl   $0xfe,(%esp)
-    b2bc:	e8 fc ff ff ff       	call   0xb2bd
-    b2c1:	c7 44 24 0c 77 01 00 	movl   $0x177,0xc(%esp)
-    b2c8:	00 
-    b2c9:	c7 44 24 08 15 02 00 	movl   $0x215,0x8(%esp)
-    b2d0:	00 
-    b2d1:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
+    b2b5:	c7 44 24 08 d6 01 00 	movl   $0x1d6,0x8(%esp)
+    b2bc:	00 
+    b2bd:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
+    b2c4:	00 
+    b2c5:	c7 04 24 fe 00 00 00 	movl   $0xfe,(%esp)
+    b2cc:	e8 fc ff ff ff       	call   0xb2cd
+    b2d1:	c7 44 24 0c 77 01 00 	movl   $0x177,0xc(%esp)
     b2d8:	00 
-    b2d9:	c7 04 24 e6 00 00 00 	movl   $0xe6,(%esp)
-    b2e0:	e8 fc ff ff ff       	call   0xb2e1
-    b2e5:	c7 44 24 0c 77 01 00 	movl   $0x177,0xc(%esp)
-    b2ec:	00 
-    b2ed:	c7 44 24 08 13 02 00 	movl   $0x213,0x8(%esp)
-    b2f4:	00 
-    b2f5:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
+    b2d9:	c7 44 24 08 15 02 00 	movl   $0x215,0x8(%esp)
+    b2e0:	00 
+    b2e1:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
+    b2e8:	00 
+    b2e9:	c7 04 24 e6 00 00 00 	movl   $0xe6,(%esp)
+    b2f0:	e8 fc ff ff ff       	call   0xb2f1
+    b2f5:	c7 44 24 0c 77 01 00 	movl   $0x177,0xc(%esp)
     b2fc:	00 
-    b2fd:	c7 04 24 d2 00 00 00 	movl   $0xd2,(%esp)
-    b304:	e8 fc ff ff ff       	call   0xb305
-    b309:	8b 41 04             	mov    0x4(%ecx),%eax
-    b30c:	89 04 24             	mov    %eax,(%esp)
-    b30f:	e8 fc ff ff ff       	call   0xb310
-    b314:	31 c0                	xor    %eax,%eax
-    b316:	e9 fb fd ff ff       	jmp    0xb116
-    b31b:	31 c0                	xor    %eax,%eax
-    b31d:	e9 f4 fd ff ff       	jmp    0xb116
-    b322:	8d 04 95 00 00 00 00 	lea    0x0(,%edx,4),%eax
-    b329:	89 45 f0             	mov    %eax,-0x10(%ebp)
-    b32c:	89 44 24 04          	mov    %eax,0x4(%esp)
-    b330:	8b 41 04             	mov    0x4(%ecx),%eax
-    b333:	89 55 d8             	mov    %edx,-0x28(%ebp)
-    b336:	89 04 24             	mov    %eax,(%esp)
-    b339:	e8 fc ff ff ff       	call   0xb33a
-    b33e:	85 c0                	test   %eax,%eax
-    b340:	89 c1                	mov    %eax,%ecx
-    b342:	74 d7                	je     0xb31b
-    b344:	8b 45 f0             	mov    -0x10(%ebp),%eax
-    b347:	89 4d dc             	mov    %ecx,-0x24(%ebp)
-    b34a:	89 44 24 04          	mov    %eax,0x4(%esp)
-    b34e:	8b 45 14             	mov    0x14(%ebp),%eax
-    b351:	8b 40 08             	mov    0x8(%eax),%eax
-    b354:	89 04 24             	mov    %eax,(%esp)
-    b357:	e8 fc ff ff ff       	call   0xb358
-    b35c:	8b 55 d8             	mov    -0x28(%ebp),%edx
-    b35f:	8b 4d dc             	mov    -0x24(%ebp),%ecx
-    b362:	85 c0                	test   %eax,%eax
-    b364:	89 45 f0             	mov    %eax,-0x10(%ebp)
-    b367:	74 26                	je     0xb38f
-    b369:	8b 45 14             	mov    0x14(%ebp),%eax
-    b36c:	89 48 04             	mov    %ecx,0x4(%eax)
-    b36f:	8b 4d f0             	mov    -0x10(%ebp),%ecx
-    b372:	89 10                	mov    %edx,(%eax)
-    b374:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
-    b37b:	89 48 08             	mov    %ecx,0x8(%eax)
-    b37e:	e9 20 fd ff ff       	jmp    0xb0a3
-    b383:	c7 45 f0 fe ff ff ff 	movl   $0xfffffffe,-0x10(%ebp)
-    b38a:	e9 be fd ff ff       	jmp    0xb14d
-    b38f:	89 0c 24             	mov    %ecx,(%esp)
-    b392:	e8 fc ff ff ff       	call   0xb393
-    b397:	31 c0                	xor    %eax,%eax
-    b399:	e9 78 fd ff ff       	jmp    0xb116
-    b39e:	66 90                	xchg   %ax,%ax
-    b3a0:	55                   	push   %ebp
-    b3a1:	89 e5                	mov    %esp,%ebp
-    b3a3:	57                   	push   %edi
-    b3a4:	89 c7                	mov    %eax,%edi
-    b3a6:	56                   	push   %esi
-    b3a7:	53                   	push   %ebx
-    b3a8:	83 ec 20             	sub    $0x20,%esp
-    b3ab:	8b 5d 0c             	mov    0xc(%ebp),%ebx
-    b3ae:	89 55 ec             	mov    %edx,-0x14(%ebp)
-    b3b1:	85 db                	test   %ebx,%ebx
-    b3b3:	0f 88 bd 00 00 00    	js     0xb476
-    b3b9:	85 c9                	test   %ecx,%ecx
-    b3bb:	0f 88 b5 00 00 00    	js     0xb476
-    b3c1:	8b 45 1c             	mov    0x1c(%ebp),%eax
-    b3c4:	8d 34 0b             	lea    (%ebx,%ecx,1),%esi
-    b3c7:	85 c0                	test   %eax,%eax
-    b3c9:	0f 88 a7 00 00 00    	js     0xb476
-    b3cf:	39 ce                	cmp    %ecx,%esi
-    b3d1:	0f 8c 9f 00 00 00    	jl     0xb476
-    b3d7:	85 db                	test   %ebx,%ebx
-    b3d9:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
-    b3e0:	74 07                	je     0xb3e9
-    b3e2:	85 c9                	test   %ecx,%ecx
-    b3e4:	8b 55 08             	mov    0x8(%ebp),%edx
-    b3e7:	7f 47                	jg     0xb430
-    b3e9:	8b 45 20             	mov    0x20(%ebp),%eax
-    b3ec:	89 f1                	mov    %esi,%ecx
-    b3ee:	89 44 24 10          	mov    %eax,0x10(%esp)
-    b3f2:	8b 45 18             	mov    0x18(%ebp),%eax
-    b3f5:	89 44 24 0c          	mov    %eax,0xc(%esp)
-    b3f9:	8b 45 1c             	mov    0x1c(%ebp),%eax
-    b3fc:	89 44 24 08          	mov    %eax,0x8(%esp)
-    b400:	8b 45 14             	mov    0x14(%ebp),%eax
-    b403:	89 44 24 04          	mov    %eax,0x4(%esp)
-    b407:	8b 45 10             	mov    0x10(%ebp),%eax
-    b40a:	89 04 24             	mov    %eax,(%esp)
-    b40d:	89 f8                	mov    %edi,%eax
-    b40f:	e8 2c fb ff ff       	call   0xaf40
-    b414:	8b 55 f0             	mov    -0x10(%ebp),%edx
-    b417:	83 ec 14             	sub    $0x14,%esp
-    b41a:	89 c3                	mov    %eax,%ebx
-    b41c:	89 14 24             	mov    %edx,(%esp)
-    b41f:	e8 fc ff ff ff       	call   0xb420
-    b424:	8d 65 f4             	lea    -0xc(%ebp),%esp
-    b427:	89 d8                	mov    %ebx,%eax
-    b429:	5b                   	pop    %ebx
-    b42a:	5e                   	pop    %esi
-    b42b:	5f                   	pop    %edi
-    b42c:	5d                   	pop    %ebp
-    b42d:	c2 1c 00             	ret    $0x1c
-    b430:	89 4d e8             	mov    %ecx,-0x18(%ebp)
-    b433:	89 34 24             	mov    %esi,(%esp)
-    b436:	e8 fc ff ff ff       	call   0xb437
-    b43b:	8b 4d e8             	mov    -0x18(%ebp),%ecx
-    b43e:	85 c0                	test   %eax,%eax
-    b440:	89 45 f0             	mov    %eax,-0x10(%ebp)
-    b443:	74 31                	je     0xb476
-    b445:	8b 55 f0             	mov    -0x10(%ebp),%edx
-    b448:	8b 45 ec             	mov    -0x14(%ebp),%eax
-    b44b:	89 4c 24 08          	mov    %ecx,0x8(%esp)
-    b44f:	89 14 24             	mov    %edx,(%esp)
-    b452:	89 44 24 04          	mov    %eax,0x4(%esp)
-    b456:	e8 fc ff ff ff       	call   0xb457
-    b45b:	8b 55 08             	mov    0x8(%ebp),%edx
-    b45e:	89 5c 24 08          	mov    %ebx,0x8(%esp)
-    b462:	89 54 24 04          	mov    %edx,0x4(%esp)
-    b466:	89 04 24             	mov    %eax,(%esp)
-    b469:	e8 fc ff ff ff       	call   0xb46a
-    b46e:	8b 55 f0             	mov    -0x10(%ebp),%edx
-    b471:	e9 73 ff ff ff       	jmp    0xb3e9
-    b476:	bb fe ff ff ff       	mov    $0xfffffffe,%ebx
-    b47b:	eb a7                	jmp    0xb424
-    b47d:	8d 76 00             	lea    0x0(%esi),%esi
-    b480:	55                   	push   %ebp
-    b481:	89 e5                	mov    %esp,%ebp
-    b483:	83 ec 1c             	sub    $0x1c,%esp
-    b486:	8b 45 28             	mov    0x28(%ebp),%eax
-    b489:	8b 4d 10             	mov    0x10(%ebp),%ecx
-    b48c:	8b 55 0c             	mov    0xc(%ebp),%edx
-    b48f:	c7 44 24 18 00 00 00 	movl   $0x0,0x18(%esp)
-    b496:	00 
-    b497:	89 44 24 14          	mov    %eax,0x14(%esp)
-    b49b:	8b 45 24             	mov    0x24(%ebp),%eax
-    b49e:	89 44 24 10          	mov    %eax,0x10(%esp)
-    b4a2:	8b 45 20             	mov    0x20(%ebp),%eax
-    b4a5:	89 44 24 0c          	mov    %eax,0xc(%esp)
-    b4a9:	8b 45 1c             	mov    0x1c(%ebp),%eax
-    b4ac:	89 44 24 08          	mov    %eax,0x8(%esp)
-    b4b0:	8b 45 18             	mov    0x18(%ebp),%eax
-    b4b3:	89 44 24 04          	mov    %eax,0x4(%esp)
-    b4b7:	8b 45 14             	mov    0x14(%ebp),%eax
-    b4ba:	89 04 24             	mov    %eax,(%esp)
-    b4bd:	8b 45 08             	mov    0x8(%ebp),%eax
-    b4c0:	e8 db fe ff ff       	call   0xb3a0
-    b4c5:	83 ec 1c             	sub    $0x1c,%esp
-    b4c8:	c9                   	leave  
-    b4c9:	c3                   	ret    
-    b4ca:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
-    b4d0:	55                   	push   %ebp
-    b4d1:	89 e5                	mov    %esp,%ebp
-    b4d3:	83 ec 1c             	sub    $0x1c,%esp
-    b4d6:	8b 45 24             	mov    0x24(%ebp),%eax
-    b4d9:	8b 4d 10             	mov    0x10(%ebp),%ecx
-    b4dc:	8b 55 0c             	mov    0xc(%ebp),%edx
-    b4df:	c7 44 24 18 01 00 00 	movl   $0x1,0x18(%esp)
-    b4e6:	00 
-    b4e7:	89 44 24 14          	mov    %eax,0x14(%esp)
-    b4eb:	8b 45 20             	mov    0x20(%ebp),%eax
-    b4ee:	c7 44 24 0c 00 00 00 	movl   $0x0,0xc(%esp)
-    b4f5:	00 
-    b4f6:	89 44 24 10          	mov    %eax,0x10(%esp)
-    b4fa:	8b 45 1c             	mov    0x1c(%ebp),%eax
-    b4fd:	89 44 24 08          	mov    %eax,0x8(%esp)
-    b501:	8b 45 18             	mov    0x18(%ebp),%eax
-    b504:	89 44 24 04          	mov    %eax,0x4(%esp)
-    b508:	8b 45 14             	mov    0x14(%ebp),%eax
-    b50b:	89 04 24             	mov    %eax,(%esp)
-    b50e:	8b 45 08             	mov    0x8(%ebp),%eax
-    b511:	e8 8a fe ff ff       	call   0xb3a0
-    b516:	83 ec 1c             	sub    $0x1c,%esp
-    b519:	c9                   	leave  
-    b51a:	c3                   	ret    
-    b51b:	90                   	nop
-    b51c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    b520:	55                   	push   %ebp
-    b521:	89 e5                	mov    %esp,%ebp
-    b523:	83 ec 14             	sub    $0x14,%esp
-    b526:	8b 45 1c             	mov    0x1c(%ebp),%eax
-    b529:	8b 4d 10             	mov    0x10(%ebp),%ecx
-    b52c:	8b 55 0c             	mov    0xc(%ebp),%edx
-    b52f:	c7 44 24 10 00 00 00 	movl   $0x0,0x10(%esp)
-    b536:	00 
-    b537:	89 44 24 0c          	mov    %eax,0xc(%esp)
-    b53b:	8b 45 18             	mov    0x18(%ebp),%eax
-    b53e:	89 4c 24 08          	mov    %ecx,0x8(%esp)
-    b542:	89 44 24 04          	mov    %eax,0x4(%esp)
-    b546:	8b 45 14             	mov    0x14(%ebp),%eax
-    b549:	89 04 24             	mov    %eax,(%esp)
-    b54c:	8b 45 08             	mov    0x8(%ebp),%eax
-    b54f:	e8 ec f9 ff ff       	call   0xaf40
-    b554:	83 ec 14             	sub    $0x14,%esp
-    b557:	c9                   	leave  
-    b558:	c3                   	ret    
-    b559:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
-    b560:	55                   	push   %ebp
-    b561:	89 e5                	mov    %esp,%ebp
-    b563:	83 ec 14             	sub    $0x14,%esp
-    b566:	8b 45 18             	mov    0x18(%ebp),%eax
-    b569:	8b 4d 10             	mov    0x10(%ebp),%ecx
-    b56c:	8b 55 0c             	mov    0xc(%ebp),%edx
-    b56f:	c7 44 24 10 01 00 00 	movl   $0x1,0x10(%esp)
-    b576:	00 
-    b577:	89 44 24 0c          	mov    %eax,0xc(%esp)
-    b57b:	8b 45 14             	mov    0x14(%ebp),%eax
-    b57e:	89 4c 24 08          	mov    %ecx,0x8(%esp)
-    b582:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
-    b589:	00 
-    b58a:	89 04 24             	mov    %eax,(%esp)
-    b58d:	8b 45 08             	mov    0x8(%ebp),%eax
-    b590:	e8 ab f9 ff ff       	call   0xaf40
-    b595:	83 ec 14             	sub    $0x14,%esp
-    b598:	c9                   	leave  
-    b599:	c3                   	ret    
-    b59a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
-    b5a0:	55                   	push   %ebp
-    b5a1:	89 e5                	mov    %esp,%ebp
-    b5a3:	57                   	push   %edi
-    b5a4:	56                   	push   %esi
-    b5a5:	53                   	push   %ebx
-    b5a6:	89 d3                	mov    %edx,%ebx
-    b5a8:	81 ec 08 01 00 00    	sub    $0x108,%esp
-    b5ae:	8b 75 08             	mov    0x8(%ebp),%esi
-    b5b1:	89 85 70 ff ff ff    	mov    %eax,-0x90(%ebp)
-    b5b7:	8b 45 08             	mov    0x8(%ebp),%eax
-    b5ba:	8b 7d 08             	mov    0x8(%ebp),%edi
-    b5bd:	89 8d 78 ff ff ff    	mov    %ecx,-0x88(%ebp)
-    b5c3:	81 e6 00 00 00 01    	and    $0x1000000,%esi
-    b5c9:	83 e0 10             	and    $0x10,%eax
-    b5cc:	83 e7 20             	and    $0x20,%edi
-    b5cf:	89 45 88             	mov    %eax,-0x78(%ebp)
-    b5d2:	8b 8d 78 ff ff ff    	mov    -0x88(%ebp),%ecx
-    b5d8:	8b 13                	mov    (%ebx),%edx
-    b5da:	0f b6 41 04          	movzbl 0x4(%ecx),%eax
-    b5de:	3c 24                	cmp    $0x24,%al
-    b5e0:	76 16                	jbe    0xb5f8
-    b5e2:	31 f6                	xor    %esi,%esi
-    b5e4:	81 c4 08 01 00 00    	add    $0x108,%esp
-    b5ea:	89 f0                	mov    %esi,%eax
-    b5ec:	5b                   	pop    %ebx
-    b5ed:	5e                   	pop    %esi
-    b5ee:	5f                   	pop    %edi
-    b5ef:	5d                   	pop    %ebp
-    b5f0:	c3                   	ret    
-    b5f1:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
-    b5f8:	0f b6 c8             	movzbl %al,%ecx
-    b5fb:	ff 24 8d 84 03 00 00 	jmp    *0x384(,%ecx,4)
-    b602:	85 f6                	test   %esi,%esi
-    b604:	0f 85 24 08 00 00    	jne    0xbe2e
-    b60a:	85 ff                	test   %edi,%edi
-    b60c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    b610:	0f 85 04 1e 00 00    	jne    0xd41a
-    b616:	83 7d 88 00          	cmpl   $0x0,-0x78(%ebp)
-    b61a:	0f 84 ea 1d 00 00    	je     0xd40a
-    b620:	8b 4d 08             	mov    0x8(%ebp),%ecx
-    b623:	8b 95 70 ff ff ff    	mov    -0x90(%ebp),%edx
-    b629:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
-    b62f:	e8 cc 7e ff ff       	call   0x3500
-    b634:	eb 9c                	jmp    0xb5d2
-    b636:	89 55 88             	mov    %edx,-0x78(%ebp)
-    b639:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
-    b63f:	8b 02                	mov    (%edx),%eax
-    b641:	a9 0f 03 00 00       	test   $0x30f,%eax
-    b646:	74 7c                	je     0xb6c4
-    b648:	8b 4d 88             	mov    -0x78(%ebp),%ecx
-    b64b:	0f b6 51 58          	movzbl 0x58(%ecx),%edx
-    b64f:	f6 c2 10             	test   $0x10,%dl
-    b652:	75 70                	jne    0xb6c4
-    b654:	a1 00 00 00 00       	mov    0x0,%eax
-    b659:	83 ca 10             	or     $0x10,%edx
-    b65c:	89 ce                	mov    %ecx,%esi
-    b65e:	88 51 58             	mov    %dl,0x58(%ecx)
-    b661:	8b 1d 00 00 00 00    	mov    0x0,%ebx
-    b667:	31 d2                	xor    %edx,%edx
-    b669:	bf 01 00 00 00       	mov    $0x1,%edi
-    b66e:	65 8b 00             	mov    %gs:(%eax),%eax
-    b671:	89 45 84             	mov    %eax,-0x7c(%ebp)
-    b674:	65 8b 03             	mov    %gs:(%ebx),%eax
-    b677:	31 c9                	xor    %ecx,%ecx
-    b679:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
-    b680:	85 c0                	test   %eax,%eax
-    b682:	0f 84 70 1d 00 00    	je     0xd3f8
-    b688:	8d 1c 0a             	lea    (%edx,%ecx,1),%ebx
-    b68b:	f6 04 58 08          	testb  $0x8,(%eax,%ebx,2)
-    b68f:	75 05                	jne    0xb696
-    b691:	83 fb 5f             	cmp    $0x5f,%ebx
-    b694:	75 07                	jne    0xb69d
-    b696:	89 fb                	mov    %edi,%ebx
-    b698:	d3 e3                	shl    %cl,%ebx
-    b69a:	09 5e 60             	or     %ebx,0x60(%esi)
-    b69d:	83 c1 01             	add    $0x1,%ecx
-    b6a0:	83 f9 20             	cmp    $0x20,%ecx
-    b6a3:	75 db                	jne    0xb680
-    b6a5:	83 c2 20             	add    $0x20,%edx
-    b6a8:	83 c6 04             	add    $0x4,%esi
-    b6ab:	81 fa 00 01 00 00    	cmp    $0x100,%edx
-    b6b1:	75 c4                	jne    0xb677
-    b6b3:	8b 35 00 00 00 00    	mov    0x0,%esi
-    b6b9:	8b bd 78 ff ff ff    	mov    -0x88(%ebp),%edi
-    b6bf:	65 89 06             	mov    %eax,%gs:(%esi)
-    b6c2:	8b 07                	mov    (%edi),%eax
-    b6c4:	3d 00 01 00 00       	cmp    $0x100,%eax
-    b6c9:	0f 94 c2             	sete   %dl
-    b6cc:	3d 00 02 00 00       	cmp    $0x200,%eax
-    b6d1:	0f 85 05 0c 00 00    	jne    0xc2dc
-    b6d7:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
-    b6dd:	31 d2                	xor    %edx,%edx
-    b6df:	31 c9                	xor    %ecx,%ecx
-    b6e1:	c7 00 05 00 00 00    	movl   $0x5,(%eax)
-    b6e7:	89 04 24             	mov    %eax,(%esp)
-    b6ea:	8b 45 88             	mov    -0x78(%ebp),%eax
-    b6ed:	e8 ae 53 ff ff       	call   0xaa0
-    b6f2:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
-    b6f8:	c7 02 0a 00 00 00    	movl   $0xa,(%edx)
-    b6fe:	89 c3                	mov    %eax,%ebx
-    b700:	8b bd 78 ff ff ff    	mov    -0x88(%ebp),%edi
-    b706:	31 c9                	xor    %ecx,%ecx
-    b708:	31 d2                	xor    %edx,%edx
-    b70a:	89 3c 24             	mov    %edi,(%esp)
-    b70d:	8b 45 88             	mov    -0x78(%ebp),%eax
-    b710:	e8 8b 53 ff ff       	call   0xaa0
-    b715:	89 da                	mov    %ebx,%edx
-    b717:	c7 04 24 0a 00 00 00 	movl   $0xa,(%esp)
-    b71e:	89 c7                	mov    %eax,%edi
-    b720:	89 c1                	mov    %eax,%ecx
-    b722:	8b 45 88             	mov    -0x78(%ebp),%eax
-    b725:	e8 d6 54 ff ff       	call   0xc00
-    b72a:	85 ff                	test   %edi,%edi
-    b72c:	89 c6                	mov    %eax,%esi
-    b72e:	0f 84 e6 0c 00 00    	je     0xc41a
-    b734:	85 db                	test   %ebx,%ebx
-    b736:	0f 84 de 0c 00 00    	je     0xc41a
-    b73c:	85 c0                	test   %eax,%eax
-    b73e:	66 90                	xchg   %ax,%ax
-    b740:	0f 84 d4 0c 00 00    	je     0xc41a
-    b746:	8b 4d 08             	mov    0x8(%ebp),%ecx
-    b749:	8b 95 70 ff ff ff    	mov    -0x90(%ebp),%edx
-    b74f:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
-    b755:	e8 a6 7d ff ff       	call   0x3500
-    b75a:	e9 85 fe ff ff       	jmp    0xb5e4
-    b75f:	89 55 88             	mov    %edx,-0x78(%ebp)
-    b762:	8b 15 00 00 00 00    	mov    0x0,%edx
-    b768:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
-    b76f:	65 8b 02             	mov    %gs:(%edx),%eax
-    b772:	8b 00                	mov    (%eax),%eax
-    b774:	8b 48 68             	mov    0x68(%eax),%ecx
-    b777:	89 8d 4c ff ff ff    	mov    %ecx,-0xb4(%ebp)
-    b77d:	8b 58 28             	mov    0x28(%eax),%ebx
-    b780:	85 db                	test   %ebx,%ebx
-    b782:	89 9d 58 ff ff ff    	mov    %ebx,-0xa8(%ebp)
-    b788:	0f 85 69 07 00 00    	jne    0xbef7
-    b78e:	c7 85 3c ff ff ff 00 	movl   $0x0,-0xc4(%ebp)
-    b795:	00 00 00 
-    b798:	c7 85 44 ff ff ff 00 	movl   $0x0,-0xbc(%ebp)
-    b79f:	00 00 00 
-    b7a2:	c7 85 40 ff ff ff 00 	movl   $0x0,-0xc0(%ebp)
-    b7a9:	00 00 00 
-    b7ac:	c7 85 54 ff ff ff 00 	movl   $0x0,-0xac(%ebp)
-    b7b3:	00 00 00 
-    b7b6:	c7 44 24 04 01 00 00 	movl   $0x1,0x4(%esp)
-    b7bd:	00 
-    b7be:	c7 04 24 20 00 00 00 	movl   $0x20,(%esp)
-    b7c5:	e8 fc ff ff ff       	call   0xb7c6
-    b7ca:	89 85 64 ff ff ff    	mov    %eax,-0x9c(%ebp)
-    b7d0:	c7 44 24 04 01 00 00 	movl   $0x1,0x4(%esp)
-    b7d7:	00 
-    b7d8:	c7 04 24 30 00 00 00 	movl   $0x30,(%esp)
-    b7df:	e8 fc ff ff ff       	call   0xb7e0
-    b7e4:	85 c0                	test   %eax,%eax
-    b7e6:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
-    b7ec:	0f 84 47 0c 00 00    	je     0xc439
-    b7f2:	83 bd 64 ff ff ff 00 	cmpl   $0x0,-0x9c(%ebp)
-    b7f9:	0f 84 3a 0c 00 00    	je     0xc439
-    b7ff:	8b 4d 08             	mov    0x8(%ebp),%ecx
-    b802:	8b 95 70 ff ff ff    	mov    -0x90(%ebp),%edx
-    b808:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
-    b80e:	e8 4d 49 ff ff       	call   0x160
-    b813:	8b bd 78 ff ff ff    	mov    -0x88(%ebp),%edi
-    b819:	89 85 48 ff ff ff    	mov    %eax,-0xb8(%ebp)
-    b81f:	0f b6 47 04          	movzbl 0x4(%edi),%eax
-    b823:	3c 02                	cmp    $0x2,%al
-    b825:	0f 84 ba 0b 00 00    	je     0xc3e5
-    b82b:	3c 19                	cmp    $0x19,%al
-    b82d:	c7 85 14 ff ff ff 00 	movl   $0x0,-0xec(%ebp)
-    b834:	00 00 00 
-    b837:	0f 84 48 0b 00 00    	je     0xc385
-    b83d:	3c 15                	cmp    $0x15,%al
-    b83f:	0f 84 e5 0b 00 00    	je     0xc42a
-    b845:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
-    b84b:	b8 01 00 00 00       	mov    $0x1,%eax
-    b850:	c7 85 20 ff ff ff 00 	movl   $0x0,-0xe0(%ebp)
-    b857:	00 00 00 
-    b85a:	8d 5d f2             	lea    -0xe(%ebp),%ebx
-    b85d:	c7 85 28 ff ff ff 00 	movl   $0x0,-0xd8(%ebp)
-    b864:	00 00 00 
-    b867:	c7 85 2c ff ff ff 00 	movl   $0x0,-0xd4(%ebp)
-    b86e:	00 00 00 
-    b871:	83 e9 02             	sub    $0x2,%ecx
-    b874:	c7 85 24 ff ff ff 00 	movl   $0x0,-0xdc(%ebp)
-    b87b:	00 00 00 
-    b87e:	89 8d 38 ff ff ff    	mov    %ecx,-0xc8(%ebp)
-    b884:	8d 75 ac             	lea    -0x54(%ebp),%esi
-    b887:	89 75 e0             	mov    %esi,-0x20(%ebp)
-    b88a:	89 44 24 0c          	mov    %eax,0xc(%esp)
-    b88e:	8b 7d 08             	mov    0x8(%ebp),%edi
-    b891:	89 7c 24 08          	mov    %edi,0x8(%esp)
-    b895:	8b 45 88             	mov    -0x78(%ebp),%eax
-    b898:	89 44 24 04          	mov    %eax,0x4(%esp)
-    b89c:	8b 95 48 ff ff ff    	mov    -0xb8(%ebp),%edx
-    b8a2:	8d 45 dc             	lea    -0x24(%ebp),%eax
-    b8a5:	89 14 24             	mov    %edx,(%esp)
-    b8a8:	8b 8d 78 ff ff ff    	mov    -0x88(%ebp),%ecx
-    b8ae:	8b 95 70 ff ff ff    	mov    -0x90(%ebp),%edx
-    b8b4:	e8 17 4e ff ff       	call   0x6d0
-    b8b9:	85 c0                	test   %eax,%eax
-    b8bb:	0f 85 f0 14 00 00    	jne    0xcdb1
-    b8c1:	8b 4d 08             	mov    0x8(%ebp),%ecx
-    b8c4:	8b 95 70 ff ff ff    	mov    -0x90(%ebp),%edx
-    b8ca:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
-    b8d0:	e8 8b 48 ff ff       	call   0x160
-    b8d5:	89 85 48 ff ff ff    	mov    %eax,-0xb8(%ebp)
-    b8db:	8b 45 dc             	mov    -0x24(%ebp),%eax
-    b8de:	83 f8 02             	cmp    $0x2,%eax
-    b8e1:	74 21                	je     0xb904
-    b8e3:	83 f8 04             	cmp    $0x4,%eax
-    b8e6:	74 1c                	je     0xb904
-    b8e8:	8b b5 78 ff ff ff    	mov    -0x88(%ebp),%esi
-    b8ee:	0f b6 56 04          	movzbl 0x4(%esi),%edx
-    b8f2:	80 fa 02             	cmp    $0x2,%dl
-    b8f5:	0f 84 a8 14 00 00    	je     0xcda3
-    b8fb:	80 fa 16             	cmp    $0x16,%dl
-    b8fe:	0f 84 d7 14 00 00    	je     0xcddb
-    b904:	83 f8 04             	cmp    $0x4,%eax
-    b907:	0f 86 db 05 00 00    	jbe    0xbee8
-    b90d:	c7 44 24 0c 84 01 00 	movl   $0x184,0xc(%esp)
-    b914:	00 
-    b915:	c7 44 24 08 a2 0c 00 	movl   $0xca2,0x8(%esp)
-    b91c:	00 
-    b91d:	c7 44 24 04 13 00 00 	movl   $0x13,0x4(%esp)
+    b2fd:	c7 44 24 08 13 02 00 	movl   $0x213,0x8(%esp)
+    b304:	00 
+    b305:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
+    b30c:	00 
+    b30d:	c7 04 24 d2 00 00 00 	movl   $0xd2,(%esp)
+    b314:	e8 fc ff ff ff       	call   0xb315
+    b319:	8b 41 04             	mov    0x4(%ecx),%eax
+    b31c:	89 04 24             	mov    %eax,(%esp)
+    b31f:	e8 fc ff ff ff       	call   0xb320
+    b324:	31 c0                	xor    %eax,%eax
+    b326:	e9 fb fd ff ff       	jmp    0xb126
+    b32b:	31 c0                	xor    %eax,%eax
+    b32d:	e9 f4 fd ff ff       	jmp    0xb126
+    b332:	8d 04 95 00 00 00 00 	lea    0x0(,%edx,4),%eax
+    b339:	89 45 f0             	mov    %eax,-0x10(%ebp)
+    b33c:	89 44 24 04          	mov    %eax,0x4(%esp)
+    b340:	8b 41 04             	mov    0x4(%ecx),%eax
+    b343:	89 55 d8             	mov    %edx,-0x28(%ebp)
+    b346:	89 04 24             	mov    %eax,(%esp)
+    b349:	e8 fc ff ff ff       	call   0xb34a
+    b34e:	85 c0                	test   %eax,%eax
+    b350:	89 c1                	mov    %eax,%ecx
+    b352:	74 d7                	je     0xb32b
+    b354:	8b 45 f0             	mov    -0x10(%ebp),%eax
+    b357:	89 4d dc             	mov    %ecx,-0x24(%ebp)
+    b35a:	89 44 24 04          	mov    %eax,0x4(%esp)
+    b35e:	8b 45 14             	mov    0x14(%ebp),%eax
+    b361:	8b 40 08             	mov    0x8(%eax),%eax
+    b364:	89 04 24             	mov    %eax,(%esp)
+    b367:	e8 fc ff ff ff       	call   0xb368
+    b36c:	8b 55 d8             	mov    -0x28(%ebp),%edx
+    b36f:	8b 4d dc             	mov    -0x24(%ebp),%ecx
+    b372:	85 c0                	test   %eax,%eax
+    b374:	89 45 f0             	mov    %eax,-0x10(%ebp)
+    b377:	74 26                	je     0xb39f
+    b379:	8b 45 14             	mov    0x14(%ebp),%eax
+    b37c:	89 48 04             	mov    %ecx,0x4(%eax)
+    b37f:	8b 4d f0             	mov    -0x10(%ebp),%ecx
+    b382:	89 10                	mov    %edx,(%eax)
+    b384:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
+    b38b:	89 48 08             	mov    %ecx,0x8(%eax)
+    b38e:	e9 20 fd ff ff       	jmp    0xb0b3
+    b393:	c7 45 f0 fe ff ff ff 	movl   $0xfffffffe,-0x10(%ebp)
+    b39a:	e9 be fd ff ff       	jmp    0xb15d
+    b39f:	89 0c 24             	mov    %ecx,(%esp)
+    b3a2:	e8 fc ff ff ff       	call   0xb3a3
+    b3a7:	31 c0                	xor    %eax,%eax
+    b3a9:	e9 78 fd ff ff       	jmp    0xb126
+    b3ae:	66 90                	xchg   %ax,%ax
+    b3b0:	55                   	push   %ebp
+    b3b1:	89 e5                	mov    %esp,%ebp
+    b3b3:	57                   	push   %edi
+    b3b4:	89 c7                	mov    %eax,%edi
+    b3b6:	56                   	push   %esi
+    b3b7:	53                   	push   %ebx
+    b3b8:	83 ec 20             	sub    $0x20,%esp
+    b3bb:	8b 5d 0c             	mov    0xc(%ebp),%ebx
+    b3be:	89 55 ec             	mov    %edx,-0x14(%ebp)
+    b3c1:	85 db                	test   %ebx,%ebx
+    b3c3:	0f 88 bd 00 00 00    	js     0xb486
+    b3c9:	85 c9                	test   %ecx,%ecx
+    b3cb:	0f 88 b5 00 00 00    	js     0xb486
+    b3d1:	8b 45 1c             	mov    0x1c(%ebp),%eax
+    b3d4:	8d 34 0b             	lea    (%ebx,%ecx,1),%esi
+    b3d7:	85 c0                	test   %eax,%eax
+    b3d9:	0f 88 a7 00 00 00    	js     0xb486
+    b3df:	39 ce                	cmp    %ecx,%esi
+    b3e1:	0f 8c 9f 00 00 00    	jl     0xb486
+    b3e7:	85 db                	test   %ebx,%ebx
+    b3e9:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
+    b3f0:	74 07                	je     0xb3f9
+    b3f2:	85 c9                	test   %ecx,%ecx
+    b3f4:	8b 55 08             	mov    0x8(%ebp),%edx
+    b3f7:	7f 47                	jg     0xb440
+    b3f9:	8b 45 20             	mov    0x20(%ebp),%eax
+    b3fc:	89 f1                	mov    %esi,%ecx
+    b3fe:	89 44 24 10          	mov    %eax,0x10(%esp)
+    b402:	8b 45 18             	mov    0x18(%ebp),%eax
+    b405:	89 44 24 0c          	mov    %eax,0xc(%esp)
+    b409:	8b 45 1c             	mov    0x1c(%ebp),%eax
+    b40c:	89 44 24 08          	mov    %eax,0x8(%esp)
+    b410:	8b 45 14             	mov    0x14(%ebp),%eax
+    b413:	89 44 24 04          	mov    %eax,0x4(%esp)
+    b417:	8b 45 10             	mov    0x10(%ebp),%eax
+    b41a:	89 04 24             	mov    %eax,(%esp)
+    b41d:	89 f8                	mov    %edi,%eax
+    b41f:	e8 2c fb ff ff       	call   0xaf50
+    b424:	8b 55 f0             	mov    -0x10(%ebp),%edx
+    b427:	83 ec 14             	sub    $0x14,%esp
+    b42a:	89 c3                	mov    %eax,%ebx
+    b42c:	89 14 24             	mov    %edx,(%esp)
+    b42f:	e8 fc ff ff ff       	call   0xb430
+    b434:	8d 65 f4             	lea    -0xc(%ebp),%esp
+    b437:	89 d8                	mov    %ebx,%eax
+    b439:	5b                   	pop    %ebx
+    b43a:	5e                   	pop    %esi
+    b43b:	5f                   	pop    %edi
+    b43c:	5d                   	pop    %ebp
+    b43d:	c2 1c 00             	ret    $0x1c
+    b440:	89 4d e8             	mov    %ecx,-0x18(%ebp)
+    b443:	89 34 24             	mov    %esi,(%esp)
+    b446:	e8 fc ff ff ff       	call   0xb447
+    b44b:	8b 4d e8             	mov    -0x18(%ebp),%ecx
+    b44e:	85 c0                	test   %eax,%eax
+    b450:	89 45 f0             	mov    %eax,-0x10(%ebp)
+    b453:	74 31                	je     0xb486
+    b455:	8b 55 f0             	mov    -0x10(%ebp),%edx
+    b458:	8b 45 ec             	mov    -0x14(%ebp),%eax
+    b45b:	89 4c 24 08          	mov    %ecx,0x8(%esp)
+    b45f:	89 14 24             	mov    %edx,(%esp)
+    b462:	89 44 24 04          	mov    %eax,0x4(%esp)
+    b466:	e8 fc ff ff ff       	call   0xb467
+    b46b:	8b 55 08             	mov    0x8(%ebp),%edx
+    b46e:	89 5c 24 08          	mov    %ebx,0x8(%esp)
+    b472:	89 54 24 04          	mov    %edx,0x4(%esp)
+    b476:	89 04 24             	mov    %eax,(%esp)
+    b479:	e8 fc ff ff ff       	call   0xb47a
+    b47e:	8b 55 f0             	mov    -0x10(%ebp),%edx
+    b481:	e9 73 ff ff ff       	jmp    0xb3f9
+    b486:	bb fe ff ff ff       	mov    $0xfffffffe,%ebx
+    b48b:	eb a7                	jmp    0xb434
+    b48d:	8d 76 00             	lea    0x0(%esi),%esi
+    b490:	55                   	push   %ebp
+    b491:	89 e5                	mov    %esp,%ebp
+    b493:	83 ec 1c             	sub    $0x1c,%esp
+    b496:	8b 45 28             	mov    0x28(%ebp),%eax
+    b499:	8b 4d 10             	mov    0x10(%ebp),%ecx
+    b49c:	8b 55 0c             	mov    0xc(%ebp),%edx
+    b49f:	c7 44 24 18 00 00 00 	movl   $0x0,0x18(%esp)
+    b4a6:	00 
+    b4a7:	89 44 24 14          	mov    %eax,0x14(%esp)
+    b4ab:	8b 45 24             	mov    0x24(%ebp),%eax
+    b4ae:	89 44 24 10          	mov    %eax,0x10(%esp)
+    b4b2:	8b 45 20             	mov    0x20(%ebp),%eax
+    b4b5:	89 44 24 0c          	mov    %eax,0xc(%esp)
+    b4b9:	8b 45 1c             	mov    0x1c(%ebp),%eax
+    b4bc:	89 44 24 08          	mov    %eax,0x8(%esp)
+    b4c0:	8b 45 18             	mov    0x18(%ebp),%eax
+    b4c3:	89 44 24 04          	mov    %eax,0x4(%esp)
+    b4c7:	8b 45 14             	mov    0x14(%ebp),%eax
+    b4ca:	89 04 24             	mov    %eax,(%esp)
+    b4cd:	8b 45 08             	mov    0x8(%ebp),%eax
+    b4d0:	e8 db fe ff ff       	call   0xb3b0
+    b4d5:	83 ec 1c             	sub    $0x1c,%esp
+    b4d8:	c9                   	leave  
+    b4d9:	c3                   	ret    
+    b4da:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
+    b4e0:	55                   	push   %ebp
+    b4e1:	89 e5                	mov    %esp,%ebp
+    b4e3:	83 ec 1c             	sub    $0x1c,%esp
+    b4e6:	8b 45 24             	mov    0x24(%ebp),%eax
+    b4e9:	8b 4d 10             	mov    0x10(%ebp),%ecx
+    b4ec:	8b 55 0c             	mov    0xc(%ebp),%edx
+    b4ef:	c7 44 24 18 01 00 00 	movl   $0x1,0x18(%esp)
+    b4f6:	00 
+    b4f7:	89 44 24 14          	mov    %eax,0x14(%esp)
+    b4fb:	8b 45 20             	mov    0x20(%ebp),%eax
+    b4fe:	c7 44 24 0c 00 00 00 	movl   $0x0,0xc(%esp)
+    b505:	00 
+    b506:	89 44 24 10          	mov    %eax,0x10(%esp)
+    b50a:	8b 45 1c             	mov    0x1c(%ebp),%eax
+    b50d:	89 44 24 08          	mov    %eax,0x8(%esp)
+    b511:	8b 45 18             	mov    0x18(%ebp),%eax
+    b514:	89 44 24 04          	mov    %eax,0x4(%esp)
+    b518:	8b 45 14             	mov    0x14(%ebp),%eax
+    b51b:	89 04 24             	mov    %eax,(%esp)
+    b51e:	8b 45 08             	mov    0x8(%ebp),%eax
+    b521:	e8 8a fe ff ff       	call   0xb3b0
+    b526:	83 ec 1c             	sub    $0x1c,%esp
+    b529:	c9                   	leave  
+    b52a:	c3                   	ret    
+    b52b:	90                   	nop
+    b52c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    b530:	55                   	push   %ebp
+    b531:	89 e5                	mov    %esp,%ebp
+    b533:	83 ec 14             	sub    $0x14,%esp
+    b536:	8b 45 1c             	mov    0x1c(%ebp),%eax
+    b539:	8b 4d 10             	mov    0x10(%ebp),%ecx
+    b53c:	8b 55 0c             	mov    0xc(%ebp),%edx
+    b53f:	c7 44 24 10 00 00 00 	movl   $0x0,0x10(%esp)
+    b546:	00 
+    b547:	89 44 24 0c          	mov    %eax,0xc(%esp)
+    b54b:	8b 45 18             	mov    0x18(%ebp),%eax
+    b54e:	89 4c 24 08          	mov    %ecx,0x8(%esp)
+    b552:	89 44 24 04          	mov    %eax,0x4(%esp)
+    b556:	8b 45 14             	mov    0x14(%ebp),%eax
+    b559:	89 04 24             	mov    %eax,(%esp)
+    b55c:	8b 45 08             	mov    0x8(%ebp),%eax
+    b55f:	e8 ec f9 ff ff       	call   0xaf50
+    b564:	83 ec 14             	sub    $0x14,%esp
+    b567:	c9                   	leave  
+    b568:	c3                   	ret    
+    b569:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
+    b570:	55                   	push   %ebp
+    b571:	89 e5                	mov    %esp,%ebp
+    b573:	83 ec 14             	sub    $0x14,%esp
+    b576:	8b 45 18             	mov    0x18(%ebp),%eax
+    b579:	8b 4d 10             	mov    0x10(%ebp),%ecx
+    b57c:	8b 55 0c             	mov    0xc(%ebp),%edx
+    b57f:	c7 44 24 10 01 00 00 	movl   $0x1,0x10(%esp)
+    b586:	00 
+    b587:	89 44 24 0c          	mov    %eax,0xc(%esp)
+    b58b:	8b 45 14             	mov    0x14(%ebp),%eax
+    b58e:	89 4c 24 08          	mov    %ecx,0x8(%esp)
+    b592:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
+    b599:	00 
+    b59a:	89 04 24             	mov    %eax,(%esp)
+    b59d:	8b 45 08             	mov    0x8(%ebp),%eax
+    b5a0:	e8 ab f9 ff ff       	call   0xaf50
+    b5a5:	83 ec 14             	sub    $0x14,%esp
+    b5a8:	c9                   	leave  
+    b5a9:	c3                   	ret    
+    b5aa:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
+    b5b0:	55                   	push   %ebp
+    b5b1:	89 e5                	mov    %esp,%ebp
+    b5b3:	57                   	push   %edi
+    b5b4:	56                   	push   %esi
+    b5b5:	53                   	push   %ebx
+    b5b6:	89 d3                	mov    %edx,%ebx
+    b5b8:	81 ec 08 01 00 00    	sub    $0x108,%esp
+    b5be:	8b 75 08             	mov    0x8(%ebp),%esi
+    b5c1:	89 85 70 ff ff ff    	mov    %eax,-0x90(%ebp)
+    b5c7:	8b 45 08             	mov    0x8(%ebp),%eax
+    b5ca:	8b 7d 08             	mov    0x8(%ebp),%edi
+    b5cd:	89 8d 78 ff ff ff    	mov    %ecx,-0x88(%ebp)
+    b5d3:	81 e6 00 00 00 01    	and    $0x1000000,%esi
+    b5d9:	83 e0 10             	and    $0x10,%eax
+    b5dc:	83 e7 20             	and    $0x20,%edi
+    b5df:	89 45 88             	mov    %eax,-0x78(%ebp)
+    b5e2:	8b 8d 78 ff ff ff    	mov    -0x88(%ebp),%ecx
+    b5e8:	8b 13                	mov    (%ebx),%edx
+    b5ea:	0f b6 41 04          	movzbl 0x4(%ecx),%eax
+    b5ee:	3c 24                	cmp    $0x24,%al
+    b5f0:	76 16                	jbe    0xb608
+    b5f2:	31 f6                	xor    %esi,%esi
+    b5f4:	81 c4 08 01 00 00    	add    $0x108,%esp
+    b5fa:	89 f0                	mov    %esi,%eax
+    b5fc:	5b                   	pop    %ebx
+    b5fd:	5e                   	pop    %esi
+    b5fe:	5f                   	pop    %edi
+    b5ff:	5d                   	pop    %ebp
+    b600:	c3                   	ret    
+    b601:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
+    b608:	0f b6 c8             	movzbl %al,%ecx
+    b60b:	ff 24 8d 84 03 00 00 	jmp    *0x384(,%ecx,4)
+    b612:	85 f6                	test   %esi,%esi
+    b614:	0f 85 24 08 00 00    	jne    0xbe3e
+    b61a:	85 ff                	test   %edi,%edi
+    b61c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    b620:	0f 85 04 1e 00 00    	jne    0xd42a
+    b626:	83 7d 88 00          	cmpl   $0x0,-0x78(%ebp)
+    b62a:	0f 84 ea 1d 00 00    	je     0xd41a
+    b630:	8b 4d 08             	mov    0x8(%ebp),%ecx
+    b633:	8b 95 70 ff ff ff    	mov    -0x90(%ebp),%edx
+    b639:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
+    b63f:	e8 bc 7e ff ff       	call   0x3500
+    b644:	eb 9c                	jmp    0xb5e2
+    b646:	89 55 88             	mov    %edx,-0x78(%ebp)
+    b649:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
+    b64f:	8b 02                	mov    (%edx),%eax
+    b651:	a9 0f 03 00 00       	test   $0x30f,%eax
+    b656:	74 7c                	je     0xb6d4
+    b658:	8b 4d 88             	mov    -0x78(%ebp),%ecx
+    b65b:	0f b6 51 58          	movzbl 0x58(%ecx),%edx
+    b65f:	f6 c2 10             	test   $0x10,%dl
+    b662:	75 70                	jne    0xb6d4
+    b664:	a1 00 00 00 00       	mov    0x0,%eax
+    b669:	83 ca 10             	or     $0x10,%edx
+    b66c:	89 ce                	mov    %ecx,%esi
+    b66e:	88 51 58             	mov    %dl,0x58(%ecx)
+    b671:	8b 1d 00 00 00 00    	mov    0x0,%ebx
+    b677:	31 d2                	xor    %edx,%edx
+    b679:	bf 01 00 00 00       	mov    $0x1,%edi
+    b67e:	65 8b 00             	mov    %gs:(%eax),%eax
+    b681:	89 45 84             	mov    %eax,-0x7c(%ebp)
+    b684:	65 8b 03             	mov    %gs:(%ebx),%eax
+    b687:	31 c9                	xor    %ecx,%ecx
+    b689:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
+    b690:	85 c0                	test   %eax,%eax
+    b692:	0f 84 70 1d 00 00    	je     0xd408
+    b698:	8d 1c 0a             	lea    (%edx,%ecx,1),%ebx
+    b69b:	f6 04 58 08          	testb  $0x8,(%eax,%ebx,2)
+    b69f:	75 05                	jne    0xb6a6
+    b6a1:	83 fb 5f             	cmp    $0x5f,%ebx
+    b6a4:	75 07                	jne    0xb6ad
+    b6a6:	89 fb                	mov    %edi,%ebx
+    b6a8:	d3 e3                	shl    %cl,%ebx
+    b6aa:	09 5e 60             	or     %ebx,0x60(%esi)
+    b6ad:	83 c1 01             	add    $0x1,%ecx
+    b6b0:	83 f9 20             	cmp    $0x20,%ecx
+    b6b3:	75 db                	jne    0xb690
+    b6b5:	83 c2 20             	add    $0x20,%edx
+    b6b8:	83 c6 04             	add    $0x4,%esi
+    b6bb:	81 fa 00 01 00 00    	cmp    $0x100,%edx
+    b6c1:	75 c4                	jne    0xb687
+    b6c3:	8b 35 00 00 00 00    	mov    0x0,%esi
+    b6c9:	8b bd 78 ff ff ff    	mov    -0x88(%ebp),%edi
+    b6cf:	65 89 06             	mov    %eax,%gs:(%esi)
+    b6d2:	8b 07                	mov    (%edi),%eax
+    b6d4:	3d 00 01 00 00       	cmp    $0x100,%eax
+    b6d9:	0f 94 c2             	sete   %dl
+    b6dc:	3d 00 02 00 00       	cmp    $0x200,%eax
+    b6e1:	0f 85 05 0c 00 00    	jne    0xc2ec
+    b6e7:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
+    b6ed:	31 d2                	xor    %edx,%edx
+    b6ef:	31 c9                	xor    %ecx,%ecx
+    b6f1:	c7 00 05 00 00 00    	movl   $0x5,(%eax)
+    b6f7:	89 04 24             	mov    %eax,(%esp)
+    b6fa:	8b 45 88             	mov    -0x78(%ebp),%eax
+    b6fd:	e8 9e 53 ff ff       	call   0xaa0
+    b702:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
+    b708:	c7 02 0a 00 00 00    	movl   $0xa,(%edx)
+    b70e:	89 c3                	mov    %eax,%ebx
+    b710:	8b bd 78 ff ff ff    	mov    -0x88(%ebp),%edi
+    b716:	31 c9                	xor    %ecx,%ecx
+    b718:	31 d2                	xor    %edx,%edx
+    b71a:	89 3c 24             	mov    %edi,(%esp)
+    b71d:	8b 45 88             	mov    -0x78(%ebp),%eax
+    b720:	e8 7b 53 ff ff       	call   0xaa0
+    b725:	89 da                	mov    %ebx,%edx
+    b727:	c7 04 24 0a 00 00 00 	movl   $0xa,(%esp)
+    b72e:	89 c7                	mov    %eax,%edi
+    b730:	89 c1                	mov    %eax,%ecx
+    b732:	8b 45 88             	mov    -0x78(%ebp),%eax
+    b735:	e8 c6 54 ff ff       	call   0xc00
+    b73a:	85 ff                	test   %edi,%edi
+    b73c:	89 c6                	mov    %eax,%esi
+    b73e:	0f 84 e6 0c 00 00    	je     0xc42a
+    b744:	85 db                	test   %ebx,%ebx
+    b746:	0f 84 de 0c 00 00    	je     0xc42a
+    b74c:	85 c0                	test   %eax,%eax
+    b74e:	66 90                	xchg   %ax,%ax
+    b750:	0f 84 d4 0c 00 00    	je     0xc42a
+    b756:	8b 4d 08             	mov    0x8(%ebp),%ecx
+    b759:	8b 95 70 ff ff ff    	mov    -0x90(%ebp),%edx
+    b75f:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
+    b765:	e8 96 7d ff ff       	call   0x3500
+    b76a:	e9 85 fe ff ff       	jmp    0xb5f4
+    b76f:	89 55 88             	mov    %edx,-0x78(%ebp)
+    b772:	8b 15 00 00 00 00    	mov    0x0,%edx
+    b778:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
+    b77f:	65 8b 02             	mov    %gs:(%edx),%eax
+    b782:	8b 00                	mov    (%eax),%eax
+    b784:	8b 48 68             	mov    0x68(%eax),%ecx
+    b787:	89 8d 4c ff ff ff    	mov    %ecx,-0xb4(%ebp)
+    b78d:	8b 58 28             	mov    0x28(%eax),%ebx
+    b790:	85 db                	test   %ebx,%ebx
+    b792:	89 9d 58 ff ff ff    	mov    %ebx,-0xa8(%ebp)
+    b798:	0f 85 69 07 00 00    	jne    0xbf07
+    b79e:	c7 85 3c ff ff ff 00 	movl   $0x0,-0xc4(%ebp)
+    b7a5:	00 00 00 
+    b7a8:	c7 85 44 ff ff ff 00 	movl   $0x0,-0xbc(%ebp)
+    b7af:	00 00 00 
+    b7b2:	c7 85 40 ff ff ff 00 	movl   $0x0,-0xc0(%ebp)
+    b7b9:	00 00 00 
+    b7bc:	c7 85 54 ff ff ff 00 	movl   $0x0,-0xac(%ebp)
+    b7c3:	00 00 00 
+    b7c6:	c7 44 24 04 01 00 00 	movl   $0x1,0x4(%esp)
+    b7cd:	00 
+    b7ce:	c7 04 24 20 00 00 00 	movl   $0x20,(%esp)
+    b7d5:	e8 fc ff ff ff       	call   0xb7d6
+    b7da:	89 85 64 ff ff ff    	mov    %eax,-0x9c(%ebp)
+    b7e0:	c7 44 24 04 01 00 00 	movl   $0x1,0x4(%esp)
+    b7e7:	00 
+    b7e8:	c7 04 24 30 00 00 00 	movl   $0x30,(%esp)
+    b7ef:	e8 fc ff ff ff       	call   0xb7f0
+    b7f4:	85 c0                	test   %eax,%eax
+    b7f6:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
+    b7fc:	0f 84 47 0c 00 00    	je     0xc449
+    b802:	83 bd 64 ff ff ff 00 	cmpl   $0x0,-0x9c(%ebp)
+    b809:	0f 84 3a 0c 00 00    	je     0xc449
+    b80f:	8b 4d 08             	mov    0x8(%ebp),%ecx
+    b812:	8b 95 70 ff ff ff    	mov    -0x90(%ebp),%edx
+    b818:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
+    b81e:	e8 3d 49 ff ff       	call   0x160
+    b823:	8b bd 78 ff ff ff    	mov    -0x88(%ebp),%edi
+    b829:	89 85 48 ff ff ff    	mov    %eax,-0xb8(%ebp)
+    b82f:	0f b6 47 04          	movzbl 0x4(%edi),%eax
+    b833:	3c 02                	cmp    $0x2,%al
+    b835:	0f 84 ba 0b 00 00    	je     0xc3f5
+    b83b:	3c 19                	cmp    $0x19,%al
+    b83d:	c7 85 14 ff ff ff 00 	movl   $0x0,-0xec(%ebp)
+    b844:	00 00 00 
+    b847:	0f 84 48 0b 00 00    	je     0xc395
+    b84d:	3c 15                	cmp    $0x15,%al
+    b84f:	0f 84 e5 0b 00 00    	je     0xc43a
+    b855:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
+    b85b:	b8 01 00 00 00       	mov    $0x1,%eax
+    b860:	c7 85 20 ff ff ff 00 	movl   $0x0,-0xe0(%ebp)
+    b867:	00 00 00 
+    b86a:	8d 5d f2             	lea    -0xe(%ebp),%ebx
+    b86d:	c7 85 28 ff ff ff 00 	movl   $0x0,-0xd8(%ebp)
+    b874:	00 00 00 
+    b877:	c7 85 2c ff ff ff 00 	movl   $0x0,-0xd4(%ebp)
+    b87e:	00 00 00 
+    b881:	83 e9 02             	sub    $0x2,%ecx
+    b884:	c7 85 24 ff ff ff 00 	movl   $0x0,-0xdc(%ebp)
+    b88b:	00 00 00 
+    b88e:	89 8d 38 ff ff ff    	mov    %ecx,-0xc8(%ebp)
+    b894:	8d 75 ac             	lea    -0x54(%ebp),%esi
+    b897:	89 75 e0             	mov    %esi,-0x20(%ebp)
+    b89a:	89 44 24 0c          	mov    %eax,0xc(%esp)
+    b89e:	8b 7d 08             	mov    0x8(%ebp),%edi
+    b8a1:	89 7c 24 08          	mov    %edi,0x8(%esp)
+    b8a5:	8b 45 88             	mov    -0x78(%ebp),%eax
+    b8a8:	89 44 24 04          	mov    %eax,0x4(%esp)
+    b8ac:	8b 95 48 ff ff ff    	mov    -0xb8(%ebp),%edx
+    b8b2:	8d 45 dc             	lea    -0x24(%ebp),%eax
+    b8b5:	89 14 24             	mov    %edx,(%esp)
+    b8b8:	8b 8d 78 ff ff ff    	mov    -0x88(%ebp),%ecx
+    b8be:	8b 95 70 ff ff ff    	mov    -0x90(%ebp),%edx
+    b8c4:	e8 07 4e ff ff       	call   0x6d0
+    b8c9:	85 c0                	test   %eax,%eax
+    b8cb:	0f 85 f0 14 00 00    	jne    0xcdc1
+    b8d1:	8b 4d 08             	mov    0x8(%ebp),%ecx
+    b8d4:	8b 95 70 ff ff ff    	mov    -0x90(%ebp),%edx
+    b8da:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
+    b8e0:	e8 7b 48 ff ff       	call   0x160
+    b8e5:	89 85 48 ff ff ff    	mov    %eax,-0xb8(%ebp)
+    b8eb:	8b 45 dc             	mov    -0x24(%ebp),%eax
+    b8ee:	83 f8 02             	cmp    $0x2,%eax
+    b8f1:	74 21                	je     0xb914
+    b8f3:	83 f8 04             	cmp    $0x4,%eax
+    b8f6:	74 1c                	je     0xb914
+    b8f8:	8b b5 78 ff ff ff    	mov    -0x88(%ebp),%esi
+    b8fe:	0f b6 56 04          	movzbl 0x4(%esi),%edx
+    b902:	80 fa 02             	cmp    $0x2,%dl
+    b905:	0f 84 a8 14 00 00    	je     0xcdb3
+    b90b:	80 fa 16             	cmp    $0x16,%dl
+    b90e:	0f 84 d7 14 00 00    	je     0xcdeb
+    b914:	83 f8 04             	cmp    $0x4,%eax
+    b917:	0f 86 db 05 00 00    	jbe    0xbef8
+    b91d:	c7 44 24 0c 84 01 00 	movl   $0x184,0xc(%esp)
     b924:	00 
-    b925:	c7 04 24 17 01 00 00 	movl   $0x117,(%esp)
-    b92c:	e8 fc ff ff ff       	call   0xb92d
-    b931:	8b 9d 78 ff ff ff    	mov    -0x88(%ebp),%ebx
-    b937:	31 c9                	xor    %ecx,%ecx
-    b939:	89 55 88             	mov    %edx,-0x78(%ebp)
-    b93c:	31 d2                	xor    %edx,%edx
-    b93e:	89 1c 24             	mov    %ebx,(%esp)
-    b941:	8b 45 88             	mov    -0x78(%ebp),%eax
-    b944:	e8 57 51 ff ff       	call   0xaa0
-    b949:	85 c0                	test   %eax,%eax
-    b94b:	89 c6                	mov    %eax,%esi
-    b94d:	0f 84 2f 03 00 00    	je     0xbc82
-    b953:	8b 45 88             	mov    -0x78(%ebp),%eax
-    b956:	83 78 5c 01          	cmpl   $0x1,0x5c(%eax)
-    b95a:	0f 8e b1 00 00 00    	jle    0xba11
-    b960:	8b bd 70 ff ff ff    	mov    -0x90(%ebp),%edi
-    b966:	eb 62                	jmp    0xb9ca
-    b968:	3b 47 1c             	cmp    0x1c(%edi),%eax
-    b96b:	0f 84 a0 00 00 00    	je     0xba11
-    b971:	8b 57 08             	mov    0x8(%edi),%edx
-    b974:	83 3c 82 ff          	cmpl   $0xffffffff,(%edx,%eax,4)
-    b978:	0f 85 93 00 00 00    	jne    0xba11
-    b97e:	8b 4d 08             	mov    0x8(%ebp),%ecx
-    b981:	89 fa                	mov    %edi,%edx
-    b983:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
-    b989:	e8 72 7b ff ff       	call   0x3500
-    b98e:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
-    b994:	31 c9                	xor    %ecx,%ecx
-    b996:	89 14 24             	mov    %edx,(%esp)
-    b999:	8b 45 88             	mov    -0x78(%ebp),%eax
-    b99c:	31 d2                	xor    %edx,%edx
-    b99e:	e8 fd 50 ff ff       	call   0xaa0
-    b9a3:	89 f2                	mov    %esi,%edx
-    b9a5:	c7 04 24 10 00 00 00 	movl   $0x10,(%esp)
-    b9ac:	89 c1                	mov    %eax,%ecx
-    b9ae:	89 c3                	mov    %eax,%ebx
-    b9b0:	8b 45 88             	mov    -0x78(%ebp),%eax
-    b9b3:	e8 48 52 ff ff       	call   0xc00
-    b9b8:	85 c0                	test   %eax,%eax
-    b9ba:	89 c6                	mov    %eax,%esi
-    b9bc:	0f 84 08 05 00 00    	je     0xbeca
-    b9c2:	85 db                	test   %ebx,%ebx
-    b9c4:	0f 84 00 05 00 00    	je     0xbeca
-    b9ca:	8b 47 28             	mov    0x28(%edi),%eax
-    b9cd:	39 47 38             	cmp    %eax,0x38(%edi)
-    b9d0:	7f 96                	jg     0xb968
-    b9d2:	eb 3d                	jmp    0xba11
-    b9d4:	8b b5 70 ff ff ff    	mov    -0x90(%ebp),%esi
-    b9da:	3c 23                	cmp    $0x23,%al
-    b9dc:	b9 a7 00 00 00       	mov    $0xa7,%ecx
-    b9e1:	8b 7d 10             	mov    0x10(%ebp),%edi
-    b9e4:	0f 94 c0             	sete   %al
-    b9e7:	0f b6 c0             	movzbl %al,%eax
-    b9ea:	89 55 88             	mov    %edx,-0x78(%ebp)
-    b9ed:	8b 56 40             	mov    0x40(%esi),%edx
-    b9f0:	89 7c 24 08          	mov    %edi,0x8(%esp)
-    b9f4:	89 44 24 04          	mov    %eax,0x4(%esp)
-    b9f8:	c7 04 24 1b 01 00 00 	movl   $0x11b,(%esp)
-    b9ff:	8b 45 88             	mov    -0x78(%ebp),%eax
-    ba02:	e8 89 eb ff ff       	call   0xa590
-    ba07:	85 c0                	test   %eax,%eax
-    ba09:	89 c6                	mov    %eax,%esi
-    ba0b:	0f 84 62 09 00 00    	je     0xc373
-    ba11:	8b 4d 08             	mov    0x8(%ebp),%ecx
-    ba14:	8b 95 70 ff ff ff    	mov    -0x90(%ebp),%edx
-    ba1a:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
-    ba20:	e8 db 7a ff ff       	call   0x3500
-    ba25:	8b 4d 08             	mov    0x8(%ebp),%ecx
-    ba28:	8b 5d 08             	mov    0x8(%ebp),%ebx
-    ba2b:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
-    ba31:	81 e1 00 00 20 00    	and    $0x200000,%ecx
-    ba37:	81 e3 00 00 00 01    	and    $0x1000000,%ebx
-    ba3d:	0f b6 42 04          	movzbl 0x4(%edx),%eax
-    ba41:	89 8d 64 ff ff ff    	mov    %ecx,-0x9c(%ebp)
-    ba47:	89 9d 74 ff ff ff    	mov    %ebx,-0x8c(%ebp)
-    ba4d:	8d 76 00             	lea    0x0(%esi),%esi
-    ba50:	3c 12                	cmp    $0x12,%al
-    ba52:	0f 84 fa 03 00 00    	je     0xbe52
-    ba58:	3c 0b                	cmp    $0xb,%al
-    ba5a:	0f 84 f2 03 00 00    	je     0xbe52
-    ba60:	3c 13                	cmp    $0x13,%al
-    ba62:	0f 84 5e 04 00 00    	je     0xbec6
-    ba68:	3c 17                	cmp    $0x17,%al
-    ba6a:	0f 85 74 fb ff ff    	jne    0xb5e4
-    ba70:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
-    ba76:	8b bd 70 ff ff ff    	mov    -0x90(%ebp),%edi
-    ba7c:	8b 02                	mov    (%edx),%eax
-    ba7e:	8b 52 04             	mov    0x4(%edx),%edx
-    ba81:	8b 5f 28             	mov    0x28(%edi),%ebx
-    ba84:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
-    ba8a:	89 55 80             	mov    %edx,-0x80(%ebp)
-    ba8d:	8b 4d 08             	mov    0x8(%ebp),%ecx
-    ba90:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
-    ba96:	8b 85 70 ff ff ff    	mov    -0x90(%ebp),%eax
-    ba9c:	e8 8f 7a ff ff       	call   0x3530
-    baa1:	83 f8 ff             	cmp    $0xffffffff,%eax
-    baa4:	89 c7                	mov    %eax,%edi
-    baa6:	0f 84 04 02 00 00    	je     0xbcb0
-    baac:	83 f8 fe             	cmp    $0xfffffffe,%eax
-    baaf:	74 1d                	je     0xbace
-    bab1:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
-    bab7:	0f b6 42 04          	movzbl 0x4(%edx),%eax
-    babb:	89 7d 84             	mov    %edi,-0x7c(%ebp)
-    babe:	3c 18                	cmp    $0x18,%al
-    bac0:	0f 84 2e 02 00 00    	je     0xbcf4
-    bac6:	3c 01                	cmp    $0x1,%al
-    bac8:	0f 84 0c 04 00 00    	je     0xbeda
-    bace:	83 bd 64 ff ff ff 00 	cmpl   $0x0,-0x9c(%ebp)
-    bad5:	0f 84 e0 12 00 00    	je     0xcdbb
-    badb:	8b 85 70 ff ff ff    	mov    -0x90(%ebp),%eax
-    bae1:	85 f6                	test   %esi,%esi
-    bae3:	8b 95 7c ff ff ff    	mov    -0x84(%ebp),%edx
-    bae9:	8b 4d 80             	mov    -0x80(%ebp),%ecx
-    baec:	89 58 28             	mov    %ebx,0x28(%eax)
-    baef:	8b 9d 78 ff ff ff    	mov    -0x88(%ebp),%ebx
-    baf5:	0f 94 c0             	sete   %al
-    baf8:	89 4b 04             	mov    %ecx,0x4(%ebx)
-    bafb:	89 13                	mov    %edx,(%ebx)
-    bafd:	c6 43 04 01          	movb   $0x1,0x4(%ebx)
-    bb01:	89 b5 7c ff ff ff    	mov    %esi,-0x84(%ebp)
-    bb07:	e9 f4 02 00 00       	jmp    0xbe00
-    bb0c:	8b 9d 78 ff ff ff    	mov    -0x88(%ebp),%ebx
-    bb12:	31 c9                	xor    %ecx,%ecx
-    bb14:	89 55 88             	mov    %edx,-0x78(%ebp)
-    bb17:	31 d2                	xor    %edx,%edx
-    bb19:	89 1c 24             	mov    %ebx,(%esp)
-    bb1c:	8b 45 88             	mov    -0x78(%ebp),%eax
-    bb1f:	e8 7c 4f ff ff       	call   0xaa0
-    bb24:	85 c0                	test   %eax,%eax
-    bb26:	89 c6                	mov    %eax,%esi
-    bb28:	0f 84 54 01 00 00    	je     0xbc82
-    bb2e:	8b 45 88             	mov    -0x78(%ebp),%eax
-    bb31:	83 78 5c 01          	cmpl   $0x1,0x5c(%eax)
-    bb35:	0f 8e d6 fe ff ff    	jle    0xba11
-    bb3b:	80 48 58 02          	orb    $0x2,0x58(%eax)
-    bb3f:	e9 cd fe ff ff       	jmp    0xba11
-    bb44:	8b 8d 70 ff ff ff    	mov    -0x90(%ebp),%ecx
-    bb4a:	3c 21                	cmp    $0x21,%al
-    bb4c:	8b 5d 10             	mov    0x10(%ebp),%ebx
-    bb4f:	0f 94 c0             	sete   %al
-    bb52:	0f b6 c0             	movzbl %al,%eax
-    bb55:	89 55 88             	mov    %edx,-0x78(%ebp)
-    bb58:	8b 51 40             	mov    0x40(%ecx),%edx
-    bb5b:	b9 9b 00 00 00       	mov    $0x9b,%ecx
-    bb60:	89 5c 24 08          	mov    %ebx,0x8(%esp)
-    bb64:	89 44 24 04          	mov    %eax,0x4(%esp)
-    bb68:	c7 04 24 19 01 00 00 	movl   $0x119,(%esp)
-    bb6f:	8b 45 88             	mov    -0x78(%ebp),%eax
-    bb72:	e8 19 ea ff ff       	call   0xa590
-    bb77:	85 c0                	test   %eax,%eax
-    bb79:	89 c6                	mov    %eax,%esi
-    bb7b:	0f 85 90 fe ff ff    	jne    0xba11
-    bb81:	83 3b 00             	cmpl   $0x0,(%ebx)
-    bb84:	0f 84 87 fe ff ff    	je     0xba11
-    bb8a:	e9 53 fa ff ff       	jmp    0xb5e2
-    bb8f:	8b 45 10             	mov    0x10(%ebp),%eax
-    bb92:	31 f6                	xor    %esi,%esi
-    bb94:	c7 00 05 00 00 00    	movl   $0x5,(%eax)
-    bb9a:	e9 45 fa ff ff       	jmp    0xb5e4
-    bb9f:	8b bd 78 ff ff ff    	mov    -0x88(%ebp),%edi
-    bba5:	b8 01 00 00 00       	mov    $0x1,%eax
-    bbaa:	89 55 88             	mov    %edx,-0x78(%ebp)
-    bbad:	8b 0f                	mov    (%edi),%ecx
-    bbaf:	d3 e0                	shl    %cl,%eax
-    bbb1:	85 42 54             	test   %eax,0x54(%edx)
-    bbb4:	0f 84 d9 11 00 00    	je     0xcd93
-    bbba:	8b 55 88             	mov    -0x78(%ebp),%edx
-    bbbd:	8b 8d 78 ff ff ff    	mov    -0x88(%ebp),%ecx
-    bbc3:	09 42 50             	or     %eax,0x50(%edx)
-    bbc6:	31 d2                	xor    %edx,%edx
-    bbc8:	89 0c 24             	mov    %ecx,(%esp)
-    bbcb:	8b 45 88             	mov    -0x78(%ebp),%eax
-    bbce:	31 c9                	xor    %ecx,%ecx
-    bbd0:	e8 cb 4e ff ff       	call   0xaa0
-    bbd5:	85 c0                	test   %eax,%eax
-    bbd7:	89 c6                	mov    %eax,%esi
-    bbd9:	0f 84 a6 11 00 00    	je     0xcd85
-    bbdf:	8b 7d 88             	mov    -0x78(%ebp),%edi
-    bbe2:	83 47 4c 01          	addl   $0x1,0x4c(%edi)
-    bbe6:	80 4f 58 02          	orb    $0x2,0x58(%edi)
-    bbea:	e9 22 fe ff ff       	jmp    0xba11
-    bbef:	8b 7b 18             	mov    0x18(%ebx),%edi
-    bbf2:	8b 4d 08             	mov    0x8(%ebp),%ecx
-    bbf5:	89 55 88             	mov    %edx,-0x78(%ebp)
-    bbf8:	8b 95 70 ff ff ff    	mov    -0x90(%ebp),%edx
-    bbfe:	8d 47 01             	lea    0x1(%edi),%eax
-    bc01:	89 43 18             	mov    %eax,0x18(%ebx)
-    bc04:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
-    bc0a:	81 c9 00 00 80 00    	or     $0x800000,%ecx
-    bc10:	e8 eb 78 ff ff       	call   0x3500
-    bc15:	8b b5 78 ff ff ff    	mov    -0x88(%ebp),%esi
-    bc1b:	31 c0                	xor    %eax,%eax
-    bc1d:	80 7e 04 09          	cmpb   $0x9,0x4(%esi)
-    bc21:	0f 85 02 11 00 00    	jne    0xcd29
-    bc27:	83 ff 08             	cmp    $0x8,%edi
-    bc2a:	77 0f                	ja     0xbc3b
-    bc2c:	8b 5d 88             	mov    -0x78(%ebp),%ebx
-    bc2f:	ba 01 00 00 00       	mov    $0x1,%edx
-    bc34:	89 f9                	mov    %edi,%ecx
-    bc36:	d3 e2                	shl    %cl,%edx
-    bc38:	09 53 54             	or     %edx,0x54(%ebx)
-    bc3b:	c7 04 24 11 00 00 00 	movl   $0x11,(%esp)
-    bc42:	89 c2                	mov    %eax,%edx
-    bc44:	8b 45 88             	mov    -0x78(%ebp),%eax
-    bc47:	31 c9                	xor    %ecx,%ecx
-    bc49:	e8 b2 4f ff ff       	call   0xc00
-    bc4e:	85 c0                	test   %eax,%eax
-    bc50:	89 c6                	mov    %eax,%esi
-    bc52:	74 2e                	je     0xbc82
-    bc54:	89 78 14             	mov    %edi,0x14(%eax)
-    bc57:	e9 b5 fd ff ff       	jmp    0xba11
-    bc5c:	89 55 88             	mov    %edx,-0x78(%ebp)
-    bc5f:	8b 9d 78 ff ff ff    	mov    -0x88(%ebp),%ebx
-    bc65:	31 c9                	xor    %ecx,%ecx
-    bc67:	31 d2                	xor    %edx,%edx
-    bc69:	c6 43 04 01          	movb   $0x1,0x4(%ebx)
-    bc6d:	89 1c 24             	mov    %ebx,(%esp)
-    bc70:	8b 45 88             	mov    -0x78(%ebp),%eax
-    bc73:	e8 28 4e ff ff       	call   0xaa0
-    bc78:	85 c0                	test   %eax,%eax
-    bc7a:	89 c6                	mov    %eax,%esi
-    bc7c:	0f 85 8f fd ff ff    	jne    0xba11
-    bc82:	8b 7d 10             	mov    0x10(%ebp),%edi
-    bc85:	c7 07 0c 00 00 00    	movl   $0xc,(%edi)
-    bc8b:	e9 54 f9 ff ff       	jmp    0xb5e4
-    bc90:	89 55 88             	mov    %edx,-0x78(%ebp)
-    bc93:	f7 45 08 00 00 02 00 	testl  $0x20000,0x8(%ebp)
-    bc9a:	75 c3                	jne    0xbc5f
-    bc9c:	8b 4d 10             	mov    0x10(%ebp),%ecx
-    bc9f:	31 f6                	xor    %esi,%esi
-    bca1:	c7 01 10 00 00 00    	movl   $0x10,(%ecx)
-    bca7:	e9 38 f9 ff ff       	jmp    0xb5e4
-    bcac:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    bcb0:	8b bd 78 ff ff ff    	mov    -0x88(%ebp),%edi
-    bcb6:	80 7f 04 01          	cmpb   $0x1,0x4(%edi)
-    bcba:	0f 85 ee 01 00 00    	jne    0xbeae
-    bcc0:	80 3f 2c             	cmpb   $0x2c,(%edi)
-    bcc3:	0f 85 e5 01 00 00    	jne    0xbeae
-    bcc9:	31 ff                	xor    %edi,%edi
-    bccb:	8b 4d 08             	mov    0x8(%ebp),%ecx
-    bcce:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
-    bcd4:	8b 85 70 ff ff ff    	mov    -0x90(%ebp),%eax
-    bcda:	e8 51 78 ff ff       	call   0x3530
-    bcdf:	83 f8 fe             	cmp    $0xfffffffe,%eax
-    bce2:	89 45 84             	mov    %eax,-0x7c(%ebp)
-    bce5:	0f 84 e3 fd ff ff    	je     0xbace
-    bceb:	39 7d 84             	cmp    %edi,-0x7c(%ebp)
-    bcee:	0f 8c 29 0f 00 00    	jl     0xcc1d
-    bcf4:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
-    bcfa:	80 78 04 18          	cmpb   $0x18,0x4(%eax)
-    bcfe:	0f 85 23 0f 00 00    	jne    0xcc27
-    bd04:	8b 4d 08             	mov    0x8(%ebp),%ecx
-    bd07:	8b 95 70 ff ff ff    	mov    -0x90(%ebp),%edx
-    bd0d:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
-    bd13:	e8 e8 77 ff ff       	call   0x3500
-    bd18:	85 f6                	test   %esi,%esi
-    bd1a:	0f 84 48 0f 00 00    	je     0xcc68
-    bd20:	8b 5d 84             	mov    -0x7c(%ebp),%ebx
-    bd23:	85 db                	test   %ebx,%ebx
-    bd25:	0f 84 0c 0f 00 00    	je     0xcc37
-    bd2b:	85 ff                	test   %edi,%edi
-    bd2d:	8d 76 00             	lea    0x0(%esi),%esi
-    bd30:	0f 8f 3e 0f 00 00    	jg     0xcc74
-    bd36:	89 f3                	mov    %esi,%ebx
-    bd38:	c7 85 7c ff ff ff 00 	movl   $0x0,-0x84(%ebp)
-    bd3f:	00 00 00 
-    bd42:	80 7b 18 11          	cmpb   $0x11,0x18(%ebx)
-    bd46:	0f 84 4e 01 00 00    	je     0xbe9a
-    bd4c:	31 c0                	xor    %eax,%eax
-    bd4e:	89 da                	mov    %ebx,%edx
-    bd50:	83 7d 84 ff          	cmpl   $0xffffffff,-0x7c(%ebp)
-    bd54:	0f 94 c0             	sete   %al
-    bd57:	31 c9                	xor    %ecx,%ecx
-    bd59:	83 c0 0a             	add    $0xa,%eax
-    bd5c:	89 04 24             	mov    %eax,(%esp)
-    bd5f:	8b 45 88             	mov    -0x78(%ebp),%eax
-    bd62:	e8 99 4e ff ff       	call   0xc00
-    bd67:	85 c0                	test   %eax,%eax
-    bd69:	89 c6                	mov    %eax,%esi
-    bd6b:	0f 84 59 01 00 00    	je     0xbeca
-    bd71:	83 c7 02             	add    $0x2,%edi
-    bd74:	39 7d 84             	cmp    %edi,-0x7c(%ebp)
-    bd77:	7c 5b                	jl     0xbdd4
-    bd79:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
-    bd80:	8b 55 88             	mov    -0x78(%ebp),%edx
-    bd83:	89 d8                	mov    %ebx,%eax
-    bd85:	e8 f6 4d ff ff       	call   0xb80
-    bd8a:	89 f2                	mov    %esi,%edx
-    bd8c:	c7 04 24 10 00 00 00 	movl   $0x10,(%esp)
-    bd93:	89 c1                	mov    %eax,%ecx
-    bd95:	89 c3                	mov    %eax,%ebx
-    bd97:	8b 45 88             	mov    -0x78(%ebp),%eax
-    bd9a:	e8 61 4e ff ff       	call   0xc00
-    bd9f:	85 c0                	test   %eax,%eax
-    bda1:	0f 84 23 01 00 00    	je     0xbeca
-    bda7:	85 db                	test   %ebx,%ebx
-    bda9:	0f 84 1b 01 00 00    	je     0xbeca
-    bdaf:	c7 04 24 0a 00 00 00 	movl   $0xa,(%esp)
-    bdb6:	89 c2                	mov    %eax,%edx
-    bdb8:	8b 45 88             	mov    -0x78(%ebp),%eax
-    bdbb:	31 c9                	xor    %ecx,%ecx
-    bdbd:	e8 3e 4e ff ff       	call   0xc00
-    bdc2:	85 c0                	test   %eax,%eax
-    bdc4:	89 c6                	mov    %eax,%esi
-    bdc6:	0f 84 fe 00 00 00    	je     0xbeca
-    bdcc:	83 c7 01             	add    $0x1,%edi
-    bdcf:	39 7d 84             	cmp    %edi,-0x7c(%ebp)
-    bdd2:	7d ac                	jge    0xbd80
-    bdd4:	8b 8d 7c ff ff ff    	mov    -0x84(%ebp),%ecx
-    bdda:	85 c9                	test   %ecx,%ecx
-    bddc:	74 30                	je     0xbe0e
-    bdde:	c7 04 24 10 00 00 00 	movl   $0x10,(%esp)
-    bde5:	8b 95 7c ff ff ff    	mov    -0x84(%ebp),%edx
-    bdeb:	89 f1                	mov    %esi,%ecx
-    bded:	8b 45 88             	mov    -0x78(%ebp),%eax
-    bdf0:	e8 0b 4e ff ff       	call   0xc00
-    bdf5:	85 c0                	test   %eax,%eax
-    bdf7:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
-    bdfd:	0f 94 c0             	sete   %al
-    be00:	84 c0                	test   %al,%al
-    be02:	0f 85 4f 0e 00 00    	jne    0xcc57
-    be08:	8b b5 7c ff ff ff    	mov    -0x84(%ebp),%esi
-    be0e:	8b 95 74 ff ff ff    	mov    -0x8c(%ebp),%edx
-    be14:	85 d2                	test   %edx,%edx
-    be16:	74 28                	je     0xbe40
-    be18:	8b bd 78 ff ff ff    	mov    -0x88(%ebp),%edi
-    be1e:	0f b6 47 04          	movzbl 0x4(%edi),%eax
-    be22:	3c 17                	cmp    $0x17,%al
-    be24:	74 08                	je     0xbe2e
-    be26:	3c 0b                	cmp    $0xb,%al
-    be28:	0f 85 22 fc ff ff    	jne    0xba50
-    be2e:	8b 45 10             	mov    0x10(%ebp),%eax
-    be31:	31 f6                	xor    %esi,%esi
-    be33:	c7 00 0d 00 00 00    	movl   $0xd,(%eax)
-    be39:	e9 a6 f7 ff ff       	jmp    0xb5e4
-    be3e:	66 90                	xchg   %ax,%ax
-    be40:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
-    be46:	0f b6 42 04          	movzbl 0x4(%edx),%eax
-    be4a:	3c 12                	cmp    $0x12,%al
-    be4c:	0f 85 06 fc ff ff    	jne    0xba58
-    be52:	8b 8d 78 ff ff ff    	mov    -0x88(%ebp),%ecx
-    be58:	3c 17                	cmp    $0x17,%al
-    be5a:	8b bd 70 ff ff ff    	mov    -0x90(%ebp),%edi
-    be60:	8b 11                	mov    (%ecx),%edx
-    be62:	8b 49 04             	mov    0x4(%ecx),%ecx
-    be65:	8b 5f 28             	mov    0x28(%edi),%ebx
-    be68:	89 95 7c ff ff ff    	mov    %edx,-0x84(%ebp)
-    be6e:	89 4d 80             	mov    %ecx,-0x80(%ebp)
-    be71:	0f 84 16 fc ff ff    	je     0xba8d
-    be77:	3c 12                	cmp    $0x12,%al
-    be79:	0f 94 c2             	sete   %dl
-    be7c:	3c 13                	cmp    $0x13,%al
-    be7e:	0f b6 fa             	movzbl %dl,%edi
-    be81:	c7 45 84 ff ff ff ff 	movl   $0xffffffff,-0x7c(%ebp)
-    be88:	0f 85 76 fe ff ff    	jne    0xbd04
-    be8e:	c7 45 84 01 00 00 00 	movl   $0x1,-0x7c(%ebp)
-    be95:	e9 6a fe ff ff       	jmp    0xbd04
-    be9a:	8b 4b 14             	mov    0x14(%ebx),%ecx
-    be9d:	ba c0 02 00 00       	mov    $0x2c0,%edx
-    bea2:	89 d8                	mov    %ebx,%eax
-    bea4:	e8 c7 4a ff ff       	call   0x970
-    bea9:	e9 9e fe ff ff       	jmp    0xbd4c
-    beae:	8b 45 10             	mov    0x10(%ebp),%eax
-    beb1:	31 f6                	xor    %esi,%esi
-    beb3:	c7 00 0a 00 00 00    	movl   $0xa,(%eax)
-    beb9:	81 c4 08 01 00 00    	add    $0x108,%esp
-    bebf:	89 f0                	mov    %esi,%eax
-    bec1:	5b                   	pop    %ebx
-    bec2:	5e                   	pop    %esi
-    bec3:	5f                   	pop    %edi
-    bec4:	5d                   	pop    %ebp
-    bec5:	c3                   	ret    
-    bec6:	31 ff                	xor    %edi,%edi
-    bec8:	eb c4                	jmp    0xbe8e
-    beca:	8b 4d 10             	mov    0x10(%ebp),%ecx
-    becd:	31 f6                	xor    %esi,%esi
-    becf:	c7 01 0c 00 00 00    	movl   $0xc,(%ecx)
-    bed5:	e9 0a f7 ff ff       	jmp    0xb5e4
-    beda:	80 3a 2c             	cmpb   $0x2c,(%edx)
-    bedd:	0f 85 eb fb ff ff    	jne    0xbace
-    bee3:	e9 e3 fd ff ff       	jmp    0xbccb
-    bee8:	90                   	nop
-    bee9:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
-    bef0:	ff 24 85 18 04 00 00 	jmp    *0x418(,%eax,4)
-    bef7:	8b 70 6c             	mov    0x6c(%eax),%esi
-    befa:	89 b5 3c ff ff ff    	mov    %esi,-0xc4(%ebp)
-    bf00:	8b 78 5c             	mov    0x5c(%eax),%edi
-    bf03:	89 bd 44 ff ff ff    	mov    %edi,-0xbc(%ebp)
-    bf09:	8b 50 60             	mov    0x60(%eax),%edx
-    bf0c:	89 95 40 ff ff ff    	mov    %edx,-0xc0(%ebp)
-    bf12:	8b 40 64             	mov    0x64(%eax),%eax
-    bf15:	89 85 54 ff ff ff    	mov    %eax,-0xac(%ebp)
-    bf1b:	e9 96 f8 ff ff       	jmp    0xb7b6
-    bf20:	8b 45 e0             	mov    -0x20(%ebp),%eax
-    bf23:	83 c9 ff             	or     $0xffffffff,%ecx
-    bf26:	89 c2                	mov    %eax,%edx
-    bf28:	89 45 84             	mov    %eax,-0x7c(%ebp)
-    bf2b:	89 d7                	mov    %edx,%edi
-    bf2d:	31 c0                	xor    %eax,%eax
-    bf2f:	f2 ae                	repnz scas %es:(%edi),%al
-    bf31:	83 bd 58 ff ff ff 00 	cmpl   $0x0,-0xa8(%ebp)
-    bf38:	f7 d1                	not    %ecx
-    bf3a:	8d 71 ff             	lea    -0x1(%ecx),%esi
-    bf3d:	0f 85 86 0b 00 00    	jne    0xcac9
-    bf43:	83 fe 01             	cmp    $0x1,%esi
-    bf46:	0f 85 2b 08 00 00    	jne    0xc777
-    bf4c:	8b 7d 84             	mov    -0x7c(%ebp),%edi
-    bf4f:	0f b6 17             	movzbl (%edi),%edx
-    bf52:	89 d0                	mov    %edx,%eax
-    bf54:	83 e2 1f             	and    $0x1f,%edx
-    bf57:	89 d1                	mov    %edx,%ecx
-    bf59:	d3 e6                	shl    %cl,%esi
-    bf5b:	89 f2                	mov    %esi,%edx
-    bf5d:	8b b5 64 ff ff ff    	mov    -0x9c(%ebp),%esi
-    bf63:	c0 e8 05             	shr    $0x5,%al
-    bf66:	0f b6 c0             	movzbl %al,%eax
-    bf69:	09 14 86             	or     %edx,(%esi,%eax,4)
-    bf6c:	8b 4d 10             	mov    0x10(%ebp),%ecx
-    bf6f:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
-    bf75:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
-    bf7b:	0f b6 50 04          	movzbl 0x4(%eax),%edx
-    bf7f:	80 fa 02             	cmp    $0x2,%dl
-    bf82:	0f 84 e1 07 00 00    	je     0xc769
-    bf88:	31 c0                	xor    %eax,%eax
-    bf8a:	80 fa 15             	cmp    $0x15,%dl
-    bf8d:	0f 85 f1 f8 ff ff    	jne    0xb884
-    bf93:	8b 8d 70 ff ff ff    	mov    -0x90(%ebp),%ecx
-    bf99:	8b 9d 48 ff ff ff    	mov    -0xb8(%ebp),%ebx
-    bf9f:	01 59 28             	add    %ebx,0x28(%ecx)
-    bfa2:	83 bd 14 ff ff ff 00 	cmpl   $0x0,-0xec(%ebp)
-    bfa9:	74 15                	je     0xbfc0
-    bfab:	8b 8d 64 ff ff ff    	mov    -0x9c(%ebp),%ecx
-    bfb1:	31 d2                	xor    %edx,%edx
-    bfb3:	83 c0 01             	add    $0x1,%eax
-    bfb6:	83 f8 08             	cmp    $0x8,%eax
-    bfb9:	f7 14 91             	notl   (%ecx,%edx,4)
-    bfbc:	89 c2                	mov    %eax,%edx
-    bfbe:	75 f3                	jne    0xbfb3
-    bfc0:	8b 75 88             	mov    -0x78(%ebp),%esi
-    bfc3:	83 7e 5c 01          	cmpl   $0x1,0x5c(%esi)
-    bfc7:	7e 1d                	jle    0xbfe6
-    bfc9:	8b 4e 3c             	mov    0x3c(%esi),%ecx
-    bfcc:	31 d2                	xor    %edx,%edx
-    bfce:	31 c0                	xor    %eax,%eax
-    bfd0:	8b 9d 64 ff ff ff    	mov    -0x9c(%ebp),%ebx
-    bfd6:	8b 34 91             	mov    (%ecx,%edx,4),%esi
-    bfd9:	83 c0 01             	add    $0x1,%eax
-    bfdc:	21 34 93             	and    %esi,(%ebx,%edx,4)
-    bfdf:	83 f8 08             	cmp    $0x8,%eax
-    bfe2:	89 c2                	mov    %eax,%edx
-    bfe4:	75 f0                	jne    0xbfd6
-    bfe6:	8b bd 7c ff ff ff    	mov    -0x84(%ebp),%edi
-    bfec:	83 7f 1c 00          	cmpl   $0x0,0x1c(%edi)
-    bff0:	0f 85 1c 03 00 00    	jne    0xc312
-    bff6:	83 7f 20 00          	cmpl   $0x0,0x20(%edi)
-    bffa:	0f 85 12 03 00 00    	jne    0xc312
-    c000:	83 7f 24 00          	cmpl   $0x0,0x24(%edi)
-    c004:	0f 85 08 03 00 00    	jne    0xc312
-    c00a:	83 7f 28 00          	cmpl   $0x0,0x28(%edi)
-    c00e:	66 90                	xchg   %ax,%ax
-    c010:	0f 85 fc 02 00 00    	jne    0xc312
-    c016:	8b 45 88             	mov    -0x78(%ebp),%eax
-    c019:	83 78 5c 01          	cmpl   $0x1,0x5c(%eax)
-    c01d:	8d 76 00             	lea    0x0(%esi),%esi
-    c020:	7e 14                	jle    0xc036
-    c022:	83 7f 2c 00          	cmpl   $0x0,0x2c(%edi)
-    c026:	0f 85 e6 02 00 00    	jne    0xc312
-    c02c:	f6 47 18 01          	testb  $0x1,0x18(%edi)
-    c030:	0f 85 dc 02 00 00    	jne    0xc312
-    c036:	8b 85 7c ff ff ff    	mov    -0x84(%ebp),%eax
-    c03c:	e8 af 4f ff ff       	call   0xff0
-    c041:	8b 95 64 ff ff ff    	mov    -0x9c(%ebp),%edx
-    c047:	8d 45 e4             	lea    -0x1c(%ebp),%eax
-    c04a:	c6 45 e8 03          	movb   $0x3,-0x18(%ebp)
-    c04e:	31 c9                	xor    %ecx,%ecx
-    c050:	89 55 e4             	mov    %edx,-0x1c(%ebp)
-    c053:	31 d2                	xor    %edx,%edx
-    c055:	89 04 24             	mov    %eax,(%esp)
-    c058:	8b 45 88             	mov    -0x78(%ebp),%eax
-    c05b:	e8 40 4a ff ff       	call   0xaa0
-    c060:	85 c0                	test   %eax,%eax
-    c062:	89 c6                	mov    %eax,%esi
-    c064:	0f 85 a7 f9 ff ff    	jne    0xba11
-    c06a:	e9 75 04 00 00       	jmp    0xc4e4
-    c06f:	8b 3d 00 00 00 00    	mov    0x0,%edi
-    c075:	8b 55 e0             	mov    -0x20(%ebp),%edx
-    c078:	65 8b 07             	mov    %gs:(%edi),%eax
-    c07b:	8b 00                	mov    (%eax),%eax
-    c07d:	83 78 28 00          	cmpl   $0x0,0x28(%eax)
-    c081:	0f 84 de 03 00 00    	je     0xc465
-    c087:	8b 48 30             	mov    0x30(%eax),%ecx
-    c08a:	89 8d 34 ff ff ff    	mov    %ecx,-0xcc(%ebp)
-    c090:	8b 70 34             	mov    0x34(%eax),%esi
-    c093:	89 b5 50 ff ff ff    	mov    %esi,-0xb0(%ebp)
-    c099:	8b 78 38             	mov    0x38(%eax),%edi
-    c09c:	89 bd 1c ff ff ff    	mov    %edi,-0xe4(%ebp)
-    c0a2:	8b 40 3c             	mov    0x3c(%eax),%eax
-    c0a5:	89 85 18 ff ff ff    	mov    %eax,-0xe8(%ebp)
-    c0ab:	0f b6 02             	movzbl (%edx),%eax
-    c0ae:	8b 04 81             	mov    (%ecx,%eax,4),%eax
-    c0b1:	89 85 60 ff ff ff    	mov    %eax,-0xa0(%ebp)
-    c0b7:	8d 42 01             	lea    0x1(%edx),%eax
-    c0ba:	83 bd 60 ff ff ff 00 	cmpl   $0x0,-0xa0(%ebp)
-    c0c1:	89 45 84             	mov    %eax,-0x7c(%ebp)
-    c0c4:	0f 88 90 04 00 00    	js     0xc55a
+    b925:	c7 44 24 08 a2 0c 00 	movl   $0xca2,0x8(%esp)
+    b92c:	00 
+    b92d:	c7 44 24 04 13 00 00 	movl   $0x13,0x4(%esp)
+    b934:	00 
+    b935:	c7 04 24 17 01 00 00 	movl   $0x117,(%esp)
+    b93c:	e8 fc ff ff ff       	call   0xb93d
+    b941:	8b 9d 78 ff ff ff    	mov    -0x88(%ebp),%ebx
+    b947:	31 c9                	xor    %ecx,%ecx
+    b949:	89 55 88             	mov    %edx,-0x78(%ebp)
+    b94c:	31 d2                	xor    %edx,%edx
+    b94e:	89 1c 24             	mov    %ebx,(%esp)
+    b951:	8b 45 88             	mov    -0x78(%ebp),%eax
+    b954:	e8 47 51 ff ff       	call   0xaa0
+    b959:	85 c0                	test   %eax,%eax
+    b95b:	89 c6                	mov    %eax,%esi
+    b95d:	0f 84 2f 03 00 00    	je     0xbc92
+    b963:	8b 45 88             	mov    -0x78(%ebp),%eax
+    b966:	83 78 5c 01          	cmpl   $0x1,0x5c(%eax)
+    b96a:	0f 8e b1 00 00 00    	jle    0xba21
+    b970:	8b bd 70 ff ff ff    	mov    -0x90(%ebp),%edi
+    b976:	eb 62                	jmp    0xb9da
+    b978:	3b 47 1c             	cmp    0x1c(%edi),%eax
+    b97b:	0f 84 a0 00 00 00    	je     0xba21
+    b981:	8b 57 08             	mov    0x8(%edi),%edx
+    b984:	83 3c 82 ff          	cmpl   $0xffffffff,(%edx,%eax,4)
+    b988:	0f 85 93 00 00 00    	jne    0xba21
+    b98e:	8b 4d 08             	mov    0x8(%ebp),%ecx
+    b991:	89 fa                	mov    %edi,%edx
+    b993:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
+    b999:	e8 62 7b ff ff       	call   0x3500
+    b99e:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
+    b9a4:	31 c9                	xor    %ecx,%ecx
+    b9a6:	89 14 24             	mov    %edx,(%esp)
+    b9a9:	8b 45 88             	mov    -0x78(%ebp),%eax
+    b9ac:	31 d2                	xor    %edx,%edx
+    b9ae:	e8 ed 50 ff ff       	call   0xaa0
+    b9b3:	89 f2                	mov    %esi,%edx
+    b9b5:	c7 04 24 10 00 00 00 	movl   $0x10,(%esp)
+    b9bc:	89 c1                	mov    %eax,%ecx
+    b9be:	89 c3                	mov    %eax,%ebx
+    b9c0:	8b 45 88             	mov    -0x78(%ebp),%eax
+    b9c3:	e8 38 52 ff ff       	call   0xc00
+    b9c8:	85 c0                	test   %eax,%eax
+    b9ca:	89 c6                	mov    %eax,%esi
+    b9cc:	0f 84 08 05 00 00    	je     0xbeda
+    b9d2:	85 db                	test   %ebx,%ebx
+    b9d4:	0f 84 00 05 00 00    	je     0xbeda
+    b9da:	8b 47 28             	mov    0x28(%edi),%eax
+    b9dd:	39 47 38             	cmp    %eax,0x38(%edi)
+    b9e0:	7f 96                	jg     0xb978
+    b9e2:	eb 3d                	jmp    0xba21
+    b9e4:	8b b5 70 ff ff ff    	mov    -0x90(%ebp),%esi
+    b9ea:	3c 23                	cmp    $0x23,%al
+    b9ec:	b9 a7 00 00 00       	mov    $0xa7,%ecx
+    b9f1:	8b 7d 10             	mov    0x10(%ebp),%edi
+    b9f4:	0f 94 c0             	sete   %al
+    b9f7:	0f b6 c0             	movzbl %al,%eax
+    b9fa:	89 55 88             	mov    %edx,-0x78(%ebp)
+    b9fd:	8b 56 40             	mov    0x40(%esi),%edx
+    ba00:	89 7c 24 08          	mov    %edi,0x8(%esp)
+    ba04:	89 44 24 04          	mov    %eax,0x4(%esp)
+    ba08:	c7 04 24 1b 01 00 00 	movl   $0x11b,(%esp)
+    ba0f:	8b 45 88             	mov    -0x78(%ebp),%eax
+    ba12:	e8 89 eb ff ff       	call   0xa5a0
+    ba17:	85 c0                	test   %eax,%eax
+    ba19:	89 c6                	mov    %eax,%esi
+    ba1b:	0f 84 62 09 00 00    	je     0xc383
+    ba21:	8b 4d 08             	mov    0x8(%ebp),%ecx
+    ba24:	8b 95 70 ff ff ff    	mov    -0x90(%ebp),%edx
+    ba2a:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
+    ba30:	e8 cb 7a ff ff       	call   0x3500
+    ba35:	8b 4d 08             	mov    0x8(%ebp),%ecx
+    ba38:	8b 5d 08             	mov    0x8(%ebp),%ebx
+    ba3b:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
+    ba41:	81 e1 00 00 20 00    	and    $0x200000,%ecx
+    ba47:	81 e3 00 00 00 01    	and    $0x1000000,%ebx
+    ba4d:	0f b6 42 04          	movzbl 0x4(%edx),%eax
+    ba51:	89 8d 64 ff ff ff    	mov    %ecx,-0x9c(%ebp)
+    ba57:	89 9d 74 ff ff ff    	mov    %ebx,-0x8c(%ebp)
+    ba5d:	8d 76 00             	lea    0x0(%esi),%esi
+    ba60:	3c 12                	cmp    $0x12,%al
+    ba62:	0f 84 fa 03 00 00    	je     0xbe62
+    ba68:	3c 0b                	cmp    $0xb,%al
+    ba6a:	0f 84 f2 03 00 00    	je     0xbe62
+    ba70:	3c 13                	cmp    $0x13,%al
+    ba72:	0f 84 5e 04 00 00    	je     0xbed6
+    ba78:	3c 17                	cmp    $0x17,%al
+    ba7a:	0f 85 74 fb ff ff    	jne    0xb5f4
+    ba80:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
+    ba86:	8b bd 70 ff ff ff    	mov    -0x90(%ebp),%edi
+    ba8c:	8b 02                	mov    (%edx),%eax
+    ba8e:	8b 52 04             	mov    0x4(%edx),%edx
+    ba91:	8b 5f 28             	mov    0x28(%edi),%ebx
+    ba94:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
+    ba9a:	89 55 80             	mov    %edx,-0x80(%ebp)
+    ba9d:	8b 4d 08             	mov    0x8(%ebp),%ecx
+    baa0:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
+    baa6:	8b 85 70 ff ff ff    	mov    -0x90(%ebp),%eax
+    baac:	e8 7f 7a ff ff       	call   0x3530
+    bab1:	83 f8 ff             	cmp    $0xffffffff,%eax
+    bab4:	89 c7                	mov    %eax,%edi
+    bab6:	0f 84 04 02 00 00    	je     0xbcc0
+    babc:	83 f8 fe             	cmp    $0xfffffffe,%eax
+    babf:	74 1d                	je     0xbade
+    bac1:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
+    bac7:	0f b6 42 04          	movzbl 0x4(%edx),%eax
+    bacb:	89 7d 84             	mov    %edi,-0x7c(%ebp)
+    bace:	3c 18                	cmp    $0x18,%al
+    bad0:	0f 84 2e 02 00 00    	je     0xbd04
+    bad6:	3c 01                	cmp    $0x1,%al
+    bad8:	0f 84 0c 04 00 00    	je     0xbeea
+    bade:	83 bd 64 ff ff ff 00 	cmpl   $0x0,-0x9c(%ebp)
+    bae5:	0f 84 e0 12 00 00    	je     0xcdcb
+    baeb:	8b 85 70 ff ff ff    	mov    -0x90(%ebp),%eax
+    baf1:	85 f6                	test   %esi,%esi
+    baf3:	8b 95 7c ff ff ff    	mov    -0x84(%ebp),%edx
+    baf9:	8b 4d 80             	mov    -0x80(%ebp),%ecx
+    bafc:	89 58 28             	mov    %ebx,0x28(%eax)
+    baff:	8b 9d 78 ff ff ff    	mov    -0x88(%ebp),%ebx
+    bb05:	0f 94 c0             	sete   %al
+    bb08:	89 4b 04             	mov    %ecx,0x4(%ebx)
+    bb0b:	89 13                	mov    %edx,(%ebx)
+    bb0d:	c6 43 04 01          	movb   $0x1,0x4(%ebx)
+    bb11:	89 b5 7c ff ff ff    	mov    %esi,-0x84(%ebp)
+    bb17:	e9 f4 02 00 00       	jmp    0xbe10
+    bb1c:	8b 9d 78 ff ff ff    	mov    -0x88(%ebp),%ebx
+    bb22:	31 c9                	xor    %ecx,%ecx
+    bb24:	89 55 88             	mov    %edx,-0x78(%ebp)
+    bb27:	31 d2                	xor    %edx,%edx
+    bb29:	89 1c 24             	mov    %ebx,(%esp)
+    bb2c:	8b 45 88             	mov    -0x78(%ebp),%eax
+    bb2f:	e8 6c 4f ff ff       	call   0xaa0
+    bb34:	85 c0                	test   %eax,%eax
+    bb36:	89 c6                	mov    %eax,%esi
+    bb38:	0f 84 54 01 00 00    	je     0xbc92
+    bb3e:	8b 45 88             	mov    -0x78(%ebp),%eax
+    bb41:	83 78 5c 01          	cmpl   $0x1,0x5c(%eax)
+    bb45:	0f 8e d6 fe ff ff    	jle    0xba21
+    bb4b:	80 48 58 02          	orb    $0x2,0x58(%eax)
+    bb4f:	e9 cd fe ff ff       	jmp    0xba21
+    bb54:	8b 8d 70 ff ff ff    	mov    -0x90(%ebp),%ecx
+    bb5a:	3c 21                	cmp    $0x21,%al
+    bb5c:	8b 5d 10             	mov    0x10(%ebp),%ebx
+    bb5f:	0f 94 c0             	sete   %al
+    bb62:	0f b6 c0             	movzbl %al,%eax
+    bb65:	89 55 88             	mov    %edx,-0x78(%ebp)
+    bb68:	8b 51 40             	mov    0x40(%ecx),%edx
+    bb6b:	b9 9b 00 00 00       	mov    $0x9b,%ecx
+    bb70:	89 5c 24 08          	mov    %ebx,0x8(%esp)
+    bb74:	89 44 24 04          	mov    %eax,0x4(%esp)
+    bb78:	c7 04 24 19 01 00 00 	movl   $0x119,(%esp)
+    bb7f:	8b 45 88             	mov    -0x78(%ebp),%eax
+    bb82:	e8 19 ea ff ff       	call   0xa5a0
+    bb87:	85 c0                	test   %eax,%eax
+    bb89:	89 c6                	mov    %eax,%esi
+    bb8b:	0f 85 90 fe ff ff    	jne    0xba21
+    bb91:	83 3b 00             	cmpl   $0x0,(%ebx)
+    bb94:	0f 84 87 fe ff ff    	je     0xba21
+    bb9a:	e9 53 fa ff ff       	jmp    0xb5f2
+    bb9f:	8b 45 10             	mov    0x10(%ebp),%eax
+    bba2:	31 f6                	xor    %esi,%esi
+    bba4:	c7 00 05 00 00 00    	movl   $0x5,(%eax)
+    bbaa:	e9 45 fa ff ff       	jmp    0xb5f4
+    bbaf:	8b bd 78 ff ff ff    	mov    -0x88(%ebp),%edi
+    bbb5:	b8 01 00 00 00       	mov    $0x1,%eax
+    bbba:	89 55 88             	mov    %edx,-0x78(%ebp)
+    bbbd:	8b 0f                	mov    (%edi),%ecx
+    bbbf:	d3 e0                	shl    %cl,%eax
+    bbc1:	85 42 54             	test   %eax,0x54(%edx)
+    bbc4:	0f 84 d9 11 00 00    	je     0xcda3
+    bbca:	8b 55 88             	mov    -0x78(%ebp),%edx
+    bbcd:	8b 8d 78 ff ff ff    	mov    -0x88(%ebp),%ecx
+    bbd3:	09 42 50             	or     %eax,0x50(%edx)
+    bbd6:	31 d2                	xor    %edx,%edx
+    bbd8:	89 0c 24             	mov    %ecx,(%esp)
+    bbdb:	8b 45 88             	mov    -0x78(%ebp),%eax
+    bbde:	31 c9                	xor    %ecx,%ecx
+    bbe0:	e8 bb 4e ff ff       	call   0xaa0
+    bbe5:	85 c0                	test   %eax,%eax
+    bbe7:	89 c6                	mov    %eax,%esi
+    bbe9:	0f 84 a6 11 00 00    	je     0xcd95
+    bbef:	8b 7d 88             	mov    -0x78(%ebp),%edi
+    bbf2:	83 47 4c 01          	addl   $0x1,0x4c(%edi)
+    bbf6:	80 4f 58 02          	orb    $0x2,0x58(%edi)
+    bbfa:	e9 22 fe ff ff       	jmp    0xba21
+    bbff:	8b 7b 18             	mov    0x18(%ebx),%edi
+    bc02:	8b 4d 08             	mov    0x8(%ebp),%ecx
+    bc05:	89 55 88             	mov    %edx,-0x78(%ebp)
+    bc08:	8b 95 70 ff ff ff    	mov    -0x90(%ebp),%edx
+    bc0e:	8d 47 01             	lea    0x1(%edi),%eax
+    bc11:	89 43 18             	mov    %eax,0x18(%ebx)
+    bc14:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
+    bc1a:	81 c9 00 00 80 00    	or     $0x800000,%ecx
+    bc20:	e8 db 78 ff ff       	call   0x3500
+    bc25:	8b b5 78 ff ff ff    	mov    -0x88(%ebp),%esi
+    bc2b:	31 c0                	xor    %eax,%eax
+    bc2d:	80 7e 04 09          	cmpb   $0x9,0x4(%esi)
+    bc31:	0f 85 02 11 00 00    	jne    0xcd39
+    bc37:	83 ff 08             	cmp    $0x8,%edi
+    bc3a:	77 0f                	ja     0xbc4b
+    bc3c:	8b 5d 88             	mov    -0x78(%ebp),%ebx
+    bc3f:	ba 01 00 00 00       	mov    $0x1,%edx
+    bc44:	89 f9                	mov    %edi,%ecx
+    bc46:	d3 e2                	shl    %cl,%edx
+    bc48:	09 53 54             	or     %edx,0x54(%ebx)
+    bc4b:	c7 04 24 11 00 00 00 	movl   $0x11,(%esp)
+    bc52:	89 c2                	mov    %eax,%edx
+    bc54:	8b 45 88             	mov    -0x78(%ebp),%eax
+    bc57:	31 c9                	xor    %ecx,%ecx
+    bc59:	e8 a2 4f ff ff       	call   0xc00
+    bc5e:	85 c0                	test   %eax,%eax
+    bc60:	89 c6                	mov    %eax,%esi
+    bc62:	74 2e                	je     0xbc92
+    bc64:	89 78 14             	mov    %edi,0x14(%eax)
+    bc67:	e9 b5 fd ff ff       	jmp    0xba21
+    bc6c:	89 55 88             	mov    %edx,-0x78(%ebp)
+    bc6f:	8b 9d 78 ff ff ff    	mov    -0x88(%ebp),%ebx
+    bc75:	31 c9                	xor    %ecx,%ecx
+    bc77:	31 d2                	xor    %edx,%edx
+    bc79:	c6 43 04 01          	movb   $0x1,0x4(%ebx)
+    bc7d:	89 1c 24             	mov    %ebx,(%esp)
+    bc80:	8b 45 88             	mov    -0x78(%ebp),%eax
+    bc83:	e8 18 4e ff ff       	call   0xaa0
+    bc88:	85 c0                	test   %eax,%eax
+    bc8a:	89 c6                	mov    %eax,%esi
+    bc8c:	0f 85 8f fd ff ff    	jne    0xba21
+    bc92:	8b 7d 10             	mov    0x10(%ebp),%edi
+    bc95:	c7 07 0c 00 00 00    	movl   $0xc,(%edi)
+    bc9b:	e9 54 f9 ff ff       	jmp    0xb5f4
+    bca0:	89 55 88             	mov    %edx,-0x78(%ebp)
+    bca3:	f7 45 08 00 00 02 00 	testl  $0x20000,0x8(%ebp)
+    bcaa:	75 c3                	jne    0xbc6f
+    bcac:	8b 4d 10             	mov    0x10(%ebp),%ecx
+    bcaf:	31 f6                	xor    %esi,%esi
+    bcb1:	c7 01 10 00 00 00    	movl   $0x10,(%ecx)
+    bcb7:	e9 38 f9 ff ff       	jmp    0xb5f4
+    bcbc:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    bcc0:	8b bd 78 ff ff ff    	mov    -0x88(%ebp),%edi
+    bcc6:	80 7f 04 01          	cmpb   $0x1,0x4(%edi)
+    bcca:	0f 85 ee 01 00 00    	jne    0xbebe
+    bcd0:	80 3f 2c             	cmpb   $0x2c,(%edi)
+    bcd3:	0f 85 e5 01 00 00    	jne    0xbebe
+    bcd9:	31 ff                	xor    %edi,%edi
+    bcdb:	8b 4d 08             	mov    0x8(%ebp),%ecx
+    bcde:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
+    bce4:	8b 85 70 ff ff ff    	mov    -0x90(%ebp),%eax
+    bcea:	e8 41 78 ff ff       	call   0x3530
+    bcef:	83 f8 fe             	cmp    $0xfffffffe,%eax
+    bcf2:	89 45 84             	mov    %eax,-0x7c(%ebp)
+    bcf5:	0f 84 e3 fd ff ff    	je     0xbade
+    bcfb:	39 7d 84             	cmp    %edi,-0x7c(%ebp)
+    bcfe:	0f 8c 29 0f 00 00    	jl     0xcc2d
+    bd04:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
+    bd0a:	80 78 04 18          	cmpb   $0x18,0x4(%eax)
+    bd0e:	0f 85 23 0f 00 00    	jne    0xcc37
+    bd14:	8b 4d 08             	mov    0x8(%ebp),%ecx
+    bd17:	8b 95 70 ff ff ff    	mov    -0x90(%ebp),%edx
+    bd1d:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
+    bd23:	e8 d8 77 ff ff       	call   0x3500
+    bd28:	85 f6                	test   %esi,%esi
+    bd2a:	0f 84 48 0f 00 00    	je     0xcc78
+    bd30:	8b 5d 84             	mov    -0x7c(%ebp),%ebx
+    bd33:	85 db                	test   %ebx,%ebx
+    bd35:	0f 84 0c 0f 00 00    	je     0xcc47
+    bd3b:	85 ff                	test   %edi,%edi
+    bd3d:	8d 76 00             	lea    0x0(%esi),%esi
+    bd40:	0f 8f 3e 0f 00 00    	jg     0xcc84
+    bd46:	89 f3                	mov    %esi,%ebx
+    bd48:	c7 85 7c ff ff ff 00 	movl   $0x0,-0x84(%ebp)
+    bd4f:	00 00 00 
+    bd52:	80 7b 18 11          	cmpb   $0x11,0x18(%ebx)
+    bd56:	0f 84 4e 01 00 00    	je     0xbeaa
+    bd5c:	31 c0                	xor    %eax,%eax
+    bd5e:	89 da                	mov    %ebx,%edx
+    bd60:	83 7d 84 ff          	cmpl   $0xffffffff,-0x7c(%ebp)
+    bd64:	0f 94 c0             	sete   %al
+    bd67:	31 c9                	xor    %ecx,%ecx
+    bd69:	83 c0 0a             	add    $0xa,%eax
+    bd6c:	89 04 24             	mov    %eax,(%esp)
+    bd6f:	8b 45 88             	mov    -0x78(%ebp),%eax
+    bd72:	e8 89 4e ff ff       	call   0xc00
+    bd77:	85 c0                	test   %eax,%eax
+    bd79:	89 c6                	mov    %eax,%esi
+    bd7b:	0f 84 59 01 00 00    	je     0xbeda
+    bd81:	83 c7 02             	add    $0x2,%edi
+    bd84:	39 7d 84             	cmp    %edi,-0x7c(%ebp)
+    bd87:	7c 5b                	jl     0xbde4
+    bd89:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
+    bd90:	8b 55 88             	mov    -0x78(%ebp),%edx
+    bd93:	89 d8                	mov    %ebx,%eax
+    bd95:	e8 e6 4d ff ff       	call   0xb80
+    bd9a:	89 f2                	mov    %esi,%edx
+    bd9c:	c7 04 24 10 00 00 00 	movl   $0x10,(%esp)
+    bda3:	89 c1                	mov    %eax,%ecx
+    bda5:	89 c3                	mov    %eax,%ebx
+    bda7:	8b 45 88             	mov    -0x78(%ebp),%eax
+    bdaa:	e8 51 4e ff ff       	call   0xc00
+    bdaf:	85 c0                	test   %eax,%eax
+    bdb1:	0f 84 23 01 00 00    	je     0xbeda
+    bdb7:	85 db                	test   %ebx,%ebx
+    bdb9:	0f 84 1b 01 00 00    	je     0xbeda
+    bdbf:	c7 04 24 0a 00 00 00 	movl   $0xa,(%esp)
+    bdc6:	89 c2                	mov    %eax,%edx
+    bdc8:	8b 45 88             	mov    -0x78(%ebp),%eax
+    bdcb:	31 c9                	xor    %ecx,%ecx
+    bdcd:	e8 2e 4e ff ff       	call   0xc00
+    bdd2:	85 c0                	test   %eax,%eax
+    bdd4:	89 c6                	mov    %eax,%esi
+    bdd6:	0f 84 fe 00 00 00    	je     0xbeda
+    bddc:	83 c7 01             	add    $0x1,%edi
+    bddf:	39 7d 84             	cmp    %edi,-0x7c(%ebp)
+    bde2:	7d ac                	jge    0xbd90
+    bde4:	8b 8d 7c ff ff ff    	mov    -0x84(%ebp),%ecx
+    bdea:	85 c9                	test   %ecx,%ecx
+    bdec:	74 30                	je     0xbe1e
+    bdee:	c7 04 24 10 00 00 00 	movl   $0x10,(%esp)
+    bdf5:	8b 95 7c ff ff ff    	mov    -0x84(%ebp),%edx
+    bdfb:	89 f1                	mov    %esi,%ecx
+    bdfd:	8b 45 88             	mov    -0x78(%ebp),%eax
+    be00:	e8 fb 4d ff ff       	call   0xc00
+    be05:	85 c0                	test   %eax,%eax
+    be07:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
+    be0d:	0f 94 c0             	sete   %al
+    be10:	84 c0                	test   %al,%al
+    be12:	0f 85 4f 0e 00 00    	jne    0xcc67
+    be18:	8b b5 7c ff ff ff    	mov    -0x84(%ebp),%esi
+    be1e:	8b 95 74 ff ff ff    	mov    -0x8c(%ebp),%edx
+    be24:	85 d2                	test   %edx,%edx
+    be26:	74 28                	je     0xbe50
+    be28:	8b bd 78 ff ff ff    	mov    -0x88(%ebp),%edi
+    be2e:	0f b6 47 04          	movzbl 0x4(%edi),%eax
+    be32:	3c 17                	cmp    $0x17,%al
+    be34:	74 08                	je     0xbe3e
+    be36:	3c 0b                	cmp    $0xb,%al
+    be38:	0f 85 22 fc ff ff    	jne    0xba60
+    be3e:	8b 45 10             	mov    0x10(%ebp),%eax
+    be41:	31 f6                	xor    %esi,%esi
+    be43:	c7 00 0d 00 00 00    	movl   $0xd,(%eax)
+    be49:	e9 a6 f7 ff ff       	jmp    0xb5f4
+    be4e:	66 90                	xchg   %ax,%ax
+    be50:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
+    be56:	0f b6 42 04          	movzbl 0x4(%edx),%eax
+    be5a:	3c 12                	cmp    $0x12,%al
+    be5c:	0f 85 06 fc ff ff    	jne    0xba68
+    be62:	8b 8d 78 ff ff ff    	mov    -0x88(%ebp),%ecx
+    be68:	3c 17                	cmp    $0x17,%al
+    be6a:	8b bd 70 ff ff ff    	mov    -0x90(%ebp),%edi
+    be70:	8b 11                	mov    (%ecx),%edx
+    be72:	8b 49 04             	mov    0x4(%ecx),%ecx
+    be75:	8b 5f 28             	mov    0x28(%edi),%ebx
+    be78:	89 95 7c ff ff ff    	mov    %edx,-0x84(%ebp)
+    be7e:	89 4d 80             	mov    %ecx,-0x80(%ebp)
+    be81:	0f 84 16 fc ff ff    	je     0xba9d
+    be87:	3c 12                	cmp    $0x12,%al
+    be89:	0f 94 c2             	sete   %dl
+    be8c:	3c 13                	cmp    $0x13,%al
+    be8e:	0f b6 fa             	movzbl %dl,%edi
+    be91:	c7 45 84 ff ff ff ff 	movl   $0xffffffff,-0x7c(%ebp)
+    be98:	0f 85 76 fe ff ff    	jne    0xbd14
+    be9e:	c7 45 84 01 00 00 00 	movl   $0x1,-0x7c(%ebp)
+    bea5:	e9 6a fe ff ff       	jmp    0xbd14
+    beaa:	8b 4b 14             	mov    0x14(%ebx),%ecx
+    bead:	ba c0 02 00 00       	mov    $0x2c0,%edx
+    beb2:	89 d8                	mov    %ebx,%eax
+    beb4:	e8 b7 4a ff ff       	call   0x970
+    beb9:	e9 9e fe ff ff       	jmp    0xbd5c
+    bebe:	8b 45 10             	mov    0x10(%ebp),%eax
+    bec1:	31 f6                	xor    %esi,%esi
+    bec3:	c7 00 0a 00 00 00    	movl   $0xa,(%eax)
+    bec9:	81 c4 08 01 00 00    	add    $0x108,%esp
+    becf:	89 f0                	mov    %esi,%eax
+    bed1:	5b                   	pop    %ebx
+    bed2:	5e                   	pop    %esi
+    bed3:	5f                   	pop    %edi
+    bed4:	5d                   	pop    %ebp
+    bed5:	c3                   	ret    
+    bed6:	31 ff                	xor    %edi,%edi
+    bed8:	eb c4                	jmp    0xbe9e
+    beda:	8b 4d 10             	mov    0x10(%ebp),%ecx
+    bedd:	31 f6                	xor    %esi,%esi
+    bedf:	c7 01 0c 00 00 00    	movl   $0xc,(%ecx)
+    bee5:	e9 0a f7 ff ff       	jmp    0xb5f4
+    beea:	80 3a 2c             	cmpb   $0x2c,(%edx)
+    beed:	0f 85 eb fb ff ff    	jne    0xbade
+    bef3:	e9 e3 fd ff ff       	jmp    0xbcdb
+    bef8:	90                   	nop
+    bef9:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
+    bf00:	ff 24 85 18 04 00 00 	jmp    *0x418(,%eax,4)
+    bf07:	8b 70 6c             	mov    0x6c(%eax),%esi
+    bf0a:	89 b5 3c ff ff ff    	mov    %esi,-0xc4(%ebp)
+    bf10:	8b 78 5c             	mov    0x5c(%eax),%edi
+    bf13:	89 bd 44 ff ff ff    	mov    %edi,-0xbc(%ebp)
+    bf19:	8b 50 60             	mov    0x60(%eax),%edx
+    bf1c:	89 95 40 ff ff ff    	mov    %edx,-0xc0(%ebp)
+    bf22:	8b 40 64             	mov    0x64(%eax),%eax
+    bf25:	89 85 54 ff ff ff    	mov    %eax,-0xac(%ebp)
+    bf2b:	e9 96 f8 ff ff       	jmp    0xb7c6
+    bf30:	8b 45 e0             	mov    -0x20(%ebp),%eax
+    bf33:	83 c9 ff             	or     $0xffffffff,%ecx
+    bf36:	89 c2                	mov    %eax,%edx
+    bf38:	89 45 84             	mov    %eax,-0x7c(%ebp)
+    bf3b:	89 d7                	mov    %edx,%edi
+    bf3d:	31 c0                	xor    %eax,%eax
+    bf3f:	f2 ae                	repnz scas %es:(%edi),%al
+    bf41:	83 bd 58 ff ff ff 00 	cmpl   $0x0,-0xa8(%ebp)
+    bf48:	f7 d1                	not    %ecx
+    bf4a:	8d 71 ff             	lea    -0x1(%ecx),%esi
+    bf4d:	0f 85 86 0b 00 00    	jne    0xcad9
+    bf53:	83 fe 01             	cmp    $0x1,%esi
+    bf56:	0f 85 2b 08 00 00    	jne    0xc787
+    bf5c:	8b 7d 84             	mov    -0x7c(%ebp),%edi
+    bf5f:	0f b6 17             	movzbl (%edi),%edx
+    bf62:	89 d0                	mov    %edx,%eax
+    bf64:	83 e2 1f             	and    $0x1f,%edx
+    bf67:	89 d1                	mov    %edx,%ecx
+    bf69:	d3 e6                	shl    %cl,%esi
+    bf6b:	89 f2                	mov    %esi,%edx
+    bf6d:	8b b5 64 ff ff ff    	mov    -0x9c(%ebp),%esi
+    bf73:	c0 e8 05             	shr    $0x5,%al
+    bf76:	0f b6 c0             	movzbl %al,%eax
+    bf79:	09 14 86             	or     %edx,(%esi,%eax,4)
+    bf7c:	8b 4d 10             	mov    0x10(%ebp),%ecx
+    bf7f:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
+    bf85:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
+    bf8b:	0f b6 50 04          	movzbl 0x4(%eax),%edx
+    bf8f:	80 fa 02             	cmp    $0x2,%dl
+    bf92:	0f 84 e1 07 00 00    	je     0xc779
+    bf98:	31 c0                	xor    %eax,%eax
+    bf9a:	80 fa 15             	cmp    $0x15,%dl
+    bf9d:	0f 85 f1 f8 ff ff    	jne    0xb894
+    bfa3:	8b 8d 70 ff ff ff    	mov    -0x90(%ebp),%ecx
+    bfa9:	8b 9d 48 ff ff ff    	mov    -0xb8(%ebp),%ebx
+    bfaf:	01 59 28             	add    %ebx,0x28(%ecx)
+    bfb2:	83 bd 14 ff ff ff 00 	cmpl   $0x0,-0xec(%ebp)
+    bfb9:	74 15                	je     0xbfd0
+    bfbb:	8b 8d 64 ff ff ff    	mov    -0x9c(%ebp),%ecx
+    bfc1:	31 d2                	xor    %edx,%edx
+    bfc3:	83 c0 01             	add    $0x1,%eax
+    bfc6:	83 f8 08             	cmp    $0x8,%eax
+    bfc9:	f7 14 91             	notl   (%ecx,%edx,4)
+    bfcc:	89 c2                	mov    %eax,%edx
+    bfce:	75 f3                	jne    0xbfc3
+    bfd0:	8b 75 88             	mov    -0x78(%ebp),%esi
+    bfd3:	83 7e 5c 01          	cmpl   $0x1,0x5c(%esi)
+    bfd7:	7e 1d                	jle    0xbff6
+    bfd9:	8b 4e 3c             	mov    0x3c(%esi),%ecx
+    bfdc:	31 d2                	xor    %edx,%edx
+    bfde:	31 c0                	xor    %eax,%eax
+    bfe0:	8b 9d 64 ff ff ff    	mov    -0x9c(%ebp),%ebx
+    bfe6:	8b 34 91             	mov    (%ecx,%edx,4),%esi
+    bfe9:	83 c0 01             	add    $0x1,%eax
+    bfec:	21 34 93             	and    %esi,(%ebx,%edx,4)
+    bfef:	83 f8 08             	cmp    $0x8,%eax
+    bff2:	89 c2                	mov    %eax,%edx
+    bff4:	75 f0                	jne    0xbfe6
+    bff6:	8b bd 7c ff ff ff    	mov    -0x84(%ebp),%edi
+    bffc:	83 7f 1c 00          	cmpl   $0x0,0x1c(%edi)
+    c000:	0f 85 1c 03 00 00    	jne    0xc322
+    c006:	83 7f 20 00          	cmpl   $0x0,0x20(%edi)
+    c00a:	0f 85 12 03 00 00    	jne    0xc322
+    c010:	83 7f 24 00          	cmpl   $0x0,0x24(%edi)
+    c014:	0f 85 08 03 00 00    	jne    0xc322
+    c01a:	83 7f 28 00          	cmpl   $0x0,0x28(%edi)
+    c01e:	66 90                	xchg   %ax,%ax
+    c020:	0f 85 fc 02 00 00    	jne    0xc322
+    c026:	8b 45 88             	mov    -0x78(%ebp),%eax
+    c029:	83 78 5c 01          	cmpl   $0x1,0x5c(%eax)
+    c02d:	8d 76 00             	lea    0x0(%esi),%esi
+    c030:	7e 14                	jle    0xc046
+    c032:	83 7f 2c 00          	cmpl   $0x0,0x2c(%edi)
+    c036:	0f 85 e6 02 00 00    	jne    0xc322
+    c03c:	f6 47 18 01          	testb  $0x1,0x18(%edi)
+    c040:	0f 85 dc 02 00 00    	jne    0xc322
+    c046:	8b 85 7c ff ff ff    	mov    -0x84(%ebp),%eax
+    c04c:	e8 9f 4f ff ff       	call   0xff0
+    c051:	8b 95 64 ff ff ff    	mov    -0x9c(%ebp),%edx
+    c057:	8d 45 e4             	lea    -0x1c(%ebp),%eax
+    c05a:	c6 45 e8 03          	movb   $0x3,-0x18(%ebp)
+    c05e:	31 c9                	xor    %ecx,%ecx
+    c060:	89 55 e4             	mov    %edx,-0x1c(%ebp)
+    c063:	31 d2                	xor    %edx,%edx
+    c065:	89 04 24             	mov    %eax,(%esp)
+    c068:	8b 45 88             	mov    -0x78(%ebp),%eax
+    c06b:	e8 30 4a ff ff       	call   0xaa0
+    c070:	85 c0                	test   %eax,%eax
+    c072:	89 c6                	mov    %eax,%esi
+    c074:	0f 85 a7 f9 ff ff    	jne    0xba21
+    c07a:	e9 75 04 00 00       	jmp    0xc4f4
+    c07f:	8b 3d 00 00 00 00    	mov    0x0,%edi
+    c085:	8b 55 e0             	mov    -0x20(%ebp),%edx
+    c088:	65 8b 07             	mov    %gs:(%edi),%eax
+    c08b:	8b 00                	mov    (%eax),%eax
+    c08d:	83 78 28 00          	cmpl   $0x0,0x28(%eax)
+    c091:	0f 84 de 03 00 00    	je     0xc475
+    c097:	8b 48 30             	mov    0x30(%eax),%ecx
+    c09a:	89 8d 34 ff ff ff    	mov    %ecx,-0xcc(%ebp)
+    c0a0:	8b 70 34             	mov    0x34(%eax),%esi
+    c0a3:	89 b5 50 ff ff ff    	mov    %esi,-0xb0(%ebp)
+    c0a9:	8b 78 38             	mov    0x38(%eax),%edi
+    c0ac:	89 bd 1c ff ff ff    	mov    %edi,-0xe4(%ebp)
+    c0b2:	8b 40 3c             	mov    0x3c(%eax),%eax
+    c0b5:	89 85 18 ff ff ff    	mov    %eax,-0xe8(%ebp)
+    c0bb:	0f b6 02             	movzbl (%edx),%eax
+    c0be:	8b 04 81             	mov    (%ecx,%eax,4),%eax
+    c0c1:	89 85 60 ff ff ff    	mov    %eax,-0xa0(%ebp)
+    c0c7:	8d 42 01             	lea    0x1(%edx),%eax
     c0ca:	83 bd 60 ff ff ff 00 	cmpl   $0x0,-0xa0(%ebp)
-    c0d1:	0f 84 a0 06 00 00    	je     0xc777
-    c0d7:	31 c0                	xor    %eax,%eax
-    c0d9:	83 c9 ff             	or     $0xffffffff,%ecx
-    c0dc:	89 d7                	mov    %edx,%edi
-    c0de:	f2 ae                	repnz scas %es:(%edi),%al
-    c0e0:	f7 d1                	not    %ecx
-    c0e2:	8d 44 0a ff          	lea    -0x1(%edx,%ecx,1),%eax
-    c0e6:	39 45 84             	cmp    %eax,-0x7c(%ebp)
-    c0e9:	0f 82 88 06 00 00    	jb     0xc777
-    c0ef:	8b 85 60 ff ff ff    	mov    -0xa0(%ebp),%eax
-    c0f5:	8b b5 50 ff ff ff    	mov    -0xb0(%ebp),%esi
-    c0fb:	8b bd 60 ff ff ff    	mov    -0xa0(%ebp),%edi
-    c101:	8b 95 50 ff ff ff    	mov    -0xb0(%ebp),%edx
-    c107:	25 ff ff ff 00       	and    $0xffffff,%eax
-    c10c:	c6 45 f3 00          	movb   $0x0,-0xd(%ebp)
-    c110:	0f b6 34 06          	movzbl (%esi,%eax,1),%esi
-    c114:	c1 ff 18             	sar    $0x18,%edi
-    c117:	01 c2                	add    %eax,%edx
-    c119:	89 bd 0c ff ff ff    	mov    %edi,-0xf4(%ebp)
-    c11f:	89 b5 30 ff ff ff    	mov    %esi,-0xd0(%ebp)
-    c125:	c7 85 6c ff ff ff 00 	movl   $0x0,-0x94(%ebp)
-    c12c:	00 00 00 
-    c12f:	89 85 10 ff ff ff    	mov    %eax,-0xf0(%ebp)
-    c135:	89 95 08 ff ff ff    	mov    %edx,-0xf8(%ebp)
-    c13b:	eb 3f                	jmp    0xc17c
-    c13d:	8d 76 00             	lea    0x0(%esi),%esi
-    c140:	8b 75 84             	mov    -0x7c(%ebp),%esi
-    c143:	85 f6                	test   %esi,%esi
-    c145:	74 1e                	je     0xc165
-    c147:	8b 45 84             	mov    -0x7c(%ebp),%eax
-    c14a:	8b 8d 50 ff ff ff    	mov    -0xb0(%ebp),%ecx
-    c150:	25 ff ff ff 00       	and    $0xffffff,%eax
-    c155:	0f b6 14 01          	movzbl (%ecx,%eax,1),%edx
-    c159:	39 95 30 ff ff ff    	cmp    %edx,-0xd0(%ebp)
-    c15f:	0f 84 e5 07 00 00    	je     0xc94a
-    c165:	83 85 6c ff ff ff 01 	addl   $0x1,-0x94(%ebp)
-    c16c:	81 bd 6c ff ff ff 00 	cmpl   $0x100,-0x94(%ebp)
-    c173:	01 00 00 
-    c176:	0f 84 79 08 00 00    	je     0xc9f5
-    c17c:	0f b6 8d 6c ff ff ff 	movzbl -0x94(%ebp),%ecx
-    c183:	8b b5 34 ff ff ff    	mov    -0xcc(%ebp),%esi
-    c189:	0f b6 c1             	movzbl %cl,%eax
-    c18c:	88 4d f2             	mov    %cl,-0xe(%ebp)
-    c18f:	8b 04 86             	mov    (%esi,%eax,4),%eax
-    c192:	85 c0                	test   %eax,%eax
-    c194:	89 45 84             	mov    %eax,-0x7c(%ebp)
-    c197:	79 a7                	jns    0xc140
-    c199:	8b 95 1c ff ff ff    	mov    -0xe4(%ebp),%edx
-    c19f:	29 c2                	sub    %eax,%edx
-    c1a1:	0f b6 45 f3          	movzbl -0xd(%ebp),%eax
-    c1a5:	89 95 fc fe ff ff    	mov    %edx,-0x104(%ebp)
-    c1ab:	88 85 68 ff ff ff    	mov    %al,-0x98(%ebp)
-    c1b1:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
-    c1b8:	8b 95 fc fe ff ff    	mov    -0x104(%ebp),%edx
-    c1be:	8b 8d fc fe ff ff    	mov    -0x104(%ebp),%ecx
-    c1c4:	8b 12                	mov    (%edx),%edx
-    c1c6:	89 55 84             	mov    %edx,-0x7c(%ebp)
-    c1c9:	0f b6 41 04          	movzbl 0x4(%ecx),%eax
-    c1cd:	83 c1 05             	add    $0x5,%ecx
-    c1d0:	85 d2                	test   %edx,%edx
-    c1d2:	89 8d 74 ff ff ff    	mov    %ecx,-0x8c(%ebp)
-    c1d8:	0f 88 aa 05 00 00    	js     0xc788
-    c1de:	85 c0                	test   %eax,%eax
-    c1e0:	0f 84 5a ff ff ff    	je     0xc140
-    c1e6:	8b b5 74 ff ff ff    	mov    -0x8c(%ebp),%esi
-    c1ec:	31 d2                	xor    %edx,%edx
-    c1ee:	0f b6 8d 68 ff ff ff 	movzbl -0x98(%ebp),%ecx
-    c1f5:	38 0e                	cmp    %cl,(%esi)
-    c1f7:	75 29                	jne    0xc222
-    c1f9:	8b b5 fc fe ff ff    	mov    -0x104(%ebp),%esi
-    c1ff:	89 d1                	mov    %edx,%ecx
-    c201:	eb 10                	jmp    0xc213
-    c203:	90                   	nop
-    c204:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    c208:	0f b6 54 0e 05       	movzbl 0x5(%esi,%ecx,1),%edx
-    c20d:	3a 54 0b 01          	cmp    0x1(%ebx,%ecx,1),%dl
-    c211:	75 07                	jne    0xc21a
-    c213:	83 c1 01             	add    $0x1,%ecx
-    c216:	39 c8                	cmp    %ecx,%eax
-    c218:	77 ee                	ja     0xc208
-    c21a:	39 c8                	cmp    %ecx,%eax
-    c21c:	0f 84 1e ff ff ff    	je     0xc140
-    c222:	8b bd 74 ff ff ff    	mov    -0x8c(%ebp),%edi
-    c228:	01 c7                	add    %eax,%edi
-    c22a:	83 c0 01             	add    $0x1,%eax
-    c22d:	83 e0 03             	and    $0x3,%eax
-    c230:	89 bd fc fe ff ff    	mov    %edi,-0x104(%ebp)
-    c236:	74 80                	je     0xc1b8
-    c238:	89 fa                	mov    %edi,%edx
-    c23a:	29 c2                	sub    %eax,%edx
-    c23c:	83 c2 04             	add    $0x4,%edx
-    c23f:	89 95 fc fe ff ff    	mov    %edx,-0x104(%ebp)
-    c245:	e9 6e ff ff ff       	jmp    0xc1b8
-    c24a:	0f b6 4d e0          	movzbl -0x20(%ebp),%ecx
-    c24e:	b8 01 00 00 00       	mov    $0x1,%eax
-    c253:	8b b5 64 ff ff ff    	mov    -0x9c(%ebp),%esi
-    c259:	89 ca                	mov    %ecx,%edx
-    c25b:	83 e1 1f             	and    $0x1f,%ecx
-    c25e:	c0 ea 05             	shr    $0x5,%dl
-    c261:	0f b6 d2             	movzbl %dl,%edx
-    c264:	d3 e0                	shl    %cl,%eax
-    c266:	09 04 96             	or     %eax,(%esi,%edx,4)
-    c269:	e9 07 fd ff ff       	jmp    0xbf75
-    c26e:	8b 95 70 ff ff ff    	mov    -0x90(%ebp),%edx
-    c274:	8d 75 ec             	lea    -0x14(%ebp),%esi
-    c277:	8b 4d 08             	mov    0x8(%ebp),%ecx
-    c27a:	8b 42 40             	mov    0x40(%edx),%eax
-    c27d:	89 4c 24 08          	mov    %ecx,0x8(%esp)
-    c281:	8b 55 e0             	mov    -0x20(%ebp),%edx
-    c284:	89 34 24             	mov    %esi,(%esp)
-    c287:	89 54 24 04          	mov    %edx,0x4(%esp)
-    c28b:	8b 8d 7c ff ff ff    	mov    -0x84(%ebp),%ecx
-    c291:	8b 95 64 ff ff ff    	mov    -0x9c(%ebp),%edx
-    c297:	e8 e4 d6 ff ff       	call   0x9980
-    c29c:	8b 7d 10             	mov    0x10(%ebp),%edi
-    c29f:	85 c0                	test   %eax,%eax
-    c2a1:	89 07                	mov    %eax,(%edi)
-    c2a3:	0f 84 cc fc ff ff    	je     0xbf75
-    c2a9:	e9 40 01 00 00       	jmp    0xc3ee
-    c2ae:	8b bd 7c ff ff ff    	mov    -0x84(%ebp),%edi
-    c2b4:	8b 57 1c             	mov    0x1c(%edi),%edx
-    c2b7:	3b 95 24 ff ff ff    	cmp    -0xdc(%ebp),%edx
-    c2bd:	0f 84 5c 02 00 00    	je     0xc51f
-    c2c3:	8b 07                	mov    (%edi),%eax
-    c2c5:	8b 4d e0             	mov    -0x20(%ebp),%ecx
-    c2c8:	8b b5 7c ff ff ff    	mov    -0x84(%ebp),%esi
-    c2ce:	89 0c 90             	mov    %ecx,(%eax,%edx,4)
-    c2d1:	83 c2 01             	add    $0x1,%edx
-    c2d4:	89 56 1c             	mov    %edx,0x1c(%esi)
-    c2d7:	e9 99 fc ff ff       	jmp    0xbf75
-    c2dc:	84 d2                	test   %dl,%dl
-    c2de:	0f 84 0e 02 00 00    	je     0xc4f2
-    c2e4:	8b 8d 78 ff ff ff    	mov    -0x88(%ebp),%ecx
-    c2ea:	31 d2                	xor    %edx,%edx
-    c2ec:	c7 01 06 00 00 00    	movl   $0x6,(%ecx)
-    c2f2:	89 0c 24             	mov    %ecx,(%esp)
-    c2f5:	8b 45 88             	mov    -0x78(%ebp),%eax
-    c2f8:	31 c9                	xor    %ecx,%ecx
-    c2fa:	e8 a1 47 ff ff       	call   0xaa0
-    c2ff:	8b b5 78 ff ff ff    	mov    -0x88(%ebp),%esi
-    c305:	c7 06 09 00 00 00    	movl   $0x9,(%esi)
-    c30b:	89 c3                	mov    %eax,%ebx
-    c30d:	e9 ee f3 ff ff       	jmp    0xb700
-    c312:	8b 55 88             	mov    -0x78(%ebp),%edx
-    c315:	8d 5d e4             	lea    -0x1c(%ebp),%ebx
-    c318:	80 4a 58 02          	orb    $0x2,0x58(%edx)
-    c31c:	31 d2                	xor    %edx,%edx
-    c31e:	8b 8d 7c ff ff ff    	mov    -0x84(%ebp),%ecx
-    c324:	c6 45 e8 06          	movb   $0x6,-0x18(%ebp)
-    c328:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
-    c32b:	31 c9                	xor    %ecx,%ecx
-    c32d:	89 1c 24             	mov    %ebx,(%esp)
-    c330:	8b 45 88             	mov    -0x78(%ebp),%eax
-    c333:	e8 68 47 ff ff       	call   0xaa0
-    c338:	85 c0                	test   %eax,%eax
-    c33a:	89 c6                	mov    %eax,%esi
-    c33c:	0f 84 a2 01 00 00    	je     0xc4e4
-    c342:	31 d2                	xor    %edx,%edx
-    c344:	31 c0                	xor    %eax,%eax
-    c346:	8b bd 64 ff ff ff    	mov    -0x9c(%ebp),%edi
-    c34c:	83 3c 97 00          	cmpl   $0x0,(%edi,%edx,4)
-    c350:	0f 85 51 01 00 00    	jne    0xc4a7
-    c356:	83 c0 01             	add    $0x1,%eax
-    c359:	83 f8 08             	cmp    $0x8,%eax
-    c35c:	89 c2                	mov    %eax,%edx
-    c35e:	75 e6                	jne    0xc346
-    c360:	8b 9d 64 ff ff ff    	mov    -0x9c(%ebp),%ebx
-    c366:	89 1c 24             	mov    %ebx,(%esp)
-    c369:	e8 fc ff ff ff       	call   0xc36a
-    c36e:	e9 9e f6 ff ff       	jmp    0xba11
-    c373:	83 3f 00             	cmpl   $0x0,(%edi)
-    c376:	0f 84 95 f6 ff ff    	je     0xba11
-    c37c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    c380:	e9 5d f2 ff ff       	jmp    0xb5e2
-    c385:	8b 95 7c ff ff ff    	mov    -0x84(%ebp),%edx
-    c38b:	80 4a 18 01          	orb    $0x1,0x18(%edx)
-    c38f:	f7 45 08 00 01 00 00 	testl  $0x100,0x8(%ebp)
-    c396:	74 0c                	je     0xc3a4
-    c398:	8b 8d 64 ff ff ff    	mov    -0x9c(%ebp),%ecx
-    c39e:	81 09 00 04 00 00    	orl    $0x400,(%ecx)
-    c3a4:	8b 9d 70 ff ff ff    	mov    -0x90(%ebp),%ebx
-    c3aa:	8b b5 48 ff ff ff    	mov    -0xb8(%ebp),%esi
-    c3b0:	8b 4d 08             	mov    0x8(%ebp),%ecx
-    c3b3:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
-    c3b9:	01 73 28             	add    %esi,0x28(%ebx)
-    c3bc:	89 da                	mov    %ebx,%edx
-    c3be:	e8 9d 3d ff ff       	call   0x160
-    c3c3:	8b bd 78 ff ff ff    	mov    -0x88(%ebp),%edi
-    c3c9:	89 85 48 ff ff ff    	mov    %eax,-0xb8(%ebp)
-    c3cf:	0f b6 47 04          	movzbl 0x4(%edi),%eax
-    c3d3:	c7 85 14 ff ff ff 01 	movl   $0x1,-0xec(%ebp)
-    c3da:	00 00 00 
-    c3dd:	3c 02                	cmp    $0x2,%al
-    c3df:	0f 85 58 f4 ff ff    	jne    0xb83d
-    c3e5:	8b 45 10             	mov    0x10(%ebp),%eax
-    c3e8:	c7 00 02 00 00 00    	movl   $0x2,(%eax)
-    c3ee:	8b 9d 64 ff ff ff    	mov    -0x9c(%ebp),%ebx
-    c3f4:	89 1c 24             	mov    %ebx,(%esp)
-    c3f7:	e8 fc ff ff ff       	call   0xc3f8
-    c3fc:	8b 85 7c ff ff ff    	mov    -0x84(%ebp),%eax
-    c402:	e8 e9 4b ff ff       	call   0xff0
-    c407:	8b 75 10             	mov    0x10(%ebp),%esi
-    c40a:	83 3e 00             	cmpl   $0x0,(%esi)
-    c40d:	0f 85 cf f1 ff ff    	jne    0xb5e2
-    c413:	31 f6                	xor    %esi,%esi
-    c415:	e9 f7 f5 ff ff       	jmp    0xba11
-    c41a:	8b 45 10             	mov    0x10(%ebp),%eax
-    c41d:	31 f6                	xor    %esi,%esi
-    c41f:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
-    c425:	e9 ba f1 ff ff       	jmp    0xb5e4
-    c42a:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
-    c430:	c6 42 04 01          	movb   $0x1,0x4(%edx)
-    c434:	e9 0c f4 ff ff       	jmp    0xb845
-    c439:	8b 8d 64 ff ff ff    	mov    -0x9c(%ebp),%ecx
-    c43f:	89 0c 24             	mov    %ecx,(%esp)
-    c442:	e8 fc ff ff ff       	call   0xc443
-    c447:	8b 9d 7c ff ff ff    	mov    -0x84(%ebp),%ebx
-    c44d:	89 1c 24             	mov    %ebx,(%esp)
-    c450:	e8 fc ff ff ff       	call   0xc451
-    c455:	8b 75 10             	mov    0x10(%ebp),%esi
-    c458:	c7 06 0c 00 00 00    	movl   $0xc,(%esi)
-    c45e:	31 f6                	xor    %esi,%esi
-    c460:	e9 7f f1 ff ff       	jmp    0xb5e4
-    c465:	31 c0                	xor    %eax,%eax
-    c467:	83 c9 ff             	or     $0xffffffff,%ecx
-    c46a:	89 d7                	mov    %edx,%edi
-    c46c:	f2 ae                	repnz scas %es:(%edi),%al
-    c46e:	f7 d1                	not    %ecx
-    c470:	8d 71 ff             	lea    -0x1(%ecx),%esi
-    c473:	83 fe 01             	cmp    $0x1,%esi
-    c476:	0f 85 fb 02 00 00    	jne    0xc777
-    c47c:	0f b6 12             	movzbl (%edx),%edx
-    c47f:	89 d0                	mov    %edx,%eax
-    c481:	83 e2 1f             	and    $0x1f,%edx
-    c484:	89 d1                	mov    %edx,%ecx
-    c486:	d3 e6                	shl    %cl,%esi
-    c488:	89 f2                	mov    %esi,%edx
-    c48a:	8b b5 64 ff ff ff    	mov    -0x9c(%ebp),%esi
-    c490:	c0 e8 05             	shr    $0x5,%al
-    c493:	0f b6 c0             	movzbl %al,%eax
-    c496:	09 14 86             	or     %edx,(%esi,%eax,4)
-    c499:	8b 55 10             	mov    0x10(%ebp),%edx
-    c49c:	c7 02 00 00 00 00    	movl   $0x0,(%edx)
-    c4a2:	e9 ce fa ff ff       	jmp    0xbf75
-    c4a7:	8b 85 64 ff ff ff    	mov    -0x9c(%ebp),%eax
-    c4ad:	31 c9                	xor    %ecx,%ecx
-    c4af:	31 d2                	xor    %edx,%edx
-    c4b1:	c6 45 e8 03          	movb   $0x3,-0x18(%ebp)
-    c4b5:	89 45 e4             	mov    %eax,-0x1c(%ebp)
-    c4b8:	89 1c 24             	mov    %ebx,(%esp)
-    c4bb:	8b 45 88             	mov    -0x78(%ebp),%eax
-    c4be:	e8 dd 45 ff ff       	call   0xaa0
-    c4c3:	85 c0                	test   %eax,%eax
-    c4c5:	74 1d                	je     0xc4e4
-    c4c7:	c7 04 24 0a 00 00 00 	movl   $0xa,(%esp)
-    c4ce:	89 c2                	mov    %eax,%edx
-    c4d0:	8b 45 88             	mov    -0x78(%ebp),%eax
-    c4d3:	89 f1                	mov    %esi,%ecx
-    c4d5:	e8 26 47 ff ff       	call   0xc00
-    c4da:	85 c0                	test   %eax,%eax
-    c4dc:	89 c6                	mov    %eax,%esi
-    c4de:	0f 85 2d f5 ff ff    	jne    0xba11
-    c4e4:	8b 4d 10             	mov    0x10(%ebp),%ecx
-    c4e7:	c7 01 0c 00 00 00    	movl   $0xc,(%ecx)
-    c4ed:	e9 fc fe ff ff       	jmp    0xc3ee
-    c4f2:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
-    c4f8:	31 c9                	xor    %ecx,%ecx
-    c4fa:	89 14 24             	mov    %edx,(%esp)
-    c4fd:	8b 45 88             	mov    -0x78(%ebp),%eax
-    c500:	31 d2                	xor    %edx,%edx
-    c502:	e8 99 45 ff ff       	call   0xaa0
-    c507:	85 c0                	test   %eax,%eax
-    c509:	89 c6                	mov    %eax,%esi
-    c50b:	0f 85 35 f2 ff ff    	jne    0xb746
-    c511:	8b 4d 10             	mov    0x10(%ebp),%ecx
-    c514:	c7 01 0c 00 00 00    	movl   $0xc,(%ecx)
-    c51a:	e9 c5 f0 ff ff       	jmp    0xb5e4
-    c51f:	8b 85 24 ff ff ff    	mov    -0xdc(%ebp),%eax
-    c525:	8d 44 00 01          	lea    0x1(%eax,%eax,1),%eax
-    c529:	89 85 24 ff ff ff    	mov    %eax,-0xdc(%ebp)
-    c52f:	c1 e0 02             	shl    $0x2,%eax
-    c532:	89 44 24 04          	mov    %eax,0x4(%esp)
-    c536:	8b 95 7c ff ff ff    	mov    -0x84(%ebp),%edx
-    c53c:	8b 02                	mov    (%edx),%eax
-    c53e:	89 04 24             	mov    %eax,(%esp)
-    c541:	e8 fc ff ff ff       	call   0xc542
-    c546:	85 c0                	test   %eax,%eax
-    c548:	74 9a                	je     0xc4e4
-    c54a:	8b 8d 7c ff ff ff    	mov    -0x84(%ebp),%ecx
-    c550:	89 01                	mov    %eax,(%ecx)
-    c552:	8b 51 1c             	mov    0x1c(%ecx),%edx
-    c555:	e9 6b fd ff ff       	jmp    0xc2c5
-    c55a:	89 f9                	mov    %edi,%ecx
-    c55c:	2b 8d 60 ff ff ff    	sub    -0xa0(%ebp),%ecx
-    c562:	89 95 68 ff ff ff    	mov    %edx,-0x98(%ebp)
-    c568:	8b 11                	mov    (%ecx),%edx
-    c56a:	31 c0                	xor    %eax,%eax
-    c56c:	8d 79 05             	lea    0x5(%ecx),%edi
-    c56f:	85 d2                	test   %edx,%edx
-    c571:	89 95 60 ff ff ff    	mov    %edx,-0xa0(%ebp)
-    c577:	0f b6 71 04          	movzbl 0x4(%ecx),%esi
-    c57b:	0f 88 92 00 00 00    	js     0xc613
-    c581:	85 f6                	test   %esi,%esi
-    c583:	0f 84 5e 04 00 00    	je     0xc9e7
-    c589:	8b 55 84             	mov    -0x7c(%ebp),%edx
-    c58c:	c7 85 74 ff ff ff 00 	movl   $0x0,-0x8c(%ebp)
-    c593:	00 00 00 
-    c596:	0f b6 07             	movzbl (%edi),%eax
-    c599:	3a 02                	cmp    (%edx),%al
-    c59b:	75 34                	jne    0xc5d1
-    c59d:	8b 85 74 ff ff ff    	mov    -0x8c(%ebp),%eax
-    c5a3:	89 bd 6c ff ff ff    	mov    %edi,-0x94(%ebp)
-    c5a9:	eb 11                	jmp    0xc5bc
-    c5ab:	8b bd 68 ff ff ff    	mov    -0x98(%ebp),%edi
-    c5b1:	0f b6 54 01 05       	movzbl 0x5(%ecx,%eax,1),%edx
-    c5b6:	3a 54 07 01          	cmp    0x1(%edi,%eax,1),%dl
-    c5ba:	75 07                	jne    0xc5c3
-    c5bc:	83 c0 01             	add    $0x1,%eax
-    c5bf:	39 c6                	cmp    %eax,%esi
-    c5c1:	77 e8                	ja     0xc5ab
-    c5c3:	39 c6                	cmp    %eax,%esi
-    c5c5:	8b bd 6c ff ff ff    	mov    -0x94(%ebp),%edi
-    c5cb:	0f 84 16 04 00 00    	je     0xc9e7
-    c5d1:	8d 0c 37             	lea    (%edi,%esi,1),%ecx
-    c5d4:	83 c6 01             	add    $0x1,%esi
-    c5d7:	89 f0                	mov    %esi,%eax
-    c5d9:	83 e0 03             	and    $0x3,%eax
-    c5dc:	74 8a                	je     0xc568
-    c5de:	ba 04 00 00 00       	mov    $0x4,%edx
-    c5e3:	29 c2                	sub    %eax,%edx
-    c5e5:	01 d1                	add    %edx,%ecx
-    c5e7:	e9 7c ff ff ff       	jmp    0xc568
-    c5ec:	0f b6 54 01 05       	movzbl 0x5(%ecx,%eax,1),%edx
-    c5f1:	88 95 6c ff ff ff    	mov    %dl,-0x94(%ebp)
-    c5f7:	8b 95 68 ff ff ff    	mov    -0x98(%ebp),%edx
-    c5fd:	0f b6 54 02 01       	movzbl 0x1(%edx,%eax,1),%edx
-    c602:	38 95 6c ff ff ff    	cmp    %dl,-0x94(%ebp)
-    c608:	88 95 74 ff ff ff    	mov    %dl,-0x8c(%ebp)
-    c60e:	75 24                	jne    0xc634
-    c610:	83 c0 01             	add    $0x1,%eax
-    c613:	39 c6                	cmp    %eax,%esi
-    c615:	77 d5                	ja     0xc5ec
-    c617:	0f 84 5b 04 00 00    	je     0xca78
-    c61d:	0f b6 14 07          	movzbl (%edi,%eax,1),%edx
-    c621:	88 95 6c ff ff ff    	mov    %dl,-0x94(%ebp)
-    c627:	8b 55 84             	mov    -0x7c(%ebp),%edx
-    c62a:	0f b6 04 02          	movzbl (%edx,%eax,1),%eax
-    c62e:	88 85 74 ff ff ff    	mov    %al,-0x8c(%ebp)
-    c634:	0f b6 85 74 ff ff ff 	movzbl -0x8c(%ebp),%eax
-    c63b:	38 85 6c ff ff ff    	cmp    %al,-0x94(%ebp)
-    c641:	0f 87 23 04 00 00    	ja     0xca6a
-    c647:	8d 4c 31 05          	lea    0x5(%ecx,%esi,1),%ecx
-    c64b:	31 c0                	xor    %eax,%eax
-    c64d:	8b 95 68 ff ff ff    	mov    -0x98(%ebp),%edx
-    c653:	89 8d 5c ff ff ff    	mov    %ecx,-0xa4(%ebp)
-    c659:	eb 30                	jmp    0xc68b
-    c65b:	8b 8d 5c ff ff ff    	mov    -0xa4(%ebp),%ecx
-    c661:	0f b6 09             	movzbl (%ecx),%ecx
-    c664:	88 8d 6c ff ff ff    	mov    %cl,-0x94(%ebp)
-    c66a:	0f b6 4c 02 01       	movzbl 0x1(%edx,%eax,1),%ecx
-    c66f:	83 85 5c ff ff ff 01 	addl   $0x1,-0xa4(%ebp)
-    c676:	38 8d 6c ff ff ff    	cmp    %cl,-0x94(%ebp)
-    c67c:	88 8d 74 ff ff ff    	mov    %cl,-0x8c(%ebp)
-    c682:	0f 85 d7 03 00 00    	jne    0xca5f
-    c688:	83 c0 01             	add    $0x1,%eax
-    c68b:	39 c6                	cmp    %eax,%esi
-    c68d:	77 cc                	ja     0xc65b
-    c68f:	89 95 68 ff ff ff    	mov    %edx,-0x98(%ebp)
-    c695:	0f 84 23 04 00 00    	je     0xcabe
-    c69b:	8d 0c 07             	lea    (%edi,%eax,1),%ecx
-    c69e:	8b 55 84             	mov    -0x7c(%ebp),%edx
-    c6a1:	0f b6 0c 31          	movzbl (%ecx,%esi,1),%ecx
-    c6a5:	88 8d 6c ff ff ff    	mov    %cl,-0x94(%ebp)
-    c6ab:	0f b6 04 02          	movzbl (%edx,%eax,1),%eax
-    c6af:	88 85 74 ff ff ff    	mov    %al,-0x8c(%ebp)
-    c6b5:	0f b6 8d 74 ff ff ff 	movzbl -0x8c(%ebp),%ecx
-    c6bc:	38 8d 6c ff ff ff    	cmp    %cl,-0x94(%ebp)
-    c6c2:	0f 82 d5 03 00 00    	jb     0xca9d
-    c6c8:	8b 95 68 ff ff ff    	mov    -0x98(%ebp),%edx
-    c6ce:	89 f0                	mov    %esi,%eax
-    c6d0:	31 c9                	xor    %ecx,%ecx
-    c6d2:	89 c6                	mov    %eax,%esi
-    c6d4:	eb 03                	jmp    0xc6d9
-    c6d6:	83 c1 01             	add    $0x1,%ecx
-    c6d9:	0f b6 04 0f          	movzbl (%edi,%ecx,1),%eax
-    c6dd:	88 85 6c ff ff ff    	mov    %al,-0x94(%ebp)
-    c6e3:	0f b6 44 0a 01       	movzbl 0x1(%edx,%ecx,1),%eax
-    c6e8:	38 85 6c ff ff ff    	cmp    %al,-0x94(%ebp)
-    c6ee:	88 85 74 ff ff ff    	mov    %al,-0x8c(%ebp)
-    c6f4:	74 e0                	je     0xc6d6
-    c6f6:	89 f0                	mov    %esi,%eax
-    c6f8:	01 cf                	add    %ecx,%edi
-    c6fa:	8d 34 0a             	lea    (%edx,%ecx,1),%esi
-    c6fd:	89 b5 5c ff ff ff    	mov    %esi,-0xa4(%ebp)
-    c703:	31 f6                	xor    %esi,%esi
-    c705:	89 bd 68 ff ff ff    	mov    %edi,-0x98(%ebp)
-    c70b:	89 95 10 ff ff ff    	mov    %edx,-0xf0(%ebp)
-    c711:	eb 1f                	jmp    0xc732
-    c713:	8b 95 5c ff ff ff    	mov    -0xa4(%ebp),%edx
-    c719:	0f b6 52 01          	movzbl 0x1(%edx),%edx
-    c71d:	88 95 74 ff ff ff    	mov    %dl,-0x8c(%ebp)
-    c723:	8b 95 68 ff ff ff    	mov    -0x98(%ebp),%edx
-    c729:	0f b6 12             	movzbl (%edx),%edx
-    c72c:	88 95 6c ff ff ff    	mov    %dl,-0x94(%ebp)
-    c732:	89 f2                	mov    %esi,%edx
-    c734:	0f b6 bd 6c ff ff ff 	movzbl -0x94(%ebp),%edi
-    c73b:	83 c1 01             	add    $0x1,%ecx
-    c73e:	0f b6 b5 74 ff ff ff 	movzbl -0x8c(%ebp),%esi
-    c745:	c1 e2 08             	shl    $0x8,%edx
-    c748:	83 85 5c ff ff ff 01 	addl   $0x1,-0xa4(%ebp)
-    c74f:	83 85 68 ff ff ff 01 	addl   $0x1,-0x98(%ebp)
-    c756:	29 fe                	sub    %edi,%esi
-    c758:	01 d6                	add    %edx,%esi
-    c75a:	39 c8                	cmp    %ecx,%eax
-    c75c:	77 b5                	ja     0xc713
-    c75e:	8b 95 10 ff ff ff    	mov    -0xf0(%ebp),%edx
-    c764:	e9 17 03 00 00       	jmp    0xca80
-    c769:	8b 55 10             	mov    0x10(%ebp),%edx
-    c76c:	c7 02 07 00 00 00    	movl   $0x7,(%edx)
-    c772:	e9 77 fc ff ff       	jmp    0xc3ee
-    c777:	b8 03 00 00 00       	mov    $0x3,%eax
-    c77c:	8b 7d 10             	mov    0x10(%ebp),%edi
-    c77f:	89 07                	mov    %eax,(%edi)
-    c781:	e9 68 fc ff ff       	jmp    0xc3ee
-    c786:	66 90                	xchg   %ax,%ax
-    c788:	85 c0                	test   %eax,%eax
-    c78a:	0f 84 44 02 00 00    	je     0xc9d4
-    c790:	0f b6 11             	movzbl (%ecx),%edx
-    c793:	0f b6 8d 68 ff ff ff 	movzbl -0x98(%ebp),%ecx
-    c79a:	88 95 5c ff ff ff    	mov    %dl,-0xa4(%ebp)
-    c7a0:	31 d2                	xor    %edx,%edx
-    c7a2:	38 8d 5c ff ff ff    	cmp    %cl,-0xa4(%ebp)
-    c7a8:	0f 85 13 02 00 00    	jne    0xc9c1
-    c7ae:	8b bd fc fe ff ff    	mov    -0x104(%ebp),%edi
-    c7b4:	89 c6                	mov    %eax,%esi
-    c7b6:	89 d1                	mov    %edx,%ecx
-    c7b8:	eb 18                	jmp    0xc7d2
-    c7ba:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
-    c7c0:	0f b6 54 0f 05       	movzbl 0x5(%edi,%ecx,1),%edx
-    c7c5:	0f b6 44 0b 01       	movzbl 0x1(%ebx,%ecx,1),%eax
-    c7ca:	38 c2                	cmp    %al,%dl
-    c7cc:	0f 85 55 01 00 00    	jne    0xc927
-    c7d2:	83 c1 01             	add    $0x1,%ecx
-    c7d5:	39 ce                	cmp    %ecx,%esi
-    c7d7:	77 e7                	ja     0xc7c0
-    c7d9:	89 bd fc fe ff ff    	mov    %edi,-0x104(%ebp)
-    c7df:	89 f0                	mov    %esi,%eax
-    c7e1:	89 ca                	mov    %ecx,%edx
-    c7e3:	0f 84 eb 01 00 00    	je     0xc9d4
-    c7e9:	8b 8d 74 ff ff ff    	mov    -0x8c(%ebp),%ecx
-    c7ef:	0f b6 7c 15 f3       	movzbl -0xd(%ebp,%edx,1),%edi
-    c7f4:	0f b6 34 11          	movzbl (%ecx,%edx,1),%esi
-    c7f8:	89 f2                	mov    %esi,%edx
-    c7fa:	89 f9                	mov    %edi,%ecx
-    c7fc:	38 ca                	cmp    %cl,%dl
-    c7fe:	0f 87 f5 00 00 00    	ja     0xc8f9
-    c804:	8b bd 74 ff ff ff    	mov    -0x8c(%ebp),%edi
-    c80a:	8b 95 fc fe ff ff    	mov    -0x104(%ebp),%edx
-    c810:	0f b6 34 07          	movzbl (%edi,%eax,1),%esi
-    c814:	8d 7c 02 06          	lea    0x6(%edx,%eax,1),%edi
-    c818:	31 d2                	xor    %edx,%edx
-    c81a:	89 f1                	mov    %esi,%ecx
-    c81c:	3a 8d 68 ff ff ff    	cmp    -0x98(%ebp),%cl
-    c822:	0f 85 b3 01 00 00    	jne    0xc9db
-    c828:	89 c6                	mov    %eax,%esi
-    c82a:	89 f9                	mov    %edi,%ecx
-    c82c:	eb 21                	jmp    0xc84f
-    c82e:	66 90                	xchg   %ax,%ax
-    c830:	0f b6 01             	movzbl (%ecx),%eax
-    c833:	83 c1 01             	add    $0x1,%ecx
-    c836:	88 85 fc fe ff ff    	mov    %al,-0x104(%ebp)
-    c83c:	0f b6 7c 13 01       	movzbl 0x1(%ebx,%edx,1),%edi
-    c841:	89 f8                	mov    %edi,%eax
-    c843:	38 85 fc fe ff ff    	cmp    %al,-0x104(%ebp)
-    c849:	0f 85 eb 00 00 00    	jne    0xc93a
-    c84f:	83 c2 01             	add    $0x1,%edx
-    c852:	39 d6                	cmp    %edx,%esi
-    c854:	77 da                	ja     0xc830
-    c856:	89 f0                	mov    %esi,%eax
-    c858:	74 1d                	je     0xc877
-    c85a:	8b 8d 74 ff ff ff    	mov    -0x8c(%ebp),%ecx
-    c860:	0f b6 7c 15 f3       	movzbl -0xd(%ebp,%edx,1),%edi
-    c865:	01 d1                	add    %edx,%ecx
-    c867:	0f b6 34 31          	movzbl (%ecx,%esi,1),%esi
-    c86b:	89 f2                	mov    %esi,%edx
-    c86d:	89 f9                	mov    %edi,%ecx
-    c86f:	38 ca                	cmp    %cl,%dl
-    c871:	0f 82 82 00 00 00    	jb     0xc8f9
-    c877:	0f b6 8d 5c ff ff ff 	movzbl -0xa4(%ebp),%ecx
-    c87e:	31 d2                	xor    %edx,%edx
-    c880:	38 8d 68 ff ff ff    	cmp    %cl,-0x98(%ebp)
-    c886:	75 20                	jne    0xc8a8
-    c888:	8b b5 74 ff ff ff    	mov    -0x8c(%ebp),%esi
-    c88e:	89 c7                	mov    %eax,%edi
-    c890:	83 c2 01             	add    $0x1,%edx
-    c893:	0f b6 0c 16          	movzbl (%esi,%edx,1),%ecx
-    c897:	0f b6 44 13 01       	movzbl 0x1(%ebx,%edx,1),%eax
-    c89c:	38 c1                	cmp    %al,%cl
-    c89e:	74 f0                	je     0xc890
-    c8a0:	88 85 68 ff ff ff    	mov    %al,-0x98(%ebp)
-    c8a6:	89 f8                	mov    %edi,%eax
-    c8a8:	8b bd 74 ff ff ff    	mov    -0x8c(%ebp),%edi
-    c8ae:	31 f6                	xor    %esi,%esi
-    c8b0:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
-    c8b6:	0f b6 85 68 ff ff ff 	movzbl -0x98(%ebp),%eax
-    c8bd:	01 d7                	add    %edx,%edi
-    c8bf:	eb 08                	jmp    0xc8c9
-    c8c1:	0f b6 44 15 f3       	movzbl -0xd(%ebp,%edx,1),%eax
-    c8c6:	0f b6 0f             	movzbl (%edi),%ecx
-    c8c9:	0f b6 c0             	movzbl %al,%eax
-    c8cc:	0f b6 c9             	movzbl %cl,%ecx
-    c8cf:	c1 e6 08             	shl    $0x8,%esi
-    c8d2:	29 c8                	sub    %ecx,%eax
-    c8d4:	83 c2 01             	add    $0x1,%edx
-    c8d7:	83 c7 01             	add    $0x1,%edi
-    c8da:	39 95 74 ff ff ff    	cmp    %edx,-0x8c(%ebp)
-    c8e0:	8d 34 30             	lea    (%eax,%esi,1),%esi
-    c8e3:	77 dc                	ja     0xc8c1
-    c8e5:	8b bd 18 ff ff ff    	mov    -0xe8(%ebp),%edi
-    c8eb:	2b 75 84             	sub    -0x7c(%ebp),%esi
-    c8ee:	8b 34 b7             	mov    (%edi,%esi,4),%esi
-    c8f1:	89 75 84             	mov    %esi,-0x7c(%ebp)
-    c8f4:	e9 47 f8 ff ff       	jmp    0xc140
-    c8f9:	8b b5 74 ff ff ff    	mov    -0x8c(%ebp),%esi
-    c8ff:	01 c0                	add    %eax,%eax
-    c901:	01 c6                	add    %eax,%esi
-    c903:	83 c0 01             	add    $0x1,%eax
-    c906:	83 e0 03             	and    $0x3,%eax
-    c909:	89 b5 fc fe ff ff    	mov    %esi,-0x104(%ebp)
-    c90f:	0f 84 a3 f8 ff ff    	je     0xc1b8
-    c915:	29 c6                	sub    %eax,%esi
-    c917:	89 f0                	mov    %esi,%eax
-    c919:	83 c0 04             	add    $0x4,%eax
-    c91c:	89 85 fc fe ff ff    	mov    %eax,-0x104(%ebp)
-    c922:	e9 91 f8 ff ff       	jmp    0xc1b8
-    c927:	89 f1                	mov    %esi,%ecx
-    c929:	89 d6                	mov    %edx,%esi
-    c92b:	89 bd fc fe ff ff    	mov    %edi,-0x104(%ebp)
-    c931:	89 c7                	mov    %eax,%edi
-    c933:	89 c8                	mov    %ecx,%eax
-    c935:	e9 be fe ff ff       	jmp    0xc7f8
-    c93a:	0f b6 95 fc fe ff ff 	movzbl -0x104(%ebp),%edx
-    c941:	89 f0                	mov    %esi,%eax
-    c943:	89 d6                	mov    %edx,%esi
-    c945:	e9 21 ff ff ff       	jmp    0xc86b
-    c94a:	8b 55 84             	mov    -0x7c(%ebp),%edx
-    c94d:	c1 fa 18             	sar    $0x18,%edx
-    c950:	39 95 0c ff ff ff    	cmp    %edx,-0xf4(%ebp)
-    c956:	0f 85 09 f8 ff ff    	jne    0xc165
-    c95c:	8b b5 10 ff ff ff    	mov    -0xf0(%ebp),%esi
-    c962:	0f b6 54 31 01       	movzbl 0x1(%ecx,%esi,1),%edx
-    c967:	3a 54 01 01          	cmp    0x1(%ecx,%eax,1),%dl
-    c96b:	0f 85 f4 f7 ff ff    	jne    0xc165
-    c971:	31 d2                	xor    %edx,%edx
-    c973:	01 c8                	add    %ecx,%eax
-    c975:	8b b5 08 ff ff ff    	mov    -0xf8(%ebp),%esi
-    c97b:	eb 12                	jmp    0xc98f
-    c97d:	8d 76 00             	lea    0x0(%esi),%esi
-    c980:	0f b6 4c 16 01       	movzbl 0x1(%esi,%edx,1),%ecx
-    c985:	3a 4c 10 01          	cmp    0x1(%eax,%edx,1),%cl
-    c989:	0f 85 d6 f7 ff ff    	jne    0xc165
-    c98f:	83 c2 01             	add    $0x1,%edx
-    c992:	39 95 30 ff ff ff    	cmp    %edx,-0xd0(%ebp)
-    c998:	73 e6                	jae    0xc980
-    c99a:	8b 95 6c ff ff ff    	mov    -0x94(%ebp),%edx
-    c9a0:	b8 01 00 00 00       	mov    $0x1,%eax
-    c9a5:	8b 8d 6c ff ff ff    	mov    -0x94(%ebp),%ecx
-    c9ab:	8b bd 64 ff ff ff    	mov    -0x9c(%ebp),%edi
-    c9b1:	c1 ea 05             	shr    $0x5,%edx
-    c9b4:	83 e1 1f             	and    $0x1f,%ecx
-    c9b7:	d3 e0                	shl    %cl,%eax
-    c9b9:	09 04 97             	or     %eax,(%edi,%edx,4)
-    c9bc:	e9 a4 f7 ff ff       	jmp    0xc165
-    c9c1:	0f b6 bd 68 ff ff ff 	movzbl -0x98(%ebp),%edi
-    c9c8:	0f b6 b5 5c ff ff ff 	movzbl -0xa4(%ebp),%esi
-    c9cf:	e9 24 fe ff ff       	jmp    0xc7f8
-    c9d4:	31 f6                	xor    %esi,%esi
-    c9d6:	e9 0a ff ff ff       	jmp    0xc8e5
-    c9db:	0f b6 bd 68 ff ff ff 	movzbl -0x98(%ebp),%edi
-    c9e2:	e9 84 fe ff ff       	jmp    0xc86b
-    c9e7:	8b 95 68 ff ff ff    	mov    -0x98(%ebp),%edx
-    c9ed:	01 75 84             	add    %esi,-0x7c(%ebp)
-    c9f0:	e9 d5 f6 ff ff       	jmp    0xc0ca
-    c9f5:	8b 85 7c ff ff ff    	mov    -0x84(%ebp),%eax
-    c9fb:	8b 50 24             	mov    0x24(%eax),%edx
-    c9fe:	3b 95 20 ff ff ff    	cmp    -0xe0(%ebp),%edx
-    ca04:	74 1d                	je     0xca23
-    ca06:	8b 40 08             	mov    0x8(%eax),%eax
-    ca09:	8b b5 60 ff ff ff    	mov    -0xa0(%ebp),%esi
-    ca0f:	8b bd 7c ff ff ff    	mov    -0x84(%ebp),%edi
-    ca15:	89 34 90             	mov    %esi,(%eax,%edx,4)
-    ca18:	83 c2 01             	add    $0x1,%edx
-    ca1b:	89 57 24             	mov    %edx,0x24(%edi)
-    ca1e:	e9 76 fa ff ff       	jmp    0xc499
-    ca23:	8b b5 20 ff ff ff    	mov    -0xe0(%ebp),%esi
-    ca29:	8d 74 36 01          	lea    0x1(%esi,%esi,1),%esi
-    ca2d:	89 f0                	mov    %esi,%eax
-    ca2f:	c1 e0 02             	shl    $0x2,%eax
-    ca32:	89 b5 20 ff ff ff    	mov    %esi,-0xe0(%ebp)
-    ca38:	89 44 24 04          	mov    %eax,0x4(%esp)
-    ca3c:	8b bd 7c ff ff ff    	mov    -0x84(%ebp),%edi
-    ca42:	8b 47 08             	mov    0x8(%edi),%eax
-    ca45:	89 04 24             	mov    %eax,(%esp)
-    ca48:	e8 fc ff ff ff       	call   0xca49
-    ca4d:	85 c0                	test   %eax,%eax
-    ca4f:	74 20                	je     0xca71
-    ca51:	8b 95 7c ff ff ff    	mov    -0x84(%ebp),%edx
-    ca57:	89 42 08             	mov    %eax,0x8(%edx)
-    ca5a:	8b 52 24             	mov    0x24(%edx),%edx
-    ca5d:	eb aa                	jmp    0xca09
-    ca5f:	89 95 68 ff ff ff    	mov    %edx,-0x98(%ebp)
-    ca65:	e9 4b fc ff ff       	jmp    0xc6b5
-    ca6a:	01 f6                	add    %esi,%esi
-    ca6c:	e9 60 fb ff ff       	jmp    0xc5d1
-    ca71:	b0 0c                	mov    $0xc,%al
-    ca73:	e9 04 fd ff ff       	jmp    0xc77c
-    ca78:	8b 95 68 ff ff ff    	mov    -0x98(%ebp),%edx
-    ca7e:	31 f6                	xor    %esi,%esi
-    ca80:	8b 8d 18 ff ff ff    	mov    -0xe8(%ebp),%ecx
-    ca86:	2b b5 60 ff ff ff    	sub    -0xa0(%ebp),%esi
-    ca8c:	01 45 84             	add    %eax,-0x7c(%ebp)
-    ca8f:	8b 34 b1             	mov    (%ecx,%esi,4),%esi
-    ca92:	89 b5 60 ff ff ff    	mov    %esi,-0xa0(%ebp)
-    ca98:	e9 2d f6 ff ff       	jmp    0xc0ca
-    ca9d:	01 f6                	add    %esi,%esi
-    ca9f:	8d 0c 37             	lea    (%edi,%esi,1),%ecx
-    caa2:	83 c6 01             	add    $0x1,%esi
-    caa5:	89 f0                	mov    %esi,%eax
-    caa7:	83 e0 03             	and    $0x3,%eax
-    caaa:	0f 84 b8 fa ff ff    	je     0xc568
-    cab0:	be 04 00 00 00       	mov    $0x4,%esi
-    cab5:	29 c6                	sub    %eax,%esi
-    cab7:	01 f1                	add    %esi,%ecx
-    cab9:	e9 aa fa ff ff       	jmp    0xc568
-    cabe:	8b 95 68 ff ff ff    	mov    -0x98(%ebp),%edx
-    cac4:	e9 07 fc ff ff       	jmp    0xc6d0
-    cac9:	89 f1                	mov    %esi,%ecx
-    cacb:	89 f0                	mov    %esi,%eax
-    cacd:	eb 0c                	jmp    0xcadb
-    cacf:	0f be 3a             	movsbl (%edx),%edi
-    cad2:	83 e8 01             	sub    $0x1,%eax
-    cad5:	83 c2 01             	add    $0x1,%edx
-    cad8:	8d 0c cf             	lea    (%edi,%ecx,8),%ecx
-    cadb:	85 c0                	test   %eax,%eax
-    cadd:	7f f0                	jg     0xcacf
-    cadf:	89 ca                	mov    %ecx,%edx
-    cae1:	89 c8                	mov    %ecx,%eax
-    cae3:	c1 fa 1f             	sar    $0x1f,%edx
-    cae6:	f7 bd 44 ff ff ff    	idivl  -0xbc(%ebp)
-    caec:	8b 85 40 ff ff ff    	mov    -0xc0(%ebp),%eax
-    caf2:	8b 3c d0             	mov    (%eax,%edx,8),%edi
-    caf5:	89 95 74 ff ff ff    	mov    %edx,-0x8c(%ebp)
-    cafb:	85 ff                	test   %edi,%edi
-    cafd:	0f 84 40 f4 ff ff    	je     0xbf43
-    cb03:	89 ca                	mov    %ecx,%edx
-    cb05:	89 c8                	mov    %ecx,%eax
-    cb07:	c1 fa 1f             	sar    $0x1f,%edx
-    cb0a:	f7 bd 38 ff ff ff    	idivl  -0xc8(%ebp)
-    cb10:	89 8d 34 ff ff ff    	mov    %ecx,-0xcc(%ebp)
-    cb16:	8d 04 d5 08 00 00 00 	lea    0x8(,%edx,8),%eax
-    cb1d:	89 85 5c ff ff ff    	mov    %eax,-0xa4(%ebp)
-    cb23:	8b 85 74 ff ff ff    	mov    -0x8c(%ebp),%eax
-    cb29:	89 95 6c ff ff ff    	mov    %edx,-0x94(%ebp)
-    cb2f:	31 d2                	xor    %edx,%edx
-    cb31:	03 85 6c ff ff ff    	add    -0x94(%ebp),%eax
-    cb37:	89 85 50 ff ff ff    	mov    %eax,-0xb0(%ebp)
-    cb3d:	eb 1e                	jmp    0xcb5d
-    cb3f:	8b 85 50 ff ff ff    	mov    -0xb0(%ebp),%eax
-    cb45:	8b 8d 60 ff ff ff    	mov    -0xa0(%ebp),%ecx
-    cb4b:	03 95 5c ff ff ff    	add    -0xa4(%ebp),%edx
-    cb51:	8b 7c c1 08          	mov    0x8(%ecx,%eax,8),%edi
-    cb55:	85 ff                	test   %edi,%edi
-    cb57:	0f 84 e6 f3 ff ff    	je     0xbf43
-    cb5d:	8b 8d 40 ff ff ff    	mov    -0xc0(%ebp),%ecx
-    cb63:	01 d1                	add    %edx,%ecx
-    cb65:	3b bd 34 ff ff ff    	cmp    -0xcc(%ebp),%edi
-    cb6b:	89 8d 60 ff ff ff    	mov    %ecx,-0xa0(%ebp)
-    cb71:	75 cc                	jne    0xcb3f
-    cb73:	8b 85 74 ff ff ff    	mov    -0x8c(%ebp),%eax
-    cb79:	8b 44 c1 04          	mov    0x4(%ecx,%eax,8),%eax
-    cb7d:	8b 8d 54 ff ff ff    	mov    -0xac(%ebp),%ecx
-    cb83:	89 85 6c ff ff ff    	mov    %eax,-0x94(%ebp)
-    cb89:	0f b6 0c 01          	movzbl (%ecx,%eax,1),%ecx
-    cb8d:	0f b6 c1             	movzbl %cl,%eax
-    cb90:	39 c6                	cmp    %eax,%esi
-    cb92:	88 8d 68 ff ff ff    	mov    %cl,-0x98(%ebp)
-    cb98:	75 a5                	jne    0xcb3f
-    cb9a:	8b 85 6c ff ff ff    	mov    -0x94(%ebp),%eax
-    cba0:	83 c0 01             	add    $0x1,%eax
-    cba3:	89 85 6c ff ff ff    	mov    %eax,-0x94(%ebp)
-    cba9:	8b 85 54 ff ff ff    	mov    -0xac(%ebp),%eax
-    cbaf:	03 85 6c ff ff ff    	add    -0x94(%ebp),%eax
-    cbb5:	89 74 24 08          	mov    %esi,0x8(%esp)
-    cbb9:	89 44 24 04          	mov    %eax,0x4(%esp)
-    cbbd:	8b 4d 84             	mov    -0x7c(%ebp),%ecx
-    cbc0:	89 0c 24             	mov    %ecx,(%esp)
-    cbc3:	89 95 04 ff ff ff    	mov    %edx,-0xfc(%ebp)
-    cbc9:	e8 fc ff ff ff       	call   0xcbca
-    cbce:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
-    cbd4:	85 c0                	test   %eax,%eax
-    cbd6:	0f 85 63 ff ff ff    	jne    0xcb3f
-    cbdc:	85 ff                	test   %edi,%edi
-    cbde:	0f 84 5f f3 ff ff    	je     0xbf43
-    cbe4:	8b b5 7c ff ff ff    	mov    -0x84(%ebp),%esi
-    cbea:	8b 56 20             	mov    0x20(%esi),%edx
-    cbed:	3b 95 2c ff ff ff    	cmp    -0xd4(%ebp),%edx
-    cbf3:	0f 84 ed 00 00 00    	je     0xcce6
-    cbf9:	8b 46 04             	mov    0x4(%esi),%eax
-    cbfc:	0f b6 8d 68 ff ff ff 	movzbl -0x98(%ebp),%ecx
-    cc03:	03 8d 6c ff ff ff    	add    -0x94(%ebp),%ecx
-    cc09:	8b b5 7c ff ff ff    	mov    -0x84(%ebp),%esi
-    cc0f:	89 0c 90             	mov    %ecx,(%eax,%edx,4)
-    cc12:	83 c2 01             	add    $0x1,%edx
-    cc15:	89 56 20             	mov    %edx,0x20(%esi)
-    cc18:	e9 4f f3 ff ff       	jmp    0xbf6c
-    cc1d:	83 7d 84 ff          	cmpl   $0xffffffff,-0x7c(%ebp)
-    cc21:	0f 84 cd f0 ff ff    	je     0xbcf4
-    cc27:	8b 55 10             	mov    0x10(%ebp),%edx
-    cc2a:	31 f6                	xor    %esi,%esi
-    cc2c:	c7 02 0a 00 00 00    	movl   $0xa,(%edx)
-    cc32:	e9 ad e9 ff ff       	jmp    0xb5e4
-    cc37:	85 ff                	test   %edi,%edi
-    cc39:	0f 85 ec f0 ff ff    	jne    0xbd2b
-    cc3f:	31 c9                	xor    %ecx,%ecx
-    cc41:	ba 90 10 00 00       	mov    $0x1090,%edx
-    cc46:	89 f0                	mov    %esi,%eax
-    cc48:	e8 23 3d ff ff       	call   0x970
-    cc4d:	c7 85 7c ff ff ff 00 	movl   $0x0,-0x84(%ebp)
-    cc54:	00 00 00 
-    cc57:	8b 5d 10             	mov    0x10(%ebp),%ebx
-    cc5a:	83 3b 00             	cmpl   $0x0,(%ebx)
-    cc5d:	0f 84 a5 f1 ff ff    	je     0xbe08
-    cc63:	e9 7a e9 ff ff       	jmp    0xb5e2
-    cc68:	c7 85 7c ff ff ff 00 	movl   $0x0,-0x84(%ebp)
-    cc6f:	00 00 00 
-    cc72:	eb e3                	jmp    0xcc57
-    cc74:	89 b5 7c ff ff ff    	mov    %esi,-0x84(%ebp)
-    cc7a:	bb 02 00 00 00       	mov    $0x2,%ebx
-    cc7f:	eb 3c                	jmp    0xccbd
-    cc81:	8b 55 88             	mov    -0x78(%ebp),%edx
-    cc84:	89 f0                	mov    %esi,%eax
-    cc86:	e8 f5 3e ff ff       	call   0xb80
-    cc8b:	c7 04 24 10 00 00 00 	movl   $0x10,(%esp)
-    cc92:	8b 95 7c ff ff ff    	mov    -0x84(%ebp),%edx
-    cc98:	89 c1                	mov    %eax,%ecx
-    cc9a:	89 c6                	mov    %eax,%esi
-    cc9c:	8b 45 88             	mov    -0x78(%ebp),%eax
-    cc9f:	e8 5c 3f ff ff       	call   0xc00
-    cca4:	85 c0                	test   %eax,%eax
-    cca6:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
-    ccac:	0f 84 18 f2 ff ff    	je     0xbeca
-    ccb2:	85 f6                	test   %esi,%esi
-    ccb4:	0f 84 10 f2 ff ff    	je     0xbeca
-    ccba:	83 c3 01             	add    $0x1,%ebx
-    ccbd:	39 df                	cmp    %ebx,%edi
-    ccbf:	7d c0                	jge    0xcc81
-    ccc1:	3b 7d 84             	cmp    -0x7c(%ebp),%edi
-    ccc4:	74 11                	je     0xccd7
-    ccc6:	8b 55 88             	mov    -0x78(%ebp),%edx
-    ccc9:	89 f0                	mov    %esi,%eax
-    cccb:	e8 b0 3e ff ff       	call   0xb80
-    ccd0:	89 c3                	mov    %eax,%ebx
-    ccd2:	e9 6b f0 ff ff       	jmp    0xbd42
-    ccd7:	83 bd 7c ff ff ff 00 	cmpl   $0x0,-0x84(%ebp)
-    ccde:	0f 94 c0             	sete   %al
-    cce1:	e9 1a f1 ff ff       	jmp    0xbe00
-    cce6:	8b bd 2c ff ff ff    	mov    -0xd4(%ebp),%edi
-    ccec:	8d 7c 3f 01          	lea    0x1(%edi,%edi,1),%edi
-    ccf0:	89 f8                	mov    %edi,%eax
-    ccf2:	c1 e0 02             	shl    $0x2,%eax
-    ccf5:	89 bd 2c ff ff ff    	mov    %edi,-0xd4(%ebp)
-    ccfb:	89 44 24 04          	mov    %eax,0x4(%esp)
-    ccff:	8b 95 7c ff ff ff    	mov    -0x84(%ebp),%edx
-    cd05:	8b 42 04             	mov    0x4(%edx),%eax
-    cd08:	89 04 24             	mov    %eax,(%esp)
-    cd0b:	e8 fc ff ff ff       	call   0xcd0c
-    cd10:	85 c0                	test   %eax,%eax
-    cd12:	0f 84 59 fd ff ff    	je     0xca71
-    cd18:	8b 8d 7c ff ff ff    	mov    -0x84(%ebp),%ecx
-    cd1e:	89 41 04             	mov    %eax,0x4(%ecx)
-    cd21:	8b 51 20             	mov    0x20(%ecx),%edx
-    cd24:	e9 d3 fe ff ff       	jmp    0xcbfc
-    cd29:	8b 45 10             	mov    0x10(%ebp),%eax
-    cd2c:	89 f1                	mov    %esi,%ecx
-    cd2e:	89 44 24 08          	mov    %eax,0x8(%esp)
-    cd32:	8b 45 0c             	mov    0xc(%ebp),%eax
-    cd35:	83 c0 01             	add    $0x1,%eax
-    cd38:	89 44 24 04          	mov    %eax,0x4(%esp)
-    cd3c:	8b 55 08             	mov    0x8(%ebp),%edx
-    cd3f:	89 14 24             	mov    %edx,(%esp)
-    cd42:	8b 85 70 ff ff ff    	mov    -0x90(%ebp),%eax
-    cd48:	89 da                	mov    %ebx,%edx
-    cd4a:	e8 f1 08 00 00       	call   0xd640
-    cd4f:	8b 4d 10             	mov    0x10(%ebp),%ecx
-    cd52:	83 39 00             	cmpl   $0x0,(%ecx)
-    cd55:	0f 85 87 e8 ff ff    	jne    0xb5e2
-    cd5b:	80 7e 04 09          	cmpb   $0x9,0x4(%esi)
-    cd5f:	0f 84 c2 ee ff ff    	je     0xbc27
-    cd65:	85 c0                	test   %eax,%eax
-    cd67:	74 0c                	je     0xcd75
-    cd69:	31 c9                	xor    %ecx,%ecx
-    cd6b:	ba 90 10 00 00       	mov    $0x1090,%edx
-    cd70:	e8 fb 3b ff ff       	call   0x970
-    cd75:	8b 5d 10             	mov    0x10(%ebp),%ebx
-    cd78:	31 f6                	xor    %esi,%esi
-    cd7a:	c7 03 08 00 00 00    	movl   $0x8,(%ebx)
-    cd80:	e9 5f e8 ff ff       	jmp    0xb5e4
+    c0d1:	89 45 84             	mov    %eax,-0x7c(%ebp)
+    c0d4:	0f 88 90 04 00 00    	js     0xc56a
+    c0da:	83 bd 60 ff ff ff 00 	cmpl   $0x0,-0xa0(%ebp)
+    c0e1:	0f 84 a0 06 00 00    	je     0xc787
+    c0e7:	31 c0                	xor    %eax,%eax
+    c0e9:	83 c9 ff             	or     $0xffffffff,%ecx
+    c0ec:	89 d7                	mov    %edx,%edi
+    c0ee:	f2 ae                	repnz scas %es:(%edi),%al
+    c0f0:	f7 d1                	not    %ecx
+    c0f2:	8d 44 0a ff          	lea    -0x1(%edx,%ecx,1),%eax
+    c0f6:	39 45 84             	cmp    %eax,-0x7c(%ebp)
+    c0f9:	0f 82 88 06 00 00    	jb     0xc787
+    c0ff:	8b 85 60 ff ff ff    	mov    -0xa0(%ebp),%eax
+    c105:	8b b5 50 ff ff ff    	mov    -0xb0(%ebp),%esi
+    c10b:	8b bd 60 ff ff ff    	mov    -0xa0(%ebp),%edi
+    c111:	8b 95 50 ff ff ff    	mov    -0xb0(%ebp),%edx
+    c117:	25 ff ff ff 00       	and    $0xffffff,%eax
+    c11c:	c6 45 f3 00          	movb   $0x0,-0xd(%ebp)
+    c120:	0f b6 34 06          	movzbl (%esi,%eax,1),%esi
+    c124:	c1 ff 18             	sar    $0x18,%edi
+    c127:	01 c2                	add    %eax,%edx
+    c129:	89 bd 0c ff ff ff    	mov    %edi,-0xf4(%ebp)
+    c12f:	89 b5 30 ff ff ff    	mov    %esi,-0xd0(%ebp)
+    c135:	c7 85 6c ff ff ff 00 	movl   $0x0,-0x94(%ebp)
+    c13c:	00 00 00 
+    c13f:	89 85 10 ff ff ff    	mov    %eax,-0xf0(%ebp)
+    c145:	89 95 08 ff ff ff    	mov    %edx,-0xf8(%ebp)
+    c14b:	eb 3f                	jmp    0xc18c
+    c14d:	8d 76 00             	lea    0x0(%esi),%esi
+    c150:	8b 75 84             	mov    -0x7c(%ebp),%esi
+    c153:	85 f6                	test   %esi,%esi
+    c155:	74 1e                	je     0xc175
+    c157:	8b 45 84             	mov    -0x7c(%ebp),%eax
+    c15a:	8b 8d 50 ff ff ff    	mov    -0xb0(%ebp),%ecx
+    c160:	25 ff ff ff 00       	and    $0xffffff,%eax
+    c165:	0f b6 14 01          	movzbl (%ecx,%eax,1),%edx
+    c169:	39 95 30 ff ff ff    	cmp    %edx,-0xd0(%ebp)
+    c16f:	0f 84 e5 07 00 00    	je     0xc95a
+    c175:	83 85 6c ff ff ff 01 	addl   $0x1,-0x94(%ebp)
+    c17c:	81 bd 6c ff ff ff 00 	cmpl   $0x100,-0x94(%ebp)
+    c183:	01 00 00 
+    c186:	0f 84 79 08 00 00    	je     0xca05
+    c18c:	0f b6 8d 6c ff ff ff 	movzbl -0x94(%ebp),%ecx
+    c193:	8b b5 34 ff ff ff    	mov    -0xcc(%ebp),%esi
+    c199:	0f b6 c1             	movzbl %cl,%eax
+    c19c:	88 4d f2             	mov    %cl,-0xe(%ebp)
+    c19f:	8b 04 86             	mov    (%esi,%eax,4),%eax
+    c1a2:	85 c0                	test   %eax,%eax
+    c1a4:	89 45 84             	mov    %eax,-0x7c(%ebp)
+    c1a7:	79 a7                	jns    0xc150
+    c1a9:	8b 95 1c ff ff ff    	mov    -0xe4(%ebp),%edx
+    c1af:	29 c2                	sub    %eax,%edx
+    c1b1:	0f b6 45 f3          	movzbl -0xd(%ebp),%eax
+    c1b5:	89 95 fc fe ff ff    	mov    %edx,-0x104(%ebp)
+    c1bb:	88 85 68 ff ff ff    	mov    %al,-0x98(%ebp)
+    c1c1:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
+    c1c8:	8b 95 fc fe ff ff    	mov    -0x104(%ebp),%edx
+    c1ce:	8b 8d fc fe ff ff    	mov    -0x104(%ebp),%ecx
+    c1d4:	8b 12                	mov    (%edx),%edx
+    c1d6:	89 55 84             	mov    %edx,-0x7c(%ebp)
+    c1d9:	0f b6 41 04          	movzbl 0x4(%ecx),%eax
+    c1dd:	83 c1 05             	add    $0x5,%ecx
+    c1e0:	85 d2                	test   %edx,%edx
+    c1e2:	89 8d 74 ff ff ff    	mov    %ecx,-0x8c(%ebp)
+    c1e8:	0f 88 aa 05 00 00    	js     0xc798
+    c1ee:	85 c0                	test   %eax,%eax
+    c1f0:	0f 84 5a ff ff ff    	je     0xc150
+    c1f6:	8b b5 74 ff ff ff    	mov    -0x8c(%ebp),%esi
+    c1fc:	31 d2                	xor    %edx,%edx
+    c1fe:	0f b6 8d 68 ff ff ff 	movzbl -0x98(%ebp),%ecx
+    c205:	38 0e                	cmp    %cl,(%esi)
+    c207:	75 29                	jne    0xc232
+    c209:	8b b5 fc fe ff ff    	mov    -0x104(%ebp),%esi
+    c20f:	89 d1                	mov    %edx,%ecx
+    c211:	eb 10                	jmp    0xc223
+    c213:	90                   	nop
+    c214:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    c218:	0f b6 54 0e 05       	movzbl 0x5(%esi,%ecx,1),%edx
+    c21d:	3a 54 0b 01          	cmp    0x1(%ebx,%ecx,1),%dl
+    c221:	75 07                	jne    0xc22a
+    c223:	83 c1 01             	add    $0x1,%ecx
+    c226:	39 c8                	cmp    %ecx,%eax
+    c228:	77 ee                	ja     0xc218
+    c22a:	39 c8                	cmp    %ecx,%eax
+    c22c:	0f 84 1e ff ff ff    	je     0xc150
+    c232:	8b bd 74 ff ff ff    	mov    -0x8c(%ebp),%edi
+    c238:	01 c7                	add    %eax,%edi
+    c23a:	83 c0 01             	add    $0x1,%eax
+    c23d:	83 e0 03             	and    $0x3,%eax
+    c240:	89 bd fc fe ff ff    	mov    %edi,-0x104(%ebp)
+    c246:	74 80                	je     0xc1c8
+    c248:	89 fa                	mov    %edi,%edx
+    c24a:	29 c2                	sub    %eax,%edx
+    c24c:	83 c2 04             	add    $0x4,%edx
+    c24f:	89 95 fc fe ff ff    	mov    %edx,-0x104(%ebp)
+    c255:	e9 6e ff ff ff       	jmp    0xc1c8
+    c25a:	0f b6 4d e0          	movzbl -0x20(%ebp),%ecx
+    c25e:	b8 01 00 00 00       	mov    $0x1,%eax
+    c263:	8b b5 64 ff ff ff    	mov    -0x9c(%ebp),%esi
+    c269:	89 ca                	mov    %ecx,%edx
+    c26b:	83 e1 1f             	and    $0x1f,%ecx
+    c26e:	c0 ea 05             	shr    $0x5,%dl
+    c271:	0f b6 d2             	movzbl %dl,%edx
+    c274:	d3 e0                	shl    %cl,%eax
+    c276:	09 04 96             	or     %eax,(%esi,%edx,4)
+    c279:	e9 07 fd ff ff       	jmp    0xbf85
+    c27e:	8b 95 70 ff ff ff    	mov    -0x90(%ebp),%edx
+    c284:	8d 75 ec             	lea    -0x14(%ebp),%esi
+    c287:	8b 4d 08             	mov    0x8(%ebp),%ecx
+    c28a:	8b 42 40             	mov    0x40(%edx),%eax
+    c28d:	89 4c 24 08          	mov    %ecx,0x8(%esp)
+    c291:	8b 55 e0             	mov    -0x20(%ebp),%edx
+    c294:	89 34 24             	mov    %esi,(%esp)
+    c297:	89 54 24 04          	mov    %edx,0x4(%esp)
+    c29b:	8b 8d 7c ff ff ff    	mov    -0x84(%ebp),%ecx
+    c2a1:	8b 95 64 ff ff ff    	mov    -0x9c(%ebp),%edx
+    c2a7:	e8 e4 d6 ff ff       	call   0x9990
+    c2ac:	8b 7d 10             	mov    0x10(%ebp),%edi
+    c2af:	85 c0                	test   %eax,%eax
+    c2b1:	89 07                	mov    %eax,(%edi)
+    c2b3:	0f 84 cc fc ff ff    	je     0xbf85
+    c2b9:	e9 40 01 00 00       	jmp    0xc3fe
+    c2be:	8b bd 7c ff ff ff    	mov    -0x84(%ebp),%edi
+    c2c4:	8b 57 1c             	mov    0x1c(%edi),%edx
+    c2c7:	3b 95 24 ff ff ff    	cmp    -0xdc(%ebp),%edx
+    c2cd:	0f 84 5c 02 00 00    	je     0xc52f
+    c2d3:	8b 07                	mov    (%edi),%eax
+    c2d5:	8b 4d e0             	mov    -0x20(%ebp),%ecx
+    c2d8:	8b b5 7c ff ff ff    	mov    -0x84(%ebp),%esi
+    c2de:	89 0c 90             	mov    %ecx,(%eax,%edx,4)
+    c2e1:	83 c2 01             	add    $0x1,%edx
+    c2e4:	89 56 1c             	mov    %edx,0x1c(%esi)
+    c2e7:	e9 99 fc ff ff       	jmp    0xbf85
+    c2ec:	84 d2                	test   %dl,%dl
+    c2ee:	0f 84 0e 02 00 00    	je     0xc502
+    c2f4:	8b 8d 78 ff ff ff    	mov    -0x88(%ebp),%ecx
+    c2fa:	31 d2                	xor    %edx,%edx
+    c2fc:	c7 01 06 00 00 00    	movl   $0x6,(%ecx)
+    c302:	89 0c 24             	mov    %ecx,(%esp)
+    c305:	8b 45 88             	mov    -0x78(%ebp),%eax
+    c308:	31 c9                	xor    %ecx,%ecx
+    c30a:	e8 91 47 ff ff       	call   0xaa0
+    c30f:	8b b5 78 ff ff ff    	mov    -0x88(%ebp),%esi
+    c315:	c7 06 09 00 00 00    	movl   $0x9,(%esi)
+    c31b:	89 c3                	mov    %eax,%ebx
+    c31d:	e9 ee f3 ff ff       	jmp    0xb710
+    c322:	8b 55 88             	mov    -0x78(%ebp),%edx
+    c325:	8d 5d e4             	lea    -0x1c(%ebp),%ebx
+    c328:	80 4a 58 02          	orb    $0x2,0x58(%edx)
+    c32c:	31 d2                	xor    %edx,%edx
+    c32e:	8b 8d 7c ff ff ff    	mov    -0x84(%ebp),%ecx
+    c334:	c6 45 e8 06          	movb   $0x6,-0x18(%ebp)
+    c338:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
+    c33b:	31 c9                	xor    %ecx,%ecx
+    c33d:	89 1c 24             	mov    %ebx,(%esp)
+    c340:	8b 45 88             	mov    -0x78(%ebp),%eax
+    c343:	e8 58 47 ff ff       	call   0xaa0
+    c348:	85 c0                	test   %eax,%eax
+    c34a:	89 c6                	mov    %eax,%esi
+    c34c:	0f 84 a2 01 00 00    	je     0xc4f4
+    c352:	31 d2                	xor    %edx,%edx
+    c354:	31 c0                	xor    %eax,%eax
+    c356:	8b bd 64 ff ff ff    	mov    -0x9c(%ebp),%edi
+    c35c:	83 3c 97 00          	cmpl   $0x0,(%edi,%edx,4)
+    c360:	0f 85 51 01 00 00    	jne    0xc4b7
+    c366:	83 c0 01             	add    $0x1,%eax
+    c369:	83 f8 08             	cmp    $0x8,%eax
+    c36c:	89 c2                	mov    %eax,%edx
+    c36e:	75 e6                	jne    0xc356
+    c370:	8b 9d 64 ff ff ff    	mov    -0x9c(%ebp),%ebx
+    c376:	89 1c 24             	mov    %ebx,(%esp)
+    c379:	e8 fc ff ff ff       	call   0xc37a
+    c37e:	e9 9e f6 ff ff       	jmp    0xba21
+    c383:	83 3f 00             	cmpl   $0x0,(%edi)
+    c386:	0f 84 95 f6 ff ff    	je     0xba21
+    c38c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    c390:	e9 5d f2 ff ff       	jmp    0xb5f2
+    c395:	8b 95 7c ff ff ff    	mov    -0x84(%ebp),%edx
+    c39b:	80 4a 18 01          	orb    $0x1,0x18(%edx)
+    c39f:	f7 45 08 00 01 00 00 	testl  $0x100,0x8(%ebp)
+    c3a6:	74 0c                	je     0xc3b4
+    c3a8:	8b 8d 64 ff ff ff    	mov    -0x9c(%ebp),%ecx
+    c3ae:	81 09 00 04 00 00    	orl    $0x400,(%ecx)
+    c3b4:	8b 9d 70 ff ff ff    	mov    -0x90(%ebp),%ebx
+    c3ba:	8b b5 48 ff ff ff    	mov    -0xb8(%ebp),%esi
+    c3c0:	8b 4d 08             	mov    0x8(%ebp),%ecx
+    c3c3:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
+    c3c9:	01 73 28             	add    %esi,0x28(%ebx)
+    c3cc:	89 da                	mov    %ebx,%edx
+    c3ce:	e8 8d 3d ff ff       	call   0x160
+    c3d3:	8b bd 78 ff ff ff    	mov    -0x88(%ebp),%edi
+    c3d9:	89 85 48 ff ff ff    	mov    %eax,-0xb8(%ebp)
+    c3df:	0f b6 47 04          	movzbl 0x4(%edi),%eax
+    c3e3:	c7 85 14 ff ff ff 01 	movl   $0x1,-0xec(%ebp)
+    c3ea:	00 00 00 
+    c3ed:	3c 02                	cmp    $0x2,%al
+    c3ef:	0f 85 58 f4 ff ff    	jne    0xb84d
+    c3f5:	8b 45 10             	mov    0x10(%ebp),%eax
+    c3f8:	c7 00 02 00 00 00    	movl   $0x2,(%eax)
+    c3fe:	8b 9d 64 ff ff ff    	mov    -0x9c(%ebp),%ebx
+    c404:	89 1c 24             	mov    %ebx,(%esp)
+    c407:	e8 fc ff ff ff       	call   0xc408
+    c40c:	8b 85 7c ff ff ff    	mov    -0x84(%ebp),%eax
+    c412:	e8 d9 4b ff ff       	call   0xff0
+    c417:	8b 75 10             	mov    0x10(%ebp),%esi
+    c41a:	83 3e 00             	cmpl   $0x0,(%esi)
+    c41d:	0f 85 cf f1 ff ff    	jne    0xb5f2
+    c423:	31 f6                	xor    %esi,%esi
+    c425:	e9 f7 f5 ff ff       	jmp    0xba21
+    c42a:	8b 45 10             	mov    0x10(%ebp),%eax
+    c42d:	31 f6                	xor    %esi,%esi
+    c42f:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
+    c435:	e9 ba f1 ff ff       	jmp    0xb5f4
+    c43a:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
+    c440:	c6 42 04 01          	movb   $0x1,0x4(%edx)
+    c444:	e9 0c f4 ff ff       	jmp    0xb855
+    c449:	8b 8d 64 ff ff ff    	mov    -0x9c(%ebp),%ecx
+    c44f:	89 0c 24             	mov    %ecx,(%esp)
+    c452:	e8 fc ff ff ff       	call   0xc453
+    c457:	8b 9d 7c ff ff ff    	mov    -0x84(%ebp),%ebx
+    c45d:	89 1c 24             	mov    %ebx,(%esp)
+    c460:	e8 fc ff ff ff       	call   0xc461
+    c465:	8b 75 10             	mov    0x10(%ebp),%esi
+    c468:	c7 06 0c 00 00 00    	movl   $0xc,(%esi)
+    c46e:	31 f6                	xor    %esi,%esi
+    c470:	e9 7f f1 ff ff       	jmp    0xb5f4
+    c475:	31 c0                	xor    %eax,%eax
+    c477:	83 c9 ff             	or     $0xffffffff,%ecx
+    c47a:	89 d7                	mov    %edx,%edi
+    c47c:	f2 ae                	repnz scas %es:(%edi),%al
+    c47e:	f7 d1                	not    %ecx
+    c480:	8d 71 ff             	lea    -0x1(%ecx),%esi
+    c483:	83 fe 01             	cmp    $0x1,%esi
+    c486:	0f 85 fb 02 00 00    	jne    0xc787
+    c48c:	0f b6 12             	movzbl (%edx),%edx
+    c48f:	89 d0                	mov    %edx,%eax
+    c491:	83 e2 1f             	and    $0x1f,%edx
+    c494:	89 d1                	mov    %edx,%ecx
+    c496:	d3 e6                	shl    %cl,%esi
+    c498:	89 f2                	mov    %esi,%edx
+    c49a:	8b b5 64 ff ff ff    	mov    -0x9c(%ebp),%esi
+    c4a0:	c0 e8 05             	shr    $0x5,%al
+    c4a3:	0f b6 c0             	movzbl %al,%eax
+    c4a6:	09 14 86             	or     %edx,(%esi,%eax,4)
+    c4a9:	8b 55 10             	mov    0x10(%ebp),%edx
+    c4ac:	c7 02 00 00 00 00    	movl   $0x0,(%edx)
+    c4b2:	e9 ce fa ff ff       	jmp    0xbf85
+    c4b7:	8b 85 64 ff ff ff    	mov    -0x9c(%ebp),%eax
+    c4bd:	31 c9                	xor    %ecx,%ecx
+    c4bf:	31 d2                	xor    %edx,%edx
+    c4c1:	c6 45 e8 03          	movb   $0x3,-0x18(%ebp)
+    c4c5:	89 45 e4             	mov    %eax,-0x1c(%ebp)
+    c4c8:	89 1c 24             	mov    %ebx,(%esp)
+    c4cb:	8b 45 88             	mov    -0x78(%ebp),%eax
+    c4ce:	e8 cd 45 ff ff       	call   0xaa0
+    c4d3:	85 c0                	test   %eax,%eax
+    c4d5:	74 1d                	je     0xc4f4
+    c4d7:	c7 04 24 0a 00 00 00 	movl   $0xa,(%esp)
+    c4de:	89 c2                	mov    %eax,%edx
+    c4e0:	8b 45 88             	mov    -0x78(%ebp),%eax
+    c4e3:	89 f1                	mov    %esi,%ecx
+    c4e5:	e8 16 47 ff ff       	call   0xc00
+    c4ea:	85 c0                	test   %eax,%eax
+    c4ec:	89 c6                	mov    %eax,%esi
+    c4ee:	0f 85 2d f5 ff ff    	jne    0xba21
+    c4f4:	8b 4d 10             	mov    0x10(%ebp),%ecx
+    c4f7:	c7 01 0c 00 00 00    	movl   $0xc,(%ecx)
+    c4fd:	e9 fc fe ff ff       	jmp    0xc3fe
+    c502:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
+    c508:	31 c9                	xor    %ecx,%ecx
+    c50a:	89 14 24             	mov    %edx,(%esp)
+    c50d:	8b 45 88             	mov    -0x78(%ebp),%eax
+    c510:	31 d2                	xor    %edx,%edx
+    c512:	e8 89 45 ff ff       	call   0xaa0
+    c517:	85 c0                	test   %eax,%eax
+    c519:	89 c6                	mov    %eax,%esi
+    c51b:	0f 85 35 f2 ff ff    	jne    0xb756
+    c521:	8b 4d 10             	mov    0x10(%ebp),%ecx
+    c524:	c7 01 0c 00 00 00    	movl   $0xc,(%ecx)
+    c52a:	e9 c5 f0 ff ff       	jmp    0xb5f4
+    c52f:	8b 85 24 ff ff ff    	mov    -0xdc(%ebp),%eax
+    c535:	8d 44 00 01          	lea    0x1(%eax,%eax,1),%eax
+    c539:	89 85 24 ff ff ff    	mov    %eax,-0xdc(%ebp)
+    c53f:	c1 e0 02             	shl    $0x2,%eax
+    c542:	89 44 24 04          	mov    %eax,0x4(%esp)
+    c546:	8b 95 7c ff ff ff    	mov    -0x84(%ebp),%edx
+    c54c:	8b 02                	mov    (%edx),%eax
+    c54e:	89 04 24             	mov    %eax,(%esp)
+    c551:	e8 fc ff ff ff       	call   0xc552
+    c556:	85 c0                	test   %eax,%eax
+    c558:	74 9a                	je     0xc4f4
+    c55a:	8b 8d 7c ff ff ff    	mov    -0x84(%ebp),%ecx
+    c560:	89 01                	mov    %eax,(%ecx)
+    c562:	8b 51 1c             	mov    0x1c(%ecx),%edx
+    c565:	e9 6b fd ff ff       	jmp    0xc2d5
+    c56a:	89 f9                	mov    %edi,%ecx
+    c56c:	2b 8d 60 ff ff ff    	sub    -0xa0(%ebp),%ecx
+    c572:	89 95 68 ff ff ff    	mov    %edx,-0x98(%ebp)
+    c578:	8b 11                	mov    (%ecx),%edx
+    c57a:	31 c0                	xor    %eax,%eax
+    c57c:	8d 79 05             	lea    0x5(%ecx),%edi
+    c57f:	85 d2                	test   %edx,%edx
+    c581:	89 95 60 ff ff ff    	mov    %edx,-0xa0(%ebp)
+    c587:	0f b6 71 04          	movzbl 0x4(%ecx),%esi
+    c58b:	0f 88 92 00 00 00    	js     0xc623
+    c591:	85 f6                	test   %esi,%esi
+    c593:	0f 84 5e 04 00 00    	je     0xc9f7
+    c599:	8b 55 84             	mov    -0x7c(%ebp),%edx
+    c59c:	c7 85 74 ff ff ff 00 	movl   $0x0,-0x8c(%ebp)
+    c5a3:	00 00 00 
+    c5a6:	0f b6 07             	movzbl (%edi),%eax
+    c5a9:	3a 02                	cmp    (%edx),%al
+    c5ab:	75 34                	jne    0xc5e1
+    c5ad:	8b 85 74 ff ff ff    	mov    -0x8c(%ebp),%eax
+    c5b3:	89 bd 6c ff ff ff    	mov    %edi,-0x94(%ebp)
+    c5b9:	eb 11                	jmp    0xc5cc
+    c5bb:	8b bd 68 ff ff ff    	mov    -0x98(%ebp),%edi
+    c5c1:	0f b6 54 01 05       	movzbl 0x5(%ecx,%eax,1),%edx
+    c5c6:	3a 54 07 01          	cmp    0x1(%edi,%eax,1),%dl
+    c5ca:	75 07                	jne    0xc5d3
+    c5cc:	83 c0 01             	add    $0x1,%eax
+    c5cf:	39 c6                	cmp    %eax,%esi
+    c5d1:	77 e8                	ja     0xc5bb
+    c5d3:	39 c6                	cmp    %eax,%esi
+    c5d5:	8b bd 6c ff ff ff    	mov    -0x94(%ebp),%edi
+    c5db:	0f 84 16 04 00 00    	je     0xc9f7
+    c5e1:	8d 0c 37             	lea    (%edi,%esi,1),%ecx
+    c5e4:	83 c6 01             	add    $0x1,%esi
+    c5e7:	89 f0                	mov    %esi,%eax
+    c5e9:	83 e0 03             	and    $0x3,%eax
+    c5ec:	74 8a                	je     0xc578
+    c5ee:	ba 04 00 00 00       	mov    $0x4,%edx
+    c5f3:	29 c2                	sub    %eax,%edx
+    c5f5:	01 d1                	add    %edx,%ecx
+    c5f7:	e9 7c ff ff ff       	jmp    0xc578
+    c5fc:	0f b6 54 01 05       	movzbl 0x5(%ecx,%eax,1),%edx
+    c601:	88 95 6c ff ff ff    	mov    %dl,-0x94(%ebp)
+    c607:	8b 95 68 ff ff ff    	mov    -0x98(%ebp),%edx
+    c60d:	0f b6 54 02 01       	movzbl 0x1(%edx,%eax,1),%edx
+    c612:	38 95 6c ff ff ff    	cmp    %dl,-0x94(%ebp)
+    c618:	88 95 74 ff ff ff    	mov    %dl,-0x8c(%ebp)
+    c61e:	75 24                	jne    0xc644
+    c620:	83 c0 01             	add    $0x1,%eax
+    c623:	39 c6                	cmp    %eax,%esi
+    c625:	77 d5                	ja     0xc5fc
+    c627:	0f 84 5b 04 00 00    	je     0xca88
+    c62d:	0f b6 14 07          	movzbl (%edi,%eax,1),%edx
+    c631:	88 95 6c ff ff ff    	mov    %dl,-0x94(%ebp)
+    c637:	8b 55 84             	mov    -0x7c(%ebp),%edx
+    c63a:	0f b6 04 02          	movzbl (%edx,%eax,1),%eax
+    c63e:	88 85 74 ff ff ff    	mov    %al,-0x8c(%ebp)
+    c644:	0f b6 85 74 ff ff ff 	movzbl -0x8c(%ebp),%eax
+    c64b:	38 85 6c ff ff ff    	cmp    %al,-0x94(%ebp)
+    c651:	0f 87 23 04 00 00    	ja     0xca7a
+    c657:	8d 4c 31 05          	lea    0x5(%ecx,%esi,1),%ecx
+    c65b:	31 c0                	xor    %eax,%eax
+    c65d:	8b 95 68 ff ff ff    	mov    -0x98(%ebp),%edx
+    c663:	89 8d 5c ff ff ff    	mov    %ecx,-0xa4(%ebp)
+    c669:	eb 30                	jmp    0xc69b
+    c66b:	8b 8d 5c ff ff ff    	mov    -0xa4(%ebp),%ecx
+    c671:	0f b6 09             	movzbl (%ecx),%ecx
+    c674:	88 8d 6c ff ff ff    	mov    %cl,-0x94(%ebp)
+    c67a:	0f b6 4c 02 01       	movzbl 0x1(%edx,%eax,1),%ecx
+    c67f:	83 85 5c ff ff ff 01 	addl   $0x1,-0xa4(%ebp)
+    c686:	38 8d 6c ff ff ff    	cmp    %cl,-0x94(%ebp)
+    c68c:	88 8d 74 ff ff ff    	mov    %cl,-0x8c(%ebp)
+    c692:	0f 85 d7 03 00 00    	jne    0xca6f
+    c698:	83 c0 01             	add    $0x1,%eax
+    c69b:	39 c6                	cmp    %eax,%esi
+    c69d:	77 cc                	ja     0xc66b
+    c69f:	89 95 68 ff ff ff    	mov    %edx,-0x98(%ebp)
+    c6a5:	0f 84 23 04 00 00    	je     0xcace
+    c6ab:	8d 0c 07             	lea    (%edi,%eax,1),%ecx
+    c6ae:	8b 55 84             	mov    -0x7c(%ebp),%edx
+    c6b1:	0f b6 0c 31          	movzbl (%ecx,%esi,1),%ecx
+    c6b5:	88 8d 6c ff ff ff    	mov    %cl,-0x94(%ebp)
+    c6bb:	0f b6 04 02          	movzbl (%edx,%eax,1),%eax
+    c6bf:	88 85 74 ff ff ff    	mov    %al,-0x8c(%ebp)
+    c6c5:	0f b6 8d 74 ff ff ff 	movzbl -0x8c(%ebp),%ecx
+    c6cc:	38 8d 6c ff ff ff    	cmp    %cl,-0x94(%ebp)
+    c6d2:	0f 82 d5 03 00 00    	jb     0xcaad
+    c6d8:	8b 95 68 ff ff ff    	mov    -0x98(%ebp),%edx
+    c6de:	89 f0                	mov    %esi,%eax
+    c6e0:	31 c9                	xor    %ecx,%ecx
+    c6e2:	89 c6                	mov    %eax,%esi
+    c6e4:	eb 03                	jmp    0xc6e9
+    c6e6:	83 c1 01             	add    $0x1,%ecx
+    c6e9:	0f b6 04 0f          	movzbl (%edi,%ecx,1),%eax
+    c6ed:	88 85 6c ff ff ff    	mov    %al,-0x94(%ebp)
+    c6f3:	0f b6 44 0a 01       	movzbl 0x1(%edx,%ecx,1),%eax
+    c6f8:	38 85 6c ff ff ff    	cmp    %al,-0x94(%ebp)
+    c6fe:	88 85 74 ff ff ff    	mov    %al,-0x8c(%ebp)
+    c704:	74 e0                	je     0xc6e6
+    c706:	89 f0                	mov    %esi,%eax
+    c708:	01 cf                	add    %ecx,%edi
+    c70a:	8d 34 0a             	lea    (%edx,%ecx,1),%esi
+    c70d:	89 b5 5c ff ff ff    	mov    %esi,-0xa4(%ebp)
+    c713:	31 f6                	xor    %esi,%esi
+    c715:	89 bd 68 ff ff ff    	mov    %edi,-0x98(%ebp)
+    c71b:	89 95 10 ff ff ff    	mov    %edx,-0xf0(%ebp)
+    c721:	eb 1f                	jmp    0xc742
+    c723:	8b 95 5c ff ff ff    	mov    -0xa4(%ebp),%edx
+    c729:	0f b6 52 01          	movzbl 0x1(%edx),%edx
+    c72d:	88 95 74 ff ff ff    	mov    %dl,-0x8c(%ebp)
+    c733:	8b 95 68 ff ff ff    	mov    -0x98(%ebp),%edx
+    c739:	0f b6 12             	movzbl (%edx),%edx
+    c73c:	88 95 6c ff ff ff    	mov    %dl,-0x94(%ebp)
+    c742:	89 f2                	mov    %esi,%edx
+    c744:	0f b6 bd 6c ff ff ff 	movzbl -0x94(%ebp),%edi
+    c74b:	83 c1 01             	add    $0x1,%ecx
+    c74e:	0f b6 b5 74 ff ff ff 	movzbl -0x8c(%ebp),%esi
+    c755:	c1 e2 08             	shl    $0x8,%edx
+    c758:	83 85 5c ff ff ff 01 	addl   $0x1,-0xa4(%ebp)
+    c75f:	83 85 68 ff ff ff 01 	addl   $0x1,-0x98(%ebp)
+    c766:	29 fe                	sub    %edi,%esi
+    c768:	01 d6                	add    %edx,%esi
+    c76a:	39 c8                	cmp    %ecx,%eax
+    c76c:	77 b5                	ja     0xc723
+    c76e:	8b 95 10 ff ff ff    	mov    -0xf0(%ebp),%edx
+    c774:	e9 17 03 00 00       	jmp    0xca90
+    c779:	8b 55 10             	mov    0x10(%ebp),%edx
+    c77c:	c7 02 07 00 00 00    	movl   $0x7,(%edx)
+    c782:	e9 77 fc ff ff       	jmp    0xc3fe
+    c787:	b8 03 00 00 00       	mov    $0x3,%eax
+    c78c:	8b 7d 10             	mov    0x10(%ebp),%edi
+    c78f:	89 07                	mov    %eax,(%edi)
+    c791:	e9 68 fc ff ff       	jmp    0xc3fe
+    c796:	66 90                	xchg   %ax,%ax
+    c798:	85 c0                	test   %eax,%eax
+    c79a:	0f 84 44 02 00 00    	je     0xc9e4
+    c7a0:	0f b6 11             	movzbl (%ecx),%edx
+    c7a3:	0f b6 8d 68 ff ff ff 	movzbl -0x98(%ebp),%ecx
+    c7aa:	88 95 5c ff ff ff    	mov    %dl,-0xa4(%ebp)
+    c7b0:	31 d2                	xor    %edx,%edx
+    c7b2:	38 8d 5c ff ff ff    	cmp    %cl,-0xa4(%ebp)
+    c7b8:	0f 85 13 02 00 00    	jne    0xc9d1
+    c7be:	8b bd fc fe ff ff    	mov    -0x104(%ebp),%edi
+    c7c4:	89 c6                	mov    %eax,%esi
+    c7c6:	89 d1                	mov    %edx,%ecx
+    c7c8:	eb 18                	jmp    0xc7e2
+    c7ca:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
+    c7d0:	0f b6 54 0f 05       	movzbl 0x5(%edi,%ecx,1),%edx
+    c7d5:	0f b6 44 0b 01       	movzbl 0x1(%ebx,%ecx,1),%eax
+    c7da:	38 c2                	cmp    %al,%dl
+    c7dc:	0f 85 55 01 00 00    	jne    0xc937
+    c7e2:	83 c1 01             	add    $0x1,%ecx
+    c7e5:	39 ce                	cmp    %ecx,%esi
+    c7e7:	77 e7                	ja     0xc7d0
+    c7e9:	89 bd fc fe ff ff    	mov    %edi,-0x104(%ebp)
+    c7ef:	89 f0                	mov    %esi,%eax
+    c7f1:	89 ca                	mov    %ecx,%edx
+    c7f3:	0f 84 eb 01 00 00    	je     0xc9e4
+    c7f9:	8b 8d 74 ff ff ff    	mov    -0x8c(%ebp),%ecx
+    c7ff:	0f b6 7c 15 f3       	movzbl -0xd(%ebp,%edx,1),%edi
+    c804:	0f b6 34 11          	movzbl (%ecx,%edx,1),%esi
+    c808:	89 f2                	mov    %esi,%edx
+    c80a:	89 f9                	mov    %edi,%ecx
+    c80c:	38 ca                	cmp    %cl,%dl
+    c80e:	0f 87 f5 00 00 00    	ja     0xc909
+    c814:	8b bd 74 ff ff ff    	mov    -0x8c(%ebp),%edi
+    c81a:	8b 95 fc fe ff ff    	mov    -0x104(%ebp),%edx
+    c820:	0f b6 34 07          	movzbl (%edi,%eax,1),%esi
+    c824:	8d 7c 02 06          	lea    0x6(%edx,%eax,1),%edi
+    c828:	31 d2                	xor    %edx,%edx
+    c82a:	89 f1                	mov    %esi,%ecx
+    c82c:	3a 8d 68 ff ff ff    	cmp    -0x98(%ebp),%cl
+    c832:	0f 85 b3 01 00 00    	jne    0xc9eb
+    c838:	89 c6                	mov    %eax,%esi
+    c83a:	89 f9                	mov    %edi,%ecx
+    c83c:	eb 21                	jmp    0xc85f
+    c83e:	66 90                	xchg   %ax,%ax
+    c840:	0f b6 01             	movzbl (%ecx),%eax
+    c843:	83 c1 01             	add    $0x1,%ecx
+    c846:	88 85 fc fe ff ff    	mov    %al,-0x104(%ebp)
+    c84c:	0f b6 7c 13 01       	movzbl 0x1(%ebx,%edx,1),%edi
+    c851:	89 f8                	mov    %edi,%eax
+    c853:	38 85 fc fe ff ff    	cmp    %al,-0x104(%ebp)
+    c859:	0f 85 eb 00 00 00    	jne    0xc94a
+    c85f:	83 c2 01             	add    $0x1,%edx
+    c862:	39 d6                	cmp    %edx,%esi
+    c864:	77 da                	ja     0xc840
+    c866:	89 f0                	mov    %esi,%eax
+    c868:	74 1d                	je     0xc887
+    c86a:	8b 8d 74 ff ff ff    	mov    -0x8c(%ebp),%ecx
+    c870:	0f b6 7c 15 f3       	movzbl -0xd(%ebp,%edx,1),%edi
+    c875:	01 d1                	add    %edx,%ecx
+    c877:	0f b6 34 31          	movzbl (%ecx,%esi,1),%esi
+    c87b:	89 f2                	mov    %esi,%edx
+    c87d:	89 f9                	mov    %edi,%ecx
+    c87f:	38 ca                	cmp    %cl,%dl
+    c881:	0f 82 82 00 00 00    	jb     0xc909
+    c887:	0f b6 8d 5c ff ff ff 	movzbl -0xa4(%ebp),%ecx
+    c88e:	31 d2                	xor    %edx,%edx
+    c890:	38 8d 68 ff ff ff    	cmp    %cl,-0x98(%ebp)
+    c896:	75 20                	jne    0xc8b8
+    c898:	8b b5 74 ff ff ff    	mov    -0x8c(%ebp),%esi
+    c89e:	89 c7                	mov    %eax,%edi
+    c8a0:	83 c2 01             	add    $0x1,%edx
+    c8a3:	0f b6 0c 16          	movzbl (%esi,%edx,1),%ecx
+    c8a7:	0f b6 44 13 01       	movzbl 0x1(%ebx,%edx,1),%eax
+    c8ac:	38 c1                	cmp    %al,%cl
+    c8ae:	74 f0                	je     0xc8a0
+    c8b0:	88 85 68 ff ff ff    	mov    %al,-0x98(%ebp)
+    c8b6:	89 f8                	mov    %edi,%eax
+    c8b8:	8b bd 74 ff ff ff    	mov    -0x8c(%ebp),%edi
+    c8be:	31 f6                	xor    %esi,%esi
+    c8c0:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
+    c8c6:	0f b6 85 68 ff ff ff 	movzbl -0x98(%ebp),%eax
+    c8cd:	01 d7                	add    %edx,%edi
+    c8cf:	eb 08                	jmp    0xc8d9
+    c8d1:	0f b6 44 15 f3       	movzbl -0xd(%ebp,%edx,1),%eax
+    c8d6:	0f b6 0f             	movzbl (%edi),%ecx
+    c8d9:	0f b6 c0             	movzbl %al,%eax
+    c8dc:	0f b6 c9             	movzbl %cl,%ecx
+    c8df:	c1 e6 08             	shl    $0x8,%esi
+    c8e2:	29 c8                	sub    %ecx,%eax
+    c8e4:	83 c2 01             	add    $0x1,%edx
+    c8e7:	83 c7 01             	add    $0x1,%edi
+    c8ea:	39 95 74 ff ff ff    	cmp    %edx,-0x8c(%ebp)
+    c8f0:	8d 34 30             	lea    (%eax,%esi,1),%esi
+    c8f3:	77 dc                	ja     0xc8d1
+    c8f5:	8b bd 18 ff ff ff    	mov    -0xe8(%ebp),%edi
+    c8fb:	2b 75 84             	sub    -0x7c(%ebp),%esi
+    c8fe:	8b 34 b7             	mov    (%edi,%esi,4),%esi
+    c901:	89 75 84             	mov    %esi,-0x7c(%ebp)
+    c904:	e9 47 f8 ff ff       	jmp    0xc150
+    c909:	8b b5 74 ff ff ff    	mov    -0x8c(%ebp),%esi
+    c90f:	01 c0                	add    %eax,%eax
+    c911:	01 c6                	add    %eax,%esi
+    c913:	83 c0 01             	add    $0x1,%eax
+    c916:	83 e0 03             	and    $0x3,%eax
+    c919:	89 b5 fc fe ff ff    	mov    %esi,-0x104(%ebp)
+    c91f:	0f 84 a3 f8 ff ff    	je     0xc1c8
+    c925:	29 c6                	sub    %eax,%esi
+    c927:	89 f0                	mov    %esi,%eax
+    c929:	83 c0 04             	add    $0x4,%eax
+    c92c:	89 85 fc fe ff ff    	mov    %eax,-0x104(%ebp)
+    c932:	e9 91 f8 ff ff       	jmp    0xc1c8
+    c937:	89 f1                	mov    %esi,%ecx
+    c939:	89 d6                	mov    %edx,%esi
+    c93b:	89 bd fc fe ff ff    	mov    %edi,-0x104(%ebp)
+    c941:	89 c7                	mov    %eax,%edi
+    c943:	89 c8                	mov    %ecx,%eax
+    c945:	e9 be fe ff ff       	jmp    0xc808
+    c94a:	0f b6 95 fc fe ff ff 	movzbl -0x104(%ebp),%edx
+    c951:	89 f0                	mov    %esi,%eax
+    c953:	89 d6                	mov    %edx,%esi
+    c955:	e9 21 ff ff ff       	jmp    0xc87b
+    c95a:	8b 55 84             	mov    -0x7c(%ebp),%edx
+    c95d:	c1 fa 18             	sar    $0x18,%edx
+    c960:	39 95 0c ff ff ff    	cmp    %edx,-0xf4(%ebp)
+    c966:	0f 85 09 f8 ff ff    	jne    0xc175
+    c96c:	8b b5 10 ff ff ff    	mov    -0xf0(%ebp),%esi
+    c972:	0f b6 54 31 01       	movzbl 0x1(%ecx,%esi,1),%edx
+    c977:	3a 54 01 01          	cmp    0x1(%ecx,%eax,1),%dl
+    c97b:	0f 85 f4 f7 ff ff    	jne    0xc175
+    c981:	31 d2                	xor    %edx,%edx
+    c983:	01 c8                	add    %ecx,%eax
+    c985:	8b b5 08 ff ff ff    	mov    -0xf8(%ebp),%esi
+    c98b:	eb 12                	jmp    0xc99f
+    c98d:	8d 76 00             	lea    0x0(%esi),%esi
+    c990:	0f b6 4c 16 01       	movzbl 0x1(%esi,%edx,1),%ecx
+    c995:	3a 4c 10 01          	cmp    0x1(%eax,%edx,1),%cl
+    c999:	0f 85 d6 f7 ff ff    	jne    0xc175
+    c99f:	83 c2 01             	add    $0x1,%edx
+    c9a2:	39 95 30 ff ff ff    	cmp    %edx,-0xd0(%ebp)
+    c9a8:	73 e6                	jae    0xc990
+    c9aa:	8b 95 6c ff ff ff    	mov    -0x94(%ebp),%edx
+    c9b0:	b8 01 00 00 00       	mov    $0x1,%eax
+    c9b5:	8b 8d 6c ff ff ff    	mov    -0x94(%ebp),%ecx
+    c9bb:	8b bd 64 ff ff ff    	mov    -0x9c(%ebp),%edi
+    c9c1:	c1 ea 05             	shr    $0x5,%edx
+    c9c4:	83 e1 1f             	and    $0x1f,%ecx
+    c9c7:	d3 e0                	shl    %cl,%eax
+    c9c9:	09 04 97             	or     %eax,(%edi,%edx,4)
+    c9cc:	e9 a4 f7 ff ff       	jmp    0xc175
+    c9d1:	0f b6 bd 68 ff ff ff 	movzbl -0x98(%ebp),%edi
+    c9d8:	0f b6 b5 5c ff ff ff 	movzbl -0xa4(%ebp),%esi
+    c9df:	e9 24 fe ff ff       	jmp    0xc808
+    c9e4:	31 f6                	xor    %esi,%esi
+    c9e6:	e9 0a ff ff ff       	jmp    0xc8f5
+    c9eb:	0f b6 bd 68 ff ff ff 	movzbl -0x98(%ebp),%edi
+    c9f2:	e9 84 fe ff ff       	jmp    0xc87b
+    c9f7:	8b 95 68 ff ff ff    	mov    -0x98(%ebp),%edx
+    c9fd:	01 75 84             	add    %esi,-0x7c(%ebp)
+    ca00:	e9 d5 f6 ff ff       	jmp    0xc0da
+    ca05:	8b 85 7c ff ff ff    	mov    -0x84(%ebp),%eax
+    ca0b:	8b 50 24             	mov    0x24(%eax),%edx
+    ca0e:	3b 95 20 ff ff ff    	cmp    -0xe0(%ebp),%edx
+    ca14:	74 1d                	je     0xca33
+    ca16:	8b 40 08             	mov    0x8(%eax),%eax
+    ca19:	8b b5 60 ff ff ff    	mov    -0xa0(%ebp),%esi
+    ca1f:	8b bd 7c ff ff ff    	mov    -0x84(%ebp),%edi
+    ca25:	89 34 90             	mov    %esi,(%eax,%edx,4)
+    ca28:	83 c2 01             	add    $0x1,%edx
+    ca2b:	89 57 24             	mov    %edx,0x24(%edi)
+    ca2e:	e9 76 fa ff ff       	jmp    0xc4a9
+    ca33:	8b b5 20 ff ff ff    	mov    -0xe0(%ebp),%esi
+    ca39:	8d 74 36 01          	lea    0x1(%esi,%esi,1),%esi
+    ca3d:	89 f0                	mov    %esi,%eax
+    ca3f:	c1 e0 02             	shl    $0x2,%eax
+    ca42:	89 b5 20 ff ff ff    	mov    %esi,-0xe0(%ebp)
+    ca48:	89 44 24 04          	mov    %eax,0x4(%esp)
+    ca4c:	8b bd 7c ff ff ff    	mov    -0x84(%ebp),%edi
+    ca52:	8b 47 08             	mov    0x8(%edi),%eax
+    ca55:	89 04 24             	mov    %eax,(%esp)
+    ca58:	e8 fc ff ff ff       	call   0xca59
+    ca5d:	85 c0                	test   %eax,%eax
+    ca5f:	74 20                	je     0xca81
+    ca61:	8b 95 7c ff ff ff    	mov    -0x84(%ebp),%edx
+    ca67:	89 42 08             	mov    %eax,0x8(%edx)
+    ca6a:	8b 52 24             	mov    0x24(%edx),%edx
+    ca6d:	eb aa                	jmp    0xca19
+    ca6f:	89 95 68 ff ff ff    	mov    %edx,-0x98(%ebp)
+    ca75:	e9 4b fc ff ff       	jmp    0xc6c5
+    ca7a:	01 f6                	add    %esi,%esi
+    ca7c:	e9 60 fb ff ff       	jmp    0xc5e1
+    ca81:	b0 0c                	mov    $0xc,%al
+    ca83:	e9 04 fd ff ff       	jmp    0xc78c
+    ca88:	8b 95 68 ff ff ff    	mov    -0x98(%ebp),%edx
+    ca8e:	31 f6                	xor    %esi,%esi
+    ca90:	8b 8d 18 ff ff ff    	mov    -0xe8(%ebp),%ecx
+    ca96:	2b b5 60 ff ff ff    	sub    -0xa0(%ebp),%esi
+    ca9c:	01 45 84             	add    %eax,-0x7c(%ebp)
+    ca9f:	8b 34 b1             	mov    (%ecx,%esi,4),%esi
+    caa2:	89 b5 60 ff ff ff    	mov    %esi,-0xa0(%ebp)
+    caa8:	e9 2d f6 ff ff       	jmp    0xc0da
+    caad:	01 f6                	add    %esi,%esi
+    caaf:	8d 0c 37             	lea    (%edi,%esi,1),%ecx
+    cab2:	83 c6 01             	add    $0x1,%esi
+    cab5:	89 f0                	mov    %esi,%eax
+    cab7:	83 e0 03             	and    $0x3,%eax
+    caba:	0f 84 b8 fa ff ff    	je     0xc578
+    cac0:	be 04 00 00 00       	mov    $0x4,%esi
+    cac5:	29 c6                	sub    %eax,%esi
+    cac7:	01 f1                	add    %esi,%ecx
+    cac9:	e9 aa fa ff ff       	jmp    0xc578
+    cace:	8b 95 68 ff ff ff    	mov    -0x98(%ebp),%edx
+    cad4:	e9 07 fc ff ff       	jmp    0xc6e0
+    cad9:	89 f1                	mov    %esi,%ecx
+    cadb:	89 f0                	mov    %esi,%eax
+    cadd:	eb 0c                	jmp    0xcaeb
+    cadf:	0f be 3a             	movsbl (%edx),%edi
+    cae2:	83 e8 01             	sub    $0x1,%eax
+    cae5:	83 c2 01             	add    $0x1,%edx
+    cae8:	8d 0c cf             	lea    (%edi,%ecx,8),%ecx
+    caeb:	85 c0                	test   %eax,%eax
+    caed:	7f f0                	jg     0xcadf
+    caef:	89 ca                	mov    %ecx,%edx
+    caf1:	89 c8                	mov    %ecx,%eax
+    caf3:	c1 fa 1f             	sar    $0x1f,%edx
+    caf6:	f7 bd 44 ff ff ff    	idivl  -0xbc(%ebp)
+    cafc:	8b 85 40 ff ff ff    	mov    -0xc0(%ebp),%eax
+    cb02:	8b 3c d0             	mov    (%eax,%edx,8),%edi
+    cb05:	89 95 74 ff ff ff    	mov    %edx,-0x8c(%ebp)
+    cb0b:	85 ff                	test   %edi,%edi
+    cb0d:	0f 84 40 f4 ff ff    	je     0xbf53
+    cb13:	89 ca                	mov    %ecx,%edx
+    cb15:	89 c8                	mov    %ecx,%eax
+    cb17:	c1 fa 1f             	sar    $0x1f,%edx
+    cb1a:	f7 bd 38 ff ff ff    	idivl  -0xc8(%ebp)
+    cb20:	89 8d 34 ff ff ff    	mov    %ecx,-0xcc(%ebp)
+    cb26:	8d 04 d5 08 00 00 00 	lea    0x8(,%edx,8),%eax
+    cb2d:	89 85 5c ff ff ff    	mov    %eax,-0xa4(%ebp)
+    cb33:	8b 85 74 ff ff ff    	mov    -0x8c(%ebp),%eax
+    cb39:	89 95 6c ff ff ff    	mov    %edx,-0x94(%ebp)
+    cb3f:	31 d2                	xor    %edx,%edx
+    cb41:	03 85 6c ff ff ff    	add    -0x94(%ebp),%eax
+    cb47:	89 85 50 ff ff ff    	mov    %eax,-0xb0(%ebp)
+    cb4d:	eb 1e                	jmp    0xcb6d
+    cb4f:	8b 85 50 ff ff ff    	mov    -0xb0(%ebp),%eax
+    cb55:	8b 8d 60 ff ff ff    	mov    -0xa0(%ebp),%ecx
+    cb5b:	03 95 5c ff ff ff    	add    -0xa4(%ebp),%edx
+    cb61:	8b 7c c1 08          	mov    0x8(%ecx,%eax,8),%edi
+    cb65:	85 ff                	test   %edi,%edi
+    cb67:	0f 84 e6 f3 ff ff    	je     0xbf53
+    cb6d:	8b 8d 40 ff ff ff    	mov    -0xc0(%ebp),%ecx
+    cb73:	01 d1                	add    %edx,%ecx
+    cb75:	3b bd 34 ff ff ff    	cmp    -0xcc(%ebp),%edi
+    cb7b:	89 8d 60 ff ff ff    	mov    %ecx,-0xa0(%ebp)
+    cb81:	75 cc                	jne    0xcb4f
+    cb83:	8b 85 74 ff ff ff    	mov    -0x8c(%ebp),%eax
+    cb89:	8b 44 c1 04          	mov    0x4(%ecx,%eax,8),%eax
+    cb8d:	8b 8d 54 ff ff ff    	mov    -0xac(%ebp),%ecx
+    cb93:	89 85 6c ff ff ff    	mov    %eax,-0x94(%ebp)
+    cb99:	0f b6 0c 01          	movzbl (%ecx,%eax,1),%ecx
+    cb9d:	0f b6 c1             	movzbl %cl,%eax
+    cba0:	39 c6                	cmp    %eax,%esi
+    cba2:	88 8d 68 ff ff ff    	mov    %cl,-0x98(%ebp)
+    cba8:	75 a5                	jne    0xcb4f
+    cbaa:	8b 85 6c ff ff ff    	mov    -0x94(%ebp),%eax
+    cbb0:	83 c0 01             	add    $0x1,%eax
+    cbb3:	89 85 6c ff ff ff    	mov    %eax,-0x94(%ebp)
+    cbb9:	8b 85 54 ff ff ff    	mov    -0xac(%ebp),%eax
+    cbbf:	03 85 6c ff ff ff    	add    -0x94(%ebp),%eax
+    cbc5:	89 74 24 08          	mov    %esi,0x8(%esp)
+    cbc9:	89 44 24 04          	mov    %eax,0x4(%esp)
+    cbcd:	8b 4d 84             	mov    -0x7c(%ebp),%ecx
+    cbd0:	89 0c 24             	mov    %ecx,(%esp)
+    cbd3:	89 95 04 ff ff ff    	mov    %edx,-0xfc(%ebp)
+    cbd9:	e8 fc ff ff ff       	call   0xcbda
+    cbde:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
+    cbe4:	85 c0                	test   %eax,%eax
+    cbe6:	0f 85 63 ff ff ff    	jne    0xcb4f
+    cbec:	85 ff                	test   %edi,%edi
+    cbee:	0f 84 5f f3 ff ff    	je     0xbf53
+    cbf4:	8b b5 7c ff ff ff    	mov    -0x84(%ebp),%esi
+    cbfa:	8b 56 20             	mov    0x20(%esi),%edx
+    cbfd:	3b 95 2c ff ff ff    	cmp    -0xd4(%ebp),%edx
+    cc03:	0f 84 ed 00 00 00    	je     0xccf6
+    cc09:	8b 46 04             	mov    0x4(%esi),%eax
+    cc0c:	0f b6 8d 68 ff ff ff 	movzbl -0x98(%ebp),%ecx
+    cc13:	03 8d 6c ff ff ff    	add    -0x94(%ebp),%ecx
+    cc19:	8b b5 7c ff ff ff    	mov    -0x84(%ebp),%esi
+    cc1f:	89 0c 90             	mov    %ecx,(%eax,%edx,4)
+    cc22:	83 c2 01             	add    $0x1,%edx
+    cc25:	89 56 20             	mov    %edx,0x20(%esi)
+    cc28:	e9 4f f3 ff ff       	jmp    0xbf7c
+    cc2d:	83 7d 84 ff          	cmpl   $0xffffffff,-0x7c(%ebp)
+    cc31:	0f 84 cd f0 ff ff    	je     0xbd04
+    cc37:	8b 55 10             	mov    0x10(%ebp),%edx
+    cc3a:	31 f6                	xor    %esi,%esi
+    cc3c:	c7 02 0a 00 00 00    	movl   $0xa,(%edx)
+    cc42:	e9 ad e9 ff ff       	jmp    0xb5f4
+    cc47:	85 ff                	test   %edi,%edi
+    cc49:	0f 85 ec f0 ff ff    	jne    0xbd3b
+    cc4f:	31 c9                	xor    %ecx,%ecx
+    cc51:	ba 90 10 00 00       	mov    $0x1090,%edx
+    cc56:	89 f0                	mov    %esi,%eax
+    cc58:	e8 13 3d ff ff       	call   0x970
+    cc5d:	c7 85 7c ff ff ff 00 	movl   $0x0,-0x84(%ebp)
+    cc64:	00 00 00 
+    cc67:	8b 5d 10             	mov    0x10(%ebp),%ebx
+    cc6a:	83 3b 00             	cmpl   $0x0,(%ebx)
+    cc6d:	0f 84 a5 f1 ff ff    	je     0xbe18
+    cc73:	e9 7a e9 ff ff       	jmp    0xb5f2
+    cc78:	c7 85 7c ff ff ff 00 	movl   $0x0,-0x84(%ebp)
+    cc7f:	00 00 00 
+    cc82:	eb e3                	jmp    0xcc67
+    cc84:	89 b5 7c ff ff ff    	mov    %esi,-0x84(%ebp)
+    cc8a:	bb 02 00 00 00       	mov    $0x2,%ebx
+    cc8f:	eb 3c                	jmp    0xcccd
+    cc91:	8b 55 88             	mov    -0x78(%ebp),%edx
+    cc94:	89 f0                	mov    %esi,%eax
+    cc96:	e8 e5 3e ff ff       	call   0xb80
+    cc9b:	c7 04 24 10 00 00 00 	movl   $0x10,(%esp)
+    cca2:	8b 95 7c ff ff ff    	mov    -0x84(%ebp),%edx
+    cca8:	89 c1                	mov    %eax,%ecx
+    ccaa:	89 c6                	mov    %eax,%esi
+    ccac:	8b 45 88             	mov    -0x78(%ebp),%eax
+    ccaf:	e8 4c 3f ff ff       	call   0xc00
+    ccb4:	85 c0                	test   %eax,%eax
+    ccb6:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
+    ccbc:	0f 84 18 f2 ff ff    	je     0xbeda
+    ccc2:	85 f6                	test   %esi,%esi
+    ccc4:	0f 84 10 f2 ff ff    	je     0xbeda
+    ccca:	83 c3 01             	add    $0x1,%ebx
+    cccd:	39 df                	cmp    %ebx,%edi
+    cccf:	7d c0                	jge    0xcc91
+    ccd1:	3b 7d 84             	cmp    -0x7c(%ebp),%edi
+    ccd4:	74 11                	je     0xcce7
+    ccd6:	8b 55 88             	mov    -0x78(%ebp),%edx
+    ccd9:	89 f0                	mov    %esi,%eax
+    ccdb:	e8 a0 3e ff ff       	call   0xb80
+    cce0:	89 c3                	mov    %eax,%ebx
+    cce2:	e9 6b f0 ff ff       	jmp    0xbd52
+    cce7:	83 bd 7c ff ff ff 00 	cmpl   $0x0,-0x84(%ebp)
+    ccee:	0f 94 c0             	sete   %al
+    ccf1:	e9 1a f1 ff ff       	jmp    0xbe10
+    ccf6:	8b bd 2c ff ff ff    	mov    -0xd4(%ebp),%edi
+    ccfc:	8d 7c 3f 01          	lea    0x1(%edi,%edi,1),%edi
+    cd00:	89 f8                	mov    %edi,%eax
+    cd02:	c1 e0 02             	shl    $0x2,%eax
+    cd05:	89 bd 2c ff ff ff    	mov    %edi,-0xd4(%ebp)
+    cd0b:	89 44 24 04          	mov    %eax,0x4(%esp)
+    cd0f:	8b 95 7c ff ff ff    	mov    -0x84(%ebp),%edx
+    cd15:	8b 42 04             	mov    0x4(%edx),%eax
+    cd18:	89 04 24             	mov    %eax,(%esp)
+    cd1b:	e8 fc ff ff ff       	call   0xcd1c
+    cd20:	85 c0                	test   %eax,%eax
+    cd22:	0f 84 59 fd ff ff    	je     0xca81
+    cd28:	8b 8d 7c ff ff ff    	mov    -0x84(%ebp),%ecx
+    cd2e:	89 41 04             	mov    %eax,0x4(%ecx)
+    cd31:	8b 51 20             	mov    0x20(%ecx),%edx
+    cd34:	e9 d3 fe ff ff       	jmp    0xcc0c
+    cd39:	8b 45 10             	mov    0x10(%ebp),%eax
+    cd3c:	89 f1                	mov    %esi,%ecx
+    cd3e:	89 44 24 08          	mov    %eax,0x8(%esp)
+    cd42:	8b 45 0c             	mov    0xc(%ebp),%eax
+    cd45:	83 c0 01             	add    $0x1,%eax
+    cd48:	89 44 24 04          	mov    %eax,0x4(%esp)
+    cd4c:	8b 55 08             	mov    0x8(%ebp),%edx
+    cd4f:	89 14 24             	mov    %edx,(%esp)
+    cd52:	8b 85 70 ff ff ff    	mov    -0x90(%ebp),%eax
+    cd58:	89 da                	mov    %ebx,%edx
+    cd5a:	e8 f1 08 00 00       	call   0xd650
+    cd5f:	8b 4d 10             	mov    0x10(%ebp),%ecx
+    cd62:	83 39 00             	cmpl   $0x0,(%ecx)
+    cd65:	0f 85 87 e8 ff ff    	jne    0xb5f2
+    cd6b:	80 7e 04 09          	cmpb   $0x9,0x4(%esi)
+    cd6f:	0f 84 c2 ee ff ff    	je     0xbc37
+    cd75:	85 c0                	test   %eax,%eax
+    cd77:	74 0c                	je     0xcd85
+    cd79:	31 c9                	xor    %ecx,%ecx
+    cd7b:	ba 90 10 00 00       	mov    $0x1090,%edx
+    cd80:	e8 eb 3b ff ff       	call   0x970
     cd85:	8b 5d 10             	mov    0x10(%ebp),%ebx
-    cd88:	c7 03 0c 00 00 00    	movl   $0xc,(%ebx)
-    cd8e:	e9 51 e8 ff ff       	jmp    0xb5e4
-    cd93:	8b 45 10             	mov    0x10(%ebp),%eax
-    cd96:	31 f6                	xor    %esi,%esi
-    cd98:	c7 00 06 00 00 00    	movl   $0x6,(%eax)
-    cd9e:	e9 41 e8 ff ff       	jmp    0xb5e4
-    cda3:	8b 7d 10             	mov    0x10(%ebp),%edi
-    cda6:	c7 07 07 00 00 00    	movl   $0x7,(%edi)
-    cdac:	e9 3d f6 ff ff       	jmp    0xc3ee
-    cdb1:	8b 4d 10             	mov    0x10(%ebp),%ecx
-    cdb4:	89 01                	mov    %eax,(%ecx)
-    cdb6:	e9 33 f6 ff ff       	jmp    0xc3ee
-    cdbb:	8b 9d 78 ff ff ff    	mov    -0x88(%ebp),%ebx
-    cdc1:	80 7b 04 02          	cmpb   $0x2,0x4(%ebx)
-    cdc5:	0f 84 5f 06 00 00    	je     0xd42a
-    cdcb:	8b 7d 10             	mov    0x10(%ebp),%edi
-    cdce:	31 f6                	xor    %esi,%esi
-    cdd0:	c7 07 0a 00 00 00    	movl   $0xa,(%edi)
-    cdd6:	e9 09 e8 ff ff       	jmp    0xb5e4
-    cddb:	8b 85 70 ff ff ff    	mov    -0x90(%ebp),%eax
-    cde1:	8b 95 48 ff ff ff    	mov    -0xb8(%ebp),%edx
-    cde7:	8b 4d 08             	mov    0x8(%ebp),%ecx
-    cdea:	01 50 28             	add    %edx,0x28(%eax)
-    cded:	89 c2                	mov    %eax,%edx
-    cdef:	8d 45 cc             	lea    -0x34(%ebp),%eax
-    cdf2:	e8 69 33 ff ff       	call   0x160
-    cdf7:	0f b6 55 d0          	movzbl -0x30(%ebp),%edx
-    cdfb:	80 fa 02             	cmp    $0x2,%dl
-    cdfe:	0f 84 36 06 00 00    	je     0xd43a
-    ce04:	80 fa 15             	cmp    $0x15,%dl
-    ce07:	0f 84 ca 05 00 00    	je     0xd3d7
-    ce0d:	8d 55 8c             	lea    -0x74(%ebp),%edx
-    ce10:	89 55 d8             	mov    %edx,-0x28(%ebp)
-    ce13:	8d 75 d4             	lea    -0x2c(%ebp),%esi
-    ce16:	c7 44 24 0c 01 00 00 	movl   $0x1,0xc(%esp)
-    ce1d:	00 
-    ce1e:	8b 4d 08             	mov    0x8(%ebp),%ecx
-    ce21:	89 4c 24 08          	mov    %ecx,0x8(%esp)
-    ce25:	8b 7d 88             	mov    -0x78(%ebp),%edi
-    ce28:	8d 4d cc             	lea    -0x34(%ebp),%ecx
-    ce2b:	89 04 24             	mov    %eax,(%esp)
-    ce2e:	89 f0                	mov    %esi,%eax
-    ce30:	89 7c 24 04          	mov    %edi,0x4(%esp)
-    ce34:	8b 95 70 ff ff ff    	mov    -0x90(%ebp),%edx
-    ce3a:	e8 91 38 ff ff       	call   0x6d0
-    ce3f:	85 c0                	test   %eax,%eax
-    ce41:	0f 85 db 02 00 00    	jne    0xd122
-    ce47:	8b 4d 08             	mov    0x8(%ebp),%ecx
-    ce4a:	8b 95 70 ff ff ff    	mov    -0x90(%ebp),%edx
-    ce50:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
-    ce56:	e8 05 33 ff ff       	call   0x160
-    ce5b:	89 85 48 ff ff ff    	mov    %eax,-0xb8(%ebp)
-    ce61:	8b 45 dc             	mov    -0x24(%ebp),%eax
-    ce64:	83 f8 04             	cmp    $0x4,%eax
-    ce67:	0f 84 d3 01 00 00    	je     0xd040
-    ce6d:	83 f8 02             	cmp    $0x2,%eax
-    ce70:	0f 84 ca 01 00 00    	je     0xd040
-    ce76:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
-    ce79:	83 f9 02             	cmp    $0x2,%ecx
-    ce7c:	89 8d 6c ff ff ff    	mov    %ecx,-0x94(%ebp)
-    ce82:	0f 84 b8 01 00 00    	je     0xd040
-    ce88:	83 bd 6c ff ff ff 04 	cmpl   $0x4,-0x94(%ebp)
-    ce8f:	0f 84 ab 01 00 00    	je     0xd040
-    ce95:	85 c0                	test   %eax,%eax
-    ce97:	0f 85 de 01 00 00    	jne    0xd07b
-    ce9d:	83 bd 58 ff ff ff 00 	cmpl   $0x0,-0xa8(%ebp)
-    cea4:	0f 85 9d 01 00 00    	jne    0xd047
-    ceaa:	0f b6 45 e0          	movzbl -0x20(%ebp),%eax
-    ceae:	8b b5 4c ff ff ff    	mov    -0xb4(%ebp),%esi
-    ceb4:	0f b6 04 06          	movzbl (%esi,%eax,1),%eax
-    ceb8:	c6 85 74 ff ff ff 00 	movb   $0x0,-0x8c(%ebp)
-    cebf:	89 45 84             	mov    %eax,-0x7c(%ebp)
-    cec2:	83 bd 6c ff ff ff 00 	cmpl   $0x0,-0x94(%ebp)
-    cec9:	0f 85 04 02 00 00    	jne    0xd0d3
-    cecf:	83 bd 58 ff ff ff 00 	cmpl   $0x0,-0xa8(%ebp)
-    ced6:	0f 85 c4 01 00 00    	jne    0xd0a0
-    cedc:	0f b6 45 d8          	movzbl -0x28(%ebp),%eax
-    cee0:	8b b5 4c ff ff ff    	mov    -0xb4(%ebp),%esi
-    cee6:	0f b6 3c 06          	movzbl (%esi,%eax,1),%edi
-    ceea:	80 bd 74 ff ff ff 00 	cmpb   $0x0,-0x8c(%ebp)
-    cef1:	0f 85 d2 01 00 00    	jne    0xd0c9
-    cef7:	39 7d 84             	cmp    %edi,-0x7c(%ebp)
-    cefa:	0f 87 33 01 00 00    	ja     0xd033
-    cf00:	83 bd 58 ff ff ff 00 	cmpl   $0x0,-0xa8(%ebp)
-    cf07:	75 09                	jne    0xcf12
-    cf09:	8b 45 88             	mov    -0x78(%ebp),%eax
-    cf0c:	83 78 5c 01          	cmpl   $0x1,0x5c(%eax)
-    cf10:	7e 33                	jle    0xcf45
-    cf12:	8b 95 7c ff ff ff    	mov    -0x84(%ebp),%edx
-    cf18:	8b 42 28             	mov    0x28(%edx),%eax
-    cf1b:	3b 85 28 ff ff ff    	cmp    -0xd8(%ebp),%eax
-    cf21:	0f 84 86 00 00 00    	je     0xcfad
-    cf27:	8b 72 0c             	mov    0xc(%edx),%esi
-    cf2a:	8b 8d 7c ff ff ff    	mov    -0x84(%ebp),%ecx
-    cf30:	8b 55 84             	mov    -0x7c(%ebp),%edx
-    cf33:	89 14 86             	mov    %edx,(%esi,%eax,4)
-    cf36:	8b 51 10             	mov    0x10(%ecx),%edx
-    cf39:	8b 41 28             	mov    0x28(%ecx),%eax
-    cf3c:	89 3c 82             	mov    %edi,(%edx,%eax,4)
-    cf3f:	83 c0 01             	add    $0x1,%eax
-    cf42:	89 41 28             	mov    %eax,0x28(%ecx)
-    cf45:	31 f6                	xor    %esi,%esi
-    cf47:	eb 43                	jmp    0xcf8c
-    cf49:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
-    cf50:	8b 95 4c ff ff ff    	mov    -0xb4(%ebp),%edx
-    cf56:	0f b6 04 32          	movzbl (%edx,%esi,1),%eax
-    cf5a:	39 c7                	cmp    %eax,%edi
-    cf5c:	72 1f                	jb     0xcf7d
-    cf5e:	39 45 84             	cmp    %eax,-0x7c(%ebp)
-    cf61:	77 1a                	ja     0xcf7d
-    cf63:	89 f1                	mov    %esi,%ecx
-    cf65:	ba 01 00 00 00       	mov    $0x1,%edx
-    cf6a:	83 e1 1f             	and    $0x1f,%ecx
-    cf6d:	89 f0                	mov    %esi,%eax
-    cf6f:	d3 e2                	shl    %cl,%edx
-    cf71:	8b 8d 64 ff ff ff    	mov    -0x9c(%ebp),%ecx
-    cf77:	c1 e8 05             	shr    $0x5,%eax
-    cf7a:	09 14 81             	or     %edx,(%ecx,%eax,4)
-    cf7d:	83 c6 01             	add    $0x1,%esi
-    cf80:	81 fe 00 01 00 00    	cmp    $0x100,%esi
-    cf86:	0f 84 8a 00 00 00    	je     0xd016
-    cf8c:	8b 85 58 ff ff ff    	mov    -0xa8(%ebp),%eax
-    cf92:	85 c0                	test   %eax,%eax
-    cf94:	74 ba                	je     0xcf50
-    cf96:	89 34 24             	mov    %esi,(%esp)
-    cf99:	e8 fc ff ff ff       	call   0xcf9a
-    cf9e:	89 c2                	mov    %eax,%edx
-    cfa0:	8b 85 3c ff ff ff    	mov    -0xc4(%ebp),%eax
-    cfa6:	e8 fc ff ff ff       	call   0xcfa7
-    cfab:	eb ad                	jmp    0xcf5a
-    cfad:	8b 8d 28 ff ff ff    	mov    -0xd8(%ebp),%ecx
-    cfb3:	8d 4c 09 01          	lea    0x1(%ecx,%ecx,1),%ecx
-    cfb7:	89 ca                	mov    %ecx,%edx
-    cfb9:	c1 e2 02             	shl    $0x2,%edx
-    cfbc:	89 8d 28 ff ff ff    	mov    %ecx,-0xd8(%ebp)
-    cfc2:	89 54 24 04          	mov    %edx,0x4(%esp)
-    cfc6:	8b b5 7c ff ff ff    	mov    -0x84(%ebp),%esi
-    cfcc:	8b 46 0c             	mov    0xc(%esi),%eax
-    cfcf:	89 04 24             	mov    %eax,(%esp)
-    cfd2:	89 95 04 ff ff ff    	mov    %edx,-0xfc(%ebp)
-    cfd8:	e8 fc ff ff ff       	call   0xcfd9
-    cfdd:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
-    cfe3:	89 54 24 04          	mov    %edx,0x4(%esp)
-    cfe7:	8b 95 7c ff ff ff    	mov    -0x84(%ebp),%edx
-    cfed:	89 c6                	mov    %eax,%esi
-    cfef:	8b 42 10             	mov    0x10(%edx),%eax
-    cff2:	89 04 24             	mov    %eax,(%esp)
-    cff5:	e8 fc ff ff ff       	call   0xcff6
-    cffa:	85 c0                	test   %eax,%eax
-    cffc:	74 26                	je     0xd024
-    cffe:	85 f6                	test   %esi,%esi
-    d000:	74 22                	je     0xd024
-    d002:	8b 8d 7c ff ff ff    	mov    -0x84(%ebp),%ecx
-    d008:	89 41 10             	mov    %eax,0x10(%ecx)
-    d00b:	8b 41 28             	mov    0x28(%ecx),%eax
-    d00e:	89 71 0c             	mov    %esi,0xc(%ecx)
-    d011:	e9 14 ff ff ff       	jmp    0xcf2a
-    d016:	8b 45 10             	mov    0x10(%ebp),%eax
-    d019:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
-    d01f:	e9 51 ef ff ff       	jmp    0xbf75
-    d024:	b8 0c 00 00 00       	mov    $0xc,%eax
-    d029:	8b 5d 10             	mov    0x10(%ebp),%ebx
-    d02c:	89 03                	mov    %eax,(%ebx)
-    d02e:	e9 bb f3 ff ff       	jmp    0xc3ee
-    d033:	f7 45 08 00 00 01 00 	testl  $0x10000,0x8(%ebp)
-    d03a:	0f 84 c0 fe ff ff    	je     0xcf00
-    d040:	b8 0b 00 00 00       	mov    $0xb,%eax
-    d045:	eb e2                	jmp    0xd029
-    d047:	0f b6 45 e0          	movzbl -0x20(%ebp),%eax
-    d04b:	89 04 24             	mov    %eax,(%esp)
-    d04e:	e8 fc ff ff ff       	call   0xd04f
-    d053:	89 c2                	mov    %eax,%edx
-    d055:	8b 85 3c ff ff ff    	mov    -0xc4(%ebp),%eax
-    d05b:	e8 fc ff ff ff       	call   0xd05c
-    d060:	8b 7d d4             	mov    -0x2c(%ebp),%edi
-    d063:	89 bd 6c ff ff ff    	mov    %edi,-0x94(%ebp)
-    d069:	83 f8 ff             	cmp    $0xffffffff,%eax
-    d06c:	89 45 84             	mov    %eax,-0x7c(%ebp)
-    d06f:	0f 94 85 74 ff ff ff 	sete   -0x8c(%ebp)
-    d076:	e9 47 fe ff ff       	jmp    0xcec2
-    d07b:	83 f8 01             	cmp    $0x1,%eax
-    d07e:	0f 84 be 01 00 00    	je     0xd242
-    d084:	83 f8 03             	cmp    $0x3,%eax
-    d087:	0f 84 70 01 00 00    	je     0xd1fd
-    d08d:	c6 85 74 ff ff ff 01 	movb   $0x1,-0x8c(%ebp)
-    d094:	c7 45 84 ff ff ff ff 	movl   $0xffffffff,-0x7c(%ebp)
-    d09b:	e9 22 fe ff ff       	jmp    0xcec2
-    d0a0:	0f b6 45 d8          	movzbl -0x28(%ebp),%eax
-    d0a4:	89 04 24             	mov    %eax,(%esp)
-    d0a7:	e8 fc ff ff ff       	call   0xd0a8
-    d0ac:	89 c2                	mov    %eax,%edx
-    d0ae:	8b 85 3c ff ff ff    	mov    -0xc4(%ebp),%eax
-    d0b4:	e8 fc ff ff ff       	call   0xd0b5
-    d0b9:	83 f8 ff             	cmp    $0xffffffff,%eax
-    d0bc:	89 c7                	mov    %eax,%edi
-    d0be:	0f 94 c0             	sete   %al
-    d0c1:	84 c0                	test   %al,%al
-    d0c3:	0f 84 21 fe ff ff    	je     0xceea
-    d0c9:	b8 03 00 00 00       	mov    $0x3,%eax
-    d0ce:	e9 56 ff ff ff       	jmp    0xd029
-    d0d3:	83 bd 6c ff ff ff 01 	cmpl   $0x1,-0x94(%ebp)
-    d0da:	74 66                	je     0xd142
-    d0dc:	83 bd 6c ff ff ff 03 	cmpl   $0x3,-0x94(%ebp)
-    d0e3:	75 e4                	jne    0xd0c9
-    d0e5:	8b 7d d8             	mov    -0x28(%ebp),%edi
-    d0e8:	31 c0                	xor    %eax,%eax
-    d0ea:	83 c9 ff             	or     $0xffffffff,%ecx
-    d0ed:	89 bd 6c ff ff ff    	mov    %edi,-0x94(%ebp)
-    d0f3:	89 fa                	mov    %edi,%edx
-    d0f5:	f2 ae                	repnz scas %es:(%edi),%al
-    d0f7:	83 bd 58 ff ff ff 00 	cmpl   $0x0,-0xa8(%ebp)
-    d0fe:	f7 d1                	not    %ecx
-    d100:	8d 71 ff             	lea    -0x1(%ecx),%esi
-    d103:	75 27                	jne    0xd12c
-    d105:	83 fe 01             	cmp    $0x1,%esi
-    d108:	75 bf                	jne    0xd0c9
-    d10a:	8b 8d 6c ff ff ff    	mov    -0x94(%ebp),%ecx
-    d110:	8b b5 4c ff ff ff    	mov    -0xb4(%ebp),%esi
-    d116:	0f b6 01             	movzbl (%ecx),%eax
-    d119:	0f b6 3c 06          	movzbl (%esi,%eax,1),%edi
-    d11d:	e9 c8 fd ff ff       	jmp    0xceea
-    d122:	8b 55 10             	mov    0x10(%ebp),%edx
-    d125:	89 02                	mov    %eax,(%edx)
-    d127:	e9 c2 f2 ff ff       	jmp    0xc3ee
-    d12c:	89 f7                	mov    %esi,%edi
-    d12e:	89 f1                	mov    %esi,%ecx
-    d130:	85 c9                	test   %ecx,%ecx
-    d132:	7e 23                	jle    0xd157
-    d134:	0f be 02             	movsbl (%edx),%eax
-    d137:	83 e9 01             	sub    $0x1,%ecx
-    d13a:	83 c2 01             	add    $0x1,%edx
-    d13d:	8d 3c f8             	lea    (%eax,%edi,8),%edi
-    d140:	eb ee                	jmp    0xd130
-    d142:	83 bd 58 ff ff ff 00 	cmpl   $0x0,-0xa8(%ebp)
-    d149:	0f 84 7a ff ff ff    	je     0xd0c9
-    d14f:	8b 55 d8             	mov    -0x28(%ebp),%edx
-    d152:	e9 57 ff ff ff       	jmp    0xd0ae
-    d157:	89 fa                	mov    %edi,%edx
-    d159:	89 f8                	mov    %edi,%eax
-    d15b:	c1 fa 1f             	sar    $0x1f,%edx
-    d15e:	f7 bd 44 ff ff ff    	idivl  -0xbc(%ebp)
-    d164:	8b 85 40 ff ff ff    	mov    -0xc0(%ebp),%eax
-    d16a:	8b 0c d0             	mov    (%eax,%edx,8),%ecx
-    d16d:	89 95 68 ff ff ff    	mov    %edx,-0x98(%ebp)
-    d173:	85 c9                	test   %ecx,%ecx
-    d175:	74 65                	je     0xd1dc
-    d177:	89 fa                	mov    %edi,%edx
-    d179:	89 f8                	mov    %edi,%eax
-    d17b:	c1 fa 1f             	sar    $0x1f,%edx
-    d17e:	f7 bd 38 ff ff ff    	idivl  -0xc8(%ebp)
-    d184:	8d 04 d5 08 00 00 00 	lea    0x8(,%edx,8),%eax
-    d18b:	89 85 5c ff ff ff    	mov    %eax,-0xa4(%ebp)
-    d191:	8b 85 68 ff ff ff    	mov    -0x98(%ebp),%eax
-    d197:	89 95 60 ff ff ff    	mov    %edx,-0xa0(%ebp)
-    d19d:	31 d2                	xor    %edx,%edx
-    d19f:	03 85 60 ff ff ff    	add    -0xa0(%ebp),%eax
-    d1a5:	89 bd 60 ff ff ff    	mov    %edi,-0xa0(%ebp)
-    d1ab:	89 d7                	mov    %edx,%edi
-    d1ad:	89 85 50 ff ff ff    	mov    %eax,-0xb0(%ebp)
-    d1b3:	8b 85 40 ff ff ff    	mov    -0xc0(%ebp),%eax
-    d1b9:	39 8d 60 ff ff ff    	cmp    %ecx,-0xa0(%ebp)
-    d1bf:	8d 14 38             	lea    (%eax,%edi,1),%edx
-    d1c2:	0f 84 cb 00 00 00    	je     0xd293
-    d1c8:	8b 85 50 ff ff ff    	mov    -0xb0(%ebp),%eax
-    d1ce:	03 bd 5c ff ff ff    	add    -0xa4(%ebp),%edi
-    d1d4:	8b 4c c2 08          	mov    0x8(%edx,%eax,8),%ecx
-    d1d8:	85 c9                	test   %ecx,%ecx
-    d1da:	75 d7                	jne    0xd1b3
-    d1dc:	83 fe 01             	cmp    $0x1,%esi
-    d1df:	0f 85 e4 fe ff ff    	jne    0xd0c9
-    d1e5:	8b b5 6c ff ff ff    	mov    -0x94(%ebp),%esi
-    d1eb:	8b 95 4c ff ff ff    	mov    -0xb4(%ebp),%edx
-    d1f1:	0f b6 06             	movzbl (%esi),%eax
-    d1f4:	0f b6 3c 02          	movzbl (%edx,%eax,1),%edi
-    d1f8:	e9 ed fc ff ff       	jmp    0xceea
-    d1fd:	8b 55 e0             	mov    -0x20(%ebp),%edx
-    d200:	31 c0                	xor    %eax,%eax
-    d202:	83 c9 ff             	or     $0xffffffff,%ecx
-    d205:	89 55 84             	mov    %edx,-0x7c(%ebp)
-    d208:	89 d7                	mov    %edx,%edi
-    d20a:	f2 ae                	repnz scas %es:(%edi),%al
-    d20c:	83 bd 58 ff ff ff 00 	cmpl   $0x0,-0xa8(%ebp)
-    d213:	f7 d1                	not    %ecx
-    d215:	8d 71 ff             	lea    -0x1(%ecx),%esi
-    d218:	75 5f                	jne    0xd279
-    d21a:	83 fe 01             	cmp    $0x1,%esi
-    d21d:	0f 85 6a fe ff ff    	jne    0xd08d
-    d223:	8b 55 84             	mov    -0x7c(%ebp),%edx
-    d226:	8b 8d 4c ff ff ff    	mov    -0xb4(%ebp),%ecx
-    d22c:	0f b6 02             	movzbl (%edx),%eax
-    d22f:	0f b6 04 01          	movzbl (%ecx,%eax,1),%eax
-    d233:	c6 85 74 ff ff ff 00 	movb   $0x0,-0x8c(%ebp)
-    d23a:	89 45 84             	mov    %eax,-0x7c(%ebp)
-    d23d:	e9 80 fc ff ff       	jmp    0xcec2
-    d242:	83 bd 58 ff ff ff 00 	cmpl   $0x0,-0xa8(%ebp)
-    d249:	0f 84 3e fe ff ff    	je     0xd08d
-    d24f:	8b 55 e0             	mov    -0x20(%ebp),%edx
-    d252:	8b 85 3c ff ff ff    	mov    -0xc4(%ebp),%eax
-    d258:	e8 fc ff ff ff       	call   0xd259
-    d25d:	89 45 84             	mov    %eax,-0x7c(%ebp)
-    d260:	8b 45 d4             	mov    -0x2c(%ebp),%eax
-    d263:	83 7d 84 ff          	cmpl   $0xffffffff,-0x7c(%ebp)
-    d267:	89 85 6c ff ff ff    	mov    %eax,-0x94(%ebp)
-    d26d:	0f 94 85 74 ff ff ff 	sete   -0x8c(%ebp)
-    d274:	e9 49 fc ff ff       	jmp    0xcec2
-    d279:	89 f7                	mov    %esi,%edi
-    d27b:	89 f0                	mov    %esi,%eax
-    d27d:	85 c0                	test   %eax,%eax
-    d27f:	0f 8e a5 00 00 00    	jle    0xd32a
-    d285:	0f be 0a             	movsbl (%edx),%ecx
-    d288:	83 e8 01             	sub    $0x1,%eax
-    d28b:	83 c2 01             	add    $0x1,%edx
-    d28e:	8d 3c f9             	lea    (%ecx,%edi,8),%edi
-    d291:	eb ea                	jmp    0xd27d
-    d293:	8b 85 68 ff ff ff    	mov    -0x98(%ebp),%eax
-    d299:	8b 4c c2 04          	mov    0x4(%edx,%eax,8),%ecx
-    d29d:	8b 85 54 ff ff ff    	mov    -0xac(%ebp),%eax
-    d2a3:	0f b6 04 08          	movzbl (%eax,%ecx,1),%eax
-    d2a7:	39 c6                	cmp    %eax,%esi
-    d2a9:	0f 85 19 ff ff ff    	jne    0xd1c8
-    d2af:	8b 85 54 ff ff ff    	mov    -0xac(%ebp),%eax
-    d2b5:	83 c1 01             	add    $0x1,%ecx
-    d2b8:	89 74 24 08          	mov    %esi,0x8(%esp)
-    d2bc:	01 c8                	add    %ecx,%eax
-    d2be:	89 44 24 04          	mov    %eax,0x4(%esp)
-    d2c2:	8b 85 6c ff ff ff    	mov    -0x94(%ebp),%eax
-    d2c8:	89 04 24             	mov    %eax,(%esp)
-    d2cb:	89 95 04 ff ff ff    	mov    %edx,-0xfc(%ebp)
-    d2d1:	89 8d 00 ff ff ff    	mov    %ecx,-0x100(%ebp)
-    d2d7:	e8 fc ff ff ff       	call   0xd2d8
-    d2dc:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
-    d2e2:	8b 8d 00 ff ff ff    	mov    -0x100(%ebp),%ecx
-    d2e8:	85 c0                	test   %eax,%eax
-    d2ea:	0f 85 d8 fe ff ff    	jne    0xd1c8
-    d2f0:	8b bd 60 ff ff ff    	mov    -0xa0(%ebp),%edi
-    d2f6:	85 ff                	test   %edi,%edi
-    d2f8:	0f 84 de fe ff ff    	je     0xd1dc
-    d2fe:	8b 95 54 ff ff ff    	mov    -0xac(%ebp),%edx
-    d304:	8d 34 31             	lea    (%ecx,%esi,1),%esi
-    d307:	0f b6 04 32          	movzbl (%edx,%esi,1),%eax
-    d30b:	89 d1                	mov    %edx,%ecx
-    d30d:	8d 44 06 04          	lea    0x4(%esi,%eax,1),%eax
-    d311:	83 e0 fc             	and    $0xfffffffc,%eax
-    d314:	8b 54 02 04          	mov    0x4(%edx,%eax,1),%edx
-    d318:	8d 44 90 08          	lea    0x8(%eax,%edx,4),%eax
-    d31c:	8b 3c 01             	mov    (%ecx,%eax,1),%edi
-    d31f:	83 ff ff             	cmp    $0xffffffff,%edi
-    d322:	0f 94 c0             	sete   %al
-    d325:	e9 97 fd ff ff       	jmp    0xd0c1
-    d32a:	89 fa                	mov    %edi,%edx
-    d32c:	89 f8                	mov    %edi,%eax
-    d32e:	c1 fa 1f             	sar    $0x1f,%edx
-    d331:	f7 bd 44 ff ff ff    	idivl  -0xbc(%ebp)
-    d337:	8b 85 40 ff ff ff    	mov    -0xc0(%ebp),%eax
-    d33d:	8b 0c d0             	mov    (%eax,%edx,8),%ecx
-    d340:	89 95 74 ff ff ff    	mov    %edx,-0x8c(%ebp)
-    d346:	85 c9                	test   %ecx,%ecx
-    d348:	74 65                	je     0xd3af
-    d34a:	89 fa                	mov    %edi,%edx
-    d34c:	89 f8                	mov    %edi,%eax
-    d34e:	c1 fa 1f             	sar    $0x1f,%edx
-    d351:	f7 bd 38 ff ff ff    	idivl  -0xc8(%ebp)
-    d357:	8d 04 d5 08 00 00 00 	lea    0x8(,%edx,8),%eax
-    d35e:	89 85 60 ff ff ff    	mov    %eax,-0xa0(%ebp)
-    d364:	8b 85 74 ff ff ff    	mov    -0x8c(%ebp),%eax
-    d36a:	89 95 68 ff ff ff    	mov    %edx,-0x98(%ebp)
-    d370:	31 d2                	xor    %edx,%edx
-    d372:	03 85 68 ff ff ff    	add    -0x98(%ebp),%eax
-    d378:	89 bd 68 ff ff ff    	mov    %edi,-0x98(%ebp)
-    d37e:	89 d7                	mov    %edx,%edi
-    d380:	89 85 5c ff ff ff    	mov    %eax,-0xa4(%ebp)
-    d386:	8b 85 40 ff ff ff    	mov    -0xc0(%ebp),%eax
-    d38c:	39 8d 68 ff ff ff    	cmp    %ecx,-0x98(%ebp)
-    d392:	8d 14 38             	lea    (%eax,%edi,1),%edx
-    d395:	0f 84 ad 00 00 00    	je     0xd448
-    d39b:	8b 85 5c ff ff ff    	mov    -0xa4(%ebp),%eax
-    d3a1:	03 bd 60 ff ff ff    	add    -0xa0(%ebp),%edi
-    d3a7:	8b 4c c2 08          	mov    0x8(%edx,%eax,8),%ecx
-    d3ab:	85 c9                	test   %ecx,%ecx
-    d3ad:	75 d7                	jne    0xd386
-    d3af:	83 fe 01             	cmp    $0x1,%esi
-    d3b2:	0f 85 d5 fc ff ff    	jne    0xd08d
-    d3b8:	8b 75 84             	mov    -0x7c(%ebp),%esi
-    d3bb:	8b bd 4c ff ff ff    	mov    -0xb4(%ebp),%edi
-    d3c1:	0f b6 06             	movzbl (%esi),%eax
-    d3c4:	0f b6 04 07          	movzbl (%edi,%eax,1),%eax
-    d3c8:	c6 85 74 ff ff ff 00 	movb   $0x0,-0x8c(%ebp)
-    d3cf:	89 45 84             	mov    %eax,-0x7c(%ebp)
-    d3d2:	e9 eb fa ff ff       	jmp    0xcec2
-    d3d7:	8b b5 70 ff ff ff    	mov    -0x90(%ebp),%esi
-    d3dd:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
-    d3e3:	8b bd 48 ff ff ff    	mov    -0xb8(%ebp),%edi
-    d3e9:	29 7e 28             	sub    %edi,0x28(%esi)
-    d3ec:	c6 40 04 01          	movb   $0x1,0x4(%eax)
-    d3f0:	8b 45 dc             	mov    -0x24(%ebp),%eax
-    d3f3:	e9 0c e5 ff ff       	jmp    0xb904
-    d3f8:	8b 5d 84             	mov    -0x7c(%ebp),%ebx
-    d3fb:	8b 03                	mov    (%ebx),%eax
-    d3fd:	8b 40 28             	mov    0x28(%eax),%eax
-    d400:	05 00 01 00 00       	add    $0x100,%eax
-    d405:	e9 7e e2 ff ff       	jmp    0xb688
-    d40a:	3c 09                	cmp    $0x9,%al
-    d40c:	89 55 88             	mov    %edx,-0x78(%ebp)
-    d40f:	0f 85 4a e8 ff ff    	jne    0xbc5f
-    d415:	e9 79 e8 ff ff       	jmp    0xbc93
-    d41a:	8b 55 10             	mov    0x10(%ebp),%edx
-    d41d:	31 f6                	xor    %esi,%esi
-    d41f:	c7 02 0d 00 00 00    	movl   $0xd,(%edx)
-    d425:	e9 ba e1 ff ff       	jmp    0xb5e4
-    d42a:	8b 75 10             	mov    0x10(%ebp),%esi
-    d42d:	c7 06 09 00 00 00    	movl   $0x9,(%esi)
-    d433:	31 f6                	xor    %esi,%esi
-    d435:	e9 aa e1 ff ff       	jmp    0xb5e4
-    d43a:	8b 4d 10             	mov    0x10(%ebp),%ecx
-    d43d:	c7 01 07 00 00 00    	movl   $0x7,(%ecx)
-    d443:	e9 a6 ef ff ff       	jmp    0xc3ee
-    d448:	8b 85 74 ff ff ff    	mov    -0x8c(%ebp),%eax
-    d44e:	8b 4c c2 04          	mov    0x4(%edx,%eax,8),%ecx
-    d452:	8b 85 54 ff ff ff    	mov    -0xac(%ebp),%eax
-    d458:	0f b6 04 08          	movzbl (%eax,%ecx,1),%eax
-    d45c:	39 c6                	cmp    %eax,%esi
-    d45e:	0f 85 37 ff ff ff    	jne    0xd39b
-    d464:	8b 85 54 ff ff ff    	mov    -0xac(%ebp),%eax
-    d46a:	83 c1 01             	add    $0x1,%ecx
-    d46d:	89 74 24 08          	mov    %esi,0x8(%esp)
-    d471:	01 c8                	add    %ecx,%eax
-    d473:	89 44 24 04          	mov    %eax,0x4(%esp)
-    d477:	8b 45 84             	mov    -0x7c(%ebp),%eax
-    d47a:	89 04 24             	mov    %eax,(%esp)
-    d47d:	89 95 04 ff ff ff    	mov    %edx,-0xfc(%ebp)
-    d483:	89 8d 00 ff ff ff    	mov    %ecx,-0x100(%ebp)
-    d489:	e8 fc ff ff ff       	call   0xd48a
-    d48e:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
-    d494:	8b 8d 00 ff ff ff    	mov    -0x100(%ebp),%ecx
-    d49a:	85 c0                	test   %eax,%eax
-    d49c:	0f 85 f9 fe ff ff    	jne    0xd39b
-    d4a2:	8b bd 68 ff ff ff    	mov    -0x98(%ebp),%edi
-    d4a8:	85 ff                	test   %edi,%edi
-    d4aa:	0f 84 ff fe ff ff    	je     0xd3af
-    d4b0:	8b 95 54 ff ff ff    	mov    -0xac(%ebp),%edx
-    d4b6:	8d 34 31             	lea    (%ecx,%esi,1),%esi
-    d4b9:	0f b6 04 32          	movzbl (%edx,%esi,1),%eax
-    d4bd:	89 d1                	mov    %edx,%ecx
-    d4bf:	8d 44 06 04          	lea    0x4(%esi,%eax,1),%eax
-    d4c3:	83 e0 fc             	and    $0xfffffffc,%eax
-    d4c6:	8b 54 02 04          	mov    0x4(%edx,%eax,1),%edx
-    d4ca:	8d 44 90 08          	lea    0x8(%eax,%edx,4),%eax
-    d4ce:	8b 04 01             	mov    (%ecx,%eax,1),%eax
-    d4d1:	83 f8 ff             	cmp    $0xffffffff,%eax
-    d4d4:	89 45 84             	mov    %eax,-0x7c(%ebp)
-    d4d7:	0f 94 85 74 ff ff ff 	sete   -0x8c(%ebp)
-    d4de:	e9 df f9 ff ff       	jmp    0xcec2
-    d4e3:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
-    d4e9:	8d bc 27 00 00 00 00 	lea    0x0(%edi,%eiz,1),%edi
-    d4f0:	55                   	push   %ebp
-    d4f1:	89 e5                	mov    %esp,%ebp
-    d4f3:	57                   	push   %edi
-    d4f4:	89 cf                	mov    %ecx,%edi
-    d4f6:	56                   	push   %esi
-    d4f7:	53                   	push   %ebx
-    d4f8:	83 ec 1c             	sub    $0x1c,%esp
-    d4fb:	8b 75 0c             	mov    0xc(%ebp),%esi
-    d4fe:	89 45 e8             	mov    %eax,-0x18(%ebp)
-    d501:	8b 02                	mov    (%edx),%eax
-    d503:	89 55 f0             	mov    %edx,-0x10(%ebp)
-    d506:	89 45 e4             	mov    %eax,-0x1c(%ebp)
-    d509:	8b 45 10             	mov    0x10(%ebp),%eax
-    d50c:	89 74 24 04          	mov    %esi,0x4(%esp)
-    d510:	89 44 24 08          	mov    %eax,0x8(%esp)
-    d514:	8b 45 08             	mov    0x8(%ebp),%eax
-    d517:	89 04 24             	mov    %eax,(%esp)
-    d51a:	8b 45 e8             	mov    -0x18(%ebp),%eax
-    d51d:	e8 7e e0 ff ff       	call   0xb5a0
-    d522:	85 c0                	test   %eax,%eax
-    d524:	89 45 ec             	mov    %eax,-0x14(%ebp)
-    d527:	0f 84 f4 00 00 00    	je     0xd621
-    d52d:	8d 76 00             	lea    0x0(%esi),%esi
-    d530:	0f b6 47 04          	movzbl 0x4(%edi),%eax
-    d534:	3c 02                	cmp    $0x2,%al
-    d536:	74 48                	je     0xd580
-    d538:	3c 0a                	cmp    $0xa,%al
-    d53a:	74 44                	je     0xd580
-    d53c:	85 f6                	test   %esi,%esi
-    d53e:	66 90                	xchg   %ax,%ax
-    d540:	74 04                	je     0xd546
-    d542:	3c 09                	cmp    $0x9,%al
-    d544:	74 3a                	je     0xd580
-    d546:	8b 45 10             	mov    0x10(%ebp),%eax
-    d549:	89 f9                	mov    %edi,%ecx
-    d54b:	89 74 24 04          	mov    %esi,0x4(%esp)
-    d54f:	89 44 24 08          	mov    %eax,0x8(%esp)
-    d553:	8b 45 08             	mov    0x8(%ebp),%eax
-    d556:	89 04 24             	mov    %eax,(%esp)
-    d559:	8b 55 f0             	mov    -0x10(%ebp),%edx
-    d55c:	8b 45 e8             	mov    -0x18(%ebp),%eax
-    d55f:	e8 3c e0 ff ff       	call   0xb5a0
-    d564:	85 c0                	test   %eax,%eax
-    d566:	89 c3                	mov    %eax,%ebx
-    d568:	74 7b                	je     0xd5e5
-    d56a:	8b 55 ec             	mov    -0x14(%ebp),%edx
-    d56d:	85 d2                	test   %edx,%edx
-    d56f:	75 1f                	jne    0xd590
-    d571:	89 5d ec             	mov    %ebx,-0x14(%ebp)
-    d574:	0f b6 47 04          	movzbl 0x4(%edi),%eax
-    d578:	3c 02                	cmp    $0x2,%al
-    d57a:	75 bc                	jne    0xd538
-    d57c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    d580:	8b 45 ec             	mov    -0x14(%ebp),%eax
-    d583:	83 c4 1c             	add    $0x1c,%esp
-    d586:	5b                   	pop    %ebx
-    d587:	5e                   	pop    %esi
-    d588:	5f                   	pop    %edi
-    d589:	5d                   	pop    %ebp
-    d58a:	c3                   	ret    
-    d58b:	90                   	nop
+    cd88:	31 f6                	xor    %esi,%esi
+    cd8a:	c7 03 08 00 00 00    	movl   $0x8,(%ebx)
+    cd90:	e9 5f e8 ff ff       	jmp    0xb5f4
+    cd95:	8b 5d 10             	mov    0x10(%ebp),%ebx
+    cd98:	c7 03 0c 00 00 00    	movl   $0xc,(%ebx)
+    cd9e:	e9 51 e8 ff ff       	jmp    0xb5f4
+    cda3:	8b 45 10             	mov    0x10(%ebp),%eax
+    cda6:	31 f6                	xor    %esi,%esi
+    cda8:	c7 00 06 00 00 00    	movl   $0x6,(%eax)
+    cdae:	e9 41 e8 ff ff       	jmp    0xb5f4
+    cdb3:	8b 7d 10             	mov    0x10(%ebp),%edi
+    cdb6:	c7 07 07 00 00 00    	movl   $0x7,(%edi)
+    cdbc:	e9 3d f6 ff ff       	jmp    0xc3fe
+    cdc1:	8b 4d 10             	mov    0x10(%ebp),%ecx
+    cdc4:	89 01                	mov    %eax,(%ecx)
+    cdc6:	e9 33 f6 ff ff       	jmp    0xc3fe
+    cdcb:	8b 9d 78 ff ff ff    	mov    -0x88(%ebp),%ebx
+    cdd1:	80 7b 04 02          	cmpb   $0x2,0x4(%ebx)
+    cdd5:	0f 84 5f 06 00 00    	je     0xd43a
+    cddb:	8b 7d 10             	mov    0x10(%ebp),%edi
+    cdde:	31 f6                	xor    %esi,%esi
+    cde0:	c7 07 0a 00 00 00    	movl   $0xa,(%edi)
+    cde6:	e9 09 e8 ff ff       	jmp    0xb5f4
+    cdeb:	8b 85 70 ff ff ff    	mov    -0x90(%ebp),%eax
+    cdf1:	8b 95 48 ff ff ff    	mov    -0xb8(%ebp),%edx
+    cdf7:	8b 4d 08             	mov    0x8(%ebp),%ecx
+    cdfa:	01 50 28             	add    %edx,0x28(%eax)
+    cdfd:	89 c2                	mov    %eax,%edx
+    cdff:	8d 45 cc             	lea    -0x34(%ebp),%eax
+    ce02:	e8 59 33 ff ff       	call   0x160
+    ce07:	0f b6 55 d0          	movzbl -0x30(%ebp),%edx
+    ce0b:	80 fa 02             	cmp    $0x2,%dl
+    ce0e:	0f 84 36 06 00 00    	je     0xd44a
+    ce14:	80 fa 15             	cmp    $0x15,%dl
+    ce17:	0f 84 ca 05 00 00    	je     0xd3e7
+    ce1d:	8d 55 8c             	lea    -0x74(%ebp),%edx
+    ce20:	89 55 d8             	mov    %edx,-0x28(%ebp)
+    ce23:	8d 75 d4             	lea    -0x2c(%ebp),%esi
+    ce26:	c7 44 24 0c 01 00 00 	movl   $0x1,0xc(%esp)
+    ce2d:	00 
+    ce2e:	8b 4d 08             	mov    0x8(%ebp),%ecx
+    ce31:	89 4c 24 08          	mov    %ecx,0x8(%esp)
+    ce35:	8b 7d 88             	mov    -0x78(%ebp),%edi
+    ce38:	8d 4d cc             	lea    -0x34(%ebp),%ecx
+    ce3b:	89 04 24             	mov    %eax,(%esp)
+    ce3e:	89 f0                	mov    %esi,%eax
+    ce40:	89 7c 24 04          	mov    %edi,0x4(%esp)
+    ce44:	8b 95 70 ff ff ff    	mov    -0x90(%ebp),%edx
+    ce4a:	e8 81 38 ff ff       	call   0x6d0
+    ce4f:	85 c0                	test   %eax,%eax
+    ce51:	0f 85 db 02 00 00    	jne    0xd132
+    ce57:	8b 4d 08             	mov    0x8(%ebp),%ecx
+    ce5a:	8b 95 70 ff ff ff    	mov    -0x90(%ebp),%edx
+    ce60:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
+    ce66:	e8 f5 32 ff ff       	call   0x160
+    ce6b:	89 85 48 ff ff ff    	mov    %eax,-0xb8(%ebp)
+    ce71:	8b 45 dc             	mov    -0x24(%ebp),%eax
+    ce74:	83 f8 04             	cmp    $0x4,%eax
+    ce77:	0f 84 d3 01 00 00    	je     0xd050
+    ce7d:	83 f8 02             	cmp    $0x2,%eax
+    ce80:	0f 84 ca 01 00 00    	je     0xd050
+    ce86:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
+    ce89:	83 f9 02             	cmp    $0x2,%ecx
+    ce8c:	89 8d 6c ff ff ff    	mov    %ecx,-0x94(%ebp)
+    ce92:	0f 84 b8 01 00 00    	je     0xd050
+    ce98:	83 bd 6c ff ff ff 04 	cmpl   $0x4,-0x94(%ebp)
+    ce9f:	0f 84 ab 01 00 00    	je     0xd050
+    cea5:	85 c0                	test   %eax,%eax
+    cea7:	0f 85 de 01 00 00    	jne    0xd08b
+    cead:	83 bd 58 ff ff ff 00 	cmpl   $0x0,-0xa8(%ebp)
+    ceb4:	0f 85 9d 01 00 00    	jne    0xd057
+    ceba:	0f b6 45 e0          	movzbl -0x20(%ebp),%eax
+    cebe:	8b b5 4c ff ff ff    	mov    -0xb4(%ebp),%esi
+    cec4:	0f b6 04 06          	movzbl (%esi,%eax,1),%eax
+    cec8:	c6 85 74 ff ff ff 00 	movb   $0x0,-0x8c(%ebp)
+    cecf:	89 45 84             	mov    %eax,-0x7c(%ebp)
+    ced2:	83 bd 6c ff ff ff 00 	cmpl   $0x0,-0x94(%ebp)
+    ced9:	0f 85 04 02 00 00    	jne    0xd0e3
+    cedf:	83 bd 58 ff ff ff 00 	cmpl   $0x0,-0xa8(%ebp)
+    cee6:	0f 85 c4 01 00 00    	jne    0xd0b0
+    ceec:	0f b6 45 d8          	movzbl -0x28(%ebp),%eax
+    cef0:	8b b5 4c ff ff ff    	mov    -0xb4(%ebp),%esi
+    cef6:	0f b6 3c 06          	movzbl (%esi,%eax,1),%edi
+    cefa:	80 bd 74 ff ff ff 00 	cmpb   $0x0,-0x8c(%ebp)
+    cf01:	0f 85 d2 01 00 00    	jne    0xd0d9
+    cf07:	39 7d 84             	cmp    %edi,-0x7c(%ebp)
+    cf0a:	0f 87 33 01 00 00    	ja     0xd043
+    cf10:	83 bd 58 ff ff ff 00 	cmpl   $0x0,-0xa8(%ebp)
+    cf17:	75 09                	jne    0xcf22
+    cf19:	8b 45 88             	mov    -0x78(%ebp),%eax
+    cf1c:	83 78 5c 01          	cmpl   $0x1,0x5c(%eax)
+    cf20:	7e 33                	jle    0xcf55
+    cf22:	8b 95 7c ff ff ff    	mov    -0x84(%ebp),%edx
+    cf28:	8b 42 28             	mov    0x28(%edx),%eax
+    cf2b:	3b 85 28 ff ff ff    	cmp    -0xd8(%ebp),%eax
+    cf31:	0f 84 86 00 00 00    	je     0xcfbd
+    cf37:	8b 72 0c             	mov    0xc(%edx),%esi
+    cf3a:	8b 8d 7c ff ff ff    	mov    -0x84(%ebp),%ecx
+    cf40:	8b 55 84             	mov    -0x7c(%ebp),%edx
+    cf43:	89 14 86             	mov    %edx,(%esi,%eax,4)
+    cf46:	8b 51 10             	mov    0x10(%ecx),%edx
+    cf49:	8b 41 28             	mov    0x28(%ecx),%eax
+    cf4c:	89 3c 82             	mov    %edi,(%edx,%eax,4)
+    cf4f:	83 c0 01             	add    $0x1,%eax
+    cf52:	89 41 28             	mov    %eax,0x28(%ecx)
+    cf55:	31 f6                	xor    %esi,%esi
+    cf57:	eb 43                	jmp    0xcf9c
+    cf59:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
+    cf60:	8b 95 4c ff ff ff    	mov    -0xb4(%ebp),%edx
+    cf66:	0f b6 04 32          	movzbl (%edx,%esi,1),%eax
+    cf6a:	39 c7                	cmp    %eax,%edi
+    cf6c:	72 1f                	jb     0xcf8d
+    cf6e:	39 45 84             	cmp    %eax,-0x7c(%ebp)
+    cf71:	77 1a                	ja     0xcf8d
+    cf73:	89 f1                	mov    %esi,%ecx
+    cf75:	ba 01 00 00 00       	mov    $0x1,%edx
+    cf7a:	83 e1 1f             	and    $0x1f,%ecx
+    cf7d:	89 f0                	mov    %esi,%eax
+    cf7f:	d3 e2                	shl    %cl,%edx
+    cf81:	8b 8d 64 ff ff ff    	mov    -0x9c(%ebp),%ecx
+    cf87:	c1 e8 05             	shr    $0x5,%eax
+    cf8a:	09 14 81             	or     %edx,(%ecx,%eax,4)
+    cf8d:	83 c6 01             	add    $0x1,%esi
+    cf90:	81 fe 00 01 00 00    	cmp    $0x100,%esi
+    cf96:	0f 84 8a 00 00 00    	je     0xd026
+    cf9c:	8b 85 58 ff ff ff    	mov    -0xa8(%ebp),%eax
+    cfa2:	85 c0                	test   %eax,%eax
+    cfa4:	74 ba                	je     0xcf60
+    cfa6:	89 34 24             	mov    %esi,(%esp)
+    cfa9:	e8 fc ff ff ff       	call   0xcfaa
+    cfae:	89 c2                	mov    %eax,%edx
+    cfb0:	8b 85 3c ff ff ff    	mov    -0xc4(%ebp),%eax
+    cfb6:	e8 fc ff ff ff       	call   0xcfb7
+    cfbb:	eb ad                	jmp    0xcf6a
+    cfbd:	8b 8d 28 ff ff ff    	mov    -0xd8(%ebp),%ecx
+    cfc3:	8d 4c 09 01          	lea    0x1(%ecx,%ecx,1),%ecx
+    cfc7:	89 ca                	mov    %ecx,%edx
+    cfc9:	c1 e2 02             	shl    $0x2,%edx
+    cfcc:	89 8d 28 ff ff ff    	mov    %ecx,-0xd8(%ebp)
+    cfd2:	89 54 24 04          	mov    %edx,0x4(%esp)
+    cfd6:	8b b5 7c ff ff ff    	mov    -0x84(%ebp),%esi
+    cfdc:	8b 46 0c             	mov    0xc(%esi),%eax
+    cfdf:	89 04 24             	mov    %eax,(%esp)
+    cfe2:	89 95 04 ff ff ff    	mov    %edx,-0xfc(%ebp)
+    cfe8:	e8 fc ff ff ff       	call   0xcfe9
+    cfed:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
+    cff3:	89 54 24 04          	mov    %edx,0x4(%esp)
+    cff7:	8b 95 7c ff ff ff    	mov    -0x84(%ebp),%edx
+    cffd:	89 c6                	mov    %eax,%esi
+    cfff:	8b 42 10             	mov    0x10(%edx),%eax
+    d002:	89 04 24             	mov    %eax,(%esp)
+    d005:	e8 fc ff ff ff       	call   0xd006
+    d00a:	85 c0                	test   %eax,%eax
+    d00c:	74 26                	je     0xd034
+    d00e:	85 f6                	test   %esi,%esi
+    d010:	74 22                	je     0xd034
+    d012:	8b 8d 7c ff ff ff    	mov    -0x84(%ebp),%ecx
+    d018:	89 41 10             	mov    %eax,0x10(%ecx)
+    d01b:	8b 41 28             	mov    0x28(%ecx),%eax
+    d01e:	89 71 0c             	mov    %esi,0xc(%ecx)
+    d021:	e9 14 ff ff ff       	jmp    0xcf3a
+    d026:	8b 45 10             	mov    0x10(%ebp),%eax
+    d029:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
+    d02f:	e9 51 ef ff ff       	jmp    0xbf85
+    d034:	b8 0c 00 00 00       	mov    $0xc,%eax
+    d039:	8b 5d 10             	mov    0x10(%ebp),%ebx
+    d03c:	89 03                	mov    %eax,(%ebx)
+    d03e:	e9 bb f3 ff ff       	jmp    0xc3fe
+    d043:	f7 45 08 00 00 01 00 	testl  $0x10000,0x8(%ebp)
+    d04a:	0f 84 c0 fe ff ff    	je     0xcf10
+    d050:	b8 0b 00 00 00       	mov    $0xb,%eax
+    d055:	eb e2                	jmp    0xd039
+    d057:	0f b6 45 e0          	movzbl -0x20(%ebp),%eax
+    d05b:	89 04 24             	mov    %eax,(%esp)
+    d05e:	e8 fc ff ff ff       	call   0xd05f
+    d063:	89 c2                	mov    %eax,%edx
+    d065:	8b 85 3c ff ff ff    	mov    -0xc4(%ebp),%eax
+    d06b:	e8 fc ff ff ff       	call   0xd06c
+    d070:	8b 7d d4             	mov    -0x2c(%ebp),%edi
+    d073:	89 bd 6c ff ff ff    	mov    %edi,-0x94(%ebp)
+    d079:	83 f8 ff             	cmp    $0xffffffff,%eax
+    d07c:	89 45 84             	mov    %eax,-0x7c(%ebp)
+    d07f:	0f 94 85 74 ff ff ff 	sete   -0x8c(%ebp)
+    d086:	e9 47 fe ff ff       	jmp    0xced2
+    d08b:	83 f8 01             	cmp    $0x1,%eax
+    d08e:	0f 84 be 01 00 00    	je     0xd252
+    d094:	83 f8 03             	cmp    $0x3,%eax
+    d097:	0f 84 70 01 00 00    	je     0xd20d
+    d09d:	c6 85 74 ff ff ff 01 	movb   $0x1,-0x8c(%ebp)
+    d0a4:	c7 45 84 ff ff ff ff 	movl   $0xffffffff,-0x7c(%ebp)
+    d0ab:	e9 22 fe ff ff       	jmp    0xced2
+    d0b0:	0f b6 45 d8          	movzbl -0x28(%ebp),%eax
+    d0b4:	89 04 24             	mov    %eax,(%esp)
+    d0b7:	e8 fc ff ff ff       	call   0xd0b8
+    d0bc:	89 c2                	mov    %eax,%edx
+    d0be:	8b 85 3c ff ff ff    	mov    -0xc4(%ebp),%eax
+    d0c4:	e8 fc ff ff ff       	call   0xd0c5
+    d0c9:	83 f8 ff             	cmp    $0xffffffff,%eax
+    d0cc:	89 c7                	mov    %eax,%edi
+    d0ce:	0f 94 c0             	sete   %al
+    d0d1:	84 c0                	test   %al,%al
+    d0d3:	0f 84 21 fe ff ff    	je     0xcefa
+    d0d9:	b8 03 00 00 00       	mov    $0x3,%eax
+    d0de:	e9 56 ff ff ff       	jmp    0xd039
+    d0e3:	83 bd 6c ff ff ff 01 	cmpl   $0x1,-0x94(%ebp)
+    d0ea:	74 66                	je     0xd152
+    d0ec:	83 bd 6c ff ff ff 03 	cmpl   $0x3,-0x94(%ebp)
+    d0f3:	75 e4                	jne    0xd0d9
+    d0f5:	8b 7d d8             	mov    -0x28(%ebp),%edi
+    d0f8:	31 c0                	xor    %eax,%eax
+    d0fa:	83 c9 ff             	or     $0xffffffff,%ecx
+    d0fd:	89 bd 6c ff ff ff    	mov    %edi,-0x94(%ebp)
+    d103:	89 fa                	mov    %edi,%edx
+    d105:	f2 ae                	repnz scas %es:(%edi),%al
+    d107:	83 bd 58 ff ff ff 00 	cmpl   $0x0,-0xa8(%ebp)
+    d10e:	f7 d1                	not    %ecx
+    d110:	8d 71 ff             	lea    -0x1(%ecx),%esi
+    d113:	75 27                	jne    0xd13c
+    d115:	83 fe 01             	cmp    $0x1,%esi
+    d118:	75 bf                	jne    0xd0d9
+    d11a:	8b 8d 6c ff ff ff    	mov    -0x94(%ebp),%ecx
+    d120:	8b b5 4c ff ff ff    	mov    -0xb4(%ebp),%esi
+    d126:	0f b6 01             	movzbl (%ecx),%eax
+    d129:	0f b6 3c 06          	movzbl (%esi,%eax,1),%edi
+    d12d:	e9 c8 fd ff ff       	jmp    0xcefa
+    d132:	8b 55 10             	mov    0x10(%ebp),%edx
+    d135:	89 02                	mov    %eax,(%edx)
+    d137:	e9 c2 f2 ff ff       	jmp    0xc3fe
+    d13c:	89 f7                	mov    %esi,%edi
+    d13e:	89 f1                	mov    %esi,%ecx
+    d140:	85 c9                	test   %ecx,%ecx
+    d142:	7e 23                	jle    0xd167
+    d144:	0f be 02             	movsbl (%edx),%eax
+    d147:	83 e9 01             	sub    $0x1,%ecx
+    d14a:	83 c2 01             	add    $0x1,%edx
+    d14d:	8d 3c f8             	lea    (%eax,%edi,8),%edi
+    d150:	eb ee                	jmp    0xd140
+    d152:	83 bd 58 ff ff ff 00 	cmpl   $0x0,-0xa8(%ebp)
+    d159:	0f 84 7a ff ff ff    	je     0xd0d9
+    d15f:	8b 55 d8             	mov    -0x28(%ebp),%edx
+    d162:	e9 57 ff ff ff       	jmp    0xd0be
+    d167:	89 fa                	mov    %edi,%edx
+    d169:	89 f8                	mov    %edi,%eax
+    d16b:	c1 fa 1f             	sar    $0x1f,%edx
+    d16e:	f7 bd 44 ff ff ff    	idivl  -0xbc(%ebp)
+    d174:	8b 85 40 ff ff ff    	mov    -0xc0(%ebp),%eax
+    d17a:	8b 0c d0             	mov    (%eax,%edx,8),%ecx
+    d17d:	89 95 68 ff ff ff    	mov    %edx,-0x98(%ebp)
+    d183:	85 c9                	test   %ecx,%ecx
+    d185:	74 65                	je     0xd1ec
+    d187:	89 fa                	mov    %edi,%edx
+    d189:	89 f8                	mov    %edi,%eax
+    d18b:	c1 fa 1f             	sar    $0x1f,%edx
+    d18e:	f7 bd 38 ff ff ff    	idivl  -0xc8(%ebp)
+    d194:	8d 04 d5 08 00 00 00 	lea    0x8(,%edx,8),%eax
+    d19b:	89 85 5c ff ff ff    	mov    %eax,-0xa4(%ebp)
+    d1a1:	8b 85 68 ff ff ff    	mov    -0x98(%ebp),%eax
+    d1a7:	89 95 60 ff ff ff    	mov    %edx,-0xa0(%ebp)
+    d1ad:	31 d2                	xor    %edx,%edx
+    d1af:	03 85 60 ff ff ff    	add    -0xa0(%ebp),%eax
+    d1b5:	89 bd 60 ff ff ff    	mov    %edi,-0xa0(%ebp)
+    d1bb:	89 d7                	mov    %edx,%edi
+    d1bd:	89 85 50 ff ff ff    	mov    %eax,-0xb0(%ebp)
+    d1c3:	8b 85 40 ff ff ff    	mov    -0xc0(%ebp),%eax
+    d1c9:	39 8d 60 ff ff ff    	cmp    %ecx,-0xa0(%ebp)
+    d1cf:	8d 14 38             	lea    (%eax,%edi,1),%edx
+    d1d2:	0f 84 cb 00 00 00    	je     0xd2a3
+    d1d8:	8b 85 50 ff ff ff    	mov    -0xb0(%ebp),%eax
+    d1de:	03 bd 5c ff ff ff    	add    -0xa4(%ebp),%edi
+    d1e4:	8b 4c c2 08          	mov    0x8(%edx,%eax,8),%ecx
+    d1e8:	85 c9                	test   %ecx,%ecx
+    d1ea:	75 d7                	jne    0xd1c3
+    d1ec:	83 fe 01             	cmp    $0x1,%esi
+    d1ef:	0f 85 e4 fe ff ff    	jne    0xd0d9
+    d1f5:	8b b5 6c ff ff ff    	mov    -0x94(%ebp),%esi
+    d1fb:	8b 95 4c ff ff ff    	mov    -0xb4(%ebp),%edx
+    d201:	0f b6 06             	movzbl (%esi),%eax
+    d204:	0f b6 3c 02          	movzbl (%edx,%eax,1),%edi
+    d208:	e9 ed fc ff ff       	jmp    0xcefa
+    d20d:	8b 55 e0             	mov    -0x20(%ebp),%edx
+    d210:	31 c0                	xor    %eax,%eax
+    d212:	83 c9 ff             	or     $0xffffffff,%ecx
+    d215:	89 55 84             	mov    %edx,-0x7c(%ebp)
+    d218:	89 d7                	mov    %edx,%edi
+    d21a:	f2 ae                	repnz scas %es:(%edi),%al
+    d21c:	83 bd 58 ff ff ff 00 	cmpl   $0x0,-0xa8(%ebp)
+    d223:	f7 d1                	not    %ecx
+    d225:	8d 71 ff             	lea    -0x1(%ecx),%esi
+    d228:	75 5f                	jne    0xd289
+    d22a:	83 fe 01             	cmp    $0x1,%esi
+    d22d:	0f 85 6a fe ff ff    	jne    0xd09d
+    d233:	8b 55 84             	mov    -0x7c(%ebp),%edx
+    d236:	8b 8d 4c ff ff ff    	mov    -0xb4(%ebp),%ecx
+    d23c:	0f b6 02             	movzbl (%edx),%eax
+    d23f:	0f b6 04 01          	movzbl (%ecx,%eax,1),%eax
+    d243:	c6 85 74 ff ff ff 00 	movb   $0x0,-0x8c(%ebp)
+    d24a:	89 45 84             	mov    %eax,-0x7c(%ebp)
+    d24d:	e9 80 fc ff ff       	jmp    0xced2
+    d252:	83 bd 58 ff ff ff 00 	cmpl   $0x0,-0xa8(%ebp)
+    d259:	0f 84 3e fe ff ff    	je     0xd09d
+    d25f:	8b 55 e0             	mov    -0x20(%ebp),%edx
+    d262:	8b 85 3c ff ff ff    	mov    -0xc4(%ebp),%eax
+    d268:	e8 fc ff ff ff       	call   0xd269
+    d26d:	89 45 84             	mov    %eax,-0x7c(%ebp)
+    d270:	8b 45 d4             	mov    -0x2c(%ebp),%eax
+    d273:	83 7d 84 ff          	cmpl   $0xffffffff,-0x7c(%ebp)
+    d277:	89 85 6c ff ff ff    	mov    %eax,-0x94(%ebp)
+    d27d:	0f 94 85 74 ff ff ff 	sete   -0x8c(%ebp)
+    d284:	e9 49 fc ff ff       	jmp    0xced2
+    d289:	89 f7                	mov    %esi,%edi
+    d28b:	89 f0                	mov    %esi,%eax
+    d28d:	85 c0                	test   %eax,%eax
+    d28f:	0f 8e a5 00 00 00    	jle    0xd33a
+    d295:	0f be 0a             	movsbl (%edx),%ecx
+    d298:	83 e8 01             	sub    $0x1,%eax
+    d29b:	83 c2 01             	add    $0x1,%edx
+    d29e:	8d 3c f9             	lea    (%ecx,%edi,8),%edi
+    d2a1:	eb ea                	jmp    0xd28d
+    d2a3:	8b 85 68 ff ff ff    	mov    -0x98(%ebp),%eax
+    d2a9:	8b 4c c2 04          	mov    0x4(%edx,%eax,8),%ecx
+    d2ad:	8b 85 54 ff ff ff    	mov    -0xac(%ebp),%eax
+    d2b3:	0f b6 04 08          	movzbl (%eax,%ecx,1),%eax
+    d2b7:	39 c6                	cmp    %eax,%esi
+    d2b9:	0f 85 19 ff ff ff    	jne    0xd1d8
+    d2bf:	8b 85 54 ff ff ff    	mov    -0xac(%ebp),%eax
+    d2c5:	83 c1 01             	add    $0x1,%ecx
+    d2c8:	89 74 24 08          	mov    %esi,0x8(%esp)
+    d2cc:	01 c8                	add    %ecx,%eax
+    d2ce:	89 44 24 04          	mov    %eax,0x4(%esp)
+    d2d2:	8b 85 6c ff ff ff    	mov    -0x94(%ebp),%eax
+    d2d8:	89 04 24             	mov    %eax,(%esp)
+    d2db:	89 95 04 ff ff ff    	mov    %edx,-0xfc(%ebp)
+    d2e1:	89 8d 00 ff ff ff    	mov    %ecx,-0x100(%ebp)
+    d2e7:	e8 fc ff ff ff       	call   0xd2e8
+    d2ec:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
+    d2f2:	8b 8d 00 ff ff ff    	mov    -0x100(%ebp),%ecx
+    d2f8:	85 c0                	test   %eax,%eax
+    d2fa:	0f 85 d8 fe ff ff    	jne    0xd1d8
+    d300:	8b bd 60 ff ff ff    	mov    -0xa0(%ebp),%edi
+    d306:	85 ff                	test   %edi,%edi
+    d308:	0f 84 de fe ff ff    	je     0xd1ec
+    d30e:	8b 95 54 ff ff ff    	mov    -0xac(%ebp),%edx
+    d314:	8d 34 31             	lea    (%ecx,%esi,1),%esi
+    d317:	0f b6 04 32          	movzbl (%edx,%esi,1),%eax
+    d31b:	89 d1                	mov    %edx,%ecx
+    d31d:	8d 44 06 04          	lea    0x4(%esi,%eax,1),%eax
+    d321:	83 e0 fc             	and    $0xfffffffc,%eax
+    d324:	8b 54 02 04          	mov    0x4(%edx,%eax,1),%edx
+    d328:	8d 44 90 08          	lea    0x8(%eax,%edx,4),%eax
+    d32c:	8b 3c 01             	mov    (%ecx,%eax,1),%edi
+    d32f:	83 ff ff             	cmp    $0xffffffff,%edi
+    d332:	0f 94 c0             	sete   %al
+    d335:	e9 97 fd ff ff       	jmp    0xd0d1
+    d33a:	89 fa                	mov    %edi,%edx
+    d33c:	89 f8                	mov    %edi,%eax
+    d33e:	c1 fa 1f             	sar    $0x1f,%edx
+    d341:	f7 bd 44 ff ff ff    	idivl  -0xbc(%ebp)
+    d347:	8b 85 40 ff ff ff    	mov    -0xc0(%ebp),%eax
+    d34d:	8b 0c d0             	mov    (%eax,%edx,8),%ecx
+    d350:	89 95 74 ff ff ff    	mov    %edx,-0x8c(%ebp)
+    d356:	85 c9                	test   %ecx,%ecx
+    d358:	74 65                	je     0xd3bf
+    d35a:	89 fa                	mov    %edi,%edx
+    d35c:	89 f8                	mov    %edi,%eax
+    d35e:	c1 fa 1f             	sar    $0x1f,%edx
+    d361:	f7 bd 38 ff ff ff    	idivl  -0xc8(%ebp)
+    d367:	8d 04 d5 08 00 00 00 	lea    0x8(,%edx,8),%eax
+    d36e:	89 85 60 ff ff ff    	mov    %eax,-0xa0(%ebp)
+    d374:	8b 85 74 ff ff ff    	mov    -0x8c(%ebp),%eax
+    d37a:	89 95 68 ff ff ff    	mov    %edx,-0x98(%ebp)
+    d380:	31 d2                	xor    %edx,%edx
+    d382:	03 85 68 ff ff ff    	add    -0x98(%ebp),%eax
+    d388:	89 bd 68 ff ff ff    	mov    %edi,-0x98(%ebp)
+    d38e:	89 d7                	mov    %edx,%edi
+    d390:	89 85 5c ff ff ff    	mov    %eax,-0xa4(%ebp)
+    d396:	8b 85 40 ff ff ff    	mov    -0xc0(%ebp),%eax
+    d39c:	39 8d 68 ff ff ff    	cmp    %ecx,-0x98(%ebp)
+    d3a2:	8d 14 38             	lea    (%eax,%edi,1),%edx
+    d3a5:	0f 84 ad 00 00 00    	je     0xd458
+    d3ab:	8b 85 5c ff ff ff    	mov    -0xa4(%ebp),%eax
+    d3b1:	03 bd 60 ff ff ff    	add    -0xa0(%ebp),%edi
+    d3b7:	8b 4c c2 08          	mov    0x8(%edx,%eax,8),%ecx
+    d3bb:	85 c9                	test   %ecx,%ecx
+    d3bd:	75 d7                	jne    0xd396
+    d3bf:	83 fe 01             	cmp    $0x1,%esi
+    d3c2:	0f 85 d5 fc ff ff    	jne    0xd09d
+    d3c8:	8b 75 84             	mov    -0x7c(%ebp),%esi
+    d3cb:	8b bd 4c ff ff ff    	mov    -0xb4(%ebp),%edi
+    d3d1:	0f b6 06             	movzbl (%esi),%eax
+    d3d4:	0f b6 04 07          	movzbl (%edi,%eax,1),%eax
+    d3d8:	c6 85 74 ff ff ff 00 	movb   $0x0,-0x8c(%ebp)
+    d3df:	89 45 84             	mov    %eax,-0x7c(%ebp)
+    d3e2:	e9 eb fa ff ff       	jmp    0xced2
+    d3e7:	8b b5 70 ff ff ff    	mov    -0x90(%ebp),%esi
+    d3ed:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
+    d3f3:	8b bd 48 ff ff ff    	mov    -0xb8(%ebp),%edi
+    d3f9:	29 7e 28             	sub    %edi,0x28(%esi)
+    d3fc:	c6 40 04 01          	movb   $0x1,0x4(%eax)
+    d400:	8b 45 dc             	mov    -0x24(%ebp),%eax
+    d403:	e9 0c e5 ff ff       	jmp    0xb914
+    d408:	8b 5d 84             	mov    -0x7c(%ebp),%ebx
+    d40b:	8b 03                	mov    (%ebx),%eax
+    d40d:	8b 40 28             	mov    0x28(%eax),%eax
+    d410:	05 00 01 00 00       	add    $0x100,%eax
+    d415:	e9 7e e2 ff ff       	jmp    0xb698
+    d41a:	3c 09                	cmp    $0x9,%al
+    d41c:	89 55 88             	mov    %edx,-0x78(%ebp)
+    d41f:	0f 85 4a e8 ff ff    	jne    0xbc6f
+    d425:	e9 79 e8 ff ff       	jmp    0xbca3
+    d42a:	8b 55 10             	mov    0x10(%ebp),%edx
+    d42d:	31 f6                	xor    %esi,%esi
+    d42f:	c7 02 0d 00 00 00    	movl   $0xd,(%edx)
+    d435:	e9 ba e1 ff ff       	jmp    0xb5f4
+    d43a:	8b 75 10             	mov    0x10(%ebp),%esi
+    d43d:	c7 06 09 00 00 00    	movl   $0x9,(%esi)
+    d443:	31 f6                	xor    %esi,%esi
+    d445:	e9 aa e1 ff ff       	jmp    0xb5f4
+    d44a:	8b 4d 10             	mov    0x10(%ebp),%ecx
+    d44d:	c7 01 07 00 00 00    	movl   $0x7,(%ecx)
+    d453:	e9 a6 ef ff ff       	jmp    0xc3fe
+    d458:	8b 85 74 ff ff ff    	mov    -0x8c(%ebp),%eax
+    d45e:	8b 4c c2 04          	mov    0x4(%edx,%eax,8),%ecx
+    d462:	8b 85 54 ff ff ff    	mov    -0xac(%ebp),%eax
+    d468:	0f b6 04 08          	movzbl (%eax,%ecx,1),%eax
+    d46c:	39 c6                	cmp    %eax,%esi
+    d46e:	0f 85 37 ff ff ff    	jne    0xd3ab
+    d474:	8b 85 54 ff ff ff    	mov    -0xac(%ebp),%eax
+    d47a:	83 c1 01             	add    $0x1,%ecx
+    d47d:	89 74 24 08          	mov    %esi,0x8(%esp)
+    d481:	01 c8                	add    %ecx,%eax
+    d483:	89 44 24 04          	mov    %eax,0x4(%esp)
+    d487:	8b 45 84             	mov    -0x7c(%ebp),%eax
+    d48a:	89 04 24             	mov    %eax,(%esp)
+    d48d:	89 95 04 ff ff ff    	mov    %edx,-0xfc(%ebp)
+    d493:	89 8d 00 ff ff ff    	mov    %ecx,-0x100(%ebp)
+    d499:	e8 fc ff ff ff       	call   0xd49a
+    d49e:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
+    d4a4:	8b 8d 00 ff ff ff    	mov    -0x100(%ebp),%ecx
+    d4aa:	85 c0                	test   %eax,%eax
+    d4ac:	0f 85 f9 fe ff ff    	jne    0xd3ab
+    d4b2:	8b bd 68 ff ff ff    	mov    -0x98(%ebp),%edi
+    d4b8:	85 ff                	test   %edi,%edi
+    d4ba:	0f 84 ff fe ff ff    	je     0xd3bf
+    d4c0:	8b 95 54 ff ff ff    	mov    -0xac(%ebp),%edx
+    d4c6:	8d 34 31             	lea    (%ecx,%esi,1),%esi
+    d4c9:	0f b6 04 32          	movzbl (%edx,%esi,1),%eax
+    d4cd:	89 d1                	mov    %edx,%ecx
+    d4cf:	8d 44 06 04          	lea    0x4(%esi,%eax,1),%eax
+    d4d3:	83 e0 fc             	and    $0xfffffffc,%eax
+    d4d6:	8b 54 02 04          	mov    0x4(%edx,%eax,1),%edx
+    d4da:	8d 44 90 08          	lea    0x8(%eax,%edx,4),%eax
+    d4de:	8b 04 01             	mov    (%ecx,%eax,1),%eax
+    d4e1:	83 f8 ff             	cmp    $0xffffffff,%eax
+    d4e4:	89 45 84             	mov    %eax,-0x7c(%ebp)
+    d4e7:	0f 94 85 74 ff ff ff 	sete   -0x8c(%ebp)
+    d4ee:	e9 df f9 ff ff       	jmp    0xced2
+    d4f3:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
+    d4f9:	8d bc 27 00 00 00 00 	lea    0x0(%edi,%eiz,1),%edi
+    d500:	55                   	push   %ebp
+    d501:	89 e5                	mov    %esp,%ebp
+    d503:	57                   	push   %edi
+    d504:	89 cf                	mov    %ecx,%edi
+    d506:	56                   	push   %esi
+    d507:	53                   	push   %ebx
+    d508:	83 ec 1c             	sub    $0x1c,%esp
+    d50b:	8b 75 0c             	mov    0xc(%ebp),%esi
+    d50e:	89 45 e8             	mov    %eax,-0x18(%ebp)
+    d511:	8b 02                	mov    (%edx),%eax
+    d513:	89 55 f0             	mov    %edx,-0x10(%ebp)
+    d516:	89 45 e4             	mov    %eax,-0x1c(%ebp)
+    d519:	8b 45 10             	mov    0x10(%ebp),%eax
+    d51c:	89 74 24 04          	mov    %esi,0x4(%esp)
+    d520:	89 44 24 08          	mov    %eax,0x8(%esp)
+    d524:	8b 45 08             	mov    0x8(%ebp),%eax
+    d527:	89 04 24             	mov    %eax,(%esp)
+    d52a:	8b 45 e8             	mov    -0x18(%ebp),%eax
+    d52d:	e8 7e e0 ff ff       	call   0xb5b0
+    d532:	85 c0                	test   %eax,%eax
+    d534:	89 45 ec             	mov    %eax,-0x14(%ebp)
+    d537:	0f 84 f4 00 00 00    	je     0xd631
+    d53d:	8d 76 00             	lea    0x0(%esi),%esi
+    d540:	0f b6 47 04          	movzbl 0x4(%edi),%eax
+    d544:	3c 02                	cmp    $0x2,%al
+    d546:	74 48                	je     0xd590
+    d548:	3c 0a                	cmp    $0xa,%al
+    d54a:	74 44                	je     0xd590
+    d54c:	85 f6                	test   %esi,%esi
+    d54e:	66 90                	xchg   %ax,%ax
+    d550:	74 04                	je     0xd556
+    d552:	3c 09                	cmp    $0x9,%al
+    d554:	74 3a                	je     0xd590
+    d556:	8b 45 10             	mov    0x10(%ebp),%eax
+    d559:	89 f9                	mov    %edi,%ecx
+    d55b:	89 74 24 04          	mov    %esi,0x4(%esp)
+    d55f:	89 44 24 08          	mov    %eax,0x8(%esp)
+    d563:	8b 45 08             	mov    0x8(%ebp),%eax
+    d566:	89 04 24             	mov    %eax,(%esp)
+    d569:	8b 55 f0             	mov    -0x10(%ebp),%edx
+    d56c:	8b 45 e8             	mov    -0x18(%ebp),%eax
+    d56f:	e8 3c e0 ff ff       	call   0xb5b0
+    d574:	85 c0                	test   %eax,%eax
+    d576:	89 c3                	mov    %eax,%ebx
+    d578:	74 7b                	je     0xd5f5
+    d57a:	8b 55 ec             	mov    -0x14(%ebp),%edx
+    d57d:	85 d2                	test   %edx,%edx
+    d57f:	75 1f                	jne    0xd5a0
+    d581:	89 5d ec             	mov    %ebx,-0x14(%ebp)
+    d584:	0f b6 47 04          	movzbl 0x4(%edi),%eax
+    d588:	3c 02                	cmp    $0x2,%al
+    d58a:	75 bc                	jne    0xd548
     d58c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    d590:	c7 04 24 10 00 00 00 	movl   $0x10,(%esp)
-    d597:	89 c1                	mov    %eax,%ecx
-    d599:	8b 55 ec             	mov    -0x14(%ebp),%edx
-    d59c:	8b 45 e4             	mov    -0x1c(%ebp),%eax
-    d59f:	e8 5c 36 ff ff       	call   0xc00
-    d5a4:	85 c0                	test   %eax,%eax
-    d5a6:	74 05                	je     0xd5ad
-    d5a8:	89 45 ec             	mov    %eax,-0x14(%ebp)
-    d5ab:	eb 83                	jmp    0xd530
-    d5ad:	31 c9                	xor    %ecx,%ecx
-    d5af:	ba 90 10 00 00       	mov    $0x1090,%edx
-    d5b4:	89 d8                	mov    %ebx,%eax
-    d5b6:	e8 b5 33 ff ff       	call   0x970
-    d5bb:	8b 45 ec             	mov    -0x14(%ebp),%eax
-    d5be:	31 c9                	xor    %ecx,%ecx
-    d5c0:	ba 90 10 00 00       	mov    $0x1090,%edx
-    d5c5:	e8 a6 33 ff ff       	call   0x970
-    d5ca:	8b 45 10             	mov    0x10(%ebp),%eax
-    d5cd:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
-    d5d4:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
-    d5da:	8b 45 ec             	mov    -0x14(%ebp),%eax
-    d5dd:	83 c4 1c             	add    $0x1c,%esp
-    d5e0:	5b                   	pop    %ebx
-    d5e1:	5e                   	pop    %esi
-    d5e2:	5f                   	pop    %edi
-    d5e3:	5d                   	pop    %ebp
-    d5e4:	c3                   	ret    
-    d5e5:	8b 45 10             	mov    0x10(%ebp),%eax
-    d5e8:	83 38 00             	cmpl   $0x0,(%eax)
-    d5eb:	75 0f                	jne    0xd5fc
-    d5ed:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
-    d5f1:	0f 85 39 ff ff ff    	jne    0xd530
-    d5f7:	e9 75 ff ff ff       	jmp    0xd571
-    d5fc:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
-    d600:	0f 84 7a ff ff ff    	je     0xd580
-    d606:	8b 45 ec             	mov    -0x14(%ebp),%eax
-    d609:	31 c9                	xor    %ecx,%ecx
-    d60b:	ba 90 10 00 00       	mov    $0x1090,%edx
-    d610:	e8 5b 33 ff ff       	call   0x970
-    d615:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
-    d61c:	e9 5f ff ff ff       	jmp    0xd580
-    d621:	8b 45 10             	mov    0x10(%ebp),%eax
-    d624:	83 38 00             	cmpl   $0x0,(%eax)
-    d627:	0f 84 03 ff ff ff    	je     0xd530
-    d62d:	8d 76 00             	lea    0x0(%esi),%esi
-    d630:	e9 4b ff ff ff       	jmp    0xd580
-    d635:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    d639:	8d bc 27 00 00 00 00 	lea    0x0(%edi,%eiz,1),%edi
-    d640:	55                   	push   %ebp
-    d641:	89 e5                	mov    %esp,%ebp
-    d643:	57                   	push   %edi
-    d644:	89 c7                	mov    %eax,%edi
-    d646:	56                   	push   %esi
-    d647:	53                   	push   %ebx
-    d648:	89 cb                	mov    %ecx,%ebx
-    d64a:	83 ec 18             	sub    $0x18,%esp
-    d64d:	8b 02                	mov    (%edx),%eax
-    d64f:	89 55 e8             	mov    %edx,-0x18(%ebp)
-    d652:	89 45 ec             	mov    %eax,-0x14(%ebp)
-    d655:	8b 45 10             	mov    0x10(%ebp),%eax
-    d658:	89 44 24 08          	mov    %eax,0x8(%esp)
-    d65c:	8b 45 0c             	mov    0xc(%ebp),%eax
-    d65f:	89 44 24 04          	mov    %eax,0x4(%esp)
-    d663:	8b 45 08             	mov    0x8(%ebp),%eax
-    d666:	89 04 24             	mov    %eax,(%esp)
-    d669:	89 f8                	mov    %edi,%eax
-    d66b:	e8 80 fe ff ff       	call   0xd4f0
-    d670:	85 c0                	test   %eax,%eax
-    d672:	89 c6                	mov    %eax,%esi
-    d674:	0f 84 a0 00 00 00    	je     0xd71a
-    d67a:	8b 45 08             	mov    0x8(%ebp),%eax
-    d67d:	0d 00 00 80 00       	or     $0x800000,%eax
-    d682:	89 45 f0             	mov    %eax,-0x10(%ebp)
-    d685:	8d 76 00             	lea    0x0(%esi),%esi
-    d688:	80 7b 04 0a          	cmpb   $0xa,0x4(%ebx)
-    d68c:	75 4a                	jne    0xd6d8
-    d68e:	8b 4d f0             	mov    -0x10(%ebp),%ecx
-    d691:	89 d8                	mov    %ebx,%eax
-    d693:	89 fa                	mov    %edi,%edx
-    d695:	e8 66 5e ff ff       	call   0x3500
-    d69a:	0f b6 43 04          	movzbl 0x4(%ebx),%eax
-    d69e:	3c 02                	cmp    $0x2,%al
-    d6a0:	74 10                	je     0xd6b2
-    d6a2:	3c 0a                	cmp    $0xa,%al
-    d6a4:	74 0c                	je     0xd6b2
-    d6a6:	8b 4d 0c             	mov    0xc(%ebp),%ecx
-    d6a9:	85 c9                	test   %ecx,%ecx
-    d6ab:	74 3b                	je     0xd6e8
-    d6ad:	3c 09                	cmp    $0x9,%al
-    d6af:	90                   	nop
-    d6b0:	75 36                	jne    0xd6e8
-    d6b2:	31 c9                	xor    %ecx,%ecx
-    d6b4:	8b 45 ec             	mov    -0x14(%ebp),%eax
-    d6b7:	89 f2                	mov    %esi,%edx
-    d6b9:	c7 04 24 0a 00 00 00 	movl   $0xa,(%esp)
-    d6c0:	e8 3b 35 ff ff       	call   0xc00
-    d6c5:	85 c0                	test   %eax,%eax
-    d6c7:	89 c6                	mov    %eax,%esi
-    d6c9:	75 bd                	jne    0xd688
-    d6cb:	8b 45 10             	mov    0x10(%ebp),%eax
-    d6ce:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
-    d6d4:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    d6d8:	83 c4 18             	add    $0x18,%esp
-    d6db:	89 f0                	mov    %esi,%eax
-    d6dd:	5b                   	pop    %ebx
-    d6de:	5e                   	pop    %esi
-    d6df:	5f                   	pop    %edi
-    d6e0:	5d                   	pop    %ebp
-    d6e1:	c3                   	ret    
-    d6e2:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
-    d6e8:	8b 45 10             	mov    0x10(%ebp),%eax
-    d6eb:	89 d9                	mov    %ebx,%ecx
-    d6ed:	8b 55 e8             	mov    -0x18(%ebp),%edx
-    d6f0:	89 44 24 08          	mov    %eax,0x8(%esp)
-    d6f4:	8b 45 0c             	mov    0xc(%ebp),%eax
-    d6f7:	89 44 24 04          	mov    %eax,0x4(%esp)
-    d6fb:	8b 45 08             	mov    0x8(%ebp),%eax
-    d6fe:	89 04 24             	mov    %eax,(%esp)
-    d701:	89 f8                	mov    %edi,%eax
-    d703:	e8 e8 fd ff ff       	call   0xd4f0
-    d708:	85 c0                	test   %eax,%eax
-    d70a:	89 c1                	mov    %eax,%ecx
-    d70c:	75 a6                	jne    0xd6b4
-    d70e:	8b 45 10             	mov    0x10(%ebp),%eax
-    d711:	83 38 00             	cmpl   $0x0,(%eax)
-    d714:	74 9e                	je     0xd6b4
-    d716:	31 f6                	xor    %esi,%esi
-    d718:	eb be                	jmp    0xd6d8
-    d71a:	8b 45 10             	mov    0x10(%ebp),%eax
-    d71d:	83 38 00             	cmpl   $0x0,(%eax)
-    d720:	0f 84 54 ff ff ff    	je     0xd67a
+    d590:	8b 45 ec             	mov    -0x14(%ebp),%eax
+    d593:	83 c4 1c             	add    $0x1c,%esp
+    d596:	5b                   	pop    %ebx
+    d597:	5e                   	pop    %esi
+    d598:	5f                   	pop    %edi
+    d599:	5d                   	pop    %ebp
+    d59a:	c3                   	ret    
+    d59b:	90                   	nop
+    d59c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    d5a0:	c7 04 24 10 00 00 00 	movl   $0x10,(%esp)
+    d5a7:	89 c1                	mov    %eax,%ecx
+    d5a9:	8b 55 ec             	mov    -0x14(%ebp),%edx
+    d5ac:	8b 45 e4             	mov    -0x1c(%ebp),%eax
+    d5af:	e8 4c 36 ff ff       	call   0xc00
+    d5b4:	85 c0                	test   %eax,%eax
+    d5b6:	74 05                	je     0xd5bd
+    d5b8:	89 45 ec             	mov    %eax,-0x14(%ebp)
+    d5bb:	eb 83                	jmp    0xd540
+    d5bd:	31 c9                	xor    %ecx,%ecx
+    d5bf:	ba 90 10 00 00       	mov    $0x1090,%edx
+    d5c4:	89 d8                	mov    %ebx,%eax
+    d5c6:	e8 a5 33 ff ff       	call   0x970
+    d5cb:	8b 45 ec             	mov    -0x14(%ebp),%eax
+    d5ce:	31 c9                	xor    %ecx,%ecx
+    d5d0:	ba 90 10 00 00       	mov    $0x1090,%edx
+    d5d5:	e8 96 33 ff ff       	call   0x970
+    d5da:	8b 45 10             	mov    0x10(%ebp),%eax
+    d5dd:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
+    d5e4:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
+    d5ea:	8b 45 ec             	mov    -0x14(%ebp),%eax
+    d5ed:	83 c4 1c             	add    $0x1c,%esp
+    d5f0:	5b                   	pop    %ebx
+    d5f1:	5e                   	pop    %esi
+    d5f2:	5f                   	pop    %edi
+    d5f3:	5d                   	pop    %ebp
+    d5f4:	c3                   	ret    
+    d5f5:	8b 45 10             	mov    0x10(%ebp),%eax
+    d5f8:	83 38 00             	cmpl   $0x0,(%eax)
+    d5fb:	75 0f                	jne    0xd60c
+    d5fd:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
+    d601:	0f 85 39 ff ff ff    	jne    0xd540
+    d607:	e9 75 ff ff ff       	jmp    0xd581
+    d60c:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
+    d610:	0f 84 7a ff ff ff    	je     0xd590
+    d616:	8b 45 ec             	mov    -0x14(%ebp),%eax
+    d619:	31 c9                	xor    %ecx,%ecx
+    d61b:	ba 90 10 00 00       	mov    $0x1090,%edx
+    d620:	e8 4b 33 ff ff       	call   0x970
+    d625:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
+    d62c:	e9 5f ff ff ff       	jmp    0xd590
+    d631:	8b 45 10             	mov    0x10(%ebp),%eax
+    d634:	83 38 00             	cmpl   $0x0,(%eax)
+    d637:	0f 84 03 ff ff ff    	je     0xd540
+    d63d:	8d 76 00             	lea    0x0(%esi),%esi
+    d640:	e9 4b ff ff ff       	jmp    0xd590
+    d645:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    d649:	8d bc 27 00 00 00 00 	lea    0x0(%edi,%eiz,1),%edi
+    d650:	55                   	push   %ebp
+    d651:	89 e5                	mov    %esp,%ebp
+    d653:	57                   	push   %edi
+    d654:	89 c7                	mov    %eax,%edi
+    d656:	56                   	push   %esi
+    d657:	53                   	push   %ebx
+    d658:	89 cb                	mov    %ecx,%ebx
+    d65a:	83 ec 18             	sub    $0x18,%esp
+    d65d:	8b 02                	mov    (%edx),%eax
+    d65f:	89 55 e8             	mov    %edx,-0x18(%ebp)
+    d662:	89 45 ec             	mov    %eax,-0x14(%ebp)
+    d665:	8b 45 10             	mov    0x10(%ebp),%eax
+    d668:	89 44 24 08          	mov    %eax,0x8(%esp)
+    d66c:	8b 45 0c             	mov    0xc(%ebp),%eax
+    d66f:	89 44 24 04          	mov    %eax,0x4(%esp)
+    d673:	8b 45 08             	mov    0x8(%ebp),%eax
+    d676:	89 04 24             	mov    %eax,(%esp)
+    d679:	89 f8                	mov    %edi,%eax
+    d67b:	e8 80 fe ff ff       	call   0xd500
+    d680:	85 c0                	test   %eax,%eax
+    d682:	89 c6                	mov    %eax,%esi
+    d684:	0f 84 a0 00 00 00    	je     0xd72a
+    d68a:	8b 45 08             	mov    0x8(%ebp),%eax
+    d68d:	0d 00 00 80 00       	or     $0x800000,%eax
+    d692:	89 45 f0             	mov    %eax,-0x10(%ebp)
+    d695:	8d 76 00             	lea    0x0(%esi),%esi
+    d698:	80 7b 04 0a          	cmpb   $0xa,0x4(%ebx)
+    d69c:	75 4a                	jne    0xd6e8
+    d69e:	8b 4d f0             	mov    -0x10(%ebp),%ecx
+    d6a1:	89 d8                	mov    %ebx,%eax
+    d6a3:	89 fa                	mov    %edi,%edx
+    d6a5:	e8 56 5e ff ff       	call   0x3500
+    d6aa:	0f b6 43 04          	movzbl 0x4(%ebx),%eax
+    d6ae:	3c 02                	cmp    $0x2,%al
+    d6b0:	74 10                	je     0xd6c2
+    d6b2:	3c 0a                	cmp    $0xa,%al
+    d6b4:	74 0c                	je     0xd6c2
+    d6b6:	8b 4d 0c             	mov    0xc(%ebp),%ecx
+    d6b9:	85 c9                	test   %ecx,%ecx
+    d6bb:	74 3b                	je     0xd6f8
+    d6bd:	3c 09                	cmp    $0x9,%al
+    d6bf:	90                   	nop
+    d6c0:	75 36                	jne    0xd6f8
+    d6c2:	31 c9                	xor    %ecx,%ecx
+    d6c4:	8b 45 ec             	mov    -0x14(%ebp),%eax
+    d6c7:	89 f2                	mov    %esi,%edx
+    d6c9:	c7 04 24 0a 00 00 00 	movl   $0xa,(%esp)
+    d6d0:	e8 2b 35 ff ff       	call   0xc00
+    d6d5:	85 c0                	test   %eax,%eax
+    d6d7:	89 c6                	mov    %eax,%esi
+    d6d9:	75 bd                	jne    0xd698
+    d6db:	8b 45 10             	mov    0x10(%ebp),%eax
+    d6de:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
+    d6e4:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    d6e8:	83 c4 18             	add    $0x18,%esp
+    d6eb:	89 f0                	mov    %esi,%eax
+    d6ed:	5b                   	pop    %ebx
+    d6ee:	5e                   	pop    %esi
+    d6ef:	5f                   	pop    %edi
+    d6f0:	5d                   	pop    %ebp
+    d6f1:	c3                   	ret    
+    d6f2:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
+    d6f8:	8b 45 10             	mov    0x10(%ebp),%eax
+    d6fb:	89 d9                	mov    %ebx,%ecx
+    d6fd:	8b 55 e8             	mov    -0x18(%ebp),%edx
+    d700:	89 44 24 08          	mov    %eax,0x8(%esp)
+    d704:	8b 45 0c             	mov    0xc(%ebp),%eax
+    d707:	89 44 24 04          	mov    %eax,0x4(%esp)
+    d70b:	8b 45 08             	mov    0x8(%ebp),%eax
+    d70e:	89 04 24             	mov    %eax,(%esp)
+    d711:	89 f8                	mov    %edi,%eax
+    d713:	e8 e8 fd ff ff       	call   0xd500
+    d718:	85 c0                	test   %eax,%eax
+    d71a:	89 c1                	mov    %eax,%ecx
+    d71c:	75 a6                	jne    0xd6c4
+    d71e:	8b 45 10             	mov    0x10(%ebp),%eax
+    d721:	83 38 00             	cmpl   $0x0,(%eax)
+    d724:	74 9e                	je     0xd6c4
     d726:	31 f6                	xor    %esi,%esi
-    d728:	eb ae                	jmp    0xd6d8
-    d72a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
-    d730:	55                   	push   %ebp
-    d731:	89 e5                	mov    %esp,%ebp
-    d733:	57                   	push   %edi
-    d734:	56                   	push   %esi
-    d735:	53                   	push   %ebx
-    d736:	81 ec 98 00 00 00    	sub    $0x98,%esp
-    d73c:	89 95 70 ff ff ff    	mov    %edx,-0x90(%ebp)
-    d742:	89 c2                	mov    %eax,%edx
-    d744:	89 4d 80             	mov    %ecx,-0x80(%ebp)
-    d747:	8b 4d 08             	mov    0x8(%ebp),%ecx
-    d74a:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
-    d750:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
-    d757:	0f b6 40 1c          	movzbl 0x1c(%eax),%eax
-    d75b:	c7 42 08 00 00 00 00 	movl   $0x0,0x8(%edx)
-    d762:	89 4a 0c             	mov    %ecx,0xc(%edx)
-    d765:	c7 42 18 00 00 00 00 	movl   $0x0,0x18(%edx)
-    d76c:	83 e0 90             	and    $0xffffff90,%eax
-    d76f:	81 7a 04 9f 00 00 00 	cmpl   $0x9f,0x4(%edx)
-    d776:	88 42 1c             	mov    %al,0x1c(%edx)
-    d779:	8b 02                	mov    (%edx),%eax
-    d77b:	0f 86 2d 0a 00 00    	jbe    0xe1ae
-    d781:	89 85 78 ff ff ff    	mov    %eax,-0x88(%ebp)
-    d787:	8b 95 74 ff ff ff    	mov    -0x8c(%ebp),%edx
-    d78d:	31 c0                	xor    %eax,%eax
-    d78f:	b9 28 00 00 00       	mov    $0x28,%ecx
-    d794:	8b bd 78 ff ff ff    	mov    -0x88(%ebp),%edi
-    d79a:	c7 42 08 a0 00 00 00 	movl   $0xa0,0x8(%edx)
-    d7a1:	f3 ab                	rep stos %eax,%es:(%edi)
-    d7a3:	8b 8d 78 ff ff ff    	mov    -0x88(%ebp),%ecx
-    d7a9:	83 7d 80 ff          	cmpl   $0xffffffff,-0x80(%ebp)
-    d7ad:	c7 41 40 1f 00 00 00 	movl   $0x1f,0x40(%ecx)
-    d7b4:	0f 84 7b 07 00 00    	je     0xdf35
-    d7ba:	8b 5d 80             	mov    -0x80(%ebp),%ebx
-    d7bd:	83 c3 01             	add    $0x1,%ebx
-    d7c0:	89 d8                	mov    %ebx,%eax
-    d7c2:	c1 e0 03             	shl    $0x3,%eax
-    d7c5:	89 59 04             	mov    %ebx,0x4(%ecx)
-    d7c8:	89 9d 6c ff ff ff    	mov    %ebx,-0x94(%ebp)
-    d7ce:	31 db                	xor    %ebx,%ebx
-    d7d0:	89 04 24             	mov    %eax,(%esp)
-    d7d3:	e8 fc ff ff ff       	call   0xd7d4
-    d7d8:	8b 4d 80             	mov    -0x80(%ebp),%ecx
-    d7db:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
-    d7e1:	85 c9                	test   %ecx,%ecx
-    d7e3:	89 02                	mov    %eax,(%edx)
-    d7e5:	b8 01 00 00 00       	mov    $0x1,%eax
-    d7ea:	74 0d                	je     0xd7f9
-    d7ec:	8b 55 80             	mov    -0x80(%ebp),%edx
-    d7ef:	90                   	nop
-    d7f0:	01 c0                	add    %eax,%eax
-    d7f2:	39 c2                	cmp    %eax,%edx
-    d7f4:	73 fa                	jae    0xd7f0
-    d7f6:	8d 58 ff             	lea    -0x1(%eax),%ebx
-    d7f9:	89 44 24 04          	mov    %eax,0x4(%esp)
-    d7fd:	c7 04 24 0c 00 00 00 	movl   $0xc,(%esp)
-    d804:	e8 fc ff ff ff       	call   0xd805
-    d809:	8b 8d 78 ff ff ff    	mov    -0x88(%ebp),%ecx
-    d80f:	8b 35 00 00 00 00    	mov    0x0,%esi
-    d815:	89 59 44             	mov    %ebx,0x44(%ecx)
-    d818:	89 41 20             	mov    %eax,0x20(%ecx)
-    d81b:	65 8b 06             	mov    %gs:(%esi),%eax
-    d81e:	8b 18                	mov    (%eax),%ebx
-    d820:	8b 43 5c             	mov    0x5c(%ebx),%eax
-    d823:	83 f8 06             	cmp    $0x6,%eax
-    d826:	89 41 5c             	mov    %eax,0x5c(%ecx)
-    d829:	0f 84 d6 07 00 00    	je     0xe005
-    d82f:	0f b6 41 58          	movzbl 0x58(%ecx),%eax
-    d833:	8b 93 40 01 00 00    	mov    0x140(%ebx),%edx
-    d839:	8b 9d 78 ff ff ff    	mov    -0x88(%ebp),%ebx
-    d83f:	85 d2                	test   %edx,%edx
-    d841:	0f 95 c2             	setne  %dl
-    d844:	83 e0 f7             	and    $0xfffffff7,%eax
-    d847:	c1 e2 03             	shl    $0x3,%edx
-    d84a:	09 d0                	or     %edx,%eax
-    d84c:	83 7b 5c 01          	cmpl   $0x1,0x5c(%ebx)
-    d850:	88 43 58             	mov    %al,0x58(%ebx)
-    d853:	7e 0f                	jle    0xd864
-    d855:	a8 04                	test   $0x4,%al
-    d857:	0f 84 d2 07 00 00    	je     0xe02f
-    d85d:	c7 43 3c 40 06 00 00 	movl   $0x640,0x3c(%ebx)
-    d864:	8b 9d 78 ff ff ff    	mov    -0x88(%ebp),%ebx
-    d86a:	8b 03                	mov    (%ebx),%eax
-    d86c:	85 c0                	test   %eax,%eax
-    d86e:	0f 84 c1 06 00 00    	je     0xdf35
-    d874:	8b 7b 20             	mov    0x20(%ebx),%edi
-    d877:	85 ff                	test   %edi,%edi
-    d879:	0f 84 b6 06 00 00    	je     0xdf35
-    d87f:	b8 00 00 00 00       	mov    $0x0,%eax
-    d884:	85 c0                	test   %eax,%eax
-    d886:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
-    d88d:	74 1b                	je     0xd8aa
-    d88f:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
-    d896:	00 
-    d897:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
-    d89d:	05 88 00 00 00       	add    $0x88,%eax
-    d8a2:	89 04 24             	mov    %eax,(%esp)
-    d8a5:	e8 fc ff ff ff       	call   0xd8a6
-    d8aa:	8d 4d 84             	lea    -0x7c(%ebp),%ecx
-    d8ad:	8b 95 74 ff ff ff    	mov    -0x8c(%ebp),%edx
-    d8b3:	31 c0                	xor    %eax,%eax
-    d8b5:	89 8d 68 ff ff ff    	mov    %ecx,-0x98(%ebp)
-    d8bb:	8b bd 68 ff ff ff    	mov    -0x98(%ebp),%edi
-    d8c1:	b9 15 00 00 00       	mov    $0x15,%ecx
-    d8c6:	8b 5a 14             	mov    0x14(%edx),%ebx
-    d8c9:	f3 ab                	rep stos %eax,%es:(%edi)
-    d8cb:	8b 85 70 ff ff ff    	mov    -0x90(%ebp),%eax
-    d8d1:	8b 55 80             	mov    -0x80(%ebp),%edx
-    d8d4:	8b 8d 78 ff ff ff    	mov    -0x88(%ebp),%ecx
-    d8da:	8b 75 08             	mov    0x8(%ebp),%esi
-    d8dd:	89 45 84             	mov    %eax,-0x7c(%ebp)
-    d8e0:	89 55 b4             	mov    %edx,-0x4c(%ebp)
-    d8e3:	89 55 b0             	mov    %edx,-0x50(%ebp)
-    d8e6:	81 e6 00 00 40 00    	and    $0x400000,%esi
-    d8ec:	0f 95 c0             	setne  %al
-    d8ef:	85 db                	test   %ebx,%ebx
-    d8f1:	0f 95 c2             	setne  %dl
-    d8f4:	88 45 cc             	mov    %al,-0x34(%ebp)
-    d8f7:	09 d0                	or     %edx,%eax
-    d8f9:	83 e0 01             	and    $0x1,%eax
-    d8fc:	88 45 cf             	mov    %al,-0x31(%ebp)
-    d8ff:	89 c2                	mov    %eax,%edx
-    d901:	8b 41 5c             	mov    0x5c(%ecx),%eax
-    d904:	89 5d c4             	mov    %ebx,-0x3c(%ebp)
-    d907:	89 45 d4             	mov    %eax,-0x2c(%ebp)
-    d90a:	0f b6 41 58          	movzbl 0x58(%ecx),%eax
-    d90e:	c0 e8 02             	shr    $0x2,%al
-    d911:	83 e0 01             	and    $0x1,%eax
-    d914:	88 45 cd             	mov    %al,-0x33(%ebp)
-    d917:	0f b6 41 58          	movzbl 0x58(%ecx),%eax
-    d91b:	c0 e8 03             	shr    $0x3,%al
-    d91e:	83 e0 01             	and    $0x1,%eax
-    d921:	88 45 ce             	mov    %al,-0x32(%ebp)
-    d924:	8b 45 80             	mov    -0x80(%ebp),%eax
-    d927:	85 c0                	test   %eax,%eax
-    d929:	89 45 bc             	mov    %eax,-0x44(%ebp)
-    d92c:	89 45 b8             	mov    %eax,-0x48(%ebp)
-    d92f:	7e 1a                	jle    0xd94b
-    d931:	8b 95 6c ff ff ff    	mov    -0x94(%ebp),%edx
-    d937:	8d 45 84             	lea    -0x7c(%ebp),%eax
-    d93a:	e8 41 3c ff ff       	call   0x1580
-    d93f:	85 c0                	test   %eax,%eax
-    d941:	0f 85 62 08 00 00    	jne    0xe1a9
-    d947:	0f b6 55 cf          	movzbl -0x31(%ebp),%edx
-    d94b:	84 d2                	test   %dl,%dl
-    d94d:	8b 95 70 ff ff ff    	mov    -0x90(%ebp),%edx
-    d953:	0f 45 55 88          	cmovne -0x78(%ebp),%edx
-    d957:	85 f6                	test   %esi,%esi
-    d959:	89 55 88             	mov    %edx,-0x78(%ebp)
-    d95c:	0f 84 75 05 00 00    	je     0xded7
-    d962:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
-    d968:	83 7a 5c 01          	cmpl   $0x1,0x5c(%edx)
-    d96c:	0f 8e 7a 07 00 00    	jle    0xe0ec
-    d972:	89 d6                	mov    %edx,%esi
-    d974:	8b 5d 80             	mov    -0x80(%ebp),%ebx
-    d977:	eb 26                	jmp    0xd99f
-    d979:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
-    d980:	8b 55 a8             	mov    -0x58(%ebp),%edx
-    d983:	8b 46 5c             	mov    0x5c(%esi),%eax
-    d986:	03 45 a0             	add    -0x60(%ebp),%eax
-    d989:	39 c2                	cmp    %eax,%edx
-    d98b:	7f 27                	jg     0xd9b4
-    d98d:	01 d2                	add    %edx,%edx
-    d98f:	8d 45 84             	lea    -0x7c(%ebp),%eax
-    d992:	e8 e9 3b ff ff       	call   0x1580
-    d997:	85 c0                	test   %eax,%eax
-    d999:	0f 85 0a 08 00 00    	jne    0xe1a9
+    d728:	eb be                	jmp    0xd6e8
+    d72a:	8b 45 10             	mov    0x10(%ebp),%eax
+    d72d:	83 38 00             	cmpl   $0x0,(%eax)
+    d730:	0f 84 54 ff ff ff    	je     0xd68a
+    d736:	31 f6                	xor    %esi,%esi
+    d738:	eb ae                	jmp    0xd6e8
+    d73a:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
+    d740:	55                   	push   %ebp
+    d741:	89 e5                	mov    %esp,%ebp
+    d743:	57                   	push   %edi
+    d744:	56                   	push   %esi
+    d745:	53                   	push   %ebx
+    d746:	81 ec 98 00 00 00    	sub    $0x98,%esp
+    d74c:	89 95 70 ff ff ff    	mov    %edx,-0x90(%ebp)
+    d752:	89 c2                	mov    %eax,%edx
+    d754:	89 4d 80             	mov    %ecx,-0x80(%ebp)
+    d757:	8b 4d 08             	mov    0x8(%ebp),%ecx
+    d75a:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
+    d760:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
+    d767:	0f b6 40 1c          	movzbl 0x1c(%eax),%eax
+    d76b:	c7 42 08 00 00 00 00 	movl   $0x0,0x8(%edx)
+    d772:	89 4a 0c             	mov    %ecx,0xc(%edx)
+    d775:	c7 42 18 00 00 00 00 	movl   $0x0,0x18(%edx)
+    d77c:	83 e0 90             	and    $0xffffff90,%eax
+    d77f:	81 7a 04 9f 00 00 00 	cmpl   $0x9f,0x4(%edx)
+    d786:	88 42 1c             	mov    %al,0x1c(%edx)
+    d789:	8b 02                	mov    (%edx),%eax
+    d78b:	0f 86 2d 0a 00 00    	jbe    0xe1be
+    d791:	89 85 78 ff ff ff    	mov    %eax,-0x88(%ebp)
+    d797:	8b 95 74 ff ff ff    	mov    -0x8c(%ebp),%edx
+    d79d:	31 c0                	xor    %eax,%eax
+    d79f:	b9 28 00 00 00       	mov    $0x28,%ecx
+    d7a4:	8b bd 78 ff ff ff    	mov    -0x88(%ebp),%edi
+    d7aa:	c7 42 08 a0 00 00 00 	movl   $0xa0,0x8(%edx)
+    d7b1:	f3 ab                	rep stos %eax,%es:(%edi)
+    d7b3:	8b 8d 78 ff ff ff    	mov    -0x88(%ebp),%ecx
+    d7b9:	83 7d 80 ff          	cmpl   $0xffffffff,-0x80(%ebp)
+    d7bd:	c7 41 40 1f 00 00 00 	movl   $0x1f,0x40(%ecx)
+    d7c4:	0f 84 7b 07 00 00    	je     0xdf45
+    d7ca:	8b 5d 80             	mov    -0x80(%ebp),%ebx
+    d7cd:	83 c3 01             	add    $0x1,%ebx
+    d7d0:	89 d8                	mov    %ebx,%eax
+    d7d2:	c1 e0 03             	shl    $0x3,%eax
+    d7d5:	89 59 04             	mov    %ebx,0x4(%ecx)
+    d7d8:	89 9d 6c ff ff ff    	mov    %ebx,-0x94(%ebp)
+    d7de:	31 db                	xor    %ebx,%ebx
+    d7e0:	89 04 24             	mov    %eax,(%esp)
+    d7e3:	e8 fc ff ff ff       	call   0xd7e4
+    d7e8:	8b 4d 80             	mov    -0x80(%ebp),%ecx
+    d7eb:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
+    d7f1:	85 c9                	test   %ecx,%ecx
+    d7f3:	89 02                	mov    %eax,(%edx)
+    d7f5:	b8 01 00 00 00       	mov    $0x1,%eax
+    d7fa:	74 0d                	je     0xd809
+    d7fc:	8b 55 80             	mov    -0x80(%ebp),%edx
+    d7ff:	90                   	nop
+    d800:	01 c0                	add    %eax,%eax
+    d802:	39 c2                	cmp    %eax,%edx
+    d804:	73 fa                	jae    0xd800
+    d806:	8d 58 ff             	lea    -0x1(%eax),%ebx
+    d809:	89 44 24 04          	mov    %eax,0x4(%esp)
+    d80d:	c7 04 24 0c 00 00 00 	movl   $0xc,(%esp)
+    d814:	e8 fc ff ff ff       	call   0xd815
+    d819:	8b 8d 78 ff ff ff    	mov    -0x88(%ebp),%ecx
+    d81f:	8b 35 00 00 00 00    	mov    0x0,%esi
+    d825:	89 59 44             	mov    %ebx,0x44(%ecx)
+    d828:	89 41 20             	mov    %eax,0x20(%ecx)
+    d82b:	65 8b 06             	mov    %gs:(%esi),%eax
+    d82e:	8b 18                	mov    (%eax),%ebx
+    d830:	8b 43 5c             	mov    0x5c(%ebx),%eax
+    d833:	83 f8 06             	cmp    $0x6,%eax
+    d836:	89 41 5c             	mov    %eax,0x5c(%ecx)
+    d839:	0f 84 d6 07 00 00    	je     0xe015
+    d83f:	0f b6 41 58          	movzbl 0x58(%ecx),%eax
+    d843:	8b 93 40 01 00 00    	mov    0x140(%ebx),%edx
+    d849:	8b 9d 78 ff ff ff    	mov    -0x88(%ebp),%ebx
+    d84f:	85 d2                	test   %edx,%edx
+    d851:	0f 95 c2             	setne  %dl
+    d854:	83 e0 f7             	and    $0xfffffff7,%eax
+    d857:	c1 e2 03             	shl    $0x3,%edx
+    d85a:	09 d0                	or     %edx,%eax
+    d85c:	83 7b 5c 01          	cmpl   $0x1,0x5c(%ebx)
+    d860:	88 43 58             	mov    %al,0x58(%ebx)
+    d863:	7e 0f                	jle    0xd874
+    d865:	a8 04                	test   $0x4,%al
+    d867:	0f 84 d2 07 00 00    	je     0xe03f
+    d86d:	c7 43 3c 40 06 00 00 	movl   $0x640,0x3c(%ebx)
+    d874:	8b 9d 78 ff ff ff    	mov    -0x88(%ebp),%ebx
+    d87a:	8b 03                	mov    (%ebx),%eax
+    d87c:	85 c0                	test   %eax,%eax
+    d87e:	0f 84 c1 06 00 00    	je     0xdf45
+    d884:	8b 7b 20             	mov    0x20(%ebx),%edi
+    d887:	85 ff                	test   %edi,%edi
+    d889:	0f 84 b6 06 00 00    	je     0xdf45
+    d88f:	b8 00 00 00 00       	mov    $0x0,%eax
+    d894:	85 c0                	test   %eax,%eax
+    d896:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
+    d89d:	74 1b                	je     0xd8ba
+    d89f:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
+    d8a6:	00 
+    d8a7:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
+    d8ad:	05 88 00 00 00       	add    $0x88,%eax
+    d8b2:	89 04 24             	mov    %eax,(%esp)
+    d8b5:	e8 fc ff ff ff       	call   0xd8b6
+    d8ba:	8d 4d 84             	lea    -0x7c(%ebp),%ecx
+    d8bd:	8b 95 74 ff ff ff    	mov    -0x8c(%ebp),%edx
+    d8c3:	31 c0                	xor    %eax,%eax
+    d8c5:	89 8d 68 ff ff ff    	mov    %ecx,-0x98(%ebp)
+    d8cb:	8b bd 68 ff ff ff    	mov    -0x98(%ebp),%edi
+    d8d1:	b9 15 00 00 00       	mov    $0x15,%ecx
+    d8d6:	8b 5a 14             	mov    0x14(%edx),%ebx
+    d8d9:	f3 ab                	rep stos %eax,%es:(%edi)
+    d8db:	8b 85 70 ff ff ff    	mov    -0x90(%ebp),%eax
+    d8e1:	8b 55 80             	mov    -0x80(%ebp),%edx
+    d8e4:	8b 8d 78 ff ff ff    	mov    -0x88(%ebp),%ecx
+    d8ea:	8b 75 08             	mov    0x8(%ebp),%esi
+    d8ed:	89 45 84             	mov    %eax,-0x7c(%ebp)
+    d8f0:	89 55 b4             	mov    %edx,-0x4c(%ebp)
+    d8f3:	89 55 b0             	mov    %edx,-0x50(%ebp)
+    d8f6:	81 e6 00 00 40 00    	and    $0x400000,%esi
+    d8fc:	0f 95 c0             	setne  %al
+    d8ff:	85 db                	test   %ebx,%ebx
+    d901:	0f 95 c2             	setne  %dl
+    d904:	88 45 cc             	mov    %al,-0x34(%ebp)
+    d907:	09 d0                	or     %edx,%eax
+    d909:	83 e0 01             	and    $0x1,%eax
+    d90c:	88 45 cf             	mov    %al,-0x31(%ebp)
+    d90f:	89 c2                	mov    %eax,%edx
+    d911:	8b 41 5c             	mov    0x5c(%ecx),%eax
+    d914:	89 5d c4             	mov    %ebx,-0x3c(%ebp)
+    d917:	89 45 d4             	mov    %eax,-0x2c(%ebp)
+    d91a:	0f b6 41 58          	movzbl 0x58(%ecx),%eax
+    d91e:	c0 e8 02             	shr    $0x2,%al
+    d921:	83 e0 01             	and    $0x1,%eax
+    d924:	88 45 cd             	mov    %al,-0x33(%ebp)
+    d927:	0f b6 41 58          	movzbl 0x58(%ecx),%eax
+    d92b:	c0 e8 03             	shr    $0x3,%al
+    d92e:	83 e0 01             	and    $0x1,%eax
+    d931:	88 45 ce             	mov    %al,-0x32(%ebp)
+    d934:	8b 45 80             	mov    -0x80(%ebp),%eax
+    d937:	85 c0                	test   %eax,%eax
+    d939:	89 45 bc             	mov    %eax,-0x44(%ebp)
+    d93c:	89 45 b8             	mov    %eax,-0x48(%ebp)
+    d93f:	7e 1a                	jle    0xd95b
+    d941:	8b 95 6c ff ff ff    	mov    -0x94(%ebp),%edx
+    d947:	8d 45 84             	lea    -0x7c(%ebp),%eax
+    d94a:	e8 31 3c ff ff       	call   0x1580
+    d94f:	85 c0                	test   %eax,%eax
+    d951:	0f 85 62 08 00 00    	jne    0xe1b9
+    d957:	0f b6 55 cf          	movzbl -0x31(%ebp),%edx
+    d95b:	84 d2                	test   %dl,%dl
+    d95d:	8b 95 70 ff ff ff    	mov    -0x90(%ebp),%edx
+    d963:	0f 45 55 88          	cmovne -0x78(%ebp),%edx
+    d967:	85 f6                	test   %esi,%esi
+    d969:	89 55 88             	mov    %edx,-0x78(%ebp)
+    d96c:	0f 84 75 05 00 00    	je     0xdee7
+    d972:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
+    d978:	83 7a 5c 01          	cmpl   $0x1,0x5c(%edx)
+    d97c:	0f 8e 7a 07 00 00    	jle    0xe0fc
+    d982:	89 d6                	mov    %edx,%esi
+    d984:	8b 5d 80             	mov    -0x80(%ebp),%ebx
+    d987:	eb 26                	jmp    0xd9af
+    d989:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
+    d990:	8b 55 a8             	mov    -0x58(%ebp),%edx
+    d993:	8b 46 5c             	mov    0x5c(%esi),%eax
+    d996:	03 45 a0             	add    -0x60(%ebp),%eax
+    d999:	39 c2                	cmp    %eax,%edx
+    d99b:	7f 27                	jg     0xd9c4
+    d99d:	01 d2                	add    %edx,%edx
     d99f:	8d 45 84             	lea    -0x7c(%ebp),%eax
-    d9a2:	e8 29 5c ff ff       	call   0x35d0
+    d9a2:	e8 d9 3b ff ff       	call   0x1580
     d9a7:	85 c0                	test   %eax,%eax
-    d9a9:	0f 85 fa 07 00 00    	jne    0xe1a9
-    d9af:	3b 5d a4             	cmp    -0x5c(%ebp),%ebx
-    d9b2:	7f cc                	jg     0xd980
-    d9b4:	8b 95 74 ff ff ff    	mov    -0x8c(%ebp),%edx
-    d9ba:	8d 5d e4             	lea    -0x1c(%ebp),%ebx
-    d9bd:	8b 4d 08             	mov    0x8(%ebp),%ecx
-    d9c0:	89 d8                	mov    %ebx,%eax
-    d9c2:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
-    d9c9:	8b 3a                	mov    (%edx),%edi
-    d9cb:	c7 42 18 00 00 00 00 	movl   $0x0,0x18(%edx)
-    d9d2:	8d 55 84             	lea    -0x7c(%ebp),%edx
-    d9d5:	89 8f 80 00 00 00    	mov    %ecx,0x80(%edi)
-    d9db:	8b 4d 08             	mov    0x8(%ebp),%ecx
-    d9de:	81 c9 00 00 80 00    	or     $0x800000,%ecx
-    d9e4:	e8 17 5b ff ff       	call   0x3500
-    d9e9:	8d 45 f0             	lea    -0x10(%ebp),%eax
-    d9ec:	89 d9                	mov    %ebx,%ecx
-    d9ee:	89 44 24 08          	mov    %eax,0x8(%esp)
-    d9f2:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
-    d9f9:	00 
-    d9fa:	8b 45 08             	mov    0x8(%ebp),%eax
-    d9fd:	89 04 24             	mov    %eax,(%esp)
-    da00:	8b 95 74 ff ff ff    	mov    -0x8c(%ebp),%edx
-    da06:	8d 45 84             	lea    -0x7c(%ebp),%eax
-    da09:	e8 32 fc ff ff       	call   0xd640
-    da0e:	85 c0                	test   %eax,%eax
-    da10:	89 c3                	mov    %eax,%ebx
-    da12:	0f 84 e8 07 00 00    	je     0xe200
-    da18:	31 c9                	xor    %ecx,%ecx
-    da1a:	31 d2                	xor    %edx,%edx
-    da1c:	c7 04 24 02 00 00 00 	movl   $0x2,(%esp)
-    da23:	89 f8                	mov    %edi,%eax
-    da25:	e8 d6 31 ff ff       	call   0xc00
-    da2a:	85 db                	test   %ebx,%ebx
-    da2c:	89 c6                	mov    %eax,%esi
-    da2e:	74 12                	je     0xda42
-    da30:	c7 04 24 10 00 00 00 	movl   $0x10,(%esp)
-    da37:	89 f1                	mov    %esi,%ecx
-    da39:	89 da                	mov    %ebx,%edx
-    da3b:	89 f8                	mov    %edi,%eax
-    da3d:	e8 be 31 ff ff       	call   0xc00
-    da42:	85 c0                	test   %eax,%eax
-    da44:	0f 84 0d 07 00 00    	je     0xe157
-    da4a:	85 f6                	test   %esi,%esi
-    da4c:	0f 84 05 07 00 00    	je     0xe157
-    da52:	8b 8d 74 ff ff ff    	mov    -0x8c(%ebp),%ecx
-    da58:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
-    da5e:	8b 19                	mov    (%ecx),%ebx
-    da60:	89 42 34             	mov    %eax,0x34(%edx)
-    da63:	8b 43 04             	mov    0x4(%ebx),%eax
-    da66:	c1 e0 02             	shl    $0x2,%eax
-    da69:	89 04 24             	mov    %eax,(%esp)
-    da6c:	e8 fc ff ff ff       	call   0xda6d
-    da71:	89 43 0c             	mov    %eax,0xc(%ebx)
-    da74:	8b 43 04             	mov    0x4(%ebx),%eax
-    da77:	c1 e0 02             	shl    $0x2,%eax
-    da7a:	89 04 24             	mov    %eax,(%esp)
-    da7d:	e8 fc ff ff ff       	call   0xda7e
-    da82:	89 43 10             	mov    %eax,0x10(%ebx)
-    da85:	8b 43 04             	mov    0x4(%ebx),%eax
-    da88:	8d 04 40             	lea    (%eax,%eax,2),%eax
-    da8b:	c1 e0 02             	shl    $0x2,%eax
-    da8e:	89 04 24             	mov    %eax,(%esp)
-    da91:	e8 fc ff ff ff       	call   0xda92
-    da96:	89 43 14             	mov    %eax,0x14(%ebx)
-    da99:	8b 43 04             	mov    0x4(%ebx),%eax
-    da9c:	8d 04 40             	lea    (%eax,%eax,2),%eax
-    da9f:	c1 e0 02             	shl    $0x2,%eax
-    daa2:	89 04 24             	mov    %eax,(%esp)
-    daa5:	e8 fc ff ff ff       	call   0xdaa6
-    daaa:	8b 73 0c             	mov    0xc(%ebx),%esi
-    daad:	85 f6                	test   %esi,%esi
-    daaf:	89 43 18             	mov    %eax,0x18(%ebx)
-    dab2:	0f 84 ec 06 00 00    	je     0xe1a4
-    dab8:	8b 4b 10             	mov    0x10(%ebx),%ecx
-    dabb:	85 c9                	test   %ecx,%ecx
-    dabd:	0f 84 e1 06 00 00    	je     0xe1a4
-    dac3:	8b 73 14             	mov    0x14(%ebx),%esi
-    dac6:	85 f6                	test   %esi,%esi
-    dac8:	0f 84 d6 06 00 00    	je     0xe1a4
-    dace:	85 c0                	test   %eax,%eax
-    dad0:	0f 84 ce 06 00 00    	je     0xe1a4
-    dad6:	8b 95 74 ff ff ff    	mov    -0x8c(%ebp),%edx
-    dadc:	8b 42 18             	mov    0x18(%edx),%eax
-    dadf:	c1 e0 02             	shl    $0x2,%eax
-    dae2:	89 04 24             	mov    %eax,(%esp)
-    dae5:	e8 fc ff ff ff       	call   0xdae6
-    daea:	85 c0                	test   %eax,%eax
-    daec:	89 83 84 00 00 00    	mov    %eax,0x84(%ebx)
-    daf2:	74 72                	je     0xdb66
-    daf4:	8b 8d 74 ff ff ff    	mov    -0x8c(%ebp),%ecx
-    dafa:	8b 51 18             	mov    0x18(%ecx),%edx
-    dafd:	85 d2                	test   %edx,%edx
-    daff:	74 1c                	je     0xdb1d
-    db01:	8b b5 74 ff ff ff    	mov    -0x8c(%ebp),%esi
-    db07:	31 c9                	xor    %ecx,%ecx
-    db09:	31 d2                	xor    %edx,%edx
-    db0b:	90                   	nop
-    db0c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    db10:	89 14 88             	mov    %edx,(%eax,%ecx,4)
-    db13:	83 c2 01             	add    $0x1,%edx
-    db16:	39 56 18             	cmp    %edx,0x18(%esi)
-    db19:	89 d1                	mov    %edx,%ecx
-    db1b:	77 f3                	ja     0xdb10
-    db1d:	8b 43 34             	mov    0x34(%ebx),%eax
-    db20:	89 d9                	mov    %ebx,%ecx
-    db22:	ba 70 00 00 00       	mov    $0x70,%edx
-    db27:	e8 a4 2e ff ff       	call   0x9d0
-    db2c:	8b 85 74 ff ff ff    	mov    -0x8c(%ebp),%eax
-    db32:	8b 48 18             	mov    0x18(%eax),%ecx
-    db35:	85 c9                	test   %ecx,%ecx
-    db37:	0f 84 92 05 00 00    	je     0xe0cf
-    db3d:	8b b3 84 00 00 00    	mov    0x84(%ebx),%esi
-    db43:	8b 16                	mov    (%esi),%edx
-    db45:	85 d2                	test   %edx,%edx
-    db47:	74 0e                	je     0xdb57
-    db49:	eb 1b                	jmp    0xdb66
-    db4b:	90                   	nop
-    db4c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    db50:	8b 14 86             	mov    (%esi,%eax,4),%edx
-    db53:	39 c2                	cmp    %eax,%edx
-    db55:	75 07                	jne    0xdb5e
-    db57:	8d 42 01             	lea    0x1(%edx),%eax
-    db5a:	39 c8                	cmp    %ecx,%eax
-    db5c:	72 f2                	jb     0xdb50
-    db5e:	39 c8                	cmp    %ecx,%eax
-    db60:	0f 84 6f 05 00 00    	je     0xe0d5
-    db66:	8b 43 34             	mov    0x34(%ebx),%eax
-    db69:	ba b0 0d 00 00       	mov    $0xdb0,%edx
-    db6e:	8b 8d 74 ff ff ff    	mov    -0x8c(%ebp),%ecx
-    db74:	e8 f7 2d ff ff       	call   0x970
-    db79:	85 c0                	test   %eax,%eax
-    db7b:	0f 85 28 06 00 00    	jne    0xe1a9
-    db81:	8b 43 34             	mov    0x34(%ebx),%eax
-    db84:	89 d9                	mov    %ebx,%ecx
-    db86:	ba 80 29 00 00       	mov    $0x2980,%edx
-    db8b:	e8 e0 2d ff ff       	call   0x970
-    db90:	85 c0                	test   %eax,%eax
-    db92:	0f 85 11 06 00 00    	jne    0xe1a9
-    db98:	8b 43 34             	mov    0x34(%ebx),%eax
-    db9b:	89 d9                	mov    %ebx,%ecx
-    db9d:	ba 00 01 00 00       	mov    $0x100,%edx
-    dba2:	e8 29 2e ff ff       	call   0x9d0
-    dba7:	8b 43 34             	mov    0x34(%ebx),%eax
-    dbaa:	89 d9                	mov    %ebx,%ecx
-    dbac:	ba 80 13 00 00       	mov    $0x1380,%edx
-    dbb1:	e8 1a 2e ff ff       	call   0x9d0
-    dbb6:	85 c0                	test   %eax,%eax
-    dbb8:	0f 85 eb 05 00 00    	jne    0xe1a9
-    dbbe:	8b 53 08             	mov    0x8(%ebx),%edx
-    dbc1:	31 f6                	xor    %esi,%esi
-    dbc3:	c7 45 80 00 00 00 00 	movl   $0x0,-0x80(%ebp)
-    dbca:	eb 07                	jmp    0xdbd3
-    dbcc:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    dbd0:	83 c6 01             	add    $0x1,%esi
-    dbd3:	39 d6                	cmp    %edx,%esi
-    dbd5:	74 41                	je     0xdc18
-    dbd7:	8d 3c 76             	lea    (%esi,%esi,2),%edi
-    dbda:	c1 e7 02             	shl    $0x2,%edi
-    dbdd:	8b 43 18             	mov    0x18(%ebx),%eax
-    dbe0:	8b 4c 38 04          	mov    0x4(%eax,%edi,1),%ecx
-    dbe4:	85 c9                	test   %ecx,%ecx
-    dbe6:	75 e8                	jne    0xdbd0
-    dbe8:	c7 04 24 01 00 00 00 	movl   $0x1,(%esp)
-    dbef:	89 f1                	mov    %esi,%ecx
-    dbf1:	89 da                	mov    %ebx,%edx
-    dbf3:	8d 45 d8             	lea    -0x28(%ebp),%eax
-    dbf6:	e8 75 4b ff ff       	call   0x2770
-    dbfb:	85 c0                	test   %eax,%eax
-    dbfd:	0f 85 a6 05 00 00    	jne    0xe1a9
-    dc03:	8b 43 18             	mov    0x18(%ebx),%eax
-    dc06:	8b 44 38 04          	mov    0x4(%eax,%edi,1),%eax
-    dc0a:	85 c0                	test   %eax,%eax
-    dc0c:	74 22                	je     0xdc30
-    dc0e:	8b 53 08             	mov    0x8(%ebx),%edx
-    dc11:	eb bd                	jmp    0xdbd0
-    dc13:	90                   	nop
-    dc14:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    dc18:	8b 7d 80             	mov    -0x80(%ebp),%edi
-    dc1b:	85 ff                	test   %edi,%edi
-    dc1d:	74 28                	je     0xdc47
-    dc1f:	31 ff                	xor    %edi,%edi
-    dc21:	31 f6                	xor    %esi,%esi
-    dc23:	c7 45 80 00 00 00 00 	movl   $0x0,-0x80(%ebp)
-    dc2a:	eb b1                	jmp    0xdbdd
-    dc2c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    dc30:	8b 45 e0             	mov    -0x20(%ebp),%eax
-    dc33:	89 04 24             	mov    %eax,(%esp)
-    dc36:	e8 fc ff ff ff       	call   0xdc37
-    dc3b:	8b 53 08             	mov    0x8(%ebx),%edx
-    dc3e:	c7 45 80 01 00 00 00 	movl   $0x1,-0x80(%ebp)
-    dc45:	eb 89                	jmp    0xdbd0
-    dc47:	8b 95 74 ff ff ff    	mov    -0x8c(%ebp),%edx
-    dc4d:	f6 42 1c 10          	testb  $0x10,0x1c(%edx)
-    dc51:	75 0b                	jne    0xdc5e
-    dc53:	8b 7a 18             	mov    0x18(%edx),%edi
-    dc56:	85 ff                	test   %edi,%edi
-    dc58:	0f 85 97 03 00 00    	jne    0xdff5
-    dc5e:	8b 4b 4c             	mov    0x4c(%ebx),%ecx
-    dc61:	85 c9                	test   %ecx,%ecx
-    dc63:	0f 84 c2 00 00 00    	je     0xdd2b
-    dc69:	8d 04 76             	lea    (%esi,%esi,2),%eax
-    dc6c:	c1 e0 02             	shl    $0x2,%eax
-    dc6f:	89 04 24             	mov    %eax,(%esp)
-    dc72:	e8 fc ff ff ff       	call   0xdc73
-    dc77:	85 c0                	test   %eax,%eax
-    dc79:	89 43 1c             	mov    %eax,0x1c(%ebx)
-    dc7c:	0f 84 22 05 00 00    	je     0xe1a4
-    dc82:	8b 53 08             	mov    0x8(%ebx),%edx
-    dc85:	85 d2                	test   %edx,%edx
-    dc87:	0f 84 9e 00 00 00    	je     0xdd2b
-    dc8d:	31 c9                	xor    %ecx,%ecx
-    dc8f:	31 d2                	xor    %edx,%edx
-    dc91:	eb 08                	jmp    0xdc9b
-    dc93:	90                   	nop
-    dc94:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    dc98:	8b 43 1c             	mov    0x1c(%ebx),%eax
-    dc9b:	8d 0c 49             	lea    (%ecx,%ecx,2),%ecx
-    dc9e:	83 c2 01             	add    $0x1,%edx
-    dca1:	8d 04 88             	lea    (%eax,%ecx,4),%eax
-    dca4:	89 d1                	mov    %edx,%ecx
-    dca6:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
-    dcac:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
-    dcb3:	c7 40 08 00 00 00 00 	movl   $0x0,0x8(%eax)
-    dcba:	8b 43 08             	mov    0x8(%ebx),%eax
-    dcbd:	39 d0                	cmp    %edx,%eax
-    dcbf:	77 d7                	ja     0xdc98
-    dcc1:	85 c0                	test   %eax,%eax
-    dcc3:	74 66                	je     0xdd2b
-    dcc5:	31 c0                	xor    %eax,%eax
-    dcc7:	c7 45 80 00 00 00 00 	movl   $0x0,-0x80(%ebp)
-    dcce:	66 90                	xchg   %ax,%ax
-    dcd0:	8d 04 40             	lea    (%eax,%eax,2),%eax
-    dcd3:	c1 e0 02             	shl    $0x2,%eax
-    dcd6:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
-    dcdc:	03 43 18             	add    0x18(%ebx),%eax
-    dcdf:	8b 78 08             	mov    0x8(%eax),%edi
-    dce2:	8b 40 04             	mov    0x4(%eax),%eax
-    dce5:	85 c0                	test   %eax,%eax
-    dce7:	7e 36                	jle    0xdd1f
-    dce9:	31 f6                	xor    %esi,%esi
-    dceb:	90                   	nop
-    dcec:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    dcf0:	8b 04 b7             	mov    (%edi,%esi,4),%eax
-    dcf3:	8b 55 80             	mov    -0x80(%ebp),%edx
-    dcf6:	8d 04 40             	lea    (%eax,%eax,2),%eax
-    dcf9:	c1 e0 02             	shl    $0x2,%eax
-    dcfc:	03 43 1c             	add    0x1c(%ebx),%eax
-    dcff:	e8 1c 39 ff ff       	call   0x1620
-    dd04:	83 f8 ff             	cmp    $0xffffffff,%eax
-    dd07:	0f 84 97 04 00 00    	je     0xe1a4
-    dd0d:	8b 43 18             	mov    0x18(%ebx),%eax
-    dd10:	83 c6 01             	add    $0x1,%esi
-    dd13:	8b 8d 7c ff ff ff    	mov    -0x84(%ebp),%ecx
-    dd19:	3b 74 08 04          	cmp    0x4(%eax,%ecx,1),%esi
-    dd1d:	7c d1                	jl     0xdcf0
-    dd1f:	83 45 80 01          	addl   $0x1,-0x80(%ebp)
-    dd23:	8b 45 80             	mov    -0x80(%ebp),%eax
-    dd26:	3b 43 08             	cmp    0x8(%ebx),%eax
-    dd29:	72 a5                	jb     0xdcd0
-    dd2b:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
-    dd31:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
-    dd38:	0f b6 42 58          	movzbl 0x58(%edx),%eax
-    dd3c:	a8 04                	test   $0x4,%al
-    dd3e:	74 1a                	je     0xdd5a
-    dd40:	f7 45 08 00 00 40 00 	testl  $0x400000,0x8(%ebp)
-    dd47:	75 11                	jne    0xdd5a
-    dd49:	8b 9d 74 ff ff ff    	mov    -0x8c(%ebp),%ebx
-    dd4f:	8b 7b 14             	mov    0x14(%ebx),%edi
-    dd52:	85 ff                	test   %edi,%edi
-    dd54:	0f 84 ab 03 00 00    	je     0xe105
-    dd5a:	8b 9d 78 ff ff ff    	mov    -0x88(%ebp),%ebx
-    dd60:	8b 43 34             	mov    0x34(%ebx),%eax
-    dd63:	8b 40 0c             	mov    0xc(%eax),%eax
-    dd66:	8b 40 1c             	mov    0x1c(%eax),%eax
-    dd69:	8d 14 40             	lea    (%eax,%eax,2),%edx
-    dd6c:	c1 e2 02             	shl    $0x2,%edx
-    dd6f:	03 53 18             	add    0x18(%ebx),%edx
-    dd72:	89 43 48             	mov    %eax,0x48(%ebx)
-    dd75:	8d 45 d8             	lea    -0x28(%ebp),%eax
-    dd78:	e8 03 41 ff ff       	call   0x1e80
-    dd7d:	85 c0                	test   %eax,%eax
-    dd7f:	89 45 ec             	mov    %eax,-0x14(%ebp)
-    dd82:	0f 85 28 01 00 00    	jne    0xdeb0
-    dd88:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
-    dd8e:	8b 70 4c             	mov    0x4c(%eax),%esi
-    dd91:	85 f6                	test   %esi,%esi
-    dd93:	0f 8e c3 00 00 00    	jle    0xde5c
-    dd99:	8b 5d dc             	mov    -0x24(%ebp),%ebx
-    dd9c:	85 db                	test   %ebx,%ebx
-    dd9e:	0f 8e b8 00 00 00    	jle    0xde5c
-    dda4:	c7 45 80 00 00 00 00 	movl   $0x0,-0x80(%ebp)
-    ddab:	eb 10                	jmp    0xddbd
-    ddad:	8d 76 00             	lea    0x0(%esi),%esi
-    ddb0:	83 45 80 01          	addl   $0x1,-0x80(%ebp)
-    ddb4:	3b 5d 80             	cmp    -0x80(%ebp),%ebx
-    ddb7:	0f 8e 9f 00 00 00    	jle    0xde5c
-    ddbd:	8b 4d e0             	mov    -0x20(%ebp),%ecx
-    ddc0:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
-    ddc6:	8b 45 80             	mov    -0x80(%ebp),%eax
-    ddc9:	8b 32                	mov    (%edx),%esi
-    ddcb:	8b 04 81             	mov    (%ecx,%eax,4),%eax
-    ddce:	8d 3c c6             	lea    (%esi,%eax,8),%edi
-    ddd1:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
-    ddd7:	80 7f 04 04          	cmpb   $0x4,0x4(%edi)
-    dddb:	75 d3                	jne    0xddb0
-    dddd:	31 c0                	xor    %eax,%eax
-    dddf:	85 db                	test   %ebx,%ebx
-    dde1:	7f 0f                	jg     0xddf2
-    dde3:	eb 1f                	jmp    0xde04
-    dde5:	8d 76 00             	lea    0x0(%esi),%esi
-    dde8:	83 c0 01             	add    $0x1,%eax
-    ddeb:	39 c3                	cmp    %eax,%ebx
-    dded:	8d 76 00             	lea    0x0(%esi),%esi
-    ddf0:	7e 12                	jle    0xde04
-    ddf2:	8b 14 81             	mov    (%ecx,%eax,4),%edx
-    ddf5:	8d 14 d6             	lea    (%esi,%edx,8),%edx
-    ddf8:	80 7a 04 09          	cmpb   $0x9,0x4(%edx)
-    ddfc:	75 ea                	jne    0xdde8
-    ddfe:	8b 12                	mov    (%edx),%edx
-    de00:	3b 17                	cmp    (%edi),%edx
-    de02:	75 e4                	jne    0xdde8
-    de04:	39 d8                	cmp    %ebx,%eax
-    de06:	74 a8                	je     0xddb0
-    de08:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
-    de0e:	8b 8d 7c ff ff ff    	mov    -0x84(%ebp),%ecx
-    de14:	8b 42 14             	mov    0x14(%edx),%eax
-    de17:	8d 14 49             	lea    (%ecx,%ecx,2),%edx
-    de1a:	8b 44 90 08          	mov    0x8(%eax,%edx,4),%eax
-    de1e:	8b 30                	mov    (%eax),%esi
-    de20:	8d 45 d8             	lea    -0x28(%ebp),%eax
-    de23:	89 f2                	mov    %esi,%edx
-    de25:	e8 d6 21 ff ff       	call   0x0
-    de2a:	85 c0                	test   %eax,%eax
-    de2c:	75 82                	jne    0xddb0
-    de2e:	8b 9d 78 ff ff ff    	mov    -0x88(%ebp),%ebx
-    de34:	8d 14 76             	lea    (%esi,%esi,2),%edx
-    de37:	c1 e2 02             	shl    $0x2,%edx
-    de3a:	8d 45 d8             	lea    -0x28(%ebp),%eax
-    de3d:	03 53 18             	add    0x18(%ebx),%edx
-    de40:	e8 fb 38 ff ff       	call   0x1740
-    de45:	85 c0                	test   %eax,%eax
-    de47:	75 67                	jne    0xdeb0
-    de49:	8b 5d dc             	mov    -0x24(%ebp),%ebx
-    de4c:	c7 45 80 01 00 00 00 	movl   $0x1,-0x80(%ebp)
-    de53:	3b 5d 80             	cmp    -0x80(%ebp),%ebx
-    de56:	0f 8f 61 ff ff ff    	jg     0xddbd
-    de5c:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
-    de63:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
-    de69:	8d 5d ec             	lea    -0x14(%ebp),%ebx
-    de6c:	8d 4d d8             	lea    -0x28(%ebp),%ecx
-    de6f:	89 d8                	mov    %ebx,%eax
-    de71:	e8 9a 66 ff ff       	call   0x4510
-    de76:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
-    de7c:	83 ec 04             	sub    $0x4,%esp
-    de7f:	85 c0                	test   %eax,%eax
-    de81:	89 42 24             	mov    %eax,0x24(%edx)
-    de84:	0f 84 54 01 00 00    	je     0xdfde
-    de8a:	80 78 34 00          	cmpb   $0x0,0x34(%eax)
-    de8e:	0f 88 d1 00 00 00    	js     0xdf65
-    de94:	8b 9d 78 ff ff ff    	mov    -0x88(%ebp),%ebx
-    de9a:	89 43 30             	mov    %eax,0x30(%ebx)
-    de9d:	89 43 2c             	mov    %eax,0x2c(%ebx)
-    dea0:	89 43 28             	mov    %eax,0x28(%ebx)
-    dea3:	8b 45 e0             	mov    -0x20(%ebp),%eax
-    dea6:	89 04 24             	mov    %eax,(%esp)
-    dea9:	e8 fc ff ff ff       	call   0xdeaa
-    deae:	31 c0                	xor    %eax,%eax
-    deb0:	89 45 f0             	mov    %eax,-0x10(%ebp)
-    deb3:	8b 85 74 ff ff ff    	mov    -0x8c(%ebp),%eax
-    deb9:	e8 f2 31 ff ff       	call   0x10b0
-    debe:	8d 45 84             	lea    -0x7c(%ebp),%eax
-    dec1:	e8 ea 30 ff ff       	call   0xfb0
-    dec6:	8b 7d f0             	mov    -0x10(%ebp),%edi
-    dec9:	85 ff                	test   %edi,%edi
-    decb:	75 6f                	jne    0xdf3c
-    decd:	31 c0                	xor    %eax,%eax
-    decf:	8d 65 f4             	lea    -0xc(%ebp),%esp
-    ded2:	5b                   	pop    %ebx
-    ded3:	5e                   	pop    %esi
-    ded4:	5f                   	pop    %edi
-    ded5:	5d                   	pop    %ebp
-    ded6:	c3                   	ret    
-    ded7:	8b 8d 78 ff ff ff    	mov    -0x88(%ebp),%ecx
-    dedd:	83 79 5c 01          	cmpl   $0x1,0x5c(%ecx)
-    dee1:	0f 8f ff 00 00 00    	jg     0xdfe6
-    dee7:	85 db                	test   %ebx,%ebx
-    dee9:	0f 84 0a 02 00 00    	je     0xe0f9
-    deef:	8b 75 a8             	mov    -0x58(%ebp),%esi
-    def2:	8b 45 a0             	mov    -0x60(%ebp),%eax
-    def5:	39 75 b4             	cmp    %esi,-0x4c(%ebp)
-    def8:	0f 4e 75 b4          	cmovle -0x4c(%ebp),%esi
-    defc:	39 c6                	cmp    %eax,%esi
-    defe:	7f 0b                	jg     0xdf0b
-    df00:	eb 28                	jmp    0xdf2a
-    df02:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
-    df08:	8b 55 88             	mov    -0x78(%ebp),%edx
-    df0b:	8b 5d 84             	mov    -0x7c(%ebp),%ebx
-    df0e:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
-    df11:	01 c3                	add    %eax,%ebx
-    df13:	0f b6 0c 0b          	movzbl (%ebx,%ecx,1),%ecx
-    df17:	8b 5d c4             	mov    -0x3c(%ebp),%ebx
-    df1a:	0f b6 0c 0b          	movzbl (%ebx,%ecx,1),%ecx
-    df1e:	88 0c 02             	mov    %cl,(%edx,%eax,1)
-    df21:	83 c0 01             	add    $0x1,%eax
-    df24:	39 c6                	cmp    %eax,%esi
-    df26:	7f e0                	jg     0xdf08
-    df28:	89 f0                	mov    %esi,%eax
-    df2a:	89 45 a0             	mov    %eax,-0x60(%ebp)
-    df2d:	89 45 a4             	mov    %eax,-0x5c(%ebp)
-    df30:	e9 7f fa ff ff       	jmp    0xd9b4
-    df35:	c7 45 f0 0c 00 00 00 	movl   $0xc,-0x10(%ebp)
-    df3c:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
-    df42:	e8 c9 31 ff ff       	call   0x1110
-    df47:	8b 85 74 ff ff ff    	mov    -0x8c(%ebp),%eax
-    df4d:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
-    df53:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
-    df5a:	8b 45 f0             	mov    -0x10(%ebp),%eax
-    df5d:	8d 65 f4             	lea    -0xc(%ebp),%esp
-    df60:	5b                   	pop    %ebx
-    df61:	5e                   	pop    %esi
-    df62:	5f                   	pop    %edi
-    df63:	5d                   	pop    %ebp
-    df64:	c3                   	ret    
-    df65:	c7 04 24 01 00 00 00 	movl   $0x1,(%esp)
-    df6c:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
-    df72:	8d 4d d8             	lea    -0x28(%ebp),%ecx
-    df75:	89 d8                	mov    %ebx,%eax
-    df77:	e8 94 65 ff ff       	call   0x4510
-    df7c:	8b 8d 78 ff ff ff    	mov    -0x88(%ebp),%ecx
-    df82:	83 ec 04             	sub    $0x4,%esp
-    df85:	89 41 28             	mov    %eax,0x28(%ecx)
-    df88:	8d 4d d8             	lea    -0x28(%ebp),%ecx
-    df8b:	89 d8                	mov    %ebx,%eax
-    df8d:	c7 04 24 02 00 00 00 	movl   $0x2,(%esp)
-    df94:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
-    df9a:	e8 71 65 ff ff       	call   0x4510
-    df9f:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
-    dfa5:	8d 4d d8             	lea    -0x28(%ebp),%ecx
-    dfa8:	83 ec 04             	sub    $0x4,%esp
-    dfab:	89 42 2c             	mov    %eax,0x2c(%edx)
-    dfae:	89 d8                	mov    %ebx,%eax
-    dfb0:	c7 04 24 06 00 00 00 	movl   $0x6,(%esp)
-    dfb7:	e8 54 65 ff ff       	call   0x4510
-    dfbc:	8b 8d 78 ff ff ff    	mov    -0x88(%ebp),%ecx
-    dfc2:	8b 59 28             	mov    0x28(%ecx),%ebx
-    dfc5:	83 ec 04             	sub    $0x4,%esp
-    dfc8:	89 41 30             	mov    %eax,0x30(%ecx)
-    dfcb:	85 db                	test   %ebx,%ebx
-    dfcd:	74 0f                	je     0xdfde
-    dfcf:	8b 51 2c             	mov    0x2c(%ecx),%edx
-    dfd2:	85 d2                	test   %edx,%edx
-    dfd4:	74 08                	je     0xdfde
-    dfd6:	85 c0                	test   %eax,%eax
-    dfd8:	0f 85 c5 fe ff ff    	jne    0xdea3
-    dfde:	8b 45 ec             	mov    -0x14(%ebp),%eax
-    dfe1:	e9 ca fe ff ff       	jmp    0xdeb0
-    dfe6:	8d 45 84             	lea    -0x7c(%ebp),%eax
-    dfe9:	e8 22 4a ff ff       	call   0x2a10
-    dfee:	66 90                	xchg   %ax,%ax
-    dff0:	e9 bf f9 ff ff       	jmp    0xd9b4
-    dff5:	f6 43 58 01          	testb  $0x1,0x58(%ebx)
-    dff9:	0f 85 6a fc ff ff    	jne    0xdc69
-    dfff:	90                   	nop
-    e000:	e9 59 fc ff ff       	jmp    0xdc5e
-    e005:	8b 43 60             	mov    0x60(%ebx),%eax
-    e008:	c7 44 24 04 1c 01 00 	movl   $0x11c,0x4(%esp)
-    e00f:	00 
-    e010:	89 04 24             	mov    %eax,(%esp)
-    e013:	e8 fc ff ff ff       	call   0xe014
-    e018:	85 c0                	test   %eax,%eax
-    e01a:	0f 84 95 00 00 00    	je     0xe0b5
-    e020:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
-    e026:	0f b6 42 58          	movzbl 0x58(%edx),%eax
-    e02a:	e9 04 f8 ff ff       	jmp    0xd833
-    e02f:	c7 44 24 04 01 00 00 	movl   $0x1,0x4(%esp)
-    e036:	00 
-    e037:	c7 04 24 20 00 00 00 	movl   $0x20,(%esp)
-    e03e:	e8 fc ff ff ff       	call   0xe03f
-    e043:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
-    e049:	85 c0                	test   %eax,%eax
-    e04b:	89 42 3c             	mov    %eax,0x3c(%edx)
-    e04e:	0f 84 e1 fe ff ff    	je     0xdf35
-    e054:	31 f6                	xor    %esi,%esi
-    e056:	c7 85 7c ff ff ff 00 	movl   $0x0,-0x84(%ebp)
-    e05d:	00 00 00 
-    e060:	8b 9d 7c ff ff ff    	mov    -0x84(%ebp),%ebx
-    e066:	c1 e6 02             	shl    $0x2,%esi
-    e069:	31 ff                	xor    %edi,%edi
-    e06b:	c1 e3 05             	shl    $0x5,%ebx
-    e06e:	66 90                	xchg   %ax,%ax
-    e070:	89 1c 24             	mov    %ebx,(%esp)
-    e073:	e8 fc ff ff ff       	call   0xe074
-    e078:	83 f8 ff             	cmp    $0xffffffff,%eax
-    e07b:	74 16                	je     0xe093
-    e07d:	8b 8d 78 ff ff ff    	mov    -0x88(%ebp),%ecx
-    e083:	89 f0                	mov    %esi,%eax
-    e085:	ba 01 00 00 00       	mov    $0x1,%edx
-    e08a:	03 41 3c             	add    0x3c(%ecx),%eax
-    e08d:	89 f9                	mov    %edi,%ecx
-    e08f:	d3 e2                	shl    %cl,%edx
-    e091:	09 10                	or     %edx,(%eax)
-    e093:	83 c7 01             	add    $0x1,%edi
-    e096:	83 c3 01             	add    $0x1,%ebx
-    e099:	83 ff 20             	cmp    $0x20,%edi
-    e09c:	75 d2                	jne    0xe070
-    e09e:	83 85 7c ff ff ff 01 	addl   $0x1,-0x84(%ebp)
-    e0a5:	8b b5 7c ff ff ff    	mov    -0x84(%ebp),%esi
-    e0ab:	83 fe 08             	cmp    $0x8,%esi
-    e0ae:	75 b0                	jne    0xe060
-    e0b0:	e9 af f7 ff ff       	jmp    0xd864
-    e0b5:	8b 8d 78 ff ff ff    	mov    -0x88(%ebp),%ecx
-    e0bb:	0f b6 41 58          	movzbl 0x58(%ecx),%eax
-    e0bf:	83 c8 04             	or     $0x4,%eax
-    e0c2:	88 41 58             	mov    %al,0x58(%ecx)
-    e0c5:	65 8b 16             	mov    %gs:(%esi),%edx
-    e0c8:	8b 1a                	mov    (%edx),%ebx
-    e0ca:	e9 64 f7 ff ff       	jmp    0xd833
-    e0cf:	8b b3 84 00 00 00    	mov    0x84(%ebx),%esi
-    e0d5:	89 34 24             	mov    %esi,(%esp)
-    e0d8:	e8 fc ff ff ff       	call   0xe0d9
-    e0dd:	c7 83 84 00 00 00 00 	movl   $0x0,0x84(%ebx)
-    e0e4:	00 00 00 
-    e0e7:	e9 7a fa ff ff       	jmp    0xdb66
-    e0ec:	8d 45 84             	lea    -0x7c(%ebp),%eax
-    e0ef:	e8 bc 5a ff ff       	call   0x3bb0
-    e0f4:	e9 bb f8 ff ff       	jmp    0xd9b4
-    e0f9:	8b 45 a8             	mov    -0x58(%ebp),%eax
-    e0fc:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    e100:	e9 25 fe ff ff       	jmp    0xdf2a
-    e105:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
-    e10b:	31 f6                	xor    %esi,%esi
-    e10d:	31 ff                	xor    %edi,%edi
-    e10f:	c7 45 80 00 00 00 00 	movl   $0x0,-0x80(%ebp)
-    e116:	8b 5a 08             	mov    0x8(%edx),%ebx
-    e119:	39 de                	cmp    %ebx,%esi
-    e11b:	0f 83 ee 00 00 00    	jae    0xe20f
-    e121:	8b 8d 78 ff ff ff    	mov    -0x88(%ebp),%ecx
-    e127:	8d 14 f5 00 00 00 00 	lea    0x0(,%esi,8),%edx
-    e12e:	03 11                	add    (%ecx),%edx
-    e130:	0f b6 4a 04          	movzbl 0x4(%edx),%ecx
-    e134:	83 e9 01             	sub    $0x1,%ecx
-    e137:	80 f9 0b             	cmp    $0xb,%cl
-    e13a:	76 05                	jbe    0xe141
-    e13c:	e8 fc ff ff ff       	call   0xe13d
-    e141:	0f b6 c9             	movzbl %cl,%ecx
-    e144:	ff 24 8d 2c 04 00 00 	jmp    *0x42c(,%ecx,4)
-    e14b:	c7 45 80 01 00 00 00 	movl   $0x1,-0x80(%ebp)
-    e152:	83 c6 01             	add    $0x1,%esi
-    e155:	eb c2                	jmp    0xe119
-    e157:	c7 45 f0 0c 00 00 00 	movl   $0xc,-0x10(%ebp)
-    e15e:	8b 8d 78 ff ff ff    	mov    -0x88(%ebp),%ecx
-    e164:	c7 41 34 00 00 00 00 	movl   $0x0,0x34(%ecx)
-    e16b:	8b 85 74 ff ff ff    	mov    -0x8c(%ebp),%eax
-    e171:	e8 3a 2f ff ff       	call   0x10b0
-    e176:	8d 45 84             	lea    -0x7c(%ebp),%eax
-    e179:	e8 32 2e ff ff       	call   0xfb0
-    e17e:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
-    e184:	e8 87 2f ff ff       	call   0x1110
-    e189:	8b 9d 74 ff ff ff    	mov    -0x8c(%ebp),%ebx
-    e18f:	8b 45 f0             	mov    -0x10(%ebp),%eax
-    e192:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
-    e198:	c7 43 04 00 00 00 00 	movl   $0x0,0x4(%ebx)
-    e19f:	e9 2b fd ff ff       	jmp    0xdecf
-    e1a4:	b8 0c 00 00 00       	mov    $0xc,%eax
-    e1a9:	89 45 f0             	mov    %eax,-0x10(%ebp)
-    e1ac:	eb bd                	jmp    0xe16b
-    e1ae:	c7 44 24 04 a0 00 00 	movl   $0xa0,0x4(%esp)
-    e1b5:	00 
-    e1b6:	89 04 24             	mov    %eax,(%esp)
-    e1b9:	e8 fc ff ff ff       	call   0xe1ba
-    e1be:	89 85 78 ff ff ff    	mov    %eax,-0x88(%ebp)
-    e1c4:	b8 0c 00 00 00       	mov    $0xc,%eax
-    e1c9:	83 bd 78 ff ff ff 00 	cmpl   $0x0,-0x88(%ebp)
-    e1d0:	0f 84 f9 fc ff ff    	je     0xdecf
-    e1d6:	8b 9d 74 ff ff ff    	mov    -0x8c(%ebp),%ebx
-    e1dc:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
-    e1e2:	c7 43 04 a0 00 00 00 	movl   $0xa0,0x4(%ebx)
-    e1e9:	89 03                	mov    %eax,(%ebx)
-    e1eb:	e9 97 f5 ff ff       	jmp    0xd787
-    e1f0:	80 3a 00             	cmpb   $0x0,(%edx)
-    e1f3:	ba 01 00 00 00       	mov    $0x1,%edx
-    e1f8:	0f 48 fa             	cmovs  %edx,%edi
-    e1fb:	e9 52 ff ff ff       	jmp    0xe152
-    e200:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
-    e204:	0f 84 0e f8 ff ff    	je     0xda18
-    e20a:	e9 4f ff ff ff       	jmp    0xe15e
-    e20f:	83 7d 80 00          	cmpl   $0x0,-0x80(%ebp)
-    e213:	90                   	nop
-    e214:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    e218:	75 08                	jne    0xe222
-    e21a:	85 ff                	test   %edi,%edi
-    e21c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    e220:	74 4d                	je     0xe26f
-    e222:	8b 8d 78 ff ff ff    	mov    -0x88(%ebp),%ecx
-    e228:	31 d2                	xor    %edx,%edx
-    e22a:	89 df                	mov    %ebx,%edi
-    e22c:	39 fa                	cmp    %edi,%edx
-    e22e:	73 35                	jae    0xe265
-    e230:	8d 04 d5 00 00 00 00 	lea    0x0(,%edx,8),%eax
-    e237:	03 01                	add    (%ecx),%eax
-    e239:	0f b6 70 04          	movzbl 0x4(%eax),%esi
-    e23d:	89 f3                	mov    %esi,%ebx
-    e23f:	80 fb 01             	cmp    $0x1,%bl
-    e242:	74 13                	je     0xe257
-    e244:	89 f3                	mov    %esi,%ebx
-    e246:	80 fb 05             	cmp    $0x5,%bl
-    e249:	75 07                	jne    0xe252
-    e24b:	c6 40 04 07          	movb   $0x7,0x4(%eax)
-    e24f:	8b 79 08             	mov    0x8(%ecx),%edi
-    e252:	83 c2 01             	add    $0x1,%edx
-    e255:	eb d5                	jmp    0xe22c
-    e257:	80 38 00             	cmpb   $0x0,(%eax)
-    e25a:	79 f6                	jns    0xe252
-    e25c:	80 60 06 df          	andb   $0xdf,0x6(%eax)
-    e260:	8b 79 08             	mov    0x8(%ecx),%edi
-    e263:	eb ed                	jmp    0xe252
-    e265:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
-    e26b:	0f b6 42 58          	movzbl 0x58(%edx),%eax
-    e26f:	8b 8d 78 ff ff ff    	mov    -0x88(%ebp),%ecx
-    e275:	83 79 4c 00          	cmpl   $0x0,0x4c(%ecx)
-    e279:	c7 41 5c 01 00 00 00 	movl   $0x1,0x5c(%ecx)
-    e280:	0f 9f c2             	setg   %dl
-    e283:	83 e0 f9             	and    $0xfffffff9,%eax
-    e286:	0a 55 80             	or     -0x80(%ebp),%dl
-    e289:	01 d2                	add    %edx,%edx
-    e28b:	09 d0                	or     %edx,%eax
-    e28d:	88 41 58             	mov    %al,0x58(%ecx)
-    e290:	e9 c5 fa ff ff       	jmp    0xdd5a
-    e295:	8b 12                	mov    (%edx),%edx
-    e297:	83 fa 20             	cmp    $0x20,%edx
-    e29a:	0f 84 b2 fe ff ff    	je     0xe152
-    e2a0:	77 50                	ja     0xe2f2
-    e2a2:	83 fa 10             	cmp    $0x10,%edx
-    e2a5:	0f 85 af fa ff ff    	jne    0xdd5a
-    e2ab:	90                   	nop
-    e2ac:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    e2b0:	e9 9d fe ff ff       	jmp    0xe152
-    e2b5:	8b 12                	mov    (%edx),%edx
-    e2b7:	b9 04 00 00 00       	mov    $0x4,%ecx
-    e2bc:	89 9d 70 ff ff ff    	mov    %ebx,-0x90(%ebp)
-    e2c2:	89 95 7c ff ff ff    	mov    %edx,-0x84(%ebp)
-    e2c8:	ba 04 00 00 00       	mov    $0x4,%edx
-    e2cd:	8b 9d 7c ff ff ff    	mov    -0x84(%ebp),%ebx
-    e2d3:	83 3c 8b 00          	cmpl   $0x0,(%ebx,%ecx,4)
-    e2d7:	0f 85 7d fa ff ff    	jne    0xdd5a
-    e2dd:	83 c2 01             	add    $0x1,%edx
-    e2e0:	83 fa 08             	cmp    $0x8,%edx
-    e2e3:	89 d1                	mov    %edx,%ecx
-    e2e5:	75 e6                	jne    0xe2cd
-    e2e7:	8b 9d 70 ff ff ff    	mov    -0x90(%ebp),%ebx
-    e2ed:	e9 60 fe ff ff       	jmp    0xe152
-    e2f2:	83 fa 40             	cmp    $0x40,%edx
-    e2f5:	0f 84 57 fe ff ff    	je     0xe152
-    e2fb:	83 c2 80             	add    $0xffffff80,%edx
-    e2fe:	66 90                	xchg   %ax,%ax
-    e300:	0f 85 54 fa ff ff    	jne    0xdd5a
-    e306:	66 90                	xchg   %ax,%ax
-    e308:	e9 45 fe ff ff       	jmp    0xe152
-    e30d:	8d 76 00             	lea    0x0(%esi),%esi
-    e310:	55                   	push   %ebp
-    e311:	89 e5                	mov    %esp,%ebp
-    e313:	56                   	push   %esi
-    e314:	53                   	push   %ebx
-    e315:	83 ec 0c             	sub    $0xc,%esp
-    e318:	8b 5d 08             	mov    0x8(%ebp),%ebx
-    e31b:	85 db                	test   %ebx,%ebx
-    e31d:	0f 84 f5 00 00 00    	je     0xe418
-    e323:	8b 35 00 00 00 00    	mov    0x0,%esi
-    e329:	85 f6                	test   %esi,%esi
-    e32b:	74 3b                	je     0xe368
-    e32d:	8b 35 10 00 00 00    	mov    0x10,%esi
-    e333:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
-    e33a:	c7 05 10 00 00 00 00 	movl   $0x0,0x10
-    e341:	00 00 00 
-    e344:	e8 fc ff ff ff       	call   0xe345
-    e349:	31 c0                	xor    %eax,%eax
-    e34b:	c7 80 00 00 00 00 00 	movl   $0x0,0x0(%eax)
-    e352:	00 00 00 
-    e355:	83 c0 04             	add    $0x4,%eax
-    e358:	83 f8 20             	cmp    $0x20,%eax
-    e35b:	72 ee                	jb     0xe34b
-    e35d:	89 35 10 00 00 00    	mov    %esi,0x10
-    e363:	eb 09                	jmp    0xe36e
-    e365:	8d 76 00             	lea    0x0(%esi),%esi
-    e368:	8b 35 10 00 00 00    	mov    0x10,%esi
-    e36e:	85 f6                	test   %esi,%esi
-    e370:	75 15                	jne    0xe387
-    e372:	c7 04 24 00 01 00 00 	movl   $0x100,(%esp)
-    e379:	e8 fc ff ff ff       	call   0xe37a
-    e37e:	85 c0                	test   %eax,%eax
-    e380:	a3 10 00 00 00       	mov    %eax,0x10
-    e385:	74 69                	je     0xe3f0
-    e387:	89 1c 24             	mov    %ebx,(%esp)
-    e38a:	80 0d 1c 00 00 00 80 	orb    $0x80,0x1c
-    e391:	e8 fc ff ff ff       	call   0xe392
-    e396:	8b 15 00 00 00 00    	mov    0x0,%edx
-    e39c:	89 14 24             	mov    %edx,(%esp)
-    e39f:	89 da                	mov    %ebx,%edx
-    e3a1:	89 c1                	mov    %eax,%ecx
-    e3a3:	b8 00 00 00 00       	mov    $0x0,%eax
-    e3a8:	e8 83 f3 ff ff       	call   0xd730
-    e3ad:	85 c0                	test   %eax,%eax
-    e3af:	75 0f                	jne    0xe3c0
-    e3b1:	31 c0                	xor    %eax,%eax
-    e3b3:	83 c4 0c             	add    $0xc,%esp
-    e3b6:	5b                   	pop    %ebx
-    e3b7:	5e                   	pop    %esi
-    e3b8:	5d                   	pop    %ebp
-    e3b9:	c3                   	ret    
-    e3ba:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
-    e3c0:	8b 04 85 00 00 00 00 	mov    0x0(,%eax,4),%eax
-    e3c7:	c7 44 24 08 05 00 00 	movl   $0x5,0x8(%esp)
-    e3ce:	00 
-    e3cf:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
-    e3d6:	05 00 00 00 00       	add    $0x0,%eax
-    e3db:	89 44 24 04          	mov    %eax,0x4(%esp)
-    e3df:	e8 fc ff ff ff       	call   0xe3e0
-    e3e4:	83 c4 0c             	add    $0xc,%esp
-    e3e7:	5b                   	pop    %ebx
-    e3e8:	5e                   	pop    %esi
-    e3e9:	5d                   	pop    %ebp
-    e3ea:	c3                   	ret    
-    e3eb:	90                   	nop
-    e3ec:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    e3f0:	c7 44 24 08 05 00 00 	movl   $0x5,0x8(%esp)
-    e3f7:	00 
-    e3f8:	c7 44 24 04 ea 00 00 	movl   $0xea,0x4(%esp)
-    e3ff:	00 
-    e400:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
-    e407:	e8 fc ff ff ff       	call   0xe408
-    e40c:	83 c4 0c             	add    $0xc,%esp
-    e40f:	5b                   	pop    %ebx
-    e410:	5e                   	pop    %esi
-    e411:	5d                   	pop    %ebp
-    e412:	c3                   	ret    
-    e413:	90                   	nop
-    e414:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
-    e418:	a1 00 00 00 00       	mov    0x0,%eax
-    e41d:	85 c0                	test   %eax,%eax
-    e41f:	75 90                	jne    0xe3b1
-    e421:	c7 44 24 08 05 00 00 	movl   $0x5,0x8(%esp)
-    e428:	00 
-    e429:	c7 44 24 04 20 00 00 	movl   $0x20,0x4(%esp)
-    e430:	00 
-    e431:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
-    e438:	e8 fc ff ff ff       	call   0xe439
-    e43d:	e9 71 ff ff ff       	jmp    0xe3b3
-    e442:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
-    e449:	8d bc 27 00 00 00 00 	lea    0x0(%edi,%eiz,1),%edi
-    e450:	55                   	push   %ebp
-    e451:	89 e5                	mov    %esp,%ebp
-    e453:	53                   	push   %ebx
-    e454:	83 ec 04             	sub    $0x4,%esp
-    e457:	8b 45 10             	mov    0x10(%ebp),%eax
-    e45a:	8b 1d 00 00 00 00    	mov    0x0,%ebx
-    e460:	0f b6 50 1c          	movzbl 0x1c(%eax),%edx
-    e464:	89 d9                	mov    %ebx,%ecx
-    e466:	c1 e9 19             	shr    $0x19,%ecx
-    e469:	83 e1 01             	and    $0x1,%ecx
-    e46c:	c1 e1 04             	shl    $0x4,%ecx
-    e46f:	83 e2 ef             	and    $0xffffffef,%edx
-    e472:	09 ca                	or     %ecx,%edx
-    e474:	83 ca 80             	or     $0xffffff80,%edx
-    e477:	88 50 1c             	mov    %dl,0x1c(%eax)
-    e47a:	89 1c 24             	mov    %ebx,(%esp)
-    e47d:	8b 4d 0c             	mov    0xc(%ebp),%ecx
-    e480:	8b 55 08             	mov    0x8(%ebp),%edx
-    e483:	e8 a8 f2 ff ff       	call   0xd730
-    e488:	85 c0                	test   %eax,%eax
-    e48a:	75 0c                	jne    0xe498
-    e48c:	83 c4 04             	add    $0x4,%esp
-    e48f:	5b                   	pop    %ebx
-    e490:	5d                   	pop    %ebp
-    e491:	c3                   	ret    
-    e492:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
-    e498:	8b 04 85 00 00 00 00 	mov    0x0(,%eax,4),%eax
-    e49f:	c7 45 10 05 00 00 00 	movl   $0x5,0x10(%ebp)
-    e4a6:	c7 45 08 00 00 00 00 	movl   $0x0,0x8(%ebp)
-    e4ad:	05 00 00 00 00       	add    $0x0,%eax
-    e4b2:	89 45 0c             	mov    %eax,0xc(%ebp)
-    e4b5:	83 c4 04             	add    $0x4,%esp
-    e4b8:	5b                   	pop    %ebx
-    e4b9:	5d                   	pop    %ebp
-    e4ba:	e9 fc ff ff ff       	jmp    0xe4bb
-    e4bf:	90                   	nop
-    e4c0:	55                   	push   %ebp
-    e4c1:	89 e5                	mov    %esp,%ebp
-    e4c3:	57                   	push   %edi
-    e4c4:	56                   	push   %esi
-    e4c5:	53                   	push   %ebx
-    e4c6:	83 ec 08             	sub    $0x8,%esp
-    e4c9:	8b 55 10             	mov    0x10(%ebp),%edx
-    e4cc:	8b 5d 08             	mov    0x8(%ebp),%ebx
-    e4cf:	89 d0                	mov    %edx,%eax
-    e4d1:	83 e0 01             	and    $0x1,%eax
-    e4d4:	83 f8 01             	cmp    $0x1,%eax
-    e4d7:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
-    e4dd:	19 ff                	sbb    %edi,%edi
-    e4df:	c7 43 04 00 00 00 00 	movl   $0x0,0x4(%ebx)
-    e4e6:	81 e7 ca 4f fd 00    	and    $0xfd4fca,%edi
-    e4ec:	c7 43 08 00 00 00 00 	movl   $0x0,0x8(%ebx)
-    e4f3:	81 c7 fc b2 03 00    	add    $0x3b2fc,%edi
-    e4f9:	89 55 f0             	mov    %edx,-0x10(%ebp)
-    e4fc:	c7 04 24 00 01 00 00 	movl   $0x100,(%esp)
-    e503:	e8 fc ff ff ff       	call   0xe504
-    e508:	8b 55 f0             	mov    -0x10(%ebp),%edx
-    e50b:	85 c0                	test   %eax,%eax
-    e50d:	89 43 10             	mov    %eax,0x10(%ebx)
-    e510:	0f 84 a3 00 00 00    	je     0xe5b9
-    e516:	89 d0                	mov    %edx,%eax
-    e518:	83 e0 02             	and    $0x2,%eax
-    e51b:	83 f8 01             	cmp    $0x1,%eax
-    e51e:	19 f6                	sbb    %esi,%esi
-    e520:	f7 d6                	not    %esi
-    e522:	81 e6 00 00 40 00    	and    $0x400000,%esi
-    e528:	09 fe                	or     %edi,%esi
-    e52a:	f6 c2 04             	test   $0x4,%dl
-    e52d:	75 59                	jne    0xe588
-    e52f:	0f b6 43 1c          	movzbl 0x1c(%ebx),%eax
-    e533:	83 e0 7f             	and    $0x7f,%eax
-    e536:	88 43 1c             	mov    %al,0x1c(%ebx)
-    e539:	c1 ea 03             	shr    $0x3,%edx
-    e53c:	83 e0 ef             	and    $0xffffffef,%eax
-    e53f:	83 e2 01             	and    $0x1,%edx
-    e542:	c1 e2 04             	shl    $0x4,%edx
-    e545:	09 d0                	or     %edx,%eax
-    e547:	88 43 1c             	mov    %al,0x1c(%ebx)
-    e54a:	8b 45 0c             	mov    0xc(%ebp),%eax
-    e54d:	c7 43 14 00 00 00 00 	movl   $0x0,0x14(%ebx)
-    e554:	89 04 24             	mov    %eax,(%esp)
-    e557:	e8 fc ff ff ff       	call   0xe558
-    e55c:	8b 55 0c             	mov    0xc(%ebp),%edx
-    e55f:	89 34 24             	mov    %esi,(%esp)
-    e562:	89 c1                	mov    %eax,%ecx
-    e564:	89 d8                	mov    %ebx,%eax
-    e566:	e8 c5 f1 ff ff       	call   0xd730
-    e56b:	83 f8 10             	cmp    $0x10,%eax
-    e56e:	89 c6                	mov    %eax,%esi
-    e570:	74 2e                	je     0xe5a0
-    e572:	85 c0                	test   %eax,%eax
-    e574:	75 2f                	jne    0xe5a5
-    e576:	89 1c 24             	mov    %ebx,(%esp)
-    e579:	e8 fc ff ff ff       	call   0xe57a
-    e57e:	83 c4 08             	add    $0x8,%esp
-    e581:	89 f0                	mov    %esi,%eax
-    e583:	5b                   	pop    %ebx
-    e584:	5e                   	pop    %esi
-    e585:	5f                   	pop    %edi
-    e586:	5d                   	pop    %ebp
-    e587:	c3                   	ret    
-    e588:	0f b6 43 1c          	movzbl 0x1c(%ebx),%eax
-    e58c:	83 e6 bf             	and    $0xffffffbf,%esi
-    e58f:	81 ce 00 01 00 00    	or     $0x100,%esi
-    e595:	83 c8 80             	or     $0xffffff80,%eax
-    e598:	88 43 1c             	mov    %al,0x1c(%ebx)
-    e59b:	eb 9c                	jmp    0xe539
-    e59d:	8d 76 00             	lea    0x0(%esi),%esi
-    e5a0:	be 08 00 00 00       	mov    $0x8,%esi
-    e5a5:	8b 43 10             	mov    0x10(%ebx),%eax
-    e5a8:	89 04 24             	mov    %eax,(%esp)
-    e5ab:	e8 fc ff ff ff       	call   0xe5ac
-    e5b0:	c7 43 10 00 00 00 00 	movl   $0x0,0x10(%ebx)
-    e5b7:	eb c5                	jmp    0xe57e
-    e5b9:	be 0c 00 00 00       	mov    $0xc,%esi
-    e5be:	eb be                	jmp    0xe57e
+    d9a9:	0f 85 0a 08 00 00    	jne    0xe1b9
+    d9af:	8d 45 84             	lea    -0x7c(%ebp),%eax
+    d9b2:	e8 19 5c ff ff       	call   0x35d0
+    d9b7:	85 c0                	test   %eax,%eax
+    d9b9:	0f 85 fa 07 00 00    	jne    0xe1b9
+    d9bf:	3b 5d a4             	cmp    -0x5c(%ebp),%ebx
+    d9c2:	7f cc                	jg     0xd990
+    d9c4:	8b 95 74 ff ff ff    	mov    -0x8c(%ebp),%edx
+    d9ca:	8d 5d e4             	lea    -0x1c(%ebp),%ebx
+    d9cd:	8b 4d 08             	mov    0x8(%ebp),%ecx
+    d9d0:	89 d8                	mov    %ebx,%eax
+    d9d2:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
+    d9d9:	8b 3a                	mov    (%edx),%edi
+    d9db:	c7 42 18 00 00 00 00 	movl   $0x0,0x18(%edx)
+    d9e2:	8d 55 84             	lea    -0x7c(%ebp),%edx
+    d9e5:	89 8f 80 00 00 00    	mov    %ecx,0x80(%edi)
+    d9eb:	8b 4d 08             	mov    0x8(%ebp),%ecx
+    d9ee:	81 c9 00 00 80 00    	or     $0x800000,%ecx
+    d9f4:	e8 07 5b ff ff       	call   0x3500
+    d9f9:	8d 45 f0             	lea    -0x10(%ebp),%eax
+    d9fc:	89 d9                	mov    %ebx,%ecx
+    d9fe:	89 44 24 08          	mov    %eax,0x8(%esp)
+    da02:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
+    da09:	00 
+    da0a:	8b 45 08             	mov    0x8(%ebp),%eax
+    da0d:	89 04 24             	mov    %eax,(%esp)
+    da10:	8b 95 74 ff ff ff    	mov    -0x8c(%ebp),%edx
+    da16:	8d 45 84             	lea    -0x7c(%ebp),%eax
+    da19:	e8 32 fc ff ff       	call   0xd650
+    da1e:	85 c0                	test   %eax,%eax
+    da20:	89 c3                	mov    %eax,%ebx
+    da22:	0f 84 e8 07 00 00    	je     0xe210
+    da28:	31 c9                	xor    %ecx,%ecx
+    da2a:	31 d2                	xor    %edx,%edx
+    da2c:	c7 04 24 02 00 00 00 	movl   $0x2,(%esp)
+    da33:	89 f8                	mov    %edi,%eax
+    da35:	e8 c6 31 ff ff       	call   0xc00
+    da3a:	85 db                	test   %ebx,%ebx
+    da3c:	89 c6                	mov    %eax,%esi
+    da3e:	74 12                	je     0xda52
+    da40:	c7 04 24 10 00 00 00 	movl   $0x10,(%esp)
+    da47:	89 f1                	mov    %esi,%ecx
+    da49:	89 da                	mov    %ebx,%edx
+    da4b:	89 f8                	mov    %edi,%eax
+    da4d:	e8 ae 31 ff ff       	call   0xc00
+    da52:	85 c0                	test   %eax,%eax
+    da54:	0f 84 0d 07 00 00    	je     0xe167
+    da5a:	85 f6                	test   %esi,%esi
+    da5c:	0f 84 05 07 00 00    	je     0xe167
+    da62:	8b 8d 74 ff ff ff    	mov    -0x8c(%ebp),%ecx
+    da68:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
+    da6e:	8b 19                	mov    (%ecx),%ebx
+    da70:	89 42 34             	mov    %eax,0x34(%edx)
+    da73:	8b 43 04             	mov    0x4(%ebx),%eax
+    da76:	c1 e0 02             	shl    $0x2,%eax
+    da79:	89 04 24             	mov    %eax,(%esp)
+    da7c:	e8 fc ff ff ff       	call   0xda7d
+    da81:	89 43 0c             	mov    %eax,0xc(%ebx)
+    da84:	8b 43 04             	mov    0x4(%ebx),%eax
+    da87:	c1 e0 02             	shl    $0x2,%eax
+    da8a:	89 04 24             	mov    %eax,(%esp)
+    da8d:	e8 fc ff ff ff       	call   0xda8e
+    da92:	89 43 10             	mov    %eax,0x10(%ebx)
+    da95:	8b 43 04             	mov    0x4(%ebx),%eax
+    da98:	8d 04 40             	lea    (%eax,%eax,2),%eax
+    da9b:	c1 e0 02             	shl    $0x2,%eax
+    da9e:	89 04 24             	mov    %eax,(%esp)
+    daa1:	e8 fc ff ff ff       	call   0xdaa2
+    daa6:	89 43 14             	mov    %eax,0x14(%ebx)
+    daa9:	8b 43 04             	mov    0x4(%ebx),%eax
+    daac:	8d 04 40             	lea    (%eax,%eax,2),%eax
+    daaf:	c1 e0 02             	shl    $0x2,%eax
+    dab2:	89 04 24             	mov    %eax,(%esp)
+    dab5:	e8 fc ff ff ff       	call   0xdab6
+    daba:	8b 73 0c             	mov    0xc(%ebx),%esi
+    dabd:	85 f6                	test   %esi,%esi
+    dabf:	89 43 18             	mov    %eax,0x18(%ebx)
+    dac2:	0f 84 ec 06 00 00    	je     0xe1b4
+    dac8:	8b 4b 10             	mov    0x10(%ebx),%ecx
+    dacb:	85 c9                	test   %ecx,%ecx
+    dacd:	0f 84 e1 06 00 00    	je     0xe1b4
+    dad3:	8b 73 14             	mov    0x14(%ebx),%esi
+    dad6:	85 f6                	test   %esi,%esi
+    dad8:	0f 84 d6 06 00 00    	je     0xe1b4
+    dade:	85 c0                	test   %eax,%eax
+    dae0:	0f 84 ce 06 00 00    	je     0xe1b4
+    dae6:	8b 95 74 ff ff ff    	mov    -0x8c(%ebp),%edx
+    daec:	8b 42 18             	mov    0x18(%edx),%eax
+    daef:	c1 e0 02             	shl    $0x2,%eax
+    daf2:	89 04 24             	mov    %eax,(%esp)
+    daf5:	e8 fc ff ff ff       	call   0xdaf6
+    dafa:	85 c0                	test   %eax,%eax
+    dafc:	89 83 84 00 00 00    	mov    %eax,0x84(%ebx)
+    db02:	74 72                	je     0xdb76
+    db04:	8b 8d 74 ff ff ff    	mov    -0x8c(%ebp),%ecx
+    db0a:	8b 51 18             	mov    0x18(%ecx),%edx
+    db0d:	85 d2                	test   %edx,%edx
+    db0f:	74 1c                	je     0xdb2d
+    db11:	8b b5 74 ff ff ff    	mov    -0x8c(%ebp),%esi
+    db17:	31 c9                	xor    %ecx,%ecx
+    db19:	31 d2                	xor    %edx,%edx
+    db1b:	90                   	nop
+    db1c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    db20:	89 14 88             	mov    %edx,(%eax,%ecx,4)
+    db23:	83 c2 01             	add    $0x1,%edx
+    db26:	39 56 18             	cmp    %edx,0x18(%esi)
+    db29:	89 d1                	mov    %edx,%ecx
+    db2b:	77 f3                	ja     0xdb20
+    db2d:	8b 43 34             	mov    0x34(%ebx),%eax
+    db30:	89 d9                	mov    %ebx,%ecx
+    db32:	ba 70 00 00 00       	mov    $0x70,%edx
+    db37:	e8 94 2e ff ff       	call   0x9d0
+    db3c:	8b 85 74 ff ff ff    	mov    -0x8c(%ebp),%eax
+    db42:	8b 48 18             	mov    0x18(%eax),%ecx
+    db45:	85 c9                	test   %ecx,%ecx
+    db47:	0f 84 92 05 00 00    	je     0xe0df
+    db4d:	8b b3 84 00 00 00    	mov    0x84(%ebx),%esi
+    db53:	8b 16                	mov    (%esi),%edx
+    db55:	85 d2                	test   %edx,%edx
+    db57:	74 0e                	je     0xdb67
+    db59:	eb 1b                	jmp    0xdb76
+    db5b:	90                   	nop
+    db5c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    db60:	8b 14 86             	mov    (%esi,%eax,4),%edx
+    db63:	39 c2                	cmp    %eax,%edx
+    db65:	75 07                	jne    0xdb6e
+    db67:	8d 42 01             	lea    0x1(%edx),%eax
+    db6a:	39 c8                	cmp    %ecx,%eax
+    db6c:	72 f2                	jb     0xdb60
+    db6e:	39 c8                	cmp    %ecx,%eax
+    db70:	0f 84 6f 05 00 00    	je     0xe0e5
+    db76:	8b 43 34             	mov    0x34(%ebx),%eax
+    db79:	ba b0 0d 00 00       	mov    $0xdb0,%edx
+    db7e:	8b 8d 74 ff ff ff    	mov    -0x8c(%ebp),%ecx
+    db84:	e8 e7 2d ff ff       	call   0x970
+    db89:	85 c0                	test   %eax,%eax
+    db8b:	0f 85 28 06 00 00    	jne    0xe1b9
+    db91:	8b 43 34             	mov    0x34(%ebx),%eax
+    db94:	89 d9                	mov    %ebx,%ecx
+    db96:	ba 80 29 00 00       	mov    $0x2980,%edx
+    db9b:	e8 d0 2d ff ff       	call   0x970
+    dba0:	85 c0                	test   %eax,%eax
+    dba2:	0f 85 11 06 00 00    	jne    0xe1b9
+    dba8:	8b 43 34             	mov    0x34(%ebx),%eax
+    dbab:	89 d9                	mov    %ebx,%ecx
+    dbad:	ba 00 01 00 00       	mov    $0x100,%edx
+    dbb2:	e8 19 2e ff ff       	call   0x9d0
+    dbb7:	8b 43 34             	mov    0x34(%ebx),%eax
+    dbba:	89 d9                	mov    %ebx,%ecx
+    dbbc:	ba 80 13 00 00       	mov    $0x1380,%edx
+    dbc1:	e8 0a 2e ff ff       	call   0x9d0
+    dbc6:	85 c0                	test   %eax,%eax
+    dbc8:	0f 85 eb 05 00 00    	jne    0xe1b9
+    dbce:	8b 53 08             	mov    0x8(%ebx),%edx
+    dbd1:	31 f6                	xor    %esi,%esi
+    dbd3:	c7 45 80 00 00 00 00 	movl   $0x0,-0x80(%ebp)
+    dbda:	eb 07                	jmp    0xdbe3
+    dbdc:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    dbe0:	83 c6 01             	add    $0x1,%esi
+    dbe3:	39 d6                	cmp    %edx,%esi
+    dbe5:	74 41                	je     0xdc28
+    dbe7:	8d 3c 76             	lea    (%esi,%esi,2),%edi
+    dbea:	c1 e7 02             	shl    $0x2,%edi
+    dbed:	8b 43 18             	mov    0x18(%ebx),%eax
+    dbf0:	8b 4c 38 04          	mov    0x4(%eax,%edi,1),%ecx
+    dbf4:	85 c9                	test   %ecx,%ecx
+    dbf6:	75 e8                	jne    0xdbe0
+    dbf8:	c7 04 24 01 00 00 00 	movl   $0x1,(%esp)
+    dbff:	89 f1                	mov    %esi,%ecx
+    dc01:	89 da                	mov    %ebx,%edx
+    dc03:	8d 45 d8             	lea    -0x28(%ebp),%eax
+    dc06:	e8 65 4b ff ff       	call   0x2770
+    dc0b:	85 c0                	test   %eax,%eax
+    dc0d:	0f 85 a6 05 00 00    	jne    0xe1b9
+    dc13:	8b 43 18             	mov    0x18(%ebx),%eax
+    dc16:	8b 44 38 04          	mov    0x4(%eax,%edi,1),%eax
+    dc1a:	85 c0                	test   %eax,%eax
+    dc1c:	74 22                	je     0xdc40
+    dc1e:	8b 53 08             	mov    0x8(%ebx),%edx
+    dc21:	eb bd                	jmp    0xdbe0
+    dc23:	90                   	nop
+    dc24:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    dc28:	8b 7d 80             	mov    -0x80(%ebp),%edi
+    dc2b:	85 ff                	test   %edi,%edi
+    dc2d:	74 28                	je     0xdc57
+    dc2f:	31 ff                	xor    %edi,%edi
+    dc31:	31 f6                	xor    %esi,%esi
+    dc33:	c7 45 80 00 00 00 00 	movl   $0x0,-0x80(%ebp)
+    dc3a:	eb b1                	jmp    0xdbed
+    dc3c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    dc40:	8b 45 e0             	mov    -0x20(%ebp),%eax
+    dc43:	89 04 24             	mov    %eax,(%esp)
+    dc46:	e8 fc ff ff ff       	call   0xdc47
+    dc4b:	8b 53 08             	mov    0x8(%ebx),%edx
+    dc4e:	c7 45 80 01 00 00 00 	movl   $0x1,-0x80(%ebp)
+    dc55:	eb 89                	jmp    0xdbe0
+    dc57:	8b 95 74 ff ff ff    	mov    -0x8c(%ebp),%edx
+    dc5d:	f6 42 1c 10          	testb  $0x10,0x1c(%edx)
+    dc61:	75 0b                	jne    0xdc6e
+    dc63:	8b 7a 18             	mov    0x18(%edx),%edi
+    dc66:	85 ff                	test   %edi,%edi
+    dc68:	0f 85 97 03 00 00    	jne    0xe005
+    dc6e:	8b 4b 4c             	mov    0x4c(%ebx),%ecx
+    dc71:	85 c9                	test   %ecx,%ecx
+    dc73:	0f 84 c2 00 00 00    	je     0xdd3b
+    dc79:	8d 04 76             	lea    (%esi,%esi,2),%eax
+    dc7c:	c1 e0 02             	shl    $0x2,%eax
+    dc7f:	89 04 24             	mov    %eax,(%esp)
+    dc82:	e8 fc ff ff ff       	call   0xdc83
+    dc87:	85 c0                	test   %eax,%eax
+    dc89:	89 43 1c             	mov    %eax,0x1c(%ebx)
+    dc8c:	0f 84 22 05 00 00    	je     0xe1b4
+    dc92:	8b 53 08             	mov    0x8(%ebx),%edx
+    dc95:	85 d2                	test   %edx,%edx
+    dc97:	0f 84 9e 00 00 00    	je     0xdd3b
+    dc9d:	31 c9                	xor    %ecx,%ecx
+    dc9f:	31 d2                	xor    %edx,%edx
+    dca1:	eb 08                	jmp    0xdcab
+    dca3:	90                   	nop
+    dca4:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    dca8:	8b 43 1c             	mov    0x1c(%ebx),%eax
+    dcab:	8d 0c 49             	lea    (%ecx,%ecx,2),%ecx
+    dcae:	83 c2 01             	add    $0x1,%edx
+    dcb1:	8d 04 88             	lea    (%eax,%ecx,4),%eax
+    dcb4:	89 d1                	mov    %edx,%ecx
+    dcb6:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
+    dcbc:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
+    dcc3:	c7 40 08 00 00 00 00 	movl   $0x0,0x8(%eax)
+    dcca:	8b 43 08             	mov    0x8(%ebx),%eax
+    dccd:	39 d0                	cmp    %edx,%eax
+    dccf:	77 d7                	ja     0xdca8
+    dcd1:	85 c0                	test   %eax,%eax
+    dcd3:	74 66                	je     0xdd3b
+    dcd5:	31 c0                	xor    %eax,%eax
+    dcd7:	c7 45 80 00 00 00 00 	movl   $0x0,-0x80(%ebp)
+    dcde:	66 90                	xchg   %ax,%ax
+    dce0:	8d 04 40             	lea    (%eax,%eax,2),%eax
+    dce3:	c1 e0 02             	shl    $0x2,%eax
+    dce6:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
+    dcec:	03 43 18             	add    0x18(%ebx),%eax
+    dcef:	8b 78 08             	mov    0x8(%eax),%edi
+    dcf2:	8b 40 04             	mov    0x4(%eax),%eax
+    dcf5:	85 c0                	test   %eax,%eax
+    dcf7:	7e 36                	jle    0xdd2f
+    dcf9:	31 f6                	xor    %esi,%esi
+    dcfb:	90                   	nop
+    dcfc:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    dd00:	8b 04 b7             	mov    (%edi,%esi,4),%eax
+    dd03:	8b 55 80             	mov    -0x80(%ebp),%edx
+    dd06:	8d 04 40             	lea    (%eax,%eax,2),%eax
+    dd09:	c1 e0 02             	shl    $0x2,%eax
+    dd0c:	03 43 1c             	add    0x1c(%ebx),%eax
+    dd0f:	e8 0c 39 ff ff       	call   0x1620
+    dd14:	83 f8 ff             	cmp    $0xffffffff,%eax
+    dd17:	0f 84 97 04 00 00    	je     0xe1b4
+    dd1d:	8b 43 18             	mov    0x18(%ebx),%eax
+    dd20:	83 c6 01             	add    $0x1,%esi
+    dd23:	8b 8d 7c ff ff ff    	mov    -0x84(%ebp),%ecx
+    dd29:	3b 74 08 04          	cmp    0x4(%eax,%ecx,1),%esi
+    dd2d:	7c d1                	jl     0xdd00
+    dd2f:	83 45 80 01          	addl   $0x1,-0x80(%ebp)
+    dd33:	8b 45 80             	mov    -0x80(%ebp),%eax
+    dd36:	3b 43 08             	cmp    0x8(%ebx),%eax
+    dd39:	72 a5                	jb     0xdce0
+    dd3b:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
+    dd41:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
+    dd48:	0f b6 42 58          	movzbl 0x58(%edx),%eax
+    dd4c:	a8 04                	test   $0x4,%al
+    dd4e:	74 1a                	je     0xdd6a
+    dd50:	f7 45 08 00 00 40 00 	testl  $0x400000,0x8(%ebp)
+    dd57:	75 11                	jne    0xdd6a
+    dd59:	8b 9d 74 ff ff ff    	mov    -0x8c(%ebp),%ebx
+    dd5f:	8b 7b 14             	mov    0x14(%ebx),%edi
+    dd62:	85 ff                	test   %edi,%edi
+    dd64:	0f 84 ab 03 00 00    	je     0xe115
+    dd6a:	8b 9d 78 ff ff ff    	mov    -0x88(%ebp),%ebx
+    dd70:	8b 43 34             	mov    0x34(%ebx),%eax
+    dd73:	8b 40 0c             	mov    0xc(%eax),%eax
+    dd76:	8b 40 1c             	mov    0x1c(%eax),%eax
+    dd79:	8d 14 40             	lea    (%eax,%eax,2),%edx
+    dd7c:	c1 e2 02             	shl    $0x2,%edx
+    dd7f:	03 53 18             	add    0x18(%ebx),%edx
+    dd82:	89 43 48             	mov    %eax,0x48(%ebx)
+    dd85:	8d 45 d8             	lea    -0x28(%ebp),%eax
+    dd88:	e8 f3 40 ff ff       	call   0x1e80
+    dd8d:	85 c0                	test   %eax,%eax
+    dd8f:	89 45 ec             	mov    %eax,-0x14(%ebp)
+    dd92:	0f 85 28 01 00 00    	jne    0xdec0
+    dd98:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
+    dd9e:	8b 70 4c             	mov    0x4c(%eax),%esi
+    dda1:	85 f6                	test   %esi,%esi
+    dda3:	0f 8e c3 00 00 00    	jle    0xde6c
+    dda9:	8b 5d dc             	mov    -0x24(%ebp),%ebx
+    ddac:	85 db                	test   %ebx,%ebx
+    ddae:	0f 8e b8 00 00 00    	jle    0xde6c
+    ddb4:	c7 45 80 00 00 00 00 	movl   $0x0,-0x80(%ebp)
+    ddbb:	eb 10                	jmp    0xddcd
+    ddbd:	8d 76 00             	lea    0x0(%esi),%esi
+    ddc0:	83 45 80 01          	addl   $0x1,-0x80(%ebp)
+    ddc4:	3b 5d 80             	cmp    -0x80(%ebp),%ebx
+    ddc7:	0f 8e 9f 00 00 00    	jle    0xde6c
+    ddcd:	8b 4d e0             	mov    -0x20(%ebp),%ecx
+    ddd0:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
+    ddd6:	8b 45 80             	mov    -0x80(%ebp),%eax
+    ddd9:	8b 32                	mov    (%edx),%esi
+    dddb:	8b 04 81             	mov    (%ecx,%eax,4),%eax
+    ddde:	8d 3c c6             	lea    (%esi,%eax,8),%edi
+    dde1:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
+    dde7:	80 7f 04 04          	cmpb   $0x4,0x4(%edi)
+    ddeb:	75 d3                	jne    0xddc0
+    dded:	31 c0                	xor    %eax,%eax
+    ddef:	85 db                	test   %ebx,%ebx
+    ddf1:	7f 0f                	jg     0xde02
+    ddf3:	eb 1f                	jmp    0xde14
+    ddf5:	8d 76 00             	lea    0x0(%esi),%esi
+    ddf8:	83 c0 01             	add    $0x1,%eax
+    ddfb:	39 c3                	cmp    %eax,%ebx
+    ddfd:	8d 76 00             	lea    0x0(%esi),%esi
+    de00:	7e 12                	jle    0xde14
+    de02:	8b 14 81             	mov    (%ecx,%eax,4),%edx
+    de05:	8d 14 d6             	lea    (%esi,%edx,8),%edx
+    de08:	80 7a 04 09          	cmpb   $0x9,0x4(%edx)
+    de0c:	75 ea                	jne    0xddf8
+    de0e:	8b 12                	mov    (%edx),%edx
+    de10:	3b 17                	cmp    (%edi),%edx
+    de12:	75 e4                	jne    0xddf8
+    de14:	39 d8                	cmp    %ebx,%eax
+    de16:	74 a8                	je     0xddc0
+    de18:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
+    de1e:	8b 8d 7c ff ff ff    	mov    -0x84(%ebp),%ecx
+    de24:	8b 42 14             	mov    0x14(%edx),%eax
+    de27:	8d 14 49             	lea    (%ecx,%ecx,2),%edx
+    de2a:	8b 44 90 08          	mov    0x8(%eax,%edx,4),%eax
+    de2e:	8b 30                	mov    (%eax),%esi
+    de30:	8d 45 d8             	lea    -0x28(%ebp),%eax
+    de33:	89 f2                	mov    %esi,%edx
+    de35:	e8 c6 21 ff ff       	call   0x0
+    de3a:	85 c0                	test   %eax,%eax
+    de3c:	75 82                	jne    0xddc0
+    de3e:	8b 9d 78 ff ff ff    	mov    -0x88(%ebp),%ebx
+    de44:	8d 14 76             	lea    (%esi,%esi,2),%edx
+    de47:	c1 e2 02             	shl    $0x2,%edx
+    de4a:	8d 45 d8             	lea    -0x28(%ebp),%eax
+    de4d:	03 53 18             	add    0x18(%ebx),%edx
+    de50:	e8 eb 38 ff ff       	call   0x1740
+    de55:	85 c0                	test   %eax,%eax
+    de57:	75 67                	jne    0xdec0
+    de59:	8b 5d dc             	mov    -0x24(%ebp),%ebx
+    de5c:	c7 45 80 01 00 00 00 	movl   $0x1,-0x80(%ebp)
+    de63:	3b 5d 80             	cmp    -0x80(%ebp),%ebx
+    de66:	0f 8f 61 ff ff ff    	jg     0xddcd
+    de6c:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
+    de73:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
+    de79:	8d 5d ec             	lea    -0x14(%ebp),%ebx
+    de7c:	8d 4d d8             	lea    -0x28(%ebp),%ecx
+    de7f:	89 d8                	mov    %ebx,%eax
+    de81:	e8 8a 66 ff ff       	call   0x4510
+    de86:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
+    de8c:	83 ec 04             	sub    $0x4,%esp
+    de8f:	85 c0                	test   %eax,%eax
+    de91:	89 42 24             	mov    %eax,0x24(%edx)
+    de94:	0f 84 54 01 00 00    	je     0xdfee
+    de9a:	80 78 34 00          	cmpb   $0x0,0x34(%eax)
+    de9e:	0f 88 d1 00 00 00    	js     0xdf75
+    dea4:	8b 9d 78 ff ff ff    	mov    -0x88(%ebp),%ebx
+    deaa:	89 43 30             	mov    %eax,0x30(%ebx)
+    dead:	89 43 2c             	mov    %eax,0x2c(%ebx)
+    deb0:	89 43 28             	mov    %eax,0x28(%ebx)
+    deb3:	8b 45 e0             	mov    -0x20(%ebp),%eax
+    deb6:	89 04 24             	mov    %eax,(%esp)
+    deb9:	e8 fc ff ff ff       	call   0xdeba
+    debe:	31 c0                	xor    %eax,%eax
+    dec0:	89 45 f0             	mov    %eax,-0x10(%ebp)
+    dec3:	8b 85 74 ff ff ff    	mov    -0x8c(%ebp),%eax
+    dec9:	e8 e2 31 ff ff       	call   0x10b0
+    dece:	8d 45 84             	lea    -0x7c(%ebp),%eax
+    ded1:	e8 da 30 ff ff       	call   0xfb0
+    ded6:	8b 7d f0             	mov    -0x10(%ebp),%edi
+    ded9:	85 ff                	test   %edi,%edi
+    dedb:	75 6f                	jne    0xdf4c
+    dedd:	31 c0                	xor    %eax,%eax
+    dedf:	8d 65 f4             	lea    -0xc(%ebp),%esp
+    dee2:	5b                   	pop    %ebx
+    dee3:	5e                   	pop    %esi
+    dee4:	5f                   	pop    %edi
+    dee5:	5d                   	pop    %ebp
+    dee6:	c3                   	ret    
+    dee7:	8b 8d 78 ff ff ff    	mov    -0x88(%ebp),%ecx
+    deed:	83 79 5c 01          	cmpl   $0x1,0x5c(%ecx)
+    def1:	0f 8f ff 00 00 00    	jg     0xdff6
+    def7:	85 db                	test   %ebx,%ebx
+    def9:	0f 84 0a 02 00 00    	je     0xe109
+    deff:	8b 75 a8             	mov    -0x58(%ebp),%esi
+    df02:	8b 45 a0             	mov    -0x60(%ebp),%eax
+    df05:	39 75 b4             	cmp    %esi,-0x4c(%ebp)
+    df08:	0f 4e 75 b4          	cmovle -0x4c(%ebp),%esi
+    df0c:	39 c6                	cmp    %eax,%esi
+    df0e:	7f 0b                	jg     0xdf1b
+    df10:	eb 28                	jmp    0xdf3a
+    df12:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
+    df18:	8b 55 88             	mov    -0x78(%ebp),%edx
+    df1b:	8b 5d 84             	mov    -0x7c(%ebp),%ebx
+    df1e:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
+    df21:	01 c3                	add    %eax,%ebx
+    df23:	0f b6 0c 0b          	movzbl (%ebx,%ecx,1),%ecx
+    df27:	8b 5d c4             	mov    -0x3c(%ebp),%ebx
+    df2a:	0f b6 0c 0b          	movzbl (%ebx,%ecx,1),%ecx
+    df2e:	88 0c 02             	mov    %cl,(%edx,%eax,1)
+    df31:	83 c0 01             	add    $0x1,%eax
+    df34:	39 c6                	cmp    %eax,%esi
+    df36:	7f e0                	jg     0xdf18
+    df38:	89 f0                	mov    %esi,%eax
+    df3a:	89 45 a0             	mov    %eax,-0x60(%ebp)
+    df3d:	89 45 a4             	mov    %eax,-0x5c(%ebp)
+    df40:	e9 7f fa ff ff       	jmp    0xd9c4
+    df45:	c7 45 f0 0c 00 00 00 	movl   $0xc,-0x10(%ebp)
+    df4c:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
+    df52:	e8 b9 31 ff ff       	call   0x1110
+    df57:	8b 85 74 ff ff ff    	mov    -0x8c(%ebp),%eax
+    df5d:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
+    df63:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
+    df6a:	8b 45 f0             	mov    -0x10(%ebp),%eax
+    df6d:	8d 65 f4             	lea    -0xc(%ebp),%esp
+    df70:	5b                   	pop    %ebx
+    df71:	5e                   	pop    %esi
+    df72:	5f                   	pop    %edi
+    df73:	5d                   	pop    %ebp
+    df74:	c3                   	ret    
+    df75:	c7 04 24 01 00 00 00 	movl   $0x1,(%esp)
+    df7c:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
+    df82:	8d 4d d8             	lea    -0x28(%ebp),%ecx
+    df85:	89 d8                	mov    %ebx,%eax
+    df87:	e8 84 65 ff ff       	call   0x4510
+    df8c:	8b 8d 78 ff ff ff    	mov    -0x88(%ebp),%ecx
+    df92:	83 ec 04             	sub    $0x4,%esp
+    df95:	89 41 28             	mov    %eax,0x28(%ecx)
+    df98:	8d 4d d8             	lea    -0x28(%ebp),%ecx
+    df9b:	89 d8                	mov    %ebx,%eax
+    df9d:	c7 04 24 02 00 00 00 	movl   $0x2,(%esp)
+    dfa4:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
+    dfaa:	e8 61 65 ff ff       	call   0x4510
+    dfaf:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
+    dfb5:	8d 4d d8             	lea    -0x28(%ebp),%ecx
+    dfb8:	83 ec 04             	sub    $0x4,%esp
+    dfbb:	89 42 2c             	mov    %eax,0x2c(%edx)
+    dfbe:	89 d8                	mov    %ebx,%eax
+    dfc0:	c7 04 24 06 00 00 00 	movl   $0x6,(%esp)
+    dfc7:	e8 44 65 ff ff       	call   0x4510
+    dfcc:	8b 8d 78 ff ff ff    	mov    -0x88(%ebp),%ecx
+    dfd2:	8b 59 28             	mov    0x28(%ecx),%ebx
+    dfd5:	83 ec 04             	sub    $0x4,%esp
+    dfd8:	89 41 30             	mov    %eax,0x30(%ecx)
+    dfdb:	85 db                	test   %ebx,%ebx
+    dfdd:	74 0f                	je     0xdfee
+    dfdf:	8b 51 2c             	mov    0x2c(%ecx),%edx
+    dfe2:	85 d2                	test   %edx,%edx
+    dfe4:	74 08                	je     0xdfee
+    dfe6:	85 c0                	test   %eax,%eax
+    dfe8:	0f 85 c5 fe ff ff    	jne    0xdeb3
+    dfee:	8b 45 ec             	mov    -0x14(%ebp),%eax
+    dff1:	e9 ca fe ff ff       	jmp    0xdec0
+    dff6:	8d 45 84             	lea    -0x7c(%ebp),%eax
+    dff9:	e8 12 4a ff ff       	call   0x2a10
+    dffe:	66 90                	xchg   %ax,%ax
+    e000:	e9 bf f9 ff ff       	jmp    0xd9c4
+    e005:	f6 43 58 01          	testb  $0x1,0x58(%ebx)
+    e009:	0f 85 6a fc ff ff    	jne    0xdc79
+    e00f:	90                   	nop
+    e010:	e9 59 fc ff ff       	jmp    0xdc6e
+    e015:	8b 43 60             	mov    0x60(%ebx),%eax
+    e018:	c7 44 24 04 1c 01 00 	movl   $0x11c,0x4(%esp)
+    e01f:	00 
+    e020:	89 04 24             	mov    %eax,(%esp)
+    e023:	e8 fc ff ff ff       	call   0xe024
+    e028:	85 c0                	test   %eax,%eax
+    e02a:	0f 84 95 00 00 00    	je     0xe0c5
+    e030:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
+    e036:	0f b6 42 58          	movzbl 0x58(%edx),%eax
+    e03a:	e9 04 f8 ff ff       	jmp    0xd843
+    e03f:	c7 44 24 04 01 00 00 	movl   $0x1,0x4(%esp)
+    e046:	00 
+    e047:	c7 04 24 20 00 00 00 	movl   $0x20,(%esp)
+    e04e:	e8 fc ff ff ff       	call   0xe04f
+    e053:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
+    e059:	85 c0                	test   %eax,%eax
+    e05b:	89 42 3c             	mov    %eax,0x3c(%edx)
+    e05e:	0f 84 e1 fe ff ff    	je     0xdf45
+    e064:	31 f6                	xor    %esi,%esi
+    e066:	c7 85 7c ff ff ff 00 	movl   $0x0,-0x84(%ebp)
+    e06d:	00 00 00 
+    e070:	8b 9d 7c ff ff ff    	mov    -0x84(%ebp),%ebx
+    e076:	c1 e6 02             	shl    $0x2,%esi
+    e079:	31 ff                	xor    %edi,%edi
+    e07b:	c1 e3 05             	shl    $0x5,%ebx
+    e07e:	66 90                	xchg   %ax,%ax
+    e080:	89 1c 24             	mov    %ebx,(%esp)
+    e083:	e8 fc ff ff ff       	call   0xe084
+    e088:	83 f8 ff             	cmp    $0xffffffff,%eax
+    e08b:	74 16                	je     0xe0a3
+    e08d:	8b 8d 78 ff ff ff    	mov    -0x88(%ebp),%ecx
+    e093:	89 f0                	mov    %esi,%eax
+    e095:	ba 01 00 00 00       	mov    $0x1,%edx
+    e09a:	03 41 3c             	add    0x3c(%ecx),%eax
+    e09d:	89 f9                	mov    %edi,%ecx
+    e09f:	d3 e2                	shl    %cl,%edx
+    e0a1:	09 10                	or     %edx,(%eax)
+    e0a3:	83 c7 01             	add    $0x1,%edi
+    e0a6:	83 c3 01             	add    $0x1,%ebx
+    e0a9:	83 ff 20             	cmp    $0x20,%edi
+    e0ac:	75 d2                	jne    0xe080
+    e0ae:	83 85 7c ff ff ff 01 	addl   $0x1,-0x84(%ebp)
+    e0b5:	8b b5 7c ff ff ff    	mov    -0x84(%ebp),%esi
+    e0bb:	83 fe 08             	cmp    $0x8,%esi
+    e0be:	75 b0                	jne    0xe070
+    e0c0:	e9 af f7 ff ff       	jmp    0xd874
+    e0c5:	8b 8d 78 ff ff ff    	mov    -0x88(%ebp),%ecx
+    e0cb:	0f b6 41 58          	movzbl 0x58(%ecx),%eax
+    e0cf:	83 c8 04             	or     $0x4,%eax
+    e0d2:	88 41 58             	mov    %al,0x58(%ecx)
+    e0d5:	65 8b 16             	mov    %gs:(%esi),%edx
+    e0d8:	8b 1a                	mov    (%edx),%ebx
+    e0da:	e9 64 f7 ff ff       	jmp    0xd843
+    e0df:	8b b3 84 00 00 00    	mov    0x84(%ebx),%esi
+    e0e5:	89 34 24             	mov    %esi,(%esp)
+    e0e8:	e8 fc ff ff ff       	call   0xe0e9
+    e0ed:	c7 83 84 00 00 00 00 	movl   $0x0,0x84(%ebx)
+    e0f4:	00 00 00 
+    e0f7:	e9 7a fa ff ff       	jmp    0xdb76
+    e0fc:	8d 45 84             	lea    -0x7c(%ebp),%eax
+    e0ff:	e8 ac 5a ff ff       	call   0x3bb0
+    e104:	e9 bb f8 ff ff       	jmp    0xd9c4
+    e109:	8b 45 a8             	mov    -0x58(%ebp),%eax
+    e10c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    e110:	e9 25 fe ff ff       	jmp    0xdf3a
+    e115:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
+    e11b:	31 f6                	xor    %esi,%esi
+    e11d:	31 ff                	xor    %edi,%edi
+    e11f:	c7 45 80 00 00 00 00 	movl   $0x0,-0x80(%ebp)
+    e126:	8b 5a 08             	mov    0x8(%edx),%ebx
+    e129:	39 de                	cmp    %ebx,%esi
+    e12b:	0f 83 ee 00 00 00    	jae    0xe21f
+    e131:	8b 8d 78 ff ff ff    	mov    -0x88(%ebp),%ecx
+    e137:	8d 14 f5 00 00 00 00 	lea    0x0(,%esi,8),%edx
+    e13e:	03 11                	add    (%ecx),%edx
+    e140:	0f b6 4a 04          	movzbl 0x4(%edx),%ecx
+    e144:	83 e9 01             	sub    $0x1,%ecx
+    e147:	80 f9 0b             	cmp    $0xb,%cl
+    e14a:	76 05                	jbe    0xe151
+    e14c:	e8 fc ff ff ff       	call   0xe14d
+    e151:	0f b6 c9             	movzbl %cl,%ecx
+    e154:	ff 24 8d 2c 04 00 00 	jmp    *0x42c(,%ecx,4)
+    e15b:	c7 45 80 01 00 00 00 	movl   $0x1,-0x80(%ebp)
+    e162:	83 c6 01             	add    $0x1,%esi
+    e165:	eb c2                	jmp    0xe129
+    e167:	c7 45 f0 0c 00 00 00 	movl   $0xc,-0x10(%ebp)
+    e16e:	8b 8d 78 ff ff ff    	mov    -0x88(%ebp),%ecx
+    e174:	c7 41 34 00 00 00 00 	movl   $0x0,0x34(%ecx)
+    e17b:	8b 85 74 ff ff ff    	mov    -0x8c(%ebp),%eax
+    e181:	e8 2a 2f ff ff       	call   0x10b0
+    e186:	8d 45 84             	lea    -0x7c(%ebp),%eax
+    e189:	e8 22 2e ff ff       	call   0xfb0
+    e18e:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
+    e194:	e8 77 2f ff ff       	call   0x1110
+    e199:	8b 9d 74 ff ff ff    	mov    -0x8c(%ebp),%ebx
+    e19f:	8b 45 f0             	mov    -0x10(%ebp),%eax
+    e1a2:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
+    e1a8:	c7 43 04 00 00 00 00 	movl   $0x0,0x4(%ebx)
+    e1af:	e9 2b fd ff ff       	jmp    0xdedf
+    e1b4:	b8 0c 00 00 00       	mov    $0xc,%eax
+    e1b9:	89 45 f0             	mov    %eax,-0x10(%ebp)
+    e1bc:	eb bd                	jmp    0xe17b
+    e1be:	c7 44 24 04 a0 00 00 	movl   $0xa0,0x4(%esp)
+    e1c5:	00 
+    e1c6:	89 04 24             	mov    %eax,(%esp)
+    e1c9:	e8 fc ff ff ff       	call   0xe1ca
+    e1ce:	89 85 78 ff ff ff    	mov    %eax,-0x88(%ebp)
+    e1d4:	b8 0c 00 00 00       	mov    $0xc,%eax
+    e1d9:	83 bd 78 ff ff ff 00 	cmpl   $0x0,-0x88(%ebp)
+    e1e0:	0f 84 f9 fc ff ff    	je     0xdedf
+    e1e6:	8b 9d 74 ff ff ff    	mov    -0x8c(%ebp),%ebx
+    e1ec:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
+    e1f2:	c7 43 04 a0 00 00 00 	movl   $0xa0,0x4(%ebx)
+    e1f9:	89 03                	mov    %eax,(%ebx)
+    e1fb:	e9 97 f5 ff ff       	jmp    0xd797
+    e200:	80 3a 00             	cmpb   $0x0,(%edx)
+    e203:	ba 01 00 00 00       	mov    $0x1,%edx
+    e208:	0f 48 fa             	cmovs  %edx,%edi
+    e20b:	e9 52 ff ff ff       	jmp    0xe162
+    e210:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
+    e214:	0f 84 0e f8 ff ff    	je     0xda28
+    e21a:	e9 4f ff ff ff       	jmp    0xe16e
+    e21f:	83 7d 80 00          	cmpl   $0x0,-0x80(%ebp)
+    e223:	90                   	nop
+    e224:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    e228:	75 08                	jne    0xe232
+    e22a:	85 ff                	test   %edi,%edi
+    e22c:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    e230:	74 4d                	je     0xe27f
+    e232:	8b 8d 78 ff ff ff    	mov    -0x88(%ebp),%ecx
+    e238:	31 d2                	xor    %edx,%edx
+    e23a:	89 df                	mov    %ebx,%edi
+    e23c:	39 fa                	cmp    %edi,%edx
+    e23e:	73 35                	jae    0xe275
+    e240:	8d 04 d5 00 00 00 00 	lea    0x0(,%edx,8),%eax
+    e247:	03 01                	add    (%ecx),%eax
+    e249:	0f b6 70 04          	movzbl 0x4(%eax),%esi
+    e24d:	89 f3                	mov    %esi,%ebx
+    e24f:	80 fb 01             	cmp    $0x1,%bl
+    e252:	74 13                	je     0xe267
+    e254:	89 f3                	mov    %esi,%ebx
+    e256:	80 fb 05             	cmp    $0x5,%bl
+    e259:	75 07                	jne    0xe262
+    e25b:	c6 40 04 07          	movb   $0x7,0x4(%eax)
+    e25f:	8b 79 08             	mov    0x8(%ecx),%edi
+    e262:	83 c2 01             	add    $0x1,%edx
+    e265:	eb d5                	jmp    0xe23c
+    e267:	80 38 00             	cmpb   $0x0,(%eax)
+    e26a:	79 f6                	jns    0xe262
+    e26c:	80 60 06 df          	andb   $0xdf,0x6(%eax)
+    e270:	8b 79 08             	mov    0x8(%ecx),%edi
+    e273:	eb ed                	jmp    0xe262
+    e275:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
+    e27b:	0f b6 42 58          	movzbl 0x58(%edx),%eax
+    e27f:	8b 8d 78 ff ff ff    	mov    -0x88(%ebp),%ecx
+    e285:	83 79 4c 00          	cmpl   $0x0,0x4c(%ecx)
+    e289:	c7 41 5c 01 00 00 00 	movl   $0x1,0x5c(%ecx)
+    e290:	0f 9f c2             	setg   %dl
+    e293:	83 e0 f9             	and    $0xfffffff9,%eax
+    e296:	0a 55 80             	or     -0x80(%ebp),%dl
+    e299:	01 d2                	add    %edx,%edx
+    e29b:	09 d0                	or     %edx,%eax
+    e29d:	88 41 58             	mov    %al,0x58(%ecx)
+    e2a0:	e9 c5 fa ff ff       	jmp    0xdd6a
+    e2a5:	8b 12                	mov    (%edx),%edx
+    e2a7:	83 fa 20             	cmp    $0x20,%edx
+    e2aa:	0f 84 b2 fe ff ff    	je     0xe162
+    e2b0:	77 50                	ja     0xe302
+    e2b2:	83 fa 10             	cmp    $0x10,%edx
+    e2b5:	0f 85 af fa ff ff    	jne    0xdd6a
+    e2bb:	90                   	nop
+    e2bc:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    e2c0:	e9 9d fe ff ff       	jmp    0xe162
+    e2c5:	8b 12                	mov    (%edx),%edx
+    e2c7:	b9 04 00 00 00       	mov    $0x4,%ecx
+    e2cc:	89 9d 70 ff ff ff    	mov    %ebx,-0x90(%ebp)
+    e2d2:	89 95 7c ff ff ff    	mov    %edx,-0x84(%ebp)
+    e2d8:	ba 04 00 00 00       	mov    $0x4,%edx
+    e2dd:	8b 9d 7c ff ff ff    	mov    -0x84(%ebp),%ebx
+    e2e3:	83 3c 8b 00          	cmpl   $0x0,(%ebx,%ecx,4)
+    e2e7:	0f 85 7d fa ff ff    	jne    0xdd6a
+    e2ed:	83 c2 01             	add    $0x1,%edx
+    e2f0:	83 fa 08             	cmp    $0x8,%edx
+    e2f3:	89 d1                	mov    %edx,%ecx
+    e2f5:	75 e6                	jne    0xe2dd
+    e2f7:	8b 9d 70 ff ff ff    	mov    -0x90(%ebp),%ebx
+    e2fd:	e9 60 fe ff ff       	jmp    0xe162
+    e302:	83 fa 40             	cmp    $0x40,%edx
+    e305:	0f 84 57 fe ff ff    	je     0xe162
+    e30b:	83 c2 80             	add    $0xffffff80,%edx
+    e30e:	66 90                	xchg   %ax,%ax
+    e310:	0f 85 54 fa ff ff    	jne    0xdd6a
+    e316:	66 90                	xchg   %ax,%ax
+    e318:	e9 45 fe ff ff       	jmp    0xe162
+    e31d:	8d 76 00             	lea    0x0(%esi),%esi
+    e320:	55                   	push   %ebp
+    e321:	89 e5                	mov    %esp,%ebp
+    e323:	56                   	push   %esi
+    e324:	53                   	push   %ebx
+    e325:	83 ec 0c             	sub    $0xc,%esp
+    e328:	8b 5d 08             	mov    0x8(%ebp),%ebx
+    e32b:	85 db                	test   %ebx,%ebx
+    e32d:	0f 84 f5 00 00 00    	je     0xe428
+    e333:	8b 35 00 00 00 00    	mov    0x0,%esi
+    e339:	85 f6                	test   %esi,%esi
+    e33b:	74 3b                	je     0xe378
+    e33d:	8b 35 10 00 00 00    	mov    0x10,%esi
+    e343:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
+    e34a:	c7 05 10 00 00 00 00 	movl   $0x0,0x10
+    e351:	00 00 00 
+    e354:	e8 fc ff ff ff       	call   0xe355
+    e359:	31 c0                	xor    %eax,%eax
+    e35b:	c7 80 00 00 00 00 00 	movl   $0x0,0x0(%eax)
+    e362:	00 00 00 
+    e365:	83 c0 04             	add    $0x4,%eax
+    e368:	83 f8 20             	cmp    $0x20,%eax
+    e36b:	72 ee                	jb     0xe35b
+    e36d:	89 35 10 00 00 00    	mov    %esi,0x10
+    e373:	eb 09                	jmp    0xe37e
+    e375:	8d 76 00             	lea    0x0(%esi),%esi
+    e378:	8b 35 10 00 00 00    	mov    0x10,%esi
+    e37e:	85 f6                	test   %esi,%esi
+    e380:	75 15                	jne    0xe397
+    e382:	c7 04 24 00 01 00 00 	movl   $0x100,(%esp)
+    e389:	e8 fc ff ff ff       	call   0xe38a
+    e38e:	85 c0                	test   %eax,%eax
+    e390:	a3 10 00 00 00       	mov    %eax,0x10
+    e395:	74 69                	je     0xe400
+    e397:	89 1c 24             	mov    %ebx,(%esp)
+    e39a:	80 0d 1c 00 00 00 80 	orb    $0x80,0x1c
+    e3a1:	e8 fc ff ff ff       	call   0xe3a2
+    e3a6:	8b 15 00 00 00 00    	mov    0x0,%edx
+    e3ac:	89 14 24             	mov    %edx,(%esp)
+    e3af:	89 da                	mov    %ebx,%edx
+    e3b1:	89 c1                	mov    %eax,%ecx
+    e3b3:	b8 00 00 00 00       	mov    $0x0,%eax
+    e3b8:	e8 83 f3 ff ff       	call   0xd740
+    e3bd:	85 c0                	test   %eax,%eax
+    e3bf:	75 0f                	jne    0xe3d0
+    e3c1:	31 c0                	xor    %eax,%eax
+    e3c3:	83 c4 0c             	add    $0xc,%esp
+    e3c6:	5b                   	pop    %ebx
+    e3c7:	5e                   	pop    %esi
+    e3c8:	5d                   	pop    %ebp
+    e3c9:	c3                   	ret    
+    e3ca:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
+    e3d0:	8b 04 85 00 00 00 00 	mov    0x0(,%eax,4),%eax
+    e3d7:	c7 44 24 08 05 00 00 	movl   $0x5,0x8(%esp)
+    e3de:	00 
+    e3df:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
+    e3e6:	05 00 00 00 00       	add    $0x0,%eax
+    e3eb:	89 44 24 04          	mov    %eax,0x4(%esp)
+    e3ef:	e8 fc ff ff ff       	call   0xe3f0
+    e3f4:	83 c4 0c             	add    $0xc,%esp
+    e3f7:	5b                   	pop    %ebx
+    e3f8:	5e                   	pop    %esi
+    e3f9:	5d                   	pop    %ebp
+    e3fa:	c3                   	ret    
+    e3fb:	90                   	nop
+    e3fc:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    e400:	c7 44 24 08 05 00 00 	movl   $0x5,0x8(%esp)
+    e407:	00 
+    e408:	c7 44 24 04 ea 00 00 	movl   $0xea,0x4(%esp)
+    e40f:	00 
+    e410:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
+    e417:	e8 fc ff ff ff       	call   0xe418
+    e41c:	83 c4 0c             	add    $0xc,%esp
+    e41f:	5b                   	pop    %ebx
+    e420:	5e                   	pop    %esi
+    e421:	5d                   	pop    %ebp
+    e422:	c3                   	ret    
+    e423:	90                   	nop
+    e424:	8d 74 26 00          	lea    0x0(%esi,%eiz,1),%esi
+    e428:	a1 00 00 00 00       	mov    0x0,%eax
+    e42d:	85 c0                	test   %eax,%eax
+    e42f:	75 90                	jne    0xe3c1
+    e431:	c7 44 24 08 05 00 00 	movl   $0x5,0x8(%esp)
+    e438:	00 
+    e439:	c7 44 24 04 20 00 00 	movl   $0x20,0x4(%esp)
+    e440:	00 
+    e441:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
+    e448:	e8 fc ff ff ff       	call   0xe449
+    e44d:	e9 71 ff ff ff       	jmp    0xe3c3
+    e452:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
+    e459:	8d bc 27 00 00 00 00 	lea    0x0(%edi,%eiz,1),%edi
+    e460:	55                   	push   %ebp
+    e461:	89 e5                	mov    %esp,%ebp
+    e463:	53                   	push   %ebx
+    e464:	83 ec 04             	sub    $0x4,%esp
+    e467:	8b 45 10             	mov    0x10(%ebp),%eax
+    e46a:	8b 1d 00 00 00 00    	mov    0x0,%ebx
+    e470:	0f b6 50 1c          	movzbl 0x1c(%eax),%edx
+    e474:	89 d9                	mov    %ebx,%ecx
+    e476:	c1 e9 19             	shr    $0x19,%ecx
+    e479:	83 e1 01             	and    $0x1,%ecx
+    e47c:	c1 e1 04             	shl    $0x4,%ecx
+    e47f:	83 e2 ef             	and    $0xffffffef,%edx
+    e482:	09 ca                	or     %ecx,%edx
+    e484:	83 ca 80             	or     $0xffffff80,%edx
+    e487:	88 50 1c             	mov    %dl,0x1c(%eax)
+    e48a:	89 1c 24             	mov    %ebx,(%esp)
+    e48d:	8b 4d 0c             	mov    0xc(%ebp),%ecx
+    e490:	8b 55 08             	mov    0x8(%ebp),%edx
+    e493:	e8 a8 f2 ff ff       	call   0xd740
+    e498:	85 c0                	test   %eax,%eax
+    e49a:	75 0c                	jne    0xe4a8
+    e49c:	83 c4 04             	add    $0x4,%esp
+    e49f:	5b                   	pop    %ebx
+    e4a0:	5d                   	pop    %ebp
+    e4a1:	c3                   	ret    
+    e4a2:	8d b6 00 00 00 00    	lea    0x0(%esi),%esi
+    e4a8:	8b 04 85 00 00 00 00 	mov    0x0(,%eax,4),%eax
+    e4af:	c7 45 10 05 00 00 00 	movl   $0x5,0x10(%ebp)
+    e4b6:	c7 45 08 00 00 00 00 	movl   $0x0,0x8(%ebp)
+    e4bd:	05 00 00 00 00       	add    $0x0,%eax
+    e4c2:	89 45 0c             	mov    %eax,0xc(%ebp)
+    e4c5:	83 c4 04             	add    $0x4,%esp
+    e4c8:	5b                   	pop    %ebx
+    e4c9:	5d                   	pop    %ebp
+    e4ca:	e9 fc ff ff ff       	jmp    0xe4cb
+    e4cf:	90                   	nop
+    e4d0:	55                   	push   %ebp
+    e4d1:	89 e5                	mov    %esp,%ebp
+    e4d3:	57                   	push   %edi
+    e4d4:	56                   	push   %esi
+    e4d5:	53                   	push   %ebx
+    e4d6:	83 ec 08             	sub    $0x8,%esp
+    e4d9:	8b 55 10             	mov    0x10(%ebp),%edx
+    e4dc:	8b 5d 08             	mov    0x8(%ebp),%ebx
+    e4df:	89 d0                	mov    %edx,%eax
+    e4e1:	83 e0 01             	and    $0x1,%eax
+    e4e4:	83 f8 01             	cmp    $0x1,%eax
+    e4e7:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
+    e4ed:	19 ff                	sbb    %edi,%edi
+    e4ef:	c7 43 04 00 00 00 00 	movl   $0x0,0x4(%ebx)
+    e4f6:	81 e7 ca 4f fd 00    	and    $0xfd4fca,%edi
+    e4fc:	c7 43 08 00 00 00 00 	movl   $0x0,0x8(%ebx)
+    e503:	81 c7 fc b2 03 00    	add    $0x3b2fc,%edi
+    e509:	89 55 f0             	mov    %edx,-0x10(%ebp)
+    e50c:	c7 04 24 00 01 00 00 	movl   $0x100,(%esp)
+    e513:	e8 fc ff ff ff       	call   0xe514
+    e518:	8b 55 f0             	mov    -0x10(%ebp),%edx
+    e51b:	85 c0                	test   %eax,%eax
+    e51d:	89 43 10             	mov    %eax,0x10(%ebx)
+    e520:	0f 84 a3 00 00 00    	je     0xe5c9
+    e526:	89 d0                	mov    %edx,%eax
+    e528:	83 e0 02             	and    $0x2,%eax
+    e52b:	83 f8 01             	cmp    $0x1,%eax
+    e52e:	19 f6                	sbb    %esi,%esi
+    e530:	f7 d6                	not    %esi
+    e532:	81 e6 00 00 40 00    	and    $0x400000,%esi
+    e538:	09 fe                	or     %edi,%esi
+    e53a:	f6 c2 04             	test   $0x4,%dl
+    e53d:	75 59                	jne    0xe598
+    e53f:	0f b6 43 1c          	movzbl 0x1c(%ebx),%eax
+    e543:	83 e0 7f             	and    $0x7f,%eax
+    e546:	88 43 1c             	mov    %al,0x1c(%ebx)
+    e549:	c1 ea 03             	shr    $0x3,%edx
+    e54c:	83 e0 ef             	and    $0xffffffef,%eax
+    e54f:	83 e2 01             	and    $0x1,%edx
+    e552:	c1 e2 04             	shl    $0x4,%edx
+    e555:	09 d0                	or     %edx,%eax
+    e557:	88 43 1c             	mov    %al,0x1c(%ebx)
+    e55a:	8b 45 0c             	mov    0xc(%ebp),%eax
+    e55d:	c7 43 14 00 00 00 00 	movl   $0x0,0x14(%ebx)
+    e564:	89 04 24             	mov    %eax,(%esp)
+    e567:	e8 fc ff ff ff       	call   0xe568
+    e56c:	8b 55 0c             	mov    0xc(%ebp),%edx
+    e56f:	89 34 24             	mov    %esi,(%esp)
+    e572:	89 c1                	mov    %eax,%ecx
+    e574:	89 d8                	mov    %ebx,%eax
+    e576:	e8 c5 f1 ff ff       	call   0xd740
+    e57b:	83 f8 10             	cmp    $0x10,%eax
+    e57e:	89 c6                	mov    %eax,%esi
+    e580:	74 2e                	je     0xe5b0
+    e582:	85 c0                	test   %eax,%eax
+    e584:	75 2f                	jne    0xe5b5
+    e586:	89 1c 24             	mov    %ebx,(%esp)
+    e589:	e8 fc ff ff ff       	call   0xe58a
+    e58e:	83 c4 08             	add    $0x8,%esp
+    e591:	89 f0                	mov    %esi,%eax
+    e593:	5b                   	pop    %ebx
+    e594:	5e                   	pop    %esi
+    e595:	5f                   	pop    %edi
+    e596:	5d                   	pop    %ebp
+    e597:	c3                   	ret    
+    e598:	0f b6 43 1c          	movzbl 0x1c(%ebx),%eax
+    e59c:	83 e6 bf             	and    $0xffffffbf,%esi
+    e59f:	81 ce 00 01 00 00    	or     $0x100,%esi
+    e5a5:	83 c8 80             	or     $0xffffff80,%eax
+    e5a8:	88 43 1c             	mov    %al,0x1c(%ebx)
+    e5ab:	eb 9c                	jmp    0xe549
+    e5ad:	8d 76 00             	lea    0x0(%esi),%esi
+    e5b0:	be 08 00 00 00       	mov    $0x8,%esi
+    e5b5:	8b 43 10             	mov    0x10(%ebx),%eax
+    e5b8:	89 04 24             	mov    %eax,(%esp)
+    e5bb:	e8 fc ff ff ff       	call   0xe5bc
+    e5c0:	c7 43 10 00 00 00 00 	movl   $0x0,0x10(%ebx)
+    e5c7:	eb c5                	jmp    0xe58e
+    e5c9:	be 0c 00 00 00       	mov    $0xc,%esi
+    e5ce:	eb be                	jmp    0xe58e
 
 Disassembly of section __libc_freeres_fn:
 
