Function at 0x14017d810
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call
Get system information on windows
Make suspicious ntquerysysteminformation call

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xe8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x60], 0xfffffffffffffffe
mov r13, rcx
mov dword [rbp + 0x2c], 0
xor r14d, r14d
lea r9, [rbp + 0x2c]
mov ecx, 0x40
xor edx, edx
xor r8d, r8d
call sub.ntdll.dll_NtQuerySystemInformation
cmp eax, 0xc0000004
jne 0x14017e548
xor ebx, ebx
mov r14, qword [sym.imp.KERNEL32.dll_VirtualFree]
mov rsi, qword [sym.imp.KERNEL32.dll_VirtualAlloc]
lea rdi, [rbp + 0x2c]
nop word cs:[rax + rax]
nop dword [rax]
mov rcx, rbx
xor edx, edx
mov r8d, 0x8000
call r14
mov edx, dword [rbp + 0x2c]
xor ecx, ecx
mov r8d, 0x3000
mov r9d, 4
call rsi
mov rbx, rax
mov r8d, dword [rbp + 0x2c]
mov ecx, 0x40
mov rdx, rax
mov r9, rdi
call sub.ntdll.dll_NtQuerySystemInformation
cmp eax, 0xc0000004
je 0x14017d880
test eax, eax
js 0x14017db91
test rbx, rbx
je 0x14017db91
cmp qword [rbx], 0
je 0x14017db9a
mov r15, rbx
add r15, 0x10
mov esi, 1
xor eax, eax
xor edi, edi
jmp 0x14017d8fa
mov eax, esi
add esi, 1
cmp qword [rbx], rax
jbe 0x14017d93f
lea rax, [rax + rax*4]
mov qword [rbp - 0x58], rdi
mov r14, r13
cmp qword [r15 + rax*8 + 0x10], r13
setne r13b
jne 0x14017d914
mov rdi, qword [r15 + rax*8]
mov r12, qword [r15 + rax*8 + 8]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov eax, eax
cmp r12, rax
sete cl
mov rdx, qword [rbp - 0x58]
cmove rdx, rdi
mov rdi, rdx
test cl, r13b
mov r13, r14
jne 0x14017d8f0
cmp r12, rax
jne 0x14017d8f0
xor r14d, r14d
mov rcx, rbx
xor edx, edx
mov r8d, 0x8000
call qword [sym.imp.KERNEL32.dll_VirtualFree]
test rdi, rdi
je 0x14017e548
mov qword [rbp - 0x50], 0
add rdi, 8
lea rdx, [rbp - 0x50]
mov r9d, 8
mov rcx, r13
mov r8, rdi
call fcn.1401837e0
test al, al
je 0x14017dbb3
mov r8, qword [rbp - 0x50]
test r8, r8
je 0x14017dbb3
mov qword [rbp - 0x48], 0
add r8, 8
lea rdx, [rbp - 0x48]
mov r9d, 8
mov rcx, r13
call fcn.1401837e0
test al, al
je 0x14017dd16
mov r8, qword [rbp - 0x48]
test r8, r8
je 0x14017dd16
mov qword [rbp - 0x40], 0
add r8, 0x28
lea rdx, [rbp - 0x40]
mov r9d, 8
mov rcx, r13
call fcn.1401837e0
test al, al
je 0x14017de86
mov r8, qword [rbp - 0x40]
test r8, r8
je 0x14017de86
xorps xmm0, xmm0
movaps xmmword [rbp + 0x30], xmm0
add r8, 0x58
lea rdx, [rbp + 0x30]
mov r9d, reloc.WS2_32.dll_recv
mov rcx, r13
call fcn.1401837e0
test al, al
je 0x14017e293
movzx esi, word [rbp + 0x30]
test rsi, rsi
je 0x14017e293
mov edi, esi
and edi, 0xfffffffe
add rdi, 2
mov rcx, rdi
call fcn.140384228
mov rbx, rax
mov rcx, rax
xor edx, edx
mov r8, rdi
call sub.VCRUNTIME140.dll_memset
mov qword [rbp - 0x38], rbx
movzx r9d, si
mov r8, qword [rbp + 0x38]
mov rcx, r13
mov rdx, rbx
call fcn.1401837e0
test al, al
je 0x14017e55f
mov word [rbp + 0x30], 0
mov rdx, qword [rbp - 0x40]
add rdx, 0x58
lea r8, [rbp + 0x30]
mov r9d, reloc.WS2_32.dll_recv
mov rcx, r13
call fcn.1401837e0
mov r14b, 1
test al, al
jne 0x14017eb51
mov eax, dword [0x140837ca0]
mov ecx, dword [0x140837ca4]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete byte [rbp + 0x40]
mov edx, 0xf757f7c8
mov eax, 0xe229a921
cmove eax, edx
cmp ecx, 0xa
setl byte [rbp + 0x50]
cmovl eax, edx
mov edx, 0xe8450762
mov ecx, 0xb3f95eb4
cmp edx, 0xe8450761
jg 0x14017db25
cmp edx, 0xb3f95eb4
je 0x14017db53
cmp edx, 0xe229a921
jne 0x14017dacf
movups xmm0, xmmword [0x1403ed78c]
movups xmmword [rbp + 0xe], xmm0
movups xmm0, xmmword [0x1403ed77e]
movaps xmmword [rbp], xmm0
movups xmm0, xmmword [0x1403ed76e]
movaps xmmword [rbp - 0x10], xmm0
movups xmm0, xmmword [0x1403ed75e]
movaps xmmword [rbp - 0x20], xmm0
movups xmm0, xmmword [0x1403ed74e]
movaps xmmword [rbp - 0x30], xmm0
mov edx, 0xb3f95eb4
jmp 0x14017dacf
cmp edx, 0xf757f7c8
je 0x14017e80b
cmp edx, 0xe8450762
jne 0x14017dacf
movzx ebx, byte [rbp + 0x40]
cmp byte [rbp + 0x50], 0
mov edx, 0xe229a921
cmovne edx, ecx
test bl, bl
cmovne edx, ecx
jmp 0x14017dacf
movups xmm0, xmmword [0x1403ed78c]
movups xmmword [rbp + 0xe], xmm0
movups xmm0, xmmword [0x1403ed77e]
movaps xmmword [rbp], xmm0
movups xmm0, xmmword [0x1403ed76e]
movaps xmmword [rbp - 0x10], xmm0
movups xmm0, xmmword [0x1403ed75e]
movaps xmmword [rbp - 0x20], xmm0
movups xmm0, xmmword [0x1403ed74e]
movaps xmmword [rbp - 0x30], xmm0
mov edx, eax
jmp 0x14017dacf
test rbx, rbx
je 0x14017e545
xor r14d, r14d
mov rcx, rbx
xor edx, edx
mov r8d, 0x8000
call qword [sym.imp.KERNEL32.dll_VirtualFree]
jmp 0x14017e548
movzx eax, word [0x1403ed64a]
mov word [rbp + 0x10], ax
movups xmm0, xmmword [0x1403ed63a]
movaps xmmword [rbp], xmm0
movups xmm0, xmmword [0x1403ed62a]
movaps xmmword [rbp - 0x10], xmm0
movups xmm0, xmmword [0x1403ed61a]
movaps xmmword [rbp - 0x20], xmm0
mov eax, dword [0x14083a68c]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x14083a690], 0xa
setl cl
or cl, al
mov r10d, 0xe52ae2cc
mov eax, 0x115b0bdf
cmove r10d, eax
movups xmm0, xmmword [0x1403ed60a]
mov ecx, 0xe6c28108
cmove ecx, eax
movaps xmmword [rbp - 0x30], xmm0
mov eax, 0x103cbebe
mov r8d, 0x148fb584
mov r9d, 0xcfa00744
cmp eax, 0xcfa00744
je 0x14017e50c
cmp eax, 0x271f26d9
je 0x14017dc59
cmp eax, 0x103cbebe
jne 0x14017dc30
cmp word [rbp + 0x10], 0
mov eax, 0x271f26d9
cmove eax, r9d
jmp 0x14017dc30
xor edi, edi
mov eax, 0x30f3dd49
cmp eax, 0x115b0bde
jg 0x14017dc90
cmp eax, 0x8f8a1a90
je 0x14017dcb9
cmp eax, 0xe52ae2cc
je 0x14017dd0c
cmp eax, 0xe6c28108
jne 0x14017dc60
mov eax, r10d
jmp 0x14017dc60
cmp eax, 0x115b0bdf
je 0x14017dcbd
cmp eax, 0x148fb584
je 0x14017dcc4
cmp eax, 0x30f3dd49
jne 0x14017dc60
mov dword [rbp + 0x30], edi
mov eax, dword [rbp + 0x30]
cmp eax, 0x21
mov eax, 0x8f8a1a90
cmovl eax, r8d
jmp 0x14017dc60
mov eax, ecx
jmp 0x14017dc60
mov eax, 0xe6c28108
jmp 0x14017dc60
movsxd rax, dword [rbp + 0x30]
movzx edi, word [rbp + rax*2 - 0x30]
movsxd rdx, dword [rbp + 0x30]
imul rbx, rdx, 0x5397829d
mov rsi, rbx
shr rsi, 0x3f
sar rbx, 0x24
add ebx, esi
imul ebx, ebx, 0x31
sub edx, ebx
lea ebx, [rdx + 0x36]
mov esi, 0xffc9
sub esi, edx
and esi, edi
not edi
and edi, ebx
or esi, edi
mov word [rbp + rax*2 - 0x30], si
mov edi, dword [rbp + 0x30]
add edi, 1
jmp 0x14017dc5b
mov eax, 0xcfa00744
jmp 0x14017dc30
movzx eax, word [0x1403ed68c]
mov word [rbp + 0x10], ax
movups xmm0, xmmword [0x1403ed67c]
movaps xmmword [rbp], xmm0
movups xmm0, xmmword [0x1403ed66c]
movaps xmmword [rbp - 0x10], xmm0
movups xmm0, xmmword [0x1403ed65c]
movaps xmmword [rbp - 0x20], xmm0
mov eax, dword [0x14083a68c]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x14083a690], 0xa
setl cl
or cl, al
mov r10d, 0xe52ae2cc
mov eax, 0x115b0bdf
cmove r10d, eax
movups xmm0, xmmword [0x1403ed64c]
mov ecx, 0xe6c28108
cmove ecx, eax
movaps xmmword [rbp - 0x30], xmm0
mov eax, 0x103cbebe
mov r8d, 0x148fb584
mov r9d, 0xcfa00744
nop word cs:[rax + rax]
nop dword [rax]
cmp eax, 0xcfa00744
je 0x14017e50c
cmp eax, 0x271f26d9
je 0x14017ddc9
cmp eax, 0x103cbebe
jne 0x14017dda0
cmp word [rbp + 0x10], 0
mov eax, 0x271f26d9
cmove eax, r9d
jmp 0x14017dda0
xor edi, edi
mov eax, 0x30f3dd49
cmp eax, 0x115b0bde
jg 0x14017de00
cmp eax, 0x8f8a1a90
je 0x14017de29
cmp eax, 0xe52ae2cc
je 0x14017de7c
cmp eax, 0xe6c28108
jne 0x14017ddd0
mov eax, r10d
jmp 0x14017ddd0
cmp eax, 0x115b0bdf
je 0x14017de2d
cmp eax, 0x148fb584
je 0x14017de34
cmp eax, 0x30f3dd49
jne 0x14017ddd0
mov dword [rbp + 0x30], edi
mov eax, dword [rbp + 0x30]
cmp eax, 0x21
mov eax, 0x8f8a1a90
cmovl eax, r8d
jmp 0x14017ddd0
mov eax, ecx
jmp 0x14017ddd0
mov eax, 0xe6c28108
jmp 0x14017ddd0
movsxd rax, dword [rbp + 0x30]
movzx edi, word [rbp + rax*2 - 0x30]
movsxd rdx, dword [rbp + 0x30]
imul rbx, rdx, 0x5397829d
mov rsi, rbx
shr rsi, 0x3f
sar rbx, 0x24
add ebx, esi
imul ebx, ebx, 0x31
sub edx, ebx
lea ebx, [rdx + 0x36]
mov esi, 0xffc9
sub esi, edx
and esi, edi
not edi
and edi, ebx
or esi, edi
mov word [rbp + rax*2 - 0x30], si
mov edi, dword [rbp + 0x30]
add edi, 1
jmp 0x14017ddcb
mov eax, 0xcfa00744
jmp 0x14017dda0
mov eax, dword [0x1403ed6ce]
mov dword [rbp + 0x10], eax
movups xmm0, xmmword [0x1403ed6be]
movaps xmmword [rbp], xmm0
movups xmm0, xmmword [0x1403ed6ae]
movaps xmmword [rbp - 0x10], xmm0
movups xmm0, xmmword [0x1403ed69e]
movaps xmmword [rbp - 0x20], xmm0
movups xmm0, xmmword [0x1403ed68e]
movaps xmmword [rbp - 0x30], xmm0
mov eax, dword [0x14083a694]
mov r9d, dword [0x14083a698]
lea r10d, [rax - 1]
imul r10d, eax
test r10b, 1
mov eax, 0xc150bec6
mov edi, 0x2cb92b43
cmove edi, eax
cmp r9d, 0xa
cmovl edi, eax
mov eax, dword [0x140837c68]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete al
cmp dword [0x140837c6c], 0xa
setl dl
or dl, al
mov r12d, 0x16a27fbc
mov eax, 0xb8d1b299
cmove r12d, eax
mov r13d, 0x11223832
cmove r13d, eax
mov eax, dword [0x14083a6a4]
mov r8d, dword [0x14083a6a8]
lea r15d, [rax - 1]
imul r15d, eax
test r15b, 1
mov edx, 0x8d206a9e
mov r11d, 0x1c3b6757
cmove r11d, edx
cmp r8d, 0xa
cmovl r11d, edx
mov edx, 0x618ddc5c
mov r14d, 0xed649ed7
nop word [rax + rax]
cmp edx, 0x11223831
jg 0x14017df90
cmp edx, 0xb8d1b299
je 0x14017e03b
cmp edx, 0xc411eab7
je 0x14017e50c
cmp edx, 0x102a351e
jne 0x14017df60
mov edx, r13d
jmp 0x14017df60
cmp edx, 0x11223832
je 0x14017e14a
cmp edx, 0x16a27fbc
je 0x14017e25a
cmp edx, 0x618ddc5c
jne 0x14017df60
test r15b, 1
sete byte [rbp + 0x40]
cmp r8d, 0xa
setl byte [rbp + 0x50]
mov ebx, 0xd0b8894
movzx edx, word [rbp + 0x12]
nop dword [rax]
cmp ebx, 0xd0b8893
jg 0x14017e000
cmp ebx, 0x8d206a9e
je 0x14017e264
cmp ebx, 0x99bf6e4a
jne 0x14017dfd0
mov ebx, r11d
jmp 0x14017dfd0
cmp ebx, 0x1c3b6757
je 0x14017e034
cmp ebx, 0xd0b8894
jne 0x14017dfd0
movzx r14d, byte [rbp + 0x40]
cmp byte [rbp + 0x50], 0
mov ebx, 0x1c3b6757
mov eax, 0x99bf6e4a
cmovne ebx, eax
test r14b, r14b
mov r14d, 0xed649ed7
cmovne ebx, eax
jmp 0x14017dfd0
mov ebx, 0x99bf6e4a
jmp 0x14017dfd0
test r10b, 1
sete byte [rbp + 0x40]
cmp r9d, 0xa
setl byte [rbp + 0x50]
mov edx, 0x7575fd18
cmp edx, 0x189956ef
jle 0x14017e080
cmp edx, 0x7575fd17
jg 0x14017e0ed
cmp edx, 0x189956f0
je 0x14017e281
cmp edx, 0x2cb92b43
jne 0x14017e050
mov edx, 0x8d789daf
jmp 0x14017e050
cmp edx, 0x8d789daf
je 0x14017e120
cmp edx, 0xc150bec6
je 0x14017e127
cmp edx, 0xed649ed7
jne 0x14017e050
movsxd rax, dword [rbp + 0x30]
movzx ecx, word [rbp + rax*2 - 0x30]
movsxd rdx, dword [rbp + 0x30]
imul rsi, rdx, 0x5397829d
mov rbx, rsi
shr rbx, 0x3f
sar rsi, 0x24
add esi, ebx
imul esi, esi, 0x31
sub edx, esi
lea esi, [rdx + 0x36]
mov ebx, 0xffc9
sub ebx, edx
and ebx, ecx
not ecx
and ecx, esi
or ebx, ecx
mov word [rbp + rax*2 - 0x30], bx
mov ebx, dword [rbp + 0x30]
add ebx, 1
mov edx, 0x780dff0c
jmp 0x14017e050
cmp edx, 0x780dff0c
je 0x14017e133
cmp edx, 0x7575fd18
jne 0x14017e050
movzx eax, byte [rbp + 0x40]
cmp byte [rbp + 0x50], 0
mov edx, 0x2cb92b43
mov ecx, 0x8d789daf
cmovne edx, ecx
test al, al
cmovne edx, ecx
jmp 0x14017e050
mov edx, edi
jmp 0x14017e050
mov edx, 0x780dff0c
xor ebx, ebx
jmp 0x14017e050
mov dword [rbp + 0x30], ebx
mov eax, dword [rbp + 0x30]
cmp eax, 0x22
mov edx, 0x189956f0
cmovl edx, r14d
jmp 0x14017e050
test r10b, 1
sete byte [rbp + 0x40]
cmp r9d, 0xa
setl byte [rbp + 0x50]
mov edx, 0x7575fd18
nop
cmp edx, 0x189956ef
jle 0x14017e190
cmp edx, 0x7575fd17
jg 0x14017e1fd
cmp edx, 0x189956f0
je 0x14017e28b
cmp edx, 0x2cb92b43
jne 0x14017e160
mov edx, 0x8d789daf
jmp 0x14017e160
cmp edx, 0x8d789daf
je 0x14017e230
cmp edx, 0xc150bec6
je 0x14017e237
cmp edx, 0xed649ed7
jne 0x14017e160
movsxd rcx, dword [rbp + 0x30]
movzx edx, word [rbp + rcx*2 - 0x30]
movsxd rbx, dword [rbp + 0x30]
imul rsi, rbx, 0x5397829d
mov rax, rsi
shr rax, 0x3f
sar rsi, 0x24
add esi, eax
imul eax, esi, 0x31
sub ebx, eax
lea eax, [rbx + 0x36]
mov esi, 0xffc9
sub esi, ebx
and esi, edx
not edx
and edx, eax
or esi, edx
mov word [rbp + rcx*2 - 0x30], si
mov ebx, dword [rbp + 0x30]
add ebx, 1
mov edx, 0x780dff0c
jmp 0x14017e160
cmp edx, 0x780dff0c
je 0x14017e243
cmp edx, 0x7575fd18
jne 0x14017e160
movzx ecx, byte [rbp + 0x40]
cmp byte [rbp + 0x50], 0
mov edx, 0x2cb92b43
mov eax, 0x8d789daf
cmovne edx, eax
test cl, cl
cmovne edx, eax
jmp 0x14017e160
mov edx, edi
jmp 0x14017e160
mov edx, 0x780dff0c
xor ebx, ebx
jmp 0x14017e160
mov dword [rbp + 0x30], ebx
mov ecx, dword [rbp + 0x30]
cmp ecx, 0x22
mov edx, 0x189956f0
cmovl edx, r14d
jmp 0x14017e160
mov edx, 0xc411eab7
jmp 0x14017df60
test dx, dx
setne byte [rbp + 0x30]
cmp byte [rbp + 0x30], 0
mov edx, 0xc411eab7
mov eax, 0x102a351e
cmovne edx, eax
jmp 0x14017df60
mov edx, 0x11223832
jmp 0x14017df60
mov edx, r12d
jmp 0x14017df60
movups xmm0, xmmword [0x1403ed700]
movups xmmword [rbp - 2], xmm0
movups xmm0, xmmword [0x1403ed6f2]
movaps xmmword [rbp - 0x10], xmm0
movups xmm0, xmmword [0x1403ed6e2]
movaps xmmword [rbp - 0x20], xmm0
mov eax, dword [0x140837ae0]
lea edx, [rax - 1]
imul edx, eax
mov eax, dword [0x14083a040]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x14083a044], 0xa
setl cl
or cl, al
mov r11d, 0x27e6d2b
mov ebx, 0x1201314c
cmove r11d, ebx
mov esi, dword [0x140837ae4]
mov r14d, 0x94e2ae08
cmove r14d, ebx
test dl, 1
sete byte [rbp + 0x5e]
mov edx, 0x16c77ab3
mov edi, 0xb097f6d1
cmove edi, edx
cmp esi, 0xa
setl byte [rbp + 0x5f]
movups xmm0, xmmword [0x1403ed6d2]
movaps xmmword [rbp - 0x30], xmm0
cmovl edi, edx
mov edx, 0x52562519
mov r8d, 0xedba88f3
mov r9d, 0x92bc9e4a
mov r10d, 0x5491fb3c
nop dword [rax]
cmp edx, 0x16c77ab2
jg 0x14017e369
cmp edx, 0x92bc9e4a
je 0x14017e3a1
cmp edx, 0xb097f6d1
je 0x14017e4d6
cmp edx, 0xbdca0aa9
jne 0x14017e340
jmp 0x14017e50c
cmp edx, 0x16c77ab3
je 0x14017e4e0
cmp edx, 0x5491fb3c
je 0x14017e4f2
cmp edx, 0x52562519
jne 0x14017e340
mov bl, byte [rbp + 0x5e]
cmp byte [rbp + 0x5f], 0
mov edx, 0xb097f6d1
cmovne edx, r10d
test bl, bl
cmovne edx, r10d
jmp 0x14017e340
xor ebx, ebx
mov edx, 0x22d2f282
nop dword [rax + rax]
cmp edx, 0x27e6d2a
jg 0x14017e3d9
cmp edx, 0x94e2ae08
je 0x14017e409
cmp edx, 0x9a50bbb4
je 0x14017e502
cmp edx, 0xedba88f3
jne 0x14017e3b0
mov edx, r14d
jmp 0x14017e3b0
cmp edx, 0x27e6d2b
je 0x14017e4ce
cmp edx, 0x1201314c
je 0x14017e462
cmp edx, 0x22d2f282
jne 0x14017e3b0
mov dword [rbp + 0x50], ebx
mov edx, dword [rbp + 0x50]
cmp edx, 0x1f
mov edx, 0x9a50bbb4
cmovl edx, r8d
jmp 0x14017e3b0
movsxd rdx, dword [rbp + 0x50]
movsxd rsi, dword [rbp + 0x50]
imul rax, rsi, 0x5397829d
mov rcx, rax
shr rcx, 0x3f
sar rax, 0x24
add eax, ecx
imul eax, eax, 0x31
sub esi, eax
mov eax, 0xffc9
sub eax, esi
add esi, 0x36
and eax, 0xad6e
and esi, 0x5291
or esi, eax
xor si, word [rbp + rdx*2 - 0x30]
xor esi, 0xad6e
mov word [rbp + rdx*2 - 0x30], si
mov eax, dword [rbp + 0x50]
add eax, 1
mov dword [rbp + 0x40], eax
mov edx, r11d
jmp 0x14017e3b0
movsxd rdx, dword [rbp + 0x50]
mov eax, dword [rbp + 0x50]
mov eax, dword [rbp + 0x50]
mov eax, dword [rbp + 0x50]
mov eax, dword [rbp + 0x50]
mov eax, dword [rbp + 0x50]
movsxd rax, dword [rbp + 0x50]
imul rcx, rax, 0x5397829d
mov rsi, rcx
shr rsi, 0x3f
sar rcx, 0x24
add ecx, esi
imul ecx, ecx, 0x31
sub eax, ecx
mov ecx, 0x3fc9
sub ecx, eax
add eax, 0x36
and ecx, 0x3632
and eax, 0xc9cd
or eax, ecx
xor ax, word [rbp + rdx*2 - 0x30]
xor eax, 0x3632
mov word [rbp + rdx*2 - 0x30], ax
mov eax, dword [rbp + 0x50]
mov eax, dword [rbp + 0x50]
mov eax, dword [rbp + 0x50]
mov eax, dword [rbp + 0x50]
mov edx, 0x94e2ae08
jmp 0x14017e3b0
mov ebx, dword [rbp + 0x40]
jmp 0x14017e3a3
mov edx, 0x5491fb3c
jmp 0x14017e340
cmp byte [rbp - 0x38], 0
mov edx, 0xbdca0aa9
cmovne edx, r9d
jmp 0x14017e340
cmp word [rbp + 0xc], 0
setne byte [rbp - 0x38]
mov edx, edi
jmp 0x14017e340
mov edx, 0xbdca0aa9
jmp 0x14017e340
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
lea rdx, [rbp - 0x30]
call fcn.140176ab0
mov rsi, rax
mov rax, qword [rax]
movsxd rcx, dword [rax + 4]
add rcx, rsi
mov dl, 0xa
call qword [sym.imp.MSVCP140.dll_public:_wchar_t___cdecl_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::widen_char_const___ptr64]
mov rcx, rsi
mov edx, eax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::put_wchar_t____ptr64]
mov rcx, rsi
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::flush_void____ptr64]
xor r14d, r14d
mov eax, r14d
add rsp, 0xe8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
movups xmm0, xmmword [0x1403ed73e]
movups xmmword [rbp - 2], xmm0
movups xmm0, xmmword [0x1403ed730]
movaps xmmword [rbp - 0x10], xmm0
movups xmm0, xmmword [0x1403ed720]
movaps xmmword [rbp - 0x20], xmm0
mov eax, dword [0x140837ae0]
lea edx, [rax - 1]
imul edx, eax
mov eax, dword [0x14083a040]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x14083a044], 0xa
setl cl
or cl, al
mov r11d, 0x27e6d2b
mov ebx, 0x1201314c
cmove r11d, ebx
mov esi, dword [0x140837ae4]
mov r14d, 0x94e2ae08
cmove r14d, ebx
test dl, 1
sete byte [rbp + 0x4f]
mov edx, 0x16c77ab3
mov edi, 0xb097f6d1
cmove edi, edx
cmp esi, 0xa
setl byte [rbp + 0x5e]
movups xmm0, xmmword [0x1403ed710]
movaps xmmword [rbp - 0x30], xmm0
cmovl edi, edx
mov edx, 0x52562519
mov r8d, 0xedba88f3
mov r9d, 0x92bc9e4a
mov r10d, 0x5491fb3c
cmp edx, 0x16c77ab2
jg 0x14017e632
cmp edx, 0x92bc9e4a
je 0x14017e66a
cmp edx, 0xb097f6d1
je 0x14017e797
cmp edx, 0xbdca0aa9
jne 0x14017e609
jmp 0x14017e7cd
cmp edx, 0x16c77ab3
je 0x14017e7a1
cmp edx, 0x5491fb3c
je 0x14017e7b3
cmp edx, 0x52562519
jne 0x14017e609
mov bl, byte [rbp + 0x4f]
cmp byte [rbp + 0x5e], 0
mov edx, 0xb097f6d1
cmovne edx, r10d
test bl, bl
cmovne edx, r10d
jmp 0x14017e609
xor ebx, ebx
mov edx, 0x22d2f282
cmp edx, 0x27e6d2a
jg 0x14017e69a
cmp edx, 0x94e2ae08
je 0x14017e6ca
cmp edx, 0x9a50bbb4
je 0x14017e7c3
cmp edx, 0xedba88f3
jne 0x14017e671
mov edx, r14d
jmp 0x14017e671
cmp edx, 0x27e6d2b
je 0x14017e78f
cmp edx, 0x1201314c
je 0x14017e723
cmp edx, 0x22d2f282
jne 0x14017e671
mov dword [rbp + 0x50], ebx
mov edx, dword [rbp + 0x50]
cmp edx, 0x1f
mov edx, 0x9a50bbb4
cmovl edx, r8d
jmp 0x14017e671
movsxd rdx, dword [rbp + 0x50]
movsxd rsi, dword [rbp + 0x50]
imul rax, rsi, 0x5397829d
mov rcx, rax
shr rcx, 0x3f
sar rax, 0x24
add eax, ecx
imul eax, eax, 0x31
sub esi, eax
mov eax, 0xffc9
sub eax, esi
add esi, 0x36
and eax, 0xad6e
and esi, 0x5291
or esi, eax
xor si, word [rbp + rdx*2 - 0x30]
xor esi, 0xad6e
mov word [rbp + rdx*2 - 0x30], si
mov eax, dword [rbp + 0x50]
add eax, 1
mov dword [rbp + 0x40], eax
mov edx, r11d
jmp 0x14017e671
movsxd rdx, dword [rbp + 0x50]
mov eax, dword [rbp + 0x50]
mov eax, dword [rbp + 0x50]
mov eax, dword [rbp + 0x50]
mov eax, dword [rbp + 0x50]
mov eax, dword [rbp + 0x50]
movsxd rax, dword [rbp + 0x50]
imul rcx, rax, 0x5397829d
mov rsi, rcx
shr rsi, 0x3f
sar rcx, 0x24
add ecx, esi
imul ecx, ecx, 0x31
sub eax, ecx
mov ecx, 0x3fc9
sub ecx, eax
add eax, 0x36
and ecx, 0x3632
and eax, 0xc9cd
or eax, ecx
xor ax, word [rbp + rdx*2 - 0x30]
xor eax, 0x3632
mov word [rbp + rdx*2 - 0x30], ax
mov eax, dword [rbp + 0x50]
mov eax, dword [rbp + 0x50]
mov eax, dword [rbp + 0x50]
mov eax, dword [rbp + 0x50]
mov edx, 0x94e2ae08
jmp 0x14017e671
mov ebx, dword [rbp + 0x40]
jmp 0x14017e66c
mov edx, 0x5491fb3c
jmp 0x14017e609
cmp byte [rbp + 0x5f], 0
mov edx, 0xbdca0aa9
cmovne edx, r9d
jmp 0x14017e609
cmp word [rbp + 0xc], 0
setne byte [rbp + 0x5f]
mov edx, edi
jmp 0x14017e609
mov edx, 0xbdca0aa9
jmp 0x14017e609
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
lea rdx, [rbp - 0x30]
call fcn.140176ab0
mov rsi, rax
mov rax, qword [rax]
movsxd rcx, dword [rax + 4]
add rcx, rsi
mov dl, 0xa
call qword [sym.imp.MSVCP140.dll_public:_wchar_t___cdecl_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::widen_char_const___ptr64]
mov rcx, rsi
mov edx, eax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::put_wchar_t____ptr64]
mov rcx, rsi
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::flush_void____ptr64]
jmp 0x14017eb4e
mov eax, dword [0x140837bc8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x140837bcc], 0xa
setl cl
or cl, al
mov r8d, 0xd7bdbe26
mov eax, 0x9ff818d8
cmove r8d, eax
mov r10d, 0x4c71b2d0
cmove r10d, eax
mov r14d, 0x49a707cd
mov eax, 0x56177c87
cmove r14d, eax
mov ecx, 0x59b3702b
cmove ecx, eax
mov eax, dword [0x14083a5cc]
lea r13d, [rax - 1]
imul r13d, eax
test r13b, 1
mov edx, 0x96f0b618
mov esi, 0xe1993bbe
cmove esi, edx
mov r12d, dword [0x14083a5d0]
cmp r12d, 0xa
cmovl esi, edx
mov ebx, 0x8f055b54
mov r9d, 0x854fa70
mov r11d, 0xc81085f4
mov r15d, 0x989ee261
jmp 0x14017e8b0
mov ebx, 0x4c71b2d0
nop word cs:[rax + rax]
nop
mov edx, ebx
cmp ebx, 0x49a707cc
jg 0x14017e8e3
cmp edx, 0x9ff818d7
jle 0x14017e906
cmp edx, 0x9ff818d8
je 0x14017e89f
mov ebx, ecx
cmp edx, 0x854fa70
je 0x14017e8b0
mov ebx, edx
cmp edx, 0xd7bdbe26
jne 0x14017e8b0
jmp 0x14017eb0d
cmp edx, 0x56177c86
jg 0x14017e921
cmp edx, 0x49a707cd
je 0x14017e9d2
mov ebx, edx
cmp edx, 0x4c71b2d0
jne 0x14017e8b0
mov ebx, r8d
jmp 0x14017e8b0
cmp edx, 0x8f055b54
je 0x14017e9dc
mov ebx, edx
cmp edx, 0x9d0d8744
jne 0x14017e8b0
mov ebx, r10d
jmp 0x14017e8b0
cmp edx, 0x56177c87
je 0x14017ea50
mov ebx, edx
cmp edx, 0x59b3702b
jne 0x14017e8b0
xor edx, edx
mov ebx, 0x91ee4feb
nop word cs:[rax + rax]
nop dword [rax]
cmp ebx, 0xa3749723
je 0x14017eae2
cmp ebx, 0x989ee261
je 0x14017e980
cmp ebx, 0x91ee4feb
jne 0x14017e950
mov dword [rbp + 0x50], edx
mov eax, dword [rbp + 0x50]
cmp eax, 0x27
mov ebx, 0xa3749723
cmovl ebx, r15d
jmp 0x14017e950
movsxd rdx, dword [rbp + 0x50]
movsxd rax, dword [rbp + 0x50]
imul rbx, rax, 0x5397829d
mov rdi, rbx
shr rdi, 0x3f
sar rbx, 0x24
add ebx, edi
imul edi, ebx, 0x31
sub eax, edi
mov edi, 0xffc9
sub edi, eax
add eax, 0x36
and edi, 0xc96a
and eax, 0x3695
or eax, edi
xor ax, word [rbp + rdx*2 - 0x30]
xor eax, 0xc96a
mov word [rbp + rdx*2 - 0x30], ax
mov edx, dword [rbp + 0x50]
add edx, 1
jmp 0x14017e93d
mov ebx, 0x9d0d8744
jmp 0x14017e8b0
test r13b, 1
sete byte [rbp + 0x5f]
cmp r12d, 0xa
setl byte [rbp + 0x40]
mov ebx, 0xd403daac
movzx edx, word [rbp + 0x1c]
nop word cs:[rax + rax]
nop
cmp ebx, 0xd403daab
jg 0x14017ea20
cmp ebx, 0x96f0b618
je 0x14017eaea
cmp ebx, 0xc81085f4
jne 0x14017ea00
mov ebx, esi
jmp 0x14017ea00
cmp ebx, 0xe1993bbe
je 0x14017ea49
cmp ebx, 0xd403daac
jne 0x14017ea00
movzx eax, byte [rbp + 0x5f]
cmp byte [rbp + 0x40], 0
mov ebx, 0xe1993bbe
cmovne ebx, r11d
test al, al
cmovne ebx, r11d
jmp 0x14017ea00
mov ebx, 0xc81085f4
jmp 0x14017ea00
xor edx, edx
mov ebx, 0x91ee4feb
nop word [rax + rax]
cmp ebx, 0xa3749723
je 0x14017eb03
cmp ebx, 0x989ee261
je 0x14017ea90
cmp ebx, 0x91ee4feb
jne 0x14017ea60
mov dword [rbp + 0x50], edx
mov eax, dword [rbp + 0x50]
cmp eax, 0x27
mov ebx, 0xa3749723
cmovl ebx, r15d
jmp 0x14017ea60
movsxd rdx, dword [rbp + 0x50]
movsxd rax, dword [rbp + 0x50]
imul rdi, rax, 0x5397829d
mov rbx, rdi
shr rbx, 0x3f
sar rdi, 0x24
add edi, ebx
imul edi, edi, 0x31
sub eax, edi
mov edi, 0xffc9
sub edi, eax
add eax, 0x36
and edi, 0xc96a
and eax, 0x3695
or eax, edi
xor ax, word [rbp + rdx*2 - 0x30]
xor eax, 0xc96a
mov word [rbp + rdx*2 - 0x30], ax
mov edx, dword [rbp + 0x50]
add edx, 1
jmp 0x14017ea52
mov ebx, r14d
jmp 0x14017e8b0
test dx, dx
setne byte [rbp + 0x50]
cmp byte [rbp + 0x50], 0
mov ebx, 0x9d0d8744
cmovne ebx, r9d
jmp 0x14017e8b0
mov ebx, 0x59b3702b
jmp 0x14017e8b0
lea rax, [rbp - 0x30]
mov qword [rbp + 0x50], rax
mov rdx, qword [rbp + 0x50]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
call fcn.140176ab0
mov rsi, rax
mov rax, qword [rax]
movsxd rcx, dword [rax + 4]
add rcx, rsi
mov dl, 0xa
call qword [sym.imp.MSVCP140.dll_public:_wchar_t___cdecl_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::widen_char_const___ptr64]
mov rcx, rsi
mov edx, eax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::put_wchar_t____ptr64]
mov rcx, rsi
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::flush_void____ptr64]
xor r14d, r14d
mov eax, dword [0x1408382f8]
mov ecx, dword [0x1408382fc]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete byte [rbp + 0x5e]
cmp ecx, 0xa
setl byte [rbp + 0x5f]
mov eax, 0x69755a5e
lea r15, [rbp - 0x38]
mov edi, 0x7d6b5440
mov ebx, 0xcc27e31d
mov esi, 0x232306c0
cmp eax, 0x49cefdb5
jg 0x14017ebe4
cmp eax, 0xadeba392
je 0x14017e548
cmp eax, 0xcc27e31d
je 0x14017ec13
cmp eax, 0x232306c0
jne 0x14017eb89
mov qword [rbp + 0x50], r15
mov rax, qword [rbp + 0x50]
mov qword [rbp - 0x30], rax
mov rax, qword [rbp - 0x30]
cmp qword [rax], 0
setne byte [rbp + 0x40]
mov eax, dword [0x1408382f8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0x49cefdb6
cmove eax, edi
cmp dword [0x1408382fc], 0xa
cmovl eax, edi
jmp 0x14017eb89
cmp eax, 0x49cefdb6
je 0x14017ec2d
cmp eax, 0x7d6b5440
je 0x14017ec37
cmp eax, 0x69755a5e
jne 0x14017eb89
movzx ecx, byte [rbp + 0x5e]
cmp byte [rbp + 0x5f], 0
mov eax, 0x49cefdb6
cmovne eax, esi
test cl, cl
cmovne eax, esi
jmp 0x14017eb89
mov rcx, qword [rbp + 0x50]
mov rax, qword [rbp - 0x30]
mov rdx, qword [rax]
call fcn.1401b1950
mov eax, 0xadeba392
jmp 0x14017eb89
mov eax, 0x232306c0
jmp 0x14017eb89
cmp byte [rbp + 0x40], 0
mov eax, 0xadeba392
cmovne eax, ebx
jmp 0x14017eb89