406ca2:	8b 0c 88             	mov    (%eax,%ecx,4),%ecx
406ca5:	a1 10 ba 43 00       	mov    0x43ba10,%eax
406caa:	89 81 08 00 00 00    	mov    %eax,0x8(%ecx)
406cb0:	e8 99 00 00 00       	call   0x406d4e
406cb5:	5d                   	pop    %ebp
406cb6:	e9 52 00 00 00       	jmp    0x406d0d
406cbb:	55                   	push   %ebp
406cbc:	8b ec                	mov    %esp,%ebp
406cbe:	56                   	push   %esi
406cbf:	e8 3d 00 00 00       	call   0x406d01
406cc4:	8b 75 08             	mov    0x8(%ebp),%esi
406cc7:	eb 08                	jmp    0x406cd1
406cc9:	6a 64                	push   $0x64
406ccb:	e8 8a 00 00 00       	call   0x406d5a
406cd0:	59                   	pop    %ecx
406cd1:	83 3e 00             	cmpl   $0x0,(%esi)
406cd4:	74 21                	je     0x406cf7
406cd6:	83 3e ff             	cmpl   $0xffffffff,(%esi)
406cd9:	74 ee                	je     0x406cc9
406cdb:	64 a1 2c 00 00 00    	mov    %fs:0x2c,%eax
406ce1:	8b 0d 44 96 83 02    	mov    0x2839644,%ecx
406ce7:	8b 0c 88             	mov    (%eax,%ecx,4),%ecx
406cea:	a1 10 ba 43 00       	mov    0x43ba10,%eax
406cef:	89 81 08 00 00 00    	mov    %eax,0x8(%ecx)
406cf5:	eb 03                	jmp    0x406cfa
406cf7:	83 0e ff             	orl    $0xffffffff,(%esi)
406cfa:	5e                   	pop    %esi
406cfb:	5d                   	pop    %ebp
406cfc:	e9 4d 00 00 00       	jmp    0x406d4e
406d01:	68 1c 96 83 02       	push   $0x283961c
406d06:	ff 15 38 71 42 00    	call   *0x427138
406d0c:	c3                   	ret
406d0d:	a1 38 96 83 02       	mov    0x2839638,%eax
406d12:	85 c0                	test   %eax,%eax
406d14:	75 24                	jne    0x406d3a
406d16:	56                   	push   %esi
406d17:	8b 35 28 ba 43 00    	mov    0x43ba28,%esi
406d1d:	8b ce                	mov    %esi,%ecx
406d1f:	33 35 40 96 83 02    	xor    0x2839640,%esi
406d25:	83 e1 1f             	and    $0x1f,%ecx
406d28:	d3 ce                	ror    %cl,%esi
406d2a:	68 34 96 83 02       	push   $0x2839634
406d2f:	8b ce                	mov    %esi,%ecx
406d31:	e8 3b 03 00 00       	call   0x407071
406d36:	ff d6                	call   *%esi
406d38:	5e                   	pop    %esi
406d39:	c3                   	ret
406d3a:	50                   	push   %eax
406d3b:	ff 15 84 71 42 00    	call   *0x427184
406d41:	ff 35 38 96 83 02    	push   0x2839638
406d47:	ff 15 88 71 42 00    	call   *0x427188
406d4d:	c3                   	ret
406d4e:	68 1c 96 83 02       	push   $0x283961c
406d53:	ff 15 3c 71 42 00    	call   *0x42713c
406d59:	c3                   	ret
406d5a:	55                   	push   %ebp
406d5b:	8b ec                	mov    %esp,%ebp
406d5d:	83 3d 38 96 83 02 00 	cmpl   $0x0,0x2839638
406d64:	56                   	push   %esi
406d65:	75 31                	jne    0x406d98
406d67:	8b 35 28 ba 43 00    	mov    0x43ba28,%esi
406d6d:	8b ce                	mov    %esi,%ecx
406d6f:	ff 75 08             	push   0x8(%ebp)
406d72:	33 35 3c 96 83 02    	xor    0x283963c,%esi
406d78:	83 e1 1f             	and    $0x1f,%ecx
406d7b:	d3 ce                	ror    %cl,%esi
406d7d:	68 1c 96 83 02       	push   $0x283961c
406d82:	68 34 96 83 02       	push   $0x2839634
406d87:	8b ce                	mov    %esi,%ecx
406d89:	e8 e3 02 00 00       	call   0x407071
406d8e:	ff d6                	call   *%esi
406d90:	f7 d8                	neg    %eax
406d92:	1b c0                	sbb    %eax,%eax
406d94:	f7 d8                	neg    %eax
406d96:	eb 24                	jmp    0x406dbc
406d98:	e8 b1 ff ff ff       	call   0x406d4e
406d9d:	6a 00                	push   $0x0
406d9f:	ff 75 08             	push   0x8(%ebp)
406da2:	ff 35 38 96 83 02    	push   0x2839638
406da8:	ff 15 8c 71 42 00    	call   *0x42718c
406dae:	8b f0                	mov    %eax,%esi
406db0:	e8 4c ff ff ff       	call   0x406d01
406db5:	33 c0                	xor    %eax,%eax
406db7:	85 f6                	test   %esi,%esi
406db9:	0f 94 c0             	sete   %al
406dbc:	5e                   	pop    %esi
406dbd:	5d                   	pop    %ebp
406dbe:	c3                   	ret
406dbf:	cc                   	int3
406dc0:	6a ff                	push   $0xffffffff
406dc2:	50                   	push   %eax
406dc3:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
406dc9:	50                   	push   %eax
406dca:	8b 44 24 0c          	mov    0xc(%esp),%eax
406dce:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
406dd5:	89 6c 24 0c          	mov    %ebp,0xc(%esp)
406dd9:	8d 6c 24 0c          	lea    0xc(%esp),%ebp
406ddd:	50                   	push   %eax
406dde:	f2 c3                	bnd ret
406de0:	51                   	push   %ecx
406de1:	8d 4c 24 04          	lea    0x4(%esp),%ecx
406de5:	2b c8                	sub    %eax,%ecx
406de7:	1b c0                	sbb    %eax,%eax
406de9:	f7 d0                	not    %eax
406deb:	23 c8                	and    %eax,%ecx
406ded:	8b c4                	mov    %esp,%eax
406def:	25 00 f0 ff ff       	and    $0xfffff000,%eax
406df4:	3b c8                	cmp    %eax,%ecx
406df6:	f2 72 0b             	bnd jb 0x406e04
406df9:	8b c1                	mov    %ecx,%eax
406dfb:	59                   	pop    %ecx
406dfc:	94                   	xchg   %eax,%esp
406dfd:	8b 00                	mov    (%eax),%eax
406dff:	89 04 24             	mov    %eax,(%esp)
406e02:	f2 c3                	bnd ret
406e04:	2d 00 10 00 00       	sub    $0x1000,%eax
406e09:	85 00                	test   %eax,(%eax)
406e0b:	eb e7                	jmp    0x406df4
406e0d:	55                   	push   %ebp
406e0e:	8b ec                	mov    %esp,%ebp
406e10:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
406e14:	56                   	push   %esi
406e15:	8b f1                	mov    %ecx,%esi
406e17:	c7 06 14 a6 42 00    	movl   $0x42a614,(%esi)
406e1d:	74 0a                	je     0x406e29
406e1f:	6a 0c                	push   $0xc
406e21:	56                   	push   %esi
406e22:	e8 ac fa ff ff       	call   0x4068d3
406e27:	59                   	pop    %ecx
406e28:	59                   	pop    %ecx
406e29:	8b c6                	mov    %esi,%eax
406e2b:	5e                   	pop    %esi
406e2c:	5d                   	pop    %ebp
406e2d:	c2 04 00             	ret    $0x4
406e30:	56                   	push   %esi
406e31:	6a 02                	push   $0x2
406e33:	e8 c4 f8 00 00       	call   0x4166fc
406e38:	e8 e0 08 00 00       	call   0x40771d
406e3d:	50                   	push   %eax
406e3e:	e8 97 fa 00 00       	call   0x4168da
406e43:	e8 7c 0c 01 00       	call   0x417ac4
406e48:	8b f0                	mov    %eax,%esi
406e4a:	e8 cb 08 00 00       	call   0x40771a
406e4f:	6a 01                	push   $0x1
406e51:	89 06                	mov    %eax,(%esi)
406e53:	e8 58 fb ff ff       	call   0x4069b0
406e58:	83 c4 0c             	add    $0xc,%esp
406e5b:	5e                   	pop    %esi
406e5c:	84 c0                	test   %al,%al
406e5e:	74 6c                	je     0x406ecc
406e60:	db e2                	fnclex
406e62:	e8 29 09 00 00       	call   0x407790
406e67:	68 bb 77 40 00       	push   $0x4077bb
406e6c:	e8 e0 fc ff ff       	call   0x406b51
406e71:	e8 a7 05 00 00       	call   0x40741d
406e76:	50                   	push   %eax
406e77:	e8 69 f0 00 00       	call   0x415ee5
406e7c:	59                   	pop    %ecx
406e7d:	59                   	pop    %ecx
406e7e:	85 c0                	test   %eax,%eax
406e80:	75 4a                	jne    0x406ecc
406e82:	e8 a2 08 00 00       	call   0x407729
406e87:	e8 ec 08 00 00       	call   0x407778
406e8c:	85 c0                	test   %eax,%eax
406e8e:	74 0b                	je     0x406e9b
406e90:	68 17 77 40 00       	push   $0x407717
406e95:	e8 37 f9 00 00       	call   0x4167d1
406e9a:	59                   	pop    %ecx
406e9b:	e8 b9 08 00 00       	call   0x407759
406ea0:	e8 b5 08 00 00       	call   0x40775a
406ea5:	e8 8e 08 00 00       	call   0x407738
406eaa:	e8 77 08 00 00       	call   0x407726
406eaf:	50                   	push   %eax
406eb0:	e8 c7 fe 00 00       	call   0x416d7c
406eb5:	59                   	pop    %ecx
406eb6:	e8 7a 08 00 00       	call   0x407735
406ebb:	84 c0                	test   %al,%al
406ebd:	74 05                	je     0x406ec4
406ebf:	e8 d2 f2 00 00       	call   0x416196
406ec4:	e8 b2 06 00 00       	call   0x40757b
406ec9:	33 c0                	xor    %eax,%eax
406ecb:	c3                   	ret
406ecc:	6a 07                	push   $0x7
406ece:	e8 5a 05 00 00       	call   0x40742d
406ed3:	cc                   	int3
406ed4:	e8 82 08 00 00       	call   0x40775b
406ed9:	33 c0                	xor    %eax,%eax
406edb:	c3                   	ret
406edc:	e8 e1 06 00 00       	call   0x4075c2
406ee1:	e8 3d 08 00 00       	call   0x407723
406ee6:	50                   	push   %eax
406ee7:	e8 a9 0b 01 00       	call   0x417a95
406eec:	59                   	pop    %ecx
406eed:	c3                   	ret
406eee:	6a 14                	push   $0x14
406ef0:	68 28 7e 43 00       	push   $0x437e28
406ef5:	e8 26 07 00 00       	call   0x407620
406efa:	6a 01                	push   $0x1
406efc:	e8 76 fa ff ff       	call   0x406977
406f01:	59                   	pop    %ecx
406f02:	84 c0                	test   %al,%al
406f04:	75 07                	jne    0x406f0d
406f06:	6a 07                	push   $0x7
406f08:	e8 20 05 00 00       	call   0x40742d
406f0d:	32 db                	xor    %bl,%bl
406f0f:	88 5d e7             	mov    %bl,-0x19(%ebp)
406f12:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
406f16:	e8 27 fa ff ff       	call   0x406942
406f1b:	88 45 dc             	mov    %al,-0x24(%ebp)
406f1e:	a1 f8 95 83 02       	mov    0x28395f8,%eax
406f23:	33 c9                	xor    %ecx,%ecx
406f25:	41                   	inc    %ecx
406f26:	3b c1                	cmp    %ecx,%eax
406f28:	74 dc                	je     0x406f06
406f2a:	85 c0                	test   %eax,%eax
406f2c:	75 49                	jne    0x406f77
406f2e:	89 0d f8 95 83 02    	mov    %ecx,0x28395f8
406f34:	68 98 72 42 00       	push   $0x427298
406f39:	68 74 72 42 00       	push   $0x427274
406f3e:	e8 52 f9 00 00       	call   0x416895
406f43:	59                   	pop    %ecx
406f44:	59                   	pop    %ecx
406f45:	85 c0                	test   %eax,%eax
406f47:	74 11                	je     0x406f5a
406f49:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
406f50:	b8 ff 00 00 00       	mov    $0xff,%eax
406f55:	e9 f6 00 00 00       	jmp    0x407050
406f5a:	68 70 72 42 00       	push   $0x427270
406f5f:	68 54 72 42 00       	push   $0x427254
406f64:	e8 d0 f8 00 00       	call   0x416839
406f69:	59                   	pop    %ecx
406f6a:	59                   	pop    %ecx
406f6b:	c7 05 f8 95 83 02 02 	movl   $0x2,0x28395f8
406f72:	00 00 00
406f75:	eb 05                	jmp    0x406f7c
406f77:	8a d9                	mov    %cl,%bl
406f79:	88 5d e7             	mov    %bl,-0x19(%ebp)
406f7c:	ff 75 dc             	push   -0x24(%ebp)
406f7f:	e8 4d fb ff ff       	call   0x406ad1
406f84:	59                   	pop    %ecx
406f85:	e8 fa 07 00 00       	call   0x407784
406f8a:	8b f0                	mov    %eax,%esi
406f8c:	33 ff                	xor    %edi,%edi
406f8e:	39 3e                	cmp    %edi,(%esi)
406f90:	74 1a                	je     0x406fac
406f92:	56                   	push   %esi
406f93:	e8 af fa ff ff       	call   0x406a47
406f98:	59                   	pop    %ecx
406f99:	84 c0                	test   %al,%al
406f9b:	74 0f                	je     0x406fac
406f9d:	57                   	push   %edi
406f9e:	6a 02                	push   $0x2
406fa0:	57                   	push   %edi
406fa1:	8b 36                	mov    (%esi),%esi
406fa3:	8b ce                	mov    %esi,%ecx
406fa5:	e8 c7 00 00 00       	call   0x407071
406faa:	ff d6                	call   *%esi
406fac:	e8 d9 07 00 00       	call   0x40778a
406fb1:	8b f0                	mov    %eax,%esi
406fb3:	39 3e                	cmp    %edi,(%esi)
406fb5:	74 13                	je     0x406fca
406fb7:	56                   	push   %esi
406fb8:	e8 8a fa ff ff       	call   0x406a47
406fbd:	59                   	pop    %ecx
406fbe:	84 c0                	test   %al,%al
406fc0:	74 08                	je     0x406fca
406fc2:	ff 36                	push   (%esi)
406fc4:	e8 e0 eb 00 00       	call   0x415ba9
406fc9:	59                   	pop    %ecx
406fca:	e8 79 05 00 00       	call   0x407548
406fcf:	0f b7 c0             	movzwl %ax,%eax
406fd2:	50                   	push   %eax
406fd3:	e8 0e f8 00 00       	call   0x4167e6
406fd8:	50                   	push   %eax
406fd9:	57                   	push   %edi
406fda:	68 00 00 40 00       	push   $0x400000
406fdf:	e8 6c a0 ff ff       	call   0x401050
406fe4:	8b f0                	mov    %eax,%esi
406fe6:	e8 93 05 00 00       	call   0x40757e
406feb:	84 c0                	test   %al,%al
406fed:	75 06                	jne    0x406ff5
406fef:	56                   	push   %esi
406ff0:	e8 ec eb 00 00       	call   0x415be1
406ff5:	84 db                	test   %bl,%bl
406ff7:	75 05                	jne    0x406ffe
406ff9:	e8 86 eb 00 00       	call   0x415b84
406ffe:	57                   	push   %edi
406fff:	6a 01                	push   $0x1
407001:	e8 e8 fa ff ff       	call   0x406aee
407006:	59                   	pop    %ecx
407007:	59                   	pop    %ecx
407008:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40700f:	8b c6                	mov    %esi,%eax
407011:	eb 3d                	jmp    0x407050
407013:	8b 4d ec             	mov    -0x14(%ebp),%ecx
407016:	8b 01                	mov    (%ecx),%eax
407018:	8b 00                	mov    (%eax),%eax
40701a:	89 45 e0             	mov    %eax,-0x20(%ebp)
40701d:	51                   	push   %ecx
40701e:	50                   	push   %eax
40701f:	e8 95 e7 00 00       	call   0x4157b9
407024:	59                   	pop    %ecx
407025:	59                   	pop    %ecx
407026:	c3                   	ret
407027:	8b 65 e8             	mov    -0x18(%ebp),%esp
40702a:	e8 4f 05 00 00       	call   0x40757e
40702f:	84 c0                	test   %al,%al
407031:	75 08                	jne    0x40703b
407033:	ff 75 e0             	push   -0x20(%ebp)
407036:	e8 58 eb 00 00       	call   0x415b93
40703b:	80 7d e7 00          	cmpb   $0x0,-0x19(%ebp)
40703f:	75 05                	jne    0x407046
407041:	e8 2f eb 00 00       	call   0x415b75
407046:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40704d:	8b 45 e0             	mov    -0x20(%ebp),%eax
407050:	e8 11 06 00 00       	call   0x407666
407055:	c3                   	ret
407056:	e8 20 06 00 00       	call   0x40767b
40705b:	e9 8e fe ff ff       	jmp    0x406eee
407060:	3b 0d 28 ba 43 00    	cmp    0x43ba28,%ecx
407066:	f2 75 02             	bnd jne 0x40706b
407069:	f2 c3                	bnd ret
40706b:	f2 e9 9d 07 00 00    	bnd jmp 0x40780e
407071:	ff 25 50 72 42 00    	jmp    *0x427250
407077:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40707a:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
407081:	59                   	pop    %ecx
407082:	5f                   	pop    %edi
407083:	5f                   	pop    %edi
407084:	5e                   	pop    %esi
407085:	5b                   	pop    %ebx
407086:	8b e5                	mov    %ebp,%esp
407088:	5d                   	pop    %ebp
407089:	51                   	push   %ecx
40708a:	f2 c3                	bnd ret
40708c:	50                   	push   %eax
40708d:	64 ff 35 00 00 00 00 	push   %fs:0x0
407094:	8d 44 24 0c          	lea    0xc(%esp),%eax
407098:	2b 64 24 0c          	sub    0xc(%esp),%esp
40709c:	53                   	push   %ebx
40709d:	56                   	push   %esi
40709e:	57                   	push   %edi
40709f:	89 28                	mov    %ebp,(%eax)
4070a1:	8b e8                	mov    %eax,%ebp
4070a3:	a1 28 ba 43 00       	mov    0x43ba28,%eax
4070a8:	33 c5                	xor    %ebp,%eax
4070aa:	50                   	push   %eax
4070ab:	ff 75 fc             	push   -0x4(%ebp)
4070ae:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
4070b5:	8d 45 f4             	lea    -0xc(%ebp),%eax