41005e:	cc                   	int3
41005f:	cc                   	int3
410060:	8b ff                	mov    %edi,%edi
410062:	53                   	push   %ebx
410063:	8b d9                	mov    %ecx,%ebx
410065:	85 db                	test   %ebx,%ebx
410067:	74 10                	je     0x410079
410069:	6a 22                	push   $0x22
41006b:	53                   	push   %ebx
41006c:	ff 15 b0 a3 44 00    	call   *0x44a3b0
410072:	83 c4 08             	add    $0x8,%esp
410075:	85 c0                	test   %eax,%eax
410077:	75 04                	jne    0x41007d
410079:	8b c3                	mov    %ebx,%eax
41007b:	5b                   	pop    %ebx
41007c:	c3                   	ret
41007d:	56                   	push   %esi
41007e:	57                   	push   %edi
41007f:	8b f3                	mov    %ebx,%esi
410081:	b9 00 10 00 00       	mov    $0x1000,%ecx
410086:	33 c0                	xor    %eax,%eax
410088:	bf d0 67 43 00       	mov    $0x4367d0,%edi
41008d:	f3 ab                	rep stos %eax,%es:(%edi)
41008f:	8d 4e 02             	lea    0x2(%esi),%ecx
410092:	66 8b 06             	mov    (%esi),%ax
410095:	83 c6 02             	add    $0x2,%esi
410098:	66 85 c0             	test   %ax,%ax
41009b:	75 f5                	jne    0x410092
41009d:	2b f1                	sub    %ecx,%esi
41009f:	33 d2                	xor    %edx,%edx
4100a1:	d1 fe                	sar    $1,%esi
4100a3:	33 c0                	xor    %eax,%eax
4100a5:	85 f6                	test   %esi,%esi
4100a7:	7e 1e                	jle    0x4100c7
4100a9:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
4100b0:	0f b7 0c 43          	movzwl (%ebx,%eax,2),%ecx
4100b4:	83 f9 22             	cmp    $0x22,%ecx
4100b7:	74 09                	je     0x4100c2
4100b9:	66 89 0c 55 d0 67 43 	mov    %cx,0x4367d0(,%edx,2)
4100c0:	00
4100c1:	42                   	inc    %edx
4100c2:	40                   	inc    %eax
4100c3:	3b c6                	cmp    %esi,%eax
4100c5:	7c e9                	jl     0x4100b0
4100c7:	03 d2                	add    %edx,%edx
4100c9:	5f                   	pop    %edi
4100ca:	5e                   	pop    %esi
4100cb:	81 fa 00 40 00 00    	cmp    $0x4000,%edx
4100d1:	73 10                	jae    0x4100e3
4100d3:	33 c9                	xor    %ecx,%ecx
4100d5:	b8 d0 67 43 00       	mov    $0x4367d0,%eax
4100da:	66 89 8a d0 67 43 00 	mov    %cx,0x4367d0(%edx)
4100e1:	5b                   	pop    %ebx
4100e2:	c3                   	ret
4100e3:	e8 90 6b 00 00       	call   0x416c78
4100e8:	cc                   	int3
4100e9:	8b ff                	mov    %edi,%edi
4100eb:	55                   	push   %ebp
4100ec:	8b ec                	mov    %esp,%ebp
4100ee:	81 ec 18 02 00 00    	sub    $0x218,%esp
4100f4:	a1 b4 e0 42 00       	mov    0x42e0b4,%eax
4100f9:	33 c5                	xor    %ebp,%eax
4100fb:	89 45 fc             	mov    %eax,-0x4(%ebp)
4100fe:	53                   	push   %ebx
4100ff:	56                   	push   %esi
410100:	be 04 01 00 00       	mov    $0x104,%esi
410105:	c6 45 f4 01          	movb   $0x1,-0xc(%ebp)
410109:	33 db                	xor    %ebx,%ebx
41010b:	89 75 f8             	mov    %esi,-0x8(%ebp)
41010e:	56                   	push   %esi
41010f:	8d 85 e8 fd ff ff    	lea    -0x218(%ebp),%eax
410115:	89 5d f0             	mov    %ebx,-0x10(%ebp)
410118:	53                   	push   %ebx
410119:	50                   	push   %eax
41011a:	e8 9e 7e 00 00       	call   0x417fbd
41011f:	33 c0                	xor    %eax,%eax
410121:	8d 8d e8 fd ff ff    	lea    -0x218(%ebp),%ecx
410127:	83 c4 0c             	add    $0xc,%esp
41012a:	38 45 f4             	cmp    %al,-0xc(%ebp)
41012d:	0f 94 c0             	sete   %al
410130:	48                   	dec    %eax
410131:	25 e3 7e 00 00       	and    $0x7ee3,%eax
410136:	03 c6                	add    %esi,%eax
410138:	50                   	push   %eax
410139:	e8 b2 e2 ff ff       	call   0x40e3f0
41013e:	85 c0                	test   %eax,%eax
410140:	0f 88 cf e4 00 00    	js     0x41e615
410146:	8b 45 f0             	mov    -0x10(%ebp),%eax
410149:	85 c0                	test   %eax,%eax
41014b:	0f 84 d6 e4 00 00    	je     0x41e627
410151:	ff 75 f8             	push   -0x8(%ebp)
410154:	50                   	push   %eax
410155:	53                   	push   %ebx
410156:	ff 15 7c a1 44 00    	call   *0x44a17c
41015c:	be 00 25 40 00       	mov    $0x402500,%esi
410161:	8b ce                	mov    %esi,%ecx
410163:	e8 c6 ea ff ff       	call   0x40ec2e
410168:	85 c0                	test   %eax,%eax
41016a:	0f 84 c2 e4 00 00    	je     0x41e632
410170:	be f0 24 40 00       	mov    $0x4024f0,%esi
410175:	8b ce                	mov    %esi,%ecx
410177:	e8 b2 ea ff ff       	call   0x40ec2e
41017c:	85 c0                	test   %eax,%eax
41017e:	0f 84 bf e4 00 00    	je     0x41e643
410184:	be e0 24 40 00       	mov    $0x4024e0,%esi
410189:	8b ce                	mov    %esi,%ecx
41018b:	e8 9e ea ff ff       	call   0x40ec2e
410190:	85 c0                	test   %eax,%eax
410192:	0f 84 bc e4 00 00    	je     0x41e654
410198:	b9 d0 24 40 00       	mov    $0x4024d0,%ecx
41019d:	e8 8c ea ff ff       	call   0x40ec2e
4101a2:	85 c0                	test   %eax,%eax
4101a4:	0f 84 bb e4 00 00    	je     0x41e665
4101aa:	b9 c4 24 40 00       	mov    $0x4024c4,%ecx
4101af:	e8 7a ea ff ff       	call   0x40ec2e
4101b4:	85 c0                	test   %eax,%eax
4101b6:	0f 85 58 e5 00 00    	jne    0x41e714
4101bc:	8b 0d f8 8d 44 00    	mov    0x448df8,%ecx
4101c2:	85 c9                	test   %ecx,%ecx
4101c4:	74 28                	je     0x4101ee
4101c6:	33 d2                	xor    %edx,%edx
4101c8:	42                   	inc    %edx
4101c9:	e8 f9 89 ff ff       	call   0x408bc7
4101ce:	8b 45 f0             	mov    -0x10(%ebp),%eax
4101d1:	89 5d f0             	mov    %ebx,-0x10(%ebp)
4101d4:	5e                   	pop    %esi
4101d5:	5b                   	pop    %ebx
4101d6:	85 c0                	test   %eax,%eax
4101d8:	74 08                	je     0x4101e2
4101da:	50                   	push   %eax
4101db:	ff 15 e0 a3 44 00    	call   *0x44a3e0
4101e1:	59                   	pop    %ecx
4101e2:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4101e5:	33 cd                	xor    %ebp,%ecx
4101e7:	e8 44 69 00 00       	call   0x416b30
4101ec:	c9                   	leave
4101ed:	c3                   	ret
4101ee:	b9 f0 8b 44 00       	mov    $0x448bf0,%ecx
4101f3:	eb d1                	jmp    0x4101c6
4101f5:	85 c9                	test   %ecx,%ecx
4101f7:	74 0b                	je     0x410204
4101f9:	52                   	push   %edx
4101fa:	51                   	push   %ecx
4101fb:	ff 15 04 a4 44 00    	call   *0x44a404
410201:	59                   	pop    %ecx
410202:	59                   	pop    %ecx
410203:	c3                   	ret
410204:	33 c0                	xor    %eax,%eax
410206:	c3                   	ret
410207:	8b ff                	mov    %edi,%edi
410209:	55                   	push   %ebp
41020a:	8b ec                	mov    %esp,%ebp
41020c:	83 e4 f8             	and    $0xfffffff8,%esp
41020f:	81 ec 74 02 00 00    	sub    $0x274,%esp
410215:	a1 b4 e0 42 00       	mov    0x42e0b4,%eax
41021a:	33 c4                	xor    %esp,%eax
41021c:	89 84 24 70 02 00 00 	mov    %eax,0x270(%esp)
410223:	53                   	push   %ebx
410224:	56                   	push   %esi
410225:	8b d9                	mov    %ecx,%ebx
410227:	89 54 24 18          	mov    %edx,0x18(%esp)
41022b:	57                   	push   %edi
41022c:	33 ff                	xor    %edi,%edi
41022e:	89 4c 24 10          	mov    %ecx,0x10(%esp)
410232:	89 7c 24 14          	mov    %edi,0x14(%esp)
410236:	8d 73 02             	lea    0x2(%ebx),%esi
410239:	66 8b 03             	mov    (%ebx),%ax
41023c:	83 c3 02             	add    $0x2,%ebx
41023f:	66 3b c7             	cmp    %di,%ax
410242:	75 f5                	jne    0x410239
410244:	2b de                	sub    %esi,%ebx
410246:	d1 fb                	sar    $1,%ebx
410248:	3b da                	cmp    %edx,%ebx
41024a:	0f 8f 2d 01 00 00    	jg     0x41037d
410250:	8d 79 06             	lea    0x6(%ecx),%edi
410253:	8b f7                	mov    %edi,%esi
410255:	89 74 24 0c          	mov    %esi,0xc(%esp)
410259:	0f b7 07             	movzwl (%edi),%eax
41025c:	89 44 24 20          	mov    %eax,0x20(%esp)
410260:	66 85 c0             	test   %ax,%ax
410263:	74 27                	je     0x41028c
410265:	83 f8 5c             	cmp    $0x5c,%eax
410268:	74 22                	je     0x41028c
41026a:	83 c7 02             	add    $0x2,%edi
41026d:	66 85 c0             	test   %ax,%ax
410270:	75 e7                	jne    0x410259
410272:	33 c0                	xor    %eax,%eax
410274:	40                   	inc    %eax
410275:	8b 8c 24 7c 02 00 00 	mov    0x27c(%esp),%ecx
41027c:	5f                   	pop    %edi
41027d:	5e                   	pop    %esi
41027e:	5b                   	pop    %ebx
41027f:	33 cc                	xor    %esp,%ecx
410281:	e8 aa 68 00 00       	call   0x416b30
410286:	8b e5                	mov    %ebp,%esp
410288:	5d                   	pop    %ebp
410289:	c2 04 00             	ret    $0x4
41028c:	33 c0                	xor    %eax,%eax
41028e:	66 89 07             	mov    %ax,(%edi)
410291:	8d 44 24 28          	lea    0x28(%esp),%eax
410295:	50                   	push   %eax
410296:	51                   	push   %ecx
410297:	ff 15 cc a0 44 00    	call   *0x44a0cc
41029d:	8b c8                	mov    %eax,%ecx
41029f:	8b 44 24 20          	mov    0x20(%esp),%eax
4102a3:	66 89 07             	mov    %ax,(%edi)
4102a6:	83 f9 ff             	cmp    $0xffffffff,%ecx
4102a9:	0f 84 e9 e4 00 00    	je     0x41e798
4102af:	51                   	push   %ecx
4102b0:	ff 15 d8 a0 44 00    	call   *0x44a0d8
4102b6:	66 83 bc 24 5c 02 00 	cmpw   $0x0,0x25c(%esp)
4102bd:	00 00
4102bf:	0f 85 88 00 00 00    	jne    0x41034d
4102c5:	8d 44 24 54          	lea    0x54(%esp),%eax
4102c9:	8b c8                	mov    %eax,%ecx
4102cb:	89 44 24 18          	mov    %eax,0x18(%esp)
4102cf:	8d 51 02             	lea    0x2(%ecx),%edx
4102d2:	66 8b 01             	mov    (%ecx),%ax
4102d5:	83 c1 02             	add    $0x2,%ecx
4102d8:	66 3b 44 24 14       	cmp    0x14(%esp),%ax
4102dd:	75 f3                	jne    0x4102d2
4102df:	2b ca                	sub    %edx,%ecx
4102e1:	8b c7                	mov    %edi,%eax
4102e3:	d1 f9                	sar    $1,%ecx
4102e5:	2b c6                	sub    %esi,%eax
4102e7:	d1 f8                	sar    $1,%eax
4102e9:	8b d1                	mov    %ecx,%edx
4102eb:	2b d0                	sub    %eax,%edx
4102ed:	89 4c 24 24          	mov    %ecx,0x24(%esp)
4102f1:	03 da                	add    %edx,%ebx
4102f3:	3b 5c 24 1c          	cmp    0x1c(%esp),%ebx
4102f7:	0f 8d 80 00 00 00    	jge    0x41037d
4102fd:	85 d2                	test   %edx,%edx
4102ff:	0f 8f 5d e4 00 00    	jg     0x41e762
410305:	8d 34 09             	lea    (%ecx,%ecx,1),%esi
410308:	56                   	push   %esi
410309:	ff 74 24 1c          	push   0x1c(%esp)
41030d:	ff 74 24 14          	push   0x14(%esp)
410311:	e8 26 79 00 00       	call   0x417c3c
410316:	01 74 24 18          	add    %esi,0x18(%esp)
41031a:	83 c4 0c             	add    $0xc,%esp
41031d:	8b 74 24 0c          	mov    0xc(%esp),%esi
410321:	8b c6                	mov    %esi,%eax
410323:	2b 44 24 10          	sub    0x10(%esp),%eax
410327:	8b ce                	mov    %esi,%ecx
410329:	8b 54 24 1c          	mov    0x1c(%esp),%edx
41032d:	d1 f8                	sar    $1,%eax
41032f:	57                   	push   %edi
410330:	2b d0                	sub    %eax,%edx
410332:	e8 69 f0 ff ff       	call   0x40f3a0
410337:	8b 44 24 20          	mov    0x20(%esp),%eax
41033b:	83 c6 02             	add    $0x2,%esi
41033e:	8b fe                	mov    %esi,%edi
410340:	8b 4c 24 10          	mov    0x10(%esp),%ecx
410344:	89 74 24 0c          	mov    %esi,0xc(%esp)
410348:	e9 1d ff ff ff       	jmp    0x41026a
41034d:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
410351:	0f 85 ff e3 00 00    	jne    0x41e756
410357:	8b c7                	mov    %edi,%eax
410359:	2b c6                	sub    %esi,%eax
41035b:	d1 f8                	sar    $1,%eax
41035d:	50                   	push   %eax
41035e:	8d 84 24 60 02 00 00 	lea    0x260(%esp),%eax
410365:	56                   	push   %esi
410366:	50                   	push   %eax
410367:	ff 15 28 a4 44 00    	call   *0x44a428
41036d:	83 c4 0c             	add    $0xc,%esp
410370:	85 c0                	test   %eax,%eax
410372:	0f 85 4d ff ff ff    	jne    0x4102c5
410378:	e9 bc e3 00 00       	jmp    0x41e739
41037d:	33 c0                	xor    %eax,%eax
41037f:	e9 f1 fe ff ff       	jmp    0x410275
410384:	cc                   	int3
410385:	cc                   	int3
410386:	cc                   	int3
410387:	cc                   	int3
410388:	cc                   	int3
410389:	cc                   	int3
41038a:	cc                   	int3
41038b:	cc                   	int3
41038c:	cc                   	int3
41038d:	cc                   	int3
41038e:	cc                   	int3
41038f:	cc                   	int3
410390:	8b ff                	mov    %edi,%edi
410392:	55                   	push   %ebp
410393:	8b ec                	mov    %esp,%ebp
410395:	8b 55 08             	mov    0x8(%ebp),%edx
410398:	33 c9                	xor    %ecx,%ecx
41039a:	8b 52 38             	mov    0x38(%edx),%edx
41039d:	e8 ce e0 ff ff       	call   0x40e470
4103a2:	5d                   	pop    %ebp
4103a3:	c2 04 00             	ret    $0x4
4103a6:	cc                   	int3
4103a7:	cc                   	int3
4103a8:	cc                   	int3
4103a9:	cc                   	int3
4103aa:	cc                   	int3
4103ab:	cc                   	int3
4103ac:	cc                   	int3
4103ad:	cc                   	int3
4103ae:	cc                   	int3
4103af:	cc                   	int3
4103b0:	8b ff                	mov    %edi,%edi
4103b2:	55                   	push   %ebp
4103b3:	8b ec                	mov    %esp,%ebp
4103b5:	83 e4 f8             	and    $0xfffffff8,%esp
4103b8:	51                   	push   %ecx
4103b9:	53                   	push   %ebx
4103ba:	8b 5d 08             	mov    0x8(%ebp),%ebx
4103bd:	33 d2                	xor    %edx,%edx
4103bf:	56                   	push   %esi
4103c0:	57                   	push   %edi
4103c1:	8b 73 3c             	mov    0x3c(%ebx),%esi
4103c4:	8b 06                	mov    (%esi),%eax
4103c6:	83 f8 38             	cmp    $0x38,%eax
4103c9:	74 5f                	je     0x41042a
4103cb:	88 54 24 0f          	mov    %dl,0xf(%esp)
4103cf:	83 f8 35             	cmp    $0x35,%eax
4103d2:	0f 84 ca e3 00 00    	je     0x41e7a2
4103d8:	83 f8 34             	cmp    $0x34,%eax
4103db:	0f 84 c1 e3 00 00    	je     0x41e7a2
4103e1:	6b c0 18             	imul   $0x18,%eax,%eax
4103e4:	56                   	push   %esi
4103e5:	8b b8 84 16 40 00    	mov    0x401684(%eax),%edi
4103eb:	81 ff f0 15 41 00    	cmp    $0x4115f0,%edi
4103f1:	75 23                	jne    0x410416
4103f3:	e8 f8 11 00 00       	call   0x4115f0
4103f8:	85 c0                	test   %eax,%eax
4103fa:	0f 95 c0             	setne  %al
4103fd:	33 c9                	xor    %ecx,%ecx
4103ff:	3a 44 24 0f          	cmp    0xf(%esp),%al
410403:	75 20                	jne    0x410425
410405:	8b 53 48             	mov    0x48(%ebx),%edx
410408:	e8 63 e0 ff ff       	call   0x40e470
41040d:	5f                   	pop    %edi
41040e:	5e                   	pop    %esi
41040f:	5b                   	pop    %ebx
410410:	8b e5                	mov    %ebp,%esp
410412:	5d                   	pop    %ebp
410413:	c2 04 00             	ret    $0x4
410416:	81 ff 60 29 41 00    	cmp    $0x412960,%edi
41041c:	75 1a                	jne    0x410438
41041e:	e8 3d 25 00 00       	call   0x412960
410423:	eb d3                	jmp    0x4103f8
410425:	8b 53 40             	mov    0x40(%ebx),%edx
410428:	eb de                	jmp    0x410408
41042a:	8b 46 3c             	mov    0x3c(%esi),%eax
41042d:	8b f0                	mov    %eax,%esi
41042f:	c6 44 24 0f 01       	movb   $0x1,0xf(%esp)