4039af:	74 0b                	je     0x4039bc
4039b1:	56                   	push   %esi
4039b2:	ff 15 70 34 47 00    	call   *0x473470
4039b8:	85 c0                	test   %eax,%eax
4039ba:	75 0f                	jne    0x4039cb
4039bc:	ff 15 24 34 47 00    	call   *0x473424
4039c2:	5f                   	pop    %edi
4039c3:	5e                   	pop    %esi
4039c4:	81 c4 60 06 00 00    	add    $0x660,%esp
4039ca:	c3                   	ret
4039cb:	5f                   	pop    %edi
4039cc:	33 c0                	xor    %eax,%eax
4039ce:	5e                   	pop    %esi
4039cf:	81 c4 60 06 00 00    	add    $0x660,%esp
4039d5:	c3                   	ret
4039d6:	cc                   	int3
4039d7:	cc                   	int3
4039d8:	cc                   	int3
4039d9:	cc                   	int3
4039da:	cc                   	int3
4039db:	cc                   	int3
4039dc:	cc                   	int3
4039dd:	cc                   	int3
4039de:	cc                   	int3
4039df:	cc                   	int3
4039e0:	83 ec 10             	sub    $0x10,%esp
4039e3:	53                   	push   %ebx
4039e4:	8b 5c 24 18          	mov    0x18(%esp),%ebx
4039e8:	55                   	push   %ebp
4039e9:	8b 2d 7c 33 47 00    	mov    0x47337c,%ebp
4039ef:	56                   	push   %esi
4039f0:	57                   	push   %edi
4039f1:	33 f6                	xor    %esi,%esi
4039f3:	8d 44 24 18          	lea    0x18(%esp),%eax
4039f7:	50                   	push   %eax
4039f8:	8d 4c 24 14          	lea    0x14(%esp),%ecx
4039fc:	51                   	push   %ecx
4039fd:	56                   	push   %esi
4039fe:	8d 54 24 20          	lea    0x20(%esp),%edx
403a02:	52                   	push   %edx
403a03:	56                   	push   %esi
403a04:	53                   	push   %ebx
403a05:	56                   	push   %esi
403a06:	89 74 24 30          	mov    %esi,0x30(%esp)
403a0a:	89 74 24 2c          	mov    %esi,0x2c(%esp)
403a0e:	89 74 24 38          	mov    %esi,0x38(%esp)
403a12:	33 ff                	xor    %edi,%edi
403a14:	ff d5                	call   *%ebp
403a16:	85 c0                	test   %eax,%eax
403a18:	75 52                	jne    0x403a6c
403a1a:	ff 15 24 34 47 00    	call   *0x473424
403a20:	83 f8 7a             	cmp    $0x7a,%eax
403a23:	75 47                	jne    0x403a6c
403a25:	8b 44 24 14          	mov    0x14(%esp),%eax
403a29:	8b 3d 78 34 47 00    	mov    0x473478,%edi
403a2f:	50                   	push   %eax
403a30:	6a 40                	push   $0x40
403a32:	ff d7                	call   *%edi
403a34:	8b 4c 24 10          	mov    0x10(%esp),%ecx
403a38:	8d 14 09             	lea    (%ecx,%ecx,1),%edx
403a3b:	52                   	push   %edx
403a3c:	6a 40                	push   $0x40
403a3e:	8b f0                	mov    %eax,%esi
403a40:	ff d7                	call   *%edi
403a42:	8b f8                	mov    %eax,%edi
403a44:	85 f6                	test   %esi,%esi
403a46:	74 24                	je     0x403a6c
403a48:	85 ff                	test   %edi,%edi
403a4a:	74 20                	je     0x403a6c
403a4c:	8d 44 24 18          	lea    0x18(%esp),%eax
403a50:	50                   	push   %eax
403a51:	8d 4c 24 14          	lea    0x14(%esp),%ecx
403a55:	51                   	push   %ecx
403a56:	57                   	push   %edi
403a57:	8d 54 24 20          	lea    0x20(%esp),%edx
403a5b:	52                   	push   %edx
403a5c:	56                   	push   %esi
403a5d:	53                   	push   %ebx
403a5e:	6a 00                	push   $0x0
403a60:	ff d5                	call   *%ebp
403a62:	85 c0                	test   %eax,%eax
403a64:	74 06                	je     0x403a6c
403a66:	8b de                	mov    %esi,%ebx
403a68:	33 f6                	xor    %esi,%esi
403a6a:	eb 04                	jmp    0x403a70
403a6c:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
403a70:	56                   	push   %esi
403a71:	8b 35 60 34 47 00    	mov    0x473460,%esi
403a77:	ff d6                	call   *%esi
403a79:	57                   	push   %edi
403a7a:	ff d6                	call   *%esi
403a7c:	5f                   	pop    %edi
403a7d:	5e                   	pop    %esi
403a7e:	5d                   	pop    %ebp
403a7f:	8b c3                	mov    %ebx,%eax
403a81:	5b                   	pop    %ebx
403a82:	83 c4 10             	add    $0x10,%esp
403a85:	c3                   	ret
403a86:	cc                   	int3
403a87:	cc                   	int3
403a88:	cc                   	int3
403a89:	cc                   	int3
403a8a:	cc                   	int3
403a8b:	cc                   	int3
403a8c:	cc                   	int3
403a8d:	cc                   	int3
403a8e:	cc                   	int3
403a8f:	cc                   	int3
403a90:	83 ec 10             	sub    $0x10,%esp
403a93:	56                   	push   %esi
403a94:	33 f6                	xor    %esi,%esi
403a96:	89 74 24 08          	mov    %esi,0x8(%esp)
403a9a:	89 74 24 0c          	mov    %esi,0xc(%esp)
403a9e:	39 74 24 24          	cmp    %esi,0x24(%esp)
403aa2:	0f 84 fc 00 00 00    	je     0x403ba4
403aa8:	53                   	push   %ebx
403aa9:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
403aad:	8d 04 9d 00 00 00 00 	lea    0x0(,%ebx,4),%eax
403ab4:	50                   	push   %eax
403ab5:	6a 40                	push   $0x40
403ab7:	ff 15 78 34 47 00    	call   *0x473478
403abd:	89 44 24 08          	mov    %eax,0x8(%esp)
403ac1:	3b c6                	cmp    %esi,%eax
403ac3:	0f 84 da 00 00 00    	je     0x403ba3
403ac9:	55                   	push   %ebp
403aca:	33 ed                	xor    %ebp,%ebp
403acc:	57                   	push   %edi
403acd:	3b de                	cmp    %esi,%ebx
403acf:	76 3c                	jbe    0x403b0d
403ad1:	8b 4c 24 28          	mov    0x28(%esp),%ecx
403ad5:	2b c8                	sub    %eax,%ecx
403ad7:	8b f8                	mov    %eax,%edi
403ad9:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
403add:	eb 05                	jmp    0x403ae4
403adf:	90                   	nop
403ae0:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
403ae4:	8b 0c 39             	mov    (%ecx,%edi,1),%ecx
403ae7:	51                   	push   %ecx
403ae8:	e8 f3 fe ff ff       	call   0x4039e0
403aed:	83 c4 04             	add    $0x4,%esp
403af0:	89 07                	mov    %eax,(%edi)
403af2:	85 c0                	test   %eax,%eax
403af4:	0f 84 83 00 00 00    	je     0x403b7d
403afa:	50                   	push   %eax
403afb:	ff 15 88 33 47 00    	call   *0x473388
403b01:	45                   	inc    %ebp
403b02:	83 c7 04             	add    $0x4,%edi
403b05:	8d 74 06 08          	lea    0x8(%esi,%eax,1),%esi
403b09:	3b eb                	cmp    %ebx,%ebp
403b0b:	72 d3                	jb     0x403ae0
403b0d:	83 c6 08             	add    $0x8,%esi
403b10:	56                   	push   %esi
403b11:	6a 40                	push   $0x40
403b13:	ff 15 78 34 47 00    	call   *0x473478
403b19:	8b f8                	mov    %eax,%edi
403b1b:	89 7c 24 14          	mov    %edi,0x14(%esp)
403b1f:	85 ff                	test   %edi,%edi
403b21:	74 5a                	je     0x403b7d
403b23:	6a 02                	push   $0x2
403b25:	56                   	push   %esi
403b26:	57                   	push   %edi
403b27:	ff 15 84 33 47 00    	call   *0x473384
403b2d:	85 c0                	test   %eax,%eax
403b2f:	74 4c                	je     0x403b7d
403b31:	33 ed                	xor    %ebp,%ebp
403b33:	85 db                	test   %ebx,%ebx
403b35:	74 30                	je     0x403b67
403b37:	8b 74 24 2c          	mov    0x2c(%esp),%esi
403b3b:	8b 44 24 10          	mov    0x10(%esp),%eax
403b3f:	2b c6                	sub    %esi,%eax
403b41:	89 44 24 1c          	mov    %eax,0x1c(%esp)
403b45:	eb 04                	jmp    0x403b4b
403b47:	8b 44 24 1c          	mov    0x1c(%esp),%eax
403b4b:	8b 14 30             	mov    (%eax,%esi,1),%edx
403b4e:	8b 06                	mov    (%esi),%eax
403b50:	52                   	push   %edx
403b51:	50                   	push   %eax
403b52:	6a 02                	push   $0x2
403b54:	57                   	push   %edi
403b55:	ff 15 80 33 47 00    	call   *0x473380
403b5b:	85 c0                	test   %eax,%eax
403b5d:	74 1e                	je     0x403b7d
403b5f:	45                   	inc    %ebp
403b60:	83 c6 04             	add    $0x4,%esi
403b63:	3b eb                	cmp    %ebx,%ebp
403b65:	72 e0                	jb     0x403b47
403b67:	8b 4c 24 30          	mov    0x30(%esp),%ecx
403b6b:	89 39                	mov    %edi,(%ecx)
403b6d:	c7 44 24 14 00 00 00 	movl   $0x0,0x14(%esp)
403b74:	00
403b75:	c7 44 24 18 01 00 00 	movl   $0x1,0x18(%esp)
403b7c:	00
403b7d:	33 f6                	xor    %esi,%esi
403b7f:	5f                   	pop    %edi
403b80:	5d                   	pop    %ebp
403b81:	85 db                	test   %ebx,%ebx
403b83:	74 13                	je     0x403b98
403b85:	8b 54 24 08          	mov    0x8(%esp),%edx
403b89:	8b 04 b2             	mov    (%edx,%esi,4),%eax
403b8c:	50                   	push   %eax
403b8d:	ff 15 60 34 47 00    	call   *0x473460
403b93:	46                   	inc    %esi
403b94:	3b f3                	cmp    %ebx,%esi
403b96:	72 ed                	jb     0x403b85
403b98:	8b 4c 24 08          	mov    0x8(%esp),%ecx
403b9c:	51                   	push   %ecx
403b9d:	ff 15 60 34 47 00    	call   *0x473460
403ba3:	5b                   	pop    %ebx
403ba4:	8b 54 24 08          	mov    0x8(%esp),%edx
403ba8:	52                   	push   %edx
403ba9:	ff 15 60 34 47 00    	call   *0x473460
403baf:	8b 44 24 0c          	mov    0xc(%esp),%eax
403bb3:	5e                   	pop    %esi
403bb4:	83 c4 10             	add    $0x10,%esp
403bb7:	c3                   	ret
403bb8:	cc                   	int3
403bb9:	cc                   	int3
403bba:	cc                   	int3
403bbb:	cc                   	int3
403bbc:	cc                   	int3
403bbd:	cc                   	int3
403bbe:	cc                   	int3
403bbf:	cc                   	int3
403bc0:	83 ec 3c             	sub    $0x3c,%esp
403bc3:	8b 44 24 44          	mov    0x44(%esp),%eax
403bc7:	56                   	push   %esi
403bc8:	57                   	push   %edi
403bc9:	33 ff                	xor    %edi,%edi
403bcb:	be 3f 00 0f 00       	mov    $0xf003f,%esi
403bd0:	8d 4c 24 4c          	lea    0x4c(%esp),%ecx
403bd4:	51                   	push   %ecx
403bd5:	89 7c 24 10          	mov    %edi,0x10(%esp)
403bd9:	89 7c 24 0c          	mov    %edi,0xc(%esp)
403bdd:	c7 44 24 24 58 c2 45 	movl   $0x45c258,0x24(%esp)
403be4:	00
403be5:	c7 44 24 28 44 c2 45 	movl   $0x45c244,0x28(%esp)
403bec:	00
403bed:	c7 44 24 2c 34 c2 45 	movl   $0x45c234,0x2c(%esp)
403bf4:	00
403bf5:	89 74 24 14          	mov    %esi,0x14(%esp)
403bf9:	c7 44 24 18 19 00 02 	movl   $0x20019,0x18(%esp)
403c00:	00
403c01:	89 74 24 1c          	mov    %esi,0x1c(%esp)
403c05:	89 74 24 20          	mov    %esi,0x20(%esp)
403c09:	89 44 24 30          	mov    %eax,0x30(%esp)
403c0d:	89 7c 24 50          	mov    %edi,0x50(%esp)
403c11:	e8 fa ee ff ff       	call   0x402b10
403c16:	8b 44 24 50          	mov    0x50(%esp),%eax
403c1a:	83 c4 04             	add    $0x4,%esp
403c1d:	3d 82 00 00 00       	cmp    $0x82,%eax
403c22:	74 22                	je     0x403c46
403c24:	83 f8 64             	cmp    $0x64,%eax
403c27:	74 1d                	je     0x403c46
403c29:	a1 40 07 47 00       	mov    0x470740,%eax
403c2e:	2b c7                	sub    %edi,%eax
403c30:	74 14                	je     0x403c46
403c32:	48                   	dec    %eax
403c33:	74 0a                	je     0x403c3f
403c35:	48                   	dec    %eax
403c36:	75 0e                	jne    0x403c46
403c38:	b8 00 01 00 00       	mov    $0x100,%eax
403c3d:	eb 09                	jmp    0x403c48
403c3f:	b8 00 02 00 00       	mov    $0x200,%eax
403c44:	eb 02                	jmp    0x403c48
403c46:	33 c0                	xor    %eax,%eax
403c48:	8d 54 24 08          	lea    0x8(%esp),%edx
403c4c:	52                   	push   %edx
403c4d:	0b c6                	or     %esi,%eax
403c4f:	50                   	push   %eax
403c50:	8b 44 24 50          	mov    0x50(%esp),%eax
403c54:	6a 00                	push   $0x0
403c56:	50                   	push   %eax
403c57:	68 02 00 00 80       	push   $0x80000002
403c5c:	ff 15 a0 33 47 00    	call   *0x4733a0
403c62:	8b f0                	mov    %eax,%esi
403c64:	85 f6                	test   %esi,%esi
403c66:	0f 85 ac 00 00 00    	jne    0x403d18
403c6c:	6a 01                	push   $0x1
403c6e:	8d 4c 24 34          	lea    0x34(%esp),%ecx
403c72:	51                   	push   %ecx
403c73:	ff 15 9c 33 47 00    	call   *0x47339c
403c79:	85 c0                	test   %eax,%eax
403c7b:	74 76                	je     0x403cf3
403c7d:	68 58 c2 45 00       	push   $0x45c258
403c82:	e8 59 fd ff ff       	call   0x4039e0
403c87:	8b f8                	mov    %eax,%edi
403c89:	83 c4 04             	add    $0x4,%esp
403c8c:	85 ff                	test   %edi,%edi
403c8e:	75 08                	jne    0x403c98
403c90:	8d 70 0d             	lea    0xd(%eax),%esi
403c93:	e9 80 00 00 00       	jmp    0x403d18
403c98:	6a 00                	push   $0x0
403c9a:	57                   	push   %edi
403c9b:	8d 54 24 38          	lea    0x38(%esp),%edx
403c9f:	52                   	push   %edx
403ca0:	ff 15 98 33 47 00    	call   *0x473398
403ca6:	85 c0                	test   %eax,%eax
403ca8:	74 49                	je     0x403cf3
403caa:	8d 44 24 0c          	lea    0xc(%esp),%eax
403cae:	50                   	push   %eax
403caf:	8d 4c 24 14          	lea    0x14(%esp),%ecx
403cb3:	51                   	push   %ecx
403cb4:	8d 54 24 28          	lea    0x28(%esp),%edx
403cb8:	52                   	push   %edx
403cb9:	6a 04                	push   $0x4
403cbb:	e8 d0 fd ff ff       	call   0x403a90
403cc0:	83 c4 10             	add    $0x10,%esp
403cc3:	85 c0                	test   %eax,%eax
403cc5:	75 05                	jne    0x403ccc
403cc7:	8d 70 05             	lea    0x5(%eax),%esi
403cca:	eb 4c                	jmp    0x403d18
403ccc:	8b 44 24 0c          	mov    0xc(%esp),%eax
403cd0:	6a 00                	push   $0x0
403cd2:	50                   	push   %eax
403cd3:	6a 01                	push   $0x1
403cd5:	8d 4c 24 3c          	lea    0x3c(%esp),%ecx
403cd9:	51                   	push   %ecx
403cda:	ff 15 94 33 47 00    	call   *0x473394
403ce0:	85 c0                	test   %eax,%eax
403ce2:	74 0f                	je     0x403cf3
403ce4:	8d 54 24 30          	lea    0x30(%esp),%edx
403ce8:	52                   	push   %edx
403ce9:	ff 15 90 33 47 00    	call   *0x473390
403cef:	85 c0                	test   %eax,%eax
403cf1:	75 11                	jne    0x403d04
403cf3:	ff 15 24 34 47 00    	call   *0x473424
403cf9:	8b f0                	mov    %eax,%esi
403cfb:	85 f6                	test   %esi,%esi
403cfd:	75 19                	jne    0x403d18
403cff:	8d 70 05             	lea    0x5(%eax),%esi
403d02:	eb 14                	jmp    0x403d18
403d04:	8b 4c 24 08          	mov    0x8(%esp),%ecx
403d08:	8d 44 24 30          	lea    0x30(%esp),%eax
403d0c:	50                   	push   %eax
403d0d:	6a 05                	push   $0x5
403d0f:	51                   	push   %ecx
403d10:	ff 15 8c 33 47 00    	call   *0x47338c
403d16:	8b f0                	mov    %eax,%esi
403d18:	8b 44 24 08          	mov    0x8(%esp),%eax
403d1c:	85 c0                	test   %eax,%eax
403d1e:	74 07                	je     0x403d27
403d20:	50                   	push   %eax
403d21:	ff 15 68 33 47 00    	call   *0x473368
403d27:	57                   	push   %edi
403d28:	8b 3d 60 34 47 00    	mov    0x473460,%edi
403d2e:	ff d7                	call   *%edi
403d30:	8b 54 24 0c          	mov    0xc(%esp),%edx
403d34:	52                   	push   %edx
403d35:	ff d7                	call   *%edi
403d37:	5f                   	pop    %edi