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

Disassembly:
jmp 0x140172580
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 [0x14044e640]
xor rax, rbp
mov qword [rbp + 0xf18], rax
lea rcx, reloc.WS2_32.dll_accept
call fcn.14013ceb8
movzx eax, byte [0x1403bec5a]
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 0x140172625
mov rax, qword [rbp + 0xf48]
movsx eax, byte [rax]
test eax, eax
jne 0x14017262c
xor eax, eax
jmp 0x1401735f7
mov r9, qword [rbp + 0xf50]
mov r8, qword [rbp + 0xf48]
mov edx, 0x806
lea rcx, [rbp + 0x70]
call fcn.140137076
mov dword [rbp + 0x888], eax
cmp dword [rbp + 0x888], 0
jl 0x140172673
cmp dword [rbp + 0x888], 0x806
jge 0x140172673
lea rax, [rbp + 0x70]
mov qword [rbp + 0x880], rax
jmp 0x140172704
mov eax, dword [0x14044e390]
add eax, 0xf
lea r8, str.VFPRINTF
mov edx, eax
lea rcx, str.C:UsersuserDesktop_raTest_srccommon_showmsg.cpp
call fcn.14013a4ab
mov qword [rbp + 0x878], rax
mov eax, dword [0x14044e390]
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:UsersuserDesktop_raTest_srccommon_showmsg.cpp
call fcn.1401381a6
mov dword [rbp + 0x888], eax
mov rcx, qword [rbp + 0x878]
call fcn.140136536
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.140137625
mov rcx, qword [rbp + 0xf40]
call qword [sym.imp.KERNEL32.dll_GetFileType]
cmp eax, 2
je 0x14017274e
cmp dword [0x140461370], 0
je 0x14017274e
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 0x1401735f7
mov rax, qword [rbp + 0x880]
mov qword [rbp + 0x28], rax
mov edx, 0x1b
mov rcx, qword [rbp + 0x28]
call fcn.1401388a9
mov qword [rbp + 0x48], rax
cmp qword [rbp + 0x48], 0
je 0x140173566
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 0x1401727d8
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 0x14017284a
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 0x14017283a
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 0x140173561
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.14013ae88
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.14013990c
test eax, eax
je 0x1401728d5
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 0x140172885
mov rax, qword [rbp + 0x48]
movsx eax, byte [rax]
cmp eax, 0x3b
jne 0x140172960
movzx eax, byte [rbp + 0x8d4]
cmp rax, 0x10
jae 0x1401728ff
movzx eax, byte [rbp + 0x8d4]
inc al
mov byte [rbp + 0x8d4], al
jmp 0x14017294b
lea rax, [rbp + 0x8a9]
mov r8d, reloc.WS2_32.dll_ntohs
mov rdx, rax
lea rcx, [rbp + 0x8a8]
call fcn.14013d72d
mov eax, 1
imul rax, rax, 0xf
mov qword [rbp + 0xf08], rax
cmp qword [rbp + 0xf08], 0x10
jae 0x140172937
jmp 0x14017293c
call fcn.14013aaf5
mov rax, qword [rbp + 0xf08]
mov byte [rbp + rax + 0x8a8], 0
mov rax, qword [rbp + 0x48]
inc rax
mov qword [rbp + 0x48], rax
jmp 0x140172885
mov rax, qword [rbp + 0x48]
movsx eax, byte [rax]
cmp eax, 0x6d
jne 0x140172cb0
mov byte [rbp + 0x924], 0
jmp 0x140172988
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 0x140172c97
movzx eax, byte [rbp + 0x924]
movzx eax, byte [rbp + rax + 0x8a8]
and eax, 0xf0
test eax, eax
jne 0x140172a54
movzx eax, byte [rbp + 0x924]
movzx eax, byte [rbp + rax + 0x8a8]
test eax, eax
jne 0x1401729db
mov eax, 7
mov word [rbp + 0x900], ax
jmp 0x140172a4f
movzx eax, byte [rbp + 0x924]
movzx eax, byte [rbp + rax + 0x8a8]
cmp eax, 1
jne 0x140172a02
movzx eax, word [rbp + 0x900]
or eax, 8
mov word [rbp + 0x900], ax
jmp 0x140172a4f
movzx eax, byte [rbp + 0x924]
movzx eax, byte [rbp + rax + 0x8a8]
cmp eax, 5
jne 0x140172a2a
movzx eax, word [rbp + 0x900]
bts eax, 7
mov word [rbp + 0x900], ax
jmp 0x140172a4f
movzx eax, byte [rbp + 0x924]
movzx eax, byte [rbp + rax + 0x8a8]
cmp eax, 7
jne 0x140172a4f
movzx eax, word [rbp + 0x900]
xor eax, 0x77
mov word [rbp + 0x900], ax
jmp 0x140172c92
movzx eax, byte [rbp + 0x924]
movzx eax, byte [rbp + rax + 0x8a8]
and eax, 0xf0
cmp eax, 0x20
jne 0x140172ae6
movzx eax, byte [rbp + 0x924]
movzx eax, byte [rbp + rax + 0x8a8]
cmp eax, 1
jne 0x140172a94
movzx eax, word [rbp + 0x900]
and eax, 0xfffffff7
mov word [rbp + 0x900], ax
jmp 0x140172ae1
movzx eax, byte [rbp + 0x924]
movzx eax, byte [rbp + rax + 0x8a8]
cmp eax, 5
jne 0x140172abc
movzx eax, word [rbp + 0x900]
btr eax, 7
mov word [rbp + 0x900], ax
jmp 0x140172ae1
movzx eax, byte [rbp + 0x924]
movzx eax, byte [rbp + rax + 0x8a8]
cmp eax, 7
jne 0x140172ae1
movzx eax, word [rbp + 0x900]
xor eax, 0x77
mov word [rbp + 0x900], ax
jmp 0x140172c92
movzx eax, byte [rbp + 0x924]
movzx eax, byte [rbp + rax + 0x8a8]
and eax, 0xf0
cmp eax, 0x30
jne 0x140172bbe
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 0x140172b38
movzx eax, word [rbp + 0x900]
or eax, 8
mov word [rbp + 0x900], ax
movzx eax, byte [rbp + 0x944]
cmp eax, 7
jle 0x140172b4b
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 0x140172b7b
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 0x140172b9a
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 0x140172bb9
movzx eax, word [rbp + 0x900]
or eax, 1
mov word [rbp + 0x900], ax
jmp 0x140172c92
movzx eax, byte [rbp + 0x924]
movzx eax, byte [rbp + rax + 0x8a8]
and eax, 0xf0
cmp eax, 0x40
jne 0x140172c92
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 0x140172c11
movzx eax, word [rbp + 0x900]
bts eax, 7
mov word [rbp + 0x900], ax
movzx eax, byte [rbp + 0x964]
cmp eax, 7
jle 0x140172c24
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 0x140172c54
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 0x140172c73
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 0x140172c92
movzx eax, word [rbp + 0x900]
or eax, 0x10
mov word [rbp + 0x900], ax
jmp 0x140172979
movzx edx, word [rbp + 0x900]
mov rcx, qword [rbp + 0xf40]
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
jmp 0x14017354f
mov rax, qword [rbp + 0x48]
movsx eax, byte [rax]
cmp eax, 0x4a
jne 0x140172dfa
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 0x140172d31
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 0x140172d9e
movzx eax, byte [rbp + 0x984]
cmp eax, 2
jne 0x140172d69
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 0x140172d9e
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 0x14017354f
mov rax, qword [rbp + 0x48]
movsx eax, byte [rax]
cmp eax, 0x4b
jne 0x140172f0f
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 0x140172e6e
movsx eax, word [rbp + 0x8fc]
inc eax
mov word [rbp + 0xa44], ax
jmp 0x140172ead
movzx eax, byte [rbp + 0xa04]
cmp eax, 2
jne 0x140172e8a
movzx eax, word [rbp + 0x8f8]
mov word [rbp + 0xa44], ax
jmp 0x140172ead
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 0x14017354f
mov rax, qword [rbp + 0x48]
movsx eax, byte [rax]
cmp eax, 0x48
je 0x140172f2b
mov rax, qword [rbp + 0x48]
movsx eax, byte [rax]
cmp eax, 0x66
jne 0x14017305b
movzx eax, byte [rbp + 0x8d4]
movzx eax, byte [rbp + rax + 0x8a8]
test eax, eax
je 0x140172f71
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 0x140172f7b
mov dword [rbp + 0xf14], 0
movzx eax, word [rbp + 0xf14]
mov word [rbp + 0x8fc], ax
movzx eax, byte [rbp + 0x8d4]
test eax, eax
je 0x140172fe7
movzx eax, byte [rbp + 0x8d4]
dec eax
cdqe
movzx eax, byte [rbp + rax + 0x8a8]
test eax, eax
je 0x140172fe7
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 0x140172ff1
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 0x140173021
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 0x140173043
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 0x14017354f
mov rax, qword [rbp + 0x48]
movsx eax, byte [rax]
cmp eax, 0x73
jne 0x14017306c
jmp 0x14017354f
mov rax, qword [rbp + 0x48]
movsx eax, byte [rax]
cmp eax, 0x75
jne 0x14017307d
jmp 0x14017354f
mov rax, qword [rbp + 0x48]
movsx eax, byte [rax]
cmp eax, 0x41
jne 0x14017311b
movzx eax, byte [rbp + 0x8d4]
movzx eax, byte [rbp + rax + 0x8a8]
test eax, eax
je 0x1401730d1
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 0x1401730db
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 0x140173103
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 0x14017354f
mov rax, qword [rbp + 0x48]
movsx eax, byte [rax]
cmp eax, 0x42
jne 0x1401731c7
movzx eax, byte [rbp + 0x8d4]
movzx eax, byte [rbp + rax + 0x8a8]
test eax, eax
je 0x14017316f
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 0x140173179
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 0x1401731af
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 0x14017354f
mov rax, qword [rbp + 0x48]
movsx eax, byte [rax]
cmp eax, 0x43
jne 0x140173273
movzx eax, byte [rbp + 0x8d4]
movzx eax, byte [rbp + rax + 0x8a8]
test eax, eax
je 0x14017321b
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 0x140173225
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 0x14017325b
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 0x14017354f
mov rax, qword [rbp + 0x48]
movsx eax, byte [rax]
cmp eax, 0x44
jne 0x140173311
movzx eax, byte [rbp + 0x8d4]
movzx eax, byte [rbp + rax + 0x8a8]
test eax, eax
je 0x1401732c7
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 0x1401732d1
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 0x1401732f9
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 0x14017354f
mov rax, qword [rbp + 0x48]
movsx eax, byte [rax]
cmp eax, 0x45
jne 0x1401733c6
movzx eax, byte [rbp + 0x8d4]
movzx eax, byte [rbp + rax + 0x8a8]
test eax, eax
je 0x140173365
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 0x14017336f
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 0x1401733ae
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 0x14017354f
mov rax, qword [rbp + 0x48]
movsx eax, byte [rax]
cmp eax, 0x46
jne 0x14017346d
movzx eax, byte [rbp + 0x8d4]
movzx eax, byte [rbp + rax + 0x8a8]
test eax, eax
je 0x14017341a
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 0x140173424
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 0x140173455
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 0x14017354f
mov rax, qword [rbp + 0x48]
movsx eax, byte [rax]
cmp eax, 0x47
jne 0x140173512
movzx eax, byte [rbp + 0x8d4]
movzx eax, byte [rbp + rax + 0x8a8]
test eax, eax
je 0x1401734c3
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 0x1401734cd
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 0x1401734fd
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 0x14017354f
mov rax, qword [rbp + 0x48]
movsx eax, byte [rax]
cmp eax, 0x4c
je 0x140173542
mov rax, qword [rbp + 0x48]
movsx eax, byte [rax]
cmp eax, 0x4d
je 0x140173542
mov rax, qword [rbp + 0x48]
movsx eax, byte [rax]
cmp eax, 0x40
je 0x140173542
mov rax, qword [rbp + 0x48]
movsx eax, byte [rax]
cmp eax, 0x50
jne 0x140173544
jmp 0x14017354f
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 0x140173561
jmp 0x140172759
mov rax, qword [rbp + 0x28]
movsx eax, byte [rax]
test eax, eax
je 0x1401735c9
mov rcx, qword [rbp + 0x28]
call fcn.1401388ef
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 0x1401735c9
mov rcx, qword [rbp + 0x28]
call fcn.1401388ef
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 0x1401735ea
mov rcx, qword [rbp + 0x878]
call fcn.14013b0ae
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.14013b8a6
mov rax, rdi
mov rcx, qword [rbp + 0xf18]
xor rcx, rbp
call fcn.140138d40
lea rsp, [rbp + 0xf28]
pop rdi
pop rbp
ret