4156e7:	53                   	push   %ebx
4156e8:	57                   	push   %edi
4156e9:	6a 10                	push   $0x10
4156eb:	ff 15 5c a0 43 00    	call   *0x43a05c
4156f1:	8b d8                	mov    %eax,%ebx
4156f3:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4156f6:	85 db                	test   %ebx,%ebx
4156f8:	0f 84 bb cf 00 00    	je     0x4226b9
4156fe:	6b 46 2c 50          	imul   $0x50,0x2c(%esi),%eax
415702:	83 c0 38             	add    $0x38,%eax
415705:	03 46 3c             	add    0x3c(%esi),%eax
415708:	50                   	push   %eax
415709:	53                   	push   %ebx
41570a:	ff 15 68 a0 43 00    	call   *0x43a068
415710:	8b f8                	mov    %eax,%edi
415712:	85 ff                	test   %edi,%edi
415714:	0f 88 ae cf 00 00    	js     0x4226c8
41571a:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41571d:	33 c0                	xor    %eax,%eax
41571f:	89 19                	mov    %ebx,(%ecx)
415721:	6b 56 2c 50          	imul   $0x50,0x2c(%esi),%edx
415725:	8b 4e 3c             	mov    0x3c(%esi),%ecx
415728:	8b 7c 0a 48          	mov    0x48(%edx,%ecx,1),%edi
41572c:	85 c0                	test   %eax,%eax
41572e:	75 09                	jne    0x415739
415730:	8b c7                	mov    %edi,%eax
415732:	5f                   	pop    %edi
415733:	5b                   	pop    %ebx
415734:	5e                   	pop    %esi
415735:	c9                   	leave
415736:	c2 08 00             	ret    $0x8
415739:	50                   	push   %eax
41573a:	ff 15 64 a0 43 00    	call   *0x43a064
415740:	eb ee                	jmp    0x415730
415742:	83 61 0c 00          	andl   $0x0,0xc(%ecx)
415746:	8d 41 10             	lea    0x10(%ecx),%eax
415749:	89 41 04             	mov    %eax,0x4(%ecx)
41574c:	33 d2                	xor    %edx,%edx
41574e:	c7 41 08 01 04 00 00 	movl   $0x401,0x8(%ecx)
415755:	66 89 10             	mov    %dx,(%eax)
415758:	8b c1                	mov    %ecx,%eax
41575a:	c7 01 34 12 40 00    	movl   $0x401234,(%ecx)
415760:	c3                   	ret
415761:	8b ff                	mov    %edi,%edi
415763:	55                   	push   %ebp
415764:	8b ec                	mov    %esp,%ebp
415766:	83 ec 50             	sub    $0x50,%esp
415769:	a1 08 85 43 00       	mov    0x438508,%eax
41576e:	33 c5                	xor    %ebp,%eax
415770:	89 45 fc             	mov    %eax,-0x4(%ebp)
415773:	53                   	push   %ebx
415774:	8b 5d 08             	mov    0x8(%ebp),%ebx
415777:	89 55 c4             	mov    %edx,-0x3c(%ebp)
41577a:	89 4d c0             	mov    %ecx,-0x40(%ebp)
41577d:	85 db                	test   %ebx,%ebx
41577f:	0f 84 79 cf 00 00    	je     0x4226fe
415785:	56                   	push   %esi
415786:	57                   	push   %edi
415787:	33 c0                	xor    %eax,%eax
415789:	8d 7d d8             	lea    -0x28(%ebp),%edi
41578c:	89 45 c8             	mov    %eax,-0x38(%ebp)
41578f:	be 88 40 40 00       	mov    $0x404088,%esi
415794:	89 45 d4             	mov    %eax,-0x2c(%ebp)
415797:	89 45 f0             	mov    %eax,-0x10(%ebp)
41579a:	89 45 f4             	mov    %eax,-0xc(%ebp)
41579d:	89 45 f8             	mov    %eax,-0x8(%ebp)
4157a0:	6a 02                	push   $0x2
4157a2:	58                   	pop    %eax
4157a3:	89 45 cc             	mov    %eax,-0x34(%ebp)
4157a6:	89 45 d0             	mov    %eax,-0x30(%ebp)
4157a9:	8b 02                	mov    (%edx),%eax
4157ab:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4157ac:	53                   	push   %ebx
4157ad:	52                   	push   %edx
4157ae:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4157af:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4157b0:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4157b1:	8b 70 20             	mov    0x20(%eax),%esi
4157b4:	33 ff                	xor    %edi,%edi
4157b6:	47                   	inc    %edi
4157b7:	c7 45 ec 0c 00 00 00 	movl   $0xc,-0x14(%ebp)
4157be:	8b ce                	mov    %esi,%ecx
4157c0:	89 7d e8             	mov    %edi,-0x18(%ebp)
4157c3:	ff 15 20 a5 43 00    	call   *0x43a520
4157c9:	ff d6                	call   *%esi
4157cb:	85 c0                	test   %eax,%eax
4157cd:	78 4e                	js     0x41581d
4157cf:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
4157d2:	51                   	push   %ecx
4157d3:	8b 01                	mov    (%ecx),%eax
4157d5:	8b 70 1c             	mov    0x1c(%eax),%esi
4157d8:	8b ce                	mov    %esi,%ecx
4157da:	ff 15 20 a5 43 00    	call   *0x43a520
4157e0:	ff d6                	call   *%esi
4157e2:	85 c0                	test   %eax,%eax
4157e4:	78 37                	js     0x41581d
4157e6:	3b c7                	cmp    %edi,%eax
4157e8:	0f 85 1a cf 00 00    	jne    0x422708
4157ee:	6a 15                	push   $0x15
4157f0:	58                   	pop    %eax
4157f1:	66 89 45 b0          	mov    %ax,-0x50(%ebp)
4157f5:	8b 03                	mov    (%ebx),%eax
4157f7:	89 45 b8             	mov    %eax,-0x48(%ebp)
4157fa:	8b 43 04             	mov    0x4(%ebx),%eax
4157fd:	89 45 bc             	mov    %eax,-0x44(%ebp)
415800:	8b 75 c0             	mov    -0x40(%ebp),%esi
415803:	8d 45 c8             	lea    -0x38(%ebp),%eax
415806:	50                   	push   %eax
415807:	8b ce                	mov    %esi,%ecx
415809:	e8 c2 d2 ff ff       	call   0x412ad0
41580e:	85 c0                	test   %eax,%eax
415810:	78 0b                	js     0x41581d
415812:	8d 45 b0             	lea    -0x50(%ebp),%eax
415815:	8b ce                	mov    %esi,%ecx
415817:	50                   	push   %eax
415818:	e8 63 a0 ff ff       	call   0x40f880
41581d:	5f                   	pop    %edi
41581e:	5e                   	pop    %esi
41581f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
415822:	33 cd                	xor    %ebp,%ecx
415824:	5b                   	pop    %ebx
415825:	e8 96 4f 00 00       	call   0x41a7c0
41582a:	c9                   	leave
41582b:	c2 04 00             	ret    $0x4
41582e:	8b ff                	mov    %edi,%edi
415830:	55                   	push   %ebp
415831:	8b ec                	mov    %esp,%ebp
415833:	83 e4 f8             	and    $0xfffffff8,%esp
415836:	83 ec 5c             	sub    $0x5c,%esp
415839:	a1 08 85 43 00       	mov    0x438508,%eax
41583e:	33 c4                	xor    %esp,%eax
415840:	89 44 24 58          	mov    %eax,0x58(%esp)
415844:	53                   	push   %ebx
415845:	56                   	push   %esi
415846:	57                   	push   %edi
415847:	33 c0                	xor    %eax,%eax
415849:	8d 7c 24 30          	lea    0x30(%esp),%edi
41584d:	89 44 24 20          	mov    %eax,0x20(%esp)
415851:	be 88 40 40 00       	mov    $0x404088,%esi
415856:	89 44 24 2c          	mov    %eax,0x2c(%esp)
41585a:	8b d9                	mov    %ecx,%ebx
41585c:	89 44 24 48          	mov    %eax,0x48(%esp)
415860:	8d 4c 24 54          	lea    0x54(%esp),%ecx
415864:	89 44 24 4c          	mov    %eax,0x4c(%esp)
415868:	89 44 24 50          	mov    %eax,0x50(%esp)
41586c:	6a 02                	push   $0x2
41586e:	58                   	pop    %eax
41586f:	89 44 24 24          	mov    %eax,0x24(%esp)
415873:	89 44 24 28          	mov    %eax,0x28(%esp)
415877:	8b 02                	mov    (%edx),%eax
415879:	a5                   	movsl  %ds:(%esi),%es:(%edi)
41587a:	51                   	push   %ecx
41587b:	52                   	push   %edx
41587c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
41587d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
41587e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
41587f:	8b 70 14             	mov    0x14(%eax),%esi
415882:	8b ce                	mov    %esi,%ecx
415884:	c7 44 24 48 01 00 00 	movl   $0x1,0x48(%esp)
41588b:	00
41588c:	c7 44 24 4c 03 00 00 	movl   $0x3,0x4c(%esp)
415893:	00
415894:	ff 15 20 a5 43 00    	call   *0x43a520
41589a:	ff d6                	call   *%esi
41589c:	85 c0                	test   %eax,%eax
41589e:	0f 89 7e ce 00 00    	jns    0x422722
4158a4:	8b 4c 24 64          	mov    0x64(%esp),%ecx
4158a8:	5f                   	pop    %edi
4158a9:	5e                   	pop    %esi
4158aa:	5b                   	pop    %ebx
4158ab:	33 cc                	xor    %esp,%ecx
4158ad:	e8 0e 4f 00 00       	call   0x41a7c0
4158b2:	8b e5                	mov    %ebp,%esp
4158b4:	5d                   	pop    %ebp
4158b5:	c3                   	ret
4158b6:	6a 08                	push   $0x8
4158b8:	b8 64 ea 41 00       	mov    $0x41ea64,%eax
4158bd:	e8 4c 55 00 00       	call   0x41ae0e
4158c2:	33 ff                	xor    %edi,%edi
4158c4:	89 7d f0             	mov    %edi,-0x10(%ebp)
4158c7:	89 7d fc             	mov    %edi,-0x4(%ebp)
4158ca:	8d 45 f0             	lea    -0x10(%ebp),%eax
4158cd:	8b 31                	mov    (%ecx),%esi
4158cf:	50                   	push   %eax
4158d0:	68 98 40 40 00       	push   $0x404098
4158d5:	51                   	push   %ecx
4158d6:	8b 0e                	mov    (%esi),%ecx
4158d8:	ff 15 20 a5 43 00    	call   *0x43a520
4158de:	ff 16                	call   *(%esi)
4158e0:	85 c0                	test   %eax,%eax
4158e2:	78 44                	js     0x415928
4158e4:	8b 45 f0             	mov    -0x10(%ebp),%eax
4158e7:	8d 55 ec             	lea    -0x14(%ebp),%edx
4158ea:	52                   	push   %edx
4158eb:	50                   	push   %eax
4158ec:	8b 08                	mov    (%eax),%ecx
4158ee:	8b 71 50             	mov    0x50(%ecx),%esi
4158f1:	8b ce                	mov    %esi,%ecx
4158f3:	ff 15 20 a5 43 00    	call   *0x43a520
4158f9:	ff d6                	call   *%esi
4158fb:	85 c0                	test   %eax,%eax
4158fd:	78 03                	js     0x415902
4158ff:	8b 7d ec             	mov    -0x14(%ebp),%edi
415902:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
415909:	8b 4d f0             	mov    -0x10(%ebp),%ecx
41590c:	85 c9                	test   %ecx,%ecx
41590e:	74 10                	je     0x415920
415910:	8b 11                	mov    (%ecx),%edx
415912:	51                   	push   %ecx
415913:	8b 72 08             	mov    0x8(%edx),%esi
415916:	8b ce                	mov    %esi,%ecx
415918:	ff 15 20 a5 43 00    	call   *0x43a520
41591e:	ff d6                	call   *%esi
415920:	8b c7                	mov    %edi,%eax
415922:	e8 b5 54 00 00       	call   0x41addc
415927:	c3                   	ret
415928:	33 ff                	xor    %edi,%edi
41592a:	47                   	inc    %edi
41592b:	eb d5                	jmp    0x415902
41592d:	8b ff                	mov    %edi,%edi
41592f:	53                   	push   %ebx
415930:	56                   	push   %esi
415931:	8b f1                	mov    %ecx,%esi
415933:	57                   	push   %edi
415934:	33 ff                	xor    %edi,%edi
415936:	66 39 7e 04          	cmp    %di,0x4(%esi)
41593a:	0f 85 17 ce 00 00    	jne    0x422757
415940:	ff 76 2c             	push   0x2c(%esi)
415943:	e8 aa f5 ff ff       	call   0x414ef2
415948:	ff 76 48             	push   0x48(%esi)
41594b:	8d 56 14             	lea    0x14(%esi),%edx
41594e:	8b c8                	mov    %eax,%ecx
415950:	e8 2b f2 ff ff       	call   0x414b80
415955:	8b c8                	mov    %eax,%ecx
415957:	e8 ea f5 ff ff       	call   0x414f46
41595c:	8b f8                	mov    %eax,%edi
41595e:	85 ff                	test   %edi,%edi
415960:	0f 88 81 ce 00 00    	js     0x4227e7
415966:	ff 76 3c             	push   0x3c(%esi)
415969:	8b ce                	mov    %esi,%ecx
41596b:	e8 82 f5 ff ff       	call   0x414ef2
415970:	ff 76 48             	push   0x48(%esi)
415973:	8d 56 14             	lea    0x14(%esi),%edx
415976:	8b c8                	mov    %eax,%ecx
415978:	e8 03 f2 ff ff       	call   0x414b80
41597d:	8b c8                	mov    %eax,%ecx
41597f:	e8 c2 f5 ff ff       	call   0x414f46
415984:	8b f8                	mov    %eax,%edi
415986:	85 ff                	test   %edi,%edi
415988:	0f 88 59 ce 00 00    	js     0x4227e7
41598e:	ff 76 30             	push   0x30(%esi)
415991:	33 c0                	xor    %eax,%eax
415993:	40                   	inc    %eax
415994:	66 89 46 06          	mov    %ax,0x6(%esi)
415998:	ff 15 b0 a2 43 00    	call   *0x43a2b0
41599e:	85 c0                	test   %eax,%eax
4159a0:	0f 84 eb cd 00 00    	je     0x422791
4159a6:	33 c0                	xor    %eax,%eax
4159a8:	5f                   	pop    %edi
4159a9:	5e                   	pop    %esi
4159aa:	5b                   	pop    %ebx
4159ab:	c3                   	ret
4159ac:	6a 68                	push   $0x68
4159ae:	b8 87 ea 41 00       	mov    $0x41ea87,%eax
4159b3:	e8 89 54 00 00       	call   0x41ae41
4159b8:	8b f9                	mov    %ecx,%edi
4159ba:	e8 fd 17 00 00       	call   0x4171bc
4159bf:	33 db                	xor    %ebx,%ebx
4159c1:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
4159c4:	8b f0                	mov    %eax,%esi
4159c6:	89 5d 94             	mov    %ebx,-0x6c(%ebp)
4159c9:	89 5d 98             	mov    %ebx,-0x68(%ebp)
4159cc:	e8 fe 9d ff ff       	call   0x40f7cf
4159d1:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4159d4:	85 f6                	test   %esi,%esi
4159d6:	0f 88 47 01 00 00    	js     0x415b23
4159dc:	8d 45 98             	lea    -0x68(%ebp),%eax
4159df:	8b cf                	mov    %edi,%ecx
4159e1:	50                   	push   %eax
4159e2:	8d 45 94             	lea    -0x6c(%ebp),%eax
4159e5:	50                   	push   %eax
4159e6:	e8 f5 de ff ff       	call   0x4138e0
4159eb:	8b f0                	mov    %eax,%esi
4159ed:	85 f6                	test   %esi,%esi
4159ef:	0f 88 2e 01 00 00    	js     0x415b23
4159f5:	ff 75 98             	push   -0x68(%ebp)
4159f8:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
4159fb:	53                   	push   %ebx
4159fc:	ff 75 94             	push   -0x6c(%ebp)
4159ff:	e8 9c dc ff ff       	call   0x4136a0
415a04:	39 5d a8             	cmp    %ebx,-0x58(%ebp)
415a07:	0f 84 f1 cd 00 00    	je     0x4227fe
415a0d:	ff 75 a0             	push   -0x60(%ebp)
415a10:	ff 15 78 a4 43 00    	call   *0x43a478
415a16:	59                   	pop    %ecx
415a17:	8b 0d 7c 8d 43 00    	mov    0x438d7c,%ecx
415a1d:	99                   	cltd
415a1e:	8b f0                	mov    %eax,%esi
415a20:	85 c9                	test   %ecx,%ecx
415a22:	0f 85 fe cd 00 00    	jne    0x422826
415a28:	8d 45 98             	lea    -0x68(%ebp),%eax
415a2b:	89 35 7c 8d 43 00    	mov    %esi,0x438d7c
415a31:	50                   	push   %eax
415a32:	8d 45 94             	lea    -0x6c(%ebp),%eax
415a35:	8b cf                	mov    %edi,%ecx
415a37:	50                   	push   %eax
415a38:	e8 a3 de ff ff       	call   0x4138e0
415a3d:	8b f0                	mov    %eax,%esi
415a3f:	85 f6                	test   %esi,%esi
415a41:	0f 88 dc 00 00 00    	js     0x415b23
415a47:	ff 75 98             	push   -0x68(%ebp)
415a4a:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
415a4d:	53                   	push   %ebx
415a4e:	ff 75 94             	push   -0x6c(%ebp)
415a51:	e8 4a dc ff ff       	call   0x4136a0
415a56:	83 7d a8 00          	cmpl   $0x0,-0x58(%ebp)
415a5a:	0f 84 d9 cd 00 00    	je     0x422839
415a60:	ff 75 a0             	push   -0x60(%ebp)
415a63:	ff 15 78 a4 43 00    	call   *0x43a478
415a69:	59                   	pop    %ecx
415a6a:	8b 0d 78 8d 43 00    	mov    0x438d78,%ecx
415a70:	99                   	cltd
415a71:	8b f0                	mov    %eax,%esi
415a73:	85 c9                	test   %ecx,%ecx
415a75:	0f 85 cf cd 00 00    	jne    0x42284a
415a7b:	8d 45 98             	lea    -0x68(%ebp),%eax
415a7e:	89 35 78 8d 43 00    	mov    %esi,0x438d78
415a84:	50                   	push   %eax
415a85:	8d 45 94             	lea    -0x6c(%ebp),%eax
415a88:	8b cf                	mov    %edi,%ecx
415a8a:	50                   	push   %eax
415a8b:	e8 50 de ff ff       	call   0x4138e0
415a90:	8b f0                	mov    %eax,%esi
415a92:	85 f6                	test   %esi,%esi
415a94:	0f 88 89 00 00 00    	js     0x415b23
415a9a:	ff 75 98             	push   -0x68(%ebp)
415a9d:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
415aa0:	53                   	push   %ebx
415aa1:	ff 75 94             	push   -0x6c(%ebp)
415aa4:	e8 f7 db ff ff       	call   0x4136a0
415aa9:	83 7d a8 00          	cmpl   $0x0,-0x58(%ebp)
415aad:	0f 84 aa cd 00 00    	je     0x42285d
415ab3:	ff 75 a0             	push   -0x60(%ebp)
415ab6:	ff 15 78 a4 43 00    	call   *0x43a478
415abc:	59                   	pop    %ecx
415abd:	8b 0d c8 8d 43 00    	mov    0x438dc8,%ecx
415ac3:	99                   	cltd
415ac4:	8b f0                	mov    %eax,%esi
415ac6:	85 c9                	test   %ecx,%ecx
415ac8:	0f 85 a0 cd 00 00    	jne    0x42286e