403551:	ff 36                	push   (%esi)
403553:	68 d4 11 40 00       	push   $0x4011d4
403558:	ff 15 bc 81 40 00    	call   *0x4081bc
40355e:	8d 76 04             	lea    0x4(%esi),%esi
403561:	83 3e 00             	cmpl   $0x0,(%esi)
403564:	59                   	pop    %ecx
403565:	59                   	pop    %ecx
403566:	75 e2                	jne    0x40354a
403568:	33 c0                	xor    %eax,%eax
40356a:	40                   	inc    %eax
40356b:	eb 02                	jmp    0x40356f
40356d:	33 c0                	xor    %eax,%eax
40356f:	5f                   	pop    %edi
403570:	5e                   	pop    %esi
403571:	c3                   	ret
403572:	cc                   	int3
403573:	cc                   	int3
403574:	cc                   	int3
403575:	cc                   	int3
403576:	cc                   	int3
403577:	cc                   	int3
403578:	8b ff                	mov    %edi,%edi
40357a:	53                   	push   %ebx
40357b:	56                   	push   %esi
40357c:	57                   	push   %edi
40357d:	6a 01                	push   $0x1
40357f:	8b f2                	mov    %edx,%esi
403581:	8b f9                	mov    %ecx,%edi
403583:	e8 26 e8 ff ff       	call   0x401dae
403588:	6a 02                	push   $0x2
40358a:	8b d6                	mov    %esi,%edx
40358c:	8b cf                	mov    %edi,%ecx
40358e:	8b d8                	mov    %eax,%ebx
403590:	e8 19 e8 ff ff       	call   0x401dae
403595:	33 ff                	xor    %edi,%edi
403597:	8b f0                	mov    %eax,%esi
403599:	85 db                	test   %ebx,%ebx
40359b:	74 2c                	je     0x4035c9
40359d:	39 3b                	cmp    %edi,(%ebx)
40359f:	74 28                	je     0x4035c9
4035a1:	33 c9                	xor    %ecx,%ecx
4035a3:	47                   	inc    %edi
4035a4:	41                   	inc    %ecx
4035a5:	e8 c8 e4 ff ff       	call   0x401a72
4035aa:	68 f4 ed 00 00       	push   $0xedf4
4035af:	6a 01                	push   $0x1
4035b1:	e8 c3 38 00 00       	call   0x406e79
4035b6:	59                   	pop    %ecx
4035b7:	50                   	push   %eax
4035b8:	e8 20 e4 ff ff       	call   0x4019dd
4035bd:	59                   	pop    %ecx
4035be:	59                   	pop    %ecx
4035bf:	6a 02                	push   $0x2
4035c1:	8b d3                	mov    %ebx,%edx
4035c3:	59                   	pop    %ecx
4035c4:	e8 70 ff ff ff       	call   0x403539
4035c9:	85 f6                	test   %esi,%esi
4035cb:	74 2e                	je     0x4035fb
4035cd:	83 3e 00             	cmpl   $0x0,(%esi)
4035d0:	74 29                	je     0x4035fb
4035d2:	33 c9                	xor    %ecx,%ecx
4035d4:	41                   	inc    %ecx
4035d5:	e8 98 e4 ff ff       	call   0x401a72
4035da:	68 f5 ed 00 00       	push   $0xedf5
4035df:	6a 01                	push   $0x1
4035e1:	e8 93 38 00 00       	call   0x406e79
4035e6:	59                   	pop    %ecx
4035e7:	50                   	push   %eax
4035e8:	e8 f0 e3 ff ff       	call   0x4019dd
4035ed:	59                   	pop    %ecx
4035ee:	59                   	pop    %ecx
4035ef:	6a 02                	push   $0x2
4035f1:	8b d6                	mov    %esi,%edx
4035f3:	59                   	pop    %ecx
4035f4:	e8 40 ff ff ff       	call   0x403539
4035f9:	eb 21                	jmp    0x40361c
4035fb:	85 ff                	test   %edi,%edi
4035fd:	75 1d                	jne    0x40361c
4035ff:	33 c9                	xor    %ecx,%ecx
403601:	41                   	inc    %ecx
403602:	e8 6b e4 ff ff       	call   0x401a72
403607:	68 f6 ed 00 00       	push   $0xedf6
40360c:	6a 01                	push   $0x1
40360e:	e8 66 38 00 00       	call   0x406e79
403613:	59                   	pop    %ecx
403614:	50                   	push   %eax
403615:	e8 c3 e3 ff ff       	call   0x4019dd
40361a:	59                   	pop    %ecx
40361b:	59                   	pop    %ecx
40361c:	8b cb                	mov    %ebx,%ecx
40361e:	e8 63 e7 ff ff       	call   0x401d86
403623:	8b ce                	mov    %esi,%ecx
403625:	e8 5c e7 ff ff       	call   0x401d86
40362a:	5f                   	pop    %edi
40362b:	33 c0                	xor    %eax,%eax
40362d:	5e                   	pop    %esi
40362e:	40                   	inc    %eax
40362f:	5b                   	pop    %ebx
403630:	c3                   	ret
403631:	cc                   	int3
403632:	cc                   	int3
403633:	cc                   	int3
403634:	cc                   	int3
403635:	cc                   	int3
403636:	cc                   	int3
403637:	8b ff                	mov    %edi,%edi
403639:	55                   	push   %ebp
40363a:	8b ec                	mov    %esp,%ebp
40363c:	83 e4 f8             	and    $0xfffffff8,%esp
40363f:	b8 bc 10 00 00       	mov    $0x10bc,%eax
403644:	e8 57 38 00 00       	call   0x406ea0
403649:	a1 b4 71 40 00       	mov    0x4071b4,%eax
40364e:	33 c4                	xor    %esp,%eax
403650:	89 84 24 b8 10 00 00 	mov    %eax,0x10b8(%esp)
403657:	53                   	push   %ebx
403658:	56                   	push   %esi
403659:	57                   	push   %edi
40365a:	68 28 02 00 00       	push   $0x228
40365f:	33 ff                	xor    %edi,%edi
403661:	8d 44 24 48          	lea    0x48(%esp),%eax
403665:	8b f2                	mov    %edx,%esi
403667:	8b d9                	mov    %ecx,%ebx
403669:	57                   	push   %edi
40366a:	50                   	push   %eax
40366b:	89 74 24 24          	mov    %esi,0x24(%esp)
40366f:	e8 5d 38 00 00       	call   0x406ed1
403674:	68 18 06 00 00       	push   $0x618
403679:	8d 84 24 84 02 00 00 	lea    0x284(%esp),%eax
403680:	57                   	push   %edi
403681:	50                   	push   %eax
403682:	e8 4a 38 00 00       	call   0x406ed1
403687:	83 c4 18             	add    $0x18,%esp
40368a:	c7 84 24 70 02 00 00 	movl   $0x61c,0x270(%esp)
403691:	1c 06 00 00
403695:	8d 44 24 40          	lea    0x40(%esp),%eax
403699:	c7 44 24 40 2c 02 00 	movl   $0x22c,0x40(%esp)
4036a0:	00
4036a1:	50                   	push   %eax
4036a2:	56                   	push   %esi
4036a3:	53                   	push   %ebx
4036a4:	ff 15 48 81 40 00    	call   *0x408148
4036aa:	85 c0                	test   %eax,%eax
4036ac:	0f 84 76 03 00 00    	je     0x403a28
4036b2:	81 4c 24 48 00 08 00 	orl    $0x800,0x48(%esp)
4036b9:	00
4036ba:	8d 44 24 40          	lea    0x40(%esp),%eax
4036be:	50                   	push   %eax
4036bf:	56                   	push   %esi
4036c0:	53                   	push   %ebx
4036c1:	ff 15 dc 80 40 00    	call   *0x4080dc
4036c7:	85 c0                	test   %eax,%eax
4036c9:	0f 84 59 03 00 00    	je     0x403a28
4036cf:	6a 02                	push   $0x2
4036d1:	56                   	push   %esi
4036d2:	53                   	push   %ebx
4036d3:	ff 15 f0 80 40 00    	call   *0x4080f0
4036d9:	85 c0                	test   %eax,%eax
4036db:	0f 84 26 03 00 00    	je     0x403a07
4036e1:	21 7c 24 10          	and    %edi,0x10(%esp)
4036e5:	8d 84 24 70 02 00 00 	lea    0x270(%esp),%eax
4036ec:	50                   	push   %eax
4036ed:	57                   	push   %edi
4036ee:	6a 02                	push   $0x2
4036f0:	56                   	push   %esi
4036f1:	53                   	push   %ebx
4036f2:	ff 15 4c 81 40 00    	call   *0x40814c
4036f8:	85 c0                	test   %eax,%eax
4036fa:	0f 84 f9 02 00 00    	je     0x4039f9
403700:	47                   	inc    %edi
403701:	89 7c 24 14          	mov    %edi,0x14(%esp)
403705:	ff 74 24 10          	push   0x10(%esp)
403709:	68 f8 ed 00 00       	push   $0xedf8
40370e:	57                   	push   %edi
40370f:	e8 65 37 00 00       	call   0x406e79
403714:	59                   	pop    %ecx
403715:	50                   	push   %eax
403716:	e8 c2 e2 ff ff       	call   0x4019dd
40371b:	83 c4 0c             	add    $0xc,%esp
40371e:	b8 22 06 00 00       	mov    $0x622,%eax
403723:	89 84 24 90 08 00 00 	mov    %eax,0x890(%esp)
40372a:	6a 00                	push   $0x0
40372c:	50                   	push   %eax
40372d:	8d 84 24 98 08 00 00 	lea    0x898(%esp),%eax
403734:	50                   	push   %eax
403735:	8d 84 24 7c 02 00 00 	lea    0x27c(%esp),%eax
40373c:	50                   	push   %eax
40373d:	56                   	push   %esi
40373e:	53                   	push   %ebx
40373f:	ff 15 f8 80 40 00    	call   *0x4080f8
403745:	85 c0                	test   %eax,%eax
403747:	75 0b                	jne    0x403754
403749:	ff 15 38 80 40 00    	call   *0x408038
40374f:	83 f8 7a             	cmp    $0x7a,%eax
403752:	75 48                	jne    0x40379c
403754:	8b cf                	mov    %edi,%ecx
403756:	e8 17 e3 ff ff       	call   0x401a72
40375b:	8d 84 24 a8 0a 00 00 	lea    0xaa8(%esp),%eax
403762:	50                   	push   %eax
403763:	68 f9 ed 00 00       	push   $0xedf9
403768:	57                   	push   %edi
403769:	e8 0b 37 00 00       	call   0x406e79
40376e:	59                   	pop    %ecx
40376f:	50                   	push   %eax
403770:	e8 68 e2 ff ff       	call   0x4019dd
403775:	83 c4 0c             	add    $0xc,%esp
403778:	8b cf                	mov    %edi,%ecx
40377a:	e8 f3 e2 ff ff       	call   0x401a72
40377f:	8d 84 24 a8 08 00 00 	lea    0x8a8(%esp),%eax
403786:	50                   	push   %eax
403787:	68 fa ed 00 00       	push   $0xedfa
40378c:	57                   	push   %edi
40378d:	e8 e7 36 00 00       	call   0x406e79
403792:	59                   	pop    %ecx
403793:	50                   	push   %eax
403794:	e8 44 e2 ff ff       	call   0x4019dd
403799:	83 c4 0c             	add    $0xc,%esp
40379c:	8b cf                	mov    %edi,%ecx
40379e:	e8 cf e2 ff ff       	call   0x401a72
4037a3:	8d 84 24 7c 02 00 00 	lea    0x27c(%esp),%eax
4037aa:	50                   	push   %eax
4037ab:	68 fb ed 00 00       	push   $0xedfb
4037b0:	57                   	push   %edi
4037b1:	e8 c3 36 00 00       	call   0x406e79
4037b6:	59                   	pop    %ecx
4037b7:	50                   	push   %eax
4037b8:	e8 20 e2 ff ff       	call   0x4019dd
4037bd:	83 c4 0c             	add    $0xc,%esp
4037c0:	8b cf                	mov    %edi,%ecx
4037c2:	e8 ab e2 ff ff       	call   0x401a72
4037c7:	8d 84 24 7c 04 00 00 	lea    0x47c(%esp),%eax
4037ce:	50                   	push   %eax
4037cf:	68 fc ed 00 00       	push   $0xedfc
4037d4:	57                   	push   %edi
4037d5:	e8 9f 36 00 00       	call   0x406e79
4037da:	59                   	pop    %ecx
4037db:	50                   	push   %eax
4037dc:	e8 fc e1 ff ff       	call   0x4019dd
4037e1:	83 c4 0c             	add    $0xc,%esp
4037e4:	8b cf                	mov    %edi,%ecx
4037e6:	e8 87 e2 ff ff       	call   0x401a72
4037eb:	8d 84 24 7c 06 00 00 	lea    0x67c(%esp),%eax
4037f2:	50                   	push   %eax
4037f3:	68 fd ed 00 00       	push   $0xedfd
4037f8:	57                   	push   %edi
4037f9:	e8 7b 36 00 00       	call   0x406e79
4037fe:	59                   	pop    %ecx
4037ff:	50                   	push   %eax
403800:	e8 d8 e1 ff ff       	call   0x4019dd
403805:	83 c4 0c             	add    $0xc,%esp
403808:	8d 44 24 30          	lea    0x30(%esp),%eax
40380c:	50                   	push   %eax
40380d:	8d 84 24 80 08 00 00 	lea    0x880(%esp),%eax
403814:	50                   	push   %eax
403815:	ff 15 44 80 40 00    	call   *0x408044
40381b:	85 c0                	test   %eax,%eax
40381d:	74 48                	je     0x403867
40381f:	68 04 01 00 00       	push   $0x104
403824:	8d 84 24 bc 0e 00 00 	lea    0xebc(%esp),%eax
40382b:	50                   	push   %eax
40382c:	6a 00                	push   $0x0
40382e:	8d 44 24 3c          	lea    0x3c(%esp),%eax
403832:	50                   	push   %eax
403833:	57                   	push   %edi
403834:	68 00 04 00 00       	push   $0x400
403839:	ff 15 54 80 40 00    	call   *0x408054
40383f:	85 c0                	test   %eax,%eax
403841:	74 24                	je     0x403867
403843:	8b cf                	mov    %edi,%ecx
403845:	e8 28 e2 ff ff       	call   0x401a72
40384a:	8d 84 24 b8 0e 00 00 	lea    0xeb8(%esp),%eax
403851:	50                   	push   %eax
403852:	68 fe ed 00 00       	push   $0xedfe
403857:	57                   	push   %edi
403858:	e8 1c 36 00 00       	call   0x406e79
40385d:	59                   	pop    %ecx
40385e:	50                   	push   %eax
40385f:	e8 79 e1 ff ff       	call   0x4019dd
403864:	83 c4 0c             	add    $0xc,%esp
403867:	8b b4 24 84 08 00 00 	mov    0x884(%esp),%esi
40386e:	33 c9                	xor    %ecx,%ecx
403870:	8b bc 24 88 08 00 00 	mov    0x888(%esp),%edi
403877:	41                   	inc    %ecx
403878:	e8 f5 e1 ff ff       	call   0x401a72
40387d:	0f b7 c6             	movzwl %si,%eax
403880:	50                   	push   %eax
403881:	0f b7 c7             	movzwl %di,%eax
403884:	c1 ee 10             	shr    $0x10,%esi
403887:	56                   	push   %esi
403888:	50                   	push   %eax
403889:	c1 ef 10             	shr    $0x10,%edi
40388c:	57                   	push   %edi
40388d:	33 ff                	xor    %edi,%edi
40388f:	68 ff ed 00 00       	push   $0xedff
403894:	47                   	inc    %edi
403895:	57                   	push   %edi
403896:	e8 de 35 00 00       	call   0x406e79
40389b:	59                   	pop    %ecx
40389c:	50                   	push   %eax
40389d:	e8 3b e1 ff ff       	call   0x4019dd
4038a2:	8b 74 24 30          	mov    0x30(%esp),%esi
4038a6:	8d 44 24 34          	lea    0x34(%esp),%eax
4038aa:	83 c4 18             	add    $0x18,%esp
4038ad:	c7 44 24 1c 14 00 00 	movl   $0x14,0x1c(%esp)
4038b4:	00
4038b5:	50                   	push   %eax
4038b6:	8d 84 24 74 02 00 00 	lea    0x274(%esp),%eax
4038bd:	50                   	push   %eax
4038be:	56                   	push   %esi
4038bf:	53                   	push   %ebx
4038c0:	ff 15 cc 80 40 00    	call   *0x4080cc
4038c6:	85 c0                	test   %eax,%eax
4038c8:	0f 84 03 01 00 00    	je     0x4039d1
4038ce:	8b cf                	mov    %edi,%ecx
4038d0:	e8 9d e1 ff ff       	call   0x401a72
4038d5:	ff 74 24 20          	push   0x20(%esp)
4038d9:	68 00 ee 00 00       	push   $0xee00
4038de:	57                   	push   %edi
4038df:	e8 95 35 00 00       	call   0x406e79
4038e4:	59                   	pop    %ecx
4038e5:	50                   	push   %eax
4038e6:	e8 f2 e0 ff ff       	call   0x4019dd
4038eb:	83 c4 0c             	add    $0xc,%esp
4038ee:	8b cf                	mov    %edi,%ecx
4038f0:	e8 7d e1 ff ff       	call   0x401a72
4038f5:	ff 74 24 24          	push   0x24(%esp)
4038f9:	68 01 ee 00 00       	push   $0xee01
4038fe:	57                   	push   %edi
4038ff:	e8 75 35 00 00       	call   0x406e79
403904:	59                   	pop    %ecx
403905:	50                   	push   %eax
403906:	e8 d2 e0 ff ff       	call   0x4019dd
40390b:	8b 44 24 30          	mov    0x30(%esp),%eax
40390f:	83 c4 0c             	add    $0xc,%esp
403912:	a9 00 04 00 00       	test   $0x400,%eax
403917:	74 20                	je     0x403939
403919:	6a 02                	push   $0x2
40391b:	59                   	pop    %ecx
40391c:	e8 51 e1 ff ff       	call   0x401a72
403921:	68 02 ee 00 00       	push   $0xee02
403926:	57                   	push   %edi
403927:	e8 4d 35 00 00       	call   0x406e79
40392c:	59                   	pop    %ecx
40392d:	50                   	push   %eax
40392e:	e8 aa e0 ff ff       	call   0x4019dd
403933:	8b 44 24 2c          	mov    0x2c(%esp),%eax
403937:	59                   	pop    %ecx
403938:	59                   	pop    %ecx
403939:	a9 00 08 00 00       	test   $0x800,%eax
40393e:	74 20                	je     0x403960
403940:	6a 02                	push   $0x2