408c45:	68 a0 bd 43 00       	push   $0x43bda0
408c4a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
408c50:	50                   	push   %eax
408c51:	56                   	push   %esi
408c52:	57                   	push   %edi
408c53:	a1 14 50 45 00       	mov    0x455014,%eax
408c58:	33 c5                	xor    %ebp,%eax
408c5a:	50                   	push   %eax
408c5b:	8d 45 f4             	lea    -0xc(%ebp),%eax
408c5e:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
408c64:	8b f1                	mov    %ecx,%esi
408c66:	e8 bf 06 01 00       	call   0x41932a
408c6b:	84 c0                	test   %al,%al
408c6d:	75 07                	jne    0x408c76
408c6f:	8b 0e                	mov    (%esi),%ecx
408c71:	e8 1a 10 00 00       	call   0x409c90
408c76:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
408c7d:	8b 0e                	mov    (%esi),%ecx
408c7f:	8b 01                	mov    (%ecx),%eax
408c81:	8b 40 04             	mov    0x4(%eax),%eax
408c84:	8b 7c 08 38          	mov    0x38(%eax,%ecx,1),%edi
408c88:	85 ff                	test   %edi,%edi
408c8a:	74 11                	je     0x408c9d
408c8c:	8b 07                	mov    (%edi),%eax
408c8e:	8b 70 08             	mov    0x8(%eax),%esi
408c91:	8b ce                	mov    %esi,%ecx
408c93:	ff 15 5c e2 43 00    	call   *0x43e25c
408c99:	8b cf                	mov    %edi,%ecx
408c9b:	ff d6                	call   *%esi
408c9d:	8b 4d f4             	mov    -0xc(%ebp),%ecx
408ca0:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
408ca7:	59                   	pop    %ecx
408ca8:	5f                   	pop    %edi
408ca9:	5e                   	pop    %esi
408caa:	8b e5                	mov    %ebp,%esp
408cac:	5d                   	pop    %ebp
408cad:	c3                   	ret
408cae:	cc                   	int3
408caf:	cc                   	int3
408cb0:	cc                   	int3
408cb1:	cc                   	int3
408cb2:	cc                   	int3
408cb3:	cc                   	int3
408cb4:	cc                   	int3
408cb5:	cc                   	int3
408cb6:	cc                   	int3
408cb7:	cc                   	int3
408cb8:	cc                   	int3
408cb9:	cc                   	int3
408cba:	cc                   	int3
408cbb:	cc                   	int3
408cbc:	cc                   	int3
408cbd:	cc                   	int3
408cbe:	cc                   	int3
408cbf:	cc                   	int3
408cc0:	55                   	push   %ebp
408cc1:	8b ec                	mov    %esp,%ebp
408cc3:	6a ff                	push   $0xffffffff
408cc5:	68 0d bf 43 00       	push   $0x43bf0d
408cca:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
408cd0:	50                   	push   %eax
408cd1:	83 ec 08             	sub    $0x8,%esp
408cd4:	53                   	push   %ebx
408cd5:	56                   	push   %esi
408cd6:	57                   	push   %edi
408cd7:	a1 14 50 45 00       	mov    0x455014,%eax
408cdc:	33 c5                	xor    %ebp,%eax
408cde:	50                   	push   %eax
408cdf:	8d 45 f4             	lea    -0xc(%ebp),%eax
408ce2:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
408ce8:	8b d9                	mov    %ecx,%ebx
408cea:	89 5d ec             	mov    %ebx,-0x14(%ebp)
408ced:	8b 7d 08             	mov    0x8(%ebp),%edi
408cf0:	89 3b                	mov    %edi,(%ebx)
408cf2:	8b 07                	mov    (%edi),%eax
408cf4:	8b 40 04             	mov    0x4(%eax),%eax
408cf7:	8b 44 38 38          	mov    0x38(%eax,%edi,1),%eax
408cfb:	89 45 f0             	mov    %eax,-0x10(%ebp)
408cfe:	85 c0                	test   %eax,%eax
408d00:	74 12                	je     0x408d14
408d02:	8b 00                	mov    (%eax),%eax
408d04:	8b 70 04             	mov    0x4(%eax),%esi
408d07:	8b ce                	mov    %esi,%ecx
408d09:	ff 15 5c e2 43 00    	call   *0x43e25c
408d0f:	8b 4d f0             	mov    -0x10(%ebp),%ecx
408d12:	ff d6                	call   *%esi
408d14:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
408d1b:	8b 07                	mov    (%edi),%eax
408d1d:	8b 40 04             	mov    0x4(%eax),%eax
408d20:	83 7c 38 0c 00       	cmpl   $0x0,0xc(%eax,%edi,1)
408d25:	8d 0c 38             	lea    (%eax,%edi,1),%ecx
408d28:	74 04                	je     0x408d2e
408d2a:	32 c0                	xor    %al,%al
408d2c:	eb 21                	jmp    0x408d4f
408d2e:	8b 49 3c             	mov    0x3c(%ecx),%ecx
408d31:	85 c9                	test   %ecx,%ecx
408d33:	74 18                	je     0x408d4d
408d35:	3b cf                	cmp    %edi,%ecx
408d37:	74 14                	je     0x408d4d
408d39:	e8 22 0e 00 00       	call   0x409b60
408d3e:	8b 07                	mov    (%edi),%eax
408d40:	8b 40 04             	mov    0x4(%eax),%eax
408d43:	83 7c 38 0c 00       	cmpl   $0x0,0xc(%eax,%edi,1)
408d48:	0f 94 c0             	sete   %al
408d4b:	eb 02                	jmp    0x408d4f
408d4d:	b0 01                	mov    $0x1,%al
408d4f:	88 43 04             	mov    %al,0x4(%ebx)
408d52:	8b c3                	mov    %ebx,%eax
408d54:	8b 4d f4             	mov    -0xc(%ebp),%ecx
408d57:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
408d5e:	59                   	pop    %ecx
408d5f:	5f                   	pop    %edi
408d60:	5e                   	pop    %esi
408d61:	5b                   	pop    %ebx
408d62:	8b e5                	mov    %ebp,%esp
408d64:	5d                   	pop    %ebp
408d65:	c2 04 00             	ret    $0x4
408d68:	cc                   	int3
408d69:	cc                   	int3
408d6a:	cc                   	int3
408d6b:	cc                   	int3
408d6c:	cc                   	int3
408d6d:	cc                   	int3
408d6e:	cc                   	int3
408d6f:	cc                   	int3
408d70:	8b 41 20             	mov    0x20(%ecx),%eax
408d73:	83 38 00             	cmpl   $0x0,(%eax)
408d76:	74 07                	je     0x408d7f
408d78:	8b 41 30             	mov    0x30(%ecx),%eax
408d7b:	8b 00                	mov    (%eax),%eax
408d7d:	99                   	cltd
408d7e:	c3                   	ret
408d7f:	33 c0                	xor    %eax,%eax
408d81:	99                   	cltd
408d82:	c3                   	ret
408d83:	cc                   	int3
408d84:	cc                   	int3
408d85:	cc                   	int3
408d86:	cc                   	int3
408d87:	cc                   	int3
408d88:	cc                   	int3
408d89:	cc                   	int3
408d8a:	cc                   	int3
408d8b:	cc                   	int3
408d8c:	cc                   	int3
408d8d:	cc                   	int3
408d8e:	cc                   	int3
408d8f:	cc                   	int3
408d90:	8b 41 1c             	mov    0x1c(%ecx),%eax
408d93:	83 38 00             	cmpl   $0x0,(%eax)
408d96:	74 07                	je     0x408d9f
408d98:	8b 41 2c             	mov    0x2c(%ecx),%eax
408d9b:	8b 00                	mov    (%eax),%eax
408d9d:	99                   	cltd
408d9e:	c3                   	ret
408d9f:	33 c0                	xor    %eax,%eax
408da1:	99                   	cltd
408da2:	c3                   	ret
408da3:	cc                   	int3
408da4:	cc                   	int3
408da5:	cc                   	int3
408da6:	cc                   	int3
408da7:	cc                   	int3
408da8:	cc                   	int3
408da9:	cc                   	int3
408daa:	cc                   	int3
408dab:	cc                   	int3
408dac:	cc                   	int3
408dad:	cc                   	int3
408dae:	cc                   	int3
408daf:	cc                   	int3
408db0:	55                   	push   %ebp
408db1:	8b ec                	mov    %esp,%ebp
408db3:	ff 75 0c             	push   0xc(%ebp)
408db6:	33 d2                	xor    %edx,%edx
408db8:	b8 04 00 00 00       	mov    $0x4,%eax
408dbd:	39 51 38             	cmp    %edx,0x38(%ecx)
408dc0:	0f 45 c2             	cmovne %edx,%eax
408dc3:	0b 41 0c             	or     0xc(%ecx),%eax
408dc6:	0b 45 08             	or     0x8(%ebp),%eax
408dc9:	50                   	push   %eax
408dca:	e8 31 d2 ff ff       	call   0x406000
408dcf:	5d                   	pop    %ebp
408dd0:	c2 08 00             	ret    $0x8
408dd3:	cc                   	int3
408dd4:	cc                   	int3
408dd5:	cc                   	int3
408dd6:	cc                   	int3
408dd7:	cc                   	int3
408dd8:	cc                   	int3
408dd9:	cc                   	int3
408dda:	cc                   	int3
408ddb:	cc                   	int3
408ddc:	cc                   	int3
408ddd:	cc                   	int3
408dde:	cc                   	int3
408ddf:	cc                   	int3
408de0:	55                   	push   %ebp
408de1:	8b ec                	mov    %esp,%ebp
408de3:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
408de7:	56                   	push   %esi
408de8:	8b f1                	mov    %ecx,%esi
408dea:	c7 06 2c e9 43 00    	movl   $0x43e92c,(%esi)
408df0:	74 0b                	je     0x408dfd
408df2:	6a 08                	push   $0x8
408df4:	56                   	push   %esi
408df5:	e8 be 0d 01 00       	call   0x419bb8
408dfa:	83 c4 08             	add    $0x8,%esp
408dfd:	8b c6                	mov    %esi,%eax
408dff:	5e                   	pop    %esi
408e00:	5d                   	pop    %ebp
408e01:	c2 04 00             	ret    $0x4
408e04:	cc                   	int3
408e05:	cc                   	int3
408e06:	cc                   	int3
408e07:	cc                   	int3
408e08:	cc                   	int3
408e09:	cc                   	int3
408e0a:	cc                   	int3
408e0b:	cc                   	int3
408e0c:	cc                   	int3
408e0d:	cc                   	int3
408e0e:	cc                   	int3
408e0f:	cc                   	int3
408e10:	55                   	push   %ebp
408e11:	8b ec                	mov    %esp,%ebp
408e13:	51                   	push   %ecx
408e14:	8b 51 14             	mov    0x14(%ecx),%edx
408e17:	8b ca                	mov    %edx,%ecx
408e19:	56                   	push   %esi
408e1a:	8b 75 08             	mov    0x8(%ebp),%esi
408e1d:	57                   	push   %edi
408e1e:	8d 79 02             	lea    0x2(%ecx),%edi
408e21:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
408e27:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
408e2e:	c7 46 14 00 00 00 00 	movl   $0x0,0x14(%esi)
408e35:	66 8b 01             	mov    (%ecx),%ax
408e38:	83 c1 02             	add    $0x2,%ecx
408e3b:	66 85 c0             	test   %ax,%ax
408e3e:	75 f5                	jne    0x408e35
408e40:	2b cf                	sub    %edi,%ecx
408e42:	d1 f9                	sar    $1,%ecx
408e44:	51                   	push   %ecx
408e45:	52                   	push   %edx
408e46:	8b ce                	mov    %esi,%ecx
408e48:	e8 b3 a1 ff ff       	call   0x403000
408e4d:	5f                   	pop    %edi
408e4e:	8b c6                	mov    %esi,%eax
408e50:	5e                   	pop    %esi
408e51:	8b e5                	mov    %ebp,%esp
408e53:	5d                   	pop    %ebp
408e54:	c2 04 00             	ret    $0x4
408e57:	cc                   	int3
408e58:	cc                   	int3
408e59:	cc                   	int3
408e5a:	cc                   	int3
408e5b:	cc                   	int3
408e5c:	cc                   	int3
408e5d:	cc                   	int3
408e5e:	cc                   	int3
408e5f:	cc                   	int3
408e60:	55                   	push   %ebp
408e61:	8b ec                	mov    %esp,%ebp
408e63:	51                   	push   %ecx
408e64:	8b 51 10             	mov    0x10(%ecx),%edx
408e67:	8b ca                	mov    %edx,%ecx
408e69:	56                   	push   %esi
408e6a:	8b 75 08             	mov    0x8(%ebp),%esi
408e6d:	57                   	push   %edi
408e6e:	8d 79 02             	lea    0x2(%ecx),%edi
408e71:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
408e77:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
408e7e:	c7 46 14 00 00 00 00 	movl   $0x0,0x14(%esi)
408e85:	66 8b 01             	mov    (%ecx),%ax
408e88:	83 c1 02             	add    $0x2,%ecx
408e8b:	66 85 c0             	test   %ax,%ax
408e8e:	75 f5                	jne    0x408e85
408e90:	2b cf                	sub    %edi,%ecx
408e92:	d1 f9                	sar    $1,%ecx
408e94:	51                   	push   %ecx
408e95:	52                   	push   %edx
408e96:	8b ce                	mov    %esi,%ecx
408e98:	e8 63 a1 ff ff       	call   0x403000
408e9d:	5f                   	pop    %edi
408e9e:	8b c6                	mov    %esi,%eax
408ea0:	5e                   	pop    %esi
408ea1:	8b e5                	mov    %ebp,%esp
408ea3:	5d                   	pop    %ebp
408ea4:	c2 04 00             	ret    $0x4
408ea7:	cc                   	int3
408ea8:	cc                   	int3
408ea9:	cc                   	int3
408eaa:	cc                   	int3
408eab:	cc                   	int3
408eac:	cc                   	int3
408ead:	cc                   	int3
408eae:	cc                   	int3
408eaf:	cc                   	int3
408eb0:	55                   	push   %ebp
408eb1:	8b ec                	mov    %esp,%ebp
408eb3:	51                   	push   %ecx
408eb4:	8b 51 08             	mov    0x8(%ecx),%edx
408eb7:	8b ca                	mov    %edx,%ecx
408eb9:	56                   	push   %esi
408eba:	8b 75 08             	mov    0x8(%ebp),%esi
408ebd:	57                   	push   %edi
408ebe:	8d 79 01             	lea    0x1(%ecx),%edi
408ec1:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
408ec7:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
408ece:	c7 46 14 00 00 00 00 	movl   $0x0,0x14(%esi)
408ed5:	8a 01                	mov    (%ecx),%al
408ed7:	41                   	inc    %ecx
408ed8:	84 c0                	test   %al,%al
408eda:	75 f9                	jne    0x408ed5
408edc:	2b cf                	sub    %edi,%ecx
408ede:	51                   	push   %ecx
408edf:	52                   	push   %edx
408ee0:	8b ce                	mov    %esi,%ecx
408ee2:	e8 a9 d7 ff ff       	call   0x406690
408ee7:	5f                   	pop    %edi
408ee8:	8b c6                	mov    %esi,%eax
408eea:	5e                   	pop    %esi
408eeb:	8b e5                	mov    %ebp,%esp
408eed:	5d                   	pop    %ebp
408eee:	c2 04 00             	ret    $0x4
408ef1:	cc                   	int3
408ef2:	cc                   	int3
408ef3:	cc                   	int3
408ef4:	cc                   	int3
408ef5:	cc                   	int3
408ef6:	cc                   	int3
408ef7:	cc                   	int3
408ef8:	cc                   	int3
408ef9:	cc                   	int3
408efa:	cc                   	int3
408efb:	cc                   	int3
408efc:	cc                   	int3
408efd:	cc                   	int3
408efe:	cc                   	int3
408eff:	cc                   	int3
408f00:	66 8b 41 0e          	mov    0xe(%ecx),%ax
408f04:	c3                   	ret
408f05:	cc                   	int3
408f06:	cc                   	int3
408f07:	cc                   	int3
408f08:	cc                   	int3
408f09:	cc                   	int3
408f0a:	cc                   	int3
408f0b:	cc                   	int3
408f0c:	cc                   	int3