4596f3:	77 69                	ja     0x45975e
4596f5:	6e                   	outsb  %ds:(%esi),(%dx)
4596f6:	67 2e 42             	addr16 cs inc %edx
4596f9:	69 74 6d 61 70 01 00 	imul   $0x170,0x61(%ebp,%ebp,2),%esi
459700:	00
459701:	00 04 44             	add    %al,(%esp,%eax,2)
459704:	61                   	popa
459705:	74 61                	je     0x459768
459707:	07                   	pop    %es
459708:	02 02                	add    (%edx),%al
45970a:	00 00                	add    %al,(%eax)
45970c:	00 09                	add    %cl,(%ecx)
45970e:	03 00                	add    (%eax),%eax
459710:	00 00                	add    %al,(%eax)
459712:	0f 03 00             	lsl    (%eax),%eax
459715:	00 00                	add    %al,(%eax)
459717:	f6 06 00             	testb  $0x0,(%esi)
45971a:	00 02                	add    %al,(%edx)
45971c:	42                   	inc    %edx
45971d:	4d                   	dec    %ebp
45971e:	f6 06 00             	testb  $0x0,(%esi)
459721:	00 00                	add    %al,(%eax)
459723:	00 00                	add    %al,(%eax)
459725:	00 36                	add    %dh,(%esi)
459727:	00 00                	add    %al,(%eax)
459729:	00 28                	add    %ch,(%eax)
45972b:	00 00                	add    %al,(%eax)
45972d:	00 18                	add    %bl,(%eax)
45972f:	00 00                	add    %al,(%eax)
459731:	00 18                	add    %bl,(%eax)
459733:	00 00                	add    %al,(%eax)
459735:	00 01                	add    %al,(%ecx)
459737:	00 18                	add    %bl,(%eax)
459741:	00 c4                	add    %al,%ah
459743:	0e                   	push   %cs
459744:	00 00                	add    %al,(%eax)
459746:	c4 0e                	les    (%esi),%ecx
459948:	00 00                	add    %al,(%eax)
45994a:	18 83 00 00 00 00    	sbb    %al,0x0(%ebx)
459990:	00 00                	add    %al,(%eax)
459992:	83 c4 0c             	add    $0xc,%esp
459995:	83 06 06             	addl   $0x6,(%esi)
459998:	5b                   	pop    %ebx
459999:	5f                   	pop    %edi
45999a:	5e                   	pop    %esi
45999b:	8b e5                	mov    %ebp,%esp
45999d:	5d                   	pop    %ebp
45999e:	c3                   	ret
45999f:	3c d1                	cmp    $0xd1,%al
4599a1:	75 2d                	jne    0x4599d0
4599a3:	8b 75 18             	mov    0x18(%ebp),%esi
4599a6:	8b 06                	mov    (%esi),%eax
4599a8:	8b 4d 10             	mov    0x10(%ebp),%ecx
4599ab:	8b 7d 14             	mov    0x14(%ebp),%edi
4599ae:	8d 54 08 02          	lea    0x2(%eax,%ecx,1),%edx
4599b2:	8b 07                	mov    (%edi),%eax
4599b4:	03 45 0c             	add    0xc(%ebp),%eax
4599b7:	6a 04                	push   $0x4
4599b9:	52                   	push   %edx
4599ba:	50                   	push   %eax
4599bb:	e8 3c 53 00 00       	call   0x45ecfc
4599c0:	83 07 04             	addl   $0x4,(%edi)
4599c3:	83 c4 0c             	add    $0xc,%esp
4599c6:	83 06 06             	addl   $0x6,(%esi)
4599c9:	5b                   	pop    %ebx
4599ca:	5f                   	pop    %edi
4599cb:	5e                   	pop    %esi
4599cc:	8b e5                	mov    %ebp,%esp
4599ce:	5d                   	pop    %ebp
4599cf:	c3                   	ret
4599d0:	3c e8                	cmp    $0xe8,%al
4599d2:	74 04                	je     0x4599d8
4599d4:	3c e9                	cmp    $0xe9,%al
4599d6:	75 0d                	jne    0x4599e5
4599d8:	8b 45 8b             	mov    -0x75(%ebp),%eax
4599db:	06                   	push   %es
4599dc:	8b 7d 14             	mov    0x14(%ebp),%edi
4599df:	03 45 10             	add    0x10(%ebp),%eax
4599e2:	8b 0f                	mov    (%edi),%ecx
4599e4:	03 4d 0c             	add    0xc(%ebp),%ecx
4599e7:	6a 01                	push   $0x1
4599e9:	50                   	push   %eax
4599ea:	51                   	push   %ecx
4599eb:	e8 9c 53 00 00       	call   0x45ed8c
4599f0:	ff 07                	incl   (%edi)
4599f2:	83 c4 0c             	add    $0xc,%esp
4599f5:	ff 06                	incl   (%esi)
4599f7:	5b                   	pop    %ebx
4599f8:	5f                   	pop    %edi
4599f9:	5e                   	pop    %esi
4599fa:	8b e5                	mov    %ebp,%esp
4599fc:	5d                   	pop    %ebp
4599fd:	c3                   	ret
4599fe:	3c d0                	cmp    $0xd0,%al
459a00:	75 2d                	jne    0x459a2f
459a02:	8b 75 18             	mov    0x18(%ebp),%esi
459a05:	8b 16                	mov    (%esi),%edx
459a07:	8b 45 10             	mov    0x10(%ebp),%eax
459a0a:	8b 7d 14             	mov    0x14(%ebp),%edi
459a0d:	8d 4c 02 02          	lea    0x2(%edx,%eax,1),%ecx
459a11:	8b 17                	mov    (%edi),%edx
459a13:	03 55 0c             	add    0xc(%ebp),%edx
459a16:	6a 04                	push   $0x4
459a18:	51                   	push   %ecx
459a19:	52                   	push   %edx
459a1a:	e8 6d 53 00 00       	call   0x45ed8c
459a1f:	83 07 04             	addl   $0x4,(%edi)
459a22:	83 07 04             	addl   $0x4,(%edi)
459a25:	83 c4 0c             	add    $0xc,%esp
459a28:	83 06 07             	addl   $0x7,(%esi)
459a2b:	5b                   	pop    %ebx
459a2c:	5f                   	pop    %edi
459a2d:	5e                   	pop    %esi
459a2e:	8b e5                	mov    %ebp,%esp
459a30:	5d                   	pop    %ebp
459a31:	c3                   	ret
459a32:	3c c2                	cmp    $0xc2,%al
459a34:	75 2d                	jne    0x459a63
459a36:	8b 75 18             	mov    0x18(%ebp),%esi
459a39:	8b 16                	mov    (%esi),%edx
459a3b:	8b 45 10             	mov    0x10(%ebp),%eax
459a3e:	8b 7d 14             	mov    0x14(%ebp),%edi
459a41:	8d 4c 02 01          	lea    0x1(%edx,%eax,1),%ecx
459a45:	8b 17                	mov    (%edi),%edx
459a47:	03 55 0c             	add    0xc(%ebp),%edx
459a4a:	6a 02                	push   $0x2
459a4c:	51                   	push   %ecx
459a4d:	52                   	push   %edx
459a4e:	e8 c9 53 00 00       	call   0x45ee1c
459a53:	83 07 02             	addl   $0x2,(%edi)
459a56:	83 c4 0c             	add    $0xc,%esp
459a59:	83 06 03             	addl   $0x3,(%esi)
459a5c:	5b                   	pop    %ebx
459a5d:	5f                   	pop    %edi
459a5e:	5e                   	pop    %esi
459a5f:	8b e5                	mov    %ebp,%esp
459a61:	5d                   	pop    %ebp
459a62:	c3                   	ret
459a63:	3c c3                	cmp    $0xc3,%al
459a65:	75 27                	jne    0x459a8e
459a67:	8b 75 18             	mov    0x18(%ebp),%esi
459a6a:	4d                   	dec    %ebp
459a6b:	10 8b 7d 14 8d 54    	adc    %cl,0x548d147d(%ebx)
459a71:	08 02                	or     %al,(%edx)
459a73:	8b 07                	mov    (%edi),%eax
459a75:	03 45 0c             	add    0xc(%ebp),%eax
459a78:	6a 04                	push   $0x4
459a7a:	52                   	push   %edx
459a7b:	50                   	push   %eax
459a7c:	e8 2b 54 00 00       	call   0x45eeac
459a81:	83 07 04             	addl   $0x4,(%edi)
459a84:	83 c4 0c             	add    $0xc,%esp
459a87:	83 06 07             	addl   $0x7,(%esi)
459a8a:	5b                   	pop    %ebx
459a8b:	5f                   	pop    %edi
459a8c:	5e                   	pop    %esi
459a8d:	8b e5                	mov    %ebp,%esp
459a8f:	5d                   	pop    %ebp
459a90:	c3                   	ret
459a91:	3c c1                	cmp    $0xc1,%al
459a93:	75 2d                	jne    0x459ac2
459a95:	8b 75 18             	mov    0x18(%ebp),%esi
459a98:	8b 0e                	mov    (%esi),%ecx
459a9a:	8b 55 10             	mov    0x10(%ebp),%edx
459a9d:	8b 7d 14             	mov    0x14(%ebp),%edi
459aa0:	8d 44 11 02          	lea    0x2(%ecx,%edx,1),%eax
459aa4:	8b 0f                	mov    (%edi),%ecx
459aa6:	03 4d 0c             	add    0xc(%ebp),%ecx
459aa9:	6a 04                	push   $0x4
459aab:	50                   	push   %eax
459aac:	51                   	push   %ecx
459aad:	e8 fa 53 00 00       	call   0x45eeac
459ab2:	10 52 8b             	adc    %dl,-0x75(%edx)
459ab5:	55                   	push   %ebp
459ab6:	0c 50                	or     $0x50,%al
459ab8:	51                   	push   %ecx
459ab9:	52                   	push   %edx
459aba:	e8 1d fa ff ff       	call   0x4594dc
459abf:	83 c4 10             	add    $0x10,%esp
459ac2:	5b                   	pop    %ebx
459ac3:	5f                   	pop    %edi
459ac4:	5e                   	pop    %esi
459ac5:	8b e5                	mov    %ebp,%esp
459ac7:	5d                   	pop    %ebp
459ac8:	c3                   	ret
459ac9:	8d 48 48             	lea    0x48(%eax),%ecx
459acc:	80 f9 07             	cmp    $0x7,%cl
459acf:	77 1f                	ja     0x459af0
459ad1:	8b 55 18             	mov    0x18(%ebp),%edx
459ad4:	8b 45 14             	mov    0x14(%ebp),%eax
459ad7:	8b 4d 10             	mov    0x10(%ebp),%ecx
459ada:	52                   	push   %edx
459adb:	8b 55 0c             	mov    0xc(%ebp),%edx
459ade:	50                   	push   %eax
459adf:	51                   	push   %ecx
459ae0:	52                   	push   %edx
459ae1:	e8 c6 f9 ff ff       	call   0x4594ac
459ae6:	83 c4 10             	add    $0x10,%esp
459ae9:	5b                   	pop    %ebx
459aea:	5f                   	pop    %edi
459aeb:	5e                   	pop    %esi
459aec:	8b e5                	mov    %ebp,%esp
459aee:	5d                   	pop    %ebp
459aef:	c3                   	ret
459af0:	3c c0                	cmp    $0xc0,%al
459af2:	75 2d                	jne    0x459b21
459af4:	8b 75 18             	mov    0x18(%ebp),%esi
459af7:	8b 06                	mov    (%esi),%eax
459af9:	8b 00                	mov    (%eax),%eax
459afb:	83 07 04             	addl   $0x4,(%edi)
459afe:	83 c4 0c             	add    $0xc,%esp
459b01:	83 06 05             	addl   $0x5,(%esi)
459b04:	5b                   	pop    %ebx
459b05:	5f                   	pop    %edi
459b06:	5e                   	pop    %esi
459b07:	8b e5                	mov    %ebp,%esp
459b09:	5d                   	pop    %ebp
459b0a:	c3                   	ret
459b0b:	8d 50 56             	lea    0x56(%eax),%edx
459b0e:	80 fa 05             	cmp    $0x5,%dl
459b11:	77 1f                	ja     0x459b32
459b13:	8b 45 18             	mov    0x18(%ebp),%eax
459b16:	8b 4d 14             	mov    0x14(%ebp),%ecx
459b19:	8b 55 10             	mov    0x10(%ebp),%edx
459b1c:	50                   	push   %eax
459b1d:	8b 45 0c             	mov    0xc(%ebp),%eax
459b20:	51                   	push   %ecx
459b21:	52                   	push   %edx
459b22:	50                   	push   %eax
459b23:	e8 74 fa ff ff       	call   0x45959c
459b28:	83 c4 10             	add    $0x10,%esp
459b2b:	5b                   	pop    %ebx
459b2c:	5f                   	pop    %edi
459b2d:	5e                   	pop    %esi
459b2e:	8b e5                	mov    %ebp,%esp
459b30:	5d                   	pop    %ebp
459b31:	c3                   	ret
459b32:	8d 48 50             	lea    0x50(%eax),%ecx
459b35:	80 f9 07             	cmp    $0x7,%cl
459b38:	77 1f                	ja     0x459b59
459b3a:	8b 55 18             	mov    0x18(%ebp),%edx
459b3d:	8b 45 14             	mov    0x14(%ebp),%eax
459b40:	8b 4d 06             	mov    0x6(%ebp),%ecx
459b43:	8b 4d 10             	mov    0x10(%ebp),%ecx
459b46:	8b 7d 14             	mov    0x14(%ebp),%edi
459b49:	8d 54 08 01          	lea    0x1(%eax,%ecx,1),%edx
459b4d:	8b 07                	mov    (%edi),%eax
459b4f:	03 45 0c             	add    0xc(%ebp),%eax
459b52:	6a 01                	push   $0x1
459b54:	52                   	push   %edx
459b55:	50                   	push   %eax
459b56:	e8 01 55 00 00       	call   0x45f05c
459b5b:	ff 07                	incl   (%edi)
459b5d:	83 c4 0c             	add    $0xc,%esp
459b60:	83 06 02             	addl   $0x2,(%esi)
459b63:	5b                   	pop    %ebx
459b64:	5f                   	pop    %edi
459b65:	5e                   	pop    %esi
459b66:	8b e5                	mov    %ebp,%esp
459b68:	5d                   	pop    %ebp
459b69:	c3                   	ret
459b6a:	3c a9                	cmp    $0xa9,%al
459b6c:	75 2d                	jne    0x459b9b
459b6e:	8b 75 18             	mov    0x18(%ebp),%esi
459b71:	8b 0e                	mov    (%esi),%ecx
459b73:	8b 55 10             	mov    0x10(%ebp),%edx
459b76:	8b 7d 14             	mov    0x14(%ebp),%edi
459b79:	8d 44 11 01          	lea    0x1(%ecx,%edx,1),%eax
459b7d:	8b 0f                	mov    (%edi),%ecx
459b7f:	03 4d 0c             	add    0xc(%ebp),%ecx
459b82:	6a 04                	push   $0x4
459b84:	50                   	push   %eax
459b85:	51                   	push   %ecx
459b86:	e8 d1 54 00 8b       	call   0x8b45f05c
459b8b:	55                   	push   %ebp
459b8c:	10 50 8b             	adc    %dl,-0x75(%eax)
459b8f:	45                   	inc    %ebp
459b90:	0c 51                	or     $0x51,%al
459b92:	52                   	push   %edx
459b93:	50                   	push   %eax
459b94:	e8 c3 fa ff ff       	call   0x45965c
459b99:	83 c4 10             	add    $0x10,%esp
459b9c:	5b                   	pop    %ebx
459b9d:	5f                   	pop    %edi
459b9e:	5e                   	pop    %esi
459b9f:	8b e5                	mov    %ebp,%esp
459ba1:	5d                   	pop    %ebp
459ba2:	c3                   	ret
459ba3:	8d 48 5c             	lea    0x5c(%eax),%ecx
459ba6:	80 f9 03             	cmp    $0x3,%cl
459ba9:	77 1f                	ja     0x459bca
459bab:	8b 55 18             	mov    0x18(%ebp),%edx
459bae:	8b 45 14             	mov    0x14(%ebp),%eax
459bb1:	8b 4d 10             	mov    0x10(%ebp),%ecx
459bb4:	52                   	push   %edx
459bb5:	8b 55 0c             	mov    0xc(%ebp),%edx
459bb8:	50                   	push   %eax
459bb9:	51                   	push   %ecx
459bba:	52                   	push   %edx
459bbb:	e8 fc fa ff ff       	call   0x4596bc
459bc0:	83 c4 10             	add    $0x10,%esp
459bc3:	5b                   	pop    %ebx
459bc4:	5f                   	pop    %edi
459bc5:	5e                   	pop    %esi
459bc6:	8b e5                	mov    %ebp,%esp
459bc8:	5d                   	pop    %ebp
459bc9:	c3                   	ret
459bca:	3c a8                	cmp    $0xa8,%al
459bcc:	75 2c                	jne    0x459bfa
459bce:	8b 75 18             	mov    0x18(%ebp),%esi
459bd1:	8b 07                	mov    (%edi),%eax
459bd3:	77 1f                	ja     0x459bf4
459bd5:	8b 45 18             	mov    0x18(%ebp),%eax
459bd8:	8b 4d 14             	mov    0x14(%ebp),%ecx
459bdb:	8b 55 10             	mov    0x10(%ebp),%edx
459bde:	50                   	push   %eax
459bdf:	8b 45 0c             	mov    0xc(%ebp),%eax
459be2:	51                   	push   %ecx
459be3:	52                   	push   %edx
459be4:	50                   	push   %eax
459be5:	e8 d2 fa ff ff       	call   0x4596bc
459bea:	83 c4 10             	add    $0x10,%esp
459bed:	5b                   	pop    %ebx
459bee:	5f                   	pop    %edi
459bef:	5e                   	pop    %esi
459bf0:	8b e5                	mov    %ebp,%esp
459bf2:	5d                   	pop    %ebp
459bf3:	c3                   	ret
459bf4:	3c 8d                	cmp    $0x8d,%al
459bf6:	0f 84 d9 02 00 00    	je     0x459ed5
459bfc:	3c 8f                	cmp    $0x8f,%al
459bfe:	0f 84 ee 01 00 00    	je     0x459df2
459c04:	3c 90                	cmp    $0x90,%al
459c06:	0f 84 bb 01 00 00    	je     0x459dc7
459c0c:	8d 50 60             	lea    0x60(%eax),%edx
459c0f:	80 fa 03             	cmp    $0x3,%dl
459c12:	77 1f                	ja     0x459c33
459c14:	8b 45 18             	mov    0x18(%ebp),%eax
459c17:	8b 4d 14             	mov    0x14(%ebp),%ecx
459c1a:	83 75 40 8b          	xorl   $0xffffff8b,0x40(%ebp)
459c1e:	7d 18                	jge    0x459c38
459c20:	8b 0f                	mov    (%edi),%ecx
459c22:	8b 55 10             	mov    0x10(%ebp),%edx
459c25:	0f b6 44 11 02       	movzbl 0x2(%ecx,%edx,1),%eax
459c2a:	89 45 fc             	mov    %eax,-0x4(%ebp)
459c2d:	84 c0                	test   %al,%al
459c2f:	79 08                	jns    0x459c39
459c31:	0d 00 ff ff ff       	or     $0xffffff00,%eax
459c36:	89 45 fc             	mov    %eax,-0x4(%ebp)
459c39:	8b 75 14             	mov    0x14(%ebp),%esi