Function at 0x1800c0188
Capabilities:
Contain obfuscated stackstrings
Encode data using xor

Disassembly:
mov rax, rsp
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rax - 0x598]
sub rsp, 0x670
mov qword [rbp + 0xc0], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov r14, r8
mov rdi, rcx
mov byte [rcx + 0x409], 1
mov byte [rcx + 0x488], 1
xor r12d, r12d
mov dword [rcx + 0x40c], r12d
mov byte [rcx + 0x3f8], 1
mov byte [rcx + 3], r9b
mov dword [rcx + 8], 2
mov al, byte [rbp + 0x5c0]
mov byte [rcx + 0x48c], al
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov byte [rdi + 0x48a], 1
mov qword [rdi + 0x400], rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [rdi + 0x400]
test rcx, rcx
jne 0x1800c0233
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, 0xa87
mov edx, eax
mov rcx, rdi
call fcn.1800bb4fc
xor al, al
jmp 0x1800c0ed9
mov bl, r12b
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x60], xmm0
mov qword [rbp - 0x50], rax
lea r15, [rdi + 0x3f0]
lea r9d, [rax + 0x18]
lea r8, [rbp - 0x60]
mov rdx, r14
call qword [sym.imp.KERNEL32.dll_K32GetModuleInformation]
test eax, eax
je 0x1800c029d
mov rcx, qword [rbp - 0x60]
mov qword [r15], rcx
test rcx, rcx
jne 0x1800c0279
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, 0xa93
jmp 0x1800c0222
mov eax, dword [rbp - 0x58]
mov qword [rdi + 0x68], rax
mov qword [rdi + 0x478], rcx
mov qword [rdi + 0x470], r12
mov word [rdi + 0x489], 0x100
mov byte [rdi + 4], 1
mov bl, 1
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
test bl, bl
jne 0x1800c0da5
cmp qword [rdi + 0x400], r12
je 0x1800c0d94
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x1800c0d94
mov ecx, dword [0x180195f94]
mov rax, qword gs:[0x58]
mov rsi, qword [rax + rcx*8]
or rbx, 0xffffffffffffffff
mov eax, 4
mov eax, dword [rsi + rax]
cmp dword [0x18019d9c4], eax
jle 0x1800c0501
lea rcx, [0x18019d9c4]
call fcn.180157af0
cmp dword [0x18019d9c4], ebx
jne 0x1800c0501
lea rax, [rbp + 0x60]
mov qword [rbp + 0x5a0], rax
mov byte [rsp + 0x70], 0x50
mov byte [rsp + 0x71], 0x7f
mov byte [rsp + 0x72], 0x72
mov byte [rsp + 0x73], 0x6e
mov byte [rsp + 0x74], 0x81
mov byte [rsp + 0x75], 0x72
mov byte [rsp + 0x76], 0x61
mov byte [rsp + 0x77], 0x7c
mov byte [rsp + 0x78], 0x7c
mov byte [rsp + 0x79], 0x79
mov byte [rsp + 0x7a], 0x75
mov byte [rsp + 0x7b], 0x72
mov byte [rsp + 0x7c], 0x79
mov byte [rsp + 0x7d], 0x7d
mov byte [rsp + 0x7e], 0x40
mov byte [rsp + 0x7f], 0x3f
mov byte [rbp - 0x80], 0x60
mov byte [rbp - 0x7f], 0x7b
mov byte [rbp - 0x7e], 0x6e
mov byte [rbp - 0x7d], 0x7d
mov byte [rbp - 0x7c], 0x80
mov byte [rbp - 0x7b], 0x75
mov byte [rbp - 0x7a], 0x7c
mov byte [rbp - 0x79], 0x81
mov byte [rbp - 0x78], r12b
mov al, byte [rsp + 0x70]
mov rcx, r12
mov al, byte [rsp + rcx + 0x70]
sub al, 0xd
mov byte [rsp + rcx + 0x70], al
inc rcx
cmp rcx, 0x18
jb 0x1800c0391
xorps xmm0, xmm0
movups xmmword [rbp + 0x60], xmm0
mov qword [rbp + 0x70], r12
mov qword [rbp + 0x78], r12
lea rax, [rsp + 0x70]
mov r8, rbx
inc r8
cmp byte [rax + r8], r12b
jne 0x1800c03bb
lea rdx, [rsp + 0x70]
lea rcx, [rbp + 0x60]
call fcn.18000c7ac
nop
mov byte [rsp + 0x44], 0x6c
mov byte [rsp + 0x45], 0x66
mov byte [rsp + 0x46], 0x73
mov byte [rsp + 0x47], 0x6f
mov byte [rsp + 0x48], 0x66
mov byte [rsp + 0x49], 0x6d
mov byte [rsp + 0x4a], 0x34
mov byte [rsp + 0x4b], 0x33
mov byte [rsp + 0x4c], r12b
mov al, byte [rsp + 0x44]
mov rcx, r12
mov al, byte [rsp + rcx + 0x44]
dec al
mov byte [rsp + rcx + 0x44], al
inc rcx
cmp rcx, 8
jb 0x1800c0407
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x10], xmm1
lea rax, [rsp + 0x44]
mov r8, rbx
inc r8
cmp byte [rax + r8], r12b
jne 0x1800c0431
lea rdx, [rsp + 0x44]
lea rcx, [rbp - 0x20]
call fcn.18000c7ac
nop
lea rdx, [rbp - 0x20]
lea rcx, [rbp + 0xc8]
call fcn.1800ceb58
nop
mov qword [rsp + 0x20], r12
xor r9d, r9d
lea r8, [rbp + 0x60]
mov rdx, rax
lea rcx, [0x18019d400]
call fcn.180013534
nop
mov rdx, qword [rbp - 8]
cmp rdx, 0x10
jb 0x1800c04b4
inc rdx
mov rcx, qword [rbp - 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800c04af
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800c04af
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180157a14
movdqa xmm0, xmmword [0x180165930]
movdqu xmmword [rbp - 0x10], xmm0
mov byte [rbp - 0x20], r12b
xor edx, edx
lea r8d, [rdx + 9]
lea rcx, [rsp + 0x44]
call qword [sym.imp.VCRUNTIME140.dll_memset]
nop
xor edx, edx
lea r8d, [rdx + 0x19]
lea rcx, [rsp + 0x70]
call qword [sym.imp.VCRUNTIME140.dll_memset]
lea rcx, [0x180163650]
call fcn.1801579fc
nop
lea rcx, [0x18019d9c4]
call fcn.180157a84
mov eax, 4
mov eax, dword [rsi + rax]
cmp dword [0x18019d588], eax
jle 0x1800c07ca
lea rcx, [0x18019d588]
call fcn.180157af0
cmp dword [0x18019d588], ebx
jne 0x1800c07ca
lea rax, [rbp + 0x80]
mov qword [rbp + 0x5a0], rax
mov dword [rsp + 0x30], 0x61
mov eax, dword [rsp + 0x30]
xor al, 0x4d
mov byte [rsp + 0x34], al
mov eax, dword [rsp + 0x30]
inc al
xor al, 0x6f
mov byte [rsp + 0x35], al
mov eax, dword [rsp + 0x30]
add al, 2
xor al, 0x64
mov byte [rsp + 0x36], al
mov eax, dword [rsp + 0x30]
add al, 3
xor al, 0x75
mov byte [rsp + 0x37], al
mov eax, dword [rsp + 0x30]
add al, 4
xor al, 0x6c
mov byte [rsp + 0x38], al
mov eax, dword [rsp + 0x30]
add al, 5
xor al, 0x65
mov byte [rsp + 0x39], al
mov eax, dword [rsp + 0x30]
add al, 6
xor al, 0x33
mov byte [rsp + 0x3a], al
mov eax, dword [rsp + 0x30]
add al, 7
xor al, 0x32
mov byte [rsp + 0x3b], al
mov eax, dword [rsp + 0x30]
add al, 8
xor al, 0x46
mov byte [rsp + 0x3c], al
mov eax, dword [rsp + 0x30]
add al, 9
xor al, 0x69
mov byte [rsp + 0x3d], al
mov eax, dword [rsp + 0x30]
add al, 0xa
xor al, 0x72
mov byte [rsp + 0x3e], al
mov eax, dword [rsp + 0x30]
add al, 0xb
xor al, 0x73
mov byte [rsp + 0x3f], al
mov eax, dword [rsp + 0x30]
add al, 0xc
xor al, 0x74
mov byte [rsp + 0x40], al
mov eax, dword [rsp + 0x30]
add al, 0xd
xor al, 0x57
mov byte [rsp + 0x41], al
xor eax, eax
mov byte [rsp + 0x42], al
mov al, byte [rsp + 0x34]
mov rdx, r12
mov al, byte [rsp + rdx + 0x34]
mov ecx, dword [rsp + 0x30]
add cl, dl
xor cl, al
mov byte [rsp + rdx + 0x34], cl
inc rdx
cmp rdx, 0xe
jb 0x1800c05f6
mov byte [rsp + 0x42], r12b
xorps xmm0, xmm0
movups xmmword [rbp + 0x80], xmm0
mov qword [rbp + 0x90], r12
mov qword [rbp + 0x98], r12
lea rax, [rsp + 0x34]
mov r8, rbx
inc r8
cmp byte [rax + r8], r12b
jne 0x1800c0634
lea rdx, [rsp + 0x34]
lea rcx, [rbp + 0x80]
call fcn.18000c7ac
nop
mov dword [rsp + 0x50], 0x78
mov eax, dword [rsp + 0x50]
xor al, 0x6b
mov byte [rsp + 0x54], al
mov eax, dword [rsp + 0x50]
inc al
xor al, 0x65
mov byte [rsp + 0x55], al
mov eax, dword [rsp + 0x50]
add al, 2
xor al, 0x72
mov byte [rsp + 0x56], al
mov eax, dword [rsp + 0x50]
add al, 3
xor al, 0x6e
mov byte [rsp + 0x57], al
mov eax, dword [rsp + 0x50]
add al, 4
xor al, 0x65
mov byte [rsp + 0x58], al
mov eax, dword [rsp + 0x50]
add al, 5
xor al, 0x6c
mov byte [rsp + 0x59], al
mov eax, dword [rsp + 0x50]
add al, 6
xor al, 0x33
mov byte [rsp + 0x5a], al
mov eax, dword [rsp + 0x50]
add al, 7
xor al, 0x32
mov byte [rsp + 0x5b], al
xor eax, eax
mov byte [rsp + 0x5c], al
mov al, byte [rsp + 0x54]
mov rdx, r12
mov al, byte [rsp + rdx + 0x54]
mov ecx, dword [rsp + 0x50]
add cl, dl
xor cl, al
mov byte [rsp + rdx + 0x54], cl
inc rdx
cmp rdx, 8
jb 0x1800c06c2
mov byte [rsp + 0x5c], r12b
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x10], xmm1
lea rax, [rsp + 0x54]
mov r8, rbx
inc r8
cmp byte [rax + r8], r12b
jne 0x1800c06f7
lea rdx, [rsp + 0x54]
lea rcx, [rbp]
call fcn.18000c7ac
nop
lea rdx, [rbp]
lea rcx, [rbp + 0xe8]
call fcn.1800ceb58
nop
mov qword [rsp + 0x20], r12
xor r9d, r9d
lea r8, [rbp + 0x80]
mov rdx, rax
lea rcx, [0x18019d500]
call fcn.1800c4d50
nop
mov rdx, qword [rbp + 0x18]
cmp rdx, 0x10
jb 0x1800c077d
inc rdx
mov rcx, qword [rbp]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800c0778
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800c0778
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180157a14
movdqa xmm0, xmmword [0x180165930]
movdqu xmmword [rbp + 0x10], xmm0
mov byte [rbp], r12b
xor edx, edx
lea r8d, [rdx + 9]
lea rcx, [rsp + 0x54]
call qword [sym.imp.VCRUNTIME140.dll_memset]
nop
xor edx, edx
lea r8d, [rdx + 0xf]
lea rcx, [rsp + 0x34]
call qword [sym.imp.VCRUNTIME140.dll_memset]
lea rcx, [0x180163644]
call fcn.1801579fc
nop
lea rcx, [0x18019d588]
call fcn.180157a84
mov eax, 4
mov eax, dword [rsi + rax]
cmp dword [0x18019d3f0], eax
jle 0x1800c0a17
lea rcx, [0x18019d3f0]
call fcn.180157af0
cmp dword [0x18019d3f0], ebx
jne 0x1800c0a17
lea rax, [rbp + 0xa0]
mov qword [rbp + 0x5a0], rax
mov dword [rbp - 0x74], 0x13
mov byte [rbp - 0x70], 0x5e
mov byte [rbp - 0x6f], 0x7c
mov byte [rbp - 0x6e], 0x77
mov byte [rbp - 0x6d], 0x66
mov byte [rbp - 0x6c], 0x7f
mov byte [rbp - 0x6b], 0x76
mov byte [rbp - 0x6a], 0x20
mov byte [rbp - 0x69], 0x21
mov byte [rbp - 0x68], 0x5d
mov byte [rbp - 0x67], 0x76
mov byte [rbp - 0x66], 0x6b
mov byte [rbp - 0x65], 0x67
mov byte [rbp - 0x64], 0x44
xor eax, eax
mov byte [rbp - 0x63], al
mov al, byte [rbp - 0x70]
mov rdx, r12
mov al, byte [rbp + rdx - 0x70]
mov ecx, dword [rbp - 0x74]
xor cl, al
mov byte [rbp + rdx - 0x70], cl
inc rdx
cmp rdx, 0xd
jb 0x1800c084a
mov byte [rbp - 0x63], r12b
xorps xmm0, xmm0
movups xmmword [rbp + 0xa0], xmm0
mov qword [rbp + 0xb0], r12
mov qword [rbp + 0xb8], r12
lea rax, [rbp - 0x70]
mov r8, rbx
inc r8
cmp byte [rax + r8], r12b
jne 0x1800c0883
lea rdx, [rbp - 0x70]
lea rcx, [rbp + 0xa0]
call fcn.18000c7ac
nop
mov dword [rsp + 0x60], 0xb
mov eax, dword [rsp + 0x60]
xor al, 0x6b
mov byte [rsp + 0x64], al
mov eax, dword [rsp + 0x60]
inc al
xor al, 0x65
mov byte [rsp + 0x65], al
mov eax, dword [rsp + 0x60]
add al, 2
xor al, 0x72
mov byte [rsp + 0x66], al
mov eax, dword [rsp + 0x60]
add al, 3
xor al, 0x6e
mov byte [rsp + 0x67], al
mov eax, dword [rsp + 0x60]
add al, 4
xor al, 0x65
mov byte [rsp + 0x68], al
mov eax, dword [rsp + 0x60]
add al, 5
xor al, 0x6c
mov byte [rsp + 0x69], al
mov eax, dword [rsp + 0x60]
add al, 6
xor al, 0x33
mov byte [rsp + 0x6a], al
mov eax, dword [rsp + 0x60]
add al, 7
xor al, 0x32
mov byte [rsp + 0x6b], al
xor eax, eax
mov byte [rsp + 0x6c], al
mov al, byte [rsp + 0x64]
mov rdx, r12
mov al, byte [rsp + rdx + 0x64]
mov ecx, dword [rsp + 0x60]
add cl, dl
xor cl, al
mov byte [rsp + rdx + 0x64], cl
inc rdx
cmp rdx, 8
jb 0x1800c0910
mov byte [rsp + 0x6c], r12b
xorps xmm0, xmm0
movups xmmword [rbp + 0x20], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x30], xmm1
lea rax, [rsp + 0x64]
mov r8, rbx
inc r8
cmp byte [rax + r8], r12b
jne 0x1800c0945
lea rdx, [rsp + 0x64]
lea rcx, [rbp + 0x20]
call fcn.18000c7ac
nop
lea rdx, [rbp + 0x20]
lea rcx, [rbp + 0x108]
call fcn.1800ceb58
nop
mov qword [rsp + 0x20], r12
xor r9d, r9d
lea r8, [rbp + 0xa0]
mov rdx, rax
lea rcx, [0x18019d060]
call fcn.1800c4d50
nop
mov rdx, qword [rbp + 0x38]
cmp rdx, 0x10
jb 0x1800c09cb
inc rdx
mov rcx, qword [rbp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800c09c6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800c09c6
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180157a14
movdqa xmm0, xmmword [0x180165930]
movdqu xmmword [rbp + 0x30], xmm0
mov byte [rbp + 0x20], r12b
xor edx, edx
lea r8d, [rdx + 9]
lea rcx, [rsp + 0x64]
call qword [sym.imp.VCRUNTIME140.dll_memset]
nop
xor edx, edx
lea r8d, [rdx + 0xe]
lea rcx, [rbp - 0x70]
call qword [sym.imp.VCRUNTIME140.dll_memset]
lea rcx, [0x180163638]
call fcn.1801579fc
nop
lea rcx, [0x18019d3f0]
call fcn.180157a84
xor r8d, r8d
lea edx, [r8 + 8]
lea rcx, [0x18019d400]
call fcn.1800103e0
mov rsi, rax
lea rcx, [rax - 1]
cmp rcx, 0xfffffffffffffffd
ja 0x1800c0d83
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x1800c0d83
xor edx, edx
mov r8d, 0x434
lea rcx, [rbp + 0x134]
call sub.VCRUNTIME140.dll_memset
mov dword [rbp + 0x130], 0x438
lea r8, [rbp + 0x130]
mov rdx, rsi
lea rcx, [0x18019d500]
call fcn.180010458
test eax, eax
jne 0x1800c0adf
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov dword [rdi + 0x440], ebx
jmp 0x1800c022c
mov rcx, qword [rbp + 0x148]
cmp rcx, r14
je 0x1800c0ae8
jae 0x1800c0ac1
mov eax, dword [rbp + 0x150]
add rax, rcx
cmp r14, rax
jb 0x1800c0ae8
lea r8, [rbp + 0x130]
mov rdx, rsi
lea rcx, [0x18019d060]
call fcn.180010458
test eax, eax
je 0x1800c0b6c
cmp qword [rbp + 0x158], r14
jne 0x1800c0aa5
xorps xmm0, xmm0
movups xmmword [rbp - 0x48], xmm0
mov qword [rbp - 0x38], r12
mov qword [rbp - 0x30], r12
lea rax, [rbp + 0x360]
inc rbx
cmp word [rax + rbx*2], r12w
jne 0x1800c0afe
mov r8, rbx
lea rdx, [rbp + 0x360]
lea rcx, [rbp - 0x48]
call fcn.18000c67c
nop
lea rcx, [rdi + 0x410]
lea rax, [rbp - 0x48]
cmp rcx, rax
je 0x1800c0b94
mov rbx, qword [rbp - 0x38]
lea r9, [rbp - 0x48]
cmp qword [rbp - 0x30], 8
cmovae r9, qword [rbp - 0x48]
cmp rbx, qword [rcx + 0x18]
ja 0x1800c0b8c
mov r14, rcx
cmp qword [rcx + 0x18], 8
jb 0x1800c0b51
mov r14, qword [rcx]
mov qword [rcx + 0x10], rbx
lea r8, [rbx + rbx]
mov rdx, r9
mov rcx, r14
call qword [sym.imp.VCRUNTIME140.dll_memmove]
mov word [r14 + rbx*2], r12w
jmp 0x1800c0b94
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x12
je 0x1800c0d5a
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, 0xad4
jmp 0x1800c0222
mov rdx, rbx
call fcn.18000c8bc
lea rcx, [rbp - 0x48]
cmp qword [rbp - 0x30], 8
cmovae rcx, qword [rbp - 0x48]
mov rax, qword [rbp - 0x38]
lea r8, [rcx + rax*2]
lea rdx, [rbp - 0x48]
cmovae rdx, qword [rbp - 0x48]
xorps xmm0, xmm0
movups xmmword [rbp + 0x40], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x50], xmm1
cmp rdx, r8
jne 0x1800c0bd5
mov qword [rbp + 0x58], 0xf
mov byte [rbp + 0x40], r12b
jmp 0x1800c0be7
mov r9, r8
sub r9, rdx
sar r9, 1
lea rcx, [rbp + 0x40]
call fcn.1800a85dc
lea rcx, [rdi + 0x10]
lea rdx, [rbp + 0x40]
call fcn.180015540
mov rdx, qword [rbp + 0x58]
mov ebx, 0x1000
cmp rdx, 0x10
jb 0x1800c0c33
inc rdx
mov rcx, qword [rbp + 0x40]
mov rax, rcx
cmp rdx, rbx
jb 0x1800c0c2e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800c0c2e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180157a14
mov byte [rdi + 4], 1
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov edx, dword [rbp + 0x150]
mov qword [rdi + 0x68], rdx
mov rax, qword [rbp + 0x148]
mov qword [rdi + 0x478], rax
cmp byte [rdi + 0x48a], r12b
jne 0x1800c0d0d
inc rdx
xor ecx, ecx
lea r9d, [rcx + 4]
mov r8d, 0x3000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov qword [rdi + 0x3f0], rax
test rax, rax
jne 0x1800c0c95
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
mov r8d, 0xaed
jmp 0x1800c0cba
mov r9, qword [rdi + 0x478]
mov r8, qword [rdi + 0x68]
mov rdx, rax
mov rcx, rdi
call fcn.1800c2ca0
test al, al
jne 0x1800c0d04
mov edx, 0x80006
mov r8d, 0xaf2
mov rcx, rdi
call fcn.1800bb4fc
nop
mov rdx, qword [rbp - 0x30]
cmp rdx, 8
jb 0x1800c022c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, rbx
jb 0x1800c0cfa
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800c0d4e
call fcn.180157a14
jmp 0x1800c022c
mov byte [rdi + 0x48c], r12b
jmp 0x1800c0d14
mov qword [rdi + 0x3f0], rax
mov qword [rdi + 0x470], r12
mov rdx, qword [rbp - 0x30]
cmp rdx, 8
jb 0x1800c0d5a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, rbx
jb 0x1800c0d55
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800c0d55
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180157a14
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp qword [rdi + 0x3f0], r12
jne 0x1800c0da5
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, 0xb04
jmp 0x1800c0222
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, 0xab1
jmp 0x1800c0222
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, 0xaa6
jmp 0x1800c0222
cmp byte [rdi + 0x409], r12b
je 0x1800c0ecd
cmp byte [rdi + 0x48c], r12b
je 0x1800c0ecd
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x60], xmm0
mov qword [rbp - 0x50], r12
lea r9, [rbp - 0x60]
mov r8, qword [r15]
mov dl, 1
mov rcx, rdi
call fcn.1800c34f4
test al, al
je 0x1800c0e5e
mov rcx, rdi
call fcn.1800bb9c8
mov bl, al
lea r9, [rbp - 0x60]
mov r8, qword [r15]
xor edx, edx
mov rcx, rdi
call fcn.1800c34f4
nop
mov r8, qword [rbp - 0x60]
test r8, r8
je 0x1800c0ed7
mov rcx, qword [rbp - 0x50]
sub rcx, r8
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 3
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rdx, [rdx + rdx*2]
shl rdx, 4
mov rax, r8
cmp rdx, 0x1000
jb 0x1800c0e54
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800c0eb2
mov rcx, r8
call fcn.180157a14
jmp 0x1800c0ed7
mov r8, qword [rbp - 0x60]
test r8, r8
je 0x1800c0ecd
mov rcx, qword [rbp - 0x50]
sub rcx, r8
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 3
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rdx, [rdx + rdx*2]
shl rdx, 4
mov rax, r8
cmp rdx, 0x1000
jb 0x1800c0eb9
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800c0eb9
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r8
call fcn.180157a14
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x60], xmm0
mov qword [rbp - 0x50], r12
mov rcx, rdi
call fcn.1800bb9c8
mov bl, al
mov al, bl
lea r11, [rsp + 0x670]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret