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
4179d8:	ff 15 20 a5 43 00    	call   *0x43a520
4179de:	ff d7                	call   *%edi
4179e0:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
4179e4:	85 f6                	test   %esi,%esi
4179e6:	74 18                	je     0x417a00
4179e8:	c7 45 fc 06 00 00 00 	movl   $0x6,-0x4(%ebp)
4179ef:	56                   	push   %esi
4179f0:	8b 35 40 1a 40 00    	mov    0x401a40,%esi
4179f6:	8b ce                	mov    %esi,%ecx
4179f8:	ff 15 20 a5 43 00    	call   *0x43a520
4179fe:	ff d6                	call   *%esi
417a00:	8b c3                	mov    %ebx,%eax
417a02:	e8 d5 33 00 00       	call   0x41addc
417a07:	c3                   	ret
417a08:	89 5d e8             	mov    %ebx,-0x18(%ebp)
417a0b:	e9 45 b2 00 00       	jmp    0x422c55
417a10:	8b ff                	mov    %edi,%edi
417a12:	55                   	push   %ebp
417a13:	8b ec                	mov    %esp,%ebp
417a15:	51                   	push   %ecx
417a16:	56                   	push   %esi
417a17:	8b f1                	mov    %ecx,%esi
417a19:	6a ff                	push   $0xffffffff
417a1b:	ff 75 08             	push   0x8(%ebp)
417a1e:	89 75 fc             	mov    %esi,-0x4(%ebp)
417a21:	8d 46 10             	lea    0x10(%esi),%eax
417a24:	c7 06 80 11 40 00    	movl   $0x401180,(%esi)
417a2a:	89 46 04             	mov    %eax,0x4(%esi)
417a2d:	c7 46 08 41 00 00 00 	movl   $0x41,0x8(%esi)
417a34:	e8 97 c2 ff ff       	call   0x413cd0
417a39:	c7 06 c4 11 40 00    	movl   $0x4011c4,(%esi)
417a3f:	8b c6                	mov    %esi,%eax
417a41:	5e                   	pop    %esi
417a42:	c9                   	leave
417a43:	c2 04 00             	ret    $0x4
417a46:	cc                   	int3
417a47:	cc                   	int3
417a48:	cc                   	int3
417a49:	cc                   	int3
417a4a:	cc                   	int3
417a4b:	cc                   	int3
417a4c:	cc                   	int3
417a4d:	cc                   	int3
417a4e:	cc                   	int3
417a4f:	cc                   	int3
417a50:	8b ff                	mov    %edi,%edi
417a52:	55                   	push   %ebp
417a53:	8b ec                	mov    %esp,%ebp
417a55:	83 ec 0c             	sub    $0xc,%esp
417a58:	56                   	push   %esi
417a59:	6a 00                	push   $0x0
417a5b:	8b f1                	mov    %ecx,%esi
417a5d:	ff 15 ac a0 43 00    	call   *0x43a0ac
417a63:	8b 86 9c 00 00 00    	mov    0x9c(%esi),%eax
417a69:	c7 45 fc 04 00 00 00 	movl   $0x4,-0x4(%ebp)
417a70:	5e                   	pop    %esi
417a71:	85 c0                	test   %eax,%eax
417a73:	74 40                	je     0x417ab5
417a75:	8d 4d fc             	lea    -0x4(%ebp),%ecx
417a78:	51                   	push   %ecx
417a79:	8d 4d f4             	lea    -0xc(%ebp),%ecx
417a7c:	51                   	push   %ecx
417a7d:	8d 4d f8             	lea    -0x8(%ebp),%ecx
417a80:	51                   	push   %ecx
417a81:	6a 00                	push   $0x0
417a83:	ff 75 08             	push   0x8(%ebp)
417a86:	50                   	push   %eax
417a87:	ff 15 3c a2 43 00    	call   *0x43a23c
417a8d:	85 c0                	test   %eax,%eax
417a8f:	75 19                	jne    0x417aaa
417a91:	83 7d f8 04          	cmpl   $0x4,-0x8(%ebp)
417a95:	75 13                	jne    0x417aaa
417a97:	8b 4d 0c             	mov    0xc(%ebp),%ecx
417a9a:	8b 45 f4             	mov    -0xc(%ebp),%eax
417a9d:	89 01                	mov    %eax,(%ecx)
417a9f:	b8 01 00 00 00       	mov    $0x1,%eax
417aa4:	8b e5                	mov    %ebp,%esp
417aa6:	5d                   	pop    %ebp
417aa7:	c2 08 00             	ret    $0x8
417aaa:	50                   	push   %eax
417aab:	ff 15 ac a0 43 00    	call   *0x43a0ac
417ab1:	33 c0                	xor    %eax,%eax
417ab3:	eb ef                	jmp    0x417aa4
417ab5:	6a 06                	push   $0x6
417ab7:	eb f2                	jmp    0x417aab
417ab9:	6a 64                	push   $0x64
417abb:	b8 7e ed 41 00       	mov    $0x41ed7e,%eax
417ac0:	e8 7c 33 00 00       	call   0x41ae41
417ac5:	51                   	push   %ecx
417ac6:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
417ac9:	e8 d9 d9 ff ff       	call   0x4154a7
417ace:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
417ad2:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
417ad5:	e8 b8 fb ff ff       	call   0x417692
417ada:	8b 45 9c             	mov    -0x64(%ebp),%eax
417add:	6a ff                	push   $0xffffffff
417adf:	ff 75 a8             	push   -0x58(%ebp)
417ae2:	8b 70 10             	mov    0x10(%eax),%esi
417ae5:	68 4c 42 40 00       	push   $0x40424c
417aea:	81 fe a0 36 41 00    	cmp    $0x4136a0,%esi
417af0:	0f 85 8a b1 00 00    	jne    0x422c80
417af6:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
417af9:	e8 a2 bb ff ff       	call   0x4136a0
417afe:	ff 75 a0             	push   -0x60(%ebp)
417b01:	8d 4d 94             	lea    -0x6c(%ebp),%ecx
417b04:	e8 6f 4f ff ff       	call   0x40ca78
417b09:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
417b0d:	8b 5d 94             	mov    -0x6c(%ebp),%ebx
417b10:	85 db                	test   %ebx,%ebx
417b12:	0f 84 7a b1 00 00    	je     0x422c92
417b18:	8b 7d 98             	mov    -0x68(%ebp),%edi
417b1b:	51                   	push   %ecx
417b1c:	51                   	push   %ecx
417b1d:	8b f4                	mov    %esp,%esi
417b1f:	83 26 00             	andl   $0x0,(%esi)
417b22:	83 66 04 00          	andl   $0x0,0x4(%esi)
417b26:	85 ff                	test   %edi,%edi
417b28:	74 0b                	je     0x417b35
417b2a:	f0 ff 47 04          	lock incl 0x4(%edi)
417b2e:	8b 4e 04             	mov    0x4(%esi),%ecx
417b31:	85 c9                	test   %ecx,%ecx
417b33:	75 4a                	jne    0x417b7f
417b35:	89 7e 04             	mov    %edi,0x4(%esi)
417b38:	89 1e                	mov    %ebx,(%esi)
417b3a:	e8 49 4d ff ff       	call   0x40c888
417b3f:	8b f0                	mov    %eax,%esi
417b41:	85 f6                	test   %esi,%esi
417b43:	0f 88 58 b1 00 00    	js     0x422ca1
417b49:	33 f6                	xor    %esi,%esi
417b4b:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
417b4f:	85 ff                	test   %edi,%edi
417b51:	74 07                	je     0x417b5a
417b53:	8b cf                	mov    %edi,%ecx
417b55:	e8 c6 4f ff ff       	call   0x40cb20
417b5a:	8b 45 a0             	mov    -0x60(%ebp),%eax
417b5d:	c7 45 9c 64 11 40 00 	movl   $0x401164,-0x64(%ebp)
417b64:	85 c0                	test   %eax,%eax
417b66:	74 0f                	je     0x417b77
417b68:	8d 4d ac             	lea    -0x54(%ebp),%ecx
417b6b:	3b c1                	cmp    %ecx,%eax
417b6d:	74 08                	je     0x417b77
417b6f:	50                   	push   %eax
417b70:	ff 15 14 a4 43 00    	call   *0x43a414
417b76:	59                   	pop    %ecx
417b77:	8b c6                	mov    %esi,%eax
417b79:	e8 72 32 00 00       	call   0x41adf0
417b7e:	c3                   	ret
417b7f:	e8 9c 4f ff ff       	call   0x40cb20
417b84:	eb af                	jmp    0x417b35
417b86:	8b ff                	mov    %edi,%edi
417b88:	55                   	push   %ebp
417b89:	8b ec                	mov    %esp,%ebp
417b8b:	83 e4 f8             	and    $0xfffffff8,%esp
417b8e:	83 ec 50             	sub    $0x50,%esp
417b91:	a1 08 85 43 00       	mov    0x438508,%eax
417b96:	33 c4                	xor    %esp,%eax
417b98:	89 44 24 4c          	mov    %eax,0x4c(%esp)
417b9c:	56                   	push   %esi
417b9d:	57                   	push   %edi
417b9e:	8b f1                	mov    %ecx,%esi
417ba0:	e8 42 00 00 00       	call   0x417be7
417ba5:	e8 6b 3e 00 00       	call   0x41ba15
417baa:	8b 78 04             	mov    0x4(%eax),%edi
417bad:	83 3f 05             	cmpl   $0x5,(%edi)
417bb0:	76 16                	jbe    0x417bc8
417bb2:	68 00 40 00 00       	push   $0x4000
417bb7:	6a 00                	push   $0x0
417bb9:	8b cf                	mov    %edi,%ecx
417bbb:	e8 3c 01 00 00       	call   0x417cfc
417bc0:	84 c0                	test   %al,%al
417bc2:	0f 85 f2 b0 00 00    	jne    0x422cba
417bc8:	83 7e 10 00          	cmpl   $0x0,0x10(%esi)
417bcc:	75 08                	jne    0x417bd6
417bce:	8d 4e 04             	lea    0x4(%esi),%ecx
417bd1:	e8 db 01 00 00       	call   0x417db1