_0.911576315869467_:

bits 16
org 100h


 mov esi,100000h
 call sys_get_args;
 cmp byte[sys_argc],1
 jb noarg;

  mov ebp,0;
  call sys_arg2num;

  mov esi,eax
  mov [hxview_starter],eax

 noarg:




call hxview;
int 20h;










_0.7497417382906844_:

hxview:
push eax
mov dword[hxview_original_ptr],esi;
;mov ax,0; //#autosolved0000
; mov ds,ax;
; mov es,ax;
.my_keyboard_handle_loop:
.while__0.40512703935907823__29:
cmp al,al
jne .while__0.40512703935907823__29__end
.if__0.7661161349098194__76:
call hxview_bios_getkey;
cmp al,27

jne .if__0.7661161349098194__76__end;
jmp .while__0.40512703935907823__29__end;

.if__0.7661161349098194__76__end:
.if__0.10121069293147139__94:
cmp ah,80
jne .if__0.10121069293147139__94__end;
add esi,16
jmp .doscreens
.if__0.10121069293147139__94__end:
.if__0.09281861620905968__124:
cmp ah,72
jne .if__0.09281861620905968__124__end;
sub esi,16
jmp .doscreens
.if__0.09281861620905968__124__end:
.if__0.4887372995263181__154:
cmp ah,81
jne .if__0.4887372995263181__154__end;
add esi,400; //#autosolved0000
jmp .doscreens
.if__0.4887372995263181__154__end:
.if__0.4492385302235642__188:
cmp ah,73
jne .if__0.4492385302235642__188__end;
sub esi,400; //#autosolved0000
jmp .doscreens
.if__0.4492385302235642__188__end:
jmp .while__0.40512703935907823__29;

.doscreens:
call hxview_bios_clearscreen0;
mov bl,25; //#autosolved0000
push esi
mov edi,0xB8000;
.while__0.8722884119568829__124:
cmp bl,0
je .while__0.8722884119568829__124__end
mov esi,hxview_generic_line
mov ecx,40; //#autosolved0000
push dword es
push dword 0
pop dword es
.myline:
a32 lodsd
a32 stosd
dec ecx
jecxz .myline_end
jmp .myline
.myline_end:
pop dword es
dec bl
jmp .while__0.8722884119568829__124
.while__0.8722884119568829__124__end:
pop esi

mov eax,284+0xB8000; //#autosolved0000
mov dword[hxview_asciivals_ptr],eax;
mov eax,0xB8000+(13*2); //#autosolved0000
mov dword[hxview_hexvals_ptr],eax;
mov eax,753828;
mov dword[hxview_offsets_ptr],eax;





mov edi,[hxview_asciivals_ptr];
sub edi,160
push dword ds
push dword 0
pop dword ds
push dword es
push dword 0
pop dword es
push esi
mov ch,25; //#autosolved0000
.while__0.09497718936256505__35:
cmp ch,0
je .while__0.09497718936256505__35__end
mov cl,16; //#autosolved0000
.while__0.18635731656303395__46:
cmp cl,0
je .while__0.18635731656303395__46__end
a32 lodsb
a32 stosb
inc edi
dec cl
jmp .while__0.18635731656303395__46
.while__0.18635731656303395__46__end:
dec ch
sub edi,32
add edi,160
jmp .while__0.09497718936256505__35
.while__0.09497718936256505__35__end:
pop esi
pop dword es
pop dword ds








push esi
mov dh,25; //#autosolved0000
.while__0.4748255057748639__7:
cmp dh,0
je .while__0.4748255057748639__7__end
mov dl,16; //#autosolved0000
.while__0.12748154579346693__18:
cmp dl,0
je .while__0.12748154579346693__18__end
push edx
mov eax,0; //#autosolved0000
push dword ds
push dword 0
pop dword ds
mov al,[esi];
pop dword ds
mov edi,hxview_num_buff__END
call hxview_hexnum2str;
push esi
 mov esi,edi;
mov edi,[hxview_hexvals_ptr];
push dword es
push dword 0
pop dword es
a32 lodsb;
a32 stosb;
inc edi
a32 lodsb;
a32 stosb;
inc edi
add edi,2
pop dword es
add dword[hxview_hexvals_ptr],6;
pop esi
pop edx
inc esi
dec dl
jmp .while__0.12748154579346693__18
.while__0.12748154579346693__18__end:
sub dword[hxview_hexvals_ptr],96;
add dword[hxview_hexvals_ptr],160;
dec dh
jmp .while__0.4748255057748639__7
.while__0.4748255057748639__7__end:
pop esi




push esi
mov dl,25; //#autosolved0000
.while__0.6305649733181631__7:
cmp dl,0
je .while__0.6305649733181631__7__end
push edx
mov edi,hxview_num_buff__END
 mov eax,esi;
call hxview_hexnum2str;
push esi
 mov esi,edi;
mov edi,[hxview_offsets_ptr];
sub edi,160
mov ebx,16; //#autosolved0000
 mov edx,ecx;
shl edx,1
sub ebx,edx
push edi
add edi,ebx
.while__0.9902758502335196__69:
cmp cx,0
je .while__0.9902758502335196__69__end
push dword es
push dword 0
pop dword es
a32 lodsb
a32 stosb
inc edi
pop dword es
dec cx
jmp .while__0.9902758502335196__69
.while__0.9902758502335196__69__end:
pop edi
pop esi
add esi,16
pop edx
dec dl
add dword[hxview_offsets_ptr],160;
jmp .while__0.6305649733181631__7
.while__0.6305649733181631__7__end:
mov eax,4000; //#autosolved0000
sub dword[hxview_offsets_ptr],eax;
pop esi



jmp .while__0.40512703935907823__29
.while__0.40512703935907823__29__end:
pop eax
ret















_0.3877747334482045_:

hxview_bios_getkey:

   xor ah,ah
   int 16h

ret


hxview_bios_clearscreen0:
 pushf
 pusha
  ;
  ;;;
    mov ah,6       ;
    mov al,0       ;
                   ;
    mov bh,0x7     ;
                   ;
    xor cx,cx      ;
    mov dx,0x1950  ;
                   ;
     int 10h

  ;
  ;;;
    mov ah,2   ;
    mov bh,0   ;
               ;
               ;
               ;
    xor dx,dx  ;
      int 10h
 popa
 popf
ret

hxview_hexnum2str:
push eax
push ebx
push edx
;push edi
push ebp
mov bl,16; //#autosolved0000
and ebx,11111111b
mov ecx,0; //#autosolved0000
.if__0.9278668221618946__76:



cmp eax,0
jne .if__0.9278668221618946__76__end;
;inc ecx
mov ecx,2

mov byte[edi],'0';
mov byte[edi-1],'0';
sub edi,1

jmp .end
.if__0.9278668221618946__76__end:





push eax

.while__0.5096008967974208__59:
cmp eax,0
je .while__0.5096008967974208__59__end
inc ecx
mov edx,0; //#autosolved0000
div ebx;   ;
 mov ebp,edx;
.if__0.8962075359099315__162:
cmp dl,0
jb .if__0.8962075359099315__162__0;
cmp dl,9
ja .if__0.8962075359099315__162__0;
add dl,0x30
jmp .if__0.8962075359099315__162__end;

.if__0.8962075359099315__162__0:
.if__0.4757114783180842__194:
cmp dl,10
jb .if__0.4757114783180842__194__end;
add dl,(0x41-10);
.if__0.8962075359099315__162__end:
.if__0.4757114783180842__194__end:
mov byte[edi],dl;


dec edi
jmp .while__0.5096008967974208__59
.while__0.5096008967974208__59__end:


inc edi


pop eax




cmp eax,0xF
ja .if__0.9278668221618946__7e__end;

dec edi
inc ecx

mov byte[edi],'0';



.if__0.9278668221618946__7e__end:




.end:
pop ebp
;pop edi
pop edx
pop ebx
pop eax
ret



align 16
hxview_generic_line:
db 0x20,0x1E,0x20,0x1E
db '0',0x1E,'0',0x1E,'0',0x1E,'0',0x1E,'0',0x1E,'0',0x1E,'0',0x1E,'0',0x1E
db ':',0x1E
db 0x20,0x1E,0x20,0x1E
db 0x00,0x1E,0x00,0x1E,0x20,0x1E
db 0x00,0x1E,0x00,0x1E,0x20,0x1E
db 0x00,0x1E,0x00,0x1E,0x20,0x1E
db 0x00,0x1E,0x00,0x1E,'-',0x1E
db 0x00,0x1E,0x00,0x1E,0x20,0x1E
db 0x00,0x1E,0x00,0x1E,0x20,0x1E
db 0x00,0x1E,0x00,0x1E,0x20,0x1E
db 0x00,0x1E,0x00,0x1E,'-',0x1E
db 0x00,0x1E,0x00,0x1E,0x20,0x1E
db 0x00,0x1E,0x00,0x1E,0x20,0x1E
db 0x00,0x1E,0x00,0x1E,0x20,0x1E
db 0x00,0x1E,0x00,0x1E,'-',0x1E
db 0x00,0x1E,0x00,0x1E,0x20,0x1E
db 0x00,0x1E,0x00,0x1E,0x20,0x1E
db 0x00,0x1E,0x00,0x1E,0x20,0x1E
db 0x00,0x1E,0x00,0x1E
db 0x20,0x1E,0x20,0x1E
db 0x20,0x1E,0x20,0x1E,0x20,0x1E,0x20,0x1E,0x20,0x1E,0x20,0x1E,0x20,0x1E,0x20,0x1E,0x20,0x1E,0x20,0x1E,0x20,0x1E,0x20,0x1E,0x20,0x1E,0x20,0x1E,0x20,0x1E,0x20,0x1E
db 0x20,0x1E,0x20,0x1E
hxview_num_buff dq 0
hxview_num_buff__END:
db "hxview_hexvals_ptr"
hxview_hexvals_ptr times 16 db 0
hxview_asciivals_ptr dq 0
hxview_offsets_ptr dq 0
hxview_original_ptr dq 0


%include "args.inc"
%include "arg2num.inc"
%include "get_arg_offst.inc"
%include "str2num.inc"


hxview_starter dd 0
