46c926:	ff 15 bc d5 48 00    	call   *0x48d5bc
46c92c:	85 c0                	test   %eax,%eax
46c92e:	74 18                	je     0x46c948
46c930:	f7 44 24 38 00 10 00 	testl  $0x1000,0x38(%esp)
46c937:	00
46c938:	74 0e                	je     0x46c948
46c93a:	56                   	push   %esi
46c93b:	83 c9 ff             	or     $0xffffffff,%ecx
46c93e:	51                   	push   %ecx
46c93f:	ff 77 0c             	push   0xc(%edi)
46c942:	ff 15 94 d5 48 00    	call   *0x48d594
46c948:	8b 44 24 20          	mov    0x20(%esp),%eax
46c94c:	ff 30                	push   (%eax)
46c94e:	ff 15 3c d5 48 00    	call   *0x48d53c
46c954:	e9 96 01 00 00       	jmp    0x46caef
46c959:	f6 c3 10             	test   $0x10,%bl
46c95c:	0f 84 91 02 00 00    	je     0x46cbf3
46c962:	8b 54 24 20          	mov    0x20(%esp),%edx
46c966:	0f b6 8f 93 00 00 00 	movzbl 0x93(%edi),%ecx
46c96d:	80 ba 98 01 00 00 00 	cmpb   $0x0,0x198(%edx)
46c974:	74 0c                	je     0x46c982
46c976:	8b 82 94 01 00 00    	mov    0x194(%edx),%eax
46c97c:	89 82 90 01 00 00    	mov    %eax,0x190(%edx)
46c982:	51                   	push   %ecx
46c983:	52                   	push   %edx
46c984:	b9 28 16 4c 00       	mov    $0x4c1628,%ecx
46c989:	e8 09 1a 00 00       	call   0x46e397
46c98e:	0f b6 87 93 00 00 00 	movzbl 0x93(%edi),%eax
46c995:	8b 4c 24 20          	mov    0x20(%esp),%ecx
46c999:	89 81 94 01 00 00    	mov    %eax,0x194(%ecx)
46c99f:	e9 4b 01 00 00       	jmp    0x46caef
46c9a4:	8b c3                	mov    %ebx,%eax
46c9a6:	83 e0 07             	and    $0x7,%eax
46c9a9:	2b c6                	sub    %esi,%eax
46c9ab:	74 1d                	je     0x46c9ca
46c9ad:	48                   	dec    %eax
46c9ae:	74 0c                	je     0x46c9bc
46c9b0:	56                   	push   %esi
46c9b1:	56                   	push   %esi
46c9b2:	68 67 04 00 00       	push   $0x467
46c9b7:	e9 55 01 00 00       	jmp    0x46cb11
46c9bc:	68 00 00 ff ff       	push   $0xffff0000
46c9c1:	6a ff                	push   $0xffffffff
46c9c3:	68 65 04 00 00       	push   $0x465
46c9c8:	eb 07                	jmp    0x46c9d1
46c9ca:	56                   	push   %esi
46c9cb:	56                   	push   %esi
46c9cc:	68 66 04 00 00       	push   $0x466
46c9d1:	ff 74 24 28          	push   0x28(%esp)
46c9d5:	ff 15 70 d6 48 00    	call   *0x48d670
46c9db:	85 c0                	test   %eax,%eax
46c9dd:	0f 84 10 02 00 00    	je     0x46cbf3
46c9e3:	e9 07 01 00 00       	jmp    0x46caef
46c9e8:	8b 44 24 10          	mov    0x10(%esp),%eax
46c9ec:	8b 7f 34             	mov    0x34(%edi),%edi
46c9ef:	89 44 24 34          	mov    %eax,0x34(%esp)
46c9f3:	8d 44 24 2c          	lea    0x2c(%esp),%eax
46c9f7:	50                   	push   %eax
46c9f8:	6a ff                	push   $0xffffffff
46c9fa:	68 53 10 00 00       	push   $0x1053
46c9ff:	57                   	push   %edi
46ca00:	c7 44 24 3c 01 00 00 	movl   $0x1,0x3c(%esp)
46ca07:	00
46ca08:	ff 15 70 d6 48 00    	call   *0x48d670
46ca0e:	83 c9 ff             	or     $0xffffffff,%ecx
46ca11:	89 44 24 24          	mov    %eax,0x24(%esp)
46ca15:	3b c1                	cmp    %ecx,%eax
46ca17:	0f 84 f6 fc ff ff    	je     0x46c713
46ca1d:	6a ec                	push   $0xffffffec
46ca1f:	57                   	push   %edi
46ca20:	89 44 24 68          	mov    %eax,0x68(%esp)
46ca24:	89 74 24 6c          	mov    %esi,0x6c(%esp)
46ca28:	c7 44 24 64 08 00 00 	movl   $0x8,0x64(%esp)
46ca2f:	00
46ca30:	ff 15 44 d6 48 00    	call   *0x48d644
46ca36:	a8 04                	test   $0x4,%al
46ca38:	74 36                	je     0x46ca70
46ca3a:	f6 c3 05             	test   $0x5,%bl
46ca3d:	74 31                	je     0x46ca70
46ca3f:	8d 43 ff             	lea    -0x1(%ebx),%eax
46ca42:	f7 d8                	neg    %eax
46ca44:	1b c0                	sbb    %eax,%eax
46ca46:	25 00 f0 ff ff       	and    $0xfffff000,%eax
46ca4b:	05 00 20 00 00       	add    $0x2000,%eax
46ca50:	89 44 24 68          	mov    %eax,0x68(%esp)
46ca54:	8d 44 24 5c          	lea    0x5c(%esp),%eax
46ca58:	50                   	push   %eax
46ca59:	56                   	push   %esi
46ca5a:	68 4c 10 00 00       	push   $0x104c
46ca5f:	57                   	push   %edi
46ca60:	c7 44 24 7c 00 f0 00 	movl   $0xf000,0x7c(%esp)
46ca67:	00
46ca68:	ff 15 70 d6 48 00    	call   *0x48d670
46ca6e:	8b f0                	mov    %eax,%esi
46ca70:	f7 c3 00 21 00 00    	test   $0x2100,%ebx
46ca76:	74 41                	je     0x46cab9
46ca78:	83 7c 24 28 00       	cmpl   $0x0,0x28(%esp)
46ca7d:	74 05                	je     0x46ca84
46ca7f:	83 c8 ff             	or     $0xffffffff,%eax
46ca82:	eb 04                	jmp    0x46ca88
46ca84:	8b 44 24 68          	mov    0x68(%esp),%eax
46ca88:	81 e3 00 20 00 00    	and    $0x2000,%ebx
46ca8e:	f7 db                	neg    %ebx
46ca90:	1b db                	sbb    %ebx,%ebx
46ca92:	f7 d3                	not    %ebx
46ca94:	23 d8                	and    %eax,%ebx
46ca96:	8d 44 24 5c          	lea    0x5c(%esp),%eax
46ca9a:	50                   	push   %eax
46ca9b:	ff 74 24 28          	push   0x28(%esp)
46ca9f:	89 5c 24 70          	mov    %ebx,0x70(%esp)
46caa3:	68 2b 10 00 00       	push   $0x102b
46caa8:	57                   	push   %edi
46caa9:	c7 44 24 7c 03 00 00 	movl   $0x3,0x7c(%esp)
46cab0:	00
46cab1:	ff 15 70 d6 48 00    	call   *0x48d670
46cab7:	8b f0                	mov    %eax,%esi
46cab9:	8b c6                	mov    %esi,%eax
46cabb:	e9 2e 02 00 00       	jmp    0x46ccee
46cac0:	83 e8 16             	sub    $0x16,%eax
46cac3:	0f 84 8f 00 00 00    	je     0x46cb58
46cac9:	48                   	dec    %eax
46caca:	48                   	dec    %eax
46cacb:	74 50                	je     0x46cb1d
46cacd:	48                   	dec    %eax
46cace:	74 2c                	je     0x46cafc
46cad0:	48                   	dec    %eax
46cad1:	0f 85 1c 01 00 00    	jne    0x46cbf3
46cad7:	8b c3                	mov    %ebx,%eax
46cad9:	83 e0 07             	and    $0x7,%eax
46cadc:	0f 84 11 01 00 00    	je     0x46cbf3
46cae2:	83 e0 03             	and    $0x3,%eax
46cae5:	50                   	push   %eax
46cae6:	ff 74 24 14          	push   0x14(%esp)
46caea:	e8 d9 c4 ff ff       	call   0x468fc8
46caef:	c7 44 24 14 01 00 00 	movl   $0x1,0x14(%esp)
46caf6:	00
46caf7:	e9 f7 00 00 00       	jmp    0x46cbf3
46cafc:	8b c3                	mov    %ebx,%eax
46cafe:	83 e0 07             	and    $0x7,%eax
46cb01:	0f 84 ec 00 00 00    	je     0x46cbf3
46cb07:	56                   	push   %esi
46cb08:	83 e0 03             	and    $0x3,%eax
46cb0b:	50                   	push   %eax
46cb0c:	68 f1 00 00 00       	push   $0xf1
46cb11:	ff 74 24 28          	push   0x28(%esp)
46cb15:	ff 15 70 d6 48 00    	call   *0x48d670
46cb1b:	eb d2                	jmp    0x46caef
46cb1d:	f7 c3 00 02 00 00    	test   $0x200,%ebx
46cb23:	0f 84 ca 00 00 00    	je     0x46cbf3
46cb29:	8b 44 24 20          	mov    0x20(%esp),%eax
46cb2d:	56                   	push   %esi
46cb2e:	ff 74 24 14          	push   0x14(%esp)
46cb32:	68 01 04 00 00       	push   $0x401
46cb37:	ff 30                	push   (%eax)
46cb39:	ff 15 70 d6 48 00    	call   *0x48d670
46cb3f:	ff 15 50 d6 48 00    	call   *0x48d650
46cb45:	3b 07                	cmp    (%edi),%eax
46cb47:	75 a6                	jne    0x46caef
46cb49:	ff 74 24 10          	push   0x10(%esp)
46cb4d:	ff 74 24 28          	push   0x28(%esp)
46cb51:	e8 a2 eb fa ff       	call   0x41b6f8
46cb56:	eb 97                	jmp    0x46caef
46cb58:	6a 03                	push   $0x3
46cb5a:	59                   	pop    %ecx
46cb5b:	39 0d ac 16 4c 00    	cmp    %ecx,0x4c16ac
46cb61:	0f 8c 8c 00 00 00    	jl     0x46cbf3
46cb67:	a1 9c 16 4c 00       	mov    0x4c169c,%eax
46cb6c:	8b 04 88             	mov    (%eax,%ecx,4),%eax
46cb6f:	8b 10                	mov    (%eax),%edx
46cb71:	85 d2                	test   %edx,%edx
46cb73:	74 1f                	je     0x46cb94
46cb75:	8b 74 24 20          	mov    0x20(%esp),%esi
46cb79:	8b 42 04             	mov    0x4(%edx),%eax
46cb7c:	3b 46 04             	cmp    0x4(%esi),%eax
46cb7f:	6a 00                	push   $0x0
46cb81:	5e                   	pop    %esi
46cb82:	75 10                	jne    0x46cb94
46cb84:	80 ba 90 00 00 00 03 	cmpb   $0x3,0x90(%edx)
46cb8b:	75 07                	jne    0x46cb94
46cb8d:	8b 02                	mov    (%edx),%eax
46cb8f:	3b 47 34             	cmp    0x34(%edi),%eax
46cb92:	74 0b                	je     0x46cb9f
46cb94:	41                   	inc    %ecx
46cb95:	3b 0d ac 16 4c 00    	cmp    0x4c16ac,%ecx
46cb9b:	7e ca                	jle    0x46cb67
46cb9d:	eb 54                	jmp    0x46cbf3
46cb9f:	8a 87 92 00 00 00    	mov    0x92(%edi),%al
46cba5:	84 c3                	test   %al,%bl
46cba7:	75 4a                	jne    0x46cbf3
46cba9:	a8 10                	test   $0x10,%al
46cbab:	74 46                	je     0x46cbf3
46cbad:	a1 9c 16 4c 00       	mov    0x4c169c,%eax
46cbb2:	56                   	push   %esi
46cbb3:	8b 04 88             	mov    (%eax,%ecx,4),%eax
46cbb6:	8b 08                	mov    (%eax),%ecx
46cbb8:	0f bf 81 8e 00 00 00 	movswl 0x8e(%ecx),%eax
46cbbf:	50                   	push   %eax
46cbc0:	0f bf 81 8c 00 00 00 	movswl 0x8c(%ecx),%eax
46cbc7:	50                   	push   %eax
46cbc8:	0f bf 81 8a 00 00 00 	movswl 0x8a(%ecx),%eax
46cbcf:	50                   	push   %eax
46cbd0:	0f bf 81 88 00 00 00 	movswl 0x88(%ecx),%eax
46cbd7:	50                   	push   %eax
46cbd8:	ff 31                	push   (%ecx)
46cbda:	ff 15 e8 d6 48 00    	call   *0x48d6e8
46cbe0:	56                   	push   %esi
46cbe1:	ff 77 34             	push   0x34(%edi)
46cbe4:	68 69 04 00 00       	push   $0x469
46cbe9:	ff 74 24 28          	push   0x28(%esp)
46cbed:	ff 15 70 d6 48 00    	call   *0x48d670
46cbf3:	81 e3 f8 10 00 00    	and    $0x10f8,%ebx
46cbf9:	0f 8e eb 00 00 00    	jle    0x46ccea
46cbff:	8b c6                	mov    %esi,%eax
46cc01:	c7 44 24 14 01 00 00 	movl   $0x1,0x14(%esp)
46cc08:	00
46cc09:	89 44 24 10          	mov    %eax,0x10(%esp)
46cc0d:	84 db                	test   %bl,%bl
46cc0f:	79 14                	jns    0x46cc25
46cc11:	56                   	push   %esi
46cc12:	ff 74 24 20          	push   0x20(%esp)
46cc16:	b8 c0 00 00 00       	mov    $0xc0,%eax
46cc1b:	89 44 24 18          	mov    %eax,0x18(%esp)
46cc1f:	ff 15 3c d6 48 00    	call   *0x48d63c
46cc25:	f6 c3 40             	test   $0x40,%bl
46cc28:	74 15                	je     0x46cc3f
46cc2a:	6a 01                	push   $0x1
46cc2c:	ff 74 24 20          	push   0x20(%esp)
46cc30:	b8 c0 00 00 00       	mov    $0xc0,%eax
46cc35:	89 44 24 18          	mov    %eax,0x18(%esp)
46cc39:	ff 15 3c d6 48 00    	call   *0x48d63c
46cc3f:	8b 44 24 10          	mov    0x10(%esp),%eax
46cc43:	8b d3                	mov    %ebx,%edx
46cc45:	83 e2 20             	and    $0x20,%edx
46cc48:	74 03                	je     0x46cc4d
46cc4a:	83 c0 30             	add    $0x30,%eax
46cc4d:	8b cb                	mov    %ebx,%ecx
46cc4f:	83 e1 10             	and    $0x10,%ecx
46cc52:	89 4c 24 24          	mov    %ecx,0x24(%esp)
46cc56:	74 03                	je     0x46cc5b
46cc58:	83 c0 30             	add    $0x30,%eax
46cc5b:	b9 08 10 00 00       	mov    $0x1008,%ecx
46cc60:	f6 c3 08             	test   $0x8,%bl
46cc63:	74 02                	je     0x46cc67
46cc65:	03 c1                	add    %ecx,%eax
46cc67:	f7 c3 00 10 00 00    	test   $0x1000,%ebx
46cc6d:	74 02                	je     0x46cc71
46cc6f:	03 c1                	add    %ecx,%eax
46cc71:	f6 d0                	not    %al
46cc73:	22 87 92 00 00 00    	and    0x92(%edi),%al
46cc79:	0a c3                	or     %bl,%al
46cc7b:	88 87 92 00 00 00    	mov    %al,0x92(%edi)
46cc81:	8a 87 93 00 00 00    	mov    0x93(%edi),%al
46cc87:	3c ff                	cmp    $0xff,%al
46cc89:	74 16                	je     0x46cca1
46cc8b:	8b 4c 24 20          	mov    0x20(%esp),%ecx
46cc8f:	0f b6 c0             	movzbl %al,%eax
46cc92:	8b 89 90 01 00 00    	mov    0x190(%ecx),%ecx
46cc98:	3b c1                	cmp    %ecx,%eax
46cc9a:	74 05                	je     0x46cca1
46cc9c:	83 f9 ff             	cmp    $0xffffffff,%ecx
46cc9f:	75 49                	jne    0x46ccea
46cca1:	8b 1d 04 d7 48 00    	mov    0x48d704,%ebx
46cca7:	85 d2                	test   %edx,%edx
46cca9:	74 0a                	je     0x46ccb5
46ccab:	56                   	push   %esi
46ccac:	8b 74 24 20          	mov    0x20(%esp),%esi
46ccb0:	56                   	push   %esi
46ccb1:	ff d3                	call   *%ebx
46ccb3:	eb 04                	jmp    0x46ccb9
46ccb5:	8b 74 24 1c          	mov    0x1c(%esp),%esi
46ccb9:	83 7c 24 24 00       	cmpl   $0x0,0x24(%esp)
46ccbe:	74 1e                	je     0x46ccde
46ccc0:	6a 04                	push   $0x4
46ccc2:	56                   	push   %esi
46ccc3:	ff d3                	call   *%ebx
46ccc5:	80 7c 24 1b 1a       	cmpb   $0x1a,0x1b(%esp)
46ccca:	75 12                	jne    0x46ccde
46cccc:	f6 87 92 00 00 00 40 	testb  $0x40,0x92(%edi)
46ccd3:	74 09                	je     0x46ccde
46ccd5:	6a 01                	push   $0x1
46ccd7:	56                   	push   %esi
46ccd8:	ff 15 3c d6 48 00    	call   *0x48d63c
46ccde:	6a 01                	push   $0x1
46cce0:	57                   	push   %edi
46cce1:	ff 74 24 28          	push   0x28(%esp)
46cce5:	e8 f4 12 00 00       	call   0x46dfde
46ccea:	8b 44 24 14          	mov    0x14(%esp),%eax
46ccee:	5f                   	pop    %edi
46ccef:	5e                   	pop    %esi
46ccf0:	5b                   	pop    %ebx
46ccf1:	8b e5                	mov    %ebp,%esp
46ccf3:	5d                   	pop    %ebp
46ccf4:	c2 08 00             	ret    $0x8
46ccf7:	55                   	push   %ebp
46ccf8:	8b ec                	mov    %esp,%ebp
46ccfa:	83 ec 0c             	sub    $0xc,%esp
46ccfd:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
46cd01:	8d 45 f8             	lea    -0x8(%ebp),%eax
46cd04:	50                   	push   %eax
46cd05:	8d 45 f4             	lea    -0xc(%ebp),%eax
46cd08:	50                   	push   %eax
46cd09:	ff 75 08             	push   0x8(%ebp)
46cd0c:	b9 28 16 4c 00       	mov    $0x4c1628,%ecx
46cd11:	e8 e8 06 fa ff       	call   0x40d3fe
46cd16:	84 c0                	test   %al,%al
46cd18:	75 07                	jne    0x46cd21
46cd1a:	33 c0                	xor    %eax,%eax
46cd1c:	e9 33 01 00 00       	jmp    0x46ce54
46cd21:	8b 4d f4             	mov    -0xc(%ebp),%ecx
46cd24:	a1 88 16 4c 00       	mov    0x4c1688,%eax
46cd29:	53                   	push   %ebx
46cd2a:	8b 04 88             	mov    (%eax,%ecx,4),%eax
46cd2d:	8b 4d f8             	mov    -0x8(%ebp),%ecx
46cd30:	8b 00                	mov    (%eax),%eax
46cd32:	89 45 08             	mov    %eax,0x8(%ebp)
46cd35:	a1 9c 16 4c 00       	mov    0x4c169c,%eax
46cd3a:	56                   	push   %esi
46cd3b:	8b 04 88             	mov    (%eax,%ecx,4),%eax
46cd3e:	8b 75 0c             	mov    0xc(%ebp),%esi
46cd41:	8b 0d 70 d6 48 00    	mov    0x48d670,%ecx
46cd47:	57                   	push   %edi
46cd48:	8b 38                	mov    (%eax),%edi
46cd4a:	8b 1f                	mov    (%edi),%ebx
46cd4c:	83 fe ff             	cmp    $0xffffffff,%esi
46cd4f:	74 6b                	je     0x46cdbc
46cd51:	0f b6 87 90 00 00 00 	movzbl 0x90(%edi),%eax
46cd58:	48                   	dec    %eax
46cd59:	48                   	dec    %eax
46cd5a:	74 2c                	je     0x46cd88
46cd5c:	48                   	dec    %eax
46cd5d:	74 2c                	je     0x46cd8b
46cd5f:	83 e8 03             	sub    $0x3,%eax
46cd62:	74 1f                	je     0x46cd83
46cd64:	48                   	dec    %eax
46cd65:	74 17                	je     0x46cd7e
46cd67:	83 e8 03             	sub    $0x3,%eax
46cd6a:	74 0a                	je     0x46cd76
46cd6c:	83 e8 0c             	sub    $0xc,%eax
46cd6f:	75 38                	jne    0x46cda9
46cd71:	e9 db 00 00 00       	jmp    0x46ce51
46cd76:	81 ce 00 00 00 04    	or     $0x4000000,%esi
46cd7c:	eb 2b                	jmp    0x46cda9
46cd7e:	83 ce 03             	or     $0x3,%esi
46cd81:	eb 26                	jmp    0x46cda9
46cd83:	83 ce 0e             	or     $0xe,%esi
46cd86:	eb 21                	jmp    0x46cda9
46cd88:	83 ce 04             	or     $0x4,%esi
46cd8b:	6a 00                	push   $0x0
46cd8d:	f7 c6 00 08 00 00    	test   $0x800,%esi
46cd93:	74 04                	je     0x46cd99