40bbf5:	8b 45 0c             	mov    0xc(%ebp),%eax
40bbf8:	89 85 e0 fc ff ff    	mov    %eax,-0x320(%ebp)
40bbfe:	8b 45 10             	mov    0x10(%ebp),%eax
40bc01:	89 85 e4 fc ff ff    	mov    %eax,-0x31c(%ebp)
40bc07:	8b 45 04             	mov    0x4(%ebp),%eax
40bc0a:	89 85 ec fc ff ff    	mov    %eax,-0x314(%ebp)
40bc10:	ff 15 94 71 42 00    	call   *0x427194
40bc16:	6a 00                	push   $0x0
40bc18:	8b f8                	mov    %eax,%edi
40bc1a:	ff 15 9c 71 42 00    	call   *0x42719c
40bc20:	8d 85 d8 fc ff ff    	lea    -0x328(%ebp),%eax
40bc26:	50                   	push   %eax
40bc27:	ff 15 98 71 42 00    	call   *0x427198
40bc2d:	85 c0                	test   %eax,%eax
40bc2f:	75 13                	jne    0x40bc44
40bc31:	85 ff                	test   %edi,%edi
40bc33:	75 0f                	jne    0x40bc44
40bc35:	83 7d 08 ff          	cmpl   $0xffffffff,0x8(%ebp)
40bc39:	74 09                	je     0x40bc44
40bc3b:	ff 75 08             	push   0x8(%ebp)
40bc3e:	e8 cc b9 ff ff       	call   0x40760f
40bc43:	59                   	pop    %ecx
40bc44:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40bc47:	33 cd                	xor    %ebp,%ecx
40bc49:	5f                   	pop    %edi
40bc4a:	e8 11 b4 ff ff       	call   0x407060
40bc4f:	8b e5                	mov    %ebp,%esp
40bc51:	5d                   	pop    %ebp
40bc52:	c3                   	ret
40bc53:	8b ff                	mov    %edi,%edi
40bc55:	55                   	push   %ebp
40bc56:	8b ec                	mov    %esp,%ebp
40bc58:	ff 75 08             	push   0x8(%ebp)
40bc5b:	b9 38 9a 83 02       	mov    $0x2839a38,%ecx
40bc60:	e8 82 fe ff ff       	call   0x40bae7
40bc65:	5d                   	pop    %ebp
40bc66:	c3                   	ret
40bc67:	8b ff                	mov    %edi,%edi
40bc69:	55                   	push   %ebp
40bc6a:	8b ec                	mov    %esp,%ebp
40bc6c:	51                   	push   %ecx
40bc6d:	a1 28 ba 43 00       	mov    0x43ba28,%eax
40bc72:	33 c5                	xor    %ebp,%eax
40bc74:	89 45 fc             	mov    %eax,-0x4(%ebp)
40bc77:	56                   	push   %esi
40bc78:	e8 63 cf 00 00       	call   0x418be0
40bc7d:	85 c0                	test   %eax,%eax
40bc7f:	74 35                	je     0x40bcb6
40bc81:	8b b0 5c 03 00 00    	mov    0x35c(%eax),%esi
40bc87:	85 f6                	test   %esi,%esi
40bc89:	74 2b                	je     0x40bcb6
40bc8b:	ff 75 18             	push   0x18(%ebp)
40bc8e:	ff 75 14             	push   0x14(%ebp)
40bc91:	ff 75 10             	push   0x10(%ebp)
40bc94:	ff 75 0c             	push   0xc(%ebp)
40bc97:	ff 75 08             	push   0x8(%ebp)
40bc9a:	8b ce                	mov    %esi,%ecx
40bc9c:	ff 15 50 72 42 00    	call   *0x427250
40bca2:	ff d6                	call   *%esi
40bca4:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40bca7:	83 c4 14             	add    $0x14,%esp
40bcaa:	33 cd                	xor    %ebp,%ecx
40bcac:	5e                   	pop    %esi
40bcad:	e8 ae b3 ff ff       	call   0x407060
40bcb2:	8b e5                	mov    %ebp,%esp
40bcb4:	5d                   	pop    %ebp
40bcb5:	c3                   	ret
40bcb6:	ff 75 18             	push   0x18(%ebp)
40bcb9:	8b 35 28 ba 43 00    	mov    0x43ba28,%esi
40bcbf:	8b ce                	mov    %esi,%ecx
40bcc1:	ff 75 14             	push   0x14(%ebp)
40bcc4:	33 35 38 9a 83 02    	xor    0x2839a38,%esi
40bcca:	83 e1 1f             	and    $0x1f,%ecx
40bccd:	ff 75 10             	push   0x10(%ebp)
40bcd0:	d3 ce                	ror    %cl,%esi
40bcd2:	ff 75 0c             	push   0xc(%ebp)
40bcd5:	ff 75 08             	push   0x8(%ebp)
40bcd8:	85 f6                	test   %esi,%esi
40bcda:	75 be                	jne    0x40bc9a
40bcdc:	e8 2e 00 00 00       	call   0x40bd0f
40bce1:	cc                   	int3
40bce2:	33 c0                	xor    %eax,%eax
40bce4:	50                   	push   %eax
40bce5:	50                   	push   %eax
40bce6:	50                   	push   %eax
40bce7:	50                   	push   %eax
40bce8:	50                   	push   %eax
40bce9:	e8 79 ff ff ff       	call   0x40bc67
40bcee:	83 c4 14             	add    $0x14,%esp
40bcf1:	c3                   	ret
40bcf2:	8b ff                	mov    %edi,%edi
40bcf4:	56                   	push   %esi
40bcf5:	33 f6                	xor    %esi,%esi
40bcf7:	56                   	push   %esi
40bcf8:	56                   	push   %esi
40bcf9:	56                   	push   %esi
40bcfa:	56                   	push   %esi
40bcfb:	56                   	push   %esi
40bcfc:	e8 66 ff ff ff       	call   0x40bc67
40bd01:	83 c4 14             	add    $0x14,%esp
40bd04:	56                   	push   %esi
40bd05:	56                   	push   %esi
40bd06:	56                   	push   %esi
40bd07:	56                   	push   %esi
40bd08:	56                   	push   %esi
40bd09:	e8 01 00 00 00       	call   0x40bd0f
40bd0e:	cc                   	int3
40bd0f:	6a 17                	push   $0x17
40bd11:	e8 bc a4 01 00       	call   0x4261d2
40bd16:	85 c0                	test   %eax,%eax
40bd18:	74 05                	je     0x40bd1f
40bd1a:	6a 05                	push   $0x5
40bd1c:	59                   	pop    %ecx
40bd1d:	cd 29                	int    $0x29
40bd1f:	56                   	push   %esi
40bd20:	6a 01                	push   $0x1
40bd22:	be 17 04 00 c0       	mov    $0xc0000417,%esi
40bd27:	56                   	push   %esi
40bd28:	6a 02                	push   $0x2
40bd2a:	e8 e9 fd ff ff       	call   0x40bb18
40bd2f:	83 c4 0c             	add    $0xc,%esp
40bd32:	56                   	push   %esi
40bd33:	ff 15 b4 71 42 00    	call   *0x4271b4
40bd39:	50                   	push   %eax
40bd3a:	ff 15 b8 71 42 00    	call   *0x4271b8
40bd40:	5e                   	pop    %esi
40bd41:	c3                   	ret
40bd42:	8b ff                	mov    %edi,%edi
40bd44:	55                   	push   %ebp
40bd45:	8b ec                	mov    %esp,%ebp
40bd47:	5d                   	pop    %ebp
40bd48:	e9 e2 86 00 00       	jmp    0x41442f
40bd4d:	e9 be 8f 00 00       	jmp    0x414d10
40bd52:	8b ff                	mov    %edi,%edi
40bd54:	55                   	push   %ebp
40bd55:	8b ec                	mov    %esp,%ebp
40bd57:	5d                   	pop    %ebp
40bd58:	e9 5c 93 00 00       	jmp    0x4150b9
40bd5d:	a1 3c 9a 83 02       	mov    0x2839a3c,%eax
40bd62:	56                   	push   %esi
40bd63:	6a 03                	push   $0x3
40bd65:	5e                   	pop    %esi
40bd66:	85 c0                	test   %eax,%eax
40bd68:	75 07                	jne    0x40bd71
40bd6a:	b8 00 02 00 00       	mov    $0x200,%eax
40bd6f:	eb 06                	jmp    0x40bd77
40bd71:	3b c6                	cmp    %esi,%eax
40bd73:	7d 07                	jge    0x40bd7c
40bd75:	8b c6                	mov    %esi,%eax
40bd77:	a3 3c 9a 83 02       	mov    %eax,0x2839a3c
40bd7c:	6a 04                	push   $0x4
40bd7e:	50                   	push   %eax
40bd7f:	e8 ab 86 00 00       	call   0x41442f
40bd84:	6a 00                	push   $0x0
40bd86:	a3 40 9a 83 02       	mov    %eax,0x2839a40
40bd8b:	e8 80 8f 00 00       	call   0x414d10
40bd90:	83 c4 0c             	add    $0xc,%esp
40bd93:	83 3d 40 9a 83 02 00 	cmpl   $0x0,0x2839a40
40bd9a:	75 2b                	jne    0x40bdc7
40bd9c:	6a 04                	push   $0x4
40bd9e:	56                   	push   %esi
40bd9f:	89 35 3c 9a 83 02    	mov    %esi,0x2839a3c
40bda5:	e8 85 86 00 00       	call   0x41442f
40bdaa:	6a 00                	push   $0x0
40bdac:	a3 40 9a 83 02       	mov    %eax,0x2839a40
40bdb1:	e8 5a 8f 00 00       	call   0x414d10
40bdb6:	83 c4 0c             	add    $0xc,%esp
40bdb9:	83 3d 40 9a 83 02 00 	cmpl   $0x0,0x2839a40
40bdc0:	75 05                	jne    0x40bdc7
40bdc2:	83 c8 ff             	or     $0xffffffff,%eax
40bdc5:	5e                   	pop    %esi
40bdc6:	c3                   	ret
40bdc7:	57                   	push   %edi
40bdc8:	33 ff                	xor    %edi,%edi
40bdca:	be 70 ba 43 00       	mov    $0x43ba70,%esi
40bdcf:	6a 00                	push   $0x0
40bdd1:	68 a0 0f 00 00       	push   $0xfa0
40bdd6:	8d 46 20             	lea    0x20(%esi),%eax
40bdd9:	50                   	push   %eax
40bdda:	e8 a7 d3 00 00       	call   0x419186
40bddf:	a1 40 9a 83 02       	mov    0x2839a40,%eax
40bde4:	8b d7                	mov    %edi,%edx
40bde6:	c1 fa 06             	sar    $0x6,%edx
40bde9:	89 34 b8             	mov    %esi,(%eax,%edi,4)
40bdec:	8b c7                	mov    %edi,%eax
40bdee:	83 e0 3f             	and    $0x3f,%eax
40bdf1:	6b c8 30             	imul   $0x30,%eax,%ecx
40bdf4:	8b 04 95 c0 9d 83 02 	mov    0x2839dc0(,%edx,4),%eax
40bdfb:	8b 44 08 18          	mov    0x18(%eax,%ecx,1),%eax
40bdff:	83 f8 ff             	cmp    $0xffffffff,%eax
40be02:	74 09                	je     0x40be0d
40be04:	83 f8 fe             	cmp    $0xfffffffe,%eax
40be07:	74 04                	je     0x40be0d
40be09:	85 c0                	test   %eax,%eax
40be0b:	75 07                	jne    0x40be14
40be0d:	c7 46 10 fe ff ff ff 	movl   $0xfffffffe,0x10(%esi)
40be14:	83 c6 38             	add    $0x38,%esi
40be17:	47                   	inc    %edi
40be18:	81 fe 18 bb 43 00    	cmp    $0x43bb18,%esi
40be1e:	75 af                	jne    0x40bdcf
40be20:	5f                   	pop    %edi
40be21:	33 c0                	xor    %eax,%eax
40be23:	5e                   	pop    %esi
40be24:	c3                   	ret
40be25:	8b ff                	mov    %edi,%edi
40be27:	55                   	push   %ebp
40be28:	8b ec                	mov    %esp,%ebp
40be2a:	6b 45 08 38          	imul   $0x38,0x8(%ebp),%eax
40be2e:	05 70 ba 43 00       	add    $0x43ba70,%eax
40be33:	5d                   	pop    %ebp
40be34:	c3                   	ret
40be35:	8b ff                	mov    %edi,%edi
40be37:	56                   	push   %esi
40be38:	e8 98 d7 00 00       	call   0x4195d5
40be3d:	e8 46 d6 00 00       	call   0x419488
40be42:	33 f6                	xor    %esi,%esi
40be44:	a1 40 9a 83 02       	mov    0x2839a40,%eax
40be49:	ff 34 06             	push   (%esi,%eax,1)
40be4c:	e8 65 d8 00 00       	call   0x4196b6
40be51:	a1 40 9a 83 02       	mov    0x2839a40,%eax
40be56:	59                   	pop    %ecx
40be57:	8b 04 06             	mov    (%esi,%eax,1),%eax
40be5a:	83 c0 20             	add    $0x20,%eax
40be5d:	50                   	push   %eax
40be5e:	ff 15 40 71 42 00    	call   *0x427140
40be64:	83 c6 04             	add    $0x4,%esi
40be67:	83 fe 0c             	cmp    $0xc,%esi
40be6a:	75 d8                	jne    0x40be44
40be6c:	ff 35 40 9a 83 02    	push   0x2839a40
40be72:	e8 99 8e 00 00       	call   0x414d10
40be77:	83 25 40 9a 83 02 00 	andl   $0x0,0x2839a40
40be7e:	59                   	pop    %ecx
40be7f:	5e                   	pop    %esi
40be80:	c3                   	ret
40be81:	8b ff                	mov    %edi,%edi
40be83:	55                   	push   %ebp
40be84:	8b ec                	mov    %esp,%ebp
40be86:	8b 45 08             	mov    0x8(%ebp),%eax
40be89:	83 c0 20             	add    $0x20,%eax
40be8c:	50                   	push   %eax
40be8d:	ff 15 38 71 42 00    	call   *0x427138
40be93:	5d                   	pop    %ebp
40be94:	c3                   	ret
40be95:	8b ff                	mov    %edi,%edi
40be97:	55                   	push   %ebp
40be98:	8b ec                	mov    %esp,%ebp
40be9a:	8b 45 08             	mov    0x8(%ebp),%eax
40be9d:	83 c0 20             	add    $0x20,%eax
40bea0:	50                   	push   %eax
40bea1:	ff 15 3c 71 42 00    	call   *0x42713c
40bea7:	5d                   	pop    %ebp
40bea8:	c3                   	ret
40bea9:	6a 0c                	push   $0xc
40beab:	68 e0 7f 43 00       	push   $0x437fe0
40beb0:	e8 6b b7 ff ff       	call   0x407620
40beb5:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
40beb9:	8b 45 08             	mov    0x8(%ebp),%eax
40bebc:	ff 30                	push   (%eax)
40bebe:	e8 be ff ff ff       	call   0x40be81
40bec3:	59                   	pop    %ecx
40bec4:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40bec8:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40becb:	e8 b9 09 00 00       	call   0x40c889
40bed0:	8b f0                	mov    %eax,%esi
40bed2:	89 75 e4             	mov    %esi,-0x1c(%ebp)
40bed5:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40bedc:	e8 0d 00 00 00       	call   0x40beee
40bee1:	8b c6                	mov    %esi,%eax
40bee3:	e8 7e b7 ff ff       	call   0x407666
40bee8:	c2 0c 00             	ret    $0xc
40beeb:	8b 75 e4             	mov    -0x1c(%ebp),%esi
40beee:	8b 45 10             	mov    0x10(%ebp),%eax
40bef1:	ff 30                	push   (%eax)
40bef3:	e8 9d ff ff ff       	call   0x40be95
40bef8:	59                   	pop    %ecx
40bef9:	c3                   	ret
40befa:	6a 0c                	push   $0xc
40befc:	68 c0 7f 43 00       	push   $0x437fc0
40bf01:	e8 1a b7 ff ff       	call   0x407620
40bf06:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
40bf0a:	8b 45 08             	mov    0x8(%ebp),%eax
40bf0d:	ff 30                	push   (%eax)
40bf0f:	e8 6d ff ff ff       	call   0x40be81
40bf14:	59                   	pop    %ecx
40bf15:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40bf19:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40bf1c:	e8 25 0a 00 00       	call   0x40c946
40bf21:	8b f0                	mov    %eax,%esi
40bf23:	89 75 e4             	mov    %esi,-0x1c(%ebp)
40bf26:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40bf2d:	e8 0d 00 00 00       	call   0x40bf3f
40bf32:	8b c6                	mov    %esi,%eax
40bf34:	e8 2d b7 ff ff       	call   0x407666
40bf39:	c2 0c 00             	ret    $0xc
40bf3c:	8b 75 e4             	mov    -0x1c(%ebp),%esi
40bf3f:	8b 45 10             	mov    0x10(%ebp),%eax
40bf42:	ff 30                	push   (%eax)
40bf44:	e8 4c ff ff ff       	call   0x40be95
40bf49:	59                   	pop    %ecx
40bf4a:	c3                   	ret
40bf4b:	8b ff                	mov    %edi,%edi
40bf4d:	55                   	push   %ebp
40bf4e:	8b ec                	mov    %esp,%ebp
40bf50:	83 ec 0c             	sub    $0xc,%esp
40bf53:	8b 45 08             	mov    0x8(%ebp),%eax
40bf56:	8d 4d ff             	lea    -0x1(%ebp),%ecx
40bf59:	89 45 f8             	mov    %eax,-0x8(%ebp)
40bf5c:	89 45 f4             	mov    %eax,-0xc(%ebp)
40bf5f:	8d 45 f8             	lea    -0x8(%ebp),%eax
40bf62:	50                   	push   %eax
40bf63:	ff 75 0c             	push   0xc(%ebp)
40bf66:	8d 45 f4             	lea    -0xc(%ebp),%eax
40bf69:	50                   	push   %eax
40bf6a:	e8 3a ff ff ff       	call   0x40bea9
40bf6f:	8b e5                	mov    %ebp,%esp
40bf71:	5d                   	pop    %ebp
40bf72:	c3                   	ret
40bf73:	8b ff                	mov    %edi,%edi
40bf75:	55                   	push   %ebp
40bf76:	8b ec                	mov    %esp,%ebp
40bf78:	83 ec 0c             	sub    $0xc,%esp
40bf7b:	8b 45 08             	mov    0x8(%ebp),%eax
40bf7e:	8d 4d ff             	lea    -0x1(%ebp),%ecx
40bf81:	89 45 f8             	mov    %eax,-0x8(%ebp)
40bf84:	89 45 f4             	mov    %eax,-0xc(%ebp)
40bf87:	8d 45 f8             	lea    -0x8(%ebp),%eax
40bf8a:	50                   	push   %eax
40bf8b:	ff 75 0c             	push   0xc(%ebp)
40bf8e:	8d 45 f4             	lea    -0xc(%ebp),%eax
40bf91:	50                   	push   %eax
40bf92:	e8 63 ff ff ff       	call   0x40befa
40bf97:	8b e5                	mov    %ebp,%esp
40bf99:	5d                   	pop    %ebp
40bf9a:	c3                   	ret
40bf9b:	8b ff                	mov    %edi,%edi
40bf9d:	55                   	push   %ebp
40bf9e:	8b ec                	mov    %esp,%ebp
40bfa0:	81 ec 84 04 00 00    	sub    $0x484,%esp
40bfa6:	a1 28 ba 43 00       	mov    0x43ba28,%eax
40bfab:	33 c5                	xor    %ebp,%eax
40bfad:	89 45 fc             	mov    %eax,-0x4(%ebp)
40bfb0:	83 7d 18 00          	cmpl   $0x0,0x18(%ebp)
40bfb4:	8b 45 10             	mov    0x10(%ebp),%eax
40bfb7:	53                   	push   %ebx
40bfb8:	8b 5d 14             	mov    0x14(%ebp),%ebx
40bfbb:	89 85 a0 fb ff ff    	mov    %eax,-0x460(%ebp)
40bfc1:	75 18                	jne    0x40bfdb
40bfc3:	e8 a3 8a 00 00       	call   0x414a6b
40bfc8:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
40bfce:	e8 0f fd ff ff       	call   0x40bce2