40bb6f:	68 06 01 02 00       	push   $0x20106
40bb74:	8d 45 ec             	lea    -0x14(%ebp),%eax
40bb77:	50                   	push   %eax
40bb78:	56                   	push   %esi
40bb79:	8d 4d f4             	lea    -0xc(%ebp),%ecx
40bb7c:	e8 7d 34 00 00       	call   0x40effe
40bb81:	85 c0                	test   %eax,%eax
40bb83:	0f 84 65 01 00 00    	je     0x40bcee
40bb89:	8d 4d f4             	lea    -0xc(%ebp),%ecx
40bb8c:	e8 bb 33 00 00       	call   0x40ef4c
40bb91:	57                   	push   %edi
40bb92:	68 06 01 02 00       	push   $0x20106
40bb97:	8d 45 dc             	lea    -0x24(%ebp),%eax
40bb9a:	50                   	push   %eax
40bb9b:	56                   	push   %esi
40bb9c:	8d 4d f4             	lea    -0xc(%ebp),%ecx
40bb9f:	e8 5a 34 00 00       	call   0x40effe
40bba4:	85 c0                	test   %eax,%eax
40bba6:	0f 84 42 01 00 00    	je     0x40bcee
40bbac:	6a 04                	push   $0x4
40bbae:	8d 45 e4             	lea    -0x1c(%ebp),%eax
40bbb1:	89 5d c4             	mov    %ebx,-0x3c(%ebp)
40bbb4:	50                   	push   %eax
40bbb5:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
40bbb8:	89 5d c8             	mov    %ebx,-0x38(%ebp)
40bbbb:	c7 45 e4 03 00 00 00 	movl   $0x3,-0x1c(%ebp)
40bbc2:	e8 fa 71 ff ff       	call   0x402dc1
40bbc7:	6a 07                	push   $0x7
40bbc9:	58                   	pop    %eax
40bbca:	89 45 f0             	mov    %eax,-0x10(%ebp)
40bbcd:	8d 4d cc             	lea    -0x34(%ebp),%ecx
40bbd0:	57                   	push   %edi
40bbd1:	8d 45 b4             	lea    -0x4c(%ebp),%eax
40bbd4:	50                   	push   %eax
40bbd5:	68 8c 3b 41 00       	push   $0x413b8c
40bbda:	e8 33 78 ff ff       	call   0x403412
40bbdf:	8b c8                	mov    %eax,%ecx
40bbe1:	e8 68 74 ff ff       	call   0x40304e
40bbe6:	50                   	push   %eax
40bbe7:	68 9c 3b 41 00       	push   $0x413b9c
40bbec:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40bbef:	e8 1e 78 ff ff       	call   0x403412
40bbf4:	50                   	push   %eax
40bbf5:	8d 4d f4             	lea    -0xc(%ebp),%ecx
40bbf8:	e8 ce 33 00 00       	call   0x40efcb
40bbfd:	bf a8 3b 41 00       	mov    $0x413ba8,%edi
40bc02:	85 c0                	test   %eax,%eax
40bc04:	74 25                	je     0x40bc2b
40bc06:	6a 0f                	push   $0xf
40bc08:	58                   	pop    %eax
40bc09:	89 45 f0             	mov    %eax,-0x10(%ebp)
40bc0c:	8d 4d e8             	lea    -0x18(%ebp),%ecx
40bc0f:	6a 04                	push   $0x4
40bc11:	8d 45 c4             	lea    -0x3c(%ebp),%eax
40bc14:	50                   	push   %eax
40bc15:	57                   	push   %edi
40bc16:	e8 f7 77 ff ff       	call   0x403412
40bc1b:	50                   	push   %eax
40bc1c:	8d 4d f4             	lea    -0xc(%ebp),%ecx
40bc1f:	e8 a7 33 00 00       	call   0x40efcb
40bc24:	88 5d fb             	mov    %bl,-0x5(%ebp)
40bc27:	85 c0                	test   %eax,%eax
40bc29:	75 04                	jne    0x40bc2f
40bc2b:	c6 45 fb 01          	movb   $0x1,-0x5(%ebp)
40bc2f:	8b 45 f0             	mov    -0x10(%ebp),%eax
40bc32:	a8 08                	test   $0x8,%al
40bc34:	74 0b                	je     0x40bc41
40bc36:	8b 4d e8             	mov    -0x18(%ebp),%ecx
40bc39:	e8 ef 9d ff ff       	call   0x405a2d
40bc3e:	89 5d e8             	mov    %ebx,-0x18(%ebp)
40bc41:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
40bc44:	e8 e4 9d ff ff       	call   0x405a2d
40bc49:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
40bc4c:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
40bc4f:	e8 12 72 ff ff       	call   0x402e66
40bc54:	8b 4d cc             	mov    -0x34(%ebp),%ecx
40bc57:	e8 d1 9d ff ff       	call   0x405a2d
40bc5c:	38 5d fb             	cmp    %bl,-0x5(%ebp)
40bc5f:	75 23                	jne    0x40bc84
40bc61:	8d 4d f4             	lea    -0xc(%ebp),%ecx
40bc64:	e8 e3 32 00 00       	call   0x40ef4c
40bc69:	6a 01                	push   $0x1
40bc6b:	68 06 01 02 00       	push   $0x20106
40bc70:	8d 45 e0             	lea    -0x20(%ebp),%eax
40bc73:	50                   	push   %eax
40bc74:	56                   	push   %esi
40bc75:	8d 4d f4             	lea    -0xc(%ebp),%ecx
40bc78:	e8 81 33 00 00       	call   0x40effe
40bc7d:	85 c0                	test   %eax,%eax
40bc7f:	75 0d                	jne    0x40bc8e
40bc81:	33 db                	xor    %ebx,%ebx
40bc83:	43                   	inc    %ebx
40bc84:	8d 4d f4             	lea    -0xc(%ebp),%ecx
40bc87:	e8 c0 32 00 00       	call   0x40ef4c
40bc8c:	eb 4b                	jmp    0x40bcd9
40bc8e:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
40bc91:	e8 5d 71 ff ff       	call   0x402df3
40bc96:	6a 04                	push   $0x4
40bc98:	8d 45 cc             	lea    -0x34(%ebp),%eax
40bc9b:	c7 45 cc 01 00 00 00 	movl   $0x1,-0x34(%ebp)
40bca2:	50                   	push   %eax
40bca3:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
40bca6:	e8 16 71 ff ff       	call   0x402dc1
40bcab:	6a 04                	push   $0x4
40bcad:	8d 45 c4             	lea    -0x3c(%ebp),%eax
40bcb0:	50                   	push   %eax
40bcb1:	57                   	push   %edi
40bcb2:	8d 4d cc             	lea    -0x34(%ebp),%ecx
40bcb5:	e8 58 77 ff ff       	call   0x403412
40bcba:	50                   	push   %eax
40bcbb:	8d 4d f4             	lea    -0xc(%ebp),%ecx
40bcbe:	e8 08 33 00 00       	call   0x40efcb
40bcc3:	8b 4d cc             	mov    -0x34(%ebp),%ecx
40bcc6:	8b f0                	mov    %eax,%esi
40bcc8:	e8 60 9d ff ff       	call   0x405a2d
40bccd:	8d 4d f4             	lea    -0xc(%ebp),%ecx
40bcd0:	e8 77 32 00 00       	call   0x40ef4c
40bcd5:	85 f6                	test   %esi,%esi
40bcd7:	75 0a                	jne    0x40bce3
40bcd9:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
40bcdc:	e8 85 71 ff ff       	call   0x402e66
40bce1:	eb 0b                	jmp    0x40bcee
40bce3:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
40bce6:	e8 7b 71 ff ff       	call   0x402e66
40bceb:	33 db                	xor    %ebx,%ebx
40bced:	43                   	inc    %ebx
40bcee:	8d 4d bc             	lea    -0x44(%ebp),%ecx
40bcf1:	e8 70 71 ff ff       	call   0x402e66
40bcf6:	8b 4d e0             	mov    -0x20(%ebp),%ecx
40bcf9:	e8 2f 9d ff ff       	call   0x405a2d
40bcfe:	8b 4d dc             	mov    -0x24(%ebp),%ecx
40bd01:	e8 27 9d ff ff       	call   0x405a2d
40bd06:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40bd09:	e8 1f 9d ff ff       	call   0x405a2d
40bd0e:	8b 4d d8             	mov    -0x28(%ebp),%ecx
40bd11:	e8 17 9d ff ff       	call   0x405a2d
40bd16:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
40bd19:	e8 0f 9d ff ff       	call   0x405a2d
40bd1e:	8b 4d d0             	mov    -0x30(%ebp),%ecx
40bd21:	e8 07 9d ff ff       	call   0x405a2d
40bd26:	8d 4d f4             	lea    -0xc(%ebp),%ecx
40bd29:	e8 1e 32 00 00       	call   0x40ef4c
40bd2e:	5f                   	pop    %edi
40bd2f:	5e                   	pop    %esi
40bd30:	8b c3                	mov    %ebx,%eax
40bd32:	5b                   	pop    %ebx
40bd33:	c9                   	leave
40bd34:	c2 04 00             	ret    $0x4
40bd37:	55                   	push   %ebp
40bd38:	8b ec                	mov    %esp,%ebp
40bd3a:	83 ec 24             	sub    $0x24,%esp
40bd3d:	56                   	push   %esi
40bd3e:	57                   	push   %edi
40bd3f:	8b f1                	mov    %ecx,%esi
40bd41:	33 ff                	xor    %edi,%edi
40bd43:	68 98 36 41 00       	push   $0x413698
40bd48:	8d 4d f0             	lea    -0x10(%ebp),%ecx
40bd4b:	89 7d f8             	mov    %edi,-0x8(%ebp)
40bd4e:	e8 bf 76 ff ff       	call   0x403412
40bd53:	8d 45 f8             	lea    -0x8(%ebp),%eax
40bd56:	89 7d e8             	mov    %edi,-0x18(%ebp)
40bd59:	50                   	push   %eax
40bd5a:	68 02 01 00 00       	push   $0x102
40bd5f:	57                   	push   %edi
40bd60:	ff 75 f0             	push   -0x10(%ebp)
40bd63:	89 7d ec             	mov    %edi,-0x14(%ebp)
40bd66:	68 02 00 00 80       	push   $0x80000002
40bd6b:	ff 15 14 20 41 00    	call   *0x412014
40bd71:	85 c0                	test   %eax,%eax
40bd73:	75 47                	jne    0x40bdbc
40bd75:	6a 02                	push   $0x2
40bd77:	8d 45 e0             	lea    -0x20(%ebp),%eax
40bd7a:	50                   	push   %eax
40bd7b:	8d 4e 34             	lea    0x34(%esi),%ecx
40bd7e:	e8 cb 72 ff ff       	call   0x40304e
40bd83:	50                   	push   %eax
40bd84:	68 0c 37 41 00       	push   $0x41370c
40bd89:	8d 4d f4             	lea    -0xc(%ebp),%ecx
40bd8c:	e8 81 76 ff ff       	call   0x403412
40bd91:	50                   	push   %eax
40bd92:	8d 4d f8             	lea    -0x8(%ebp),%ecx
40bd95:	e8 31 32 00 00       	call   0x40efcb
40bd9a:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40bd9d:	8b f0                	mov    %eax,%esi
40bd9f:	e8 89 9c ff ff       	call   0x405a2d
40bda4:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40bda7:	89 7d f4             	mov    %edi,-0xc(%ebp)
40bdaa:	e8 b7 70 ff ff       	call   0x402e66
40bdaf:	8d 4d f8             	lea    -0x8(%ebp),%ecx
40bdb2:	e8 95 31 00 00       	call   0x40ef4c
40bdb7:	85 f6                	test   %esi,%esi
40bdb9:	74 01                	je     0x40bdbc
40bdbb:	47                   	inc    %edi
40bdbc:	8d 4d e8             	lea    -0x18(%ebp),%ecx
40bdbf:	e8 a2 70 ff ff       	call   0x402e66
40bdc4:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40bdc7:	e8 61 9c ff ff       	call   0x405a2d
40bdcc:	8d 4d f8             	lea    -0x8(%ebp),%ecx
40bdcf:	e8 78 31 00 00       	call   0x40ef4c
40bdd4:	8b c7                	mov    %edi,%eax
40bdd6:	5f                   	pop    %edi
40bdd7:	5e                   	pop    %esi
40bdd8:	c9                   	leave
40bdd9:	c2 04 00             	ret    $0x4
40bddc:	55                   	push   %ebp
40bddd:	8b ec                	mov    %esp,%ebp
40bddf:	83 ec 28             	sub    $0x28,%esp
40bde2:	53                   	push   %ebx
40bde3:	56                   	push   %esi
40bde4:	57                   	push   %edi
40bde5:	33 c0                	xor    %eax,%eax
40bde7:	8b f1                	mov    %ecx,%esi
40bde9:	6a 05                	push   $0x5
40bdeb:	68 00 38 41 00       	push   $0x413800
40bdf0:	50                   	push   %eax
40bdf1:	89 75 d8             	mov    %esi,-0x28(%ebp)
40bdf4:	89 45 f0             	mov    %eax,-0x10(%ebp)
40bdf7:	89 45 f4             	mov    %eax,-0xc(%ebp)
40bdfa:	89 45 fc             	mov    %eax,-0x4(%ebp)
40bdfd:	89 45 ec             	mov    %eax,-0x14(%ebp)
40be00:	89 45 e0             	mov    %eax,-0x20(%ebp)
40be03:	ff 15 40 20 41 00    	call   *0x412040
40be09:	8b d8                	mov    %eax,%ebx
40be0b:	85 db                	test   %ebx,%ebx
40be0d:	0f 84 aa 00 00 00    	je     0x40bebd
40be13:	8d 46 28             	lea    0x28(%esi),%eax
40be16:	c7 45 dc 01 00 00 00 	movl   $0x1,-0x24(%ebp)
40be1d:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40be20:	33 c9                	xor    %ecx,%ecx
40be22:	8d 45 f4             	lea    -0xc(%ebp),%eax
40be25:	51                   	push   %ecx
40be26:	50                   	push   %eax
40be27:	8d 45 fc             	lea    -0x4(%ebp),%eax
40be2a:	89 4d f4             	mov    %ecx,-0xc(%ebp)
40be2d:	50                   	push   %eax
40be2e:	8d 45 f0             	lea    -0x10(%ebp),%eax
40be31:	50                   	push   %eax
40be32:	51                   	push   %ecx
40be33:	51                   	push   %ecx
40be34:	6a 03                	push   $0x3
40be36:	6a 30                	push   $0x30
40be38:	51                   	push   %ecx
40be39:	53                   	push   %ebx
40be3a:	ff 15 30 20 41 00    	call   *0x412030
40be40:	8b 75 f0             	mov    -0x10(%ebp),%esi
40be43:	8b ce                	mov    %esi,%ecx
40be45:	e8 3d 9c ff ff       	call   0x405a87
40be4a:	6a 00                	push   $0x0
40be4c:	8b f8                	mov    %eax,%edi
40be4e:	8d 45 f4             	lea    -0xc(%ebp),%eax
40be51:	50                   	push   %eax
40be52:	8d 45 fc             	lea    -0x4(%ebp),%eax
40be55:	50                   	push   %eax
40be56:	8d 45 f0             	lea    -0x10(%ebp),%eax
40be59:	50                   	push   %eax
40be5a:	56                   	push   %esi
40be5b:	57                   	push   %edi
40be5c:	6a 03                	push   $0x3
40be5e:	6a 30                	push   $0x30
40be60:	6a 00                	push   $0x0
40be62:	53                   	push   %ebx
40be63:	ff 15 30 20 41 00    	call   *0x412030
40be69:	85 c0                	test   %eax,%eax
40be6b:	75 0d                	jne    0x40be7a
40be6d:	ff 15 0c 22 41 00    	call   *0x41220c
40be73:	3d ea 00 00 00       	cmp    $0xea,%eax
40be78:	75 43                	jne    0x40bebd
40be7a:	53                   	push   %ebx
40be7b:	ff 15 44 20 41 00    	call   *0x412044
40be81:	33 f6                	xor    %esi,%esi
40be83:	39 75 fc             	cmp    %esi,-0x4(%ebp)
40be86:	76 35                	jbe    0x40bebd
40be88:	8b df                	mov    %edi,%ebx
40be8a:	83 3b 00             	cmpl   $0x0,(%ebx)
40be8d:	74 2e                	je     0x40bebd
40be8f:	ff 33                	push   (%ebx)
40be91:	8d 4d f8             	lea    -0x8(%ebp),%ecx
40be94:	e8 79 75 ff ff       	call   0x403412
40be99:	ff 75 e4             	push   -0x1c(%ebp)
40be9c:	8d 4d f8             	lea    -0x8(%ebp),%ecx
40be9f:	e8 d1 71 ff ff       	call   0x403075
40bea4:	85 c0                	test   %eax,%eax
40bea6:	75 29                	jne    0x40bed1
40bea8:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40beab:	e8 7d 9b ff ff       	call   0x405a2d
40beb0:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
40beb4:	83 c3 2c             	add    $0x2c,%ebx
40beb7:	46                   	inc    %esi
40beb8:	3b 75 fc             	cmp    -0x4(%ebp),%esi
40bebb:	72 cd                	jb     0x40be8a
40bebd:	83 65 dc 00          	andl   $0x0,-0x24(%ebp)
40bec1:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40bec4:	e8 64 9b ff ff       	call   0x405a2d
40bec9:	8b 45 dc             	mov    -0x24(%ebp),%eax
40becc:	5f                   	pop    %edi
40becd:	5e                   	pop    %esi
40bece:	5b                   	pop    %ebx
40becf:	c9                   	leave
40bed0:	c3                   	ret
40bed1:	6b f6 2c             	imul   $0x2c,%esi,%esi
40bed4:	8d 4d e8             	lea    -0x18(%ebp),%ecx
40bed7:	ff 34 3e             	push   (%esi,%edi,1)
40beda:	e8 33 75 ff ff       	call   0x403412
40bedf:	50                   	push   %eax
40bee0:	8d 4d ec             	lea    -0x14(%ebp),%ecx
40bee3:	e8 7c 73 ff ff       	call   0x403264
40bee8:	8b 4d e8             	mov    -0x18(%ebp),%ecx
40beeb:	e8 3d 9b ff ff       	call   0x405a2d
40bef0:	8b 5d d8             	mov    -0x28(%ebp),%ebx
40bef3:	8b 44 3e 24          	mov    0x24(%esi,%edi,1),%eax
40bef7:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40befa:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
40befe:	89 43 2c             	mov    %eax,0x2c(%ebx)
40bf01:	e8 27 9b ff ff       	call   0x405a2d
40bf06:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
40bf0a:	83 7b 2c 00          	cmpl   $0x0,0x2c(%ebx)
40bf0e:	75 41                	jne    0x40bf51
40bf10:	33 db                	xor    %ebx,%ebx
40bf12:	43                   	inc    %ebx
40bf13:	39 5d e0             	cmp    %ebx,-0x20(%ebp)
40bf16:	74 a5                	je     0x40bebd
40bf18:	8b 75 e4             	mov    -0x1c(%ebp),%esi
40bf1b:	6a 02                	push   $0x2
40bf1d:	56                   	push   %esi
40bf1e:	e8 fa f8 ff ff       	call   0x40b81d
40bf23:	56                   	push   %esi
40bf24:	e8 60 f9 ff ff       	call   0x40b889
40bf29:	57                   	push   %edi
40bf2a:	89 5d e0             	mov    %ebx,-0x20(%ebp)
40bf2d:	e8 8f 51 ff ff       	call   0x4010c1
40bf32:	59                   	pop    %ecx
40bf33:	6a 05                	push   $0x5
40bf35:	68 00 38 41 00       	push   $0x413800
40bf3a:	6a 00                	push   $0x0
40bf3c:	ff 15 40 20 41 00    	call   *0x412040
40bf42:	8b d8                	mov    %eax,%ebx
40bf44:	85 db                	test   %ebx,%ebx
40bf46:	0f 85 d4 fe ff ff    	jne    0x40be20
40bf4c:	e9 6c ff ff ff       	jmp    0x40bebd
40bf51:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40bf54:	33 f6                	xor    %esi,%esi
40bf56:	85 c9                	test   %ecx,%ecx
40bf58:	0f 84 63 ff ff ff    	je     0x40bec1
40bf5e:	83 3f 00             	cmpl   $0x0,(%edi)
40bf61:	0f 84 5a ff ff ff    	je     0x40bec1
40bf67:	8b 47 24             	mov    0x24(%edi),%eax
40bf6a:	3b 43 2c             	cmp    0x2c(%ebx),%eax
40bf6d:	75 3b                	jne    0x40bfaa
40bf6f:	ff 37                	push   (%edi)
40bf71:	8d 4d f8             	lea    -0x8(%ebp),%ecx