407da2:	5f                   	pop    %edi
407da3:	5e                   	pop    %esi
407da4:	5b                   	pop    %ebx
407da5:	8b e5                	mov    %ebp,%esp
407da7:	5d                   	pop    %ebp
407da8:	c2 08 00             	ret    $0x8
407dab:	cc                   	int3
407dac:	cc                   	int3
407dad:	cc                   	int3
407dae:	cc                   	int3
407daf:	cc                   	int3
407db0:	8b 41 e8             	mov    -0x18(%ecx),%eax
407db3:	8b 40 04             	mov    0x4(%eax),%eax
407db6:	c7 44 08 e8 b8 ee 44 	movl   $0x44eeb8,-0x18(%eax,%ecx,1)
407dbd:	00
407dbe:	8b 41 e8             	mov    -0x18(%ecx),%eax
407dc1:	8b 50 04             	mov    0x4(%eax),%edx
407dc4:	8d 42 e8             	lea    -0x18(%edx),%eax
407dc7:	89 44 0a e4          	mov    %eax,-0x1c(%edx,%ecx,1)
407dcb:	c3                   	ret
407dcc:	cc                   	int3
407dcd:	cc                   	int3
407dce:	cc                   	int3
407dcf:	cc                   	int3
407dd0:	55                   	push   %ebp
407dd1:	8b ec                	mov    %esp,%ebp
407dd3:	6a ff                	push   $0xffffffff
407dd5:	68 60 be 43 00       	push   $0x43be60
407dda:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
407de0:	50                   	push   %eax
407de1:	a1 14 50 45 00       	mov    0x455014,%eax
407de6:	33 c5                	xor    %ebp,%eax
407de8:	50                   	push   %eax
407de9:	8d 45 f4             	lea    -0xc(%ebp),%eax
407dec:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
407df2:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
407df9:	51                   	push   %ecx
407dfa:	c7 01 6c ee 44 00    	movl   $0x44ee6c,(%ecx)
407e00:	e8 5d 15 01 00       	call   0x419362
407e05:	83 c4 04             	add    $0x4,%esp
407e08:	8b 4d f4             	mov    -0xc(%ebp),%ecx
407e0b:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
407e12:	59                   	pop    %ecx
407e13:	8b e5                	mov    %ebp,%esp
407e15:	5d                   	pop    %ebp
407e16:	c3                   	ret
407e17:	cc                   	int3
407e18:	cc                   	int3
407e19:	cc                   	int3
407e1a:	cc                   	int3
407e1b:	cc                   	int3
407e1c:	cc                   	int3
407e1d:	cc                   	int3
407e1e:	cc                   	int3
407e1f:	cc                   	int3
407e20:	55                   	push   %ebp
407e21:	8b ec                	mov    %esp,%ebp
407e23:	51                   	push   %ecx
407e24:	53                   	push   %ebx
407e25:	8b d9                	mov    %ecx,%ebx
407e27:	57                   	push   %edi
407e28:	8b 7d 08             	mov    0x8(%ebp),%edi
407e2b:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
407e31:	c7 43 10 00 00 00 00 	movl   $0x0,0x10(%ebx)
407e38:	c7 43 14 00 00 00 00 	movl   $0x0,0x14(%ebx)
407e3f:	81 ff fe ff ff 7f    	cmp    $0x7ffffffe,%edi
407e45:	0f 87 b0 00 00 00    	ja     0x407efb
407e4b:	c7 43 14 07 00 00 00 	movl   $0x7,0x14(%ebx)
407e52:	83 ff 08             	cmp    $0x8,%edi
407e55:	73 34                	jae    0x407e8b
407e57:	89 7b 10             	mov    %edi,0x10(%ebx)
407e5a:	85 ff                	test   %edi,%edi
407e5c:	74 1d                	je     0x407e7b
407e5e:	8b 45 0c             	mov    0xc(%ebp),%eax
407e61:	8b cf                	mov    %edi,%ecx
407e63:	0f b7 d0             	movzwl %ax,%edx
407e66:	8b fb                	mov    %ebx,%edi
407e68:	8b c2                	mov    %edx,%eax
407e6a:	c1 e2 10             	shl    $0x10,%edx
407e6d:	0b c2                	or     %edx,%eax
407e6f:	d1 e9                	shr    $1,%ecx
407e71:	f3 ab                	rep stos %eax,%es:(%edi)
407e73:	13 c9                	adc    %ecx,%ecx
407e75:	66 f3 ab             	rep stos %ax,%es:(%edi)
407e78:	8b 7d 08             	mov    0x8(%ebp),%edi
407e7b:	33 c0                	xor    %eax,%eax
407e7d:	66 89 04 7b          	mov    %ax,(%ebx,%edi,2)
407e81:	8b c3                	mov    %ebx,%eax
407e83:	5f                   	pop    %edi
407e84:	5b                   	pop    %ebx
407e85:	8b e5                	mov    %ebp,%esp
407e87:	5d                   	pop    %ebp
407e88:	c2 08 00             	ret    $0x8
407e8b:	8b c7                	mov    %edi,%eax
407e8d:	83 c8 07             	or     $0x7,%eax
407e90:	3d fe ff ff 7f       	cmp    $0x7ffffffe,%eax
407e95:	76 07                	jbe    0x407e9e
407e97:	b8 fe ff ff 7f       	mov    $0x7ffffffe,%eax
407e9c:	eb 0a                	jmp    0x407ea8
407e9e:	b9 0a 00 00 00       	mov    $0xa,%ecx
407ea3:	3b c1                	cmp    %ecx,%eax
407ea5:	0f 42 c1             	cmovb  %ecx,%eax
407ea8:	33 c9                	xor    %ecx,%ecx
407eaa:	89 45 fc             	mov    %eax,-0x4(%ebp)
407ead:	83 c0 01             	add    $0x1,%eax
407eb0:	56                   	push   %esi
407eb1:	0f 92 c1             	setb   %cl
407eb4:	f7 d9                	neg    %ecx
407eb6:	0b c8                	or     %eax,%ecx
407eb8:	51                   	push   %ecx
407eb9:	8b cb                	mov    %ebx,%ecx
407ebb:	e8 f0 b1 ff ff       	call   0x4030b0
407ec0:	8b f0                	mov    %eax,%esi
407ec2:	89 7b 10             	mov    %edi,0x10(%ebx)
407ec5:	8b 45 fc             	mov    -0x4(%ebp),%eax
407ec8:	8b cf                	mov    %edi,%ecx
407eca:	89 43 14             	mov    %eax,0x14(%ebx)
407ecd:	8b fe                	mov    %esi,%edi
407ecf:	8b 45 0c             	mov    0xc(%ebp),%eax
407ed2:	0f b7 d0             	movzwl %ax,%edx
407ed5:	8b c2                	mov    %edx,%eax
407ed7:	89 33                	mov    %esi,(%ebx)
407ed9:	c1 e2 10             	shl    $0x10,%edx
407edc:	0b c2                	or     %edx,%eax
407ede:	d1 e9                	shr    $1,%ecx
407ee0:	f3 ab                	rep stos %eax,%es:(%edi)
407ee2:	13 c9                	adc    %ecx,%ecx
407ee4:	66 f3 ab             	rep stos %ax,%es:(%edi)
407ee7:	8b 45 08             	mov    0x8(%ebp),%eax
407eea:	33 c9                	xor    %ecx,%ecx
407eec:	66 89 0c 46          	mov    %cx,(%esi,%eax,2)
407ef0:	8b c3                	mov    %ebx,%eax
407ef2:	5e                   	pop    %esi
407ef3:	5f                   	pop    %edi
407ef4:	5b                   	pop    %ebx
407ef5:	8b e5                	mov    %ebp,%esp
407ef7:	5d                   	pop    %ebp
407ef8:	c2 08 00             	ret    $0x8
407efb:	e8 60 94 ff ff       	call   0x401360
407f00:	cc                   	int3
407f01:	cc                   	int3
407f02:	cc                   	int3
407f03:	cc                   	int3
407f04:	cc                   	int3
407f05:	cc                   	int3
407f06:	cc                   	int3
407f07:	cc                   	int3
407f08:	cc                   	int3
407f09:	cc                   	int3
407f0a:	cc                   	int3
407f0b:	cc                   	int3
407f0c:	cc                   	int3
407f0d:	cc                   	int3
407f0e:	cc                   	int3
407f0f:	cc                   	int3
407f10:	55                   	push   %ebp
407f11:	8b ec                	mov    %esp,%ebp
407f13:	56                   	push   %esi
407f14:	8b f1                	mov    %ecx,%esi
407f16:	e8 45 f7 ff ff       	call   0x407660
407f1b:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
407f1f:	74 0b                	je     0x407f2c
407f21:	6a 44                	push   $0x44
407f23:	56                   	push   %esi
407f24:	e8 8f 1c 01 00       	call   0x419bb8
407f29:	83 c4 08             	add    $0x8,%esp
407f2c:	8b c6                	mov    %esi,%eax
407f2e:	5e                   	pop    %esi
407f2f:	5d                   	pop    %ebp
407f30:	c2 04 00             	ret    $0x4
407f33:	cc                   	int3
407f34:	cc                   	int3
407f35:	cc                   	int3
407f36:	cc                   	int3
407f37:	cc                   	int3
407f38:	cc                   	int3
407f39:	cc                   	int3
407f3a:	cc                   	int3
407f3b:	cc                   	int3
407f3c:	cc                   	int3
407f3d:	cc                   	int3
407f3e:	cc                   	int3
407f3f:	cc                   	int3
407f40:	55                   	push   %ebp
407f41:	8b ec                	mov    %esp,%ebp
407f43:	51                   	push   %ecx
407f44:	53                   	push   %ebx
407f45:	57                   	push   %edi
407f46:	8b f9                	mov    %ecx,%edi
407f48:	8b 5f 34             	mov    0x34(%edi),%ebx
407f4b:	c7 07 20 ef 44 00    	movl   $0x44ef20,(%edi)
407f51:	85 db                	test   %ebx,%ebx
407f53:	74 43                	je     0x407f98
407f55:	8b 43 04             	mov    0x4(%ebx),%eax
407f58:	89 45 fc             	mov    %eax,-0x4(%ebp)
407f5b:	85 c0                	test   %eax,%eax
407f5d:	74 2e                	je     0x407f8d
407f5f:	8b 00                	mov    (%eax),%eax
407f61:	56                   	push   %esi
407f62:	8b 70 08             	mov    0x8(%eax),%esi
407f65:	8b ce                	mov    %esi,%ecx
407f67:	ff 15 5c e2 43 00    	call   *0x43e25c
407f6d:	8b 4d fc             	mov    -0x4(%ebp),%ecx
407f70:	ff d6                	call   *%esi
407f72:	89 45 fc             	mov    %eax,-0x4(%ebp)
407f75:	85 c0                	test   %eax,%eax
407f77:	74 13                	je     0x407f8c
407f79:	8b 08                	mov    (%eax),%ecx
407f7b:	6a 01                	push   $0x1
407f7d:	8b 31                	mov    (%ecx),%esi
407f7f:	8b ce                	mov    %esi,%ecx
407f81:	ff 15 5c e2 43 00    	call   *0x43e25c
407f87:	8b 4d fc             	mov    -0x4(%ebp),%ecx
407f8a:	ff d6                	call   *%esi
407f8c:	5e                   	pop    %esi
407f8d:	6a 08                	push   $0x8
407f8f:	53                   	push   %ebx
407f90:	e8 23 1c 01 00       	call   0x419bb8
407f95:	83 c4 08             	add    $0x8,%esp
407f98:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
407f9c:	74 0b                	je     0x407fa9
407f9e:	6a 38                	push   $0x38
407fa0:	57                   	push   %edi
407fa1:	e8 12 1c 01 00       	call   0x419bb8
407fa6:	83 c4 08             	add    $0x8,%esp
407fa9:	8b c7                	mov    %edi,%eax
407fab:	5f                   	pop    %edi
407fac:	5b                   	pop    %ebx
407fad:	8b e5                	mov    %ebp,%esp
407faf:	5d                   	pop    %ebp
407fb0:	c2 04 00             	ret    $0x4
407fb3:	cc                   	int3
407fb4:	cc                   	int3
407fb5:	cc                   	int3
407fb6:	cc                   	int3
407fb7:	cc                   	int3
407fb8:	cc                   	int3
407fb9:	cc                   	int3
407fba:	cc                   	int3
407fbb:	cc                   	int3
407fbc:	cc                   	int3
407fbd:	cc                   	int3
407fbe:	cc                   	int3
407fbf:	cc                   	int3
407fc0:	55                   	push   %ebp
407fc1:	8b ec                	mov    %esp,%ebp
407fc3:	56                   	push   %esi
407fc4:	8d 71 98             	lea    -0x68(%ecx),%esi
407fc7:	8b ce                	mov    %esi,%ecx
407fc9:	e8 52 f0 ff ff       	call   0x407020
407fce:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
407fd2:	74 0e                	je     0x407fe2
407fd4:	68 b0 00 00 00       	push   $0xb0
407fd9:	56                   	push   %esi
407fda:	e8 d9 1b 01 00       	call   0x419bb8
407fdf:	83 c4 08             	add    $0x8,%esp
407fe2:	8b c6                	mov    %esi,%eax
407fe4:	5e                   	pop    %esi
407fe5:	5d                   	pop    %ebp
407fe6:	c2 04 00             	ret    $0x4
407fe9:	cc                   	int3
407fea:	cc                   	int3
407feb:	cc                   	int3
407fec:	cc                   	int3
407fed:	cc                   	int3
407fee:	cc                   	int3
407fef:	cc                   	int3
407ff0:	55                   	push   %ebp
407ff1:	8b ec                	mov    %esp,%ebp
407ff3:	6a ff                	push   $0xffffffff
407ff5:	68 a0 bc 43 00       	push   $0x43bca0
407ffa:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
408000:	50                   	push   %eax
408001:	56                   	push   %esi
408002:	a1 14 50 45 00       	mov    0x455014,%eax
408007:	33 c5                	xor    %ebp,%eax
408009:	50                   	push   %eax
40800a:	8d 45 f4             	lea    -0xc(%ebp),%eax
40800d:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
408013:	8b d1                	mov    %ecx,%edx
408015:	8b 42 e0             	mov    -0x20(%edx),%eax
408018:	8d 72 e0             	lea    -0x20(%edx),%esi
40801b:	8b 40 04             	mov    0x4(%eax),%eax
40801e:	c7 44 10 e0 c8 ee 44 	movl   $0x44eec8,-0x20(%eax,%edx,1)
408025:	00
408026:	8b 06                	mov    (%esi),%eax
408028:	8b 48 04             	mov    0x4(%eax),%ecx
40802b:	8d 41 e0             	lea    -0x20(%ecx),%eax
40802e:	89 44 11 dc          	mov    %eax,-0x24(%ecx,%edx,1)
408032:	8b 42 f0             	mov    -0x10(%edx),%eax
408035:	8b 40 04             	mov    0x4(%eax),%eax
408038:	c7 44 10 f0 d0 ee 44 	movl   $0x44eed0,-0x10(%eax,%edx,1)
40803f:	00
408040:	8b 42 f0             	mov    -0x10(%edx),%eax
408043:	8b 48 04             	mov    0x4(%eax),%ecx
408046:	8d 41 f8             	lea    -0x8(%ecx),%eax
408049:	89 44 11 ec          	mov    %eax,-0x14(%ecx,%edx,1)
40804d:	8b 42 e0             	mov    -0x20(%edx),%eax
408050:	8b 40 04             	mov    0x4(%eax),%eax
408053:	c7 44 10 e0 b8 ee 44 	movl   $0x44eeb8,-0x20(%eax,%edx,1)
40805a:	00
40805b:	8b 42 e0             	mov    -0x20(%edx),%eax
40805e:	8b 48 04             	mov    0x4(%eax),%ecx
408061:	8d 41 e8             	lea    -0x18(%ecx),%eax
408064:	89 44 11 dc          	mov    %eax,-0x24(%ecx,%edx,1)
408068:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40806f:	52                   	push   %edx
408070:	c7 02 6c ee 44 00    	movl   $0x44ee6c,(%edx)
408076:	e8 e7 12 01 00       	call   0x419362
40807b:	83 c4 04             	add    $0x4,%esp
40807e:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
408082:	74 0b                	je     0x40808f
408084:	6a 68                	push   $0x68
408086:	56                   	push   %esi
408087:	e8 2c 1b 01 00       	call   0x419bb8
40808c:	83 c4 08             	add    $0x8,%esp
40808f:	8b c6                	mov    %esi,%eax
408091:	8b 4d f4             	mov    -0xc(%ebp),%ecx
408094:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40809b:	59                   	pop    %ecx
40809c:	5e                   	pop    %esi
40809d:	8b e5                	mov    %ebp,%esp
40809f:	5d                   	pop    %ebp
4080a0:	c2 04 00             	ret    $0x4
4080a3:	cc                   	int3
4080a4:	cc                   	int3
4080a5:	cc                   	int3
4080a6:	cc                   	int3
4080a7:	cc                   	int3
4080a8:	cc                   	int3
4080a9:	cc                   	int3
4080aa:	cc                   	int3
4080ab:	cc                   	int3
4080ac:	cc                   	int3
4080ad:	cc                   	int3
4080ae:	cc                   	int3
4080af:	cc                   	int3
4080b0:	55                   	push   %ebp
4080b1:	8b ec                	mov    %esp,%ebp
4080b3:	6a ff                	push   $0xffffffff
4080b5:	68 a0 bc 43 00       	push   $0x43bca0
4080ba:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4080c0:	50                   	push   %eax
4080c1:	56                   	push   %esi
4080c2:	a1 14 50 45 00       	mov    0x455014,%eax
4080c7:	33 c5                	xor    %ebp,%eax
4080c9:	50                   	push   %eax
4080ca:	8d 45 f4             	lea    -0xc(%ebp),%eax
4080cd:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4080d3:	8b d1                	mov    %ecx,%edx