446d62:	85 f6                	test   %esi,%esi
446d64:	0f 49 f0             	cmovns %eax,%esi
446d67:	5b                   	pop    %ebx
446d68:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
446d6c:	74 09                	je     0x446d77
446d6e:	ff 75 fc             	push   -0x4(%ebp)
446d71:	ff 15 20 b3 44 00    	call   *0x44b320
446d77:	8b 4d f8             	mov    -0x8(%ebp),%ecx
446d7a:	85 c9                	test   %ecx,%ecx
446d7c:	74 06                	je     0x446d84
446d7e:	8b 01                	mov    (%ecx),%eax
446d80:	51                   	push   %ecx
446d81:	ff 50 08             	call   *0x8(%eax)
446d84:	8b 4d f4             	mov    -0xc(%ebp),%ecx
446d87:	85 c9                	test   %ecx,%ecx
446d89:	74 06                	je     0x446d91
446d8b:	8b 01                	mov    (%ecx),%eax
446d8d:	51                   	push   %ecx
446d8e:	ff 50 08             	call   *0x8(%eax)
446d91:	8b 4d f0             	mov    -0x10(%ebp),%ecx
446d94:	85 c9                	test   %ecx,%ecx
446d96:	74 06                	je     0x446d9e
446d98:	8b 01                	mov    (%ecx),%eax
446d9a:	51                   	push   %ecx
446d9b:	ff 50 08             	call   *0x8(%eax)
446d9e:	5f                   	pop    %edi
446d9f:	8b c6                	mov    %esi,%eax
446da1:	5e                   	pop    %esi
446da2:	8b e5                	mov    %ebp,%esp
446da4:	5d                   	pop    %ebp
446da5:	c2 08 00             	ret    $0x8
446da8:	55                   	push   %ebp
446da9:	8b ec                	mov    %esp,%ebp
446dab:	83 ec 10             	sub    $0x10,%esp
446dae:	56                   	push   %esi
446daf:	57                   	push   %edi
446db0:	8b 7d 08             	mov    0x8(%ebp),%edi
446db3:	8d 4d f0             	lea    -0x10(%ebp),%ecx
446db6:	33 c0                	xor    %eax,%eax
446db8:	89 45 f0             	mov    %eax,-0x10(%ebp)
446dbb:	89 45 f4             	mov    %eax,-0xc(%ebp)
446dbe:	89 45 f8             	mov    %eax,-0x8(%ebp)
446dc1:	89 45 fc             	mov    %eax,-0x4(%ebp)
446dc4:	8b 07                	mov    (%edi),%eax
446dc6:	51                   	push   %ecx
446dc7:	57                   	push   %edi
446dc8:	ff 50 44             	call   *0x44(%eax)
446dcb:	8b f0                	mov    %eax,%esi
446dcd:	85 f6                	test   %esi,%esi
446dcf:	0f 88 33 01 00 00    	js     0x446f08
446dd5:	53                   	push   %ebx
446dd6:	8d 45 fc             	lea    -0x4(%ebp),%eax
446dd9:	50                   	push   %eax
446dda:	8d 45 f8             	lea    -0x8(%ebp),%eax
446ddd:	50                   	push   %eax
446dde:	ff 75 f0             	push   -0x10(%ebp)
446de1:	e8 f1 c8 ff ff       	call   0x4436d7
446de6:	8b 5d 0c             	mov    0xc(%ebp),%ebx
446de9:	e9 86 00 00 00       	jmp    0x446e74
446dee:	6a ff                	push   $0xffffffff
446df0:	68 6c 6a 46 00       	push   $0x466a6c
446df5:	6a ff                	push   $0xffffffff
446df7:	ff 75 fc             	push   -0x4(%ebp)
446dfa:	6a 00                	push   $0x0
446dfc:	6a 7f                	push   $0x7f
446dfe:	ff 15 28 b1 44 00    	call   *0x44b128
446e04:	83 f8 02             	cmp    $0x2,%eax
446e07:	75 06                	jne    0x446e0f
446e09:	ff 75 f8             	push   -0x8(%ebp)
446e0c:	53                   	push   %ebx
446e0d:	eb 22                	jmp    0x446e31
446e0f:	6a ff                	push   $0xffffffff
446e11:	68 78 6a 46 00       	push   $0x466a78
446e16:	6a ff                	push   $0xffffffff
446e18:	ff 75 fc             	push   -0x4(%ebp)
446e1b:	6a 00                	push   $0x0
446e1d:	6a 7f                	push   $0x7f
446e1f:	ff 15 28 b1 44 00    	call   *0x44b128
446e25:	83 f8 02             	cmp    $0x2,%eax
446e28:	75 16                	jne    0x446e40
446e2a:	ff 75 f8             	push   -0x8(%ebp)
446e2d:	8d 43 04             	lea    0x4(%ebx),%eax
446e30:	50                   	push   %eax
446e31:	e8 8e f9 ff ff       	call   0x4467c4
446e36:	8b f0                	mov    %eax,%esi
446e38:	85 f6                	test   %esi,%esi
446e3a:	0f 88 c7 00 00 00    	js     0x446f07
446e40:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
446e44:	74 0d                	je     0x446e53
446e46:	ff 75 fc             	push   -0x4(%ebp)
446e49:	ff 15 20 b3 44 00    	call   *0x44b320
446e4f:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
446e53:	8b 4d f8             	mov    -0x8(%ebp),%ecx
446e56:	85 c9                	test   %ecx,%ecx
446e58:	74 0a                	je     0x446e64
446e5a:	8b 01                	mov    (%ecx),%eax
446e5c:	51                   	push   %ecx
446e5d:	ff 50 08             	call   *0x8(%eax)
446e60:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
446e64:	8d 45 fc             	lea    -0x4(%ebp),%eax
446e67:	50                   	push   %eax
446e68:	8d 45 f8             	lea    -0x8(%ebp),%eax
446e6b:	50                   	push   %eax
446e6c:	ff 75 f0             	push   -0x10(%ebp)
446e6f:	e8 63 c8 ff ff       	call   0x4436d7
446e74:	8b f0                	mov    %eax,%esi
446e76:	85 f6                	test   %esi,%esi
446e78:	0f 84 70 ff ff ff    	je     0x446dee
446e7e:	0f 88 83 00 00 00    	js     0x446f07
446e84:	8b 07                	mov    (%edi),%eax
446e86:	8d 4d f4             	lea    -0xc(%ebp),%ecx
446e89:	51                   	push   %ecx
446e8a:	57                   	push   %edi
446e8b:	ff 50 30             	call   *0x30(%eax)
446e8e:	8b f0                	mov    %eax,%esi
446e90:	85 f6                	test   %esi,%esi
446e92:	78 73                	js     0x446f07
446e94:	8d 45 fc             	lea    -0x4(%ebp),%eax
446e97:	50                   	push   %eax
446e98:	8d 45 f8             	lea    -0x8(%ebp),%eax
446e9b:	50                   	push   %eax
446e9c:	ff 75 f4             	push   -0xc(%ebp)
446e9f:	e8 bc c8 ff ff       	call   0x443760
446ea4:	8b f0                	mov    %eax,%esi
446ea6:	85 f6                	test   %esi,%esi
446ea8:	75 4f                	jne    0x446ef9
446eaa:	8d 43 0c             	lea    0xc(%ebx),%eax
446ead:	50                   	push   %eax
446eae:	ff 75 f8             	push   -0x8(%ebp)
446eb1:	e8 16 0b 00 00       	call   0x4479cc
446eb6:	8b f0                	mov    %eax,%esi
446eb8:	85 f6                	test   %esi,%esi
446eba:	78 4b                	js     0x446f07
446ebc:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
446ec0:	74 0d                	je     0x446ecf
446ec2:	ff 75 fc             	push   -0x4(%ebp)
446ec5:	ff 15 20 b3 44 00    	call   *0x44b320
446ecb:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
446ecf:	8b 4d f8             	mov    -0x8(%ebp),%ecx
446ed2:	85 c9                	test   %ecx,%ecx
446ed4:	74 0a                	je     0x446ee0
446ed6:	8b 01                	mov    (%ecx),%eax
446ed8:	51                   	push   %ecx
446ed9:	ff 50 08             	call   *0x8(%eax)
446edc:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
446ee0:	8d 45 fc             	lea    -0x4(%ebp),%eax
446ee3:	50                   	push   %eax
446ee4:	8d 45 f8             	lea    -0x8(%ebp),%eax
446ee7:	50                   	push   %eax
446ee8:	ff 75 f4             	push   -0xc(%ebp)
446eeb:	e8 70 c8 ff ff       	call   0x443760
446ef0:	8b f0                	mov    %eax,%esi
446ef2:	8d 43 0c             	lea    0xc(%ebx),%eax
446ef5:	85 f6                	test   %esi,%esi
446ef7:	74 b4                	je     0x446ead
446ef9:	78 0c                	js     0x446f07
446efb:	57                   	push   %edi
446efc:	8d 43 08             	lea    0x8(%ebx),%eax
446eff:	50                   	push   %eax
446f00:	e8 bf f8 ff ff       	call   0x4467c4
446f05:	8b f0                	mov    %eax,%esi
446f07:	5b                   	pop    %ebx
446f08:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
446f0c:	74 09                	je     0x446f17
446f0e:	ff 75 fc             	push   -0x4(%ebp)
446f11:	ff 15 20 b3 44 00    	call   *0x44b320
446f17:	8b 4d f8             	mov    -0x8(%ebp),%ecx
446f1a:	85 c9                	test   %ecx,%ecx
446f1c:	74 06                	je     0x446f24
446f1e:	8b 01                	mov    (%ecx),%eax
446f20:	51                   	push   %ecx
446f21:	ff 50 08             	call   *0x8(%eax)
446f24:	8b 4d f4             	mov    -0xc(%ebp),%ecx
446f27:	85 c9                	test   %ecx,%ecx
446f29:	74 06                	je     0x446f31
446f2b:	8b 01                	mov    (%ecx),%eax
446f2d:	51                   	push   %ecx
446f2e:	ff 50 08             	call   *0x8(%eax)
446f31:	8b 4d f0             	mov    -0x10(%ebp),%ecx
446f34:	85 c9                	test   %ecx,%ecx
446f36:	74 06                	je     0x446f3e
446f38:	8b 01                	mov    (%ecx),%eax
446f3a:	51                   	push   %ecx
446f3b:	ff 50 08             	call   *0x8(%eax)
446f3e:	5f                   	pop    %edi
446f3f:	8b c6                	mov    %esi,%eax
446f41:	5e                   	pop    %esi
446f42:	8b e5                	mov    %ebp,%esp
446f44:	5d                   	pop    %ebp
446f45:	c2 08 00             	ret    $0x8
446f48:	55                   	push   %ebp
446f49:	8b ec                	mov    %esp,%ebp
446f4b:	51                   	push   %ecx
446f4c:	51                   	push   %ecx
446f4d:	8b 45 08             	mov    0x8(%ebp),%eax
446f50:	8d 55 f8             	lea    -0x8(%ebp),%edx
446f53:	56                   	push   %esi
446f54:	57                   	push   %edi
446f55:	52                   	push   %edx
446f56:	8b 08                	mov    (%eax),%ecx
446f58:	33 ff                	xor    %edi,%edi
446f5a:	50                   	push   %eax
446f5b:	89 7d f8             	mov    %edi,-0x8(%ebp)
446f5e:	89 7d fc             	mov    %edi,-0x4(%ebp)
446f61:	ff 91 b4 00 00 00    	call   *0xb4(%ecx)
446f67:	8b f0                	mov    %eax,%esi
446f69:	85 f6                	test   %esi,%esi
446f6b:	78 27                	js     0x446f94
446f6d:	8d 45 fc             	lea    -0x4(%ebp),%eax
446f70:	50                   	push   %eax
446f71:	ff 75 f8             	push   -0x8(%ebp)
446f74:	e8 7b 03 00 00       	call   0x4472f4
446f79:	8b f0                	mov    %eax,%esi
446f7b:	85 f6                	test   %esi,%esi
446f7d:	78 12                	js     0x446f91
446f7f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
446f82:	33 c0                	xor    %eax,%eax
446f84:	83 fe 01             	cmp    $0x1,%esi
446f87:	0f 44 f0             	cmove  %eax,%esi
446f8a:	8b 45 0c             	mov    0xc(%ebp),%eax
446f8d:	89 08                	mov    %ecx,(%eax)
446f8f:	eb 03                	jmp    0x446f94
446f91:	8b 7d fc             	mov    -0x4(%ebp),%edi
446f94:	8b 4d f8             	mov    -0x8(%ebp),%ecx
446f97:	85 c9                	test   %ecx,%ecx
446f99:	74 06                	je     0x446fa1
446f9b:	8b 01                	mov    (%ecx),%eax
446f9d:	51                   	push   %ecx
446f9e:	ff 50 08             	call   *0x8(%eax)
446fa1:	85 ff                	test   %edi,%edi
446fa3:	74 06                	je     0x446fab
446fa5:	57                   	push   %edi
446fa6:	e8 bd 0b 00 00       	call   0x447b68
446fab:	5f                   	pop    %edi
446fac:	8b c6                	mov    %esi,%eax
446fae:	5e                   	pop    %esi
446faf:	8b e5                	mov    %ebp,%esp
446fb1:	5d                   	pop    %ebp
446fb2:	c2 08 00             	ret    $0x8
446fb5:	cc                   	int3
446fb6:	cc                   	int3
446fb7:	55                   	push   %ebp
446fb8:	8b ec                	mov    %esp,%ebp
446fba:	83 ec 10             	sub    $0x10,%esp
446fbd:	53                   	push   %ebx
446fbe:	8b 5d 08             	mov    0x8(%ebp),%ebx
446fc1:	33 c0                	xor    %eax,%eax
446fc3:	56                   	push   %esi
446fc4:	57                   	push   %edi
446fc5:	8b 7d 0c             	mov    0xc(%ebp),%edi
446fc8:	89 45 f4             	mov    %eax,-0xc(%ebp)
446fcb:	89 45 f8             	mov    %eax,-0x8(%ebp)
446fce:	89 45 fc             	mov    %eax,-0x4(%ebp)
446fd1:	89 5f 38             	mov    %ebx,0x38(%edi)
446fd4:	8b 03                	mov    (%ebx),%eax
446fd6:	53                   	push   %ebx
446fd7:	ff 50 04             	call   *0x4(%eax)
446fda:	8d 47 20             	lea    0x20(%edi),%eax
446fdd:	50                   	push   %eax
446fde:	8d 4f 24             	lea    0x24(%edi),%ecx
446fe1:	51                   	push   %ecx
446fe2:	68 8c 69 46 00       	push   $0x46698c
446fe7:	53                   	push   %ebx
446fe8:	e8 07 f5 ff ff       	call   0x4464f4
446fed:	8b f0                	mov    %eax,%esi
446fef:	85 f6                	test   %esi,%esi
446ff1:	0f 88 c9 02 00 00    	js     0x4472c0
446ff7:	8d 47 28             	lea    0x28(%edi),%eax
446ffa:	50                   	push   %eax
446ffb:	8d 4f 2c             	lea    0x2c(%edi),%ecx
446ffe:	51                   	push   %ecx
446fff:	68 9c 69 46 00       	push   $0x46699c
447004:	53                   	push   %ebx
447005:	e8 82 f5 ff ff       	call   0x44658c
44700a:	8b f0                	mov    %eax,%esi
44700c:	85 f6                	test   %esi,%esi
44700e:	0f 88 ac 02 00 00    	js     0x4472c0
447014:	8d 47 30             	lea    0x30(%edi),%eax
447017:	50                   	push   %eax
447018:	8d 4f 34             	lea    0x34(%edi),%ecx
44701b:	51                   	push   %ecx
44701c:	68 bc 69 46 00       	push   $0x4669bc
447021:	53                   	push   %ebx
447022:	e8 95 f6 ff ff       	call   0x4466bc
447027:	8b f0                	mov    %eax,%esi
447029:	85 f6                	test   %esi,%esi
44702b:	0f 88 8f 02 00 00    	js     0x4472c0
447031:	8b 03                	mov    (%ebx),%eax
447033:	8d 4d f4             	lea    -0xc(%ebp),%ecx
447036:	51                   	push   %ecx
447037:	53                   	push   %ebx
447038:	ff 50 30             	call   *0x30(%eax)
44703b:	8b f0                	mov    %eax,%esi
44703d:	85 f6                	test   %esi,%esi
44703f:	0f 88 7b 02 00 00    	js     0x4472c0
447045:	8d 45 fc             	lea    -0x4(%ebp),%eax
447048:	50                   	push   %eax
447049:	8d 45 f8             	lea    -0x8(%ebp),%eax
44704c:	50                   	push   %eax
44704d:	ff 75 f4             	push   -0xc(%ebp)
447050:	e8 0b c7 ff ff       	call   0x443760
447055:	8b f0                	mov    %eax,%esi
447057:	85 f6                	test   %esi,%esi
447059:	0f 85 07 02 00 00    	jne    0x447266
44705f:	21 75 0c             	and    %esi,0xc(%ebp)
447062:	21 75 08             	and    %esi,0x8(%ebp)
447065:	8b 1d 28 b1 44 00    	mov    0x44b128,%ebx
44706b:	89 75 f0             	mov    %esi,-0x10(%ebp)
44706e:	6a ff                	push   $0xffffffff
447070:	68 78 3c 46 00       	push   $0x463c78
447075:	6a ff                	push   $0xffffffff
447077:	ff 75 fc             	push   -0x4(%ebp)
44707a:	6a 00                	push   $0x0
44707c:	6a 7f                	push   $0x7f
44707e:	ff d3                	call   *%ebx
447080:	83 f8 02             	cmp    $0x2,%eax
447083:	75 0e                	jne    0x447093
447085:	ff 75 f8             	push   -0x8(%ebp)
447088:	57                   	push   %edi
447089:	e8 36 f7 ff ff       	call   0x4467c4
44708e:	e9 73 01 00 00       	jmp    0x447206
447093:	6a ff                	push   $0xffffffff
447095:	68 80 6a 46 00       	push   $0x466a80
44709a:	6a ff                	push   $0xffffffff
44709c:	ff 75 fc             	push   -0x4(%ebp)
44709f:	6a 00                	push   $0x0
4470a1:	6a 7f                	push   $0x7f
4470a3:	ff d3                	call   *%ebx
4470a5:	83 f8 02             	cmp    $0x2,%eax
4470a8:	75 09                	jne    0x4470b3
4470aa:	8d 47 04             	lea    0x4(%edi),%eax
4470ad:	ff 75 f8             	push   -0x8(%ebp)
4470b0:	50                   	push   %eax
4470b1:	eb d6                	jmp    0x447089
4470b3:	6a ff                	push   $0xffffffff
4470b5:	68 08 6a 46 00       	push   $0x466a08
4470ba:	6a ff                	push   $0xffffffff
4470bc:	ff 75 fc             	push   -0x4(%ebp)
4470bf:	6a 00                	push   $0x0
4470c1:	6a 7f                	push   $0x7f
4470c3:	ff d3                	call   *%ebx
4470c5:	83 f8 02             	cmp    $0x2,%eax
4470c8:	75 05                	jne    0x4470cf
4470ca:	8d 47 08             	lea    0x8(%edi),%eax
4470cd:	eb de                	jmp    0x4470ad
4470cf:	6a ff                	push   $0xffffffff
4470d1:	68 90 6a 46 00       	push   $0x466a90
4470d6:	6a ff                	push   $0xffffffff
4470d8:	ff 75 fc             	push   -0x4(%ebp)
4470db:	6a 00                	push   $0x0