40a989:	85 c0                	test   %eax,%eax
40a98b:	75 08                	jne    0x40a995
40a98d:	a1 88 b8 42 00       	mov    0x42b888,%eax
40a992:	89 46 6c             	mov    %eax,0x6c(%esi)
40a995:	ff 76 6c             	push   0x6c(%esi)
40a998:	e8 aa be ff ff       	call   0x406847
40a99d:	59                   	pop    %ecx
40a99e:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40a9a5:	e8 15 00 00 00       	call   0x40a9bf
40a9aa:	e8 72 fa ff ff       	call   0x40a421
40a9af:	c3                   	ret
40a9b0:	33 ff                	xor    %edi,%edi
40a9b2:	47                   	inc    %edi
40a9b3:	8b 75 08             	mov    0x8(%ebp),%esi
40a9b6:	6a 0d                	push   $0xd
40a9b8:	e8 4d ee ff ff       	call   0x40980a
40a9bd:	59                   	pop    %ecx
40a9be:	c3                   	ret
40a9bf:	6a 0c                	push   $0xc
40a9c1:	e8 44 ee ff ff       	call   0x40980a
40a9c6:	59                   	pop    %ecx
40a9c7:	c3                   	ret
40a9c8:	8b ff                	mov    %edi,%edi
40a9ca:	56                   	push   %esi
40a9cb:	57                   	push   %edi
40a9cc:	ff 15 98 a0 41 00    	call   *0x41a098
40a9d2:	ff 35 b0 b3 42 00    	push   0x42b3b0
40a9d8:	8b f8                	mov    %eax,%edi
40a9da:	e8 91 fe ff ff       	call   0x40a870
40a9df:	ff d0                	call   *%eax
40a9e1:	8b f0                	mov    %eax,%esi
40a9e3:	85 f6                	test   %esi,%esi
40a9e5:	75 4e                	jne    0x40aa35
40a9e7:	68 14 02 00 00       	push   $0x214
40a9ec:	6a 01                	push   $0x1
40a9ee:	e8 b2 d1 ff ff       	call   0x407ba5
40a9f3:	8b f0                	mov    %eax,%esi
40a9f5:	59                   	pop    %ecx
40a9f6:	59                   	pop    %ecx
40a9f7:	85 f6                	test   %esi,%esi
40a9f9:	74 3a                	je     0x40aa35
40a9fb:	56                   	push   %esi
40a9fc:	ff 35 b0 b3 42 00    	push   0x42b3b0
40aa02:	ff 35 6c 09 43 00    	push   0x43096c
40aa08:	e8 e8 fd ff ff       	call   0x40a7f5
40aa0d:	59                   	pop    %ecx
40aa0e:	ff d0                	call   *%eax
40aa10:	85 c0                	test   %eax,%eax
40aa12:	74 18                	je     0x40aa2c
40aa14:	6a 00                	push   $0x0
40aa16:	56                   	push   %esi
40aa17:	e8 c5 fe ff ff       	call   0x40a8e1
40aa1c:	59                   	pop    %ecx
40aa1d:	59                   	pop    %ecx
40aa1e:	ff 15 00 a1 41 00    	call   *0x41a100
40aa24:	83 4e 04 ff          	orl    $0xffffffff,0x4(%esi)
40aa28:	89 06                	mov    %eax,(%esi)
40aa2a:	eb 09                	jmp    0x40aa35
40aa2c:	56                   	push   %esi
40aa2d:	e8 ee a5 ff ff       	call   0x405020
40aa32:	59                   	pop    %ecx
40aa33:	33 f6                	xor    %esi,%esi
40aa35:	57                   	push   %edi
40aa36:	ff 15 fc a0 41 00    	call   *0x41a0fc
40aa3c:	5f                   	pop    %edi
40aa3d:	8b c6                	mov    %esi,%eax
40aa3f:	5e                   	pop    %esi
40aa40:	c3                   	ret
40aa41:	8b ff                	mov    %edi,%edi
40aa43:	56                   	push   %esi
40aa44:	e8 7f ff ff ff       	call   0x40a9c8
40aa49:	8b f0                	mov    %eax,%esi
40aa4b:	85 f6                	test   %esi,%esi
40aa4d:	75 08                	jne    0x40aa57
40aa4f:	6a 10                	push   $0x10
40aa51:	e8 46 1c 00 00       	call   0x40c69c
40aa56:	59                   	pop    %ecx
40aa57:	8b c6                	mov    %esi,%eax
40aa59:	5e                   	pop    %esi
40aa5a:	c3                   	ret
40aa5b:	6a 08                	push   $0x8
40aa5d:	68 c0 96 42 00       	push   $0x4296c0
40aa62:	e8 75 f9 ff ff       	call   0x40a3dc
40aa67:	8b 75 08             	mov    0x8(%ebp),%esi
40aa6a:	85 f6                	test   %esi,%esi
40aa6c:	0f 84 f8 00 00 00    	je     0x40ab6a
40aa72:	8b 46 24             	mov    0x24(%esi),%eax
40aa75:	85 c0                	test   %eax,%eax
40aa77:	74 07                	je     0x40aa80
40aa79:	50                   	push   %eax
40aa7a:	e8 a1 a5 ff ff       	call   0x405020
40aa7f:	59                   	pop    %ecx
40aa80:	8b 46 2c             	mov    0x2c(%esi),%eax
40aa83:	85 c0                	test   %eax,%eax
40aa85:	74 07                	je     0x40aa8e
40aa87:	50                   	push   %eax
40aa88:	e8 93 a5 ff ff       	call   0x405020
40aa8d:	59                   	pop    %ecx
40aa8e:	8b 46 34             	mov    0x34(%esi),%eax
40aa91:	85 c0                	test   %eax,%eax
40aa93:	74 07                	je     0x40aa9c
40aa95:	50                   	push   %eax
40aa96:	e8 85 a5 ff ff       	call   0x405020
40aa9b:	59                   	pop    %ecx
40aa9c:	8b 46 3c             	mov    0x3c(%esi),%eax
40aa9f:	85 c0                	test   %eax,%eax
40aaa1:	74 07                	je     0x40aaaa
40aaa3:	50                   	push   %eax
40aaa4:	e8 77 a5 ff ff       	call   0x405020
40aaa9:	59                   	pop    %ecx
40aaaa:	8b 46 40             	mov    0x40(%esi),%eax
40aaad:	85 c0                	test   %eax,%eax
40aaaf:	74 07                	je     0x40aab8
40aab1:	50                   	push   %eax
40aab2:	e8 69 a5 ff ff       	call   0x405020
40aab7:	59                   	pop    %ecx
40aab8:	8b 46 44             	mov    0x44(%esi),%eax
40aabb:	85 c0                	test   %eax,%eax
40aabd:	74 07                	je     0x40aac6
40aabf:	50                   	push   %eax
40aac0:	e8 5b a5 ff ff       	call   0x405020
40aac5:	59                   	pop    %ecx
40aac6:	8b 46 48             	mov    0x48(%esi),%eax
40aac9:	85 c0                	test   %eax,%eax
40aacb:	74 07                	je     0x40aad4
40aacd:	50                   	push   %eax
40aace:	e8 4d a5 ff ff       	call   0x405020
40aad3:	59                   	pop    %ecx
40aad4:	8b 46 5c             	mov    0x5c(%esi),%eax
40aad7:	3d 60 cb 41 00       	cmp    $0x41cb60,%eax
40aadc:	74 07                	je     0x40aae5
40aade:	50                   	push   %eax
40aadf:	e8 3c a5 ff ff       	call   0x405020
40aae4:	59                   	pop    %ecx
40aae5:	6a 0d                	push   $0xd
40aae7:	e8 f8 ed ff ff       	call   0x4098e4
40aaec:	59                   	pop    %ecx
40aaed:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40aaf1:	8b 7e 68             	mov    0x68(%esi),%edi
40aaf4:	85 ff                	test   %edi,%edi
40aaf6:	74 1a                	je     0x40ab12
40aaf8:	57                   	push   %edi
40aaf9:	ff 15 78 a0 41 00    	call   *0x41a078
40aaff:	85 c0                	test   %eax,%eax
40ab01:	75 0f                	jne    0x40ab12
40ab03:	81 ff c0 b9 42 00    	cmp    $0x42b9c0,%edi
40ab09:	74 07                	je     0x40ab12
40ab0b:	57                   	push   %edi
40ab0c:	e8 0f a5 ff ff       	call   0x405020
40ab11:	59                   	pop    %ecx
40ab12:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40ab19:	e8 57 00 00 00       	call   0x40ab75
40ab1e:	6a 0c                	push   $0xc
40ab20:	e8 bf ed ff ff       	call   0x4098e4
40ab25:	59                   	pop    %ecx
40ab26:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
40ab2d:	8b 7e 6c             	mov    0x6c(%esi),%edi
40ab30:	85 ff                	test   %edi,%edi
40ab32:	74 23                	je     0x40ab57
40ab34:	57                   	push   %edi
40ab35:	e8 9c bd ff ff       	call   0x4068d6
40ab3a:	59                   	pop    %ecx
40ab3b:	3b 3d 88 b8 42 00    	cmp    0x42b888,%edi
40ab41:	74 14                	je     0x40ab57
40ab43:	81 ff b0 b7 42 00    	cmp    $0x42b7b0,%edi
40ab49:	74 0c                	je     0x40ab57
40ab4b:	83 3f 00             	cmpl   $0x0,(%edi)
40ab4e:	75 07                	jne    0x40ab57
40ab50:	57                   	push   %edi
40ab51:	e8 a8 bb ff ff       	call   0x4066fe
40ab56:	59                   	pop    %ecx
40ab57:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40ab5e:	e8 1e 00 00 00       	call   0x40ab81
40ab63:	56                   	push   %esi
40ab64:	e8 b7 a4 ff ff       	call   0x405020
40ab69:	59                   	pop    %ecx
40ab6a:	e8 b2 f8 ff ff       	call   0x40a421
40ab6f:	c2 04 00             	ret    $0x4
40ab72:	8b 75 08             	mov    0x8(%ebp),%esi
40ab75:	6a 0d                	push   $0xd
40ab77:	e8 8e ec ff ff       	call   0x40980a
40ab7c:	59                   	pop    %ecx
40ab7d:	c3                   	ret
40ab7e:	8b 75 08             	mov    0x8(%ebp),%esi
40ab81:	6a 0c                	push   $0xc
40ab83:	e8 82 ec ff ff       	call   0x40980a
40ab88:	59                   	pop    %ecx
40ab89:	c3                   	ret
40ab8a:	8b ff                	mov    %edi,%edi
40ab8c:	56                   	push   %esi
40ab8d:	57                   	push   %edi
40ab8e:	be 7c ac 41 00       	mov    $0x41ac7c,%esi
40ab93:	56                   	push   %esi
40ab94:	ff 15 14 a0 41 00    	call   *0x41a014
40ab9a:	85 c0                	test   %eax,%eax
40ab9c:	75 07                	jne    0x40aba5
40ab9e:	56                   	push   %esi
40ab9f:	e8 c8 1a 00 00       	call   0x40c66c
40aba4:	59                   	pop    %ecx
40aba5:	8b f8                	mov    %eax,%edi
40aba7:	85 ff                	test   %edi,%edi
40aba9:	0f 84 5e 01 00 00    	je     0x40ad0d
40abaf:	8b 35 e8 a0 41 00    	mov    0x41a0e8,%esi
40abb5:	68 c8 ac 41 00       	push   $0x41acc8
40abba:	57                   	push   %edi
40abbb:	ff d6                	call   *%esi
40abbd:	68 bc ac 41 00       	push   $0x41acbc
40abc2:	57                   	push   %edi
40abc3:	a3 64 09 43 00       	mov    %eax,0x430964
40abc8:	ff d6                	call   *%esi
40abca:	68 b0 ac 41 00       	push   $0x41acb0
40abcf:	57                   	push   %edi
40abd0:	a3 68 09 43 00       	mov    %eax,0x430968
40abd5:	ff d6                	call   *%esi
40abd7:	68 a8 ac 41 00       	push   $0x41aca8
40abdc:	57                   	push   %edi
40abdd:	a3 6c 09 43 00       	mov    %eax,0x43096c
40abe2:	ff d6                	call   *%esi
40abe4:	83 3d 64 09 43 00 00 	cmpl   $0x0,0x430964
40abeb:	8b 35 f4 a0 41 00    	mov    0x41a0f4,%esi
40abf1:	a3 70 09 43 00       	mov    %eax,0x430970
40abf6:	74 16                	je     0x40ac0e
40abf8:	83 3d 68 09 43 00 00 	cmpl   $0x0,0x430968
40abff:	74 0d                	je     0x40ac0e
40ac01:	83 3d 6c 09 43 00 00 	cmpl   $0x0,0x43096c
40ac08:	74 04                	je     0x40ac0e
40ac0a:	85 c0                	test   %eax,%eax
40ac0c:	75 24                	jne    0x40ac32
40ac0e:	a1 ec a0 41 00       	mov    0x41a0ec,%eax
40ac13:	a3 68 09 43 00       	mov    %eax,0x430968
40ac18:	a1 f8 a0 41 00       	mov    0x41a0f8,%eax
40ac1d:	c7 05 64 09 43 00 67 	movl   $0x40a867,0x430964
40ac24:	a8 40 00
40ac27:	89 35 6c 09 43 00    	mov    %esi,0x43096c
40ac2d:	a3 70 09 43 00       	mov    %eax,0x430970
40ac32:	ff 15 f0 a0 41 00    	call   *0x41a0f0
40ac38:	a3 b4 b3 42 00       	mov    %eax,0x42b3b4
40ac3d:	83 f8 ff             	cmp    $0xffffffff,%eax
40ac40:	0f 84 cc 00 00 00    	je     0x40ad12
40ac46:	ff 35 68 09 43 00    	push   0x430968
40ac4c:	50                   	push   %eax
40ac4d:	ff d6                	call   *%esi
40ac4f:	85 c0                	test   %eax,%eax
40ac51:	0f 84 bb 00 00 00    	je     0x40ad12
40ac57:	e8 fa 1c 00 00       	call   0x40c956
40ac5c:	ff 35 64 09 43 00    	push   0x430964
40ac62:	e8 13 fb ff ff       	call   0x40a77a
40ac67:	ff 35 68 09 43 00    	push   0x430968
40ac6d:	a3 64 09 43 00       	mov    %eax,0x430964
40ac72:	e8 03 fb ff ff       	call   0x40a77a
40ac77:	ff 35 6c 09 43 00    	push   0x43096c
40ac7d:	a3 68 09 43 00       	mov    %eax,0x430968
40ac82:	e8 f3 fa ff ff       	call   0x40a77a
40ac87:	ff 35 70 09 43 00    	push   0x430970
40ac8d:	a3 6c 09 43 00       	mov    %eax,0x43096c
40ac92:	e8 e3 fa ff ff       	call   0x40a77a
40ac97:	83 c4 10             	add    $0x10,%esp
40ac9a:	a3 70 09 43 00       	mov    %eax,0x430970
40ac9f:	e8 c4 ea ff ff       	call   0x409768
40aca4:	85 c0                	test   %eax,%eax
40aca6:	74 65                	je     0x40ad0d
40aca8:	68 5b aa 40 00       	push   $0x40aa5b
40acad:	ff 35 64 09 43 00    	push   0x430964
40acb3:	e8 3d fb ff ff       	call   0x40a7f5
40acb8:	59                   	pop    %ecx
40acb9:	ff d0                	call   *%eax
40acbb:	a3 b0 b3 42 00       	mov    %eax,0x42b3b0
40acc0:	83 f8 ff             	cmp    $0xffffffff,%eax
40acc3:	74 48                	je     0x40ad0d
40acc5:	68 14 02 00 00       	push   $0x214
40acca:	6a 01                	push   $0x1
40accc:	e8 d4 ce ff ff       	call   0x407ba5
40acd1:	8b f0                	mov    %eax,%esi
40acd3:	59                   	pop    %ecx
40acd4:	59                   	pop    %ecx
40acd5:	85 f6                	test   %esi,%esi
40acd7:	74 34                	je     0x40ad0d
40acd9:	56                   	push   %esi
40acda:	ff 35 b0 b3 42 00    	push   0x42b3b0
40ace0:	ff 35 6c 09 43 00    	push   0x43096c
40ace6:	e8 0a fb ff ff       	call   0x40a7f5
40aceb:	59                   	pop    %ecx
40acec:	ff d0                	call   *%eax
40acee:	85 c0                	test   %eax,%eax
40acf0:	74 1b                	je     0x40ad0d
40acf2:	6a 00                	push   $0x0
40acf4:	56                   	push   %esi
40acf5:	e8 e7 fb ff ff       	call   0x40a8e1
40acfa:	59                   	pop    %ecx
40acfb:	59                   	pop    %ecx
40acfc:	ff 15 00 a1 41 00    	call   *0x41a100
40ad02:	83 4e 04 ff          	orl    $0xffffffff,0x4(%esi)
40ad06:	89 06                	mov    %eax,(%esi)
40ad08:	33 c0                	xor    %eax,%eax
40ad0a:	40                   	inc    %eax
40ad0b:	eb 07                	jmp    0x40ad14
40ad0d:	e8 92 fb ff ff       	call   0x40a8a4
40ad12:	33 c0                	xor    %eax,%eax
40ad14:	5f                   	pop    %edi
40ad15:	5e                   	pop    %esi
40ad16:	c3                   	ret
40ad17:	b8 b8 b3 42 00       	mov    $0x42b3b8,%eax
40ad1c:	c3                   	ret
40ad1d:	a1 80 23 c7 00       	mov    0xc72380,%eax
40ad22:	56                   	push   %esi
40ad23:	6a 14                	push   $0x14
40ad25:	5e                   	pop    %esi
40ad26:	85 c0                	test   %eax,%eax
40ad28:	75 07                	jne    0x40ad31
40ad2a:	b8 00 02 00 00       	mov    $0x200,%eax
40ad2f:	eb 06                	jmp    0x40ad37
40ad31:	3b c6                	cmp    %esi,%eax
40ad33:	7d 07                	jge    0x40ad3c
40ad35:	8b c6                	mov    %esi,%eax
40ad37:	a3 80 23 c7 00       	mov    %eax,0xc72380
40ad3c:	6a 04                	push   $0x4
40ad3e:	50                   	push   %eax
40ad3f:	e8 61 ce ff ff       	call   0x407ba5
40ad44:	59                   	pop    %ecx
40ad45:	59                   	pop    %ecx
40ad46:	a3 68 13 c7 00       	mov    %eax,0xc71368
40ad4b:	85 c0                	test   %eax,%eax
40ad4d:	75 1e                	jne    0x40ad6d
40ad4f:	6a 04                	push   $0x4
40ad51:	56                   	push   %esi
40ad52:	89 35 80 23 c7 00    	mov    %esi,0xc72380
40ad58:	e8 48 ce ff ff       	call   0x407ba5
40ad5d:	59                   	pop    %ecx
40ad5e:	59                   	pop    %ecx
40ad5f:	a3 68 13 c7 00       	mov    %eax,0xc71368
40ad64:	85 c0                	test   %eax,%eax
40ad66:	75 05                	jne    0x40ad6d
40ad68:	6a 1a                	push   $0x1a
40ad6a:	58                   	pop    %eax
40ad6b:	5e                   	pop    %esi
40ad6c:	c3                   	ret
40ad6d:	33 d2                	xor    %edx,%edx
40ad6f:	b9 b8 b3 42 00       	mov    $0x42b3b8,%ecx
40ad74:	eb 05                	jmp    0x40ad7b
40ad76:	a1 68 13 c7 00       	mov    0xc71368,%eax
40ad7b:	89 0c 02             	mov    %ecx,(%edx,%eax,1)
40ad7e:	83 c1 20             	add    $0x20,%ecx
40ad81:	83 c2 04             	add    $0x4,%edx
40ad84:	81 f9 38 b6 42 00    	cmp    $0x42b638,%ecx
40ad8a:	7c ea                	jl     0x40ad76
40ad8c:	6a fe                	push   $0xfffffffe
40ad8e:	5e                   	pop    %esi
40ad8f:	33 d2                	xor    %edx,%edx
40ad91:	b9 c8 b3 42 00       	mov    $0x42b3c8,%ecx
40ad96:	57                   	push   %edi