402a3f:	53                   	push   %ebx
402a40:	56                   	push   %esi
402a41:	8d 45 fc             	lea    -0x4(%ebp),%eax
402a44:	57                   	push   %edi
402a45:	50                   	push   %eax
402a46:	a1 50 3f 42 00       	mov    0x423f50,%eax
402a4b:	0c 08                	or     $0x8,%al
402a4d:	33 db                	xor    %ebx,%ebx
402a4f:	50                   	push   %eax
402a50:	53                   	push   %ebx
402a51:	ff 75 0c             	push   0xc(%ebp)
402a54:	ff 75 08             	push   0x8(%ebp)
402a57:	ff 15 10 70 40 00    	call   *0x407010
402a5d:	3b c3                	cmp    %ebx,%eax
402a5f:	75 69                	jne    0x402aca
402a61:	8b 35 08 70 40 00    	mov    0x407008,%esi
402a67:	bf 05 01 00 00       	mov    $0x105,%edi
402a6c:	eb 19                	jmp    0x402a87
402a6e:	39 5d 10             	cmp    %ebx,0x10(%ebp)
402a71:	75 4b                	jne    0x402abe
402a73:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
402a79:	53                   	push   %ebx
402a7a:	50                   	push   %eax
402a7b:	ff 75 fc             	push   -0x4(%ebp)
402a7e:	e8 b3 ff ff ff       	call   0x402a36
402a83:	85 c0                	test   %eax,%eax
402a85:	75 12                	jne    0x402a99
402a87:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
402a8d:	57                   	push   %edi
402a8e:	50                   	push   %eax
402a8f:	53                   	push   %ebx
402a90:	ff 75 fc             	push   -0x4(%ebp)
402a93:	ff d6                	call   *%esi
402a95:	85 c0                	test   %eax,%eax
402a97:	74 d5                	je     0x402a6e
402a99:	ff 75 fc             	push   -0x4(%ebp)
402a9c:	ff 15 1c 70 40 00    	call   *0x40701c
402aa2:	6a 02                	push   $0x2
402aa4:	e8 df 33 00 00       	call   0x405e88
402aa9:	3b c3                	cmp    %ebx,%eax
402aab:	74 24                	je     0x402ad1
402aad:	53                   	push   %ebx
402aae:	ff 35 50 3f 42 00    	push   0x423f50
402ab4:	ff 75 0c             	push   0xc(%ebp)
402ab7:	ff 75 08             	push   0x8(%ebp)
402aba:	ff d0                	call   *%eax
402abc:	eb 0c                	jmp    0x402aca
402abe:	ff 75 fc             	push   -0x4(%ebp)
402ac1:	ff 15 1c 70 40 00    	call   *0x40701c
402ac7:	33 c0                	xor    %eax,%eax
402ac9:	40                   	inc    %eax
402aca:	5f                   	pop    %edi
402acb:	5e                   	pop    %esi
402acc:	5b                   	pop    %ebx
402acd:	c9                   	leave
402ace:	c2 0c 00             	ret    $0xc
402ad1:	39 1d 50 3f 42 00    	cmp    %ebx,0x423f50
402ad7:	75 ee                	jne    0x402ac7
402ad9:	ff 75 0c             	push   0xc(%ebp)
402adc:	ff 75 08             	push   0x8(%ebp)
402adf:	ff 15 14 70 40 00    	call   *0x407014
402ae5:	85 c0                	test   %eax,%eax
402ae7:	75 de                	jne    0x402ac7
402ae9:	eb df                	jmp    0x402aca
402aeb:	8b 44 24 04          	mov    0x4(%esp),%eax
402aef:	85 c0                	test   %eax,%eax
402af1:	75 0a                	jne    0x402afd
402af3:	a1 24 3f 42 00       	mov    0x423f24,%eax
402af8:	05 01 00 00 80       	add    $0x80000001,%eax
402afd:	c2 04 00             	ret    $0x4
402b00:	55                   	push   %ebp
402b01:	8b ec                	mov    %esp,%ebp
402b03:	8d 45 08             	lea    0x8(%ebp),%eax
402b06:	50                   	push   %eax
402b07:	a1 50 3f 42 00       	mov    0x423f50,%eax
402b0c:	0b 45 08             	or     0x8(%ebp),%eax
402b0f:	50                   	push   %eax
402b10:	6a 00                	push   $0x0
402b12:	6a 22                	push   $0x22
402b14:	e8 dd fe ff ff       	call   0x4029f6
402b19:	50                   	push   %eax
402b1a:	a1 68 9b 40 00       	mov    0x409b68,%eax
402b1f:	ff 70 04             	push   0x4(%eax)
402b22:	e8 c4 ff ff ff       	call   0x402aeb
402b27:	50                   	push   %eax
402b28:	ff 15 10 70 40 00    	call   *0x407010
402b2e:	f7 d8                	neg    %eax
402b30:	1b c0                	sbb    %eax,%eax
402b32:	f7 d0                	not    %eax
402b34:	23 45 08             	and    0x8(%ebp),%eax
402b37:	5d                   	pop    %ebp
402b38:	c2 04 00             	ret    $0x4
402b3b:	55                   	push   %ebp
402b3c:	8b ec                	mov    %esp,%ebp
402b3e:	83 ec 40             	sub    $0x40,%esp
402b41:	81 7d 0c 10 01 00 00 	cmpl   $0x110,0xc(%ebp)
402b48:	75 19                	jne    0x402b63
402b4a:	6a 00                	push   $0x0
402b4c:	68 fa 00 00 00       	push   $0xfa
402b51:	6a 01                	push   $0x1
402b53:	ff 75 08             	push   0x8(%ebp)
402b56:	ff 15 f0 71 40 00    	call   *0x4071f0
402b5c:	c7 45 0c 13 01 00 00 	movl   $0x113,0xc(%ebp)
402b63:	81 7d 0c 13 01 00 00 	cmpl   $0x113,0xc(%ebp)
402b6a:	75 45                	jne    0x402bb1
402b6c:	e8 46 00 00 00       	call   0x402bb7
402b71:	83 3d b0 3e 42 00 00 	cmpl   $0x0,0x423eb0
402b78:	b9 38 90 40 00       	mov    $0x409038,%ecx
402b7d:	75 05                	jne    0x402b84
402b7f:	b9 1c 90 40 00       	mov    $0x40901c,%ecx
402b84:	50                   	push   %eax
402b85:	8d 45 c0             	lea    -0x40(%ebp),%eax
402b88:	51                   	push   %ecx
402b89:	50                   	push   %eax
402b8a:	ff 15 00 72 40 00    	call   *0x407200
402b90:	83 c4 0c             	add    $0xc,%esp
402b93:	8d 45 c0             	lea    -0x40(%ebp),%eax
402b96:	50                   	push   %eax
402b97:	ff 75 08             	push   0x8(%ebp)
402b9a:	ff 15 f4 71 40 00    	call   *0x4071f4
402ba0:	8d 45 c0             	lea    -0x40(%ebp),%eax
402ba3:	50                   	push   %eax
402ba4:	68 06 04 00 00       	push   $0x406
402ba9:	ff 75 08             	push   0x8(%ebp)
402bac:	e8 54 28 00 00       	call   0x405405
402bb1:	33 c0                	xor    %eax,%eax
402bb3:	c9                   	leave
402bb4:	c2 10 00             	ret    $0x10
402bb7:	8b 0d 40 70 41 00    	mov    0x417040,%ecx
402bbd:	a1 50 f0 41 00       	mov    0x41f050,%eax
402bc2:	3b c8                	cmp    %eax,%ecx
402bc4:	7c 02                	jl     0x402bc8
402bc6:	8b c8                	mov    %eax,%ecx
402bc8:	50                   	push   %eax
402bc9:	6a 64                	push   $0x64
402bcb:	51                   	push   %ecx
402bcc:	ff 15 30 71 40 00    	call   *0x407130
402bd2:	c3                   	ret
402bd3:	55                   	push   %ebp
402bd4:	8b ec                	mov    %esp,%ebp
402bd6:	83 ec 40             	sub    $0x40,%esp
402bd9:	56                   	push   %esi
402bda:	33 f6                	xor    %esi,%esi
402bdc:	39 75 08             	cmp    %esi,0x8(%ebp)
402bdf:	74 18                	je     0x402bf9
402be1:	a1 4c 70 41 00       	mov    0x41704c,%eax
402be6:	3b c6                	cmp    %esi,%eax
402be8:	74 07                	je     0x402bf1
402bea:	50                   	push   %eax
402beb:	ff 15 e8 71 40 00    	call   *0x4071e8
402bf1:	89 35 4c 70 41 00    	mov    %esi,0x41704c
402bf7:	eb 76                	jmp    0x402c6f
402bf9:	39 35 4c 70 41 00    	cmp    %esi,0x41704c
402bff:	74 08                	je     0x402c09
402c01:	56                   	push   %esi
402c02:	e8 ba 32 00 00       	call   0x405ec1
402c07:	eb 66                	jmp    0x402c6f
402c09:	ff 15 8c 70 40 00    	call   *0x40708c
402c0f:	3b 05 ac 3e 42 00    	cmp    0x423eac,%eax
402c15:	76 58                	jbe    0x402c6f
402c17:	39 35 a8 3e 42 00    	cmp    %esi,0x423ea8
402c1d:	74 2d                	je     0x402c4c
402c1f:	f6 05 54 3f 42 00 01 	testb  $0x1,0x423f54
402c26:	74 47                	je     0x402c6f
402c28:	e8 8a ff ff ff       	call   0x402bb7
402c2d:	50                   	push   %eax
402c2e:	8d 45 c0             	lea    -0x40(%ebp),%eax
402c31:	68 50 90 40 00       	push   $0x409050
402c36:	50                   	push   %eax
402c37:	ff 15 00 72 40 00    	call   *0x407200
402c3d:	83 c4 0c             	add    $0xc,%esp
402c40:	8d 45 c0             	lea    -0x40(%ebp),%eax
402c43:	50                   	push   %eax
402c44:	56                   	push   %esi
402c45:	e8 ba 22 00 00       	call   0x404f04
402c4a:	eb 23                	jmp    0x402c6f
402c4c:	56                   	push   %esi
402c4d:	68 3b 2b 40 00       	push   $0x402b3b
402c52:	56                   	push   %esi
402c53:	6a 6f                	push   $0x6f
402c55:	ff 35 a0 3e 42 00    	push   0x423ea0
402c5b:	ff 15 ec 71 40 00    	call   *0x4071ec
402c61:	6a 05                	push   $0x5
402c63:	50                   	push   %eax
402c64:	a3 4c 70 41 00       	mov    %eax,0x41704c
402c69:	ff 15 60 72 40 00    	call   *0x407260
402c6f:	5e                   	pop    %esi
402c70:	c9                   	leave
402c71:	c3                   	ret
402c72:	55                   	push   %ebp
402c73:	8b ec                	mov    %esp,%ebp
402c75:	81 ec 28 01 00 00    	sub    $0x128,%esp
402c7b:	53                   	push   %ebx
402c7c:	56                   	push   %esi
402c7d:	33 db                	xor    %ebx,%ebx
402c7f:	57                   	push   %edi
402c80:	89 5d fc             	mov    %ebx,-0x4(%ebp)
402c83:	89 5d f8             	mov    %ebx,-0x8(%ebp)
402c86:	ff 15 8c 70 40 00    	call   *0x40708c
402c8c:	be 00 ac 42 00       	mov    $0x42ac00,%esi
402c91:	68 00 04 00 00       	push   $0x400
402c96:	05 e8 03 00 00       	add    $0x3e8,%eax
402c9b:	56                   	push   %esi
402c9c:	53                   	push   %ebx
402c9d:	a3 ac 3e 42 00       	mov    %eax,0x423eac
402ca2:	ff 15 98 70 40 00    	call   *0x407098
402ca8:	6a 03                	push   $0x3
402caa:	68 00 00 00 80       	push   $0x80000000
402caf:	56                   	push   %esi
402cb0:	e8 88 2b 00 00       	call   0x40583d
402cb5:	8b f8                	mov    %eax,%edi
402cb7:	83 ff ff             	cmp    $0xffffffff,%edi
402cba:	89 3d 14 90 40 00    	mov    %edi,0x409014
402cc0:	75 0a                	jne    0x402ccc
402cc2:	b8 74 91 40 00       	mov    $0x409174,%eax
402cc7:	e9 45 02 00 00       	jmp    0x402f11
402ccc:	56                   	push   %esi
402ccd:	be 00 9c 42 00       	mov    $0x429c00,%esi
402cd2:	56                   	push   %esi
402cd3:	e8 8e 2e 00 00       	call   0x405b66
402cd8:	56                   	push   %esi
402cd9:	e8 c2 29 00 00       	call   0x4056a0
402cde:	50                   	push   %eax
402cdf:	68 00 b0 42 00       	push   $0x42b000
402ce4:	e8 7d 2e 00 00       	call   0x405b66
402ce9:	53                   	push   %ebx
402cea:	57                   	push   %edi
402ceb:	ff 15 94 70 40 00    	call   *0x407094
402cf1:	3b c3                	cmp    %ebx,%eax
402cf3:	a3 50 f0 41 00       	mov    %eax,0x41f050
402cf8:	8b f0                	mov    %eax,%esi
402cfa:	0f 8e ea 00 00 00    	jle    0x402dea
402d00:	a1 b4 3e 42 00       	mov    0x423eb4,%eax
402d05:	8b fe                	mov    %esi,%edi
402d07:	f7 d8                	neg    %eax
402d09:	1b c0                	sbb    %eax,%eax
402d0b:	25 00 7e 00 00       	and    $0x7e00,%eax
402d10:	05 00 02 00 00       	add    $0x200,%eax
402d15:	3b f0                	cmp    %eax,%esi
402d17:	7c 02                	jl     0x402d1b
402d19:	8b f8                	mov    %eax,%edi
402d1b:	57                   	push   %edi
402d1c:	68 50 70 41 00       	push   $0x417050
402d21:	e8 99 04 00 00       	call   0x4031bf
402d26:	85 c0                	test   %eax,%eax
402d28:	0f 84 57 01 00 00    	je     0x402e85
402d2e:	39 1d b4 3e 42 00    	cmp    %ebx,0x423eb4
402d34:	75 7e                	jne    0x402db4
402d36:	6a 1c                	push   $0x1c
402d38:	8d 45 dc             	lea    -0x24(%ebp),%eax
402d3b:	68 50 70 41 00       	push   $0x417050
402d40:	50                   	push   %eax
402d41:	e8 b8 2a 00 00       	call   0x4057fe
402d46:	8b 45 dc             	mov    -0x24(%ebp),%eax
402d49:	a9 f0 ff ff ff       	test   $0xfffffff0,%eax
402d4e:	75 71                	jne    0x402dc1
402d50:	81 7d e0 ef be ad de 	cmpl   $0xdeadbeef,-0x20(%ebp)
402d57:	75 68                	jne    0x402dc1
402d59:	81 7d ec 49 6e 73 74 	cmpl   $0x74736e49,-0x14(%ebp)
402d60:	75 5f                	jne    0x402dc1
402d62:	81 7d e8 73 6f 66 74 	cmpl   $0x74666f73,-0x18(%ebp)
402d69:	75 56                	jne    0x402dc1
402d6b:	81 7d e4 4e 75 6c 6c 	cmpl   $0x6c6c754e,-0x1c(%ebp)
402d72:	75 4d                	jne    0x402dc1
402d74:	09 45 08             	or     %eax,0x8(%ebp)
402d77:	8b 45 08             	mov    0x8(%ebp),%eax
402d7a:	8b 0d 40 70 41 00    	mov    0x417040,%ecx
402d80:	83 e0 02             	and    $0x2,%eax
402d83:	09 05 40 3f 42 00    	or     %eax,0x423f40
402d89:	8b 45 f4             	mov    -0xc(%ebp),%eax
402d8c:	3b c6                	cmp    %esi,%eax
402d8e:	89 0d b4 3e 42 00    	mov    %ecx,0x423eb4
402d94:	0f 8f 2f 01 00 00    	jg     0x402ec9
402d9a:	f6 45 08 08          	testb  $0x8,0x8(%ebp)
402d9e:	75 06                	jne    0x402da6
402da0:	f6 45 08 04          	testb  $0x4,0x8(%ebp)
402da4:	75 44                	jne    0x402dea
402da6:	ff 45 f8             	incl   -0x8(%ebp)
402da9:	8d 70 fc             	lea    -0x4(%eax),%esi
402dac:	3b fe                	cmp    %esi,%edi
402dae:	76 11                	jbe    0x402dc1
402db0:	8b fe                	mov    %esi,%edi
402db2:	eb 0d                	jmp    0x402dc1
402db4:	f6 45 08 02          	testb  $0x2,0x8(%ebp)
402db8:	75 07                	jne    0x402dc1
402dba:	53                   	push   %ebx
402dbb:	e8 13 fe ff ff       	call   0x402bd3
402dc0:	59                   	pop    %ecx
402dc1:	3b 35 50 f0 41 00    	cmp    0x41f050,%esi
402dc7:	7d 11                	jge    0x402dda
402dc9:	57                   	push   %edi
402dca:	68 50 70 41 00       	push   $0x417050
402dcf:	ff 75 fc             	push   -0x4(%ebp)
402dd2:	e8 1d 31 00 00       	call   0x405ef4
402dd7:	89 45 fc             	mov    %eax,-0x4(%ebp)
402dda:	01 3d 40 70 41 00    	add    %edi,0x417040
402de0:	2b f7                	sub    %edi,%esi
402de2:	3b f3                	cmp    %ebx,%esi
402de4:	0f 8f 16 ff ff ff    	jg     0x402d00
402dea:	6a 01                	push   $0x1
402dec:	e8 e2 fd ff ff       	call   0x402bd3
402df1:	39 1d b4 3e 42 00    	cmp    %ebx,0x423eb4
402df7:	59                   	pop    %ecx
402df8:	0f 84 cb 00 00 00    	je     0x402ec9
402dfe:	39 5d f8             	cmp    %ebx,-0x8(%ebp)
402e01:	74 2a                	je     0x402e2d
402e03:	ff 35 40 70 41 00    	push   0x417040
402e09:	e8 e3 03 00 00       	call   0x4031f1
402e0e:	8d 45 08             	lea    0x8(%ebp),%eax
402e11:	6a 04                	push   $0x4
402e13:	50                   	push   %eax
402e14:	e8 a6 03 00 00       	call   0x4031bf
402e19:	85 c0                	test   %eax,%eax
402e1b:	0f 84 a8 00 00 00    	je     0x402ec9
402e21:	8b 45 fc             	mov    -0x4(%ebp),%eax
402e24:	3b 45 08             	cmp    0x8(%ebp),%eax
402e27:	0f 85 9c 00 00 00    	jne    0x402ec9
402e2d:	ff 75 f0             	push   -0x10(%ebp)
402e30:	6a 40                	push   $0x40
402e32:	ff 15 00 71 40 00    	call   *0x407100
402e38:	b9 b8 af 40 00       	mov    $0x40afb8,%ecx
402e3d:	8b f0                	mov    %eax,%esi
402e3f:	e8 1e 31 00 00       	call   0x405f62
402e44:	8d 85 d8 fe ff ff    	lea    -0x128(%ebp),%eax
402e4a:	68 00 a4 42 00       	push   $0x42a400
402e4f:	50                   	push   %eax
402e50:	e8 17 2a 00 00       	call   0x40586c
402e55:	53                   	push   %ebx
402e56:	68 00 01 00 04       	push   $0x4000100
402e5b:	6a 02                	push   $0x2
402e5d:	53                   	push   %ebx
402e5e:	53                   	push   %ebx
402e5f:	8d 85 d8 fe ff ff    	lea    -0x128(%ebp),%eax
402e65:	68 00 00 00 c0       	push   $0xc0000000
402e6a:	50                   	push   %eax
402e6b:	ff 15 90 70 40 00    	call   *0x407090
402e71:	83 f8 ff             	cmp    $0xffffffff,%eax
402e74:	a3 18 90 40 00       	mov    %eax,0x409018
402e79:	75 14                	jne    0x402e8f
402e7b:	b8 30 91 40 00       	mov    $0x409130,%eax
402e80:	e9 8c 00 00 00       	jmp    0x402f11
402e85:	6a 01                	push   $0x1
402e87:	e8 47 fd ff ff       	call   0x402bd3
402e8c:	59                   	pop    %ecx
402e8d:	eb 3a                	jmp    0x402ec9
402e8f:	a1 b4 3e 42 00       	mov    0x423eb4,%eax
402e94:	83 c0 1c             	add    $0x1c,%eax
402e97:	50                   	push   %eax
402e98:	e8 54 03 00 00       	call   0x4031f1
402e9d:	8b 4d dc             	mov    -0x24(%ebp),%ecx