410022:	8b 43 44             	mov    0x44(%ebx),%eax
410025:	8b d0                	mov    %eax,%edx
410027:	03 d2                	add    %edx,%edx
410029:	03 53 3c             	add    0x3c(%ebx),%edx
41002c:	83 ea 02             	sub    $0x2,%edx
41002f:	0f b7 0a             	movzwl (%edx),%ecx
410032:	89 0c 24             	mov    %ecx,(%esp)
410035:	3b 34 24             	cmp    (%esp),%esi
410038:	77 09                	ja     0x410043
41003a:	66 8b 0c 24          	mov    (%esp),%cx
41003e:	66 2b ce             	sub    %si,%cx
410041:	eb 02                	jmp    0x410045
410043:	33 c9                	xor    %ecx,%ecx
410045:	66 89 0a             	mov    %cx,(%edx)
410048:	48                   	dec    %eax
410049:	75 e1                	jne    0x41002c
41004b:	8b c6                	mov    %esi,%eax
41004d:	8b d0                	mov    %eax,%edx
41004f:	03 d2                	add    %edx,%edx
410051:	03 53 38             	add    0x38(%ebx),%edx
410054:	83 ea 02             	sub    $0x2,%edx
410057:	0f b7 0a             	movzwl (%edx),%ecx
41005a:	89 0c 24             	mov    %ecx,(%esp)
41005d:	3b 34 24             	cmp    (%esp),%esi
410060:	77 09                	ja     0x41006b
410062:	66 8b 0c 24          	mov    (%esp),%cx
410066:	66 2b ce             	sub    %si,%cx
410069:	eb 02                	jmp    0x41006d
41006b:	33 c9                	xor    %ecx,%ecx
41006d:	66 89 0a             	mov    %cx,(%edx)
410070:	48                   	dec    %eax
410071:	75 e1                	jne    0x410054
410073:	03 fe                	add    %esi,%edi
410075:	8b 2b                	mov    (%ebx),%ebp
410077:	83 7d 04 00          	cmpl   $0x0,0x4(%ebp)
41007b:	74 55                	je     0x4100d2
41007d:	8b 53 30             	mov    0x30(%ebx),%edx
410080:	8b cf                	mov    %edi,%ecx
410082:	03 53 64             	add    0x64(%ebx),%edx
410085:	8b c5                	mov    %ebp,%eax
410087:	03 53 6c             	add    0x6c(%ebx),%edx
41008a:	e8 d1 fc ff ff       	call   0x40fd60
41008f:	01 43 6c             	add    %eax,0x6c(%ebx)
410092:	83 7b 6c 03          	cmpl   $0x3,0x6c(%ebx)
410096:	72 25                	jb     0x4100bd
410098:	8b 43 30             	mov    0x30(%ebx),%eax
41009b:	8b 53 64             	mov    0x64(%ebx),%edx
41009e:	0f b6 04 10          	movzbl (%eax,%edx,1),%eax
4100a2:	89 43 40             	mov    %eax,0x40(%ebx)
4100a5:	8b 4b 50             	mov    0x50(%ebx),%ecx
4100a8:	d3 e0                	shl    %cl,%eax
4100aa:	8b 53 30             	mov    0x30(%ebx),%edx
4100ad:	8b 4b 64             	mov    0x64(%ebx),%ecx
4100b0:	0f b6 54 0a 01       	movzbl 0x1(%edx,%ecx,1),%edx
4100b5:	33 c2                	xor    %edx,%eax
4100b7:	23 43 4c             	and    0x4c(%ebx),%eax
4100ba:	89 43 40             	mov    %eax,0x40(%ebx)
4100bd:	81 7b 6c 06 01 00 00 	cmpl   $0x106,0x6c(%ebx)
4100c4:	73 0c                	jae    0x4100d2
4100c6:	8b 03                	mov    (%ebx),%eax
4100c8:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
4100cc:	0f 85 fc fe ff ff    	jne    0x40ffce
4100d2:	5a                   	pop    %edx
4100d3:	5d                   	pop    %ebp
4100d4:	5f                   	pop    %edi
4100d5:	5e                   	pop    %esi
4100d6:	5b                   	pop    %ebx
4100d7:	c3                   	ret
4100d8:	53                   	push   %ebx
4100d9:	8b d8                	mov    %eax,%ebx
4100db:	56                   	push   %esi
4100dc:	51                   	push   %ecx
4100dd:	89 14 24             	mov    %edx,(%esp)
4100e0:	be ff ff 00 00       	mov    $0xffff,%esi
4100e5:	8b 43 0c             	mov    0xc(%ebx),%eax
4100e8:	83 e8 05             	sub    $0x5,%eax
4100eb:	3b f0                	cmp    %eax,%esi
4100ed:	76 02                	jbe    0x4100f1
4100ef:	8b f0                	mov    %eax,%esi
4100f1:	83 7b 6c 01          	cmpl   $0x1,0x6c(%ebx)
4100f5:	77 23                	ja     0x41011a
4100f7:	8b c3                	mov    %ebx,%eax
4100f9:	e8 c6 fe ff ff       	call   0x40ffc4
4100fe:	8b 43 6c             	mov    0x6c(%ebx),%eax
410101:	85 c0                	test   %eax,%eax
410103:	75 0d                	jne    0x410112
410105:	83 3c 24 00          	cmpl   $0x0,(%esp)
410109:	75 07                	jne    0x410112
41010b:	33 c0                	xor    %eax,%eax
41010d:	e9 19 01 00 00       	jmp    0x41022b
410112:	85 c0                	test   %eax,%eax
410114:	0f 84 b1 00 00 00    	je     0x4101cb
41011a:	8b 53 6c             	mov    0x6c(%ebx),%edx
41011d:	33 c9                	xor    %ecx,%ecx
41011f:	01 53 64             	add    %edx,0x64(%ebx)
410122:	89 4b 6c             	mov    %ecx,0x6c(%ebx)
410125:	8b 43 54             	mov    0x54(%ebx),%eax
410128:	8b 53 64             	mov    0x64(%ebx),%edx
41012b:	03 c6                	add    %esi,%eax
41012d:	85 d2                	test   %edx,%edx
41012f:	74 04                	je     0x410135
410131:	3b c2                	cmp    %edx,%eax
410133:	77 43                	ja     0x410178
410135:	2b d0                	sub    %eax,%edx
410137:	89 53 6c             	mov    %edx,0x6c(%ebx)
41013a:	89 43 64             	mov    %eax,0x64(%ebx)
41013d:	6a 00                	push   $0x0
41013f:	8b 4b 64             	mov    0x64(%ebx),%ecx
410142:	2b 4b 54             	sub    0x54(%ebx),%ecx
410145:	83 7b 54 00          	cmpl   $0x0,0x54(%ebx)
410149:	7c 08                	jl     0x410153
41014b:	8b 53 30             	mov    0x30(%ebx),%edx
41014e:	03 53 54             	add    0x54(%ebx),%edx
410151:	eb 02                	jmp    0x410155
410153:	33 d2                	xor    %edx,%edx
410155:	8b c3                	mov    %ebx,%eax
410157:	e8 2c 1c 00 00       	call   0x411d88
41015c:	8b 4b 64             	mov    0x64(%ebx),%ecx
41015f:	89 4b 54             	mov    %ecx,0x54(%ebx)
410162:	8b 03                	mov    (%ebx),%eax
410164:	e8 e7 f6 ff ff       	call   0x40f850
410169:	8b 13                	mov    (%ebx),%edx
41016b:	83 7a 10 00          	cmpl   $0x0,0x10(%edx)
41016f:	75 07                	jne    0x410178
410171:	33 c0                	xor    %eax,%eax
410173:	e9 b3 00 00 00       	jmp    0x41022b
410178:	8b 53 64             	mov    0x64(%ebx),%edx
41017b:	8b 43 54             	mov    0x54(%ebx),%eax
41017e:	2b d0                	sub    %eax,%edx
410180:	8b 4b 24             	mov    0x24(%ebx),%ecx
410183:	81 e9 06 01 00 00    	sub    $0x106,%ecx
410189:	3b d1                	cmp    %ecx,%edx
41018b:	0f 82 60 ff ff ff    	jb     0x4100f1
410191:	6a 00                	push   $0x0
410193:	8b 4b 64             	mov    0x64(%ebx),%ecx
410196:	2b 4b 54             	sub    0x54(%ebx),%ecx
410199:	85 c0                	test   %eax,%eax
41019b:	7c 08                	jl     0x4101a5
41019d:	8b 53 30             	mov    0x30(%ebx),%edx
4101a0:	03 53 54             	add    0x54(%ebx),%edx
4101a3:	eb 02                	jmp    0x4101a7
4101a5:	33 d2                	xor    %edx,%edx
4101a7:	8b c3                	mov    %ebx,%eax
4101a9:	e8 da 1b 00 00       	call   0x411d88
4101ae:	8b 4b 64             	mov    0x64(%ebx),%ecx
4101b1:	89 4b 54             	mov    %ecx,0x54(%ebx)
4101b4:	8b 03                	mov    (%ebx),%eax
4101b6:	e8 95 f6 ff ff       	call   0x40f850
4101bb:	8b 13                	mov    (%ebx),%edx
4101bd:	83 7a 10 00          	cmpl   $0x0,0x10(%edx)
4101c1:	0f 85 2a ff ff ff    	jne    0x4100f1
4101c7:	33 c0                	xor    %eax,%eax
4101c9:	eb 60                	jmp    0x41022b
4101cb:	83 3c 24 04          	cmpl   $0x4,(%esp)
4101cf:	0f 94 c2             	sete   %dl
4101d2:	83 e2 01             	and    $0x1,%edx
4101d5:	52                   	push   %edx
4101d6:	8b 4b 64             	mov    0x64(%ebx),%ecx
4101d9:	2b 4b 54             	sub    0x54(%ebx),%ecx
4101dc:	83 7b 54 00          	cmpl   $0x0,0x54(%ebx)
4101e0:	7c 08                	jl     0x4101ea
4101e2:	8b 53 30             	mov    0x30(%ebx),%edx
4101e5:	03 53 54             	add    0x54(%ebx),%edx
4101e8:	eb 02                	jmp    0x4101ec
4101ea:	33 d2                	xor    %edx,%edx
4101ec:	8b c3                	mov    %ebx,%eax
4101ee:	e8 95 1b 00 00       	call   0x411d88
4101f3:	8b 4b 64             	mov    0x64(%ebx),%ecx
4101f6:	89 4b 54             	mov    %ecx,0x54(%ebx)
4101f9:	8b 03                	mov    (%ebx),%eax
4101fb:	e8 50 f6 ff ff       	call   0x40f850
410200:	8b 13                	mov    (%ebx),%edx
410202:	83 7a 10 00          	cmpl   $0x0,0x10(%edx)
410206:	75 11                	jne    0x410219
410208:	83 3c 24 04          	cmpl   $0x4,(%esp)
41020c:	75 07                	jne    0x410215
41020e:	b8 02 00 00 00       	mov    $0x2,%eax
410213:	eb 16                	jmp    0x41022b
410215:	33 c0                	xor    %eax,%eax
410217:	eb 12                	jmp    0x41022b
410219:	83 3c 24 04          	cmpl   $0x4,(%esp)
41021d:	75 07                	jne    0x410226
41021f:	b8 03 00 00 00       	mov    $0x3,%eax
410224:	eb 05                	jmp    0x41022b
410226:	b8 01 00 00 00       	mov    $0x1,%eax
41022b:	5a                   	pop    %edx
41022c:	5e                   	pop    %esi
41022d:	5b                   	pop    %ebx
41022e:	c3                   	ret
41022f:	90                   	nop
410230:	53                   	push   %ebx
410231:	56                   	push   %esi
410232:	57                   	push   %edi
410233:	51                   	push   %ecx
410234:	89 14 24             	mov    %edx,(%esp)
410237:	8b d8                	mov    %eax,%ebx
410239:	33 f6                	xor    %esi,%esi
41023b:	81 7b 6c 06 01 00 00 	cmpl   $0x106,0x6c(%ebx)
410242:	73 26                	jae    0x41026a
410244:	8b c3                	mov    %ebx,%eax
410246:	e8 79 fd ff ff       	call   0x40ffc4
41024b:	8b 43 6c             	mov    0x6c(%ebx),%eax
41024e:	3d 06 01 00 00       	cmp    $0x106,%eax
410253:	73 0d                	jae    0x410262
410255:	83 3c 24 00          	cmpl   $0x0,(%esp)
410259:	75 07                	jne    0x410262
41025b:	33 c0                	xor    %eax,%eax
41025d:	e9 95 02 00 00       	jmp    0x4104f7
410262:	85 c0                	test   %eax,%eax
410264:	0f 84 2d 02 00 00    	je     0x410497
41026a:	83 7b 6c 03          	cmpl   $0x3,0x6c(%ebx)
41026e:	72 3d                	jb     0x4102ad
410270:	8b 4b 50             	mov    0x50(%ebx),%ecx
410273:	8b 43 40             	mov    0x40(%ebx),%eax
410276:	d3 e0                	shl    %cl,%eax
410278:	8b 53 30             	mov    0x30(%ebx),%edx
41027b:	8b 4b 64             	mov    0x64(%ebx),%ecx
41027e:	0f b6 54 0a 02       	movzbl 0x2(%edx,%ecx,1),%edx
410283:	33 c2                	xor    %edx,%eax
410285:	23 43 4c             	and    0x4c(%ebx),%eax
410288:	89 43 40             	mov    %eax,0x40(%ebx)
41028b:	8b 4b 3c             	mov    0x3c(%ebx),%ecx
41028e:	0f b7 34 41          	movzwl (%ecx,%eax,2),%esi
410292:	8b 43 64             	mov    0x64(%ebx),%eax
410295:	23 43 2c             	and    0x2c(%ebx),%eax
410298:	8b 53 38             	mov    0x38(%ebx),%edx
41029b:	66 89 34 42          	mov    %si,(%edx,%eax,2)
41029f:	8b 4b 3c             	mov    0x3c(%ebx),%ecx
4102a2:	8b 43 40             	mov    0x40(%ebx),%eax
4102a5:	66 8b 53 64          	mov    0x64(%ebx),%dx
4102a9:	66 89 14 41          	mov    %dx,(%ecx,%eax,2)
4102ad:	85 f6                	test   %esi,%esi
4102af:	74 26                	je     0x4102d7
4102b1:	8b 4b 64             	mov    0x64(%ebx),%ecx
4102b4:	8b 43 24             	mov    0x24(%ebx),%eax
4102b7:	2d 06 01 00 00       	sub    $0x106,%eax
4102bc:	2b ce                	sub    %esi,%ecx
4102be:	3b c8                	cmp    %eax,%ecx
4102c0:	77 15                	ja     0x4102d7
4102c2:	83 bb 80 00 00 00 02 	cmpl   $0x2,0x80(%ebx)
4102c9:	74 0c                	je     0x4102d7
4102cb:	8b d6                	mov    %esi,%edx
4102cd:	8b c3                	mov    %ebx,%eax
4102cf:	e8 78 fb ff ff       	call   0x40fe4c
4102d4:	89 43 58             	mov    %eax,0x58(%ebx)
4102d7:	83 7b 58 03          	cmpl   $0x3,0x58(%ebx)
4102db:	0f 82 1c 01 00 00    	jb     0x4103fd
4102e1:	66 8b 43 64          	mov    0x64(%ebx),%ax
4102e5:	8b 8b 9c 16 00 00    	mov    0x169c(%ebx),%ecx
4102eb:	66 2b 43 68          	sub    0x68(%ebx),%ax
4102ef:	8b bb 98 16 00 00    	mov    0x1698(%ebx),%edi
4102f5:	8a 53 58             	mov    0x58(%ebx),%dl
4102f8:	66 89 04 79          	mov    %ax,(%ecx,%edi,2)
4102fc:	80 ea 03             	sub    $0x3,%dl
4102ff:	8b 8b 98 16 00 00    	mov    0x1698(%ebx),%ecx
410305:	48                   	dec    %eax
410306:	ff 83 98 16 00 00    	incl   0x1698(%ebx)
41030c:	8b bb 90 16 00 00    	mov    0x1690(%ebx),%edi
410312:	88 14 0f             	mov    %dl,(%edi,%ecx,1)
410315:	81 e2 ff 00 00 00    	and    $0xff,%edx
41031b:	33 c9                	xor    %ecx,%ecx
41031d:	8a 8a b8 6d 42 00    	mov    0x426db8(%edx),%cl
410323:	66 ff 84 8b 90 04 00 	incw   0x490(%ebx,%ecx,4)
41032a:	00
41032b:	66 3d 00 01          	cmp    $0x100,%ax
41032f:	73 0b                	jae    0x41033c
410331:	0f b7 d0             	movzwl %ax,%edx
410334:	8a 8a b8 6b 42 00    	mov    0x426bb8(%edx),%cl
41033a:	eb 0c                	jmp    0x410348
41033c:	0f b7 c0             	movzwl %ax,%eax
41033f:	c1 f8 07             	sar    $0x7,%eax
410342:	8a 88 b8 6c 42 00    	mov    0x426cb8(%eax),%cl
410348:	33 c0                	xor    %eax,%eax
41034a:	8a c1                	mov    %cl,%al
41034c:	66 ff 84 83 80 09 00 	incw   0x980(%ebx,%eax,4)
410353:	00
410354:	8b 93 94 16 00 00    	mov    0x1694(%ebx),%edx
41035a:	4a                   	dec    %edx
41035b:	3b 93 98 16 00 00    	cmp    0x1698(%ebx),%edx
410361:	0f 94 c0             	sete   %al
410364:	83 e0 01             	and    $0x1,%eax
410367:	8b 53 58             	mov    0x58(%ebx),%edx
41036a:	29 53 6c             	sub    %edx,0x6c(%ebx)
41036d:	8b 4b 58             	mov    0x58(%ebx),%ecx
410370:	3b 4b 78             	cmp    0x78(%ebx),%ecx
410373:	77 56                	ja     0x4103cb
410375:	83 7b 6c 03          	cmpl   $0x3,0x6c(%ebx)
410379:	72 50                	jb     0x4103cb
41037b:	ff 4b 58             	decl   0x58(%ebx)
41037e:	ff 43 64             	incl   0x64(%ebx)
410381:	8b 4b 50             	mov    0x50(%ebx),%ecx
410384:	8b 53 40             	mov    0x40(%ebx),%edx
410387:	d3 e2                	shl    %cl,%edx
410389:	8b 4b 30             	mov    0x30(%ebx),%ecx
41038c:	8b 73 64             	mov    0x64(%ebx),%esi
41038f:	0f b6 4c 31 02       	movzbl 0x2(%ecx,%esi,1),%ecx
410394:	33 d1                	xor    %ecx,%edx
410396:	23 53 4c             	and    0x4c(%ebx),%edx
410399:	89 53 40             	mov    %edx,0x40(%ebx)
41039c:	8b 4b 3c             	mov    0x3c(%ebx),%ecx
41039f:	0f b7 34 51          	movzwl (%ecx,%edx,2),%esi
4103a3:	8b 53 64             	mov    0x64(%ebx),%edx
4103a6:	23 53 2c             	and    0x2c(%ebx),%edx
4103a9:	8b 4b 38             	mov    0x38(%ebx),%ecx
4103ac:	66 89 34 51          	mov    %si,(%ecx,%edx,2)
4103b0:	8b 53 3c             	mov    0x3c(%ebx),%edx
4103b3:	8b 4b 40             	mov    0x40(%ebx),%ecx
4103b6:	66 8b 7b 64          	mov    0x64(%ebx),%di
4103ba:	66 89 3c 4a          	mov    %di,(%edx,%ecx,2)
4103be:	ff 4b 58             	decl   0x58(%ebx)
4103c1:	75 bb                	jne    0x41037e
4103c3:	ff 43 64             	incl   0x64(%ebx)
4103c6:	e9 88 00 00 00       	jmp    0x410453
4103cb:	8b 53 58             	mov    0x58(%ebx),%edx
4103ce:	33 c9                	xor    %ecx,%ecx
4103d0:	01 53 64             	add    %edx,0x64(%ebx)
4103d3:	89 4b 58             	mov    %ecx,0x58(%ebx)
4103d6:	8b 4b 64             	mov    0x64(%ebx),%ecx
4103d9:	8b 53 30             	mov    0x30(%ebx),%edx
4103dc:	0f b6 14 0a          	movzbl (%edx,%ecx,1),%edx
4103e0:	89 53 40             	mov    %edx,0x40(%ebx)
4103e3:	8b 4b 50             	mov    0x50(%ebx),%ecx
4103e6:	8b 7b 64             	mov    0x64(%ebx),%edi
4103e9:	d3 e2                	shl    %cl,%edx
4103eb:	8b 4b 30             	mov    0x30(%ebx),%ecx
4103ee:	0f b6 4c 39 01       	movzbl 0x1(%ecx,%edi,1),%ecx
4103f3:	33 d1                	xor    %ecx,%edx
4103f5:	23 53 4c             	and    0x4c(%ebx),%edx
4103f8:	89 53 40             	mov    %edx,0x40(%ebx)
4103fb:	eb 56                	jmp    0x410453
4103fd:	8b 43 30             	mov    0x30(%ebx),%eax
410400:	8b 53 64             	mov    0x64(%ebx),%edx
410403:	8a 04 10             	mov    (%eax,%edx,1),%al
410406:	8b 93 9c 16 00 00    	mov    0x169c(%ebx),%edx
41040c:	8b 8b 98 16 00 00    	mov    0x1698(%ebx),%ecx
410412:	66 c7 04 4a 00 00    	movw   $0x0,(%edx,%ecx,2)
410418:	8b 93 98 16 00 00    	mov    0x1698(%ebx),%edx
41041e:	ff 83 98 16 00 00    	incl   0x1698(%ebx)
410424:	8b 8b 90 16 00 00    	mov    0x1690(%ebx),%ecx
41042a:	88 04 11             	mov    %al,(%ecx,%edx,1)
41042d:	25 ff 00 00 00       	and    $0xff,%eax
410432:	66 ff 84 83 8c 00 00 	incw   0x8c(%ebx,%eax,4)
410439:	00
41043a:	8b 83 94 16 00 00    	mov    0x1694(%ebx),%eax
410440:	48                   	dec    %eax
410441:	3b 83 98 16 00 00    	cmp    0x1698(%ebx),%eax
410447:	0f 94 c0             	sete   %al
41044a:	83 e0 01             	and    $0x1,%eax
41044d:	ff 4b 6c             	decl   0x6c(%ebx)
410450:	ff 43 64             	incl   0x64(%ebx)