889a8b:	89 75 9c             	mov    %esi,-0x64(%ebp)
889a8e:	85 c0                	test   %eax,%eax
889a90:	75 10                	jne    0x889aa2
889a92:	83 f9 ff             	cmp    $0xffffffff,%ecx
889a95:	75 0b                	jne    0x889aa2
889a97:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
889a9d:	89 45 a0             	mov    %eax,-0x60(%ebp)
889aa0:	eb 03                	jmp    0x889aa5
889aa2:	89 75 a0             	mov    %esi,-0x60(%ebp)
889aa5:	8d 73 7c             	lea    0x7c(%ebx),%esi
889aa8:	8b 06                	mov    (%esi),%eax
889aaa:	89 45 88             	mov    %eax,-0x78(%ebp)
889aad:	8b 83 80 00 00 00    	mov    0x80(%ebx),%eax
889ab3:	56                   	push   %esi
889ab4:	89 45 8c             	mov    %eax,-0x74(%ebp)
889ab7:	ff 15 30 3e d8 00    	call   *0xd83e30
889abd:	85 c0                	test   %eax,%eax
889abf:	74 05                	je     0x889ac6
889ac1:	8b 43 54             	mov    0x54(%ebx),%eax
889ac4:	eb 05                	jmp    0x889acb
889ac6:	8b 46 08             	mov    0x8(%esi),%eax
889ac9:	2b 06                	sub    (%esi),%eax
889acb:	56                   	push   %esi
889acc:	89 45 ac             	mov    %eax,-0x54(%ebp)
889acf:	ff 15 30 3e d8 00    	call   *0xd83e30
889ad5:	85 c0                	test   %eax,%eax
889ad7:	74 05                	je     0x889ade
889ad9:	8b 43 58             	mov    0x58(%ebx),%eax
889adc:	eb 06                	jmp    0x889ae4
889ade:	8b 46 0c             	mov    0xc(%esi),%eax
889ae1:	2b 46 04             	sub    0x4(%esi),%eax
889ae4:	8b 75 98             	mov    -0x68(%ebp),%esi
889ae7:	33 d2                	xor    %edx,%edx
889ae9:	89 45 b0             	mov    %eax,-0x50(%ebp)
889aec:	39 53 20             	cmp    %edx,0x20(%ebx)
889aef:	75 09                	jne    0x889afa
889af1:	83 fe ff             	cmp    $0xffffffff,%esi
889af4:	0f 84 5f 02 00 00    	je     0x889d59
889afa:	8b 43 54             	mov    0x54(%ebx),%eax
889afd:	8b 4b 58             	mov    0x58(%ebx),%ecx
889b00:	89 55 e0             	mov    %edx,-0x20(%ebp)
889b03:	89 45 e8             	mov    %eax,-0x18(%ebp)
889b06:	89 55 e4             	mov    %edx,-0x1c(%ebp)
889b09:	89 4d ec             	mov    %ecx,-0x14(%ebp)
889b0c:	83 fe ff             	cmp    $0xffffffff,%esi
889b0f:	74 40                	je     0x889b51
889b11:	e8 20 e8 b8 ff       	call   0x418336
889b16:	3b 70 1c             	cmp    0x1c(%eax),%esi
889b19:	74 36                	je     0x889b51
889b1b:	56                   	push   %esi
889b1c:	8d 8d 50 ff ff ff    	lea    -0xb0(%ebp),%ecx
889b22:	e8 c3 ce b9 ff       	call   0x4269ea
889b27:	ff b5 54 ff ff ff    	push   -0xac(%ebp)
889b2d:	8d 45 e0             	lea    -0x20(%ebp),%eax
889b30:	50                   	push   %eax
889b31:	ff 77 04             	push   0x4(%edi)
889b34:	ff 15 c8 3d d8 00    	call   *0xd83dc8
889b3a:	8d 8d 50 ff ff ff    	lea    -0xb0(%ebp),%ecx
889b40:	c7 85 50 ff ff ff dc 	movl   $0xc3a7dc,-0xb0(%ebp)
889b47:	a7 c3 00
889b4a:	e8 e9 f2 ba ff       	call   0x438e38
889b4f:	eb 1d                	jmp    0x889b6e
889b51:	e8 e0 e7 b8 ff       	call   0x418336
889b56:	05 98 00 00 00       	add    $0x98,%eax
889b5b:	74 03                	je     0x889b60
889b5d:	8b 40 04             	mov    0x4(%eax),%eax
889b60:	50                   	push   %eax
889b61:	8d 45 e0             	lea    -0x20(%ebp),%eax
889b64:	50                   	push   %eax
889b65:	ff 77 04             	push   0x4(%edi)
889b68:	ff 15 c8 3d d8 00    	call   *0xd83dc8
889b6e:	8b 75 1c             	mov    0x1c(%ebp),%esi
889b71:	85 f6                	test   %esi,%esi
889b73:	74 20                	je     0x889b95
889b75:	e8 bc e7 b8 ff       	call   0x418336
889b7a:	83 b8 ac 01 00 00 10 	cmpl   $0x10,0x1ac(%eax)
889b81:	75 12                	jne    0x889b95
889b83:	ff 75 e4             	push   -0x1c(%ebp)
889b86:	ff 75 e0             	push   -0x20(%ebp)
889b89:	ff 77 04             	push   0x4(%edi)
889b8c:	ff 15 94 31 d8 00    	call   *0xd83194
889b92:	89 45 90             	mov    %eax,-0x70(%ebp)
889b95:	33 d2                	xor    %edx,%edx
889b97:	8b ca                	mov    %edx,%ecx
889b99:	89 8d 6c ff ff ff    	mov    %ecx,-0x94(%ebp)
889b9f:	85 f6                	test   %esi,%esi
889ba1:	74 14                	je     0x889bb7
889ba3:	83 7b 08 18          	cmpl   $0x18,0x8(%ebx)
889ba7:	7c 0e                	jl     0x889bb7
889ba9:	33 f6                	xor    %esi,%esi
889bab:	89 55 1c             	mov    %edx,0x1c(%ebp)
889bae:	46                   	inc    %esi
889baf:	8b ce                	mov    %esi,%ecx
889bb1:	89 b5 6c ff ff ff    	mov    %esi,-0x94(%ebp)
889bb7:	8b 75 24             	mov    0x24(%ebp),%esi
889bba:	85 f6                	test   %esi,%esi
889bbc:	74 0c                	je     0x889bca
889bbe:	8b 43 08             	mov    0x8(%ebx),%eax
889bc1:	83 e8 20             	sub    $0x20,%eax
889bc4:	f7 d8                	neg    %eax
889bc6:	1b c0                	sbb    %eax,%eax
889bc8:	23 f0                	and    %eax,%esi
889bca:	83 7d 94 00          	cmpl   $0x0,-0x6c(%ebp)
889bce:	0f 85 88 03 00 00    	jne    0x889f5c
889bd4:	83 7d 1c 00          	cmpl   $0x0,0x1c(%ebp)
889bd8:	0f 85 7e 03 00 00    	jne    0x889f5c
889bde:	85 f6                	test   %esi,%esi
889be0:	0f 85 7a 03 00 00    	jne    0x889f60
889be6:	6a 20                	push   $0x20
889be8:	58                   	pop    %eax
889be9:	39 43 08             	cmp    %eax,0x8(%ebx)
889bec:	74 0c                	je     0x889bfa
889bee:	39 35 b0 d1 d7 00    	cmp    %esi,0xd7d1b0
889bf4:	0f 84 5c 02 00 00    	je     0x889e56
889bfa:	8a 45 2c             	mov    0x2c(%ebp),%al
889bfd:	88 45 aa             	mov    %al,-0x56(%ebp)
889c00:	33 c0                	xor    %eax,%eax
889c02:	40                   	inc    %eax
889c03:	66 c7 45 a8 00 00    	movw   $0x0,-0x58(%ebp)
889c09:	88 45 ab             	mov    %al,-0x55(%ebp)
889c0c:	85 c9                	test   %ecx,%ecx
889c0e:	74 08                	je     0x889c18
889c10:	a0 5c e8 d5 00       	mov    0xd5e85c,%al
889c15:	88 45 aa             	mov    %al,-0x56(%ebp)
889c18:	83 7d 28 00          	cmpl   $0x0,0x28(%ebp)
889c1c:	74 0d                	je     0x889c2b
889c1e:	39 53 2c             	cmp    %edx,0x2c(%ebx)
889c21:	74 08                	je     0x889c2b
889c23:	a0 5d e8 d5 00       	mov    0xd5e85d,%al
889c28:	88 45 aa             	mov    %al,-0x56(%ebp)
889c2b:	8b 45 a4             	mov    -0x5c(%ebp),%eax
889c2e:	f7 d8                	neg    %eax
889c30:	6a 20                	push   $0x20
889c32:	1b c0                	sbb    %eax,%eax
889c34:	83 e0 10             	and    $0x10,%eax
889c37:	8b 74 18 54          	mov    0x54(%eax,%ebx,1),%esi
889c3b:	8b 44 18 58          	mov    0x58(%eax,%ebx,1),%eax
889c3f:	89 45 94             	mov    %eax,-0x6c(%ebp)
889c42:	58                   	pop    %eax
889c43:	89 b5 5c ff ff ff    	mov    %esi,-0xa4(%ebp)
889c49:	39 43 08             	cmp    %eax,0x8(%ebx)
889c4c:	0f 84 c6 01 00 00    	je     0x889e18
889c52:	8b 45 b0             	mov    -0x50(%ebp),%eax
889c55:	33 f6                	xor    %esi,%esi
889c57:	8b 4d ac             	mov    -0x54(%ebp),%ecx
889c5a:	46                   	inc    %esi
889c5b:	6a 20                	push   $0x20
889c5d:	66 89 75 c0          	mov    %si,-0x40(%ebp)
889c61:	5e                   	pop    %esi
889c62:	52                   	push   %edx
889c63:	66 89 75 c2          	mov    %si,-0x3e(%ebp)
889c67:	8b f0                	mov    %eax,%esi
889c69:	52                   	push   %edx
889c6a:	89 45 bc             	mov    %eax,-0x44(%ebp)
889c6d:	8d 45 a4             	lea    -0x5c(%ebp),%eax
889c70:	50                   	push   %eax
889c71:	0f af f1             	imul   %ecx,%esi
889c74:	8d 45 b4             	lea    -0x4c(%ebp),%eax
889c77:	52                   	push   %edx
889c78:	50                   	push   %eax
889c79:	52                   	push   %edx
889c7a:	c7 45 b4 28 00 00 00 	movl   $0x28,-0x4c(%ebp)
889c81:	89 4d b8             	mov    %ecx,-0x48(%ebp)
889c84:	89 55 c4             	mov    %edx,-0x3c(%ebp)
889c87:	89 75 c8             	mov    %esi,-0x38(%ebp)
889c8a:	89 55 cc             	mov    %edx,-0x34(%ebp)
889c8d:	89 55 d0             	mov    %edx,-0x30(%ebp)
889c90:	89 55 d4             	mov    %edx,-0x2c(%ebp)
889c93:	89 55 d8             	mov    %edx,-0x28(%ebp)
889c96:	89 55 a4             	mov    %edx,-0x5c(%ebp)
889c99:	ff 15 88 33 d8 00    	call   *0xd83388
889c9f:	85 c0                	test   %eax,%eax
889ca1:	0f 84 19 05 00 00    	je     0x88a1c0
889ca7:	83 a5 64 ff ff ff 00 	andl   $0x0,-0x9c(%ebp)
889cae:	c7 85 60 ff ff ff 0c 	movl   $0xbd4c0c,-0xa0(%ebp)
889cb5:	4c bd 00
889cb8:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
889cbc:	8d 8d 60 ff ff ff    	lea    -0xa0(%ebp),%ecx
889cc2:	50                   	push   %eax
889cc3:	e8 aa c8 b8 ff       	call   0x416572
889cc8:	8d 8d 40 ff ff ff    	lea    -0xc0(%ebp),%ecx
889cce:	e8 cf f8 b7 ff       	call   0x4095a2
889cd3:	33 c0                	xor    %eax,%eax
889cd5:	40                   	inc    %eax
889cd6:	6a 00                	push   $0x0
889cd8:	88 45 fc             	mov    %al,-0x4(%ebp)
889cdb:	ff 15 2c 32 d8 00    	call   *0xd8322c
889ce1:	50                   	push   %eax
889ce2:	8d 8d 40 ff ff ff    	lea    -0xc0(%ebp),%ecx
889ce8:	e8 7e 20 b8 ff       	call   0x40bd6b
889ced:	ff b5 64 ff ff ff    	push   -0x9c(%ebp)
889cf3:	ff b5 44 ff ff ff    	push   -0xbc(%ebp)
889cf9:	e8 8b 74 b9 ff       	call   0x421189
889cfe:	8b 4b 54             	mov    0x54(%ebx),%ecx
889d01:	0f af 4d 14          	imul   0x14(%ebp),%ecx
889d05:	68 20 00 cc 00       	push   $0xcc0020
889d0a:	ff 75 8c             	push   -0x74(%ebp)
889d0d:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
889d13:	03 4d 88             	add    -0x78(%ebp),%ecx
889d16:	51                   	push   %ecx
889d17:	ff 35 d8 d1 d7 00    	push   0xd7d1d8
889d1d:	ff 75 b0             	push   -0x50(%ebp)
889d20:	ff 75 ac             	push   -0x54(%ebp)
889d23:	6a 00                	push   $0x0
889d25:	6a 00                	push   $0x0
889d27:	ff b5 44 ff ff ff    	push   -0xbc(%ebp)
889d2d:	ff 15 bc 31 d8 00    	call   *0xd831bc
889d33:	83 bb a8 00 00 00 ff 	cmpl   $0xffffffff,0xa8(%ebx)
889d3a:	75 25                	jne    0x889d61
889d3c:	85 f6                	test   %esi,%esi
889d3e:	7e 68                	jle    0x889da8
889d40:	8b 45 a4             	mov    -0x5c(%ebp),%eax
889d43:	81 08 00 00 00 ff    	orl    $0xff000000,(%eax)
889d49:	8b 45 a4             	mov    -0x5c(%ebp),%eax
889d4c:	83 c0 04             	add    $0x4,%eax
889d4f:	89 45 a4             	mov    %eax,-0x5c(%ebp)
889d52:	83 ee 01             	sub    $0x1,%esi
889d55:	75 ec                	jne    0x889d43
889d57:	eb 4f                	jmp    0x889da8
889d59:	8b 75 1c             	mov    0x1c(%ebp),%esi
889d5c:	e9 36 fe ff ff       	jmp    0x889b97
889d61:	0f b6 8b a8 00 00 00 	movzbl 0xa8(%ebx),%ecx
889d68:	0f b6 83 a9 00 00 00 	movzbl 0xa9(%ebx),%eax
889d6f:	c1 e1 08             	shl    $0x8,%ecx
889d72:	0b c8                	or     %eax,%ecx
889d74:	0f b6 83 aa 00 00 00 	movzbl 0xaa(%ebx),%eax
889d7b:	c1 e1 08             	shl    $0x8,%ecx
889d7e:	0b c8                	or     %eax,%ecx
889d80:	85 f6                	test   %esi,%esi
889d82:	7e 24                	jle    0x889da8
889d84:	8b 45 a4             	mov    -0x5c(%ebp),%eax
889d87:	8b 10                	mov    (%eax),%edx
889d89:	3b d1                	cmp    %ecx,%edx
889d8b:	74 0a                	je     0x889d97
889d8d:	81 ca 00 00 00 ff    	or     $0xff000000,%edx
889d93:	89 10                	mov    %edx,(%eax)
889d95:	eb 03                	jmp    0x889d9a
889d97:	83 20 00             	andl   $0x0,(%eax)
889d9a:	8b 45 a4             	mov    -0x5c(%ebp),%eax
889d9d:	83 c0 04             	add    $0x4,%eax
889da0:	89 45 a4             	mov    %eax,-0x5c(%ebp)
889da3:	83 ee 01             	sub    $0x1,%esi
889da6:	75 df                	jne    0x889d87
889da8:	ff 75 a8             	push   -0x58(%ebp)
889dab:	ff 75 b0             	push   -0x50(%ebp)
889dae:	ff 75 ac             	push   -0x54(%ebp)
889db1:	6a 00                	push   $0x0
889db3:	6a 00                	push   $0x0
889db5:	ff b5 44 ff ff ff    	push   -0xbc(%ebp)
889dbb:	ff 75 94             	push   -0x6c(%ebp)
889dbe:	ff b5 5c ff ff ff    	push   -0xa4(%ebp)
889dc4:	ff 75 a0             	push   -0x60(%ebp)
889dc7:	ff 75 9c             	push   -0x64(%ebp)
889dca:	ff 77 04             	push   0x4(%edi)
889dcd:	ff 15 f0 39 d8 00    	call   *0xd839f0
889dd3:	8b f0                	mov    %eax,%esi
889dd5:	8b 85 74 ff ff ff    	mov    -0x8c(%ebp),%eax
889ddb:	85 c0                	test   %eax,%eax
889ddd:	75 04                	jne    0x889de3
889ddf:	33 c9                	xor    %ecx,%ecx
889de1:	eb 03                	jmp    0x889de6
889de3:	8b 48 04             	mov    0x4(%eax),%ecx
889de6:	51                   	push   %ecx
889de7:	ff b5 44 ff ff ff    	push   -0xbc(%ebp)
889ded:	e8 97 73 b9 ff       	call   0x421189
889df2:	8d 8d 40 ff ff ff    	lea    -0xc0(%ebp),%ecx
889df8:	e8 5e cf b8 ff       	call   0x416d5b
889dfd:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
889e01:	8d 8d 60 ff ff ff    	lea    -0xa0(%ebp),%ecx
889e07:	c7 85 60 ff ff ff 0c 	movl   $0xbd4c0c,-0xa0(%ebp)
889e0e:	4c bd 00
889e11:	e8 22 f0 ba ff       	call   0x438e38
889e16:	eb 36                	jmp    0x889e4e
889e18:	ff 75 a8             	push   -0x58(%ebp)
889e1b:	8b 43 54             	mov    0x54(%ebx),%eax
889e1e:	ff 75 b0             	push   -0x50(%ebp)
889e21:	0f af 45 14          	imul   0x14(%ebp),%eax
889e25:	ff 75 ac             	push   -0x54(%ebp)
889e28:	ff 75 8c             	push   -0x74(%ebp)
889e2b:	03 45 88             	add    -0x78(%ebp),%eax
889e2e:	50                   	push   %eax
889e2f:	ff 35 d8 d1 d7 00    	push   0xd7d1d8
889e35:	e8 b7 e1 ba ff       	call   0x437ff1
889e3a:	50                   	push   %eax
889e3b:	ff 75 94             	push   -0x6c(%ebp)
889e3e:	8b cf                	mov    %edi,%ecx
889e40:	56                   	push   %esi
889e41:	ff 75 a0             	push   -0x60(%ebp)
889e44:	ff 75 9c             	push   -0x64(%ebp)
889e47:	e8 41 c9 b9 ff       	call   0x42678d
889e4c:	8b f0                	mov    %eax,%esi
889e4e:	85 f6                	test   %esi,%esi
889e50:	0f 85 d4 00 00 00    	jne    0x889f2a
889e56:	8b 43 54             	mov    0x54(%ebx),%eax
889e59:	0f af 45 14          	imul   0x14(%ebp),%eax
889e5d:	8b 75 b0             	mov    -0x50(%ebp),%esi
889e60:	68 20 00 cc 00       	push   $0xcc0020
889e65:	ff 75 8c             	push   -0x74(%ebp)
889e68:	03 45 88             	add    -0x78(%ebp),%eax
889e6b:	50                   	push   %eax
889e6c:	ff 35 d8 d1 d7 00    	push   0xd7d1d8
889e72:	56                   	push   %esi
889e73:	ff 75 ac             	push   -0x54(%ebp)
889e76:	ff 75 a0             	push   -0x60(%ebp)
889e79:	ff 75 9c             	push   -0x64(%ebp)
889e7c:	ff 77 04             	push   0x4(%edi)
889e7f:	ff 15 bc 31 d8 00    	call   *0xd831bc
889e85:	83 bd 6c ff ff ff 00 	cmpl   $0x0,-0x94(%ebp)
889e8c:	0f 84 9b 00 00 00    	je     0x889f2d
889e92:	57                   	push   %edi
889e93:	8d 8d 70 ff ff ff    	lea    -0x90(%ebp),%ecx
889e99:	e8 22 6a b8 ff       	call   0x4108c0
889e9e:	83 7d 90 ff          	cmpl   $0xffffffff,-0x70(%ebp)
889ea2:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
889ea9:	75 0b                	jne    0x889eb6
889eab:	e8 86 e4 b8 ff       	call   0x418336
889eb0:	8b 40 1c             	mov    0x1c(%eax),%eax
889eb3:	89 45 90             	mov    %eax,-0x70(%ebp)
889eb6:	e8 92 8c b8 ff       	call   0x412b4d
889ebb:	8b 55 a0             	mov    -0x60(%ebp),%edx
889ebe:	8b f8                	mov    %eax,%edi
889ec0:	8b 45 ac             	mov    -0x54(%ebp),%eax
889ec3:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
889ec6:	83 c0 02             	add    $0x2,%eax
889ec9:	89 8d 30 ff ff ff    	mov    %ecx,-0xd0(%ebp)
889ecf:	03 c8                	add    %eax,%ecx
889ed1:	89 8d 38 ff ff ff    	mov    %ecx,-0xc8(%ebp)
889ed7:	8d 4a 02             	lea    0x2(%edx),%ecx
889eda:	03 ce                	add    %esi,%ecx
889edc:	89 95 34 ff ff ff    	mov    %edx,-0xcc(%ebp)
889ee2:	89 8d 3c ff ff ff    	mov    %ecx,-0xc4(%ebp)
889ee8:	8b 0f                	mov    (%edi),%ecx
889eea:	8b b1 b8 00 00 00    	mov    0xb8(%ecx),%esi
889ef0:	8b ce                	mov    %esi,%ecx
889ef2:	e8 6e 27 ba ff       	call   0x42c665
889ef7:	8b cf                	mov    %edi,%ecx
889ef9:	ff d6                	call   *%esi
889efb:	50                   	push   %eax
889efc:	ff 75 90             	push   -0x70(%ebp)
889eff:	8d b5 30 ff ff ff    	lea    -0xd0(%ebp),%esi
889f05:	6a ff                	push   $0xffffffff
889f07:	83 ec 10             	sub    $0x10,%esp
889f0a:	8d 8d 70 ff ff ff    	lea    -0x90(%ebp),%ecx
889f10:	8b fc                	mov    %esp,%edi
889f12:	a5                   	movsl  %ds:(%esi),%es:(%edi)
889f13:	a5                   	movsl  %ds:(%esi),%es:(%edi)
889f14:	a5                   	movsl  %ds:(%esi),%es:(%edi)
889f15:	a5                   	movsl  %ds:(%esi),%es:(%edi)
889f16:	e8 07 d8 ba ff       	call   0x437722
889f1b:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)