406c2e:	85 c0                	test   %eax,%eax
406c30:	74 0d                	je     0x406c3f
406c32:	a1 30 1f 42 00       	mov    0x421f30,%eax
406c37:	89 35 38 1f 42 00    	mov    %esi,0x421f38
406c3d:	eb 07                	jmp    0x406c46
406c3f:	8b c6                	mov    %esi,%eax
406c41:	a3 30 1f 42 00       	mov    %eax,0x421f30
406c46:	8b 4d ec             	mov    -0x14(%ebp),%ecx
406c49:	43                   	inc    %ebx
406c4a:	3b df                	cmp    %edi,%ebx
406c4c:	7c d3                	jl     0x406c21
406c4e:	6a 00                	push   $0x0
406c50:	5f                   	pop    %edi
406c51:	85 c0                	test   %eax,%eax
406c53:	74 5c                	je     0x406cb1
406c55:	68 b4 43 40 00       	push   $0x4043b4
406c5a:	57                   	push   %edi
406c5b:	ff 15 70 35 42 00    	call   *0x423570
406c61:	59                   	pop    %ecx
406c62:	59                   	pop    %ecx
406c63:	ff 15 c8 30 42 00    	call   *0x4230c8
406c69:	50                   	push   %eax
406c6a:	68 c0 43 40 00       	push   $0x4043c0
406c6f:	6a 20                	push   $0x20
406c71:	be 50 21 42 00       	mov    $0x422150,%esi
406c76:	56                   	push   %esi
406c77:	e8 c7 00 00 00       	call   0x406d43
406c7c:	56                   	push   %esi
406c7d:	6a 02                	push   $0x2
406c7f:	ff 15 70 35 42 00    	call   *0x423570
406c85:	83 c4 18             	add    $0x18,%esp
406c88:	57                   	push   %edi
406c89:	57                   	push   %edi
406c8a:	68 00 01 00 00       	push   $0x100
406c8f:	ff 15 84 30 42 00    	call   *0x423084
406c95:	8b 15 78 35 42 00    	mov    0x423578,%edx
406c9b:	8b 0d 74 35 42 00    	mov    0x423574,%ecx
406ca1:	8b 12                	mov    (%edx),%edx
406ca3:	8b 09                	mov    (%ecx),%ecx
406ca5:	e8 2f 09 00 00       	call   0x4075d9
406caa:	8b f0                	mov    %eax,%esi
406cac:	e9 3c ff ff ff       	jmp    0x406bed
406cb1:	ff 15 80 30 42 00    	call   *0x423080
406cb7:	57                   	push   %edi
406cb8:	ff 15 48 32 42 00    	call   *0x423248
406cbe:	59                   	pop    %ecx
406cbf:	6a 0f                	push   $0xf
406cc1:	ff 15 90 34 42 00    	call   *0x423490
406cc7:	68 e4 12 00 00       	push   $0x12e4
406ccc:	e8 d7 45 01 00       	call   0x41b2a8
406cd1:	59                   	pop    %ecx
406cd2:	89 45 ec             	mov    %eax,-0x14(%ebp)
406cd5:	89 7d fc             	mov    %edi,-0x4(%ebp)
406cd8:	85 c0                	test   %eax,%eax
406cda:	74 09                	je     0x406ce5
406cdc:	8b c8                	mov    %eax,%ecx
406cde:	e8 aa 16 01 00       	call   0x41838d
406ce3:	8b f8                	mov    %eax,%edi
406ce5:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
406ce9:	89 3d 00 0a 42 00    	mov    %edi,0x420a00
406cef:	85 ff                	test   %edi,%edi
406cf1:	74 2c                	je     0x406d1f
406cf3:	8b 45 e8             	mov    -0x18(%ebp),%eax
406cf6:	89 78 20             	mov    %edi,0x20(%eax)
406cf9:	8b 07                	mov    (%edi),%eax
406cfb:	8b b0 c0 00 00 00    	mov    0xc0(%eax),%esi
406d01:	8b ce                	mov    %esi,%ecx
406d03:	ff 15 f0 35 42 00    	call   *0x4235f0
406d09:	8b cf                	mov    %edi,%ecx
406d0b:	ff d6                	call   *%esi
406d0d:	8b 35 f8 09 42 00    	mov    0x4209f8,%esi
406d13:	f7 de                	neg    %esi
406d15:	1b f6                	sbb    %esi,%esi
406d17:	83 e6 02             	and    $0x2,%esi
406d1a:	e9 ce fe ff ff       	jmp    0x406bed
406d1f:	8b 35 04 0a 42 00    	mov    0x420a04,%esi
406d25:	56                   	push   %esi
406d26:	ff 15 68 35 42 00    	call   *0x423568
406d2c:	cc                   	int3
406d2d:	cc                   	int3
406d2e:	cc                   	int3
406d2f:	cc                   	int3
406d30:	c2 04 00             	ret    $0x4
406d33:	cc                   	int3
406d34:	cc                   	int3
406d35:	cc                   	int3
406d36:	cc                   	int3
406d37:	cc                   	int3
406d38:	cc                   	int3
406d39:	cc                   	int3
406d3a:	cc                   	int3
406d3b:	cc                   	int3
406d3c:	cc                   	int3
406d3d:	cc                   	int3
406d3e:	cc                   	int3
406d3f:	cc                   	int3
406d40:	c2 00 00             	ret    $0x0
406d43:	8b ff                	mov    %edi,%edi
406d45:	55                   	push   %ebp
406d46:	8b ec                	mov    %esp,%ebp
406d48:	8b 45 0c             	mov    0xc(%ebp),%eax
406d4b:	56                   	push   %esi
406d4c:	33 f6                	xor    %esi,%esi
406d4e:	85 c0                	test   %eax,%eax
406d50:	74 07                	je     0x406d59
406d52:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
406d57:	76 05                	jbe    0x406d5e
406d59:	be 57 00 07 80       	mov    $0x80070057,%esi
406d5e:	85 f6                	test   %esi,%esi
406d60:	78 37                	js     0x406d99
406d62:	53                   	push   %ebx
406d63:	8b 5d 08             	mov    0x8(%ebp),%ebx
406d66:	33 f6                	xor    %esi,%esi
406d68:	57                   	push   %edi
406d69:	8d 78 ff             	lea    -0x1(%eax),%edi
406d6c:	8d 45 14             	lea    0x14(%ebp),%eax
406d6f:	50                   	push   %eax
406d70:	ff 75 10             	push   0x10(%ebp)
406d73:	57                   	push   %edi
406d74:	53                   	push   %ebx
406d75:	ff 15 6c 35 42 00    	call   *0x42356c
406d7b:	83 c4 10             	add    $0x10,%esp
406d7e:	85 c0                	test   %eax,%eax
406d80:	78 08                	js     0x406d8a
406d82:	3b c7                	cmp    %edi,%eax
406d84:	77 04                	ja     0x406d8a
406d86:	75 0d                	jne    0x406d95
406d88:	eb 05                	jmp    0x406d8f
406d8a:	be 7a 00 07 80       	mov    $0x8007007a,%esi
406d8f:	33 c0                	xor    %eax,%eax
406d91:	66 89 04 7b          	mov    %ax,(%ebx,%edi,2)
406d95:	5f                   	pop    %edi
406d96:	5b                   	pop    %ebx
406d97:	eb 0c                	jmp    0x406da5
406d99:	85 c0                	test   %eax,%eax
406d9b:	74 08                	je     0x406da5
406d9d:	8b 4d 08             	mov    0x8(%ebp),%ecx
406da0:	33 c0                	xor    %eax,%eax
406da2:	66 89 01             	mov    %ax,(%ecx)
406da5:	8b c6                	mov    %esi,%eax
406da7:	5e                   	pop    %esi
406da8:	5d                   	pop    %ebp
406da9:	c3                   	ret
406daa:	8b ff                	mov    %edi,%edi
406dac:	51                   	push   %ecx
406dad:	e8 f1 44 01 00       	call   0x41b2a3
406db2:	59                   	pop    %ecx
406db3:	c3                   	ret
406db4:	cc                   	int3
406db5:	cc                   	int3
406db6:	cc                   	int3
406db7:	cc                   	int3
406db8:	cc                   	int3
406db9:	cc                   	int3
406dba:	cc                   	int3
406dbb:	cc                   	int3
406dbc:	cc                   	int3
406dbd:	cc                   	int3
406dbe:	cc                   	int3
406dbf:	cc                   	int3
406dc0:	b8 5d 02 00 00       	mov    $0x25d,%eax
406dc5:	c3                   	ret
406dc6:	cc                   	int3
406dc7:	cc                   	int3
406dc8:	cc                   	int3
406dc9:	cc                   	int3
406dca:	cc                   	int3
406dcb:	cc                   	int3
406dcc:	cc                   	int3
406dcd:	cc                   	int3
406dce:	cc                   	int3
406dcf:	cc                   	int3
406dd0:	6a 04                	push   $0x4
406dd2:	b8 ae c6 41 00       	mov    $0x41c6ae,%eax
406dd7:	e8 5c 56 01 00       	call   0x41c438
406ddc:	68 64 01 00 00       	push   $0x164
406de1:	e8 c2 44 01 00       	call   0x41b2a8
406de6:	59                   	pop    %ecx
406de7:	8b c8                	mov    %eax,%ecx
406de9:	89 4d f0             	mov    %ecx,-0x10(%ebp)
406dec:	33 c0                	xor    %eax,%eax
406dee:	89 45 fc             	mov    %eax,-0x4(%ebp)
406df1:	85 c9                	test   %ecx,%ecx
406df3:	74 05                	je     0x406dfa
406df5:	e8 2c 00 00 00       	call   0x406e26
406dfa:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
406dfe:	e8 03 56 01 00       	call   0x41c406
406e03:	c3                   	ret
406e04:	cc                   	int3
406e05:	cc                   	int3
406e06:	cc                   	int3
406e07:	cc                   	int3
406e08:	cc                   	int3
406e09:	cc                   	int3
406e0a:	cc                   	int3
406e0b:	cc                   	int3
406e0c:	cc                   	int3
406e0d:	cc                   	int3
406e0e:	cc                   	int3
406e0f:	cc                   	int3
406e10:	b8 18 21 40 00       	mov    $0x402118,%eax
406e15:	c3                   	ret
406e16:	cc                   	int3
406e17:	cc                   	int3
406e18:	cc                   	int3
406e19:	cc                   	int3
406e1a:	cc                   	int3
406e1b:	cc                   	int3
406e1c:	cc                   	int3
406e1d:	cc                   	int3
406e1e:	cc                   	int3
406e1f:	cc                   	int3
406e20:	b8 78 14 40 00       	mov    $0x401478,%eax
406e25:	c3                   	ret
406e26:	6a 04                	push   $0x4
406e28:	b8 0d c7 41 00       	mov    $0x41c70d,%eax
406e2d:	e8 06 56 01 00       	call   0x41c438
406e32:	8b f1                	mov    %ecx,%esi
406e34:	89 75 f0             	mov    %esi,-0x10(%ebp)
406e37:	68 5d 02 00 00       	push   $0x25d
406e3c:	e8 45 71 00 00       	call   0x40df86
406e41:	33 ff                	xor    %edi,%edi
406e43:	89 7d fc             	mov    %edi,-0x4(%ebp)
406e46:	8d 8e 94 00 00 00    	lea    0x94(%esi),%ecx
406e4c:	c7 06 7c 13 40 00    	movl   $0x40137c,(%esi)
406e52:	ff 15 40 32 42 00    	call   *0x423240
406e58:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
406e5c:	8d 8e a4 00 00 00    	lea    0xa4(%esi),%ecx
406e62:	e8 45 07 00 00       	call   0x4075ac
406e67:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
406e6b:	8d 8e e4 00 00 00    	lea    0xe4(%esi),%ecx
406e71:	e8 bc 06 00 00       	call   0x407532
406e76:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
406e7a:	8d 8e 24 01 00 00    	lea    0x124(%esi),%ecx
406e80:	e8 5d 06 00 00       	call   0x4074e2
406e85:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
406e89:	89 be 90 00 00 00    	mov    %edi,0x90(%esi)
406e8f:	89 be 98 00 00 00    	mov    %edi,0x98(%esi)
406e95:	89 be 9c 00 00 00    	mov    %edi,0x9c(%esi)
406e9b:	89 be a0 00 00 00    	mov    %edi,0xa0(%esi)
406ea1:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
406ea5:	8b c6                	mov    %esi,%eax
406ea7:	e8 5a 55 01 00       	call   0x41c406
406eac:	c3                   	ret
406ead:	cc                   	int3
406eae:	cc                   	int3
406eaf:	cc                   	int3
406eb0:	8b ff                	mov    %edi,%edi
406eb2:	55                   	push   %ebp
406eb3:	8b ec                	mov    %esp,%ebp
406eb5:	56                   	push   %esi
406eb6:	8b f1                	mov    %ecx,%esi
406eb8:	e8 14 00 00 00       	call   0x406ed1
406ebd:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
406ec1:	74 07                	je     0x406eca
406ec3:	56                   	push   %esi
406ec4:	e8 da 43 01 00       	call   0x41b2a3
406ec9:	59                   	pop    %ecx
406eca:	8b c6                	mov    %esi,%eax
406ecc:	5e                   	pop    %esi
406ecd:	5d                   	pop    %ebp
406ece:	c2 04 00             	ret    $0x4
406ed1:	8b ff                	mov    %edi,%edi
406ed3:	55                   	push   %ebp
406ed4:	8b ec                	mov    %esp,%ebp
406ed6:	6a ff                	push   $0xffffffff
406ed8:	68 6c c7 41 00       	push   $0x41c76c
406edd:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
406ee3:	50                   	push   %eax
406ee4:	51                   	push   %ecx
406ee5:	56                   	push   %esi
406ee6:	a1 e4 05 42 00       	mov    0x4205e4,%eax
406eeb:	33 c5                	xor    %ebp,%eax
406eed:	50                   	push   %eax
406eee:	8d 45 f4             	lea    -0xc(%ebp),%eax
406ef1:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
406ef7:	8b f1                	mov    %ecx,%esi
406ef9:	89 75 f0             	mov    %esi,-0x10(%ebp)
406efc:	c7 06 7c 13 40 00    	movl   $0x40137c,(%esi)
406f02:	c7 45 fc 03 00 00 00 	movl   $0x3,-0x4(%ebp)
406f09:	8d 8e 24 01 00 00    	lea    0x124(%esi),%ecx
406f0f:	ff 15 6c 33 42 00    	call   *0x42336c
406f15:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
406f19:	8d 8e e4 00 00 00    	lea    0xe4(%esi),%ecx
406f1f:	ff 15 58 33 42 00    	call   *0x423358
406f25:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
406f29:	8d 8e a4 00 00 00    	lea    0xa4(%esi),%ecx
406f2f:	ff 15 48 33 42 00    	call   *0x423348
406f35:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
406f39:	8d 8e 94 00 00 00    	lea    0x94(%esi),%ecx
406f3f:	ff 15 44 32 42 00    	call   *0x423244
406f45:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
406f49:	8b ce                	mov    %esi,%ecx
406f4b:	e8 91 70 00 00       	call   0x40dfe1
406f50:	8b 4d f4             	mov    -0xc(%ebp),%ecx
406f53:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
406f5a:	59                   	pop    %ecx
406f5b:	5e                   	pop    %esi
406f5c:	c9                   	leave
406f5d:	c3                   	ret
406f5e:	cc                   	int3
406f5f:	cc                   	int3
406f60:	8b ff                	mov    %edi,%edi
406f62:	55                   	push   %ebp
406f63:	8b ec                	mov    %esp,%ebp
406f65:	56                   	push   %esi
406f66:	8b f1                	mov    %ecx,%esi
406f68:	8d 86 a4 00 00 00    	lea    0xa4(%esi),%eax
406f6e:	50                   	push   %eax
406f6f:	68 02 04 00 00       	push   $0x402
406f74:	ff 75 08             	push   0x8(%ebp)
406f77:	ff 15 70 33 42 00    	call   *0x423370
406f7d:	8d 86 e4 00 00 00    	lea    0xe4(%esi),%eax
406f83:	50                   	push   %eax
406f84:	68 f8 03 00 00       	push   $0x3f8
406f89:	ff 75 08             	push   0x8(%ebp)
406f8c:	ff 15 70 33 42 00    	call   *0x423370
406f92:	8d 86 24 01 00 00    	lea    0x124(%esi),%eax
406f98:	50                   	push   %eax
406f99:	68 f7 03 00 00       	push   $0x3f7
406f9e:	ff 75 08             	push   0x8(%ebp)
406fa1:	ff 15 70 33 42 00    	call   *0x423370
406fa7:	5e                   	pop    %esi
406fa8:	5d                   	pop    %ebp
406fa9:	c2 04 00             	ret    $0x4
406fac:	cc                   	int3
406fad:	cc                   	int3
406fae:	cc                   	int3
406faf:	cc                   	int3
406fb0:	b8 10 21 40 00       	mov    $0x402110,%eax
406fb5:	c3                   	ret
406fb6:	cc                   	int3
406fb7:	cc                   	int3
406fb8:	cc                   	int3
406fb9:	cc                   	int3
406fba:	cc                   	int3
406fbb:	cc                   	int3
406fbc:	cc                   	int3
406fbd:	cc                   	int3
406fbe:	cc                   	int3
406fbf:	cc                   	int3
406fc0:	b8 1c 11 40 00       	mov    $0x40111c,%eax
406fc5:	c3                   	ret
406fc6:	6a 50                	push   $0x50
406fc8:	b8 99 c7 41 00       	mov    $0x41c799,%eax
406fcd:	e8 99 54 01 00       	call   0x41c46b
406fd2:	8b f9                	mov    %ecx,%edi
406fd4:	8d 4d d8             	lea    -0x28(%ebp),%ecx
406fd7:	ff 15 40 32 42 00    	call   *0x423240
406fdd:	33 db                	xor    %ebx,%ebx