403a8f:	8b c8                	mov    %eax,%ecx
403a91:	e8 57 6a 00 00       	call   0x40a4ed
403a96:	33 f6                	xor    %esi,%esi
403a98:	8b fe                	mov    %esi,%edi
403a9a:	89 7d cc             	mov    %edi,-0x34(%ebp)
403a9d:	8b 43 08             	mov    0x8(%ebx),%eax
403aa0:	8b 30                	mov    (%eax),%esi
403aa2:	8d 4d c8             	lea    -0x38(%ebp),%ecx
403aa5:	51                   	push   %ecx
403aa6:	8d 4d d8             	lea    -0x28(%ebp),%ecx
403aa9:	51                   	push   %ecx
403aaa:	6a 05                	push   $0x5
403aac:	68 e8 03 00 00       	push   $0x3e8
403ab1:	50                   	push   %eax
403ab2:	8b 4e 10             	mov    0x10(%esi),%ecx
403ab5:	ff 15 20 23 41 00    	call   *0x412320
403abb:	ff 56 10             	call   *0x10(%esi)
403abe:	83 f8 01             	cmp    $0x1,%eax
403ac1:	75 7b                	jne    0x403b3e
403ac3:	89 45 c0             	mov    %eax,-0x40(%ebp)
403ac6:	89 45 ac             	mov    %eax,-0x54(%ebp)
403ac9:	83 65 cc 00          	andl   $0x0,-0x34(%ebp)
403acd:	33 ff                	xor    %edi,%edi
403acf:	89 7d b8             	mov    %edi,-0x48(%ebp)
403ad2:	3b 7d c8             	cmp    -0x38(%ebp),%edi
403ad5:	0f 83 e3 00 00 00    	jae    0x403bbe
403adb:	51                   	push   %ecx
403adc:	8d 83 84 00 00 00    	lea    0x84(%ebx),%eax
403ae2:	50                   	push   %eax
403ae3:	ba c4 13 40 00       	mov    $0x4013c4,%edx
403ae8:	8b 4c bd d8          	mov    -0x28(%ebp,%edi,4),%ecx
403aec:	e8 c0 41 00 00       	call   0x407cb1
403af1:	8b cb                	mov    %ebx,%ecx
403af3:	e8 6a 0f 00 00       	call   0x404a62
403af8:	83 7b 18 00          	cmpl   $0x0,0x18(%ebx)
403afc:	74 06                	je     0x403b04
403afe:	83 7b 70 00          	cmpl   $0x0,0x70(%ebx)
403b02:	74 1a                	je     0x403b1e
403b04:	6a 12                	push   $0x12
403b06:	5a                   	pop    %edx
403b07:	8b 8b 80 00 00 00    	mov    0x80(%ebx),%ecx
403b0d:	e8 79 51 00 00       	call   0x408c8b
403b12:	ff 74 bd d8          	push   -0x28(%ebp,%edi,4)
403b16:	50                   	push   %eax
403b17:	8b cb                	mov    %ebx,%ecx
403b19:	e8 ea 01 00 00       	call   0x403d08
403b1e:	8b 4c bd d8          	mov    -0x28(%ebp,%edi,4),%ecx
403b22:	85 c9                	test   %ecx,%ecx
403b24:	74 15                	je     0x403b3b
403b26:	8b 01                	mov    (%ecx),%eax
403b28:	51                   	push   %ecx
403b29:	8b 70 08             	mov    0x8(%eax),%esi
403b2c:	8b ce                	mov    %esi,%ecx
403b2e:	ff 15 20 23 41 00    	call   *0x412320
403b34:	ff d6                	call   *%esi
403b36:	83 64 bd d8 00       	andl   $0x0,-0x28(%ebp,%edi,4)
403b3b:	47                   	inc    %edi
403b3c:	eb 91                	jmp    0x403acf
403b3e:	3d 04 00 04 00       	cmp    $0x40004,%eax
403b43:	75 5a                	jne    0x403b9f
403b45:	47                   	inc    %edi
403b46:	89 7d cc             	mov    %edi,-0x34(%ebp)
403b49:	81 ff 2c 01 00 00    	cmp    $0x12c,%edi
403b4f:	76 3f                	jbe    0x403b90
403b51:	33 ff                	xor    %edi,%edi
403b53:	89 7d bc             	mov    %edi,-0x44(%ebp)
403b56:	83 ff 05             	cmp    $0x5,%edi
403b59:	73 20                	jae    0x403b7b
403b5b:	8b 4c bd d8          	mov    -0x28(%ebp,%edi,4),%ecx
403b5f:	85 c9                	test   %ecx,%ecx
403b61:	74 15                	je     0x403b78
403b63:	8b 01                	mov    (%ecx),%eax
403b65:	51                   	push   %ecx
403b66:	8b 70 08             	mov    0x8(%eax),%esi
403b69:	8b ce                	mov    %esi,%ecx
403b6b:	ff 15 20 23 41 00    	call   *0x412320
403b71:	ff d6                	call   *%esi
403b73:	83 64 bd d8 00       	andl   $0x0,-0x28(%ebp,%edi,4)
403b78:	47                   	inc    %edi
403b79:	eb d8                	jmp    0x403b53
403b7b:	68 b4 05 00 00       	push   $0x5b4
403b80:	ff 15 74 20 41 00    	call   *0x412074
403b86:	e8 69 5c 00 00       	call   0x4097f4
403b8b:	e9 70 01 00 00       	jmp    0x403d00
403b90:	83 7d c8 00          	cmpl   $0x0,-0x38(%ebp)
403b94:	0f 84 2f 01 00 00    	je     0x403cc9
403b9a:	e9 2a ff ff ff       	jmp    0x403ac9
403b9f:	85 c0                	test   %eax,%eax
403ba1:	0f 89 22 ff ff ff    	jns    0x403ac9
403ba7:	8b c8                	mov    %eax,%ecx
403ba9:	e8 5c 3d 00 00       	call   0x40790a
403bae:	68 fd 00 03 80       	push   $0x800300fd
403bb3:	ff 15 74 20 41 00    	call   *0x412074
403bb9:	e9 42 01 00 00       	jmp    0x403d00
403bbe:	83 7d b4 00          	cmpl   $0x0,-0x4c(%ebp)
403bc2:	74 11                	je     0x403bd5
403bc4:	ff 73 54             	push   0x54(%ebx)
403bc7:	ff b3 80 00 00 00    	push   0x80(%ebx)
403bcd:	8b 53 5c             	mov    0x5c(%ebx),%edx
403bd0:	e8 f6 9c 00 00       	call   0x40d8cb
403bd5:	8b 8b 80 00 00 00    	mov    0x80(%ebx),%ecx
403bdb:	e8 d8 51 00 00       	call   0x408db8
403be0:	85 c0                	test   %eax,%eax
403be2:	0f 84 de 00 00 00    	je     0x403cc6
403be8:	8b 7d d4             	mov    -0x2c(%ebp),%edi
403beb:	83 e7 0f             	and    $0xf,%edi
403bee:	8b 45 d0             	mov    -0x30(%ebp),%eax
403bf1:	85 c0                	test   %eax,%eax
403bf3:	74 1d                	je     0x403c12
403bf5:	83 ff 01             	cmp    $0x1,%edi
403bf8:	75 18                	jne    0x403c12
403bfa:	57                   	push   %edi
403bfb:	e8 d9 b6 00 00       	call   0x40f2d9
403c00:	59                   	pop    %ecx
403c01:	ba 7c 14 40 00       	mov    $0x40147c,%edx
403c06:	8b c8                	mov    %eax,%ecx
403c08:	e8 e0 68 00 00       	call   0x40a4ed
403c0d:	33 f6                	xor    %esi,%esi
403c0f:	46                   	inc    %esi
403c10:	eb 1f                	jmp    0x403c31
403c12:	8b f7                	mov    %edi,%esi
403c14:	85 c0                	test   %eax,%eax
403c16:	75 19                	jne    0x403c31
403c18:	83 ff 03             	cmp    $0x3,%edi
403c1b:	74 14                	je     0x403c31
403c1d:	6a 01                	push   $0x1
403c1f:	e8 b5 b6 00 00       	call   0x40f2d9
403c24:	59                   	pop    %ecx
403c25:	ba 7c 14 40 00       	mov    $0x40147c,%edx
403c2a:	8b c8                	mov    %eax,%ecx
403c2c:	e8 bc 68 00 00       	call   0x40a4ed
403c31:	8b 83 80 00 00 00    	mov    0x80(%ebx),%eax
403c37:	89 45 c4             	mov    %eax,-0x3c(%ebp)
403c3a:	8b 43 50             	mov    0x50(%ebx),%eax
403c3d:	89 45 b0             	mov    %eax,-0x50(%ebp)
403c40:	6a 01                	push   $0x1
403c42:	e8 92 b6 00 00       	call   0x40f2d9
403c47:	59                   	pop    %ecx
403c48:	8b f8                	mov    %eax,%edi
403c4a:	85 ff                	test   %edi,%edi
403c4c:	74 4a                	je     0x403c98
403c4e:	8b 45 b0             	mov    -0x50(%ebp),%eax
403c51:	85 c0                	test   %eax,%eax
403c53:	74 43                	je     0x403c98
403c55:	83 ee 01             	sub    $0x1,%esi
403c58:	74 2a                	je     0x403c84
403c5a:	83 ee 01             	sub    $0x1,%esi
403c5d:	74 15                	je     0x403c74
403c5f:	83 ee 01             	sub    $0x1,%esi
403c62:	75 2c                	jne    0x403c90
403c64:	ff 75 c4             	push   -0x3c(%ebp)
403c67:	ff 75 d4             	push   -0x2c(%ebp)
403c6a:	50                   	push   %eax
403c6b:	8b cf                	mov    %edi,%ecx
403c6d:	e8 63 ab 00 00       	call   0x40e7d5
403c72:	eb 1c                	jmp    0x403c90
403c74:	ff 75 c4             	push   -0x3c(%ebp)
403c77:	ff 75 d4             	push   -0x2c(%ebp)
403c7a:	50                   	push   %eax
403c7b:	8b cf                	mov    %edi,%ecx
403c7d:	e8 d9 a3 00 00       	call   0x40e05b
403c82:	eb 0c                	jmp    0x403c90
403c84:	ff 75 c4             	push   -0x3c(%ebp)
403c87:	51                   	push   %ecx
403c88:	50                   	push   %eax
403c89:	8b cf                	mov    %edi,%ecx
403c8b:	e8 b8 a8 00 00       	call   0x40e548
403c90:	57                   	push   %edi
403c91:	ff 15 64 22 41 00    	call   *0x412264
403c97:	59                   	pop    %ecx
403c98:	8b 8b 80 00 00 00    	mov    0x80(%ebx),%ecx
403c9e:	e8 15 51 00 00       	call   0x408db8
403ca3:	8b 75 d0             	mov    -0x30(%ebp),%esi
403ca6:	03 f0                	add    %eax,%esi
403ca8:	89 75 d0             	mov    %esi,-0x30(%ebp)
403cab:	89 75 a8             	mov    %esi,-0x58(%ebp)
403cae:	e8 e6 4d 00 00       	call   0x408a99
403cb3:	8b 45 d4             	mov    -0x2c(%ebp),%eax
403cb6:	0d 00 10 00 00       	or     $0x1000,%eax
403cbb:	89 45 d4             	mov    %eax,-0x2c(%ebp)
403cbe:	89 45 a4             	mov    %eax,-0x5c(%ebp)
403cc1:	8b 7d cc             	mov    -0x34(%ebp),%edi
403cc4:	eb 06                	jmp    0x403ccc
403cc6:	8b 7d cc             	mov    -0x34(%ebp),%edi
403cc9:	8b 75 d0             	mov    -0x30(%ebp),%esi
403ccc:	83 7d c0 00          	cmpl   $0x0,-0x40(%ebp)
403cd0:	0f 84 c7 fd ff ff    	je     0x403a9d
403cd6:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
403cda:	6a 00                	push   $0x0
403cdc:	ff 15 74 20 41 00    	call   *0x412074
403ce2:	8b c6                	mov    %esi,%eax
403ce4:	eb 1c                	jmp    0x403d02
403ce6:	68 0e 00 07 80       	push   $0x8007000e
403ceb:	ff 15 74 20 41 00    	call   *0x412074
403cf1:	e8 fe 5a 00 00       	call   0x4097f4
403cf6:	b8 fc 3c 40 00       	mov    $0x403cfc,%eax
403cfb:	c3                   	ret
403cfc:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
403d00:	33 c0                	xor    %eax,%eax
403d02:	e8 06 b6 00 00       	call   0x40f30d
403d07:	c3                   	ret
403d08:	6a 08                	push   $0x8
403d0a:	b8 f9 f5 40 00       	mov    $0x40f5f9,%eax
403d0f:	e8 3b b6 00 00       	call   0x40f34f
403d14:	8b f1                	mov    %ecx,%esi
403d16:	8d 4d ec             	lea    -0x14(%ebp),%ecx
403d19:	ff 15 f8 21 41 00    	call   *0x4121f8
403d1f:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
403d23:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
403d27:	bb 8d 13 00 00       	mov    $0x138d,%ebx
403d2c:	8b cb                	mov    %ebx,%ecx
403d2e:	e8 1e 5d 00 00       	call   0x409a51
403d33:	50                   	push   %eax
403d34:	8d 45 ec             	lea    -0x14(%ebp),%eax
403d37:	50                   	push   %eax
403d38:	ba 80 14 40 00       	mov    $0x401480,%edx
403d3d:	8b 4d 0c             	mov    0xc(%ebp),%ecx
403d40:	e8 7d 3e 00 00       	call   0x407bc2
403d45:	51                   	push   %ecx
403d46:	ff 75 ec             	push   -0x14(%ebp)
403d49:	6a 10                	push   $0x10
403d4b:	8b 7d 08             	mov    0x8(%ebp),%edi
403d4e:	8b d7                	mov    %edi,%edx
403d50:	8b 8e 80 00 00 00    	mov    0x80(%esi),%ecx
403d56:	e8 8f 55 00 00       	call   0x4092ea
403d5b:	ff b6 84 00 00 00    	push   0x84(%esi)
403d61:	6a 02                	push   $0x2
403d63:	8b d7                	mov    %edi,%edx
403d65:	8b 8e 80 00 00 00    	mov    0x80(%esi),%ecx
403d6b:	e8 aa 55 00 00       	call   0x40931a
403d70:	8b cb                	mov    %ebx,%ecx
403d72:	e8 da 5c 00 00       	call   0x409a51
403d77:	50                   	push   %eax
403d78:	8d 45 ec             	lea    -0x14(%ebp),%eax
403d7b:	50                   	push   %eax
403d7c:	ba 90 14 40 00       	mov    $0x401490,%edx
403d81:	8b 4d 0c             	mov    0xc(%ebp),%ecx
403d84:	e8 39 3e 00 00       	call   0x407bc2
403d89:	51                   	push   %ecx
403d8a:	ff 75 ec             	push   -0x14(%ebp)
403d8d:	6a 00                	push   $0x0
403d8f:	8b d7                	mov    %edi,%edx
403d91:	8b 8e 80 00 00 00    	mov    0x80(%esi),%ecx
403d97:	e8 4e 55 00 00       	call   0x4092ea
403d9c:	8d 9e 88 00 00 00    	lea    0x88(%esi),%ebx
403da2:	b9 8d 13 00 00       	mov    $0x138d,%ecx
403da7:	e8 a5 5c 00 00       	call   0x409a51
403dac:	50                   	push   %eax
403dad:	53                   	push   %ebx
403dae:	ba 08 14 40 00       	mov    $0x401408,%edx
403db3:	8b 4d 0c             	mov    0xc(%ebp),%ecx
403db6:	e8 07 3e 00 00       	call   0x407bc2
403dbb:	83 7e 70 00          	cmpl   $0x0,0x70(%esi)
403dbf:	74 39                	je     0x403dfa
403dc1:	51                   	push   %ecx
403dc2:	ff 76 78             	push   0x78(%esi)
403dc5:	6a 0c                	push   $0xc
403dc7:	8b d7                	mov    %edi,%edx
403dc9:	8b 8e 80 00 00 00    	mov    0x80(%esi),%ecx
403dcf:	e8 16 55 00 00       	call   0x4092ea
403dd4:	68 a0 14 40 00       	push   $0x4014a0
403dd9:	8b cb                	mov    %ebx,%ecx
403ddb:	ff 15 44 22 41 00    	call   *0x412244
403de1:	8d 46 7c             	lea    0x7c(%esi),%eax
403de4:	50                   	push   %eax
403de5:	8b cb                	mov    %ebx,%ecx
403de7:	ff 15 fc 21 41 00    	call   *0x4121fc
403ded:	68 a8 14 40 00       	push   $0x4014a8
403df2:	8b cb                	mov    %ebx,%ecx
403df4:	ff 15 44 22 41 00    	call   *0x412244
403dfa:	51                   	push   %ecx
403dfb:	ff 33                	push   (%ebx)
403dfd:	6a 01                	push   $0x1
403dff:	8b d7                	mov    %edi,%edx
403e01:	8b 8e 80 00 00 00    	mov    0x80(%esi),%ecx
403e07:	e8 de 54 00 00       	call   0x4092ea
403e0c:	8b 5d 0c             	mov    0xc(%ebp),%ebx
403e0f:	53                   	push   %ebx
403e10:	57                   	push   %edi
403e11:	8b ce                	mov    %esi,%ecx
403e13:	e8 5a 03 00 00       	call   0x404172
403e18:	53                   	push   %ebx
403e19:	57                   	push   %edi
403e1a:	8b ce                	mov    %esi,%ecx
403e1c:	e8 8c 05 00 00       	call   0x4043ad
403e21:	53                   	push   %ebx
403e22:	57                   	push   %edi
403e23:	8b ce                	mov    %esi,%ecx
403e25:	e8 c3 06 00 00       	call   0x4044ed
403e2a:	53                   	push   %ebx
403e2b:	57                   	push   %edi
403e2c:	8b ce                	mov    %esi,%ecx
403e2e:	e8 57 00 00 00       	call   0x403e8a
403e33:	57                   	push   %edi
403e34:	8b ce                	mov    %esi,%ecx
403e36:	e8 44 04 00 00       	call   0x40427f
403e3b:	57                   	push   %edi
403e3c:	8b ce                	mov    %esi,%ecx
403e3e:	e8 60 08 00 00       	call   0x4046a3
403e43:	57                   	push   %edi
403e44:	8b ce                	mov    %esi,%ecx
403e46:	e8 49 0b 00 00       	call   0x404994
403e4b:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
403e4f:	8d 4d ec             	lea    -0x14(%ebp),%ecx
403e52:	ff 15 30 22 41 00    	call   *0x412230
403e58:	33 c0                	xor    %eax,%eax
403e5a:	40                   	inc    %eax
403e5b:	eb 25                	jmp    0x403e82
403e5d:	68 0e 00 07 80       	push   $0x8007000e
403e62:	ff 15 74 20 41 00    	call   *0x412074
403e68:	e8 87 59 00 00       	call   0x4097f4
403e6d:	b8 73 3e 40 00       	mov    $0x403e73,%eax
403e72:	c3                   	ret
403e73:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
403e77:	8d 4d ec             	lea    -0x14(%ebp),%ecx
403e7a:	ff 15 30 22 41 00    	call   *0x412230
403e80:	33 c0                	xor    %eax,%eax
403e82:	e8 72 b4 00 00       	call   0x40f2f9
403e87:	c2 08 00             	ret    $0x8
403e8a:	6a 20                	push   $0x20
403e8c:	b8 5a f6 40 00       	mov    $0x40f65a,%eax
403e91:	e8 b9 b4 00 00       	call   0x40f34f
403e96:	8b f9                	mov    %ecx,%edi
403e98:	8d 4d ec             	lea    -0x14(%ebp),%ecx
403e9b:	ff 15 f8 21 41 00    	call   *0x4121f8
403ea1:	33 db                	xor    %ebx,%ebx
403ea3:	89 5d fc             	mov    %ebx,-0x4(%ebp)
403ea6:	8d 4d dc             	lea    -0x24(%ebp),%ecx
403ea9:	ff 15 f8 21 41 00    	call   *0x4121f8
403eaf:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
403eb3:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
403eb6:	ff 15 f8 21 41 00    	call   *0x4121f8
403ebc:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
403ec0:	8d 4d e8             	lea    -0x18(%ebp),%ecx
403ec3:	ff 15 f8 21 41 00    	call   *0x4121f8
403ec9:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
403ecd:	89 5d e0             	mov    %ebx,-0x20(%ebp)
403ed0:	51                   	push   %ecx
403ed1:	be 8d 13 00 00       	mov    $0x138d,%esi
403ed6:	8b ce                	mov    %esi,%ecx
403ed8:	e8 74 5b 00 00       	call   0x409a51
403edd:	50                   	push   %eax
403ede:	6a 07                	push   $0x7
403ee0:	8b 55 08             	mov    0x8(%ebp),%edx
403ee3:	8b 8f 80 00 00 00    	mov    0x80(%edi),%ecx
403ee9:	e8 fc 53 00 00       	call   0x4092ea
403eee:	39 5f 48             	cmp    %ebx,0x48(%edi)
403ef1:	0f 84 40 02 00 00    	je     0x404137
403ef7:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
403efb:	8b ce                	mov    %esi,%ecx