405ce6:	85 f6                	test   %esi,%esi
405ce8:	79 13                	jns    0x405cfd
405cea:	ff 75 0c             	push   0xc(%ebp)
405ced:	68 8c d4 44 00       	push   $0x44d48c
405cf2:	56                   	push   %esi
405cf3:	e8 37 a4 03 00       	call   0x44012f
405cf8:	83 c4 0c             	add    $0xc,%esp
405cfb:	eb 05                	jmp    0x405d02
405cfd:	8b 45 10             	mov    0x10(%ebp),%eax
405d00:	89 38                	mov    %edi,(%eax)
405d02:	5f                   	pop    %edi
405d03:	8b c6                	mov    %esi,%eax
405d05:	5e                   	pop    %esi
405d06:	5b                   	pop    %ebx
405d07:	8b e5                	mov    %ebp,%esp
405d09:	5d                   	pop    %ebp
405d0a:	c2 0c 00             	ret    $0xc
405d0d:	55                   	push   %ebp
405d0e:	8b ec                	mov    %esp,%ebp
405d10:	56                   	push   %esi
405d11:	ff 15 e0 b1 44 00    	call   *0x44b1e0
405d17:	0f b7 c0             	movzwl %ax,%eax
405d1a:	99                   	cltd
405d1b:	52                   	push   %edx
405d1c:	50                   	push   %eax
405d1d:	ff 75 0c             	push   0xc(%ebp)
405d20:	e8 8b a5 01 00       	call   0x4202b0
405d25:	8b f0                	mov    %eax,%esi
405d27:	85 f6                	test   %esi,%esi
405d29:	79 0d                	jns    0x405d38
405d2b:	68 fc ca 44 00       	push   $0x44cafc
405d30:	56                   	push   %esi
405d31:	e8 f9 a3 03 00       	call   0x44012f
405d36:	59                   	pop    %ecx
405d37:	59                   	pop    %ecx
405d38:	8b c6                	mov    %esi,%eax
405d3a:	5e                   	pop    %esi
405d3b:	5d                   	pop    %ebp
405d3c:	c2 08 00             	ret    $0x8
405d3f:	55                   	push   %ebp
405d40:	8b ec                	mov    %esp,%ebp
405d42:	56                   	push   %esi
405d43:	ff 15 e4 b1 44 00    	call   *0x44b1e4
405d49:	0f b7 c0             	movzwl %ax,%eax
405d4c:	99                   	cltd
405d4d:	52                   	push   %edx
405d4e:	50                   	push   %eax
405d4f:	ff 75 0c             	push   0xc(%ebp)
405d52:	e8 59 a5 01 00       	call   0x4202b0
405d57:	8b f0                	mov    %eax,%esi
405d59:	85 f6                	test   %esi,%esi
405d5b:	79 0d                	jns    0x405d6a
405d5d:	68 fc ca 44 00       	push   $0x44cafc
405d62:	56                   	push   %esi
405d63:	e8 c7 a3 03 00       	call   0x44012f
405d68:	59                   	pop    %ecx
405d69:	59                   	pop    %ecx
405d6a:	8b c6                	mov    %esi,%eax
405d6c:	5e                   	pop    %esi
405d6d:	5d                   	pop    %ebp
405d6e:	c2 08 00             	ret    $0x8
405d71:	55                   	push   %ebp
405d72:	8b ec                	mov    %esp,%ebp
405d74:	51                   	push   %ecx
405d75:	51                   	push   %ecx
405d76:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
405d7a:	8d 45 f8             	lea    -0x8(%ebp),%eax
405d7d:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
405d81:	56                   	push   %esi
405d82:	50                   	push   %eax
405d83:	ff 15 80 b1 44 00    	call   *0x44b180
405d89:	50                   	push   %eax
405d8a:	e8 2c ac 03 00       	call   0x4409bb
405d8f:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
405d93:	8d 45 fc             	lea    -0x4(%ebp),%eax
405d96:	75 26                	jne    0x405dbe
405d98:	ff 75 08             	push   0x8(%ebp)
405d9b:	50                   	push   %eax
405d9c:	e8 56 de 03 00       	call   0x443bf7
405da1:	8b f0                	mov    %eax,%esi
405da3:	85 f6                	test   %esi,%esi
405da5:	79 2d                	jns    0x405dd4
405da7:	56                   	push   %esi
405da8:	68 6e 08 00 00       	push   $0x86e
405dad:	68 bc cc 44 00       	push   $0x44ccbc
405db2:	e8 1c da ff ff       	call   0x4037d3
405db7:	68 e8 d7 44 00       	push   $0x44d7e8
405dbc:	eb 2e                	jmp    0x405dec
405dbe:	50                   	push   %eax
405dbf:	ff 75 08             	push   0x8(%ebp)
405dc2:	e8 29 fe ff ff       	call   0x405bf0
405dc7:	8b f0                	mov    %eax,%esi
405dc9:	85 f6                	test   %esi,%esi
405dcb:	79 07                	jns    0x405dd4
405dcd:	68 68 d9 44 00       	push   $0x44d968
405dd2:	eb 18                	jmp    0x405dec
405dd4:	6a 00                	push   $0x0
405dd6:	ff 75 fc             	push   -0x4(%ebp)
405dd9:	ff 75 0c             	push   0xc(%ebp)
405ddc:	e8 13 a5 01 00       	call   0x4202f4
405de1:	8b f0                	mov    %eax,%esi
405de3:	85 f6                	test   %esi,%esi
405de5:	79 0d                	jns    0x405df4
405de7:	68 fc ca 44 00       	push   $0x44cafc
405dec:	56                   	push   %esi
405ded:	e8 3d a3 03 00       	call   0x44012f
405df2:	59                   	pop    %ecx
405df3:	59                   	pop    %ecx
405df4:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
405df8:	74 08                	je     0x405e02
405dfa:	ff 75 fc             	push   -0x4(%ebp)
405dfd:	e8 ed f6 03 00       	call   0x4454ef
405e02:	8b c6                	mov    %esi,%eax
405e04:	5e                   	pop    %esi
405e05:	8b e5                	mov    %ebp,%esp
405e07:	5d                   	pop    %ebp
405e08:	c2 08 00             	ret    $0x8
405e0b:	55                   	push   %ebp
405e0c:	8b ec                	mov    %esp,%ebp
405e0e:	83 ec 28             	sub    $0x28,%esp
405e11:	a1 08 a0 46 00       	mov    0x46a008,%eax
405e16:	33 c5                	xor    %ebp,%eax
405e18:	89 45 fc             	mov    %eax,-0x4(%ebp)
405e1b:	56                   	push   %esi
405e1c:	8b 75 0c             	mov    0xc(%ebp),%esi
405e1f:	33 c0                	xor    %eax,%eax
405e21:	57                   	push   %edi
405e22:	6a 08                	push   $0x8
405e24:	59                   	pop    %ecx
405e25:	8d 7d dc             	lea    -0x24(%ebp),%edi
405e28:	c7 45 d8 10 00 00 00 	movl   $0x10,-0x28(%ebp)
405e2f:	f3 ab                	rep stos %eax,%es:(%edi)
405e31:	8d 45 d8             	lea    -0x28(%ebp),%eax
405e34:	50                   	push   %eax
405e35:	8d 45 dc             	lea    -0x24(%ebp),%eax
405e38:	50                   	push   %eax
405e39:	ff 15 d0 b1 44 00    	call   *0x44b1d0
405e3f:	85 c0                	test   %eax,%eax
405e41:	75 35                	jne    0x405e78
405e43:	ff 15 e8 b0 44 00    	call   *0x44b0e8
405e49:	0f b7 f0             	movzwl %ax,%esi
405e4c:	81 ce 00 00 07 80    	or     $0x80070000,%esi
405e52:	85 c0                	test   %eax,%eax
405e54:	0f 4e f0             	cmovle %eax,%esi
405e57:	b8 05 40 00 80       	mov    $0x80004005,%eax
405e5c:	85 f6                	test   %esi,%esi
405e5e:	0f 49 f0             	cmovns %eax,%esi
405e61:	56                   	push   %esi
405e62:	68 0d 07 00 00       	push   $0x70d
405e67:	68 bc cc 44 00       	push   $0x44ccbc
405e6c:	e8 62 d9 ff ff       	call   0x4037d3
405e71:	68 54 d7 44 00       	push   $0x44d754
405e76:	eb 17                	jmp    0x405e8f
405e78:	6a 00                	push   $0x0
405e7a:	8d 45 dc             	lea    -0x24(%ebp),%eax
405e7d:	50                   	push   %eax
405e7e:	56                   	push   %esi
405e7f:	e8 70 a4 01 00       	call   0x4202f4
405e84:	8b f0                	mov    %eax,%esi
405e86:	85 f6                	test   %esi,%esi
405e88:	79 0d                	jns    0x405e97
405e8a:	68 fc ca 44 00       	push   $0x44cafc
405e8f:	56                   	push   %esi
405e90:	e8 9a a2 03 00       	call   0x44012f
405e95:	59                   	pop    %ecx
405e96:	59                   	pop    %ecx
405e97:	8b 4d fc             	mov    -0x4(%ebp),%ecx
405e9a:	8b c6                	mov    %esi,%eax
405e9c:	5f                   	pop    %edi
405e9d:	33 cd                	xor    %ebp,%ecx
405e9f:	5e                   	pop    %esi
405ea0:	e8 91 7f 02 00       	call   0x42de36
405ea5:	8b e5                	mov    %ebp,%esp
405ea7:	5d                   	pop    %ebp
405ea8:	c2 08 00             	ret    $0x8
405eab:	55                   	push   %ebp
405eac:	8b ec                	mov    %esp,%ebp
405eae:	51                   	push   %ecx
405eaf:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
405eb3:	8d 45 fc             	lea    -0x4(%ebp),%eax
405eb6:	56                   	push   %esi
405eb7:	ff 75 08             	push   0x8(%ebp)
405eba:	50                   	push   %eax
405ebb:	e8 37 dd 03 00       	call   0x443bf7
405ec0:	8b f0                	mov    %eax,%esi
405ec2:	85 f6                	test   %esi,%esi
405ec4:	79 17                	jns    0x405edd
405ec6:	56                   	push   %esi
405ec7:	68 3e 07 00 00       	push   $0x73e
405ecc:	68 bc cc 44 00       	push   $0x44ccbc
405ed1:	e8 fd d8 ff ff       	call   0x4037d3
405ed6:	68 e8 d7 44 00       	push   $0x44d7e8
405edb:	eb 18                	jmp    0x405ef5
405edd:	6a 00                	push   $0x0
405edf:	ff 75 fc             	push   -0x4(%ebp)
405ee2:	ff 75 0c             	push   0xc(%ebp)
405ee5:	e8 0a a4 01 00       	call   0x4202f4
405eea:	8b f0                	mov    %eax,%esi
405eec:	85 f6                	test   %esi,%esi
405eee:	79 0d                	jns    0x405efd
405ef0:	68 fc ca 44 00       	push   $0x44cafc
405ef5:	56                   	push   %esi
405ef6:	e8 34 a2 03 00       	call   0x44012f
405efb:	59                   	pop    %ecx
405efc:	59                   	pop    %ecx
405efd:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
405f01:	74 08                	je     0x405f0b
405f03:	ff 75 fc             	push   -0x4(%ebp)
405f06:	e8 e4 f5 03 00       	call   0x4454ef
405f0b:	8b c6                	mov    %esi,%eax
405f0d:	5e                   	pop    %esi
405f0e:	8b e5                	mov    %ebp,%esp
405f10:	5d                   	pop    %ebp
405f11:	c2 08 00             	ret    $0x8
405f14:	55                   	push   %ebp
405f15:	8b ec                	mov    %esp,%ebp
405f17:	83 ec 1c             	sub    $0x1c,%esp
405f1a:	a1 08 a0 46 00       	mov    0x46a008,%eax
405f1f:	33 c5                	xor    %ebp,%eax
405f21:	89 45 fc             	mov    %eax,-0x4(%ebp)
405f24:	8b 45 0c             	mov    0xc(%ebp),%eax
405f27:	53                   	push   %ebx
405f28:	89 45 e4             	mov    %eax,-0x1c(%ebp)
405f2b:	33 db                	xor    %ebx,%ebx
405f2d:	56                   	push   %esi
405f2e:	57                   	push   %edi
405f2f:	33 c0                	xor    %eax,%eax
405f31:	89 5d e8             	mov    %ebx,-0x18(%ebp)
405f34:	8d 7d ec             	lea    -0x14(%ebp),%edi
405f37:	ab                   	stos   %eax,%es:(%edi)
405f38:	ab                   	stos   %eax,%es:(%edi)
405f39:	ab                   	stos   %eax,%es:(%edi)
405f3a:	ab                   	stos   %eax,%es:(%edi)
405f3b:	8d 45 ec             	lea    -0x14(%ebp),%eax
405f3e:	50                   	push   %eax
405f3f:	ff 15 bc b1 44 00    	call   *0x44b1bc
405f45:	53                   	push   %ebx
405f46:	53                   	push   %ebx
405f47:	53                   	push   %ebx
405f48:	8d 45 ec             	lea    -0x14(%ebp),%eax
405f4b:	50                   	push   %eax
405f4c:	6a 01                	push   $0x1
405f4e:	68 00 04 00 00       	push   $0x400
405f53:	ff 15 dc b1 44 00    	call   *0x44b1dc
405f59:	8b 1d e8 b0 44 00    	mov    0x44b0e8,%ebx
405f5f:	8b f8                	mov    %eax,%edi
405f61:	85 ff                	test   %edi,%edi
405f63:	75 2b                	jne    0x405f90
405f65:	ff d3                	call   *%ebx
405f67:	0f b7 f0             	movzwl %ax,%esi
405f6a:	81 ce 00 00 07 80    	or     $0x80070000,%esi
405f70:	85 c0                	test   %eax,%eax
405f72:	0f 4e f0             	cmovle %eax,%esi
405f75:	85 f6                	test   %esi,%esi
405f77:	79 17                	jns    0x405f90
405f79:	56                   	push   %esi
405f7a:	68 91 08 00 00       	push   $0x891
405f7f:	68 bc cc 44 00       	push   $0x44ccbc
405f84:	e8 4a d8 ff ff       	call   0x4037d3
405f89:	68 88 d9 44 00       	push   $0x44d988
405f8e:	eb 74                	jmp    0x406004
405f90:	57                   	push   %edi
405f91:	8d 45 e8             	lea    -0x18(%ebp),%eax
405f94:	50                   	push   %eax
405f95:	e8 44 bf ff ff       	call   0x401ede
405f9a:	8b f0                	mov    %eax,%esi
405f9c:	85 f6                	test   %esi,%esi
405f9e:	79 07                	jns    0x405fa7
405fa0:	68 c0 d9 44 00       	push   $0x44d9c0
405fa5:	eb 5d                	jmp    0x406004
405fa7:	57                   	push   %edi
405fa8:	ff 75 e8             	push   -0x18(%ebp)
405fab:	8d 45 ec             	lea    -0x14(%ebp),%eax
405fae:	6a 00                	push   $0x0
405fb0:	50                   	push   %eax
405fb1:	6a 01                	push   $0x1
405fb3:	68 00 04 00 00       	push   $0x400
405fb8:	ff 15 dc b1 44 00    	call   *0x44b1dc
405fbe:	85 c0                	test   %eax,%eax
405fc0:	75 2b                	jne    0x405fed
405fc2:	ff d3                	call   *%ebx
405fc4:	0f b7 f0             	movzwl %ax,%esi
405fc7:	81 ce 00 00 07 80    	or     $0x80070000,%esi
405fcd:	85 c0                	test   %eax,%eax
405fcf:	0f 4e f0             	cmovle %eax,%esi
405fd2:	85 f6                	test   %esi,%esi
405fd4:	79 17                	jns    0x405fed
405fd6:	56                   	push   %esi
405fd7:	68 99 08 00 00       	push   $0x899
405fdc:	68 bc cc 44 00       	push   $0x44ccbc
405fe1:	e8 ed d7 ff ff       	call   0x4037d3
405fe6:	68 ec d9 44 00       	push   $0x44d9ec
405feb:	eb 17                	jmp    0x406004
405fed:	57                   	push   %edi
405fee:	ff 75 e8             	push   -0x18(%ebp)
405ff1:	ff 75 e4             	push   -0x1c(%ebp)
405ff4:	e8 fb a2 01 00       	call   0x4202f4
405ff9:	8b f0                	mov    %eax,%esi
405ffb:	85 f6                	test   %esi,%esi
405ffd:	79 0d                	jns    0x40600c
405fff:	68 fc ca 44 00       	push   $0x44cafc
406004:	56                   	push   %esi
406005:	e8 25 a1 03 00       	call   0x44012f
40600a:	59                   	pop    %ecx
40600b:	59                   	pop    %ecx
40600c:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
406010:	74 08                	je     0x40601a
406012:	ff 75 e8             	push   -0x18(%ebp)
406015:	e8 d5 f4 03 00       	call   0x4454ef
40601a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40601d:	8b c6                	mov    %esi,%eax
40601f:	5f                   	pop    %edi
406020:	5e                   	pop    %esi
406021:	33 cd                	xor    %ebp,%ecx
406023:	5b                   	pop    %ebx
406024:	e8 0d 7e 02 00       	call   0x42de36
406029:	8b e5                	mov    %ebp,%esp
40602b:	5d                   	pop    %ebp
40602c:	c2 08 00             	ret    $0x8
40602f:	55                   	push   %ebp
406030:	8b ec                	mov    %esp,%ebp
406032:	56                   	push   %esi
406033:	6a 00                	push   $0x0
406035:	68 04 da 44 00       	push   $0x44da04
40603a:	ff 75 0c             	push   0xc(%ebp)
40603d:	e8 b2 a2 01 00       	call   0x4202f4
406042:	8b f0                	mov    %eax,%esi
406044:	85 f6                	test   %esi,%esi
406046:	79 0d                	jns    0x406055
406048:	68 fc ca 44 00       	push   $0x44cafc
40604d:	56                   	push   %esi
40604e:	e8 dc a0 03 00       	call   0x44012f
406053:	59                   	pop    %ecx
406054:	59                   	pop    %ecx
406055:	8b c6                	mov    %esi,%eax
406057:	5e                   	pop    %esi
406058:	5d                   	pop    %ebp
406059:	c2 08 00             	ret    $0x8
40605c:	55                   	push   %ebp
40605d:	8b ec                	mov    %esp,%ebp
40605f:	51                   	push   %ecx
406060:	56                   	push   %esi
406061:	57                   	push   %edi
406062:	33 ff                	xor    %edi,%edi
406064:	8d 45 fc             	lea    -0x4(%ebp),%eax
406067:	57                   	push   %edi
406068:	57                   	push   %edi
406069:	68 f8 b9 44 00       	push   $0x44b9f8
40606e:	50                   	push   %eax
40606f:	89 7d fc             	mov    %edi,-0x4(%ebp)