40acb1:	6a 00                	push   $0x0
40acb3:	50                   	push   %eax
40acb4:	e8 07 bf 00 00       	call   0x416bc0
40acb9:	8b c6                	mov    %esi,%eax
40acbb:	5f                   	pop    %edi
40acbc:	5e                   	pop    %esi
40acbd:	c3                   	ret
40acbe:	8b 41 20             	mov    0x20(%ecx),%eax
40acc1:	8b 00                	mov    (%eax),%eax
40acc3:	85 c0                	test   %eax,%eax
40acc5:	74 1b                	je     0x40ace2
40acc7:	8b 51 30             	mov    0x30(%ecx),%edx
40acca:	8b 12                	mov    (%edx),%edx
40accc:	03 d0                	add    %eax,%edx
40acce:	3b c2                	cmp    %edx,%eax
40acd0:	73 10                	jae    0x40ace2
40acd2:	e8 19 00 00 00       	call   0x40acf0
40acd7:	8a 4c 24 04          	mov    0x4(%esp),%cl
40acdb:	88 08                	mov    %cl,(%eax)
40acdd:	0f b6 c1             	movzbl %cl,%eax
40ace0:	eb 0b                	jmp    0x40aced
40ace2:	0f b6 54 24 04       	movzbl 0x4(%esp),%edx
40ace7:	8b 01                	mov    (%ecx),%eax
40ace9:	52                   	push   %edx
40acea:	ff 50 04             	call   *0x4(%eax)
40aced:	c2 04 00             	ret    $0x4
40acf0:	8b 41 30             	mov    0x30(%ecx),%eax
40acf3:	ff 08                	decl   (%eax)
40acf5:	8b 49 20             	mov    0x20(%ecx),%ecx
40acf8:	8b 01                	mov    (%ecx),%eax
40acfa:	8d 50 01             	lea    0x1(%eax),%edx
40acfd:	89 11                	mov    %edx,(%ecx)
40acff:	c3                   	ret
40ad00:	b8 71 77 42 00       	mov    $0x427771,%eax
40ad05:	e8 26 0f 00 00       	call   0x40bc30
40ad0a:	83 ec 2c             	sub    $0x2c,%esp
40ad0d:	53                   	push   %ebx
40ad0e:	56                   	push   %esi
40ad0f:	57                   	push   %edi
40ad10:	89 4d f0             	mov    %ecx,-0x10(%ebp)
40ad13:	6a 08                	push   $0x8
40ad15:	be 2c 12 43 00       	mov    $0x43122c,%esi
40ad1a:	59                   	pop    %ecx
40ad1b:	8d 7d c8             	lea    -0x38(%ebp),%edi
40ad1e:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
40ad20:	66 a5                	movsw  %ds:(%esi),%es:(%edi)
40ad22:	8d 45 c8             	lea    -0x38(%ebp),%eax
40ad25:	6a 23                	push   $0x23
40ad27:	50                   	push   %eax
40ad28:	a4                   	movsb  %ds:(%esi),%es:(%edi)
40ad29:	e8 dc fa ff ff       	call   0x40a80a
40ad2e:	8b 35 54 97 43 00    	mov    0x439754,%esi
40ad34:	59                   	pop    %ecx
40ad35:	59                   	pop    %ecx
40ad36:	ff d6                	call   *%esi
40ad38:	a9 00 00 00 80       	test   $0x80000000,%eax
40ad3d:	74 13                	je     0x40ad52
40ad3f:	ff d6                	call   *%esi
40ad41:	3c 04                	cmp    $0x4,%al
40ad43:	73 0d                	jae    0x40ad52
40ad45:	6a ff                	push   $0xffffffff
40ad47:	6a 00                	push   $0x0
40ad49:	6a 03                	push   $0x3
40ad4b:	e8 86 60 01 00       	call   0x420dd6
40ad50:	eb 4a                	jmp    0x40ad9c
40ad52:	68 c0 00 00 00       	push   $0xc0
40ad57:	e8 a5 1f 01 00       	call   0x41cd01
40ad5c:	59                   	pop    %ecx
40ad5d:	8b c8                	mov    %eax,%ecx
40ad5f:	89 4d ec             	mov    %ecx,-0x14(%ebp)
40ad62:	33 db                	xor    %ebx,%ebx
40ad64:	3b cb                	cmp    %ebx,%ecx
40ad66:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40ad69:	74 09                	je     0x40ad74
40ad6b:	e8 e2 02 00 00       	call   0x40b052
40ad70:	8b f0                	mov    %eax,%esi
40ad72:	eb 02                	jmp    0x40ad76
40ad74:	33 f6                	xor    %esi,%esi
40ad76:	8b 3e                	mov    (%esi),%edi
40ad78:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40ad7c:	53                   	push   %ebx
40ad7d:	53                   	push   %ebx
40ad7e:	68 00 80 cf 00       	push   $0xcf8000
40ad83:	6a 02                	push   $0x2
40ad85:	8b ce                	mov    %esi,%ecx
40ad87:	ff 97 c0 00 00 00    	call   *0xc0(%edi)
40ad8d:	85 c0                	test   %eax,%eax
40ad8f:	75 0f                	jne    0x40ada0
40ad91:	3b f3                	cmp    %ebx,%esi
40ad93:	74 07                	je     0x40ad9c
40ad95:	6a 01                	push   $0x1
40ad97:	8b ce                	mov    %esi,%ecx
40ad99:	ff 57 04             	call   *0x4(%edi)
40ad9c:	33 c0                	xor    %eax,%eax
40ad9e:	eb 2b                	jmp    0x40adcb
40ada0:	8b 7d f0             	mov    -0x10(%ebp),%edi
40ada3:	8b ce                	mov    %esi,%ecx
40ada5:	ff 77 74             	push   0x74(%edi)
40ada8:	e8 3d 2a 01 00       	call   0x41d7ea
40adad:	ff 76 1c             	push   0x1c(%esi)
40adb0:	ff 15 3c 99 43 00    	call   *0x43993c
40adb6:	53                   	push   %ebx
40adb7:	53                   	push   %ebx
40adb8:	53                   	push   %ebx
40adb9:	53                   	push   %ebx
40adba:	89 77 1c             	mov    %esi,0x1c(%edi)
40adbd:	ff 15 58 97 43 00    	call   *0x439758
40adc3:	6a 01                	push   $0x1
40adc5:	a3 c0 50 43 00       	mov    %eax,0x4350c0
40adca:	58                   	pop    %eax
40adcb:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40adce:	5f                   	pop    %edi
40adcf:	5e                   	pop    %esi
40add0:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40add7:	5b                   	pop    %ebx
40add8:	c9                   	leave
40add9:	c3                   	ret
40adda:	ff 74 24 04          	push   0x4(%esp)
40adde:	e8 5a 1f 01 00       	call   0x41cd3d
40ade3:	59                   	pop    %ecx
40ade4:	c2 04 00             	ret    $0x4
40ade7:	56                   	push   %esi
40ade8:	8b f1                	mov    %ecx,%esi
40adea:	ff 35 c0 50 43 00    	push   0x4350c0
40adf0:	ff 15 50 97 43 00    	call   *0x439750
40adf6:	8b ce                	mov    %esi,%ecx
40adf8:	e8 a7 9d 01 00       	call   0x424ba4
40adfd:	5e                   	pop    %esi
40adfe:	c3                   	ret
40adff:	b8 84 77 42 00       	mov    $0x427784,%eax
40ae04:	e8 27 0e 00 00       	call   0x40bc30
40ae09:	83 ec 5c             	sub    $0x5c,%esp
40ae0c:	6a 00                	push   $0x0
40ae0e:	6a 64                	push   $0x64
40ae10:	8d 4d 98             	lea    -0x68(%ebp),%ecx
40ae13:	e8 af 23 01 00       	call   0x41d1c7
40ae18:	8b 10                	mov    (%eax),%edx
40ae1a:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40ae1e:	8b c8                	mov    %eax,%ecx
40ae20:	ff 92 c0 00 00 00    	call   *0xc0(%edx)
40ae26:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40ae2a:	8d 4d 98             	lea    -0x68(%ebp),%ecx
40ae2d:	e8 27 21 01 00       	call   0x41cf59
40ae32:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40ae35:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40ae3c:	c9                   	leave
40ae3d:	c3                   	ret
40ae3e:	b8 98 77 42 00       	mov    $0x427798,%eax
40ae43:	e8 e8 0d 00 00       	call   0x40bc30
40ae48:	51                   	push   %ecx
40ae49:	83 ec 0c             	sub    $0xc,%esp
40ae4c:	53                   	push   %ebx
40ae4d:	56                   	push   %esi
40ae4e:	57                   	push   %edi
40ae4f:	33 db                	xor    %ebx,%ebx
40ae51:	89 65 f0             	mov    %esp,-0x10(%ebp)
40ae54:	ff 75 0c             	push   0xc(%ebp)
40ae57:	89 5d ec             	mov    %ebx,-0x14(%ebp)
40ae5a:	e8 01 13 00 00       	call   0x40c160
40ae5f:	8b 75 08             	mov    0x8(%ebp),%esi
40ae62:	8b f8                	mov    %eax,%edi
40ae64:	59                   	pop    %ecx
40ae65:	8b 06                	mov    (%esi),%eax
40ae67:	8b 40 04             	mov    0x4(%eax),%eax
40ae6a:	8b 44 30 14          	mov    0x14(%eax,%esi,1),%eax
40ae6e:	3b c3                	cmp    %ebx,%eax
40ae70:	7e 08                	jle    0x40ae7a
40ae72:	3b c7                	cmp    %edi,%eax
40ae74:	76 04                	jbe    0x40ae7a
40ae76:	2b c7                	sub    %edi,%eax
40ae78:	8b d8                	mov    %eax,%ebx
40ae7a:	8b ce                	mov    %esi,%ecx
40ae7c:	e8 b3 fd ff ff       	call   0x40ac34
40ae81:	88 45 e4             	mov    %al,-0x1c(%ebp)
40ae84:	89 75 e8             	mov    %esi,-0x18(%ebp)
40ae87:	33 d2                	xor    %edx,%edx
40ae89:	84 c0                	test   %al,%al
40ae8b:	89 55 fc             	mov    %edx,-0x4(%ebp)
40ae8e:	75 0c                	jne    0x40ae9c
40ae90:	c7 45 ec 04 00 00 00 	movl   $0x4,-0x14(%ebp)
40ae97:	e9 d0 00 00 00       	jmp    0x40af6c
40ae9c:	8b 06                	mov    (%esi),%eax
40ae9e:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
40aea2:	8b 40 04             	mov    0x4(%eax),%eax
40aea5:	8b 44 30 0c          	mov    0xc(%eax,%esi,1),%eax
40aea9:	25 c0 01 00 00       	and    $0x1c0,%eax
40aeae:	83 f8 40             	cmp    $0x40,%eax
40aeb1:	74 2b                	je     0x40aede
40aeb3:	85 db                	test   %ebx,%ebx
40aeb5:	76 27                	jbe    0x40aede
40aeb7:	8b 06                	mov    (%esi),%eax
40aeb9:	8b 40 04             	mov    0x4(%eax),%eax
40aebc:	03 c6                	add    %esi,%eax
40aebe:	8a 48 30             	mov    0x30(%eax),%cl
40aec1:	51                   	push   %ecx
40aec2:	8b 48 28             	mov    0x28(%eax),%ecx
40aec5:	e8 f4 fd ff ff       	call   0x40acbe
40aeca:	33 c9                	xor    %ecx,%ecx
40aecc:	83 f8 ff             	cmp    $0xffffffff,%eax
40aecf:	0f 94 c1             	sete   %cl
40aed2:	84 c9                	test   %cl,%cl
40aed4:	0f 84 cf 00 00 00    	je     0x40afa9
40aeda:	83 4d ec 04          	orl    $0x4,-0x14(%ebp)
40aede:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
40aee2:	75 74                	jne    0x40af58
40aee4:	8b 06                	mov    (%esi),%eax
40aee6:	57                   	push   %edi
40aee7:	ff 75 0c             	push   0xc(%ebp)
40aeea:	8b 40 04             	mov    0x4(%eax),%eax
40aeed:	8b 4c 30 28          	mov    0x28(%eax,%esi,1),%ecx
40aef1:	8b 01                	mov    (%ecx),%eax
40aef3:	ff 50 1c             	call   *0x1c(%eax)
40aef6:	3b c7                	cmp    %edi,%eax
40aef8:	74 07                	je     0x40af01
40aefa:	c7 45 ec 04 00 00 00 	movl   $0x4,-0x14(%ebp)
40af01:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
40af05:	75 51                	jne    0x40af58
40af07:	85 db                	test   %ebx,%ebx
40af09:	76 4d                	jbe    0x40af58
40af0b:	8b 06                	mov    (%esi),%eax
40af0d:	8b 40 04             	mov    0x4(%eax),%eax
40af10:	03 c6                	add    %esi,%eax
40af12:	8a 48 30             	mov    0x30(%eax),%cl
40af15:	51                   	push   %ecx
40af16:	8b 48 28             	mov    0x28(%eax),%ecx
40af19:	e8 a0 fd ff ff       	call   0x40acbe
40af1e:	33 c9                	xor    %ecx,%ecx
40af20:	83 f8 ff             	cmp    $0xffffffff,%eax
40af23:	0f 94 c1             	sete   %cl
40af26:	84 c9                	test   %cl,%cl
40af28:	74 06                	je     0x40af30
40af2a:	83 4d ec 04          	orl    $0x4,-0x14(%ebp)
40af2e:	eb 28                	jmp    0x40af58
40af30:	4b                   	dec    %ebx
40af31:	eb d4                	jmp    0x40af07
40af33:	8b 45 08             	mov    0x8(%ebp),%eax
40af36:	8b 08                	mov    (%eax),%ecx
40af38:	8b 49 04             	mov    0x4(%ecx),%ecx
40af3b:	03 c8                	add    %eax,%ecx
40af3d:	8b 41 04             	mov    0x4(%ecx),%eax
40af40:	0c 04                	or     $0x4,%al
40af42:	83 79 28 00          	cmpl   $0x0,0x28(%ecx)
40af46:	75 02                	jne    0x40af4a
40af48:	0c 04                	or     $0x4,%al
40af4a:	6a 01                	push   $0x1
40af4c:	50                   	push   %eax
40af4d:	e8 6e bc 00 00       	call   0x416bc0
40af52:	b8 64 af 40 00       	mov    $0x40af64,%eax
40af57:	c3                   	ret
40af58:	8b 06                	mov    (%esi),%eax
40af5a:	8b 40 04             	mov    0x4(%eax),%eax
40af5d:	83 64 30 14 00       	andl   $0x0,0x14(%eax,%esi,1)
40af62:	eb 03                	jmp    0x40af67
40af64:	8b 75 08             	mov    0x8(%ebp),%esi
40af67:	33 d2                	xor    %edx,%edx
40af69:	89 55 fc             	mov    %edx,-0x4(%ebp)
40af6c:	8b 06                	mov    (%esi),%eax
40af6e:	8b 48 04             	mov    0x4(%eax),%ecx
40af71:	03 ce                	add    %esi,%ecx
40af73:	39 55 ec             	cmp    %edx,-0x14(%ebp)
40af76:	74 14                	je     0x40af8c
40af78:	8b 41 04             	mov    0x4(%ecx),%eax
40af7b:	0b 45 ec             	or     -0x14(%ebp),%eax
40af7e:	39 51 28             	cmp    %edx,0x28(%ecx)
40af81:	75 02                	jne    0x40af85
40af83:	0c 04                	or     $0x4,%al
40af85:	52                   	push   %edx
40af86:	50                   	push   %eax
40af87:	e8 34 bc 00 00       	call   0x416bc0
40af8c:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40af90:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40af93:	e8 7a fc ff ff       	call   0x40ac12
40af98:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40af9b:	8b c6                	mov    %esi,%eax
40af9d:	5f                   	pop    %edi
40af9e:	5e                   	pop    %esi
40af9f:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40afa6:	5b                   	pop    %ebx
40afa7:	c9                   	leave
40afa8:	c3                   	ret
40afa9:	4b                   	dec    %ebx
40afaa:	e9 04 ff ff ff       	jmp    0x40aeb3
40afaf:	53                   	push   %ebx
40afb0:	b3 01                	mov    $0x1,%bl
40afb2:	84 1d 5d 79 43 00    	test   %bl,0x43795d
40afb8:	75 06                	jne    0x40afc0
40afba:	08 1d 5d 79 43 00    	or     %bl,0x43795d
40afc0:	e8 74 00 00 00       	call   0x40b039
40afc5:	84 1d 5e 79 43 00    	test   %bl,0x43795e
40afcb:	75 06                	jne    0x40afd3
40afcd:	08 1d 5e 79 43 00    	or     %bl,0x43795e
40afd3:	e8 61 00 00 00       	call   0x40b039
40afd8:	84 1d 5f 79 43 00    	test   %bl,0x43795f
40afde:	75 06                	jne    0x40afe6
40afe0:	08 1d 5f 79 43 00    	or     %bl,0x43795f
40afe6:	e8 4e 00 00 00       	call   0x40b039
40afeb:	84 1d 60 79 43 00    	test   %bl,0x437960
40aff1:	75 06                	jne    0x40aff9
40aff3:	08 1d 60 79 43 00    	or     %bl,0x437960
40aff9:	e8 3b 00 00 00       	call   0x40b039
40affe:	84 1d 61 79 43 00    	test   %bl,0x437961
40b004:	75 06                	jne    0x40b00c
40b006:	08 1d 61 79 43 00    	or     %bl,0x437961
40b00c:	e8 28 00 00 00       	call   0x40b039
40b011:	84 1d 62 79 43 00    	test   %bl,0x437962
40b017:	75 06                	jne    0x40b01f
40b019:	08 1d 62 79 43 00    	or     %bl,0x437962
40b01f:	e8 15 00 00 00       	call   0x40b039
40b024:	84 1d 63 79 43 00    	test   %bl,0x437963
40b02a:	75 06                	jne    0x40b032
40b02c:	08 1d 63 79 43 00    	or     %bl,0x437963
40b032:	e8 02 00 00 00       	call   0x40b039
40b037:	5b                   	pop    %ebx
40b038:	c3                   	ret
40b039:	68 45 b0 40 00       	push   $0x40b045
40b03e:	e8 9d 0c 00 00       	call   0x40bce0
40b043:	59                   	pop    %ecx
40b044:	c3                   	ret
40b045:	c3                   	ret
40b046:	b8 90 98 42 00       	mov    $0x429890,%eax
40b04b:	c3                   	ret
40b04c:	b8 a8 98 42 00       	mov    $0x4298a8,%eax
40b051:	c3                   	ret
40b052:	56                   	push   %esi
40b053:	8b f1                	mov    %ecx,%esi
40b055:	e8 81 5f 01 00       	call   0x420fdb
40b05a:	c7 06 f8 98 42 00    	movl   $0x4298f8,(%esi)
40b060:	8b c6                	mov    %esi,%eax
40b062:	5e                   	pop    %esi
40b063:	c3                   	ret
40b064:	56                   	push   %esi
40b065:	8b f1                	mov    %ecx,%esi
40b067:	e8 14 00 00 00       	call   0x40b080
40b06c:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
40b071:	74 07                	je     0x40b07a
40b073:	56                   	push   %esi
40b074:	e8 c4 1c 01 00       	call   0x41cd3d
40b079:	59                   	pop    %ecx
40b07a:	8b c6                	mov    %esi,%eax
40b07c:	5e                   	pop    %esi
40b07d:	c2 04 00             	ret    $0x4
40b080:	c7 01 f8 98 42 00    	movl   $0x4298f8,(%ecx)
40b086:	e9 08 70 01 00       	jmp    0x422093
40b08b:	b8 ad 77 42 00       	mov    $0x4277ad,%eax
40b090:	e8 9b 0b 00 00       	call   0x40bc30
40b095:	51                   	push   %ecx
40b096:	56                   	push   %esi
40b097:	8b f1                	mov    %ecx,%esi
40b099:	68 c4 00 00 00       	push   $0xc4
40b09e:	e8 5e 1c 01 00       	call   0x41cd01