403516:	83 c4 04             	add    $0x4,%esp
403519:	50                   	push   %eax
40351a:	e8 41 4e 01 00       	call   0x418360
40351f:	8d 8d ec fd ff ff    	lea    -0x214(%ebp),%ecx
403525:	51                   	push   %ecx
403526:	e8 25 51 01 00       	call   0x418650
40352b:	83 c4 10             	add    $0x10,%esp
40352e:	6a 00                	push   $0x0
403530:	8d 95 ec fd ff ff    	lea    -0x214(%ebp),%edx
403536:	89 45 f4             	mov    %eax,-0xc(%ebp)
403539:	8b 86 f8 0c 00 00    	mov    0xcf8(%esi),%eax
40353f:	52                   	push   %edx
403540:	ff d0                	call   *%eax
403542:	8d 8d ec fd ff ff    	lea    -0x214(%ebp),%ecx
403548:	51                   	push   %ecx
403549:	e8 02 51 01 00       	call   0x418650
40354e:	ba 5c 00 00 00       	mov    $0x5c,%edx
403553:	8d 9f 88 49 00 00    	lea    0x4988(%edi),%ebx
403559:	53                   	push   %ebx
40355a:	66 89 94 45 ec fd ff 	mov    %dx,-0x214(%ebp,%eax,2)
403561:	ff
403562:	e8 e9 50 01 00       	call   0x418650
403567:	83 c4 08             	add    $0x8,%esp
40356a:	03 c0                	add    %eax,%eax
40356c:	50                   	push   %eax
40356d:	8d 85 ec fd ff ff    	lea    -0x214(%ebp),%eax
403573:	53                   	push   %ebx
403574:	50                   	push   %eax
403575:	e8 d6 50 01 00       	call   0x418650
40357a:	8d 8c 45 ec fd ff ff 	lea    -0x214(%ebp,%eax,2),%ecx
403581:	83 c4 04             	add    $0x4,%esp
403584:	51                   	push   %ecx
403585:	e8 d6 4d 01 00       	call   0x418360
40358a:	6a 00                	push   $0x0
40358c:	6a 1a                	push   $0x1a
40358e:	8d 95 ec fd ff ff    	lea    -0x214(%ebp),%edx
403594:	52                   	push   %edx
403595:	56                   	push   %esi
403596:	e8 35 e9 00 00       	call   0x411ed0
40359b:	83 c4 1c             	add    $0x1c,%esp
40359e:	85 c0                	test   %eax,%eax
4035a0:	0f 84 ba 01 00 00    	je     0x403760
4035a6:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4035a9:	33 c0                	xor    %eax,%eax
4035ab:	33 d2                	xor    %edx,%edx
4035ad:	68 06 02 00 00       	push   $0x206
4035b2:	66 89 84 4d ec fd ff 	mov    %ax,-0x214(%ebp,%ecx,2)
4035b9:	ff
4035ba:	52                   	push   %edx
4035bb:	8d 85 e6 fb ff ff    	lea    -0x41a(%ebp),%eax
4035c1:	50                   	push   %eax
4035c2:	66 89 95 e4 fb ff ff 	mov    %dx,-0x41c(%ebp)
4035c9:	e8 12 4e 01 00       	call   0x4183e0
4035ce:	8d 87 08 49 00 00    	lea    0x4908(%edi),%eax
4035d4:	50                   	push   %eax
4035d5:	e8 76 50 01 00       	call   0x418650
4035da:	03 c0                	add    %eax,%eax
4035dc:	50                   	push   %eax
4035dd:	8d 87 08 49 00 00    	lea    0x4908(%edi),%eax
4035e3:	50                   	push   %eax
4035e4:	8d 8d e4 fb ff ff    	lea    -0x41c(%ebp),%ecx
4035ea:	51                   	push   %ecx
4035eb:	e8 70 4d 01 00       	call   0x418360
4035f0:	8b 96 f4 0c 00 00    	mov    0xcf4(%esi),%edx
4035f6:	83 c4 1c             	add    $0x1c,%esp
4035f9:	33 c0                	xor    %eax,%eax
4035fb:	6a 06                	push   $0x6
4035fd:	50                   	push   %eax
4035fe:	89 45 fc             	mov    %eax,-0x4(%ebp)
403601:	89 45 f8             	mov    %eax,-0x8(%ebp)
403604:	89 45 08             	mov    %eax,0x8(%ebp)
403607:	ff d2                	call   *%edx
403609:	8d 45 08             	lea    0x8(%ebp),%eax
40360c:	50                   	push   %eax
40360d:	8b 86 fc 0c 00 00    	mov    0xcfc(%esi),%eax
403613:	8d 8e e0 0c 00 00    	lea    0xce0(%esi),%ecx
403619:	51                   	push   %ecx
40361a:	6a 17                	push   $0x17
40361c:	6a 00                	push   $0x0
40361e:	8d 96 d0 0c 00 00    	lea    0xcd0(%esi),%edx
403624:	52                   	push   %edx
403625:	ff d0                	call   *%eax
403627:	85 c0                	test   %eax,%eax
403629:	0f 85 31 01 00 00    	jne    0x403760
40362f:	8b 45 08             	mov    0x8(%ebp),%eax
403632:	8b 08                	mov    (%eax),%ecx
403634:	8b 51 14             	mov    0x14(%ecx),%edx
403637:	68 14 04 84 10       	push   $0x10840414
40363c:	50                   	push   %eax
40363d:	ff d2                	call   *%edx
40363f:	8d 4d f8             	lea    -0x8(%ebp),%ecx
403642:	51                   	push   %ecx
403643:	8d 86 c0 0c 00 00    	lea    0xcc0(%esi),%eax
403649:	50                   	push   %eax
40364a:	8b 86 00 0d 00 00    	mov    0xd00(%esi),%eax
403650:	6a 00                	push   $0x0
403652:	8d 95 ec fd ff ff    	lea    -0x214(%ebp),%edx
403658:	52                   	push   %edx
403659:	ff d0                	call   *%eax
40365b:	85 c0                	test   %eax,%eax
40365d:	75 4b                	jne    0x4036aa
40365f:	8d 4d fc             	lea    -0x4(%ebp),%ecx
403662:	51                   	push   %ecx
403663:	8d 86 c0 0c 00 00    	lea    0xcc0(%esi),%eax
403669:	50                   	push   %eax
40366a:	8b 86 00 0d 00 00    	mov    0xd00(%esi),%eax
403670:	6a 00                	push   $0x0
403672:	8d 95 e4 fb ff ff    	lea    -0x41c(%ebp),%edx
403678:	52                   	push   %edx
403679:	ff d0                	call   *%eax
40367b:	85 c0                	test   %eax,%eax
40367d:	75 2b                	jne    0x4036aa
40367f:	8b 45 08             	mov    0x8(%ebp),%eax
403682:	8b 10                	mov    (%eax),%edx
403684:	8b 52 40             	mov    0x40(%edx),%edx
403687:	6a 00                	push   $0x0
403689:	8d 8f c8 4b 00 00    	lea    0x4bc8(%edi),%ecx
40368f:	51                   	push   %ecx
403690:	8b 4d fc             	mov    -0x4(%ebp),%ecx
403693:	51                   	push   %ecx
403694:	8b 4d f8             	mov    -0x8(%ebp),%ecx
403697:	51                   	push   %ecx
403698:	50                   	push   %eax
403699:	ff d2                	call   *%edx
40369b:	85 c0                	test   %eax,%eax
40369d:	75 0b                	jne    0x4036aa
40369f:	8b 45 08             	mov    0x8(%ebp),%eax
4036a2:	8b 08                	mov    (%eax),%ecx
4036a4:	8b 51 54             	mov    0x54(%ecx),%edx
4036a7:	50                   	push   %eax
4036a8:	ff d2                	call   *%edx
4036aa:	8b 45 fc             	mov    -0x4(%ebp),%eax
4036ad:	85 c0                	test   %eax,%eax
4036af:	74 08                	je     0x4036b9
4036b1:	8b 08                	mov    (%eax),%ecx
4036b3:	8b 51 08             	mov    0x8(%ecx),%edx
4036b6:	50                   	push   %eax
4036b7:	ff d2                	call   *%edx
4036b9:	8b 45 f8             	mov    -0x8(%ebp),%eax
4036bc:	85 c0                	test   %eax,%eax
4036be:	74 08                	je     0x4036c8
4036c0:	8b 08                	mov    (%eax),%ecx
4036c2:	8b 51 08             	mov    0x8(%ecx),%edx
4036c5:	50                   	push   %eax
4036c6:	ff d2                	call   *%edx
4036c8:	8b 45 08             	mov    0x8(%ebp),%eax
4036cb:	8b 08                	mov    (%eax),%ecx
4036cd:	8b 51 08             	mov    0x8(%ecx),%edx
4036d0:	50                   	push   %eax
4036d1:	ff d2                	call   *%edx
4036d3:	8d 85 ec fd ff ff    	lea    -0x214(%ebp),%eax
4036d9:	50                   	push   %eax
4036da:	e8 71 4f 01 00       	call   0x418650
4036df:	8d 95 ec fd ff ff    	lea    -0x214(%ebp),%edx
4036e5:	33 c9                	xor    %ecx,%ecx
4036e7:	52                   	push   %edx
4036e8:	66 89 8c 45 ee fd ff 	mov    %cx,-0x212(%ebp,%eax,2)
4036ef:	ff
4036f0:	e8 5b 4f 01 00       	call   0x418650
4036f5:	b9 5c 00 00 00       	mov    $0x5c,%ecx
4036fa:	53                   	push   %ebx
4036fb:	66 89 8c 45 ec fd ff 	mov    %cx,-0x214(%ebp,%eax,2)
403702:	ff
403703:	e8 48 4f 01 00       	call   0x418650
403708:	83 c4 0c             	add    $0xc,%esp
40370b:	03 c0                	add    %eax,%eax
40370d:	50                   	push   %eax
40370e:	8d 95 ec fd ff ff    	lea    -0x214(%ebp),%edx
403714:	53                   	push   %ebx
403715:	52                   	push   %edx
403716:	e8 35 4f 01 00       	call   0x418650
40371b:	8d 84 45 ec fd ff ff 	lea    -0x214(%ebp,%eax,2),%eax
403722:	83 c4 04             	add    $0x4,%esp
403725:	50                   	push   %eax
403726:	e8 35 4c 01 00       	call   0x418360
40372b:	6a 00                	push   $0x0
40372d:	6a 13                	push   $0x13
40372f:	8d 8d ec fd ff ff    	lea    -0x214(%ebp),%ecx
403735:	51                   	push   %ecx
403736:	56                   	push   %esi
403737:	e8 94 e7 00 00       	call   0x411ed0
40373c:	6a 00                	push   $0x0
40373e:	6a 15                	push   $0x15
403740:	81 c7 c8 49 00 00    	add    $0x49c8,%edi
403746:	57                   	push   %edi
403747:	56                   	push   %esi
403748:	e8 83 e7 00 00       	call   0x411ed0
40374d:	83 c4 2c             	add    $0x2c,%esp
403750:	85 c0                	test   %eax,%eax
403752:	74 0c                	je     0x403760
403754:	5b                   	pop    %ebx
403755:	5f                   	pop    %edi
403756:	b8 01 00 00 00       	mov    $0x1,%eax
40375b:	5e                   	pop    %esi
40375c:	8b e5                	mov    %ebp,%esp
40375e:	5d                   	pop    %ebp
40375f:	c3                   	ret
403760:	5b                   	pop    %ebx
403761:	5f                   	pop    %edi
403762:	33 c0                	xor    %eax,%eax
403764:	5e                   	pop    %esi
403765:	8b e5                	mov    %ebp,%esp
403767:	5d                   	pop    %ebp
403768:	c3                   	ret
403769:	5f                   	pop    %edi
40376a:	33 c0                	xor    %eax,%eax
40376c:	5e                   	pop    %esi
40376d:	8b e5                	mov    %ebp,%esp
40376f:	5d                   	pop    %ebp
403770:	c3                   	ret
403771:	c9                   	leave
403772:	80 76 78 34          	xorb   $0x34,0x78(%esi)
403776:	66 91                	xchg   %ax,%cx
403778:	fb                   	sti
403779:	68 d6 60 73 95       	push   $0x957360d6
40377e:	ce                   	into
40377f:	37                   	aaa
403780:	55                   	push   %ebp
403781:	8b ec                	mov    %esp,%ebp
403783:	83 ec 54             	sub    $0x54,%esp
403786:	57                   	push   %edi
403787:	8b 7d 0c             	mov    0xc(%ebp),%edi
40378a:	80 bf 28 d8 1f 00 4d 	cmpb   $0x4d,0x1fd828(%edi)
403791:	0f 85 ee 00 00 00    	jne    0x403885
403797:	80 bf c8 49 00 00 00 	cmpb   $0x0,0x49c8(%edi)
40379e:	53                   	push   %ebx
40379f:	8d 9f c8 49 00 00    	lea    0x49c8(%edi),%ebx
4037a5:	0f 84 d9 00 00 00    	je     0x403884
4037ab:	83 7f 28 00          	cmpl   $0x0,0x28(%edi)
4037af:	0f 84 cf 00 00 00    	je     0x403884
4037b5:	83 7f 50 00          	cmpl   $0x0,0x50(%edi)
4037b9:	0f 84 c5 00 00 00    	je     0x403884
4037bf:	56                   	push   %esi
4037c0:	8b 75 08             	mov    0x8(%ebp),%esi
4037c3:	6a 00                	push   $0x0
4037c5:	6a 15                	push   $0x15
4037c7:	53                   	push   %ebx
4037c8:	56                   	push   %esi
4037c9:	e8 02 e7 00 00       	call   0x411ed0
4037ce:	83 c4 10             	add    $0x10,%esp
4037d1:	85 c0                	test   %eax,%eax
4037d3:	75 42                	jne    0x403817
4037d5:	8d 87 28 d8 1f 00    	lea    0x1fd828(%edi),%eax
4037db:	89 86 5c 0b 00 00    	mov    %eax,0xb5c(%esi)
4037e1:	8b 47 28             	mov    0x28(%edi),%eax
4037e4:	57                   	push   %edi
4037e5:	56                   	push   %esi
4037e6:	89 86 60 0b 00 00    	mov    %eax,0xb60(%esi)
4037ec:	e8 4f fc ff ff       	call   0x403440
4037f1:	83 c4 08             	add    $0x8,%esp
4037f4:	85 c0                	test   %eax,%eax
4037f6:	75 1f                	jne    0x403817
4037f8:	57                   	push   %edi
4037f9:	56                   	push   %esi
4037fa:	e8 61 fb ff ff       	call   0x403360
4037ff:	83 c4 08             	add    $0x8,%esp
403802:	85 c0                	test   %eax,%eax
403804:	75 11                	jne    0x403817
403806:	5e                   	pop    %esi
403807:	5b                   	pop    %ebx
403808:	c7 87 80 48 00 00 01 	movl   $0x1,0x4880(%edi)
40380f:	00 00 00
403812:	5f                   	pop    %edi
403813:	8b e5                	mov    %ebp,%esp
403815:	5d                   	pop    %ebp
403816:	c3                   	ret
403817:	33 ff                	xor    %edi,%edi
403819:	57                   	push   %edi
40381a:	6a 19                	push   $0x19
40381c:	53                   	push   %ebx
40381d:	56                   	push   %esi
40381e:	e8 ad e6 00 00       	call   0x411ed0
403823:	83 c4 10             	add    $0x10,%esp
403826:	85 c0                	test   %eax,%eax
403828:	74 59                	je     0x403883
40382a:	6a 40                	push   $0x40
40382c:	8d 4d b0             	lea    -0x50(%ebp),%ecx
40382f:	57                   	push   %edi
403830:	51                   	push   %ecx
403831:	e8 aa 4b 01 00       	call   0x4183e0
403836:	8b 96 98 0b 00 00    	mov    0xb98(%esi),%edx
40383c:	68 ab 21 01 ad       	push   $0xad0121ab
403841:	33 c0                	xor    %eax,%eax
403843:	57                   	push   %edi
403844:	57                   	push   %edi
403845:	89 45 f4             	mov    %eax,-0xc(%ebp)
403848:	89 45 f8             	mov    %eax,-0x8(%ebp)
40384b:	89 45 fc             	mov    %eax,-0x4(%ebp)
40384e:	52                   	push   %edx
40384f:	8d 46 1c             	lea    0x1c(%esi),%eax
403852:	50                   	push   %eax
403853:	89 7d f0             	mov    %edi,-0x10(%ebp)
403856:	c7 45 ac 44 00 00 00 	movl   $0x44,-0x54(%ebp)
40385d:	e8 6e ea 00 00       	call   0x4122d0
403862:	83 c4 20             	add    $0x20,%esp
403865:	3b c7                	cmp    %edi,%eax
403867:	74 1a                	je     0x403883
403869:	57                   	push   %edi
40386a:	8d 4d f0             	lea    -0x10(%ebp),%ecx
40386d:	51                   	push   %ecx
40386e:	8d 55 ac             	lea    -0x54(%ebp),%edx
403871:	52                   	push   %edx
403872:	57                   	push   %edi
403873:	57                   	push   %edi
403874:	57                   	push   %edi
403875:	57                   	push   %edi
403876:	57                   	push   %edi
403877:	57                   	push   %edi
403878:	57                   	push   %edi
403879:	53                   	push   %ebx
40387a:	57                   	push   %edi
40387b:	ff d0                	call   *%eax
40387d:	89 be 68 0b 00 00    	mov    %edi,0xb68(%esi)
403883:	5e                   	pop    %esi
403884:	5b                   	pop    %ebx
403885:	5f                   	pop    %edi
403886:	8b e5                	mov    %ebp,%esp
403888:	5d                   	pop    %ebp
403889:	c3                   	ret
40388a:	ef                   	out    %eax,(%dx)
40388b:	60                   	pusha
40388c:	f3 79 56             	repz jns 0x4038e5
40388f:	e3 55                	jecxz  0x4038e6
403891:	8b ec                	mov    %esp,%ebp
403893:	8b 4d 08             	mov    0x8(%ebp),%ecx
403896:	85 c9                	test   %ecx,%ecx
403898:	74 16                	je     0x4038b0
40389a:	8b 45 0c             	mov    0xc(%ebp),%eax
40389d:	85 c0                	test   %eax,%eax
40389f:	74 0f                	je     0x4038b0
4038a1:	81 78 04 13 01 00 00 	cmpl   $0x113,0x4(%eax)
4038a8:	75 06                	jne    0x4038b0
4038aa:	ff 81 68 0b 00 00    	incl   0xb68(%ecx)
4038b0:	8b 81 d8 07 00 00    	mov    0x7d8(%ecx),%eax
4038b6:	85 c0                	test   %eax,%eax
4038b8:	74 12                	je     0x4038cc
4038ba:	83 b8 64 20 00 00 00 	cmpl   $0x0,0x2064(%eax)
4038c1:	74 09                	je     0x4038cc
4038c3:	51                   	push   %ecx
4038c4:	e8 57 f1 ff ff       	call   0x402a20
4038c9:	83 c4 04             	add    $0x4,%esp
4038cc:	5d                   	pop    %ebp
4038cd:	c3                   	ret
4038ce:	cc                   	int3
4038cf:	cc                   	int3
4038d0:	55                   	push   %ebp
4038d1:	8b ec                	mov    %esp,%ebp
4038d3:	81 ec a0 02 00 00    	sub    $0x2a0,%esp
4038d9:	8b 45 0c             	mov    0xc(%ebp),%eax
4038dc:	8b 48 08             	mov    0x8(%eax),%ecx