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

Disassembly:
jmp 0x1402120f0
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 [0x1404ee780]
xor rax, rbp
mov qword [rbp + 0xf18], rax
lea rcx, reloc.WS2_32.dll_accept
call fcn.14016a9fb
movzx eax, byte [0x140449fbd]
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 0x140212195
mov rax, qword [rbp + 0xf48]
movsx eax, byte [rax]
test eax, eax
jne 0x14021219c
xor eax, eax
jmp 0x140213167
mov r9, qword [rbp + 0xf50]
mov r8, qword [rbp + 0xf48]
mov edx, 0x806
lea rcx, [rbp + 0x70]
call fcn.140162b11
mov dword [rbp + 0x888], eax
cmp dword [rbp + 0x888], 0
jl 0x1402121e3
cmp dword [rbp + 0x888], 0x806
jge 0x1402121e3
lea rax, [rbp + 0x70]
mov qword [rbp + 0x880], rax
jmp 0x140212274
mov eax, dword [0x1404ee038]
add eax, 0xf
lea r8, str.VFPRINTF
mov edx, eax
lea rcx, str.C:GAMES_ro_offline_2022_20231219T050943Z_00201_emulator4cram_4th_jobs_srccommon_showmsg.cpp
call fcn.140167116
mov qword [rbp + 0x878], rax
mov eax, dword [0x1404ee038]
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:GAMES_ro_offline_2022_20231219T050943Z_00201_emulator4cram_4th_jobs_srccommon_showmsg.cpp
call fcn.14016426d
mov dword [rbp + 0x888], eax
mov rcx, qword [rbp + 0x878]
call fcn.140161c0c
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.14016336d
mov rcx, qword [rbp + 0xf40]
call qword [sym.imp.KERNEL32.dll_GetFileType]
cmp eax, 2
je 0x1402122be
cmp dword [0x14050db08], 0
je 0x1402122be
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 0x140213167
mov rax, qword [rbp + 0x880]
mov qword [rbp + 0x28], rax
mov edx, 0x1b
mov rcx, qword [rbp + 0x28]
call fcn.140164bdc
mov qword [rbp + 0x48], rax
cmp qword [rbp + 0x48], 0
je 0x1402130d6
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 0x140212348
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 0x1402123ba
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 0x1402123aa
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 0x1402130d1
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.140167e40
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.140166158
test eax, eax
je 0x140212445
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 0x1402123f5
mov rax, qword [rbp + 0x48]
movsx eax, byte [rax]
cmp eax, 0x3b
jne 0x1402124d0
movzx eax, byte [rbp + 0x8d4]
cmp rax, 0x10
jae 0x14021246f
movzx eax, byte [rbp + 0x8d4]
inc al
mov byte [rbp + 0x8d4], al
jmp 0x1402124bb
lea rax, [rbp + 0x8a9]
mov r8d, reloc.WS2_32.dll_ntohs
mov rdx, rax
lea rcx, [rbp + 0x8a8]
call fcn.14016b5fe
mov eax, 1
imul rax, rax, 0xf
mov qword [rbp + 0xf08], rax
cmp qword [rbp + 0xf08], 0x10
jae 0x1402124a7
jmp 0x1402124ac
call fcn.1401679b3
mov rax, qword [rbp + 0xf08]
mov byte [rbp + rax + 0x8a8], 0
mov rax, qword [rbp + 0x48]
inc rax
mov qword [rbp + 0x48], rax
jmp 0x1402123f5
mov rax, qword [rbp + 0x48]
movsx eax, byte [rax]
cmp eax, 0x6d
jne 0x140212820
mov byte [rbp + 0x924], 0
jmp 0x1402124f8
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 0x140212807
movzx eax, byte [rbp + 0x924]
movzx eax, byte [rbp + rax + 0x8a8]
and eax, 0xf0
test eax, eax
jne 0x1402125c4
movzx eax, byte [rbp + 0x924]
movzx eax, byte [rbp + rax + 0x8a8]
test eax, eax
jne 0x14021254b
mov eax, 7
mov word [rbp + 0x900], ax
jmp 0x1402125bf
movzx eax, byte [rbp + 0x924]
movzx eax, byte [rbp + rax + 0x8a8]
cmp eax, 1
jne 0x140212572
movzx eax, word [rbp + 0x900]
or eax, 8
mov word [rbp + 0x900], ax
jmp 0x1402125bf
movzx eax, byte [rbp + 0x924]
movzx eax, byte [rbp + rax + 0x8a8]
cmp eax, 5
jne 0x14021259a
movzx eax, word [rbp + 0x900]
bts eax, 7
mov word [rbp + 0x900], ax
jmp 0x1402125bf
movzx eax, byte [rbp + 0x924]
movzx eax, byte [rbp + rax + 0x8a8]
cmp eax, 7
jne 0x1402125bf
movzx eax, word [rbp + 0x900]
xor eax, 0x77
mov word [rbp + 0x900], ax
jmp 0x140212802
movzx eax, byte [rbp + 0x924]
movzx eax, byte [rbp + rax + 0x8a8]
and eax, 0xf0
cmp eax, 0x20
jne 0x140212656
movzx eax, byte [rbp + 0x924]
movzx eax, byte [rbp + rax + 0x8a8]
cmp eax, 1
jne 0x140212604
movzx eax, word [rbp + 0x900]
and eax, 0xfffffff7
mov word [rbp + 0x900], ax
jmp 0x140212651
movzx eax, byte [rbp + 0x924]
movzx eax, byte [rbp + rax + 0x8a8]
cmp eax, 5
jne 0x14021262c
movzx eax, word [rbp + 0x900]
btr eax, 7
mov word [rbp + 0x900], ax
jmp 0x140212651
movzx eax, byte [rbp + 0x924]
movzx eax, byte [rbp + rax + 0x8a8]
cmp eax, 7
jne 0x140212651
movzx eax, word [rbp + 0x900]
xor eax, 0x77
mov word [rbp + 0x900], ax
jmp 0x140212802
movzx eax, byte [rbp + 0x924]
movzx eax, byte [rbp + rax + 0x8a8]
and eax, 0xf0
cmp eax, 0x30
jne 0x14021272e
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 0x1402126a8
movzx eax, word [rbp + 0x900]
or eax, 8
mov word [rbp + 0x900], ax
movzx eax, byte [rbp + 0x944]
cmp eax, 7
jle 0x1402126bb
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 0x1402126eb
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 0x14021270a
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 0x140212729
movzx eax, word [rbp + 0x900]
or eax, 1
mov word [rbp + 0x900], ax
jmp 0x140212802
movzx eax, byte [rbp + 0x924]
movzx eax, byte [rbp + rax + 0x8a8]
and eax, 0xf0
cmp eax, 0x40
jne 0x140212802
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 0x140212781
movzx eax, word [rbp + 0x900]
bts eax, 7
mov word [rbp + 0x900], ax
movzx eax, byte [rbp + 0x964]
cmp eax, 7
jle 0x140212794
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 0x1402127c4
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 0x1402127e3
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 0x140212802
movzx eax, word [rbp + 0x900]
or eax, 0x10
mov word [rbp + 0x900], ax
jmp 0x1402124e9
movzx edx, word [rbp + 0x900]
mov rcx, qword [rbp + 0xf40]
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
jmp 0x1402130bf
mov rax, qword [rbp + 0x48]
movsx eax, byte [rax]
cmp eax, 0x4a
jne 0x14021296a
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 0x1402128a1
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 0x14021290e
movzx eax, byte [rbp + 0x984]
cmp eax, 2
jne 0x1402128d9
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 0x14021290e
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 0x1402130bf
mov rax, qword [rbp + 0x48]
movsx eax, byte [rax]
cmp eax, 0x4b
jne 0x140212a7f
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 0x1402129de
movsx eax, word [rbp + 0x8fc]
inc eax
mov word [rbp + 0xa44], ax
jmp 0x140212a1d
movzx eax, byte [rbp + 0xa04]
cmp eax, 2
jne 0x1402129fa
movzx eax, word [rbp + 0x8f8]
mov word [rbp + 0xa44], ax
jmp 0x140212a1d
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 0x1402130bf
mov rax, qword [rbp + 0x48]
movsx eax, byte [rax]
cmp eax, 0x48
je 0x140212a9b
mov rax, qword [rbp + 0x48]
movsx eax, byte [rax]
cmp eax, 0x66
jne 0x140212bcb
movzx eax, byte [rbp + 0x8d4]
movzx eax, byte [rbp + rax + 0x8a8]
test eax, eax
je 0x140212ae1
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 0x140212aeb
mov dword [rbp + 0xf14], 0
movzx eax, word [rbp + 0xf14]
mov word [rbp + 0x8fc], ax
movzx eax, byte [rbp + 0x8d4]
test eax, eax
je 0x140212b57
movzx eax, byte [rbp + 0x8d4]
dec eax
cdqe
movzx eax, byte [rbp + rax + 0x8a8]
test eax, eax
je 0x140212b57
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 0x140212b61
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 0x140212b91
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 0x140212bb3
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 0x1402130bf
mov rax, qword [rbp + 0x48]
movsx eax, byte [rax]
cmp eax, 0x73
jne 0x140212bdc
jmp 0x1402130bf
mov rax, qword [rbp + 0x48]
movsx eax, byte [rax]
cmp eax, 0x75
jne 0x140212bed
jmp 0x1402130bf
mov rax, qword [rbp + 0x48]
movsx eax, byte [rax]
cmp eax, 0x41
jne 0x140212c8b
movzx eax, byte [rbp + 0x8d4]
movzx eax, byte [rbp + rax + 0x8a8]
test eax, eax
je 0x140212c41
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 0x140212c4b
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 0x140212c73
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 0x1402130bf
mov rax, qword [rbp + 0x48]
movsx eax, byte [rax]
cmp eax, 0x42
jne 0x140212d37
movzx eax, byte [rbp + 0x8d4]
movzx eax, byte [rbp + rax + 0x8a8]
test eax, eax
je 0x140212cdf
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 0x140212ce9
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 0x140212d1f
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 0x1402130bf
mov rax, qword [rbp + 0x48]
movsx eax, byte [rax]
cmp eax, 0x43
jne 0x140212de3
movzx eax, byte [rbp + 0x8d4]
movzx eax, byte [rbp + rax + 0x8a8]
test eax, eax
je 0x140212d8b
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 0x140212d95
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 0x140212dcb
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 0x1402130bf
mov rax, qword [rbp + 0x48]
movsx eax, byte [rax]
cmp eax, 0x44
jne 0x140212e81
movzx eax, byte [rbp + 0x8d4]
movzx eax, byte [rbp + rax + 0x8a8]
test eax, eax
je 0x140212e37
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 0x140212e41
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 0x140212e69
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 0x1402130bf
mov rax, qword [rbp + 0x48]
movsx eax, byte [rax]
cmp eax, 0x45
jne 0x140212f36
movzx eax, byte [rbp + 0x8d4]
movzx eax, byte [rbp + rax + 0x8a8]
test eax, eax
je 0x140212ed5
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 0x140212edf
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 0x140212f1e
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 0x1402130bf
mov rax, qword [rbp + 0x48]
movsx eax, byte [rax]
cmp eax, 0x46
jne 0x140212fdd
movzx eax, byte [rbp + 0x8d4]
movzx eax, byte [rbp + rax + 0x8a8]
test eax, eax
je 0x140212f8a
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 0x140212f94
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 0x140212fc5
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 0x1402130bf
mov rax, qword [rbp + 0x48]
movsx eax, byte [rax]
cmp eax, 0x47
jne 0x140213082
movzx eax, byte [rbp + 0x8d4]
movzx eax, byte [rbp + rax + 0x8a8]
test eax, eax
je 0x140213033
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 0x14021303d
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 0x14021306d
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 0x1402130bf
mov rax, qword [rbp + 0x48]
movsx eax, byte [rax]
cmp eax, 0x4c
je 0x1402130b2
mov rax, qword [rbp + 0x48]
movsx eax, byte [rax]
cmp eax, 0x4d
je 0x1402130b2
mov rax, qword [rbp + 0x48]
movsx eax, byte [rax]
cmp eax, 0x40
je 0x1402130b2
mov rax, qword [rbp + 0x48]
movsx eax, byte [rax]
cmp eax, 0x50
jne 0x1402130b4
jmp 0x1402130bf
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 0x1402130d1
jmp 0x1402122c9
mov rax, qword [rbp + 0x28]
movsx eax, byte [rax]
test eax, eax
je 0x140213139
mov rcx, qword [rbp + 0x28]
call fcn.140164c31
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 0x140213139
mov rcx, qword [rbp + 0x28]
call fcn.140164c31
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 0x14021315a
mov rcx, qword [rbp + 0x878]
call fcn.140168133
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.140168bb0
mov rax, rdi
mov rcx, qword [rbp + 0xf18]
xor rcx, rbp
call fcn.140165226
lea rsp, [rbp + 0xf28]
pop rdi
pop rbp
ret