40a87b:	0f 84 23 02 00 00    	je     0x40aaa4
40a881:	8b 47 d8             	mov    -0x28(%edi),%eax
40a884:	83 f8 13             	cmp    $0x13,%eax
40a887:	0f 87 08 02 00 00    	ja     0x40aa95
40a88d:	ff 24 85 fe aa 40 00 	jmp    *0x40aafe(,%eax,4)
40a894:	85 ff                	test   %edi,%edi
40a896:	0f 84 f9 01 00 00    	je     0x40aa95
40a89c:	57                   	push   %edi
40a89d:	68 26 01 00 00       	push   $0x126
40a8a2:	89 1f                	mov    %ebx,(%edi)
40a8a4:	e8 20 85 00 00       	call   0x412dc9
40a8a9:	e9 e7 01 00 00       	jmp    0x40aa95
40a8ae:	85 ff                	test   %edi,%edi
40a8b0:	74 0d                	je     0x40a8bf
40a8b2:	57                   	push   %edi
40a8b3:	68 26 01 00 00       	push   $0x126
40a8b8:	89 1f                	mov    %ebx,(%edi)
40a8ba:	e8 0a 85 00 00       	call   0x412dc9
40a8bf:	83 3f 02             	cmpl   $0x2,(%edi)
40a8c2:	0f 85 cd 01 00 00    	jne    0x40aa95
40a8c8:	c7 07 01 00 00 00    	movl   $0x1,(%edi)
40a8ce:	e9 c2 01 00 00       	jmp    0x40aa95
40a8d3:	85 ff                	test   %edi,%edi
40a8d5:	0f 84 ba 01 00 00    	je     0x40aa95
40a8db:	57                   	push   %edi
40a8dc:	68 27 01 00 00       	push   $0x127
40a8e1:	eb bf                	jmp    0x40a8a2
40a8e3:	85 ff                	test   %edi,%edi
40a8e5:	74 0d                	je     0x40a8f4
40a8e7:	57                   	push   %edi
40a8e8:	68 27 01 00 00       	push   $0x127
40a8ed:	89 1f                	mov    %ebx,(%edi)
40a8ef:	e8 d5 84 00 00       	call   0x412dc9
40a8f4:	83 3f 01             	cmpl   $0x1,(%edi)
40a8f7:	75 c6                	jne    0x40a8bf
40a8f9:	89 1f                	mov    %ebx,(%edi)
40a8fb:	e9 95 01 00 00       	jmp    0x40aa95
40a900:	8d 44 24 10          	lea    0x10(%esp),%eax
40a904:	50                   	push   %eax
40a905:	68 35 01 00 00       	push   $0x135
40a90a:	e9 72 01 00 00       	jmp    0x40aa81
40a90f:	8d 44 24 10          	lea    0x10(%esp),%eax
40a913:	50                   	push   %eax
40a914:	68 28 01 00 00       	push   $0x128
40a919:	e9 63 01 00 00       	jmp    0x40aa81
40a91e:	8d 44 24 10          	lea    0x10(%esp),%eax
40a922:	50                   	push   %eax
40a923:	68 2a 01 00 00       	push   $0x12a
40a928:	e9 54 01 00 00       	jmp    0x40aa81
40a92d:	8d 8e f0 03 00 00    	lea    0x3f0(%esi),%ecx
40a933:	e8 cc d6 ff ff       	call   0x408004
40a938:	33 c0                	xor    %eax,%eax
40a93a:	39 9e f0 03 00 00    	cmp    %ebx,0x3f0(%esi)
40a940:	8b 74 24 14          	mov    0x14(%esp),%esi
40a944:	e9 47 01 00 00       	jmp    0x40aa90
40a949:	8d 4e 18             	lea    0x18(%esi),%ecx
40a94c:	e8 e4 d5 ff ff       	call   0x407f35
40a951:	8d 44 24 10          	lea    0x10(%esp),%eax
40a955:	89 5c 24 10          	mov    %ebx,0x10(%esp)
40a959:	50                   	push   %eax
40a95a:	68 08 01 00 00       	push   $0x108
40a95f:	e8 65 84 00 00       	call   0x412dc9
40a964:	39 5c 24 10          	cmp    %ebx,0x10(%esp)
40a968:	74 10                	je     0x40a97a
40a96a:	39 5e 14             	cmp    %ebx,0x14(%esi)
40a96d:	75 0b                	jne    0x40a97a
40a96f:	c7 07 02 00 00 00    	movl   $0x2,(%edi)
40a975:	e9 1b 01 00 00       	jmp    0x40aa95
40a97a:	8d 44 24 10          	lea    0x10(%esp),%eax
40a97e:	50                   	push   %eax
40a97f:	68 1b 01 00 00       	push   $0x11b
40a984:	89 5c 24 18          	mov    %ebx,0x18(%esp)
40a988:	e8 3c 84 00 00       	call   0x412dc9
40a98d:	33 c0                	xor    %eax,%eax
40a98f:	39 44 24 10          	cmp    %eax,0x10(%esp)
40a993:	0f 95 c0             	setne  %al
40a996:	e9 f8 00 00 00       	jmp    0x40aa93
40a99b:	e8 3b d7 ff ff       	call   0x4080db
40a9a0:	e9 ee 00 00 00       	jmp    0x40aa93
40a9a5:	8d 44 24 10          	lea    0x10(%esp),%eax
40a9a9:	89 5c 24 10          	mov    %ebx,0x10(%esp)
40a9ad:	50                   	push   %eax
40a9ae:	68 3a 01 00 00       	push   $0x13a
40a9b3:	e8 11 84 00 00       	call   0x412dc9
40a9b8:	39 5c 24 10          	cmp    %ebx,0x10(%esp)
40a9bc:	74 1c                	je     0x40a9da
40a9be:	8d 44 24 10          	lea    0x10(%esp),%eax
40a9c2:	50                   	push   %eax
40a9c3:	68 58 01 00 00       	push   $0x158
40a9c8:	89 5c 24 18          	mov    %ebx,0x18(%esp)
40a9cc:	e8 f8 83 00 00       	call   0x412dc9
40a9d1:	8b 44 24 10          	mov    0x10(%esp),%eax
40a9d5:	e9 b9 00 00 00       	jmp    0x40aa93
40a9da:	8b c3                	mov    %ebx,%eax
40a9dc:	e9 b2 00 00 00       	jmp    0x40aa93
40a9e1:	8d 44 24 10          	lea    0x10(%esp),%eax
40a9e5:	50                   	push   %eax
40a9e6:	68 2b 01 00 00       	push   $0x12b
40a9eb:	e9 91 00 00 00       	jmp    0x40aa81
40a9f0:	8d 44 24 10          	lea    0x10(%esp),%eax
40a9f4:	50                   	push   %eax
40a9f5:	68 1a 01 00 00       	push   $0x11a
40a9fa:	e9 82 00 00 00       	jmp    0x40aa81
40a9ff:	8d 44 24 10          	lea    0x10(%esp),%eax
40aa03:	50                   	push   %eax
40aa04:	68 2c 01 00 00       	push   $0x12c
40aa09:	e9 76 ff ff ff       	jmp    0x40a984
40aa0e:	8d 44 24 10          	lea    0x10(%esp),%eax
40aa12:	50                   	push   %eax
40aa13:	68 20 01 00 00       	push   $0x120
40aa18:	eb 67                	jmp    0x40aa81
40aa1a:	8d 44 24 10          	lea    0x10(%esp),%eax
40aa1e:	89 5c 24 10          	mov    %ebx,0x10(%esp)
40aa22:	50                   	push   %eax
40aa23:	68 37 01 00 00       	push   $0x137
40aa28:	e8 9c 83 00 00       	call   0x412dc9
40aa2d:	39 5c 24 10          	cmp    %ebx,0x10(%esp)
40aa31:	74 a7                	je     0x40a9da
40aa33:	8d 44 24 10          	lea    0x10(%esp),%eax
40aa37:	50                   	push   %eax
40aa38:	68 57 01 00 00       	push   $0x157
40aa3d:	eb 89                	jmp    0x40a9c8
40aa3f:	8d 44 24 10          	lea    0x10(%esp),%eax
40aa43:	50                   	push   %eax
40aa44:	68 38 01 00 00       	push   $0x138
40aa49:	eb 36                	jmp    0x40aa81
40aa4b:	8d 44 24 10          	lea    0x10(%esp),%eax
40aa4f:	89 5c 24 10          	mov    %ebx,0x10(%esp)
40aa53:	50                   	push   %eax
40aa54:	68 39 01 00 00       	push   $0x139
40aa59:	e8 6b 83 00 00       	call   0x412dc9
40aa5e:	39 5c 24 10          	cmp    %ebx,0x10(%esp)
40aa62:	0f 84 72 ff ff ff    	je     0x40a9da
40aa68:	8d 44 24 10          	lea    0x10(%esp),%eax
40aa6c:	50                   	push   %eax
40aa6d:	68 59 01 00 00       	push   $0x159
40aa72:	e9 51 ff ff ff       	jmp    0x40a9c8
40aa77:	8d 44 24 10          	lea    0x10(%esp),%eax
40aa7b:	50                   	push   %eax
40aa7c:	68 21 01 00 00       	push   $0x121
40aa81:	89 5c 24 18          	mov    %ebx,0x18(%esp)
40aa85:	e8 3f 83 00 00       	call   0x412dc9
40aa8a:	33 c0                	xor    %eax,%eax
40aa8c:	39 44 24 10          	cmp    %eax,0x10(%esp)
40aa90:	0f 94 c0             	sete   %al
40aa93:	89 07                	mov    %eax,(%edi)
40aa95:	ff 74 24 0c          	push   0xc(%esp)
40aa99:	8b ce                	mov    %esi,%ecx
40aa9b:	e8 7a fa ff ff       	call   0x40a51a
40aaa0:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
40aaa4:	41                   	inc    %ecx
40aaa5:	83 c7 3c             	add    $0x3c,%edi
40aaa8:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
40aaac:	81 ff b8 56 41 00    	cmp    $0x4156b8,%edi
40aab2:	0f 8c bb fd ff ff    	jl     0x40a873
40aab8:	a1 18 98 41 00       	mov    0x419818,%eax
40aabd:	3d 22 00 10 00       	cmp    $0x100022,%eax
40aac2:	74 23                	je     0x40aae7
40aac4:	3d 23 00 10 00       	cmp    $0x100023,%eax
40aac9:	74 1c                	je     0x40aae7
40aacb:	3d 24 00 10 00       	cmp    $0x100024,%eax
40aad0:	74 15                	je     0x40aae7
40aad2:	3d 14 00 02 00       	cmp    $0x20014,%eax
40aad7:	74 0e                	je     0x40aae7
40aad9:	3d 31 00 00 04       	cmp    $0x4000031,%eax
40aade:	74 07                	je     0x40aae7
40aae0:	3d 30 00 01 00       	cmp    $0x10030,%eax
40aae5:	75 03                	jne    0x40aaea
40aae7:	33 db                	xor    %ebx,%ebx
40aae9:	43                   	inc    %ebx
40aaea:	6a ff                	push   $0xffffffff
40aaec:	8b ce                	mov    %esi,%ecx
40aaee:	89 5e 14             	mov    %ebx,0x14(%esi)
40aaf1:	e8 f3 02 00 00       	call   0x40ade9
40aaf6:	5f                   	pop    %edi
40aaf7:	5e                   	pop    %esi
40aaf8:	5b                   	pop    %ebx
40aaf9:	8b e5                	mov    %ebp,%esp
40aafb:	5d                   	pop    %ebp
40aafc:	c3                   	ret
40aafd:	90                   	nop
40aafe:	94                   	xchg   %eax,%esp
40aaff:	a8 40                	test   $0x40,%al
40ab01:	00 ae a8 40 00 d3    	add    %ch,-0x2cffbf58(%esi)
40ab07:	a8 40                	test   $0x40,%al
40ab09:	00 e3                	add    %ah,%bl
40ab0b:	a8 40                	test   $0x40,%al
40ab0d:	00 0f                	add    %cl,(%edi)
40ab0f:	a9 40 00 1e a9       	test   $0xa91e0040,%eax
40ab14:	40                   	inc    %eax
40ab15:	00 2d a9 40 00 49    	add    %ch,0x490040a9
40ab1b:	a9 40 00 00 a9       	test   $0xa9000040,%eax
40ab20:	40                   	inc    %eax
40ab21:	00 9b a9 40 00 a5    	add    %bl,-0x5affbf57(%ebx)
40ab27:	a9 40 00 e1 a9       	test   $0xa9e10040,%eax
40ab2c:	40                   	inc    %eax
40ab2d:	00 f0                	add    %dh,%al
40ab2f:	a9 40 00 ff a9       	test   $0xa9ff0040,%eax
40ab34:	40                   	inc    %eax
40ab35:	00 0e                	add    %cl,(%esi)
40ab37:	aa                   	stos   %al,%es:(%edi)
40ab38:	40                   	inc    %eax
40ab39:	00 1a                	add    %bl,(%edx)
40ab3b:	aa                   	stos   %al,%es:(%edi)
40ab3c:	40                   	inc    %eax
40ab3d:	00 3f                	add    %bh,(%edi)
40ab3f:	aa                   	stos   %al,%es:(%edi)
40ab40:	40                   	inc    %eax
40ab41:	00 68 aa             	add    %ch,-0x56(%eax)
40ab44:	40                   	inc    %eax
40ab45:	00 4b aa             	add    %cl,-0x56(%ebx)
40ab48:	40                   	inc    %eax
40ab49:	00 77 aa             	add    %dh,-0x56(%edi)
40ab4c:	40                   	inc    %eax
40ab4d:	00 8b ff 55 8b ec    	add    %cl,-0x1374aa01(%ebx)
40ab53:	83 e4 f8             	and    $0xfffffff8,%esp
40ab56:	51                   	push   %ecx
40ab57:	53                   	push   %ebx
40ab58:	56                   	push   %esi
40ab59:	57                   	push   %edi
40ab5a:	8b f9                	mov    %ecx,%edi
40ab5c:	be 08 52 41 00       	mov    $0x415208,%esi
40ab61:	33 db                	xor    %ebx,%ebx
40ab63:	a1 80 93 41 00       	mov    0x419380,%eax
40ab68:	85 46 08             	test   %eax,0x8(%esi)
40ab6b:	0f 84 83 01 00 00    	je     0x40acf4
40ab71:	8b 46 d8             	mov    -0x28(%esi),%eax
40ab74:	83 f8 13             	cmp    $0x13,%eax
40ab77:	0f 87 77 01 00 00    	ja     0x40acf4
40ab7d:	ff 24 85 26 ad 40 00 	jmp    *0x40ad26(,%eax,4)
40ab84:	ff 36                	push   (%esi)
40ab86:	68 26 01 00 00       	push   $0x126
40ab8b:	e9 5f 01 00 00       	jmp    0x40acef
40ab90:	8b 06                	mov    (%esi),%eax
40ab92:	f7 d8                	neg    %eax
40ab94:	1b c0                	sbb    %eax,%eax
40ab96:	83 e0 02             	and    $0x2,%eax
40ab99:	50                   	push   %eax
40ab9a:	eb ea                	jmp    0x40ab86
40ab9c:	ff 36                	push   (%esi)
40ab9e:	68 27 01 00 00       	push   $0x127
40aba3:	e9 47 01 00 00       	jmp    0x40acef
40aba8:	33 c0                	xor    %eax,%eax
40abaa:	39 1e                	cmp    %ebx,(%esi)
40abac:	0f 95 c0             	setne  %al
40abaf:	40                   	inc    %eax
40abb0:	50                   	push   %eax
40abb1:	eb eb                	jmp    0x40ab9e
40abb3:	33 c0                	xor    %eax,%eax
40abb5:	39 1e                	cmp    %ebx,(%esi)
40abb7:	0f 94 c0             	sete   %al
40abba:	50                   	push   %eax
40abbb:	68 35 01 00 00       	push   $0x135
40abc0:	e9 2a 01 00 00       	jmp    0x40acef
40abc5:	33 c0                	xor    %eax,%eax
40abc7:	39 1e                	cmp    %ebx,(%esi)
40abc9:	0f 94 c0             	sete   %al
40abcc:	50                   	push   %eax
40abcd:	68 28 01 00 00       	push   $0x128
40abd2:	e9 18 01 00 00       	jmp    0x40acef
40abd7:	33 c0                	xor    %eax,%eax
40abd9:	39 1e                	cmp    %ebx,(%esi)
40abdb:	0f 94 c0             	sete   %al
40abde:	50                   	push   %eax
40abdf:	68 2a 01 00 00       	push   $0x12a
40abe4:	e9 06 01 00 00       	jmp    0x40acef
40abe9:	33 c0                	xor    %eax,%eax
40abeb:	8d 8f f0 03 00 00    	lea    0x3f0(%edi),%ecx
40abf1:	39 1e                	cmp    %ebx,(%esi)
40abf3:	0f 94 c0             	sete   %al
40abf6:	89 01                	mov    %eax,(%ecx)
40abf8:	e8 67 d4 ff ff       	call   0x408064
40abfd:	e9 f2 00 00 00       	jmp    0x40acf4
40ac02:	33 c0                	xor    %eax,%eax
40ac04:	83 3e 01             	cmpl   $0x1,(%esi)
40ac07:	0f 94 c0             	sete   %al
40ac0a:	50                   	push   %eax
40ac0b:	68 1b 01 00 00       	push   $0x11b
40ac10:	e8 e6 81 00 00       	call   0x412dfb
40ac15:	8d 4f 18             	lea    0x18(%edi),%ecx
40ac18:	e8 78 d3 ff ff       	call   0x407f95
40ac1d:	e9 d2 00 00 00       	jmp    0x40acf4
40ac22:	8b 0e                	mov    (%esi),%ecx
40ac24:	e8 fc d4 ff ff       	call   0x408125
40ac29:	e9 c6 00 00 00       	jmp    0x40acf4
40ac2e:	ff 36                	push   (%esi)
40ac30:	68 3a 01 00 00       	push   $0x13a
40ac35:	e8 c1 81 00 00       	call   0x412dfb
40ac3a:	ff 36                	push   (%esi)
40ac3c:	68 58 01 00 00       	push   $0x158
40ac41:	e9 a9 00 00 00       	jmp    0x40acef
40ac46:	33 c0                	xor    %eax,%eax
40ac48:	39 1e                	cmp    %ebx,(%esi)
40ac4a:	0f 94 c0             	sete   %al
40ac4d:	50                   	push   %eax
40ac4e:	68 2b 01 00 00       	push   $0x12b
40ac53:	e9 97 00 00 00       	jmp    0x40acef
40ac58:	33 c0                	xor    %eax,%eax
40ac5a:	39 1e                	cmp    %ebx,(%esi)
40ac5c:	0f 94 c0             	sete   %al
40ac5f:	50                   	push   %eax
40ac60:	68 1a 01 00 00       	push   $0x11a
40ac65:	e9 85 00 00 00       	jmp    0x40acef
40ac6a:	ff 36                	push   (%esi)
40ac6c:	68 2c 01 00 00       	push   $0x12c
40ac71:	eb 7c                	jmp    0x40acef
40ac73:	33 c0                	xor    %eax,%eax
40ac75:	39 1e                	cmp    %ebx,(%esi)
40ac77:	0f 94 c0             	sete   %al
40ac7a:	50                   	push   %eax
40ac7b:	68 20 01 00 00       	push   $0x120
40ac80:	eb 6d                	jmp    0x40acef
40ac82:	ff 36                	push   (%esi)
40ac84:	68 37 01 00 00       	push   $0x137
40ac89:	e8 6d 81 00 00       	call   0x412dfb
40ac8e:	ff 36                	push   (%esi)
40ac90:	68 57 01 00 00       	push   $0x157
40ac95:	eb 58                	jmp    0x40acef
40ac97:	33 c0                	xor    %eax,%eax
40ac99:	39 1e                	cmp    %ebx,(%esi)
40ac9b:	0f 94 c0             	sete   %al
40ac9e:	50                   	push   %eax
40ac9f:	68 38 01 00 00       	push   $0x138
40aca4:	eb 49                	jmp    0x40acef
40aca6:	39 5e 0c             	cmp    %ebx,0xc(%esi)
40aca9:	74 22                	je     0x40accd
40acab:	a1 18 98 41 00       	mov    0x419818,%eax
40acb0:	3d 22 00 10 00       	cmp    $0x100022,%eax
40acb5:	74 0e                	je     0x40acc5
40acb7:	3d 23 00 10 00       	cmp    $0x100023,%eax
40acbc:	74 07                	je     0x40acc5
40acbe:	3d 24 00 10 00       	cmp    $0x100024,%eax
40acc3:	75 08                	jne    0x40accd
40acc5:	53                   	push   %ebx
40acc6:	68 39 01 00 00       	push   $0x139
40accb:	eb 22                	jmp    0x40acef
40accd:	ff 36                	push   (%esi)
40accf:	68 39 01 00 00       	push   $0x139
40acd4:	e8 22 81 00 00       	call   0x412dfb
40acd9:	ff 36                	push   (%esi)
40acdb:	68 59 01 00 00       	push   $0x159
40ace0:	eb 0d                	jmp    0x40acef
40ace2:	33 c0                	xor    %eax,%eax
40ace4:	39 1e                	cmp    %ebx,(%esi)
40ace6:	0f 94 c0             	sete   %al
40ace9:	50                   	push   %eax
40acea:	68 21 01 00 00       	push   $0x121
40acef:	e8 07 81 00 00       	call   0x412dfb
40acf4:	83 c6 3c             	add    $0x3c,%esi
40acf7:	81 fe b8 56 41 00    	cmp    $0x4156b8,%esi