418c7f:	83 f9 08             	cmp    $0x8,%ecx
418c82:	72 2e                	jb     0x418cb2
418c84:	8b 53 20             	mov    0x20(%ebx),%edx
418c87:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
418c8e:	8b c2                	mov    %edx,%eax
418c90:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
418c96:	72 10                	jb     0x418ca8
418c98:	8b 50 fc             	mov    -0x4(%eax),%edx
418c9b:	83 c1 23             	add    $0x23,%ecx
418c9e:	2b c2                	sub    %edx,%eax
418ca0:	83 c0 fc             	add    $0xfffffffc,%eax
418ca3:	83 f8 1f             	cmp    $0x1f,%eax
418ca6:	77 7d                	ja     0x418d25
418ca8:	51                   	push   %ecx
418ca9:	52                   	push   %edx
418caa:	e8 5f 2c 00 00       	call   0x41b90e
418caf:	83 c4 08             	add    $0x8,%esp
418cb2:	8b 4b 4c             	mov    0x4c(%ebx),%ecx
418cb5:	33 c0                	xor    %eax,%eax
418cb7:	c7 43 30 00 00 00 00 	movl   $0x0,0x30(%ebx)
418cbe:	c7 43 34 07 00 00 00 	movl   $0x7,0x34(%ebx)
418cc5:	66 89 43 20          	mov    %ax,0x20(%ebx)
418cc9:	83 f9 08             	cmp    $0x8,%ecx
418ccc:	72 2e                	jb     0x418cfc
418cce:	8b 53 38             	mov    0x38(%ebx),%edx
418cd1:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
418cd8:	8b c2                	mov    %edx,%eax
418cda:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
418ce0:	72 10                	jb     0x418cf2
418ce2:	8b 50 fc             	mov    -0x4(%eax),%edx
418ce5:	83 c1 23             	add    $0x23,%ecx
418ce8:	2b c2                	sub    %edx,%eax
418cea:	83 c0 fc             	add    $0xfffffffc,%eax
418ced:	83 f8 1f             	cmp    $0x1f,%eax
418cf0:	77 33                	ja     0x418d25
418cf2:	51                   	push   %ecx
418cf3:	52                   	push   %edx
418cf4:	e8 15 2c 00 00       	call   0x41b90e
418cf9:	83 c4 08             	add    $0x8,%esp
418cfc:	8a 85 b7 af ff ff    	mov    -0x5049(%ebp),%al
418d02:	8b 4d f4             	mov    -0xc(%ebp),%ecx
418d05:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
418d0c:	59                   	pop    %ecx
418d0d:	5f                   	pop    %edi
418d0e:	5e                   	pop    %esi
418d0f:	8b 4d ec             	mov    -0x14(%ebp),%ecx
418d12:	33 cd                	xor    %ebp,%ecx
418d14:	e8 b7 2b 00 00       	call   0x41b8d0
418d19:	8b e5                	mov    %ebp,%esp
418d1b:	5d                   	pop    %ebp
418d1c:	8b e3                	mov    %ebx,%esp
418d1e:	5b                   	pop    %ebx
418d1f:	c3                   	ret
418d20:	e8 ab 2b ff ff       	call   0x40b8d0
418d25:	e8 55 7d 00 00       	call   0x420a7f
418d2a:	cc                   	int3
418d2b:	cc                   	int3
418d2c:	cc                   	int3
418d2d:	cc                   	int3
418d2e:	cc                   	int3
418d2f:	cc                   	int3
418d30:	55                   	push   %ebp
418d31:	8b ec                	mov    %esp,%ebp
418d33:	8b 4d 08             	mov    0x8(%ebp),%ecx
418d36:	8d 45 10             	lea    0x10(%ebp),%eax
418d39:	50                   	push   %eax
418d3a:	51                   	push   %ecx
418d3b:	ff 75 0c             	push   0xc(%ebp)
418d3e:	ba 04 01 00 00       	mov    $0x104,%edx
418d43:	e8 a8 ae fe ff       	call   0x403bf0
418d48:	83 c4 0c             	add    $0xc,%esp
418d4b:	5d                   	pop    %ebp
418d4c:	c3                   	ret
418d4d:	cc                   	int3
418d4e:	cc                   	int3
418d4f:	cc                   	int3
418d50:	55                   	push   %ebp
418d51:	8b ec                	mov    %esp,%ebp
418d53:	6a ff                	push   $0xffffffff
418d55:	68 45 e6 43 00       	push   $0x43e645
418d5a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
418d60:	50                   	push   %eax
418d61:	83 ec 24             	sub    $0x24,%esp
418d64:	53                   	push   %ebx
418d65:	56                   	push   %esi
418d66:	57                   	push   %edi
418d67:	a1 14 40 45 00       	mov    0x454014,%eax
418d6c:	33 c5                	xor    %ebp,%eax
418d6e:	50                   	push   %eax
418d6f:	8d 45 f4             	lea    -0xc(%ebp),%eax
418d72:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
418d78:	89 65 f0             	mov    %esp,-0x10(%ebp)
418d7b:	8b d9                	mov    %ecx,%ebx
418d7d:	89 5d ec             	mov    %ebx,-0x14(%ebp)
418d80:	33 f6                	xor    %esi,%esi
418d82:	8d 4d dc             	lea    -0x24(%ebp),%ecx
418d85:	53                   	push   %ebx
418d86:	89 75 e4             	mov    %esi,-0x1c(%ebp)
418d89:	e8 22 17 ff ff       	call   0x40a4b0
418d8e:	89 75 fc             	mov    %esi,-0x4(%ebp)
418d91:	80 7d e0 00          	cmpb   $0x0,-0x20(%ebp)
418d95:	0f 84 d9 00 00 00    	je     0x418e74
418d9b:	8b 03                	mov    (%ebx),%eax
418d9d:	8b 40 04             	mov    0x4(%eax),%eax
418da0:	8b 44 18 30          	mov    0x30(%eax,%ebx,1),%eax
418da4:	8b 78 04             	mov    0x4(%eax),%edi
418da7:	89 7d d8             	mov    %edi,-0x28(%ebp)
418daa:	8b 07                	mov    (%edi),%eax
418dac:	8b 70 04             	mov    0x4(%eax),%esi
418daf:	8b ce                	mov    %esi,%ecx
418db1:	ff 15 3c f2 43 00    	call   *0x43f23c
418db7:	8b cf                	mov    %edi,%ecx
418db9:	ff d6                	call   *%esi
418dbb:	8d 45 d4             	lea    -0x2c(%ebp),%eax
418dbe:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
418dc2:	50                   	push   %eax
418dc3:	e8 f8 2c ff ff       	call   0x40bac0
418dc8:	8b 7d d8             	mov    -0x28(%ebp),%edi
418dcb:	83 c4 04             	add    $0x4,%esp
418dce:	89 45 e8             	mov    %eax,-0x18(%ebp)
418dd1:	85 ff                	test   %edi,%edi
418dd3:	74 29                	je     0x418dfe
418dd5:	8b 17                	mov    (%edi),%edx
418dd7:	8b 72 08             	mov    0x8(%edx),%esi
418dda:	8b ce                	mov    %esi,%ecx
418ddc:	ff 15 3c f2 43 00    	call   *0x43f23c
418de2:	8b cf                	mov    %edi,%ecx
418de4:	ff d6                	call   *%esi
418de6:	8b f8                	mov    %eax,%edi
418de8:	85 ff                	test   %edi,%edi
418dea:	74 12                	je     0x418dfe
418dec:	8b 0f                	mov    (%edi),%ecx
418dee:	6a 01                	push   $0x1
418df0:	8b 31                	mov    (%ecx),%esi
418df2:	8b ce                	mov    %esi,%ecx
418df4:	ff 15 3c f2 43 00    	call   *0x43f23c
418dfa:	8b cf                	mov    %edi,%ecx
418dfc:	ff d6                	call   *%esi
418dfe:	ff 75 0c             	push   0xc(%ebp)
418e01:	8b 7d e8             	mov    -0x18(%ebp),%edi
418e04:	ff 75 08             	push   0x8(%ebp)
418e07:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
418e0b:	8b 03                	mov    (%ebx),%eax
418e0d:	8b 37                	mov    (%edi),%esi
418e0f:	8b 48 04             	mov    0x4(%eax),%ecx
418e12:	8b 76 1c             	mov    0x1c(%esi),%esi
418e15:	03 cb                	add    %ebx,%ecx
418e17:	c6 45 d4 00          	movb   $0x0,-0x2c(%ebp)
418e1b:	0f b7 41 40          	movzwl 0x40(%ecx),%eax
418e1f:	50                   	push   %eax
418e20:	51                   	push   %ecx
418e21:	ff 71 38             	push   0x38(%ecx)
418e24:	8d 45 d4             	lea    -0x2c(%ebp),%eax
418e27:	8b ce                	mov    %esi,%ecx
418e29:	ff 75 d4             	push   -0x2c(%ebp)
418e2c:	50                   	push   %eax
418e2d:	ff 15 3c f2 43 00    	call   *0x43f23c
418e33:	8b cf                	mov    %edi,%ecx
418e35:	ff d6                	call   *%esi
418e37:	33 f6                	xor    %esi,%esi
418e39:	ba 04 00 00 00       	mov    $0x4,%edx
418e3e:	80 7d d4 00          	cmpb   $0x0,-0x2c(%ebp)
418e42:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
418e49:	0f 45 f2             	cmovne %edx,%esi
418e4c:	eb 2b                	jmp    0x418e79
418e4e:	8b 55 ec             	mov    -0x14(%ebp),%edx
418e51:	6a 01                	push   $0x1
418e53:	6a 04                	push   $0x4
418e55:	8b 02                	mov    (%edx),%eax
418e57:	8b 48 04             	mov    0x4(%eax),%ecx
418e5a:	03 ca                	add    %edx,%ecx
418e5c:	e8 3f 18 ff ff       	call   0x40a6a0
418e61:	b8 67 8e 41 00       	mov    $0x418e67,%eax
418e66:	c3                   	ret
418e67:	8b 5d ec             	mov    -0x14(%ebp),%ebx
418e6a:	8b 75 e4             	mov    -0x1c(%ebp),%esi
418e6d:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
418e74:	ba 04 00 00 00       	mov    $0x4,%edx
418e79:	8b 03                	mov    (%ebx),%eax
418e7b:	6a 00                	push   $0x0
418e7d:	8b 48 04             	mov    0x4(%eax),%ecx
418e80:	8b 44 19 0c          	mov    0xc(%ecx,%ebx,1),%eax
418e84:	03 cb                	add    %ebx,%ecx
418e86:	0b c6                	or     %esi,%eax
418e88:	33 f6                	xor    %esi,%esi
418e8a:	39 71 38             	cmp    %esi,0x38(%ecx)
418e8d:	0f 45 d6             	cmovne %esi,%edx
418e90:	0b d0                	or     %eax,%edx
418e92:	52                   	push   %edx
418e93:	e8 98 bc fe ff       	call   0x404b30
418e98:	c7 45 fc 04 00 00 00 	movl   $0x4,-0x4(%ebp)
418e9f:	e8 a6 25 00 00       	call   0x41b44a
418ea4:	84 c0                	test   %al,%al
418ea6:	75 08                	jne    0x418eb0
418ea8:	8b 4d dc             	mov    -0x24(%ebp),%ecx
418eab:	e8 80 27 ff ff       	call   0x40b630
418eb0:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
418eb4:	8b 4d dc             	mov    -0x24(%ebp),%ecx
418eb7:	8b 01                	mov    (%ecx),%eax
418eb9:	8b 40 04             	mov    0x4(%eax),%eax
418ebc:	8b 7c 08 38          	mov    0x38(%eax,%ecx,1),%edi
418ec0:	85 ff                	test   %edi,%edi
418ec2:	74 11                	je     0x418ed5
418ec4:	8b 07                	mov    (%edi),%eax
418ec6:	8b 70 08             	mov    0x8(%eax),%esi
418ec9:	8b ce                	mov    %esi,%ecx
418ecb:	ff 15 3c f2 43 00    	call   *0x43f23c
418ed1:	8b cf                	mov    %edi,%ecx
418ed3:	ff d6                	call   *%esi
418ed5:	8b c3                	mov    %ebx,%eax
418ed7:	8b 4d f4             	mov    -0xc(%ebp),%ecx
418eda:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
418ee1:	59                   	pop    %ecx
418ee2:	5f                   	pop    %edi
418ee3:	5e                   	pop    %esi
418ee4:	5b                   	pop    %ebx
418ee5:	8b e5                	mov    %ebp,%esp
418ee7:	5d                   	pop    %ebp
418ee8:	c2 08 00             	ret    $0x8
418eeb:	cc                   	int3
418eec:	cc                   	int3
418eed:	cc                   	int3
418eee:	cc                   	int3
418eef:	cc                   	int3
418ef0:	55                   	push   %ebp
418ef1:	8b ec                	mov    %esp,%ebp
418ef3:	6a ff                	push   $0xffffffff
418ef5:	68 8d e6 43 00       	push   $0x43e68d
418efa:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
418f00:	50                   	push   %eax
418f01:	83 ec 2c             	sub    $0x2c,%esp
418f04:	53                   	push   %ebx
418f05:	56                   	push   %esi
418f06:	57                   	push   %edi
418f07:	a1 14 40 45 00       	mov    0x454014,%eax
418f0c:	33 c5                	xor    %ebp,%eax
418f0e:	50                   	push   %eax
418f0f:	8d 45 f4             	lea    -0xc(%ebp),%eax
418f12:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
418f18:	89 65 f0             	mov    %esp,-0x10(%ebp)
418f1b:	8b da                	mov    %edx,%ebx
418f1d:	8b f9                	mov    %ecx,%edi
418f1f:	89 7d e0             	mov    %edi,-0x20(%ebp)
418f22:	8b 07                	mov    (%edi),%eax
418f24:	33 f6                	xor    %esi,%esi
418f26:	89 7d dc             	mov    %edi,-0x24(%ebp)
418f29:	89 75 d0             	mov    %esi,-0x30(%ebp)
418f2c:	c6 45 ef 00          	movb   $0x0,-0x11(%ebp)
418f30:	8b 40 04             	mov    0x4(%eax),%eax
418f33:	89 7d c8             	mov    %edi,-0x38(%ebp)
418f36:	8b 44 38 38          	mov    0x38(%eax,%edi,1),%eax
418f3a:	89 45 e4             	mov    %eax,-0x1c(%ebp)
418f3d:	85 c0                	test   %eax,%eax
418f3f:	74 14                	je     0x418f55
418f41:	8b 00                	mov    (%eax),%eax
418f43:	8b 70 04             	mov    0x4(%eax),%esi
418f46:	8b ce                	mov    %esi,%ecx
418f48:	ff 15 3c f2 43 00    	call   *0x43f23c
418f4e:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
418f51:	ff d6                	call   *%esi
418f53:	33 f6                	xor    %esi,%esi
418f55:	51                   	push   %ecx
418f56:	8b cf                	mov    %edi,%ecx
418f58:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
418f5f:	e8 3c 03 00 00       	call   0x4192a0
418f64:	88 45 cc             	mov    %al,-0x34(%ebp)
418f67:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
418f6e:	84 c0                	test   %al,%al
418f70:	0f 84 94 01 00 00    	je     0x41910a
418f76:	8b 07                	mov    (%edi),%eax
418f78:	8b 40 04             	mov    0x4(%eax),%eax
418f7b:	8b 44 38 30          	mov    0x30(%eax,%edi,1),%eax
418f7f:	8b 78 04             	mov    0x4(%eax),%edi
418f82:	89 7d d8             	mov    %edi,-0x28(%ebp)
418f85:	8b 07                	mov    (%edi),%eax
418f87:	8b 70 04             	mov    0x4(%eax),%esi
418f8a:	8b ce                	mov    %esi,%ecx
418f8c:	ff 15 3c f2 43 00    	call   *0x43f23c
418f92:	8b cf                	mov    %edi,%ecx
418f94:	ff d6                	call   *%esi
418f96:	8d 45 d4             	lea    -0x2c(%ebp),%eax
418f99:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
418f9d:	50                   	push   %eax
418f9e:	e8 ed 34 ff ff       	call   0x40c490
418fa3:	8b 7d d8             	mov    -0x28(%ebp),%edi
418fa6:	83 c4 04             	add    $0x4,%esp
418fa9:	89 45 e4             	mov    %eax,-0x1c(%ebp)
418fac:	85 ff                	test   %edi,%edi
418fae:	74 29                	je     0x418fd9
418fb0:	8b 07                	mov    (%edi),%eax
418fb2:	8b 70 08             	mov    0x8(%eax),%esi
418fb5:	8b ce                	mov    %esi,%ecx
418fb7:	ff 15 3c f2 43 00    	call   *0x43f23c
418fbd:	8b cf                	mov    %edi,%ecx
418fbf:	ff d6                	call   *%esi
418fc1:	8b f8                	mov    %eax,%edi
418fc3:	85 ff                	test   %edi,%edi
418fc5:	74 12                	je     0x418fd9
418fc7:	8b 07                	mov    (%edi),%eax
418fc9:	6a 01                	push   $0x1
418fcb:	8b 30                	mov    (%eax),%esi
418fcd:	8b ce                	mov    %esi,%ecx
418fcf:	ff 15 3c f2 43 00    	call   *0x43f23c
418fd5:	8b cf                	mov    %edi,%ecx
418fd7:	ff d6                	call   *%esi
418fd9:	c7 43 10 00 00 00 00 	movl   $0x0,0x10(%ebx)
418fe0:	8b c3                	mov    %ebx,%eax
418fe2:	83 7b 14 08          	cmpl   $0x8,0x14(%ebx)
418fe6:	72 02                	jb     0x418fea
418fe8:	8b 03                	mov    (%ebx),%eax
418fea:	33 c9                	xor    %ecx,%ecx
418fec:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
418ff0:	66 89 08             	mov    %cx,(%eax)
418ff3:	8b 4d e0             	mov    -0x20(%ebp),%ecx
418ff6:	8b 01                	mov    (%ecx),%eax
418ff8:	8b 78 04             	mov    0x4(%eax),%edi
418ffb:	03 f9                	add    %ecx,%edi
418ffd:	83 7f 24 00          	cmpl   $0x0,0x24(%edi)
419001:	8b 4f 20             	mov    0x20(%edi),%ecx
419004:	89 4d e8             	mov    %ecx,-0x18(%ebp)
419007:	7c 0e                	jl     0x419017
419009:	7f 04                	jg     0x41900f
41900b:	85 c9                	test   %ecx,%ecx
41900d:	74 08                	je     0x419017
41900f:	81 f9 fe ff ff 7f    	cmp    $0x7ffffffe,%ecx
419015:	72 07                	jb     0x41901e
419017:	c7 45 e8 fe ff ff 7f 	movl   $0x7ffffffe,-0x18(%ebp)
41901e:	8b 7f 38             	mov    0x38(%edi),%edi
419021:	8b 47 1c             	mov    0x1c(%edi),%eax
419024:	8b 08                	mov    (%eax),%ecx
419026:	85 c9                	test   %ecx,%ecx
419028:	74 0d                	je     0x419037
41902a:	8b 47 2c             	mov    0x2c(%edi),%eax
41902d:	83 38 00             	cmpl   $0x0,(%eax)
419030:	7e 05                	jle    0x419037
419032:	0f b7 39             	movzwl (%ecx),%edi
419035:	eb 16                	jmp    0x41904d
419037:	8b 07                	mov    (%edi),%eax
419039:	8b 70 18             	mov    0x18(%eax),%esi
41903c:	8b ce                	mov    %esi,%ecx
41903e:	ff 15 3c f2 43 00    	call   *0x43f23c
419044:	8b cf                	mov    %edi,%ecx
419046:	ff d6                	call   *%esi
419048:	0f b7 c0             	movzwl %ax,%eax
41904b:	8b f8                	mov    %eax,%edi
41904d:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
419051:	b8 ff ff 00 00       	mov    $0xffff,%eax
419056:	0f 86 81 00 00 00    	jbe    0x4190dd
41905c:	66 3b c7             	cmp    %di,%ax
41905f:	75 0d                	jne    0x41906e