4020a5:	cc                   	int3
4020a6:	cc                   	int3
4020a7:	cc                   	int3
4020a8:	cc                   	int3
4020a9:	cc                   	int3
4020aa:	cc                   	int3
4020ab:	8b ff                	mov    %edi,%edi
4020ad:	56                   	push   %esi
4020ae:	8b f1                	mov    %ecx,%esi
4020b0:	57                   	push   %edi
4020b1:	8b fa                	mov    %edx,%edi
4020b3:	85 f6                	test   %esi,%esi
4020b5:	75 15                	jne    0x4020cc
4020b7:	33 c0                	xor    %eax,%eax
4020b9:	5f                   	pop    %edi
4020ba:	5e                   	pop    %esi
4020bb:	c3                   	ret
4020bc:	8b d7                	mov    %edi,%edx
4020be:	8b c8                	mov    %eax,%ecx
4020c0:	e8 5a fe ff ff       	call   0x401f1f
4020c5:	85 c0                	test   %eax,%eax
4020c7:	75 0b                	jne    0x4020d4
4020c9:	83 c6 04             	add    $0x4,%esi
4020cc:	8b 06                	mov    (%esi),%eax
4020ce:	85 c0                	test   %eax,%eax
4020d0:	75 ea                	jne    0x4020bc
4020d2:	eb e3                	jmp    0x4020b7
4020d4:	33 c0                	xor    %eax,%eax
4020d6:	40                   	inc    %eax
4020d7:	eb e0                	jmp    0x4020b9
4020d9:	cc                   	int3
4020da:	cc                   	int3
4020db:	cc                   	int3
4020dc:	cc                   	int3
4020dd:	cc                   	int3
4020de:	cc                   	int3
4020df:	8b ff                	mov    %edi,%edi
4020e1:	55                   	push   %ebp
4020e2:	8b ec                	mov    %esp,%ebp
4020e4:	81 ec 30 04 00 00    	sub    $0x430,%esp
4020ea:	a1 b4 71 40 00       	mov    0x4071b4,%eax
4020ef:	33 c5                	xor    %ebp,%eax
4020f1:	89 45 fc             	mov    %eax,-0x4(%ebp)
4020f4:	8b 45 08             	mov    0x8(%ebp),%eax
4020f7:	8b 4d 14             	mov    0x14(%ebp),%ecx
4020fa:	53                   	push   %ebx
4020fb:	89 95 0c fc ff ff    	mov    %edx,-0x3f4(%ebp)
402101:	33 d2                	xor    %edx,%edx
402103:	56                   	push   %esi
402104:	89 85 d8 fb ff ff    	mov    %eax,-0x428(%ebp)
40210a:	83 ce ff             	or     $0xffffffff,%esi
40210d:	8b 45 0c             	mov    0xc(%ebp),%eax
402110:	8b da                	mov    %edx,%ebx
402112:	89 8d d0 fb ff ff    	mov    %ecx,-0x430(%ebp)
402118:	8b 4d 18             	mov    0x18(%ebp),%ecx
40211b:	89 85 04 fc ff ff    	mov    %eax,-0x3fc(%ebp)
402121:	89 8d d4 fb ff ff    	mov    %ecx,-0x42c(%ebp)
402127:	c7 85 14 fc ff ff 02 	movl   $0x2,-0x3ec(%ebp)
40212e:	00 00 00
402131:	89 95 f0 fb ff ff    	mov    %edx,-0x410(%ebp)
402137:	89 95 00 fc ff ff    	mov    %edx,-0x400(%ebp)
40213d:	89 95 f4 fb ff ff    	mov    %edx,-0x40c(%ebp)
402143:	89 9d 10 fc ff ff    	mov    %ebx,-0x3f0(%ebp)
402149:	57                   	push   %edi
40214a:	8b 7d 10             	mov    0x10(%ebp),%edi
40214d:	85 c0                	test   %eax,%eax
40214f:	75 08                	jne    0x402159
402151:	6a 03                	push   $0x3
402153:	58                   	pop    %eax
402154:	e9 77 04 00 00       	jmp    0x4025d0
402159:	33 c9                	xor    %ecx,%ecx
40215b:	6a 0c                	push   $0xc
40215d:	5a                   	pop    %edx
40215e:	f7 e2                	mul    %edx
402160:	0f 90 c1             	seto   %cl
402163:	f7 d9                	neg    %ecx
402165:	0b c8                	or     %eax,%ecx
402167:	51                   	push   %ecx
402168:	e8 51 44 00 00       	call   0x4065be
40216d:	89 85 ec fb ff ff    	mov    %eax,-0x414(%ebp)
402173:	59                   	pop    %ecx
402174:	85 c0                	test   %eax,%eax
402176:	0f 84 4e 04 00 00    	je     0x4025ca
40217c:	8b 8d 04 fc ff ff    	mov    -0x3fc(%ebp),%ecx
402182:	33 d2                	xor    %edx,%edx
402184:	42                   	inc    %edx
402185:	85 c9                	test   %ecx,%ecx
402187:	7e 74                	jle    0x4021fd
402189:	0f ae e8             	lfence
40218c:	8b 07                	mov    (%edi),%eax
40218e:	66 83 38 3d          	cmpw   $0x3d,(%eax)
402192:	0f 85 e3 00 00 00    	jne    0x40227b
402198:	0f ae e8             	lfence
40219b:	8b 07                	mov    (%edi),%eax
40219d:	33 d2                	xor    %edx,%edx
40219f:	83 c0 02             	add    $0x2,%eax
4021a2:	66 39 10             	cmp    %dx,(%eax)
4021a5:	0f 84 cd 00 00 00    	je     0x402278
4021ab:	52                   	push   %edx
4021ac:	ff b5 0c fc ff ff    	push   -0x3f4(%ebp)
4021b2:	8d 8d f4 fb ff ff    	lea    -0x40c(%ebp),%ecx
4021b8:	51                   	push   %ecx
4021b9:	6a 01                	push   $0x1
4021bb:	8d 8d 40 fe ff ff    	lea    -0x1c0(%ebp),%ecx
4021c1:	51                   	push   %ecx
4021c2:	50                   	push   %eax
4021c3:	ff 15 00 81 40 00    	call   *0x408100
4021c9:	85 c0                	test   %eax,%eax
4021cb:	75 0f                	jne    0x4021dc
4021cd:	ff 15 38 80 40 00    	call   *0x408038
4021d3:	83 f8 7a             	cmp    $0x7a,%eax
4021d6:	0f 85 d6 03 00 00    	jne    0x4025b2
4021dc:	39 9d f4 fb ff ff    	cmp    %ebx,-0x40c(%ebp)
4021e2:	0f 84 c2 03 00 00    	je     0x4025aa
4021e8:	8b 8d 04 fc ff ff    	mov    -0x3fc(%ebp),%ecx
4021ee:	33 d2                	xor    %edx,%edx
4021f0:	42                   	inc    %edx
4021f1:	8b da                	mov    %edx,%ebx
4021f3:	89 9d 10 fc ff ff    	mov    %ebx,-0x3f0(%ebp)
4021f9:	3b ca                	cmp    %edx,%ecx
4021fb:	7f 7e                	jg     0x40227b
4021fd:	89 95 00 fc ff ff    	mov    %edx,-0x400(%ebp)
402203:	33 f6                	xor    %esi,%esi
402205:	6b c3 0c             	imul   $0xc,%ebx,%eax
402208:	8b d3                	mov    %ebx,%edx
40220a:	89 95 f8 fb ff ff    	mov    %edx,-0x408(%ebp)
402210:	89 85 08 fc ff ff    	mov    %eax,-0x3f8(%ebp)
402216:	3b d9                	cmp    %ecx,%ebx
402218:	0f 8d ec 01 00 00    	jge    0x40240a
40221e:	8b 8d ec fb ff ff    	mov    -0x414(%ebp),%ecx
402224:	8b df                	mov    %edi,%ebx
402226:	83 c1 08             	add    $0x8,%ecx
402229:	03 c1                	add    %ecx,%eax
40222b:	89 85 fc fb ff ff    	mov    %eax,-0x404(%ebp)
402231:	8b 04 93             	mov    (%ebx,%edx,4),%eax
402234:	89 b5 e8 fb ff ff    	mov    %esi,-0x418(%ebp)
40223a:	89 b5 e4 fb ff ff    	mov    %esi,-0x41c(%ebp)
402240:	89 85 e0 fb ff ff    	mov    %eax,-0x420(%ebp)
402246:	66 83 38 40          	cmpw   $0x40,(%eax)
40224a:	75 17                	jne    0x402263
40224c:	50                   	push   %eax
40224d:	c7 85 e8 fb ff ff 01 	movl   $0x1,-0x418(%ebp)
402254:	00 00 00
402257:	ff 15 5c 81 40 00    	call   *0x40815c
40225d:	89 85 e0 fb ff ff    	mov    %eax,-0x420(%ebp)
402263:	66 83 38 27          	cmpw   $0x27,(%eax)
402267:	75 48                	jne    0x4022b1
402269:	50                   	push   %eax
40226a:	ff 15 5c 81 40 00    	call   *0x40815c
402270:	89 85 e0 fb ff ff    	mov    %eax,-0x420(%ebp)
402276:	eb 4c                	jmp    0x4022c4
402278:	33 d2                	xor    %edx,%edx
40227a:	42                   	inc    %edx
40227b:	0f ae e8             	lfence
40227e:	8b 04 9f             	mov    (%edi,%ebx,4),%eax
402281:	6a 2a                	push   $0x2a
402283:	5e                   	pop    %esi
402284:	66 39 30             	cmp    %si,(%eax)
402287:	0f 85 76 ff ff ff    	jne    0x402203
40228d:	0f ae e8             	lfence
402290:	8b 04 9f             	mov    (%edi,%ebx,4),%eax
402293:	33 f6                	xor    %esi,%esi
402295:	66 39 70 02          	cmp    %si,0x2(%eax)
402299:	0f 85 66 ff ff ff    	jne    0x402205
40229f:	43                   	inc    %ebx
4022a0:	89 95 00 fc ff ff    	mov    %edx,-0x400(%ebp)
4022a6:	89 9d 10 fc ff ff    	mov    %ebx,-0x3f0(%ebp)
4022ac:	e9 54 ff ff ff       	jmp    0x402205
4022b1:	6a 2a                	push   $0x2a
4022b3:	59                   	pop    %ecx
4022b4:	51                   	push   %ecx
4022b5:	50                   	push   %eax
4022b6:	ff 15 d0 81 40 00    	call   *0x4081d0
4022bc:	59                   	pop    %ecx
4022bd:	59                   	pop    %ecx
4022be:	89 85 e4 fb ff ff    	mov    %eax,-0x41c(%ebp)
4022c4:	8b 8d fc fb ff ff    	mov    -0x404(%ebp),%ecx
4022ca:	8d b5 e0 fb ff ff    	lea    -0x420(%ebp),%esi
4022d0:	8d 79 f8             	lea    -0x8(%ecx),%edi
4022d3:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4022d4:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4022d5:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4022d6:	33 f6                	xor    %esi,%esi
4022d8:	39 71 fc             	cmp    %esi,-0x4(%ecx)
4022db:	75 04                	jne    0x4022e1
4022dd:	39 31                	cmp    %esi,(%ecx)
4022df:	75 0b                	jne    0x4022ec
4022e1:	33 c0                	xor    %eax,%eax
4022e3:	40                   	inc    %eax
4022e4:	89 85 f0 fb ff ff    	mov    %eax,-0x410(%ebp)
4022ea:	eb 06                	jmp    0x4022f2
4022ec:	8b 85 f0 fb ff ff    	mov    -0x410(%ebp),%eax
4022f2:	8b 95 f8 fb ff ff    	mov    -0x408(%ebp),%edx
4022f8:	83 c1 0c             	add    $0xc,%ecx
4022fb:	42                   	inc    %edx
4022fc:	89 8d fc fb ff ff    	mov    %ecx,-0x404(%ebp)
402302:	89 95 f8 fb ff ff    	mov    %edx,-0x408(%ebp)
402308:	3b 95 04 fc ff ff    	cmp    -0x3fc(%ebp),%edx
40230e:	0f 8c 1d ff ff ff    	jl     0x402231
402314:	8b 9d 10 fc ff ff    	mov    -0x3f0(%ebp),%ebx
40231a:	85 c0                	test   %eax,%eax
40231c:	0f 84 f4 00 00 00    	je     0x402416
402322:	8b 8d f4 fb ff ff    	mov    -0x40c(%ebp),%ecx
402328:	8b c1                	mov    %ecx,%eax
40232a:	f7 d8                	neg    %eax
40232c:	56                   	push   %esi
40232d:	ff b5 0c fc ff ff    	push   -0x3f4(%ebp)
402333:	1b c0                	sbb    %eax,%eax
402335:	83 e0 fc             	and    $0xfffffffc,%eax
402338:	83 c0 04             	add    $0x4,%eax
40233b:	0b 85 d8 fb ff ff    	or     -0x428(%ebp),%eax
402341:	f7 d9                	neg    %ecx
402343:	56                   	push   %esi
402344:	50                   	push   %eax
402345:	56                   	push   %esi
402346:	1b c9                	sbb    %ecx,%ecx
402348:	8d 85 40 fe ff ff    	lea    -0x1c0(%ebp),%eax
40234e:	56                   	push   %esi
40234f:	23 c8                	and    %eax,%ecx
402351:	51                   	push   %ecx
402352:	ff 15 08 81 40 00    	call   *0x408108
402358:	8b f0                	mov    %eax,%esi
40235a:	83 fe ff             	cmp    $0xffffffff,%esi
40235d:	0f 84 4f 02 00 00    	je     0x4025b2
402363:	8b 85 08 fc ff ff    	mov    -0x3f8(%ebp),%eax
402369:	03 85 ec fb ff ff    	add    -0x414(%ebp),%eax
40236f:	8b 8d 04 fc ff ff    	mov    -0x3fc(%ebp),%ecx
402375:	89 85 fc fb ff ff    	mov    %eax,-0x404(%ebp)
40237b:	3b d9                	cmp    %ecx,%ebx
40237d:	7d 2d                	jge    0x4023ac
40237f:	8b d9                	mov    %ecx,%ebx
402381:	8b f8                	mov    %eax,%edi
402383:	2b 9d 10 fc ff ff    	sub    -0x3f0(%ebp),%ebx
402389:	33 c0                	xor    %eax,%eax
40238b:	39 47 08             	cmp    %eax,0x8(%edi)
40238e:	74 0e                	je     0x40239e
402390:	50                   	push   %eax
402391:	50                   	push   %eax
402392:	50                   	push   %eax
402393:	ff 37                	push   (%edi)
402395:	56                   	push   %esi
402396:	ff 15 1c 81 40 00    	call   *0x40811c
40239c:	33 c0                	xor    %eax,%eax
40239e:	83 c7 0c             	add    $0xc,%edi
4023a1:	83 eb 01             	sub    $0x1,%ebx
4023a4:	75 e5                	jne    0x40238b
4023a6:	8b 9d 10 fc ff ff    	mov    -0x3f0(%ebp),%ebx
4023ac:	8d 85 18 fc ff ff    	lea    -0x3e8(%ebp),%eax
4023b2:	c7 85 18 fc ff ff 26 	movl   $0x226,-0x3e8(%ebp)
4023b9:	02 00 00
4023bc:	50                   	push   %eax
4023bd:	56                   	push   %esi
4023be:	ff 15 0c 81 40 00    	call   *0x40810c
4023c4:	85 c0                	test   %eax,%eax
4023c6:	0f 84 e6 01 00 00    	je     0x4025b2
4023cc:	8b bd 00 fc ff ff    	mov    -0x400(%ebp),%edi
4023d2:	8d 85 50 fe ff ff    	lea    -0x1b0(%ebp),%eax
4023d8:	f7 df                	neg    %edi
4023da:	c7 85 50 fe ff ff 1c 	movl   $0x1c,-0x1b0(%ebp)
4023e1:	00 00 00
4023e4:	50                   	push   %eax
4023e5:	1b ff                	sbb    %edi,%edi
4023e7:	33 c9                	xor    %ecx,%ecx
4023e9:	f7 d7                	not    %edi
4023eb:	89 8d 14 fc ff ff    	mov    %ecx,-0x3ec(%ebp)
4023f1:	23 bd f0 fb ff ff    	and    -0x410(%ebp),%edi
4023f7:	51                   	push   %ecx
4023f8:	56                   	push   %esi
4023f9:	89 bd 00 fc ff ff    	mov    %edi,-0x400(%ebp)
4023ff:	ff 15 14 81 40 00    	call   *0x408114
402405:	e9 98 01 00 00       	jmp    0x4025a2
40240a:	89 85 08 fc ff ff    	mov    %eax,-0x3f8(%ebp)
402410:	89 b5 f0 fb ff ff    	mov    %esi,-0x410(%ebp)
402416:	83 bd 00 fc ff ff 00 	cmpl   $0x0,-0x400(%ebp)
40241d:	0f 85 ff fe ff ff    	jne    0x402322
402423:	8b 85 f4 fb ff ff    	mov    -0x40c(%ebp),%eax
402429:	8d 8d 40 fe ff ff    	lea    -0x1c0(%ebp),%ecx
40242f:	56                   	push   %esi
402430:	ff b5 0c fc ff ff    	push   -0x3f4(%ebp)
402436:	f7 d8                	neg    %eax
402438:	56                   	push   %esi
402439:	1b c0                	sbb    %eax,%eax
40243b:	23 c1                	and    %ecx,%eax
40243d:	50                   	push   %eax
40243e:	ff 15 10 81 40 00    	call   *0x408110
402444:	e9 0f ff ff ff       	jmp    0x402358
402449:	85 ff                	test   %edi,%edi
40244b:	0f 84 01 01 00 00    	je     0x402552
402451:	8b 85 04 fc ff ff    	mov    -0x3fc(%ebp),%eax
402457:	33 c9                	xor    %ecx,%ecx
402459:	89 9d f8 fb ff ff    	mov    %ebx,-0x408(%ebp)
40245f:	8b d9                	mov    %ecx,%ebx
402461:	39 85 10 fc ff ff    	cmp    %eax,-0x3f0(%ebp)
402467:	0f 8d 0d 01 00 00    	jge    0x40257a
40246d:	8b bd fc fb ff ff    	mov    -0x404(%ebp),%edi
402473:	eb 02                	jmp    0x402477
402475:	33 c9                	xor    %ecx,%ecx
402477:	85 db                	test   %ebx,%ebx
402479:	0f 85 d3 00 00 00    	jne    0x402552
40247f:	ff b5 2c fc ff ff    	push   -0x3d4(%ebp)
402485:	8d 85 6c fe ff ff    	lea    -0x194(%ebp),%eax
40248b:	89 8d 08 fc ff ff    	mov    %ecx,-0x3f8(%ebp)
402491:	51                   	push   %ecx
402492:	68 c8 00 00 00       	push   $0xc8
402497:	50                   	push   %eax
402498:	ff b5 64 fe ff ff    	push   -0x19c(%ebp)
40249e:	89 8d 0c fc ff ff    	mov    %ecx,-0x3f4(%ebp)
4024a4:	ff 15 04 81 40 00    	call   *0x408104
4024aa:	85 c0                	test   %eax,%eax
4024ac:	74 09                	je     0x4024b7
4024ae:	33 c0                	xor    %eax,%eax
4024b0:	66 89 85 6c fe ff ff 	mov    %ax,-0x194(%ebp)
4024b7:	33 c0                	xor    %eax,%eax
4024b9:	39 47 08             	cmp    %eax,0x8(%edi)
4024bc:	74 0f                	je     0x4024cd
4024be:	8b d7                	mov    %edi,%edx
4024c0:	8d 8d 6c fe ff ff    	lea    -0x194(%ebp),%ecx
4024c6:	e8 54 fa ff ff       	call   0x401f1f
4024cb:	eb 48                	jmp    0x402515
4024cd:	6a 01                	push   $0x1
4024cf:	8d 95 50 fe ff ff    	lea    -0x1b0(%ebp),%edx
4024d5:	8b ce                	mov    %esi,%ecx
4024d7:	e8 d2 f8 ff ff       	call   0x401dae
4024dc:	6a 02                	push   $0x2
4024de:	8d 95 50 fe ff ff    	lea    -0x1b0(%ebp),%edx
4024e4:	89 85 08 fc ff ff    	mov    %eax,-0x3f8(%ebp)
4024ea:	8b ce                	mov    %esi,%ecx
4024ec:	e8 bd f8 ff ff       	call   0x401dae
4024f1:	8b 8d 08 fc ff ff    	mov    -0x3f8(%ebp),%ecx
4024f7:	8b d7                	mov    %edi,%edx
4024f9:	89 85 0c fc ff ff    	mov    %eax,-0x3f4(%ebp)
4024ff:	e8 a7 fb ff ff       	call   0x4020ab
402504:	85 c0                	test   %eax,%eax
402506:	75 11                	jne    0x402519
402508:	8b 8d 0c fc ff ff    	mov    -0x3f4(%ebp),%ecx
40250e:	8b d7                	mov    %edi,%edx
402510:	e8 96 fb ff ff       	call   0x4020ab
402515:	85 c0                	test   %eax,%eax
402517:	74 03                	je     0x40251c
402519:	33 db                	xor    %ebx,%ebx
40251b:	43                   	inc    %ebx
40251c:	8b 8d 08 fc ff ff    	mov    -0x3f8(%ebp),%ecx
402522:	e8 5f f8 ff ff       	call   0x401d86
402527:	8b 8d 0c fc ff ff    	mov    -0x3f4(%ebp),%ecx
40252d:	e8 54 f8 ff ff       	call   0x401d86
402532:	8b 85 f8 fb ff ff    	mov    -0x408(%ebp),%eax
402538:	83 c7 0c             	add    $0xc,%edi
40253b:	40                   	inc    %eax
40253c:	89 85 f8 fb ff ff    	mov    %eax,-0x408(%ebp)
402542:	3b 85 04 fc ff ff    	cmp    -0x3fc(%ebp),%eax