a7a913:	8d 45 dc             	lea    -0x24(%ebp),%eax
a7a916:	6a 01                	push   $0x1
a7a918:	50                   	push   %eax
a7a919:	e8 5c 83 98 ff       	call   0x402c7a
a7a91e:	59                   	pop    %ecx
a7a91f:	59                   	pop    %ecx
a7a920:	8b 45 dc             	mov    -0x24(%ebp),%eax
a7a923:	89 45 c8             	mov    %eax,-0x38(%ebp)
a7a926:	8b 45 e0             	mov    -0x20(%ebp),%eax
a7a929:	89 45 cc             	mov    %eax,-0x34(%ebp)
a7a92c:	8d 45 dc             	lea    -0x24(%ebp),%eax
a7a92f:	6a 01                	push   $0x1
a7a931:	50                   	push   %eax
a7a932:	e8 43 83 98 ff       	call   0x402c7a
a7a937:	8b 45 dc             	mov    -0x24(%ebp),%eax
a7a93a:	8b 55 f8             	mov    -0x8(%ebp),%edx
a7a93d:	59                   	pop    %ecx
a7a93e:	89 45 e4             	mov    %eax,-0x1c(%ebp)
a7a941:	8b 45 e0             	mov    -0x20(%ebp),%eax
a7a944:	59                   	pop    %ecx
a7a945:	89 45 e0             	mov    %eax,-0x20(%ebp)
a7a948:	85 d2                	test   %edx,%edx
a7a94a:	74 40                	je     0xa7a98c
a7a94c:	8b c3                	mov    %ebx,%eax
a7a94e:	25 00 07 00 00       	and    $0x700,%eax
a7a953:	3d 00 02 00 00       	cmp    $0x200,%eax
a7a958:	74 32                	je     0xa7a98c
a7a95a:	a1 60 18 d8 00       	mov    0xd81860,%eax
a7a95f:	83 e0 60             	and    $0x60,%eax
a7a962:	3c 60                	cmp    $0x60,%al
a7a964:	8d 45 f0             	lea    -0x10(%ebp),%eax
a7a967:	50                   	push   %eax
a7a968:	74 13                	je     0xa7a97d
a7a96a:	e8 ec f8 9b ff       	call   0x43a25b
a7a96f:	59                   	pop    %ecx
a7a970:	8b 08                	mov    (%eax),%ecx
a7a972:	8b 40 04             	mov    0x4(%eax),%eax
a7a975:	89 4d c0             	mov    %ecx,-0x40(%ebp)
a7a978:	89 45 c4             	mov    %eax,-0x3c(%ebp)
a7a97b:	eb 0f                	jmp    0xa7a98c
a7a97d:	e8 d9 f8 9b ff       	call   0x43a25b
a7a982:	59                   	pop    %ecx
a7a983:	50                   	push   %eax
a7a984:	8d 4d c0             	lea    -0x40(%ebp),%ecx
a7a987:	e8 ac 1b 9c ff       	call   0x43c538
a7a98c:	8b 0d 60 18 d8 00    	mov    0xd81860,%ecx
a7a992:	8b c1                	mov    %ecx,%eax
a7a994:	d1 e8                	shr    $1,%eax
a7a996:	f7 d0                	not    %eax
a7a998:	a8 01                	test   $0x1,%al
a7a99a:	74 30                	je     0xa7a9cc
a7a99c:	c1 e9 04             	shr    $0x4,%ecx
a7a99f:	f7 d1                	not    %ecx
a7a9a1:	f6 c1 01             	test   $0x1,%cl
a7a9a4:	74 26                	je     0xa7a9cc
a7a9a6:	8d 45 d0             	lea    -0x30(%ebp),%eax
a7a9a9:	50                   	push   %eax
a7a9aa:	8d 45 f0             	lea    -0x10(%ebp),%eax
a7a9ad:	50                   	push   %eax
a7a9ae:	8d 45 a8             	lea    -0x58(%ebp),%eax
a7a9b1:	50                   	push   %eax
a7a9b2:	e8 82 12 9a ff       	call   0x41bc39
a7a9b7:	59                   	pop    %ecx
a7a9b8:	8b c8                	mov    %eax,%ecx
a7a9ba:	e8 df 16 9a ff       	call   0x41c09e
a7a9bf:	8b 08                	mov    (%eax),%ecx
a7a9c1:	8b 40 04             	mov    0x4(%eax),%eax
a7a9c4:	89 4d d0             	mov    %ecx,-0x30(%ebp)
a7a9c7:	89 45 d4             	mov    %eax,-0x2c(%ebp)
a7a9ca:	eb 13                	jmp    0xa7a9df
a7a9cc:	8d 45 a8             	lea    -0x58(%ebp),%eax
a7a9cf:	50                   	push   %eax
a7a9d0:	e8 64 12 9a ff       	call   0x41bc39
a7a9d5:	59                   	pop    %ecx
a7a9d6:	50                   	push   %eax
a7a9d7:	8d 4d d0             	lea    -0x30(%ebp),%ecx
a7a9da:	e8 59 1b 9c ff       	call   0x43c538
a7a9df:	33 c9                	xor    %ecx,%ecx
a7a9e1:	39 0f                	cmp    %ecx,(%edi)
a7a9e3:	74 3e                	je     0xa7aa23
a7a9e5:	39 4d d0             	cmp    %ecx,-0x30(%ebp)
a7a9e8:	74 2e                	je     0xa7aa18
a7a9ea:	85 35 60 18 d8 00    	test   %esi,0xd81860
a7a9f0:	75 26                	jne    0xa7aa18
a7a9f2:	57                   	push   %edi
a7a9f3:	8d 45 f0             	lea    -0x10(%ebp),%eax
a7a9f6:	50                   	push   %eax
a7a9f7:	6a 20                	push   $0x20
a7a9f9:	8d 4d a8             	lea    -0x58(%ebp),%ecx
a7a9fc:	e8 07 8e 9a ff       	call   0x423808
a7aa01:	8b c8                	mov    %eax,%ecx
a7aa03:	e8 96 16 9a ff       	call   0x41c09e
a7aa08:	8d 45 f0             	lea    -0x10(%ebp),%eax
a7aa0b:	50                   	push   %eax
a7aa0c:	8d 4d d0             	lea    -0x30(%ebp),%ecx
a7aa0f:	e8 e0 00 9b ff       	call   0x42aaf4
a7aa14:	33 c9                	xor    %ecx,%ecx
a7aa16:	eb 0b                	jmp    0xa7aa23
a7aa18:	8b 07                	mov    (%edi),%eax
a7aa1a:	89 45 d0             	mov    %eax,-0x30(%ebp)
a7aa1d:	8b 47 04             	mov    0x4(%edi),%eax
a7aa20:	89 45 d4             	mov    %eax,-0x2c(%ebp)
a7aa23:	8b 7d ac             	mov    -0x54(%ebp),%edi
a7aa26:	81 e7 00 00 ff ff    	and    $0xffff0000,%edi
a7aa2c:	89 4d f4             	mov    %ecx,-0xc(%ebp)
a7aa2f:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
a7aa33:	51                   	push   %ecx
a7aa34:	74 4e                	je     0xa7aa84
a7aa36:	8d 45 a8             	lea    -0x58(%ebp),%eax
a7aa39:	50                   	push   %eax
a7aa3a:	e8 dc a2 9a ff       	call   0x424d1b
a7aa3f:	59                   	pop    %ecx
a7aa40:	59                   	pop    %ecx
a7aa41:	50                   	push   %eax
a7aa42:	8d 45 e8             	lea    -0x18(%ebp),%eax
a7aa45:	50                   	push   %eax
a7aa46:	68 1c 8a bd 00       	push   $0xbd8a1c
a7aa4b:	8d 4d a0             	lea    -0x60(%ebp),%ecx
a7aa4e:	e8 7c 4e 9a ff       	call   0x41f8cf
a7aa53:	8b c8                	mov    %eax,%ecx
a7aa55:	e8 44 16 9a ff       	call   0x41c09e
a7aa5a:	8d 45 e8             	lea    -0x18(%ebp),%eax
a7aa5d:	50                   	push   %eax
a7aa5e:	8d 4d d0             	lea    -0x30(%ebp),%ecx
a7aa61:	e8 8e 00 9b ff       	call   0x42aaf4
a7aa66:	85 35 60 18 d8 00    	test   %esi,0xd81860
a7aa6c:	0f 85 50 04 00 00    	jne    0xa7aec2
a7aa72:	33 f6                	xor    %esi,%esi
a7aa74:	8b 4d f8             	mov    -0x8(%ebp),%ecx
a7aa77:	8b c3                	mov    %ebx,%eax
a7aa79:	85 c9                	test   %ecx,%ecx
a7aa7b:	74 49                	je     0xa7aac6
a7aa7d:	25 00 04 00 00       	and    $0x400,%eax
a7aa82:	eb 47                	jmp    0xa7aacb
a7aa84:	6a 08                	push   $0x8
a7aa86:	b9 6c 18 d8 00       	mov    $0xd8186c,%ecx
a7aa8b:	e8 11 39 9c ff       	call   0x43e3a1
a7aa90:	8b c8                	mov    %eax,%ecx
a7aa92:	89 4d f4             	mov    %ecx,-0xc(%ebp)
a7aa95:	85 c9                	test   %ecx,%ecx
a7aa97:	74 10                	je     0xa7aaa9
a7aa99:	33 c0                	xor    %eax,%eax
a7aa9b:	88 41 04             	mov    %al,0x4(%ecx)
a7aa9e:	81 61 04 ff 00 ff ff 	andl   $0xffff00ff,0x4(%ecx)
a7aaa5:	89 01                	mov    %eax,(%ecx)
a7aaa7:	eb 07                	jmp    0xa7aab0
a7aaa9:	33 f6                	xor    %esi,%esi
a7aaab:	8b ce                	mov    %esi,%ecx
a7aaad:	89 75 f4             	mov    %esi,-0xc(%ebp)
a7aab0:	51                   	push   %ecx
a7aab1:	8d 45 a0             	lea    -0x60(%ebp),%eax
a7aab4:	50                   	push   %eax
a7aab5:	e8 61 a2 9a ff       	call   0x424d1b
a7aaba:	59                   	pop    %ecx
a7aabb:	59                   	pop    %ecx
a7aabc:	8b 30                	mov    (%eax),%esi
a7aabe:	8b 78 04             	mov    0x4(%eax),%edi
a7aac1:	89 75 fc             	mov    %esi,-0x4(%ebp)
a7aac4:	eb ae                	jmp    0xa7aa74
a7aac6:	25 00 10 00 00       	and    $0x1000,%eax
a7aacb:	85 c0                	test   %eax,%eax
a7aacd:	0f 84 14 01 00 00    	je     0xa7abe7
a7aad3:	85 c9                	test   %ecx,%ecx
a7aad5:	0f 84 da 00 00 00    	je     0xa7abb5
a7aadb:	8b c3                	mov    %ebx,%eax
a7aadd:	25 00 07 00 00       	and    $0x700,%eax
a7aae2:	3d 00 06 00 00       	cmp    $0x600,%eax
a7aae7:	75 7a                	jne    0xa7ab63
a7aae9:	8d 45 b8             	lea    -0x48(%ebp),%eax
a7aaec:	50                   	push   %eax
a7aaed:	8d 45 e8             	lea    -0x18(%ebp),%eax
a7aaf0:	50                   	push   %eax
a7aaf1:	68 74 e1 c7 00       	push   $0xc7e174
a7aaf6:	8d 4d a0             	lea    -0x60(%ebp),%ecx
a7aaf9:	e8 d1 4d 9a ff       	call   0x41f8cf
a7aafe:	8b c8                	mov    %eax,%ecx
a7ab00:	e8 99 15 9a ff       	call   0x41c09e
a7ab05:	8b 45 e8             	mov    -0x18(%ebp),%eax
a7ab08:	8d 4d b8             	lea    -0x48(%ebp),%ecx
a7ab0b:	89 45 b8             	mov    %eax,-0x48(%ebp)
a7ab0e:	8b 45 ec             	mov    -0x14(%ebp),%eax
a7ab11:	6a 2c                	push   $0x2c
a7ab13:	89 45 bc             	mov    %eax,-0x44(%ebp)
a7ab16:	e8 cc 4c 9c ff       	call   0x43f7e7
a7ab1b:	8b 45 b8             	mov    -0x48(%ebp),%eax
a7ab1e:	8d 4d e8             	lea    -0x18(%ebp),%ecx
a7ab21:	89 45 e8             	mov    %eax,-0x18(%ebp)
a7ab24:	8b 45 bc             	mov    -0x44(%ebp),%eax
a7ab27:	89 45 ec             	mov    %eax,-0x14(%ebp)
a7ab2a:	8d 45 b0             	lea    -0x50(%ebp),%eax
a7ab2d:	50                   	push   %eax
a7ab2e:	e8 c1 ff 9a ff       	call   0x42aaf4
a7ab33:	8b 45 e8             	mov    -0x18(%ebp),%eax
a7ab36:	8d 4d b0             	lea    -0x50(%ebp),%ecx
a7ab39:	89 45 b0             	mov    %eax,-0x50(%ebp)
a7ab3c:	8b 45 ec             	mov    -0x14(%ebp),%eax
a7ab3f:	6a 2c                	push   $0x2c
a7ab41:	89 45 b4             	mov    %eax,-0x4c(%ebp)
a7ab44:	e8 9e 4c 9c ff       	call   0x43f7e7
a7ab49:	8b 45 b0             	mov    -0x50(%ebp),%eax
a7ab4c:	8d 4d b8             	lea    -0x48(%ebp),%ecx
a7ab4f:	89 45 b8             	mov    %eax,-0x48(%ebp)
a7ab52:	8b 45 b4             	mov    -0x4c(%ebp),%eax
a7ab55:	89 45 bc             	mov    %eax,-0x44(%ebp)
a7ab58:	8d 45 c8             	lea    -0x38(%ebp),%eax
a7ab5b:	50                   	push   %eax
a7ab5c:	e8 93 ff 9a ff       	call   0x42aaf4
a7ab61:	eb 2e                	jmp    0xa7ab91
a7ab63:	85 c9                	test   %ecx,%ecx
a7ab65:	74 4e                	je     0xa7abb5
a7ab67:	8b c3                	mov    %ebx,%eax
a7ab69:	25 00 07 00 00       	and    $0x700,%eax
a7ab6e:	3d 00 05 00 00       	cmp    $0x500,%eax
a7ab73:	75 40                	jne    0xa7abb5
a7ab75:	8d 45 c8             	lea    -0x38(%ebp),%eax
a7ab78:	50                   	push   %eax
a7ab79:	8d 45 b8             	lea    -0x48(%ebp),%eax
a7ab7c:	50                   	push   %eax
a7ab7d:	68 84 e1 c7 00       	push   $0xc7e184
a7ab82:	8d 4d a0             	lea    -0x60(%ebp),%ecx
a7ab85:	e8 45 4d 9a ff       	call   0x41f8cf
a7ab8a:	8b c8                	mov    %eax,%ecx
a7ab8c:	e8 0d 15 9a ff       	call   0x41c09e
a7ab91:	8b 45 b8             	mov    -0x48(%ebp),%eax
a7ab94:	8d 4d b0             	lea    -0x50(%ebp),%ecx
a7ab97:	89 45 b0             	mov    %eax,-0x50(%ebp)
a7ab9a:	8b 45 bc             	mov    -0x44(%ebp),%eax
a7ab9d:	6a 2c                	push   $0x2c
a7ab9f:	89 45 b4             	mov    %eax,-0x4c(%ebp)
a7aba2:	e8 40 4c 9c ff       	call   0x43f7e7
a7aba7:	8d 45 b0             	lea    -0x50(%ebp),%eax
a7abaa:	50                   	push   %eax
a7abab:	8d 4d d0             	lea    -0x30(%ebp),%ecx
a7abae:	e8 41 ff 9a ff       	call   0x42aaf4
a7abb3:	eb 0d                	jmp    0xa7abc2
a7abb5:	68 94 e1 c7 00       	push   $0xc7e194
a7abba:	8d 4d d0             	lea    -0x30(%ebp),%ecx
a7abbd:	e8 e2 39 9c ff       	call   0x43e5a4
a7abc2:	8b 45 e4             	mov    -0x1c(%ebp),%eax
a7abc5:	8d 4d b0             	lea    -0x50(%ebp),%ecx
a7abc8:	89 45 b0             	mov    %eax,-0x50(%ebp)
a7abcb:	8b 45 e0             	mov    -0x20(%ebp),%eax
a7abce:	68 6c e1 c7 00       	push   $0xc7e16c
a7abd3:	89 45 b4             	mov    %eax,-0x4c(%ebp)
a7abd6:	e8 c9 39 9c ff       	call   0x43e5a4
a7abdb:	8d 45 b0             	lea    -0x50(%ebp),%eax
a7abde:	50                   	push   %eax
a7abdf:	8d 4d d0             	lea    -0x30(%ebp),%ecx
a7abe2:	e8 0d ff 9a ff       	call   0x42aaf4
a7abe7:	8d 45 a0             	lea    -0x60(%ebp),%eax
a7abea:	50                   	push   %eax
a7abeb:	e8 40 f7 98 ff       	call   0x40a330
a7abf0:	59                   	pop    %ecx
a7abf1:	50                   	push   %eax
a7abf2:	8d 45 b8             	lea    -0x48(%ebp),%eax
a7abf5:	50                   	push   %eax
a7abf6:	6a 28                	push   $0x28
a7abf8:	8d 4d a8             	lea    -0x58(%ebp),%ecx
a7abfb:	e8 08 8c 9a ff       	call   0x423808
a7ac00:	8b c8                	mov    %eax,%ecx
a7ac02:	e8 97 14 9a ff       	call   0x41c09e
a7ac07:	8b 45 b8             	mov    -0x48(%ebp),%eax
a7ac0a:	8d 4d b0             	lea    -0x50(%ebp),%ecx
a7ac0d:	89 45 b0             	mov    %eax,-0x50(%ebp)
a7ac10:	8b 45 bc             	mov    -0x44(%ebp),%eax
a7ac13:	6a 29                	push   $0x29
a7ac15:	89 45 b4             	mov    %eax,-0x4c(%ebp)
a7ac18:	e8 ca 4b 9c ff       	call   0x43f7e7
a7ac1d:	8d 45 b0             	lea    -0x50(%ebp),%eax
a7ac20:	50                   	push   %eax
a7ac21:	8d 4d d0             	lea    -0x30(%ebp),%ecx
a7ac24:	e8 cb fe 9a ff       	call   0x42aaf4
a7ac29:	8b 45 f8             	mov    -0x8(%ebp),%eax
a7ac2c:	85 c0                	test   %eax,%eax
a7ac2e:	74 1a                	je     0xa7ac4a
a7ac30:	8b c3                	mov    %ebx,%eax
a7ac32:	25 00 07 00 00       	and    $0x700,%eax
a7ac37:	3d 00 02 00 00       	cmp    $0x200,%eax
a7ac3c:	74 0c                	je     0xa7ac4a
a7ac3e:	8d 45 c0             	lea    -0x40(%ebp),%eax
a7ac41:	50                   	push   %eax
a7ac42:	8d 4d d0             	lea    -0x30(%ebp),%ecx
a7ac45:	e8 aa fe 9a ff       	call   0x42aaf4
a7ac4a:	a1 60 18 d8 00       	mov    0xd81860,%eax
a7ac4f:	c1 e8 13             	shr    $0x13,%eax
a7ac52:	f7 d0                	not    %eax
a7ac54:	a8 01                	test   $0x1,%al
a7ac56:	8d 45 a0             	lea    -0x60(%ebp),%eax
a7ac59:	50                   	push   %eax
a7ac5a:	74 11                	je     0xa7ac6d
a7ac5c:	e8 1b 72 9a ff       	call   0x421e7c
a7ac61:	59                   	pop    %ecx
a7ac62:	50                   	push   %eax
a7ac63:	8d 4d d0             	lea    -0x30(%ebp),%ecx
a7ac66:	e8 89 fe 9a ff       	call   0x42aaf4
a7ac6b:	eb 0f                	jmp    0xa7ac7c
a7ac6d:	e8 0a 72 9a ff       	call   0x421e7c
a7ac72:	59                   	pop    %ecx
a7ac73:	50                   	push   %eax
a7ac74:	8d 4d d0             	lea    -0x30(%ebp),%ecx
a7ac77:	e8 bc 18 9c ff       	call   0x43c538
a7ac7c:	a1 60 18 d8 00       	mov    0xd81860,%eax
a7ac81:	c1 e8 08             	shr    $0x8,%eax
a7ac84:	f7 d0                	not    %eax
a7ac86:	a8 01                	test   $0x1,%al
a7ac88:	8d 45 a0             	lea    -0x60(%ebp),%eax
a7ac8b:	50                   	push   %eax
a7ac8c:	74 11                	je     0xa7ac9f
a7ac8e:	e8 b5 28 9a ff       	call   0x41d548
a7ac93:	59                   	pop    %ecx
a7ac94:	50                   	push   %eax
a7ac95:	8d 4d d0             	lea    -0x30(%ebp),%ecx
a7ac98:	e8 57 fe 9a ff       	call   0x42aaf4
a7ac9d:	eb 0f                	jmp    0xa7acae
a7ac9f:	e8 a4 28 9a ff       	call   0x41d548
a7aca4:	59                   	pop    %ecx
a7aca5:	50                   	push   %eax
a7aca6:	8d 4d d0             	lea    -0x30(%ebp),%ecx
a7aca9:	e8 8a 18 9c ff       	call   0x43c538
a7acae:	8d 45 a0             	lea    -0x60(%ebp),%eax
a7acb1:	50                   	push   %eax
a7acb2:	e8 c7 a1 9a ff       	call   0x424e7e
a7acb7:	59                   	pop    %ecx
a7acb8:	50                   	push   %eax
a7acb9:	8d 4d d0             	lea    -0x30(%ebp),%ecx
a7acbc:	e8 77 18 9c ff       	call   0x43c538
a7acc1:	a1 60 18 d8 00       	mov    0xd81860,%eax
a7acc6:	c1 e8 02             	shr    $0x2,%eax
a7acc9:	f7 d0                	not    %eax
a7accb:	a8 01                	test   $0x1,%al
a7accd:	74 1a                	je     0xa7ace9
a7accf:	8b 4d f4             	mov    -0xc(%ebp),%ecx
a7acd2:	85 c9                	test   %ecx,%ecx
a7acd4:	74 13                	je     0xa7ace9
a7acd6:	8b 45 d0             	mov    -0x30(%ebp),%eax
a7acd9:	89 01                	mov    %eax,(%ecx)
a7acdb:	8b 45 d4             	mov    -0x2c(%ebp),%eax
a7acde:	89 41 04             	mov    %eax,0x4(%ecx)
a7ace1:	89 75 d0             	mov    %esi,-0x30(%ebp)
a7ace4:	e9 84 02 00 00       	jmp    0xa7af6d
a7ace9:	8b 45 d0             	mov    -0x30(%ebp),%eax
a7acec:	8b 7d d4             	mov    -0x2c(%ebp),%edi
a7acef:	89 45 fc             	mov    %eax,-0x4(%ebp)
a7acf2:	e9 79 02 00 00       	jmp    0xa7af70
a7acf7:	57                   	push   %edi
a7acf8:	8d 4d d0             	lea    -0x30(%ebp),%ecx
a7acfb:	e8 f4 fd 9a ff       	call   0x42aaf4
a7ad00:	b9 00 7c 00 00       	mov    $0x7c00,%ecx
a7ad05:	85 f6                	test   %esi,%esi
a7ad07:	75 7d                	jne    0xa7ad86