46a93e:	ff 75 14             	push   0x14(%ebp)
46a941:	6a 02                	push   $0x2
46a943:	56                   	push   %esi
46a944:	e9 b0 f6 ff ff       	jmp    0x469ff9
46a949:	80 7d 20 00          	cmpb   $0x0,0x20(%ebp)
46a94d:	0f 95 c0             	setne  %al
46a950:	fe c8                	dec    %al
46a952:	24 30                	and    $0x30,%al
46a954:	66 98                	cbtw
46a956:	0f b7 c0             	movzwl %ax,%eax
46a959:	50                   	push   %eax
46a95a:	ff 75 18             	push   0x18(%ebp)
46a95d:	8b 45 10             	mov    0x10(%ebp),%eax
46a960:	ff 75 14             	push   0x14(%ebp)
46a963:	6a 02                	push   $0x2
46a965:	ff 70 1c             	push   0x1c(%eax)
46a968:	ff 70 18             	push   0x18(%eax)
46a96b:	ff 70 14             	push   0x14(%eax)
46a96e:	e8 d0 f4 ff ff       	call   0x469e43
46a973:	83 c4 0c             	add    $0xc,%esp
46a976:	e9 7d f6 ff ff       	jmp    0x469ff8
46a97b:	ff 75 1c             	push   0x1c(%ebp)
46a97e:	ff 75 18             	push   0x18(%ebp)
46a981:	ff 75 14             	push   0x14(%ebp)
46a984:	ff 75 10             	push   0x10(%ebp)
46a987:	6a 02                	push   $0x2
46a989:	e9 b1 fb ff ff       	jmp    0x46a53f
46a98e:	8b 45 10             	mov    0x10(%ebp),%eax
46a991:	8b 48 14             	mov    0x14(%eax),%ecx
46a994:	81 f9 94 f8 ff ff    	cmp    $0xfffff894,%ecx
46a99a:	0f 8c cf f8 ff ff    	jl     0x46a26f
46a9a0:	81 f9 a3 1f 00 00    	cmp    $0x1fa3,%ecx
46a9a6:	0f 8f c3 f8 ff ff    	jg     0x46a26f
46a9ac:	80 7d 20 00          	cmpb   $0x0,0x20(%ebp)
46a9b0:	0f 95 c0             	setne  %al
46a9b3:	fe c8                	dec    %al
46a9b5:	24 30                	and    $0x30,%al
46a9b7:	66 98                	cbtw
46a9b9:	0f b7 c0             	movzwl %ax,%eax
46a9bc:	50                   	push   %eax
46a9bd:	ff 75 18             	push   0x18(%ebp)
46a9c0:	8d 81 6c 07 00 00    	lea    0x76c(%ecx),%eax
46a9c6:	ff 75 14             	push   0x14(%ebp)
46a9c9:	6a 04                	push   $0x4
46a9cb:	e9 28 f6 ff ff       	jmp    0x469ff8
46a9d0:	e8 73 1c 01 00       	call   0x47c648
46a9d5:	33 f6                	xor    %esi,%esi
46a9d7:	89 75 f8             	mov    %esi,-0x8(%ebp)
46a9da:	e8 08 13 01 00       	call   0x47bce7
46a9df:	8b 4d 10             	mov    0x10(%ebp),%ecx
46a9e2:	33 d2                	xor    %edx,%edx
46a9e4:	ff 75 08             	push   0x8(%ebp)
46a9e7:	8b 7d 18             	mov    0x18(%ebp),%edi
46a9ea:	8b 5d 14             	mov    0x14(%ebp),%ebx
46a9ed:	39 71 20             	cmp    %esi,0x20(%ecx)
46a9f0:	6a ff                	push   $0xffffffff
46a9f2:	0f 95 c2             	setne  %dl
46a9f5:	8b 04 90             	mov    (%eax,%edx,4),%eax
46a9f8:	50                   	push   %eax
46a9f9:	ff 37                	push   (%edi)
46a9fb:	8d 45 f8             	lea    -0x8(%ebp),%eax
46a9fe:	ff 33                	push   (%ebx)
46aa00:	50                   	push   %eax
46aa01:	e8 a9 fc 00 00       	call   0x47a6af
46aa06:	83 c4 18             	add    $0x18,%esp
46aa09:	85 c0                	test   %eax,%eax
46aa0b:	74 0a                	je     0x46aa17
46aa0d:	83 f8 16             	cmp    $0x16,%eax
46aa10:	74 30                	je     0x46aa42
46aa12:	83 f8 22             	cmp    $0x22,%eax
46aa15:	74 2b                	je     0x46aa42
46aa17:	83 f8 50             	cmp    $0x50,%eax
46aa1a:	75 0a                	jne    0x46aa26
46aa1c:	8b 07                	mov    (%edi),%eax
46aa1e:	03 c0                	add    %eax,%eax
46aa20:	01 03                	add    %eax,(%ebx)
46aa22:	89 37                	mov    %esi,(%edi)
46aa24:	eb 13                	jmp    0x46aa39
46aa26:	8b 4d f8             	mov    -0x8(%ebp),%ecx
46aa29:	33 c0                	xor    %eax,%eax
46aa2b:	40                   	inc    %eax
46aa2c:	2b c1                	sub    %ecx,%eax
46aa2e:	01 07                	add    %eax,(%edi)
46aa30:	8d 04 4d fe ff ff ff 	lea    -0x2(,%ecx,2),%eax
46aa37:	01 03                	add    %eax,(%ebx)
46aa39:	b0 01                	mov    $0x1,%al
46aa3b:	5f                   	pop    %edi
46aa3c:	5e                   	pop    %esi
46aa3d:	5b                   	pop    %ebx
46aa3e:	8b e5                	mov    %ebp,%esp
46aa40:	5d                   	pop    %ebp
46aa41:	c3                   	ret
46aa42:	56                   	push   %esi
46aa43:	56                   	push   %esi
46aa44:	56                   	push   %esi
46aa45:	56                   	push   %esi
46aa46:	56                   	push   %esi
46aa47:	e8 b7 22 fe ff       	call   0x44cd03
46aa4c:	0e                   	push   %cs
46aa4d:	a8 46                	test   $0x46,%al
46aa4f:	00 58 a8             	add    %bl,-0x58(%eax)
46aa52:	46                   	inc    %esi
46aa53:	00 6d a8             	add    %ch,-0x58(%ebp)
46aa56:	46                   	inc    %esi
46aa57:	00 da                	add    %bl,%dl
46aa59:	a8 46                	test   $0x46,%al
46aa5b:	00 49 a9             	add    %cl,-0x57(%ecx)
46aa5e:	46                   	inc    %esi
46aa5f:	00 da                	add    %bl,%dl
46aa61:	a8 46                	test   $0x46,%al
46aa63:	00 7b a9             	add    %bh,-0x57(%ebx)
46aa66:	46                   	inc    %esi
46aa67:	00 8e a9 46 00 8b    	add    %cl,-0x74ffb957(%esi)
46aa6d:	ff 55 8b             	call   *-0x75(%ebp)
46aa70:	ec                   	in     (%dx),%al
46aa71:	83 ec 0c             	sub    $0xc,%esp
46aa74:	66 83 7d 18 00       	cmpw   $0x0,0x18(%ebp)
46aa79:	75 13                	jne    0x46aa8e
46aa7b:	ff 75 14             	push   0x14(%ebp)
46aa7e:	ff 75 10             	push   0x10(%ebp)
46aa81:	ff 75 08             	push   0x8(%ebp)
46aa84:	e8 85 00 00 00       	call   0x46ab0e
46aa89:	83 c4 0c             	add    $0xc,%esp
46aa8c:	eb 7c                	jmp    0x46ab0a
46aa8e:	8b 45 0c             	mov    0xc(%ebp),%eax
46aa91:	56                   	push   %esi
46aa92:	8b 75 14             	mov    0x14(%ebp),%esi
46aa95:	3b 06                	cmp    (%esi),%eax
46aa97:	73 6d                	jae    0x46ab06
46aa99:	53                   	push   %ebx
46aa9a:	33 db                	xor    %ebx,%ebx
46aa9c:	48                   	dec    %eax
46aa9d:	57                   	push   %edi
46aa9e:	8b 7d 10             	mov    0x10(%ebp),%edi
46aaa1:	8d 48 01             	lea    0x1(%eax),%ecx
46aaa4:	89 4d f4             	mov    %ecx,-0xc(%ebp)
46aaa7:	85 c9                	test   %ecx,%ecx
46aaa9:	74 50                	je     0x46aafb
46aaab:	8b 4d 08             	mov    0x8(%ebp),%ecx
46aaae:	03 c0                	add    %eax,%eax
46aab0:	66 8b 75 18          	mov    0x18(%ebp),%si
46aab4:	89 45 fc             	mov    %eax,-0x4(%ebp)
46aab7:	89 4d f8             	mov    %ecx,-0x8(%ebp)
46aaba:	85 c9                	test   %ecx,%ecx
46aabc:	74 16                	je     0x46aad4
46aabe:	8b c1                	mov    %ecx,%eax
46aac0:	6a 0a                	push   $0xa
46aac2:	99                   	cltd
46aac3:	59                   	pop    %ecx
46aac4:	f7 f9                	idiv   %ecx
46aac6:	8b 07                	mov    (%edi),%eax
46aac8:	8b 4d fc             	mov    -0x4(%ebp),%ecx
46aacb:	83 c2 30             	add    $0x30,%edx
46aace:	66 89 14 01          	mov    %dx,(%ecx,%eax,1)
46aad2:	eb 06                	jmp    0x46aada
46aad4:	8b 0f                	mov    (%edi),%ecx
46aad6:	66 89 34 08          	mov    %si,(%eax,%ecx,1)
46aada:	8b 45 f8             	mov    -0x8(%ebp),%eax
46aadd:	99                   	cltd
46aade:	6a 0a                	push   $0xa
46aae0:	59                   	pop    %ecx
46aae1:	f7 f9                	idiv   %ecx
46aae3:	43                   	inc    %ebx
46aae4:	8b c8                	mov    %eax,%ecx
46aae6:	8b 45 fc             	mov    -0x4(%ebp),%eax
46aae9:	83 e8 02             	sub    $0x2,%eax
46aaec:	89 4d f8             	mov    %ecx,-0x8(%ebp)
46aaef:	83 6d f4 01          	subl   $0x1,-0xc(%ebp)
46aaf3:	89 45 fc             	mov    %eax,-0x4(%ebp)
46aaf6:	75 c2                	jne    0x46aaba
46aaf8:	8b 75 14             	mov    0x14(%ebp),%esi
46aafb:	8d 04 1b             	lea    (%ebx,%ebx,1),%eax
46aafe:	01 07                	add    %eax,(%edi)
46ab00:	29 1e                	sub    %ebx,(%esi)
46ab02:	5f                   	pop    %edi
46ab03:	5b                   	pop    %ebx
46ab04:	eb 03                	jmp    0x46ab09
46ab06:	83 26 00             	andl   $0x0,(%esi)
46ab09:	5e                   	pop    %esi
46ab0a:	8b e5                	mov    %ebp,%esp
46ab0c:	5d                   	pop    %ebp
46ab0d:	c3                   	ret
46ab0e:	8b ff                	mov    %edi,%edi
46ab10:	55                   	push   %ebp
46ab11:	8b ec                	mov    %esp,%ebp
46ab13:	56                   	push   %esi
46ab14:	8b 75 10             	mov    0x10(%ebp),%esi
46ab17:	57                   	push   %edi
46ab18:	8b 7d 0c             	mov    0xc(%ebp),%edi
46ab1b:	8b 06                	mov    (%esi),%eax
46ab1d:	8b 0f                	mov    (%edi),%ecx
46ab1f:	83 f8 01             	cmp    $0x1,%eax
46ab22:	76 44                	jbe    0x46ab68
46ab24:	53                   	push   %ebx
46ab25:	8b 5d 08             	mov    0x8(%ebp),%ebx
46ab28:	8b c3                	mov    %ebx,%eax
46ab2a:	6a 0a                	push   $0xa
46ab2c:	99                   	cltd
46ab2d:	5b                   	pop    %ebx
46ab2e:	f7 fb                	idiv   %ebx
46ab30:	8b d8                	mov    %eax,%ebx
46ab32:	8d 42 30             	lea    0x30(%edx),%eax
46ab35:	66 89 01             	mov    %ax,(%ecx)
46ab38:	83 c1 02             	add    $0x2,%ecx
46ab3b:	ff 0e                	decl   (%esi)
46ab3d:	85 db                	test   %ebx,%ebx
46ab3f:	7e 05                	jle    0x46ab46
46ab41:	83 3e 01             	cmpl   $0x1,(%esi)
46ab44:	77 e2                	ja     0x46ab28
46ab46:	8b 17                	mov    (%edi),%edx
46ab48:	8d 71 fe             	lea    -0x2(%ecx),%esi
46ab4b:	89 0f                	mov    %ecx,(%edi)
46ab4d:	5b                   	pop    %ebx
46ab4e:	eb 12                	jmp    0x46ab62
46ab50:	66 8b 02             	mov    (%edx),%ax
46ab53:	0f b7 0e             	movzwl (%esi),%ecx
46ab56:	66 89 06             	mov    %ax,(%esi)
46ab59:	83 ee 02             	sub    $0x2,%esi
46ab5c:	66 89 0a             	mov    %cx,(%edx)
46ab5f:	83 c2 02             	add    $0x2,%edx
46ab62:	3b d6                	cmp    %esi,%edx
46ab64:	72 ea                	jb     0x46ab50
46ab66:	eb 09                	jmp    0x46ab71
46ab68:	03 c0                	add    %eax,%eax
46ab6a:	2b c8                	sub    %eax,%ecx
46ab6c:	89 0f                	mov    %ecx,(%edi)
46ab6e:	83 26 00             	andl   $0x0,(%esi)
46ab71:	5f                   	pop    %edi
46ab72:	5e                   	pop    %esi
46ab73:	5d                   	pop    %ebp
46ab74:	c3                   	ret
46ab75:	8b ff                	mov    %edi,%edi
46ab77:	55                   	push   %ebp
46ab78:	8b ec                	mov    %esp,%ebp
46ab7a:	8b 4d 10             	mov    0x10(%ebp),%ecx
46ab7d:	83 39 00             	cmpl   $0x0,(%ecx)
46ab80:	74 22                	je     0x46aba4
46ab82:	8b 55 08             	mov    0x8(%ebp),%edx
46ab85:	56                   	push   %esi
46ab86:	8b 75 0c             	mov    0xc(%ebp),%esi
46ab89:	57                   	push   %edi
46ab8a:	0f b7 3a             	movzwl (%edx),%edi
46ab8d:	66 85 ff             	test   %di,%di
46ab90:	74 10                	je     0x46aba2
46ab92:	8b 06                	mov    (%esi),%eax
46ab94:	83 c2 02             	add    $0x2,%edx
46ab97:	66 89 38             	mov    %di,(%eax)
46ab9a:	83 06 02             	addl   $0x2,(%esi)
46ab9d:	83 29 01             	subl   $0x1,(%ecx)
46aba0:	75 e8                	jne    0x46ab8a
46aba2:	5f                   	pop    %edi
46aba3:	5e                   	pop    %esi
46aba4:	5d                   	pop    %ebp
46aba5:	c3                   	ret
46aba6:	8b ff                	mov    %edi,%edi
46aba8:	55                   	push   %ebp
46aba9:	8b ec                	mov    %esp,%ebp
46abab:	83 ec 30             	sub    $0x30,%esp
46abae:	a1 94 80 4b 00       	mov    0x4b8094,%eax
46abb3:	33 c5                	xor    %ebp,%eax
46abb5:	89 45 fc             	mov    %eax,-0x4(%ebp)
46abb8:	8b 45 08             	mov    0x8(%ebp),%eax
46abbb:	8b 55 10             	mov    0x10(%ebp),%edx
46abbe:	89 45 d0             	mov    %eax,-0x30(%ebp)
46abc1:	8b 45 14             	mov    0x14(%ebp),%eax
46abc4:	53                   	push   %ebx
46abc5:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
46abc8:	89 45 d8             	mov    %eax,-0x28(%ebp)
46abcb:	8b 45 0c             	mov    0xc(%ebp),%eax
46abce:	89 55 d4             	mov    %edx,-0x2c(%ebp)
46abd1:	89 5d dc             	mov    %ebx,-0x24(%ebp)
46abd4:	56                   	push   %esi
46abd5:	8b 75 18             	mov    0x18(%ebp),%esi
46abd8:	89 75 e4             	mov    %esi,-0x1c(%ebp)
46abdb:	57                   	push   %edi
46abdc:	83 e8 00             	sub    $0x0,%eax
46abdf:	74 15                	je     0x46abf6
46abe1:	83 e8 01             	sub    $0x1,%eax
46abe4:	74 08                	je     0x46abee
46abe6:	8b bb 5c 01 00 00    	mov    0x15c(%ebx),%edi
46abec:	eb 0e                	jmp    0x46abfc
46abee:	8b bb 58 01 00 00    	mov    0x158(%ebx),%edi
46abf4:	eb 06                	jmp    0x46abfc
46abf6:	8b bb 54 01 00 00    	mov    0x154(%ebx),%edi
46abfc:	83 bb ac 00 00 00 01 	cmpl   $0x1,0xac(%ebx)
46ac03:	0f 84 e9 03 00 00    	je     0x46aff2
46ac09:	83 7d 0c 02          	cmpl   $0x2,0xc(%ebp)
46ac0d:	b8 6c 07 00 00       	mov    $0x76c,%eax
46ac12:	0f 94 c1             	sete   %cl
46ac15:	66 03 42 14          	add    0x14(%edx),%ax
46ac19:	66 89 45 ec          	mov    %ax,-0x14(%ebp)
46ac1d:	66 8b 42 10          	mov    0x10(%edx),%ax
46ac21:	66 40                	inc    %ax
46ac23:	88 4d e3             	mov    %cl,-0x1d(%ebp)
46ac26:	66 89 45 ee          	mov    %ax,-0x12(%ebp)
46ac2a:	66 8b 42 0c          	mov    0xc(%edx),%ax
46ac2e:	66 89 45 f2          	mov    %ax,-0xe(%ebp)
46ac32:	66 8b 42 08          	mov    0x8(%edx),%ax
46ac36:	66 89 45 f4          	mov    %ax,-0xc(%ebp)
46ac3a:	66 8b 42 04          	mov    0x4(%edx),%ax
46ac3e:	66 89 45 f6          	mov    %ax,-0xa(%ebp)
46ac42:	66 8b 02             	mov    (%edx),%ax
46ac45:	66 89 45 f8          	mov    %ax,-0x8(%ebp)
46ac49:	33 c0                	xor    %eax,%eax
46ac4b:	66 89 45 fa          	mov    %ax,-0x6(%ebp)
46ac4f:	8d 45 ec             	lea    -0x14(%ebp),%eax
46ac52:	84 c9                	test   %cl,%cl
46ac54:	74 14                	je     0x46ac6a
46ac56:	33 c9                	xor    %ecx,%ecx
46ac58:	51                   	push   %ecx
46ac59:	51                   	push   %ecx
46ac5a:	57                   	push   %edi
46ac5b:	50                   	push   %eax
46ac5c:	51                   	push   %ecx
46ac5d:	ff b3 60 01 00 00    	push   0x160(%ebx)
46ac63:	e8 96 a5 00 00       	call   0x4751fe
46ac68:	eb 13                	jmp    0x46ac7d
46ac6a:	33 c9                	xor    %ecx,%ecx
46ac6c:	51                   	push   %ecx
46ac6d:	51                   	push   %ecx
46ac6e:	51                   	push   %ecx
46ac6f:	57                   	push   %edi
46ac70:	50                   	push   %eax
46ac71:	51                   	push   %ecx
46ac72:	ff b3 60 01 00 00    	push   0x160(%ebx)
46ac78:	e8 18 a4 00 00       	call   0x475095
46ac7d:	8b d8                	mov    %eax,%ebx
46ac7f:	85 db                	test   %ebx,%ebx
46ac81:	0f 84 6b 03 00 00    	je     0x46aff2
46ac87:	8d 14 1b             	lea    (%ebx,%ebx,1),%edx
46ac8a:	8d 4a 08             	lea    0x8(%edx),%ecx
46ac8d:	3b d1                	cmp    %ecx,%edx
46ac8f:	1b c0                	sbb    %eax,%eax
46ac91:	85 c1                	test   %eax,%ecx
46ac93:	74 58                	je     0x46aced
46ac95:	8d 4a 08             	lea    0x8(%edx),%ecx
46ac98:	3b d1                	cmp    %ecx,%edx
46ac9a:	1b c0                	sbb    %eax,%eax
46ac9c:	23 c1                	and    %ecx,%eax
46ac9e:	8d 4a 08             	lea    0x8(%edx),%ecx
46aca1:	3d 00 04 00 00       	cmp    $0x400,%eax
46aca6:	77 23                	ja     0x46accb
46aca8:	3b d1                	cmp    %ecx,%edx
46acaa:	1b c0                	sbb    %eax,%eax
46acac:	23 c1                	and    %ecx,%eax
46acae:	e8 1d 58 fd ff       	call   0x4404d0
46acb3:	8b f4                	mov    %esp,%esi
46acb5:	89 75 e8             	mov    %esi,-0x18(%ebp)
46acb8:	85 f6                	test   %esi,%esi
46acba:	0f 84 b4 00 00 00    	je     0x46ad74