42591d:	eb 53                	jmp    0x425972
42591f:	85 f6                	test   %esi,%esi
425921:	78 37                	js     0x42595a
425923:	3b 35 c0 9f 83 02    	cmp    0x2839fc0,%esi
425929:	73 2f                	jae    0x42595a
42592b:	8b c6                	mov    %esi,%eax
42592d:	8b d6                	mov    %esi,%edx
42592f:	83 e0 3f             	and    $0x3f,%eax
425932:	c1 fa 06             	sar    $0x6,%edx
425935:	6b c8 30             	imul   $0x30,%eax,%ecx
425938:	8b 04 95 c0 9d 83 02 	mov    0x2839dc0(,%edx,4),%eax
42593f:	f6 44 08 28 01       	testb  $0x1,0x28(%eax,%ecx,1)
425944:	74 14                	je     0x42595a
425946:	8d 45 08             	lea    0x8(%ebp),%eax
425949:	89 45 fc             	mov    %eax,-0x4(%ebp)
42594c:	8d 45 fc             	lea    -0x4(%ebp),%eax
42594f:	50                   	push   %eax
425950:	56                   	push   %esi
425951:	e8 7d ff ff ff       	call   0x4258d3
425956:	59                   	pop    %ecx
425957:	59                   	pop    %ecx
425958:	eb 1b                	jmp    0x425975
42595a:	e8 f9 f0 fe ff       	call   0x414a58
42595f:	83 20 00             	andl   $0x0,(%eax)
425962:	e8 04 f1 fe ff       	call   0x414a6b
425967:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
42596d:	e8 70 63 fe ff       	call   0x40bce2
425972:	83 c8 ff             	or     $0xffffffff,%eax
425975:	5e                   	pop    %esi
425976:	8b e5                	mov    %ebp,%esp
425978:	5d                   	pop    %ebp
425979:	c3                   	ret
42597a:	8b ff                	mov    %edi,%edi
42597c:	55                   	push   %ebp
42597d:	8b ec                	mov    %esp,%ebp
42597f:	56                   	push   %esi
425980:	57                   	push   %edi
425981:	8b 7d 08             	mov    0x8(%ebp),%edi
425984:	57                   	push   %edi
425985:	e8 bc a1 ff ff       	call   0x41fb46
42598a:	59                   	pop    %ecx
42598b:	83 f8 ff             	cmp    $0xffffffff,%eax
42598e:	75 04                	jne    0x425994
425990:	33 f6                	xor    %esi,%esi
425992:	eb 4e                	jmp    0x4259e2
425994:	a1 c0 9d 83 02       	mov    0x2839dc0,%eax
425999:	83 ff 01             	cmp    $0x1,%edi
42599c:	75 09                	jne    0x4259a7
42599e:	f6 80 88 00 00 00 01 	testb  $0x1,0x88(%eax)
4259a5:	75 0b                	jne    0x4259b2
4259a7:	83 ff 02             	cmp    $0x2,%edi
4259aa:	75 1c                	jne    0x4259c8
4259ac:	f6 40 58 01          	testb  $0x1,0x58(%eax)
4259b0:	74 16                	je     0x4259c8
4259b2:	6a 02                	push   $0x2
4259b4:	e8 8d a1 ff ff       	call   0x41fb46
4259b9:	6a 01                	push   $0x1
4259bb:	8b f0                	mov    %eax,%esi
4259bd:	e8 84 a1 ff ff       	call   0x41fb46
4259c2:	59                   	pop    %ecx
4259c3:	59                   	pop    %ecx
4259c4:	3b c6                	cmp    %esi,%eax
4259c6:	74 c8                	je     0x425990
4259c8:	57                   	push   %edi
4259c9:	e8 78 a1 ff ff       	call   0x41fb46
4259ce:	59                   	pop    %ecx
4259cf:	50                   	push   %eax
4259d0:	ff 15 80 71 42 00    	call   *0x427180
4259d6:	85 c0                	test   %eax,%eax
4259d8:	75 b6                	jne    0x425990
4259da:	ff 15 c4 71 42 00    	call   *0x4271c4
4259e0:	8b f0                	mov    %eax,%esi
4259e2:	57                   	push   %edi
4259e3:	e8 cd a0 ff ff       	call   0x41fab5
4259e8:	59                   	pop    %ecx
4259e9:	8b cf                	mov    %edi,%ecx
4259eb:	83 e7 3f             	and    $0x3f,%edi
4259ee:	c1 f9 06             	sar    $0x6,%ecx
4259f1:	6b d7 30             	imul   $0x30,%edi,%edx
4259f4:	8b 0c 8d c0 9d 83 02 	mov    0x2839dc0(,%ecx,4),%ecx
4259fb:	c6 44 11 28 00       	movb   $0x0,0x28(%ecx,%edx,1)
425a00:	85 f6                	test   %esi,%esi
425a02:	74 0c                	je     0x425a10
425a04:	56                   	push   %esi
425a05:	e8 2b f0 fe ff       	call   0x414a35
425a0a:	59                   	pop    %ecx
425a0b:	83 c8 ff             	or     $0xffffffff,%eax
425a0e:	eb 02                	jmp    0x425a12
425a10:	33 c0                	xor    %eax,%eax
425a12:	5f                   	pop    %edi
425a13:	5e                   	pop    %esi
425a14:	5d                   	pop    %ebp
425a15:	c3                   	ret
425a16:	8b ff                	mov    %edi,%edi
425a18:	55                   	push   %ebp
425a19:	8b ec                	mov    %esp,%ebp
425a1b:	8b 45 08             	mov    0x8(%ebp),%eax
425a1e:	33 c9                	xor    %ecx,%ecx
425a20:	89 08                	mov    %ecx,(%eax)
425a22:	8b 45 08             	mov    0x8(%ebp),%eax
425a25:	89 48 04             	mov    %ecx,0x4(%eax)
425a28:	8b 45 08             	mov    0x8(%ebp),%eax
425a2b:	89 48 08             	mov    %ecx,0x8(%eax)
425a2e:	8b 45 08             	mov    0x8(%ebp),%eax
425a31:	83 48 10 ff          	orl    $0xffffffff,0x10(%eax)
425a35:	8b 45 08             	mov    0x8(%ebp),%eax
425a38:	89 48 14             	mov    %ecx,0x14(%eax)
425a3b:	8b 45 08             	mov    0x8(%ebp),%eax
425a3e:	89 48 18             	mov    %ecx,0x18(%eax)
425a41:	8b 45 08             	mov    0x8(%ebp),%eax
425a44:	89 48 1c             	mov    %ecx,0x1c(%eax)
425a47:	8b 45 08             	mov    0x8(%ebp),%eax
425a4a:	83 c0 0c             	add    $0xc,%eax
425a4d:	87 08                	xchg   %ecx,(%eax)
425a4f:	5d                   	pop    %ebp
425a50:	c3                   	ret
425a51:	6a 1c                	push   $0x1c
425a53:	68 90 83 43 00       	push   $0x438390
425a58:	e8 c3 1b fe ff       	call   0x407620
425a5d:	8b 7d 08             	mov    0x8(%ebp),%edi
425a60:	83 ff fe             	cmp    $0xfffffffe,%edi
425a63:	75 18                	jne    0x425a7d
425a65:	e8 ee ef fe ff       	call   0x414a58
425a6a:	83 20 00             	andl   $0x0,(%eax)
425a6d:	e8 f9 ef fe ff       	call   0x414a6b
425a72:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
425a78:	e9 cc 00 00 00       	jmp    0x425b49
425a7d:	85 ff                	test   %edi,%edi
425a7f:	0f 88 ac 00 00 00    	js     0x425b31
425a85:	3b 3d c0 9f 83 02    	cmp    0x2839fc0,%edi
425a8b:	0f 83 a0 00 00 00    	jae    0x425b31
425a91:	8b cf                	mov    %edi,%ecx
425a93:	c1 f9 06             	sar    $0x6,%ecx
425a96:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
425a99:	8b c7                	mov    %edi,%eax
425a9b:	83 e0 3f             	and    $0x3f,%eax
425a9e:	6b d0 30             	imul   $0x30,%eax,%edx
425aa1:	89 55 e0             	mov    %edx,-0x20(%ebp)
425aa4:	8b 04 8d c0 9d 83 02 	mov    0x2839dc0(,%ecx,4),%eax
425aab:	0f b6 44 10 28       	movzbl 0x28(%eax,%edx,1),%eax
425ab0:	83 e0 01             	and    $0x1,%eax
425ab3:	74 7c                	je     0x425b31
425ab5:	57                   	push   %edi
425ab6:	e8 b4 9f ff ff       	call   0x41fa6f
425abb:	59                   	pop    %ecx
425abc:	83 ce ff             	or     $0xffffffff,%esi
425abf:	89 75 d4             	mov    %esi,-0x2c(%ebp)
425ac2:	8b de                	mov    %esi,%ebx
425ac4:	89 5d d8             	mov    %ebx,-0x28(%ebp)
425ac7:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
425acb:	8b 45 e4             	mov    -0x1c(%ebp),%eax
425ace:	8b 04 85 c0 9d 83 02 	mov    0x2839dc0(,%eax,4),%eax
425ad5:	8b 4d e0             	mov    -0x20(%ebp),%ecx
425ad8:	f6 44 08 28 01       	testb  $0x1,0x28(%eax,%ecx,1)
425add:	75 15                	jne    0x425af4
425adf:	e8 87 ef fe ff       	call   0x414a6b
425ae4:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
425aea:	e8 69 ef fe ff       	call   0x414a58
425aef:	83 20 00             	andl   $0x0,(%eax)
425af2:	eb 1c                	jmp    0x425b10
425af4:	ff 75 14             	push   0x14(%ebp)
425af7:	ff 75 10             	push   0x10(%ebp)
425afa:	ff 75 0c             	push   0xc(%ebp)
425afd:	57                   	push   %edi
425afe:	e8 53 00 00 00       	call   0x425b56
425b03:	83 c4 10             	add    $0x10,%esp
425b06:	8b f0                	mov    %eax,%esi
425b08:	89 75 d4             	mov    %esi,-0x2c(%ebp)
425b0b:	8b da                	mov    %edx,%ebx
425b0d:	89 5d d8             	mov    %ebx,-0x28(%ebp)
425b10:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
425b17:	e8 0d 00 00 00       	call   0x425b29
425b1c:	8b d3                	mov    %ebx,%edx
425b1e:	eb 2e                	jmp    0x425b4e
425b20:	8b 7d 08             	mov    0x8(%ebp),%edi
425b23:	8b 5d d8             	mov    -0x28(%ebp),%ebx
425b26:	8b 75 d4             	mov    -0x2c(%ebp),%esi
425b29:	57                   	push   %edi
425b2a:	e8 63 9f ff ff       	call   0x41fa92
425b2f:	59                   	pop    %ecx
425b30:	c3                   	ret
425b31:	e8 22 ef fe ff       	call   0x414a58
425b36:	83 20 00             	andl   $0x0,(%eax)
425b39:	e8 2d ef fe ff       	call   0x414a6b
425b3e:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
425b44:	e8 99 61 fe ff       	call   0x40bce2
425b49:	83 ce ff             	or     $0xffffffff,%esi
425b4c:	8b d6                	mov    %esi,%edx
425b4e:	8b c6                	mov    %esi,%eax
425b50:	e8 11 1b fe ff       	call   0x407666
425b55:	c3                   	ret
425b56:	8b ff                	mov    %edi,%edi
425b58:	55                   	push   %ebp
425b59:	8b ec                	mov    %esp,%ebp
425b5b:	51                   	push   %ecx
425b5c:	51                   	push   %ecx
425b5d:	56                   	push   %esi
425b5e:	8b 75 08             	mov    0x8(%ebp),%esi
425b61:	57                   	push   %edi
425b62:	56                   	push   %esi
425b63:	e8 de 9f ff ff       	call   0x41fb46
425b68:	83 cf ff             	or     $0xffffffff,%edi
425b6b:	59                   	pop    %ecx
425b6c:	3b c7                	cmp    %edi,%eax
425b6e:	75 11                	jne    0x425b81
425b70:	e8 f6 ee fe ff       	call   0x414a6b
425b75:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
425b7b:	8b c7                	mov    %edi,%eax
425b7d:	8b d7                	mov    %edi,%edx
425b7f:	eb 4d                	jmp    0x425bce
425b81:	ff 75 14             	push   0x14(%ebp)
425b84:	8d 4d f8             	lea    -0x8(%ebp),%ecx
425b87:	51                   	push   %ecx
425b88:	ff 75 10             	push   0x10(%ebp)
425b8b:	ff 75 0c             	push   0xc(%ebp)
425b8e:	50                   	push   %eax
425b8f:	ff 15 d4 70 42 00    	call   *0x4270d4
425b95:	85 c0                	test   %eax,%eax
425b97:	75 0f                	jne    0x425ba8
425b99:	ff 15 c4 71 42 00    	call   *0x4271c4
425b9f:	50                   	push   %eax
425ba0:	e8 90 ee fe ff       	call   0x414a35
425ba5:	59                   	pop    %ecx
425ba6:	eb d3                	jmp    0x425b7b
425ba8:	8b 45 f8             	mov    -0x8(%ebp),%eax
425bab:	8b 55 fc             	mov    -0x4(%ebp),%edx
425bae:	23 c2                	and    %edx,%eax
425bb0:	3b c7                	cmp    %edi,%eax
425bb2:	74 c7                	je     0x425b7b
425bb4:	8b 45 f8             	mov    -0x8(%ebp),%eax
425bb7:	8b ce                	mov    %esi,%ecx
425bb9:	83 e6 3f             	and    $0x3f,%esi
425bbc:	c1 f9 06             	sar    $0x6,%ecx
425bbf:	6b f6 30             	imul   $0x30,%esi,%esi
425bc2:	8b 0c 8d c0 9d 83 02 	mov    0x2839dc0(,%ecx,4),%ecx
425bc9:	80 64 31 28 fd       	andb   $0xfd,0x28(%ecx,%esi,1)
425bce:	5f                   	pop    %edi
425bcf:	5e                   	pop    %esi
425bd0:	8b e5                	mov    %ebp,%esp
425bd2:	5d                   	pop    %ebp
425bd3:	c3                   	ret
425bd4:	8b ff                	mov    %edi,%edi
425bd6:	55                   	push   %ebp
425bd7:	8b ec                	mov    %esp,%ebp
425bd9:	ff 75 14             	push   0x14(%ebp)
425bdc:	ff 75 10             	push   0x10(%ebp)
425bdf:	ff 75 0c             	push   0xc(%ebp)
425be2:	ff 75 08             	push   0x8(%ebp)
425be5:	e8 67 fe ff ff       	call   0x425a51
425bea:	83 c4 10             	add    $0x10,%esp
425bed:	5d                   	pop    %ebp
425bee:	c3                   	ret
425bef:	8b ff                	mov    %edi,%edi
425bf1:	55                   	push   %ebp
425bf2:	8b ec                	mov    %esp,%ebp
425bf4:	ff 75 14             	push   0x14(%ebp)
425bf7:	ff 75 10             	push   0x10(%ebp)
425bfa:	ff 75 0c             	push   0xc(%ebp)
425bfd:	ff 75 08             	push   0x8(%ebp)
425c00:	e8 51 ff ff ff       	call   0x425b56
425c05:	83 c4 10             	add    $0x10,%esp
425c08:	5d                   	pop    %ebp
425c09:	c3                   	ret
425c0a:	8b ff                	mov    %edi,%edi
425c0c:	55                   	push   %ebp
425c0d:	8b ec                	mov    %esp,%ebp
425c0f:	51                   	push   %ecx
425c10:	a1 70 c2 43 00       	mov    0x43c270,%eax
425c15:	83 f8 fe             	cmp    $0xfffffffe,%eax
425c18:	75 0a                	jne    0x425c24
425c1a:	e8 7f 02 00 00       	call   0x425e9e
425c1f:	a1 70 c2 43 00       	mov    0x43c270,%eax
425c24:	83 f8 ff             	cmp    $0xffffffff,%eax
425c27:	75 07                	jne    0x425c30
425c29:	b8 ff ff 00 00       	mov    $0xffff,%eax
425c2e:	eb 1b                	jmp    0x425c4b
425c30:	6a 00                	push   $0x0
425c32:	8d 4d fc             	lea    -0x4(%ebp),%ecx
425c35:	51                   	push   %ecx
425c36:	6a 01                	push   $0x1
425c38:	8d 4d 08             	lea    0x8(%ebp),%ecx
425c3b:	51                   	push   %ecx
425c3c:	50                   	push   %eax
425c3d:	ff 15 d0 70 42 00    	call   *0x4270d0
425c43:	85 c0                	test   %eax,%eax
425c45:	74 e2                	je     0x425c29
425c47:	66 8b 45 08          	mov    0x8(%ebp),%ax
425c4b:	8b e5                	mov    %ebp,%esp
425c4d:	5d                   	pop    %ebp
425c4e:	c3                   	ret
425c4f:	8b ff                	mov    %edi,%edi
425c51:	55                   	push   %ebp
425c52:	8b ec                	mov    %esp,%ebp
425c54:	56                   	push   %esi
425c55:	e8 e5 ee ff ff       	call   0x424b3f
425c5a:	8b 75 08             	mov    0x8(%ebp),%esi
425c5d:	89 06                	mov    %eax,(%esi)
425c5f:	e8 1e ef ff ff       	call   0x424b82
425c64:	89 46 04             	mov    %eax,0x4(%esi)
425c67:	33 c0                	xor    %eax,%eax
425c69:	5e                   	pop    %esi
425c6a:	5d                   	pop    %ebp
425c6b:	c3                   	ret
425c6c:	8b ff                	mov    %edi,%edi
425c6e:	55                   	push   %ebp
425c6f:	8b ec                	mov    %esp,%ebp
425c71:	51                   	push   %ecx
425c72:	51                   	push   %ecx
425c73:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
425c77:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
425c7b:	56                   	push   %esi
425c7c:	8b 75 08             	mov    0x8(%ebp),%esi
425c7f:	ff 36                	push   (%esi)
425c81:	e8 a4 ef ff ff       	call   0x424c2a
425c86:	ff 76 04             	push   0x4(%esi)
425c89:	e8 1c f0 ff ff       	call   0x424caa
425c8e:	8d 45 f8             	lea    -0x8(%ebp),%eax
425c91:	50                   	push   %eax
425c92:	e8 b8 ff ff ff       	call   0x425c4f
425c97:	8b 06                	mov    (%esi),%eax
425c99:	83 c4 0c             	add    $0xc,%esp
425c9c:	3b 45 f8             	cmp    -0x8(%ebp),%eax
425c9f:	75 0c                	jne    0x425cad
425ca1:	8b 46 04             	mov    0x4(%esi),%eax
425ca4:	3b 45 fc             	cmp    -0x4(%ebp),%eax
425ca7:	75 04                	jne    0x425cad
425ca9:	33 c0                	xor    %eax,%eax
425cab:	eb 03                	jmp    0x425cb0
425cad:	33 c0                	xor    %eax,%eax
425caf:	40                   	inc    %eax
425cb0:	5e                   	pop    %esi
425cb1:	8b e5                	mov    %ebp,%esp
425cb3:	5d                   	pop    %ebp
425cb4:	c3                   	ret
425cb5:	8b ff                	mov    %edi,%edi
425cb7:	55                   	push   %ebp
425cb8:	8b ec                	mov    %esp,%ebp
425cba:	51                   	push   %ecx
425cbb:	51                   	push   %ecx
425cbc:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
425cc0:	8d 45 f8             	lea    -0x8(%ebp),%eax
425cc3:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
425cc7:	50                   	push   %eax
425cc8:	e8 82 ff ff ff       	call   0x425c4f
425ccd:	59                   	pop    %ecx
425cce:	85 c0                	test   %eax,%eax
425cd0:	74 05                	je     0x425cd7
425cd2:	33 c0                	xor    %eax,%eax
425cd4:	40                   	inc    %eax
425cd5:	eb 29                	jmp    0x425d00