403b78:	68 18 24 40 00       	push   $0x402418
403b7d:	56                   	push   %esi
403b7e:	ff 15 8c f0 40 00    	call   *0x40f08c
403b84:	85 c0                	test   %eax,%eax
403b86:	74 53                	je     0x403bdb
403b88:	8b ce                	mov    %esi,%ecx
403b8a:	8d 55 f4             	lea    -0xc(%ebp),%edx
403b8d:	e8 76 fe ff ff       	call   0x403a08
403b92:	8b f0                	mov    %eax,%esi
403b94:	85 f6                	test   %esi,%esi
403b96:	75 cc                	jne    0x403b64
403b98:	50                   	push   %eax
403b99:	50                   	push   %eax
403b9a:	50                   	push   %eax
403b9b:	50                   	push   %eax
403b9c:	ff 15 40 f0 40 00    	call   *0x40f040
403ba2:	a3 fc ed 40 00       	mov    %eax,0x40edfc
403ba7:	be c8 ed 40 00       	mov    $0x40edc8,%esi
403bac:	85 c0                	test   %eax,%eax
403bae:	74 20                	je     0x403bd0
403bb0:	8d 45 bc             	lea    -0x44(%ebp),%eax
403bb3:	50                   	push   %eax
403bb4:	33 c0                	xor    %eax,%eax
403bb6:	50                   	push   %eax
403bb7:	56                   	push   %esi
403bb8:	68 50 39 40 00       	push   $0x403950
403bbd:	50                   	push   %eax
403bbe:	50                   	push   %eax
403bbf:	ff 15 44 f0 40 00    	call   *0x40f044
403bc5:	85 c0                	test   %eax,%eax
403bc7:	74 07                	je     0x403bd0
403bc9:	50                   	push   %eax
403bca:	ff 15 74 f0 40 00    	call   *0x40f074
403bd0:	51                   	push   %ecx
403bd1:	51                   	push   %ecx
403bd2:	8b ce                	mov    %esi,%ecx
403bd4:	e8 8f 14 00 00       	call   0x405068
403bd9:	eb 48                	jmp    0x403c23
403bdb:	6a 00                	push   $0x0
403bdd:	6a 01                	push   $0x1
403bdf:	6a 64                	push   $0x64
403be1:	be c8 ed 40 00       	mov    $0x40edc8,%esi
403be6:	5a                   	pop    %edx
403be7:	8b ce                	mov    %esi,%ecx
403be9:	e8 90 3d 00 00       	call   0x40797e
403bee:	51                   	push   %ecx
403bef:	51                   	push   %ecx
403bf0:	8b ce                	mov    %esi,%ecx
403bf2:	e8 ea 16 00 00       	call   0x4052e1
403bf7:	8b f8                	mov    %eax,%edi
403bf9:	eb 4d                	jmp    0x403c48
403bfb:	6a 00                	push   $0x0
403bfd:	6a 00                	push   $0x0
403bff:	6a 64                	push   $0x64
403c01:	be c8 ed 40 00       	mov    $0x40edc8,%esi
403c06:	5a                   	pop    %edx
403c07:	8b ce                	mov    %esi,%ecx
403c09:	e8 70 3d 00 00       	call   0x40797e
403c0e:	51                   	push   %ecx
403c0f:	51                   	push   %ecx
403c10:	8b ce                	mov    %esi,%ecx
403c12:	e8 a1 1c 00 00       	call   0x4058b8
403c17:	eb de                	jmp    0x403bf7
403c19:	8d 45 d4             	lea    -0x2c(%ebp),%eax
403c1c:	50                   	push   %eax
403c1d:	ff 15 f0 f0 40 00    	call   *0x40f0f0
403c23:	33 c0                	xor    %eax,%eax
403c25:	50                   	push   %eax
403c26:	50                   	push   %eax
403c27:	50                   	push   %eax
403c28:	8d 45 d4             	lea    -0x2c(%ebp),%eax
403c2b:	50                   	push   %eax
403c2c:	ff 15 f4 f0 40 00    	call   *0x40f0f4
403c32:	85 c0                	test   %eax,%eax
403c34:	75 e3                	jne    0x403c19
403c36:	8b ce                	mov    %esi,%ecx
403c38:	e8 5d 13 00 00       	call   0x404f9a
403c3d:	68 e8 03 00 00       	push   $0x3e8
403c42:	ff 15 58 f0 40 00    	call   *0x40f058
403c48:	8b ce                	mov    %esi,%ecx
403c4a:	e8 c9 12 00 00       	call   0x404f18
403c4f:	ff 15 10 f1 40 00    	call   *0x40f110
403c55:	83 3d c4 c5 40 00 00 	cmpl   $0x0,0x40c5c4
403c5c:	74 2d                	je     0x403c8b
403c5e:	a1 9c c0 40 00       	mov    0x40c09c,%eax
403c63:	33 f6                	xor    %esi,%esi
403c65:	8b 0d 98 c0 40 00    	mov    0x40c098,%ecx
403c6b:	50                   	push   %eax
403c6c:	51                   	push   %ecx
403c6d:	89 35 80 c0 40 00    	mov    %esi,0x40c080
403c73:	89 35 98 c0 40 00    	mov    %esi,0x40c098
403c79:	89 35 9c c0 40 00    	mov    %esi,0x40c09c
403c7f:	ff 15 24 f0 40 00    	call   *0x40f024
403c85:	89 35 c4 c5 40 00    	mov    %esi,0x40c5c4
403c8b:	8b 4d fc             	mov    -0x4(%ebp),%ecx
403c8e:	8b c7                	mov    %edi,%eax
403c90:	5f                   	pop    %edi
403c91:	33 cd                	xor    %ebp,%ecx
403c93:	5e                   	pop    %esi
403c94:	e8 c7 5b 00 00       	call   0x409860
403c99:	8b e5                	mov    %ebp,%esp
403c9b:	5d                   	pop    %ebp
403c9c:	8b e3                	mov    %ebx,%esp
403c9e:	5b                   	pop    %ebx
403c9f:	c2 10 00             	ret    $0x10
403ca2:	cc                   	int3
403ca3:	cc                   	int3
403ca4:	cc                   	int3
403ca5:	cc                   	int3
403ca6:	cc                   	int3
403ca7:	cc                   	int3
403ca8:	cc                   	int3
403ca9:	cc                   	int3
403caa:	cc                   	int3
403cab:	cc                   	int3
403cac:	cc                   	int3
403cad:	cc                   	int3
403cae:	cc                   	int3
403caf:	cc                   	int3
403cb0:	6a 0c                	push   $0xc
403cb2:	b8 e7 a3 40 00       	mov    $0x40a3e7,%eax
403cb7:	e8 7b 61 00 00       	call   0x409e37
403cbc:	8b 4d 10             	mov    0x10(%ebp),%ecx
403cbf:	85 c9                	test   %ecx,%ecx
403cc1:	75 0a                	jne    0x403ccd
403cc3:	b8 03 40 00 80       	mov    $0x80004003,%eax
403cc8:	e9 ae 00 00 00       	jmp    0x403d7b
403ccd:	33 c0                	xor    %eax,%eax
403ccf:	be 0e 00 07 80       	mov    $0x8007000e,%esi
403cd4:	6a 30                	push   $0x30
403cd6:	89 01                	mov    %eax,(%ecx)
403cd8:	89 75 ec             	mov    %esi,-0x14(%ebp)
403cdb:	89 45 e8             	mov    %eax,-0x18(%ebp)
403cde:	89 45 fc             	mov    %eax,-0x4(%ebp)
403ce1:	e8 6e 50 00 00       	call   0x408d54
403ce6:	8b d8                	mov    %eax,%ebx
403ce8:	59                   	pop    %ecx
403ce9:	85 db                	test   %ebx,%ebx
403ceb:	74 1f                	je     0x403d0c
403ced:	83 63 04 00          	andl   $0x0,0x4(%ebx)
403cf1:	8d 7b 08             	lea    0x8(%ebx),%edi
403cf4:	33 c0                	xor    %eax,%eax
403cf6:	6a 06                	push   $0x6
403cf8:	59                   	pop    %ecx
403cf9:	f3 ab                	rep stos %eax,%es:(%edi)
403cfb:	88 43 20             	mov    %al,0x20(%ebx)
403cfe:	89 43 28             	mov    %eax,0x28(%ebx)
403d01:	89 43 2c             	mov    %eax,0x2c(%ebx)
403d04:	c7 03 ec 15 40 00    	movl   $0x4015ec,(%ebx)
403d0a:	eb 10                	jmp    0x403d1c
403d0c:	33 db                	xor    %ebx,%ebx
403d0e:	eb 0c                	jmp    0x403d1c
403d10:	b8 16 3d 40 00       	mov    $0x403d16,%eax
403d15:	c3                   	ret
403d16:	8b 75 ec             	mov    -0x14(%ebp),%esi
403d19:	8b 5d e8             	mov    -0x18(%ebp),%ebx
403d1c:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
403d20:	85 db                	test   %ebx,%ebx
403d22:	74 55                	je     0x403d79
403d24:	8b 45 08             	mov    0x8(%ebp),%eax
403d27:	8d 4b 08             	lea    0x8(%ebx),%ecx
403d2a:	89 43 24             	mov    %eax,0x24(%ebx)
403d2d:	e8 81 1c 00 00       	call   0x4059b3
403d32:	8b f0                	mov    %eax,%esi
403d34:	85 f6                	test   %esi,%esi
403d36:	78 08                	js     0x403d40
403d38:	33 f6                	xor    %esi,%esi
403d3a:	c6 43 20 01          	movb   $0x1,0x20(%ebx)
403d3e:	85 f6                	test   %esi,%esi
403d40:	75 1b                	jne    0x403d5d
403d42:	ff 75 10             	push   0x10(%ebp)
403d45:	8b 03                	mov    (%ebx),%eax
403d47:	ff 75 0c             	push   0xc(%ebp)
403d4a:	53                   	push   %ebx
403d4b:	8b 30                	mov    (%eax),%esi
403d4d:	8b ce                	mov    %esi,%ecx
403d4f:	ff 15 20 f2 40 00    	call   *0x40f220
403d55:	ff d6                	call   *%esi
403d57:	8b f0                	mov    %eax,%esi
403d59:	85 f6                	test   %esi,%esi
403d5b:	74 1c                	je     0x403d79
403d5d:	8b cb                	mov    %ebx,%ecx
403d5f:	c7 03 ec 15 40 00    	movl   $0x4015ec,(%ebx)
403d65:	c7 43 04 01 00 00 c0 	movl   $0xc0000001,0x4(%ebx)
403d6c:	e8 01 06 00 00       	call   0x404372
403d71:	53                   	push   %ebx
403d72:	ff 15 04 f2 40 00    	call   *0x40f204
403d78:	59                   	pop    %ecx
403d79:	8b c6                	mov    %esi,%eax
403d7b:	e8 1c 60 00 00       	call   0x409d9c
403d80:	c2 0c 00             	ret    $0xc
403d83:	cc                   	int3
403d84:	cc                   	int3
403d85:	cc                   	int3
403d86:	cc                   	int3
403d87:	cc                   	int3
403d88:	cc                   	int3
403d89:	cc                   	int3
403d8a:	cc                   	int3
403d8b:	cc                   	int3
403d8c:	cc                   	int3
403d8d:	cc                   	int3
403d8e:	cc                   	int3
403d8f:	cc                   	int3
403d90:	8b ff                	mov    %edi,%edi
403d92:	55                   	push   %ebp
403d93:	8b ec                	mov    %esp,%ebp
403d95:	a1 6c c0 40 00       	mov    0x40c06c,%eax
403d9a:	33 c9                	xor    %ecx,%ecx
403d9c:	85 c0                	test   %eax,%eax
403d9e:	74 08                	je     0x403da8
403da0:	39 0d 74 c0 40 00    	cmp    %ecx,0x40c074
403da6:	75 0f                	jne    0x403db7
403da8:	ff 75 14             	push   0x14(%ebp)
403dab:	e8 ab 0e 00 00       	call   0x404c5b
403db0:	8b c8                	mov    %eax,%ecx
403db2:	a1 6c c0 40 00       	mov    0x40c06c,%eax
403db7:	85 c0                	test   %eax,%eax
403db9:	74 29                	je     0x403de4
403dbb:	56                   	push   %esi
403dbc:	ff 75 28             	push   0x28(%ebp)
403dbf:	8b 30                	mov    (%eax),%esi
403dc1:	ff 75 24             	push   0x24(%ebp)
403dc4:	ff 75 20             	push   0x20(%ebp)
403dc7:	8b 76 2c             	mov    0x2c(%esi),%esi
403dca:	8b ce                	mov    %esi,%ecx
403dcc:	ff 75 1c             	push   0x1c(%ebp)
403dcf:	ff 75 18             	push   0x18(%ebp)
403dd2:	ff 75 0c             	push   0xc(%ebp)
403dd5:	ff 75 08             	push   0x8(%ebp)
403dd8:	50                   	push   %eax
403dd9:	ff 15 20 f2 40 00    	call   *0x40f220
403ddf:	ff d6                	call   *%esi
403de1:	8b c8                	mov    %eax,%ecx
403de3:	5e                   	pop    %esi
403de4:	8b c1                	mov    %ecx,%eax
403de6:	5d                   	pop    %ebp
403de7:	c2 24 00             	ret    $0x24
403dea:	cc                   	int3
403deb:	cc                   	int3
403dec:	cc                   	int3
403ded:	cc                   	int3
403dee:	cc                   	int3
403def:	cc                   	int3
403df0:	8b ff                	mov    %edi,%edi
403df2:	55                   	push   %ebp
403df3:	8b ec                	mov    %esp,%ebp
403df5:	ff 75 1c             	push   0x1c(%ebp)
403df8:	ff 75 18             	push   0x18(%ebp)
403dfb:	ff 75 14             	push   0x14(%ebp)
403dfe:	ff 75 10             	push   0x10(%ebp)
403e01:	51                   	push   %ecx
403e02:	e8 cd 09 00 00       	call   0x4047d4
403e07:	5d                   	pop    %ebp
403e08:	c2 18 00             	ret    $0x18
403e0b:	cc                   	int3
403e0c:	cc                   	int3
403e0d:	cc                   	int3
403e0e:	cc                   	int3
403e0f:	cc                   	int3
403e10:	8b ff                	mov    %edi,%edi
403e12:	55                   	push   %ebp
403e13:	8b ec                	mov    %esp,%ebp
403e15:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
403e19:	74 07                	je     0x403e22
403e1b:	b8 0b 00 02 80       	mov    $0x8002000b,%eax
403e20:	eb 0b                	jmp    0x403e2d
403e22:	ff 75 14             	push   0x14(%ebp)
403e25:	ff 75 10             	push   0x10(%ebp)
403e28:	e8 54 09 00 00       	call   0x404781
403e2d:	5d                   	pop    %ebp
403e2e:	c2 10 00             	ret    $0x10
403e31:	cc                   	int3
403e32:	cc                   	int3
403e33:	cc                   	int3
403e34:	cc                   	int3
403e35:	cc                   	int3
403e36:	cc                   	int3
403e37:	cc                   	int3
403e38:	cc                   	int3
403e39:	cc                   	int3
403e3a:	cc                   	int3
403e3b:	cc                   	int3
403e3c:	cc                   	int3
403e3d:	cc                   	int3
403e3e:	cc                   	int3
403e3f:	cc                   	int3
403e40:	8b ff                	mov    %edi,%edi
403e42:	55                   	push   %ebp
403e43:	8b ec                	mov    %esp,%ebp
403e45:	8b 45 0c             	mov    0xc(%ebp),%eax
403e48:	85 c0                	test   %eax,%eax
403e4a:	75 07                	jne    0x403e53
403e4c:	b8 03 40 00 80       	mov    $0x80004003,%eax
403e51:	eb 08                	jmp    0x403e5b
403e53:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
403e59:	33 c0                	xor    %eax,%eax
403e5b:	5d                   	pop    %ebp
403e5c:	c2 08 00             	ret    $0x8
403e5f:	cc                   	int3
403e60:	8b ff                	mov    %edi,%edi
403e62:	55                   	push   %ebp
403e63:	8b ec                	mov    %esp,%ebp
403e65:	8b 4d 08             	mov    0x8(%ebp),%ecx
403e68:	8b 55 0c             	mov    0xc(%ebp),%edx
403e6b:	ff 75 10             	push   0x10(%ebp)
403e6e:	85 c9                	test   %ecx,%ecx
403e70:	75 07                	jne    0x403e79
403e72:	e8 93 02 00 00       	call   0x40410a
403e77:	eb 05                	jmp    0x403e7e
403e79:	e8 bb 01 00 00       	call   0x404039
403e7e:	5d                   	pop    %ebp
403e7f:	c2 0c 00             	ret    $0xc
403e82:	cc                   	int3
403e83:	cc                   	int3
403e84:	cc                   	int3
403e85:	cc                   	int3
403e86:	cc                   	int3
403e87:	cc                   	int3
403e88:	cc                   	int3
403e89:	cc                   	int3
403e8a:	cc                   	int3
403e8b:	cc                   	int3
403e8c:	cc                   	int3
403e8d:	cc                   	int3
403e8e:	cc                   	int3
403e8f:	cc                   	int3
403e90:	33 c0                	xor    %eax,%eax
403e92:	c3                   	ret
403e93:	cc                   	int3
403e94:	cc                   	int3
403e95:	cc                   	int3
403e96:	cc                   	int3
403e97:	cc                   	int3
403e98:	cc                   	int3
403e99:	cc                   	int3
403e9a:	cc                   	int3
403e9b:	cc                   	int3
403e9c:	cc                   	int3
403e9d:	cc                   	int3
403e9e:	cc                   	int3
403e9f:	cc                   	int3
403ea0:	8b ff                	mov    %edi,%edi
403ea2:	55                   	push   %ebp
403ea3:	8b ec                	mov    %esp,%ebp
403ea5:	ff 75 10             	push   0x10(%ebp)
403ea8:	8b 4d 08             	mov    0x8(%ebp),%ecx
403eab:	ba 70 16 40 00       	mov    $0x401670,%edx
403eb0:	ff 75 0c             	push   0xc(%ebp)
403eb3:	e8 36 1f 00 00       	call   0x405dee