4175ee:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4175f1:	8d 45 cc             	lea    -0x34(%ebp),%eax
4175f4:	50                   	push   %eax
4175f5:	ff 75 ec             	push   -0x14(%ebp)
4175f8:	8d 45 f0             	lea    -0x10(%ebp),%eax
4175fb:	89 4d f4             	mov    %ecx,-0xc(%ebp)
4175fe:	50                   	push   %eax
4175ff:	89 4d f8             	mov    %ecx,-0x8(%ebp)
417602:	8b 4e 0c             	mov    0xc(%esi),%ecx
417605:	57                   	push   %edi
417606:	c7 45 f0 0c 00 00 00 	movl   $0xc,-0x10(%ebp)
41760d:	c7 45 cc 1c 00 00 00 	movl   $0x1c,-0x34(%ebp)
417614:	ff 15 20 a5 43 00    	call   *0x43a520
41761a:	ff 56 0c             	call   *0xc(%esi)
41761d:	eb 97                	jmp    0x4175b6
41761f:	6a 08                	push   $0x8
417621:	b8 20 ed 41 00       	mov    $0x41ed20,%eax
417626:	e8 e3 37 00 00       	call   0x41ae0e
41762b:	8b c1                	mov    %ecx,%eax
41762d:	89 45 f0             	mov    %eax,-0x10(%ebp)
417630:	33 ff                	xor    %edi,%edi
417632:	89 38                	mov    %edi,(%eax)
417634:	89 7d ec             	mov    %edi,-0x14(%ebp)
417637:	8a 5d 0c             	mov    0xc(%ebp),%bl
41763a:	53                   	push   %ebx
41763b:	89 7d fc             	mov    %edi,-0x4(%ebp)
41763e:	ff 15 8c a3 43 00    	call   *0x43a38c
417644:	8b 35 44 1a 40 00    	mov    0x401a44,%esi
41764a:	8b ce                	mov    %esi,%ecx
41764c:	50                   	push   %eax
41764d:	ff 15 20 a5 43 00    	call   *0x43a520
417653:	ff d6                	call   *%esi
417655:	53                   	push   %ebx
417656:	ff 75 08             	push   0x8(%ebp)
417659:	8b f0                	mov    %eax,%esi
41765b:	56                   	push   %esi
41765c:	ff 15 84 a3 43 00    	call   *0x43a384
417662:	85 c0                	test   %eax,%eax
417664:	0f 84 e0 b4 00 00    	je     0x422b4a
41766a:	39 7d 0c             	cmp    %edi,0xc(%ebp)
41766d:	76 16                	jbe    0x417685
41766f:	8b 5d 10             	mov    0x10(%ebp),%ebx
417672:	57                   	push   %edi
417673:	56                   	push   %esi
417674:	ff 15 90 a3 43 00    	call   *0x43a390
41767a:	8b 0c bb             	mov    (%ebx,%edi,4),%ecx
41767d:	47                   	inc    %edi
41767e:	89 08                	mov    %ecx,(%eax)
417680:	3b 7d 0c             	cmp    0xc(%ebp),%edi
417683:	72 ed                	jb     0x417672
417685:	8b 45 f0             	mov    -0x10(%ebp),%eax
417688:	89 30                	mov    %esi,(%eax)
41768a:	e8 4d 37 00 00       	call   0x41addc
41768f:	c2 0c 00             	ret    $0xc
417692:	8b ff                	mov    %edi,%edi
417694:	56                   	push   %esi
417695:	8b f1                	mov    %ecx,%esi
417697:	8b 4e 0c             	mov    0xc(%esi),%ecx
41769a:	85 c9                	test   %ecx,%ecx
41769c:	74 0b                	je     0x4176a9
41769e:	8b 46 04             	mov    0x4(%esi),%eax
4176a1:	66 83 7c 48 fe 5c    	cmpw   $0x5c,-0x2(%eax,%ecx,2)
4176a7:	74 22                	je     0x4176cb
4176a9:	8b 06                	mov    (%esi),%eax
4176ab:	57                   	push   %edi
4176ac:	6a ff                	push   $0xffffffff
4176ae:	51                   	push   %ecx
4176af:	8b 78 10             	mov    0x10(%eax),%edi
4176b2:	68 8c 41 40 00       	push   $0x40418c
4176b7:	81 ff a0 36 41 00    	cmp    $0x4136a0,%edi
4176bd:	0f 85 af b4 00 00    	jne    0x422b72
4176c3:	8b ce                	mov    %esi,%ecx
4176c5:	e8 d6 bf ff ff       	call   0x4136a0
4176ca:	5f                   	pop    %edi
4176cb:	5e                   	pop    %esi
4176cc:	c3                   	ret
4176cd:	8b ff                	mov    %edi,%edi
4176cf:	55                   	push   %ebp
4176d0:	8b ec                	mov    %esp,%ebp
4176d2:	51                   	push   %ecx
4176d3:	57                   	push   %edi
4176d4:	68 00 20 00 00       	push   $0x2000
4176d9:	6a 42                	push   $0x42
4176db:	ff 15 34 a1 43 00    	call   *0x43a134
4176e1:	8b f8                	mov    %eax,%edi
4176e3:	85 ff                	test   %edi,%edi
4176e5:	0f 84 98 b4 00 00    	je     0x422b83
4176eb:	53                   	push   %ebx
4176ec:	56                   	push   %esi
4176ed:	8d 45 fc             	lea    -0x4(%ebp),%eax
4176f0:	33 db                	xor    %ebx,%ebx
4176f2:	50                   	push   %eax
4176f3:	6a 01                	push   $0x1
4176f5:	57                   	push   %edi
4176f6:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4176f9:	ff 15 70 a0 43 00    	call   *0x43a070
4176ff:	8b f0                	mov    %eax,%esi
417701:	85 f6                	test   %esi,%esi
417703:	0f 88 95 b4 00 00    	js     0x422b9e
417709:	6a 04                	push   $0x4
41770b:	53                   	push   %ebx
41770c:	53                   	push   %ebx
41770d:	6a 04                	push   $0x4
41770f:	ff 35 78 8d 43 00    	push   0x438d78
417715:	ff 15 c8 a1 43 00    	call   *0x43a1c8
41771b:	85 c0                	test   %eax,%eax
41771d:	0f 84 98 b4 00 00    	je     0x422bbb
417723:	8b 18                	mov    (%eax),%ebx
417725:	50                   	push   %eax
417726:	ff 15 bc a1 43 00    	call   *0x43a1bc
41772c:	85 c0                	test   %eax,%eax
41772e:	0f 84 87 b4 00 00    	je     0x422bbb
417734:	8d 43 04             	lea    0x4(%ebx),%eax
417737:	3d 00 20 00 00       	cmp    $0x2000,%eax
41773c:	0f 87 68 b4 00 00    	ja     0x422baa
417742:	50                   	push   %eax
417743:	6a 00                	push   $0x0
417745:	6a 00                	push   $0x0
417747:	6a 04                	push   $0x4
417749:	ff 35 78 8d 43 00    	push   0x438d78
41774f:	ff 15 c8 a1 43 00    	call   *0x43a1c8
417755:	8b f0                	mov    %eax,%esi
417757:	85 f6                	test   %esi,%esi
417759:	0f 84 5c b4 00 00    	je     0x422bbb
41775f:	57                   	push   %edi
417760:	ff 15 44 a1 43 00    	call   *0x43a144
417766:	85 c0                	test   %eax,%eax
417768:	0f 84 46 b4 00 00    	je     0x422bb4
41776e:	53                   	push   %ebx
41776f:	8d 4e 04             	lea    0x4(%esi),%ecx
417772:	51                   	push   %ecx
417773:	50                   	push   %eax
417774:	e8 6d 37 00 00       	call   0x41aee6
417779:	83 c4 0c             	add    $0xc,%esp
41777c:	56                   	push   %esi
41777d:	ff 15 bc a1 43 00    	call   *0x43a1bc
417783:	57                   	push   %edi
417784:	ff 15 40 a1 43 00    	call   *0x43a140
41778a:	85 c0                	test   %eax,%eax
41778c:	75 0a                	jne    0x417798
41778e:	ff 15 a8 a0 43 00    	call   *0x43a0a8
417794:	85 c0                	test   %eax,%eax
417796:	75 24                	jne    0x4177bc
417798:	68 1c 8a 43 00       	push   $0x438a1c
41779d:	68 90 41 40 00       	push   $0x404190
4177a2:	ff 75 fc             	push   -0x4(%ebp)
4177a5:	ff 15 74 a0 43 00    	call   *0x43a074
4177ab:	8b f0                	mov    %eax,%esi
4177ad:	8d 4d fc             	lea    -0x4(%ebp),%ecx
4177b0:	e8 93 4a ff ff       	call   0x40c248
4177b5:	8b c6                	mov    %esi,%eax
4177b7:	5e                   	pop    %esi
4177b8:	5b                   	pop    %ebx
4177b9:	5f                   	pop    %edi
4177ba:	c9                   	leave
4177bb:	c3                   	ret
4177bc:	ff 15 a8 a0 43 00    	call   *0x43a0a8
4177c2:	eb e7                	jmp    0x4177ab
4177c4:	8b ff                	mov    %edi,%edi
4177c6:	55                   	push   %ebp
4177c7:	8b ec                	mov    %esp,%ebp
4177c9:	83 ec 14             	sub    $0x14,%esp
4177cc:	a1 08 85 43 00       	mov    0x438508,%eax
4177d1:	33 c5                	xor    %ebp,%eax
4177d3:	89 45 fc             	mov    %eax,-0x4(%ebp)
4177d6:	53                   	push   %ebx
4177d7:	56                   	push   %esi
4177d8:	8b d9                	mov    %ecx,%ebx
4177da:	8d 45 ec             	lea    -0x14(%ebp),%eax
4177dd:	57                   	push   %edi
4177de:	8d 7d ec             	lea    -0x14(%ebp),%edi
4177e1:	8b 73 04             	mov    0x4(%ebx),%esi
4177e4:	83 ee 10             	sub    $0x10,%esi
4177e7:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4177e8:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4177e9:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4177ea:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4177eb:	83 63 20 00          	andl   $0x0,0x20(%ebx)
4177ef:	8d 7b 18             	lea    0x18(%ebx),%edi
4177f2:	83 63 24 00          	andl   $0x0,0x24(%ebx)
4177f6:	57                   	push   %edi
4177f7:	53                   	push   %ebx
4177f8:	68 e0 9b 41 00       	push   $0x419be0
4177fd:	50                   	push   %eax
4177fe:	ff 15 70 a3 43 00    	call   *0x43a370
417804:	8b f0                	mov    %eax,%esi
417806:	85 f6                	test   %esi,%esi
417808:	0f 84 cb b3 00 00    	je     0x422bd9
41780e:	7e 09                	jle    0x417819
417810:	0f b7 f6             	movzwl %si,%esi
417813:	81 ce 00 00 07 80    	or     $0x80070000,%esi
417819:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41781c:	8b c6                	mov    %esi,%eax
41781e:	5f                   	pop    %edi
41781f:	5e                   	pop    %esi
417820:	33 cd                	xor    %ebp,%ecx
417822:	5b                   	pop    %ebx
417823:	e8 98 2f 00 00       	call   0x41a7c0
417828:	c9                   	leave
417829:	c2 04 00             	ret    $0x4
41782c:	6a 2c                	push   $0x2c
41782e:	b8 53 ed 41 00       	mov    $0x41ed53,%eax
417833:	e8 d6 35 00 00       	call   0x41ae0e
417838:	89 55 e0             	mov    %edx,-0x20(%ebp)
41783b:	8d 45 e4             	lea    -0x1c(%ebp),%eax
41783e:	33 db                	xor    %ebx,%ebx
417840:	50                   	push   %eax
417841:	53                   	push   %ebx
417842:	53                   	push   %ebx
417843:	6a 11                	push   $0x11
417845:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
417848:	ff 15 a4 a3 43 00    	call   *0x43a3a4
41784e:	85 c0                	test   %eax,%eax
417850:	75 0f                	jne    0x417861
417852:	ff 15 a8 a0 43 00    	call   *0x43a0a8
417858:	83 f8 7a             	cmp    $0x7a,%eax
41785b:	0f 85 92 b3 00 00    	jne    0x422bf3
417861:	ff 75 e4             	push   -0x1c(%ebp)
417864:	8b 35 3c 1a 40 00    	mov    0x401a3c,%esi
41786a:	8b ce                	mov    %esi,%ecx
41786c:	ff 15 20 a5 43 00    	call   *0x43a520
417872:	ff d6                	call   *%esi
417874:	8b f0                	mov    %eax,%esi
417876:	89 75 d0             	mov    %esi,-0x30(%ebp)
417879:	89 5d fc             	mov    %ebx,-0x4(%ebp)
41787c:	85 f6                	test   %esi,%esi
41787e:	0f 84 84 b3 00 00    	je     0x422c08
417884:	8d 45 e4             	lea    -0x1c(%ebp),%eax
417887:	50                   	push   %eax
417888:	56                   	push   %esi
417889:	53                   	push   %ebx
41788a:	6a 11                	push   $0x11
41788c:	ff 15 a4 a3 43 00    	call   *0x43a3a4
417892:	85 c0                	test   %eax,%eax
417894:	0f 84 78 b3 00 00    	je     0x422c12
41789a:	8d 45 d4             	lea    -0x2c(%ebp),%eax
41789d:	89 5d ec             	mov    %ebx,-0x14(%ebp)
4178a0:	50                   	push   %eax
4178a1:	8d 45 f0             	lea    -0x10(%ebp),%eax
4178a4:	89 5d f0             	mov    %ebx,-0x10(%ebp)
4178a7:	50                   	push   %eax
4178a8:	53                   	push   %ebx
4178a9:	8d 45 ec             	lea    -0x14(%ebp),%eax
4178ac:	50                   	push   %eax
4178ad:	53                   	push   %ebx
4178ae:	56                   	push   %esi
4178af:	53                   	push   %ebx
4178b0:	ff 15 e8 a3 43 00    	call   *0x43a3e8
4178b6:	85 c0                	test   %eax,%eax
4178b8:	75 11                	jne    0x4178cb
4178ba:	ff 15 a8 a0 43 00    	call   *0x43a0a8
4178c0:	8b d8                	mov    %eax,%ebx
4178c2:	83 fb 7a             	cmp    $0x7a,%ebx
4178c5:	0f 85 4f b3 00 00    	jne    0x422c1a
4178cb:	8b 45 ec             	mov    -0x14(%ebp),%eax
4178ce:	33 c9                	xor    %ecx,%ecx
4178d0:	8b 3d 3c 1a 40 00    	mov    0x401a3c,%edi
4178d6:	40                   	inc    %eax
4178d7:	6a 02                	push   $0x2
4178d9:	5b                   	pop    %ebx
4178da:	f7 e3                	mul    %ebx
4178dc:	0f 90 c1             	seto   %cl
4178df:	f7 d9                	neg    %ecx
4178e1:	0b c8                	or     %eax,%ecx
4178e3:	51                   	push   %ecx
4178e4:	8b cf                	mov    %edi,%ecx
4178e6:	ff 15 20 a5 43 00    	call   *0x43a520
4178ec:	ff d7                	call   *%edi
4178ee:	89 45 d8             	mov    %eax,-0x28(%ebp)
4178f1:	89 45 cc             	mov    %eax,-0x34(%ebp)
4178f4:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
4178f8:	33 c9                	xor    %ecx,%ecx
4178fa:	8b 45 f0             	mov    -0x10(%ebp),%eax
4178fd:	8b 3d 3c 1a 40 00    	mov    0x401a3c,%edi
417903:	40                   	inc    %eax
417904:	f7 e3                	mul    %ebx
417906:	0f 90 c1             	seto   %cl
417909:	f7 d9                	neg    %ecx
41790b:	0b c8                	or     %eax,%ecx
41790d:	51                   	push   %ecx
41790e:	8b cf                	mov    %edi,%ecx
417910:	ff 15 20 a5 43 00    	call   *0x43a520
417916:	ff d7                	call   *%edi
417918:	8b f8                	mov    %eax,%edi
41791a:	89 7d c8             	mov    %edi,-0x38(%ebp)
41791d:	88 5d fc             	mov    %bl,-0x4(%ebp)
417920:	8b 4d ec             	mov    -0x14(%ebp),%ecx
417923:	8b 45 f0             	mov    -0x10(%ebp),%eax
417926:	03 cb                	add    %ebx,%ecx
417928:	03 c1                	add    %ecx,%eax
41792a:	33 c9                	xor    %ecx,%ecx
41792c:	89 45 e8             	mov    %eax,-0x18(%ebp)
41792f:	f7 e3                	mul    %ebx
417931:	8b 1d 3c 1a 40 00    	mov    0x401a3c,%ebx
417937:	0f 90 c1             	seto   %cl
41793a:	f7 d9                	neg    %ecx
41793c:	0b c8                	or     %eax,%ecx
41793e:	51                   	push   %ecx
41793f:	8b cb                	mov    %ebx,%ecx
417941:	ff 15 20 a5 43 00    	call   *0x43a520
417947:	ff d3                	call   *%ebx
417949:	8b 4d d8             	mov    -0x28(%ebp),%ecx
41794c:	89 45 dc             	mov    %eax,-0x24(%ebp)
41794f:	85 c9                	test   %ecx,%ecx
417951:	0f 84 f3 b2 00 00    	je     0x422c4a
417957:	85 ff                	test   %edi,%edi
417959:	0f 84 eb b2 00 00    	je     0x422c4a
41795f:	85 c0                	test   %eax,%eax
417961:	0f 84 e3 b2 00 00    	je     0x422c4a
417967:	8d 45 d4             	lea    -0x2c(%ebp),%eax
41796a:	50                   	push   %eax
41796b:	8d 45 f0             	lea    -0x10(%ebp),%eax
41796e:	50                   	push   %eax
41796f:	57                   	push   %edi
417970:	8d 45 ec             	lea    -0x14(%ebp),%eax
417973:	50                   	push   %eax
417974:	51                   	push   %ecx
417975:	56                   	push   %esi
417976:	6a 00                	push   $0x0
417978:	ff 15 e8 a3 43 00    	call   *0x43a3e8
41797e:	85 c0                	test   %eax,%eax
417980:	0f 84 aa b2 00 00    	je     0x422c30
417986:	ff 75 d8             	push   -0x28(%ebp)
417989:	57                   	push   %edi
41798a:	68 a0 41 40 00       	push   $0x4041a0
41798f:	ff 75 e8             	push   -0x18(%ebp)
417992:	ff 75 dc             	push   -0x24(%ebp)
417995:	e8 8f c8 ff ff       	call   0x414229
41799a:	8b 4d e0             	mov    -0x20(%ebp),%ecx
41799d:	8b d8                	mov    %eax,%ebx
41799f:	83 c4 14             	add    $0x14,%esp
4179a2:	85 db                	test   %ebx,%ebx
4179a4:	78 62                	js     0x417a08
4179a6:	8b 45 dc             	mov    -0x24(%ebp),%eax
4179a9:	89 01                	mov    %eax,(%ecx)
4179ab:	85 ff                	test   %edi,%edi
4179ad:	74 15                	je     0x4179c4
4179af:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
4179b3:	57                   	push   %edi
4179b4:	8b 3d 40 1a 40 00    	mov    0x401a40,%edi
4179ba:	8b cf                	mov    %edi,%ecx
4179bc:	ff 15 20 a5 43 00    	call   *0x43a520
4179c2:	ff d7                	call   *%edi
4179c4:	8b 45 d8             	mov    -0x28(%ebp),%eax
4179c7:	85 c0                	test   %eax,%eax
4179c9:	74 15                	je     0x4179e0
4179cb:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
4179cf:	8b 3d 40 1a 40 00    	mov    0x401a40,%edi
4179d5:	8b cf                	mov    %edi,%ecx
4179d7:	50                   	push   %eax