Function at 0x1401c6070
Capabilities:
Manipulate console buffer
Parse credit card information
Write file on windows

Disassembly:
jmp 0x140308110
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rdi
sub rsp, 0xf58
lea rbp, [rsp + 0x30]
lea rdi, [rsp + 0x30]
mov ecx, 0x2aa
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0xf78]
mov rax, qword [0x140646600]
xor rax, rbp
mov qword [rbp + 0xf18], rax
lea rcx, reloc.WS2_32.dll_accept
call fcn.1401ca792
movzx eax, byte [0x140570ae6]
mov byte [rbp + 0x70], al
lea rax, [rbp + 0x71]
mov rdi, rax
xor eax, eax
mov ecx, 0x805
rep stosb byte [rdi], al
mov qword [rbp + 0x878], 0
mov qword [rbp + 0x880], 0
mov dword [rbp + 0x888], 0
cmp qword [rbp + 0xf48], 0
je 0x1403081b5
mov rax, qword [rbp + 0xf48]
movsx eax, byte [rax]
test eax, eax
jne 0x1403081bc
xor eax, eax
jmp 0x140309187
mov r9, qword [rbp + 0xf50]
mov r8, qword [rbp + 0xf48]
mov edx, 0x806
lea rcx, [rbp + 0x70]
call fcn.1401c125f
mov dword [rbp + 0x888], eax
cmp dword [rbp + 0x888], 0
jl 0x140308203
cmp dword [rbp + 0x888], 0x806
jge 0x140308203
lea rax, [rbp + 0x70]
mov qword [rbp + 0x880], rax
jmp 0x140308294
mov eax, dword [0x140646250]
add eax, 0xf
lea r8, str.VFPRINTF
mov edx, eax
lea rcx, str.C:Users_rolanOneDriveDesktopRagnarok_OnlineRO_FILES_rathena_srccommon_showmsg.cpp
call fcn.1401c6615
mov qword [rbp + 0x878], rax
mov eax, dword [0x140646250]
add eax, 0xf
mov rcx, qword [rbp + 0xf50]
mov qword [rsp + 0x28], rcx
mov rcx, qword [rbp + 0xf48]
mov qword [rsp + 0x20], rcx
mov r9, qword [rbp + 0x878]
lea r8, str.VFPRINTF
mov edx, eax
lea rcx, str.C:Users_rolanOneDriveDesktopRagnarok_OnlineRO_FILES_rathena_srccommon_showmsg.cpp
call fcn.1401c2e25
mov dword [rbp + 0x888], eax
mov rcx, qword [rbp + 0x878]
call fcn.1401c0148
mov qword [rbp + 0x880], rax
mov eax, dword [rbp + 0x888]
inc eax
mov edx, eax
lea rcx, str.showmsg:_dynamic_buffer_used__increase_the_static_buffer_size_to__d_or_more._n
call fcn.1401c1be2
mov rcx, qword [rbp + 0xf40]
call qword [sym.imp.KERNEL32.dll_GetFileType]
cmp eax, 2
je 0x1403082de
cmp dword [0x14064d6f0], 0
je 0x1403082de
mov qword [rsp + 0x20], 0
lea r9, [rbp + 4]
mov r8d, dword [rbp + 0x888]
mov rdx, qword [rbp + 0x880]
mov rcx, qword [rbp + 0xf40]
call qword [sym.imp.KERNEL32.dll_WriteFile]
xor eax, eax
jmp 0x140309187
mov rax, qword [rbp + 0x880]
mov qword [rbp + 0x28], rax
mov edx, 0x1b
mov rcx, qword [rbp + 0x28]
call fcn.1401c396f
mov qword [rbp + 0x48], rax
cmp qword [rbp + 0x48], 0
je 0x1403090f6
mov rax, qword [rbp + 0x28]
mov rcx, qword [rbp + 0x48]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x20], 0
lea r9, [rbp + 4]
mov r8d, eax
mov rdx, qword [rbp + 0x28]
mov rcx, qword [rbp + 0xf40]
call qword [sym.imp.KERNEL32.dll_WriteConsoleA]
test eax, eax
jne 0x140308368
mov rax, qword [rbp + 0x28]
mov rcx, qword [rbp + 0x48]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x20], 0
lea r9, [rbp + 4]
mov r8d, eax
mov rdx, qword [rbp + 0x28]
mov rcx, qword [rbp + 0xf40]
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov eax, 1
imul rax, rax, 1
mov rcx, qword [rbp + 0x48]
movsx eax, byte [rcx + rax]
cmp eax, 0x5b
je 0x1403083da
mov qword [rsp + 0x20], 0
lea r9, [rbp + 4]
mov r8d, 1
mov rdx, qword [rbp + 0x48]
mov rcx, qword [rbp + 0xf40]
call qword [sym.imp.KERNEL32.dll_WriteConsoleA]
test eax, eax
jne 0x1403083ca
mov qword [rsp + 0x20], 0
lea r9, [rbp + 4]
mov r8d, 1
mov rdx, qword [rbp + 0x48]
mov rcx, qword [rbp + 0xf40]
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rax, qword [rbp + 0x48]
inc rax
mov qword [rbp + 0x28], rax
jmp 0x1403090f1
mov byte [rbp + 0x8d4], 0
lea rdx, [rbp + 0x8f8]
mov rcx, qword [rbp + 0xf40]
call qword [sym.imp.KERNEL32.dll_GetConsoleScreenBufferInfo]
mov r8d, reloc.WS2_32.dll_recv
xor edx, edx
lea rcx, [rbp + 0x8a8]
call fcn.1401c75c9
mov rax, qword [rbp + 0x48]
add rax, 2
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x48]
movzx eax, byte [rax]
mov ecx, eax
call fcn.1401c534b
test eax, eax
je 0x140308465
movzx eax, byte [rbp + 0x8d4]
movzx eax, byte [rbp + rax + 0x8a8]
shl eax, 4
mov rcx, qword [rbp + 0x48]
movsx ecx, byte [rcx]
sub ecx, 0x30
or eax, ecx
movzx ecx, byte [rbp + 0x8d4]
mov byte [rbp + rcx + 0x8a8], al
mov rax, qword [rbp + 0x48]
inc rax
mov qword [rbp + 0x48], rax
jmp 0x140308415
mov rax, qword [rbp + 0x48]
movsx eax, byte [rax]
cmp eax, 0x3b
jne 0x1403084f0
movzx eax, byte [rbp + 0x8d4]
cmp rax, 0x10
jae 0x14030848f
movzx eax, byte [rbp + 0x8d4]
inc al
mov byte [rbp + 0x8d4], al
jmp 0x1403084db
lea rax, [rbp + 0x8a9]
mov r8d, reloc.WS2_32.dll_ntohs
mov rdx, rax
lea rcx, [rbp + 0x8a8]
call fcn.1401cb5de
mov eax, 1
imul rax, rax, 0xf
mov qword [rbp + 0xf08], rax
cmp qword [rbp + 0xf08], 0x10
jae 0x1403084c7
jmp 0x1403084cc
call fcn.1401c6fed
mov rax, qword [rbp + 0xf08]
mov byte [rbp + rax + 0x8a8], 0
mov rax, qword [rbp + 0x48]
inc rax
mov qword [rbp + 0x48], rax
jmp 0x140308415
mov rax, qword [rbp + 0x48]
movsx eax, byte [rax]
cmp eax, 0x6d
jne 0x140308840
mov byte [rbp + 0x924], 0
jmp 0x140308518
movzx eax, byte [rbp + 0x924]
inc al
mov byte [rbp + 0x924], al
movzx eax, byte [rbp + 0x924]
movzx ecx, byte [rbp + 0x8d4]
cmp eax, ecx
jg 0x140308827
movzx eax, byte [rbp + 0x924]
movzx eax, byte [rbp + rax + 0x8a8]
and eax, 0xf0
test eax, eax
jne 0x1403085e4
movzx eax, byte [rbp + 0x924]
movzx eax, byte [rbp + rax + 0x8a8]
test eax, eax
jne 0x14030856b
mov eax, 7
mov word [rbp + 0x900], ax
jmp 0x1403085df
movzx eax, byte [rbp + 0x924]
movzx eax, byte [rbp + rax + 0x8a8]
cmp eax, 1
jne 0x140308592
movzx eax, word [rbp + 0x900]
or eax, 8
mov word [rbp + 0x900], ax
jmp 0x1403085df
movzx eax, byte [rbp + 0x924]
movzx eax, byte [rbp + rax + 0x8a8]
cmp eax, 5
jne 0x1403085ba
movzx eax, word [rbp + 0x900]
bts eax, 7
mov word [rbp + 0x900], ax
jmp 0x1403085df
movzx eax, byte [rbp + 0x924]
movzx eax, byte [rbp + rax + 0x8a8]
cmp eax, 7
jne 0x1403085df
movzx eax, word [rbp + 0x900]
xor eax, 0x77
mov word [rbp + 0x900], ax
jmp 0x140308822
movzx eax, byte [rbp + 0x924]
movzx eax, byte [rbp + rax + 0x8a8]
and eax, 0xf0
cmp eax, 0x20
jne 0x140308676
movzx eax, byte [rbp + 0x924]
movzx eax, byte [rbp + rax + 0x8a8]
cmp eax, 1
jne 0x140308624
movzx eax, word [rbp + 0x900]
and eax, 0xfffffff7
mov word [rbp + 0x900], ax
jmp 0x140308671
movzx eax, byte [rbp + 0x924]
movzx eax, byte [rbp + rax + 0x8a8]
cmp eax, 5
jne 0x14030864c
movzx eax, word [rbp + 0x900]
btr eax, 7
mov word [rbp + 0x900], ax
jmp 0x140308671
movzx eax, byte [rbp + 0x924]
movzx eax, byte [rbp + rax + 0x8a8]
cmp eax, 7
jne 0x140308671
movzx eax, word [rbp + 0x900]
xor eax, 0x77
mov word [rbp + 0x900], ax
jmp 0x140308822
movzx eax, byte [rbp + 0x924]
movzx eax, byte [rbp + rax + 0x8a8]
and eax, 0xf0
cmp eax, 0x30
jne 0x14030874e
movzx eax, byte [rbp + 0x924]
movzx eax, byte [rbp + rax + 0x8a8]
and eax, 0xf
mov byte [rbp + 0x944], al
movzx eax, byte [rbp + 0x944]
cmp eax, 9
jne 0x1403086c8
movzx eax, word [rbp + 0x900]
or eax, 8
mov word [rbp + 0x900], ax
movzx eax, byte [rbp + 0x944]
cmp eax, 7
jle 0x1403086db
mov byte [rbp + 0x944], 7
movzx eax, word [rbp + 0x900]
and eax, 0xfffffff8
mov word [rbp + 0x900], ax
movzx eax, byte [rbp + 0x944]
and eax, 1
test eax, eax
jle 0x14030870b
movzx eax, word [rbp + 0x900]
or eax, 4
mov word [rbp + 0x900], ax
movzx eax, byte [rbp + 0x944]
and eax, 2
test eax, eax
jle 0x14030872a
movzx eax, word [rbp + 0x900]
or eax, 2
mov word [rbp + 0x900], ax
movzx eax, byte [rbp + 0x944]
and eax, 4
test eax, eax
jle 0x140308749
movzx eax, word [rbp + 0x900]
or eax, 1
mov word [rbp + 0x900], ax
jmp 0x140308822
movzx eax, byte [rbp + 0x924]
movzx eax, byte [rbp + rax + 0x8a8]
and eax, 0xf0
cmp eax, 0x40
jne 0x140308822
movzx eax, byte [rbp + 0x924]
movzx eax, byte [rbp + rax + 0x8a8]
and eax, 0xf
mov byte [rbp + 0x964], al
movzx eax, byte [rbp + 0x964]
cmp eax, 9
jne 0x1403087a1
movzx eax, word [rbp + 0x900]
bts eax, 7
mov word [rbp + 0x900], ax
movzx eax, byte [rbp + 0x964]
cmp eax, 7
jle 0x1403087b4
mov byte [rbp + 0x964], 7
movzx eax, word [rbp + 0x900]
and eax, 0xffffff8f
mov word [rbp + 0x900], ax
movzx eax, byte [rbp + 0x964]
and eax, 1
test eax, eax
jle 0x1403087e4
movzx eax, word [rbp + 0x900]
or eax, 0x40
mov word [rbp + 0x900], ax
movzx eax, byte [rbp + 0x964]
and eax, 2
test eax, eax
jle 0x140308803
movzx eax, word [rbp + 0x900]
or eax, 0x20
mov word [rbp + 0x900], ax
movzx eax, byte [rbp + 0x964]
and eax, 4
test eax, eax
jle 0x140308822
movzx eax, word [rbp + 0x900]
or eax, 0x10
mov word [rbp + 0x900], ax
jmp 0x140308509
movzx edx, word [rbp + 0x900]
mov rcx, qword [rbp + 0xf40]
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
jmp 0x1403090df
mov rax, qword [rbp + 0x48]
movsx eax, byte [rax]
cmp eax, 0x4a
jne 0x14030898a
movzx eax, byte [rbp + 0x8d4]
movzx eax, byte [rbp + rax + 0x8a8]
sar eax, 4
imul eax, eax, 0xa
movzx ecx, byte [rbp + 0x8d4]
movzx ecx, byte [rbp + rcx + 0x8a8]
and ecx, 0xf
add eax, ecx
mov byte [rbp + 0x984], al
xor eax, eax
mov word [rbp + 0x9e4], ax
xor eax, eax
mov word [rbp + 0x9e6], ax
movzx eax, byte [rbp + 0x984]
cmp eax, 1
jne 0x1403088c1
movsx eax, word [rbp + 0x8f8]
movsx ecx, word [rbp + 0x8fe]
imul eax, ecx
movsx ecx, word [rbp + 0x8fc]
lea eax, [rax + rcx + 1]
mov dword [rbp + 0x9a4], eax
jmp 0x14030892e
movzx eax, byte [rbp + 0x984]
cmp eax, 2
jne 0x1403088f9
movsx eax, word [rbp + 0x8f8]
movsx ecx, word [rbp + 0x8fa]
imul eax, ecx
mov dword [rbp + 0x9a4], eax
mov edx, dword [rbp + 0x9e4]
mov rcx, qword [rbp + 0xf40]
call qword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
jmp 0x14030892e
mov eax, dword [rbp + 0x8fc]
mov dword [rbp + 0x9e4], eax
movsx eax, word [rbp + 0x8f8]
movsx ecx, word [rbp + 0x8fa]
movsx edx, word [rbp + 0x8fe]
sub ecx, edx
imul eax, ecx
movsx ecx, word [rbp + 0x8fc]
sub eax, ecx
mov dword [rbp + 0x9a4], eax
lea rax, [rbp + 0x9c4]
mov qword [rsp + 0x20], rax
mov r9d, dword [rbp + 0x9e4]
mov r8d, dword [rbp + 0x9a4]
movzx edx, word [rbp + 0x900]
mov rcx, qword [rbp + 0xf40]
call qword [sym.imp.KERNEL32.dll_FillConsoleOutputAttribute]
lea rax, [rbp + 0x9c4]
mov qword [rsp + 0x20], rax
mov r9d, dword [rbp + 0x9e4]
mov r8d, dword [rbp + 0x9a4]
mov dl, 0x20
mov rcx, qword [rbp + 0xf40]
call qword [sym.imp.KERNEL32.dll_FillConsoleOutputCharacterA]
jmp 0x1403090df
mov rax, qword [rbp + 0x48]
movsx eax, byte [rax]
cmp eax, 0x4b
jne 0x140308a9f
movzx eax, byte [rbp + 0x8d4]
movzx eax, byte [rbp + rax + 0x8a8]
sar eax, 4
imul eax, eax, 0xa
movzx ecx, byte [rbp + 0x8d4]
movzx ecx, byte [rbp + rcx + 0x8a8]
and ecx, 0xf
add eax, ecx
mov byte [rbp + 0xa04], al
xor eax, eax
mov word [rbp + 0xa24], ax
movzx eax, word [rbp + 0x8fe]
mov word [rbp + 0xa26], ax
movzx eax, byte [rbp + 0xa04]
cmp eax, 1
jne 0x1403089fe
movsx eax, word [rbp + 0x8fc]
inc eax
mov word [rbp + 0xa44], ax
jmp 0x140308a3d
movzx eax, byte [rbp + 0xa04]
cmp eax, 2
jne 0x140308a1a
movzx eax, word [rbp + 0x8f8]
mov word [rbp + 0xa44], ax
jmp 0x140308a3d
mov eax, dword [rbp + 0x8fc]
mov dword [rbp + 0xa24], eax
movsx eax, word [rbp + 0x8f8]
movsx ecx, word [rbp + 0x8fc]
sub eax, ecx
mov word [rbp + 0xa44], ax
movsx eax, word [rbp + 0xa44]
lea rcx, [rbp + 0xa64]
mov qword [rsp + 0x20], rcx
mov r9d, dword [rbp + 0xa24]
mov r8d, eax
movzx edx, word [rbp + 0x900]
mov rcx, qword [rbp + 0xf40]
call qword [sym.imp.KERNEL32.dll_FillConsoleOutputAttribute]
movsx eax, word [rbp + 0xa44]
lea rcx, [rbp + 0xa64]
mov qword [rsp + 0x20], rcx
mov r9d, dword [rbp + 0xa24]
mov r8d, eax
mov dl, 0x20
mov rcx, qword [rbp + 0xf40]
call qword [sym.imp.KERNEL32.dll_FillConsoleOutputCharacterA]
jmp 0x1403090df
mov rax, qword [rbp + 0x48]
movsx eax, byte [rax]
cmp eax, 0x48
je 0x140308abb
mov rax, qword [rbp + 0x48]
movsx eax, byte [rax]
cmp eax, 0x66
jne 0x140308beb
movzx eax, byte [rbp + 0x8d4]
movzx eax, byte [rbp + rax + 0x8a8]
test eax, eax
je 0x140308b01
movzx eax, byte [rbp + 0x8d4]
movzx eax, byte [rbp + rax + 0x8a8]
sar eax, 4
imul eax, eax, 0xa
movzx ecx, byte [rbp + 0x8d4]
movzx ecx, byte [rbp + rcx + 0x8a8]
and ecx, 0xf
lea eax, [rax + rcx - 1]
mov dword [rbp + 0xf14], eax
jmp 0x140308b0b
mov dword [rbp + 0xf14], 0
movzx eax, word [rbp + 0xf14]
mov word [rbp + 0x8fc], ax
movzx eax, byte [rbp + 0x8d4]
test eax, eax
je 0x140308b77
movzx eax, byte [rbp + 0x8d4]
dec eax
cdqe
movzx eax, byte [rbp + rax + 0x8a8]
test eax, eax
je 0x140308b77
movzx eax, byte [rbp + 0x8d4]
dec eax
cdqe
movzx eax, byte [rbp + rax + 0x8a8]
sar eax, 4
imul eax, eax, 0xa
movzx ecx, byte [rbp + 0x8d4]
dec ecx
movsxd rcx, ecx
movzx ecx, byte [rbp + rcx + 0x8a8]
and ecx, 0xf
lea eax, [rax + rcx - 1]
mov dword [rbp + 0xf14], eax
jmp 0x140308b81
mov dword [rbp + 0xf14], 0
movzx eax, word [rbp + 0xf14]
mov word [rbp + 0x8fe], ax
movsx eax, word [rbp + 0x8fc]
movsx ecx, word [rbp + 0x8f8]
cmp eax, ecx
jl 0x140308bb1
movsx eax, word [rbp + 0x8f8]
dec eax
mov word [rbp + 0x8fe], ax
movsx eax, word [rbp + 0x8fe]
movsx ecx, word [rbp + 0x8fa]
cmp eax, ecx
jl 0x140308bd3
movsx eax, word [rbp + 0x8fa]
dec eax
mov word [rbp + 0x8fe], ax
mov edx, dword [rbp + 0x8fc]
mov rcx, qword [rbp + 0xf40]
call qword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
jmp 0x1403090df
mov rax, qword [rbp + 0x48]
movsx eax, byte [rax]
cmp eax, 0x73
jne 0x140308bfc
jmp 0x1403090df
mov rax, qword [rbp + 0x48]
movsx eax, byte [rax]
cmp eax, 0x75
jne 0x140308c0d
jmp 0x1403090df
mov rax, qword [rbp + 0x48]
movsx eax, byte [rax]
cmp eax, 0x41
jne 0x140308cab
movzx eax, byte [rbp + 0x8d4]
movzx eax, byte [rbp + rax + 0x8a8]
test eax, eax
je 0x140308c61
movzx eax, byte [rbp + 0x8d4]
movzx eax, byte [rbp + rax + 0x8a8]
sar eax, 4
imul eax, eax, 0xa
movzx ecx, byte [rbp + 0x8d4]
movzx ecx, byte [rbp + rcx + 0x8a8]
and ecx, 0xf
add eax, ecx
mov dword [rbp + 0xf14], eax
jmp 0x140308c6b
mov dword [rbp + 0xf14], 1
movsx eax, word [rbp + 0x8fe]
sub eax, dword [rbp + 0xf14]
mov word [rbp + 0x8fe], ax
movsx eax, word [rbp + 0x8fe]
test eax, eax
jge 0x140308c93
xor eax, eax
mov word [rbp + 0x8fe], ax
mov edx, dword [rbp + 0x8fc]
mov rcx, qword [rbp + 0xf40]
call qword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
jmp 0x1403090df
mov rax, qword [rbp + 0x48]
movsx eax, byte [rax]
cmp eax, 0x42
jne 0x140308d57
movzx eax, byte [rbp + 0x8d4]
movzx eax, byte [rbp + rax + 0x8a8]
test eax, eax
je 0x140308cff
movzx eax, byte [rbp + 0x8d4]
movzx eax, byte [rbp + rax + 0x8a8]
sar eax, 4
imul eax, eax, 0xa
movzx ecx, byte [rbp + 0x8d4]
movzx ecx, byte [rbp + rcx + 0x8a8]
and ecx, 0xf
add eax, ecx
mov dword [rbp + 0xf14], eax
jmp 0x140308d09
mov dword [rbp + 0xf14], 1
movsx eax, word [rbp + 0x8fe]
add eax, dword [rbp + 0xf14]
mov word [rbp + 0x8fe], ax
movsx eax, word [rbp + 0x8fe]
movsx ecx, word [rbp + 0x8fa]
cmp eax, ecx
jl 0x140308d3f
movsx eax, word [rbp + 0x8fa]
dec eax
mov word [rbp + 0x8fe], ax
mov edx, dword [rbp + 0x8fc]
mov rcx, qword [rbp + 0xf40]
call qword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
jmp 0x1403090df
mov rax, qword [rbp + 0x48]
movsx eax, byte [rax]
cmp eax, 0x43
jne 0x140308e03
movzx eax, byte [rbp + 0x8d4]
movzx eax, byte [rbp + rax + 0x8a8]
test eax, eax
je 0x140308dab
movzx eax, byte [rbp + 0x8d4]
movzx eax, byte [rbp + rax + 0x8a8]
sar eax, 4
imul eax, eax, 0xa
movzx ecx, byte [rbp + 0x8d4]
movzx ecx, byte [rbp + rcx + 0x8a8]
and ecx, 0xf
add eax, ecx
mov dword [rbp + 0xf14], eax
jmp 0x140308db5
mov dword [rbp + 0xf14], 1
movsx eax, word [rbp + 0x8fc]
add eax, dword [rbp + 0xf14]
mov word [rbp + 0x8fc], ax
movsx eax, word [rbp + 0x8fc]
movsx ecx, word [rbp + 0x8f8]
cmp eax, ecx
jl 0x140308deb
movsx eax, word [rbp + 0x8f8]
dec eax
mov word [rbp + 0x8fc], ax
mov edx, dword [rbp + 0x8fc]
mov rcx, qword [rbp + 0xf40]
call qword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
jmp 0x1403090df
mov rax, qword [rbp + 0x48]
movsx eax, byte [rax]
cmp eax, 0x44
jne 0x140308ea1
movzx eax, byte [rbp + 0x8d4]
movzx eax, byte [rbp + rax + 0x8a8]
test eax, eax
je 0x140308e57
movzx eax, byte [rbp + 0x8d4]
movzx eax, byte [rbp + rax + 0x8a8]
sar eax, 4
imul eax, eax, 0xa
movzx ecx, byte [rbp + 0x8d4]
movzx ecx, byte [rbp + rcx + 0x8a8]
and ecx, 0xf
add eax, ecx
mov dword [rbp + 0xf14], eax
jmp 0x140308e61
mov dword [rbp + 0xf14], 1
movsx eax, word [rbp + 0x8fc]
sub eax, dword [rbp + 0xf14]
mov word [rbp + 0x8fc], ax
movsx eax, word [rbp + 0x8fc]
test eax, eax
jge 0x140308e89
xor eax, eax
mov word [rbp + 0x8fc], ax
mov edx, dword [rbp + 0x8fc]
mov rcx, qword [rbp + 0xf40]
call qword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
jmp 0x1403090df
mov rax, qword [rbp + 0x48]
movsx eax, byte [rax]
cmp eax, 0x45
jne 0x140308f56
movzx eax, byte [rbp + 0x8d4]
movzx eax, byte [rbp + rax + 0x8a8]
test eax, eax
je 0x140308ef5
movzx eax, byte [rbp + 0x8d4]
movzx eax, byte [rbp + rax + 0x8a8]
sar eax, 4
imul eax, eax, 0xa
movzx ecx, byte [rbp + 0x8d4]
movzx ecx, byte [rbp + rcx + 0x8a8]
and ecx, 0xf
add eax, ecx
mov dword [rbp + 0xf14], eax
jmp 0x140308eff
mov dword [rbp + 0xf14], 1
movsx eax, word [rbp + 0x8fe]
add eax, dword [rbp + 0xf14]
mov word [rbp + 0x8fe], ax
xor eax, eax
mov word [rbp + 0x8fc], ax
movsx eax, word [rbp + 0x8fe]
movsx ecx, word [rbp + 0x8fa]
cmp eax, ecx
jl 0x140308f3e
movsx eax, word [rbp + 0x8fa]
dec eax
mov word [rbp + 0x8fe], ax
mov edx, dword [rbp + 0x8fc]
mov rcx, qword [rbp + 0xf40]
call qword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
jmp 0x1403090df
mov rax, qword [rbp + 0x48]
movsx eax, byte [rax]
cmp eax, 0x46
jne 0x140308ffd
movzx eax, byte [rbp + 0x8d4]
movzx eax, byte [rbp + rax + 0x8a8]
test eax, eax
je 0x140308faa
movzx eax, byte [rbp + 0x8d4]
movzx eax, byte [rbp + rax + 0x8a8]
sar eax, 4
imul eax, eax, 0xa
movzx ecx, byte [rbp + 0x8d4]
movzx ecx, byte [rbp + rcx + 0x8a8]
and ecx, 0xf
add eax, ecx
mov dword [rbp + 0xf14], eax
jmp 0x140308fb4
mov dword [rbp + 0xf14], 1
movsx eax, word [rbp + 0x8fe]
sub eax, dword [rbp + 0xf14]
mov word [rbp + 0x8fe], ax
xor eax, eax
mov word [rbp + 0x8fc], ax
movsx eax, word [rbp + 0x8fe]
test eax, eax
jge 0x140308fe5
xor eax, eax
mov word [rbp + 0x8fe], ax
mov edx, dword [rbp + 0x8fc]
mov rcx, qword [rbp + 0xf40]
call qword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
jmp 0x1403090df
mov rax, qword [rbp + 0x48]
movsx eax, byte [rax]
cmp eax, 0x47
jne 0x1403090a2
movzx eax, byte [rbp + 0x8d4]
movzx eax, byte [rbp + rax + 0x8a8]
test eax, eax
je 0x140309053
movzx eax, byte [rbp + 0x8d4]
movzx eax, byte [rbp + rax + 0x8a8]
sar eax, 4
imul eax, eax, 0xa
movzx ecx, byte [rbp + 0x8d4]
movzx ecx, byte [rbp + rcx + 0x8a8]
and ecx, 0xf
lea eax, [rax + rcx - 1]
mov dword [rbp + 0xf14], eax
jmp 0x14030905d
mov dword [rbp + 0xf14], 0
movzx eax, word [rbp + 0xf14]
mov word [rbp + 0x8fc], ax
movsx eax, word [rbp + 0x8fc]
movsx ecx, word [rbp + 0x8f8]
cmp eax, ecx
jl 0x14030908d
movsx eax, word [rbp + 0x8f8]
dec eax
mov word [rbp + 0x8fc], ax
mov edx, dword [rbp + 0x8fc]
mov rcx, qword [rbp + 0xf40]
call qword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
jmp 0x1403090df
mov rax, qword [rbp + 0x48]
movsx eax, byte [rax]
cmp eax, 0x4c
je 0x1403090d2
mov rax, qword [rbp + 0x48]
movsx eax, byte [rax]
cmp eax, 0x4d
je 0x1403090d2
mov rax, qword [rbp + 0x48]
movsx eax, byte [rax]
cmp eax, 0x40
je 0x1403090d2
mov rax, qword [rbp + 0x48]
movsx eax, byte [rax]
cmp eax, 0x50
jne 0x1403090d4
jmp 0x1403090df
mov rax, qword [rbp + 0x48]
dec rax
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x48]
inc rax
mov qword [rbp + 0x28], rax
jmp 0x1403090f1
jmp 0x1403082e9
mov rax, qword [rbp + 0x28]
movsx eax, byte [rax]
test eax, eax
je 0x140309159
mov rcx, qword [rbp + 0x28]
call fcn.1401c39ec
mov qword [rsp + 0x20], 0
lea r9, [rbp + 4]
mov r8d, eax
mov rdx, qword [rbp + 0x28]
mov rcx, qword [rbp + 0xf40]
call qword [sym.imp.KERNEL32.dll_WriteConsoleA]
test eax, eax
jne 0x140309159
mov rcx, qword [rbp + 0x28]
call fcn.1401c39ec
mov qword [rsp + 0x20], 0
lea r9, [rbp + 4]
mov r8d, eax
mov rdx, qword [rbp + 0x28]
mov rcx, qword [rbp + 0xf40]
call qword [sym.imp.KERNEL32.dll_WriteFile]
cmp qword [rbp + 0x878], 0
je 0x14030917a
mov rcx, qword [rbp + 0x878]
call fcn.1401c792f
mov qword [rbp + 0x878], 0
mov qword [rbp + 0x880], 0
xor eax, eax
mov rdi, rax
lea rcx, [rbp - 0x30]
lea rdx, reloc.WS2_32.dll_htonl
call fcn.1401c8505
mov rax, rdi
mov rcx, qword [rbp + 0xf18]
xor rcx, rbp
call fcn.1401c40e5
lea rsp, [rbp + 0xf28]
pop rdi
pop rbp
ret