Function at 0x18000cc50
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f0]
sub rsp, 0x2f0
mov rcx, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
call qword [sym.imp.KERNEL32.dll_EncodePointer]
mov qword [0x18005dbc8], rax
mov rcx, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call qword [sym.imp.KERNEL32.dll_EncodePointer]
mov qword [0x18005dbc0], rax
mov qword [rbp + 0x220], 0
lea r8, [rbp + 0x220]
lea rdx, [0x180003030]
mov ecx, 4
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
mov rax, qword [rbp + 0x220]
mov qword [0x18005dbd0], rax
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp - 0x20]
call fcn.180045cf0
mov dword [rsp + 0x50], 0x9eb680e7
mov dword [rsp + 0x54], 0x838b85bb
mov dword [rsp + 0x58], 0x87bbdfb9
mov dword [rsp + 0x5c], 0x8abfa3bd
mov word [rsp + 0x60], 0xa6b1
mov byte [rsp + 0x62], 0x1a
xorps xmm0, xmm0
movups xmmword [rsp + 0x63], xmm0
xor eax, eax
movabs r11, 0x55edf75f8f9ed2e0
mov r10, r11
lea rcx, [rsp + 0x51]
sub r10, rcx
nop dword [rax]
lea r9, [rsp + 0x51]
add r9, rax
movzx r8d, byte [r9 - 1]
lea edx, [rax - 0x26]
and dl, r8b
add dl, dl
movzx ecx, al
sub cl, dl
sub r8b, 0x1c
add cl, r8b
mov byte [r9 - 1], cl
movzx edx, byte [r9]
lea ecx, [rax - 0x25]
and cl, dl
add cl, cl
sub dl, cl
sub dl, 0x1b
add dl, al
mov byte [r9], dl
movzx r8d, byte [r9 + 1]
lea edx, [rax - 0x24]
and dl, r8b
add dl, dl
movzx ecx, al
sub cl, dl
sub r8b, 0x1a
add cl, r8b
mov byte [r9 + 1], cl
movzx edx, byte [r9 + 2]
lea ecx, [rax - 0x23]
and cl, dl
add cl, cl
sub dl, cl
sub dl, 0x19
add dl, al
mov byte [r9 + 2], dl
movzx r8d, byte [r9 + 3]
lea edx, [rax - 0x22]
and dl, r8b
add dl, dl
movzx ecx, al
sub cl, dl
sub r8b, 0x18
add cl, r8b
mov byte [r9 + 3], cl
movzx edx, byte [r9 + 4]
lea ecx, [rax - 0x21]
and cl, dl
add cl, cl
sub dl, cl
sub dl, 0x17
add dl, al
mov byte [r9 + 4], dl
movzx r8d, byte [r9 + 5]
lea rcx, [r9 + r10]
and rcx, r8
imul rdx, rcx, 0xfffffffffffffffe
add rdx, r8
add rdx, r11
add rdx, rax
add dl, 0xa
mov byte [r9 + 5], dl
add rax, 7
cmp rax, 0x23
jb 0x18000cd30
mov al, 0x73
mov r8b, 0x6e
mov r9b, 0x7a
mov r10b, 0x71
mov r11b, 0x69
mov bl, 0x75
mov dil, 0x3d
mov sil, 0x31
mov r14b, 0x3c
mov r15b, 0x61
mov r12b, 0x78
mov r13b, 0x7f
xor ecx, ecx
mov qword [rbp + 0x220], rcx
mov qword [rsp + 0x3d], rcx
mov dword [rsp + 0x45], ecx
movzx edx, al
movzx eax, dl
and al, 0xa1
mov ecx, 0x1d
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x30], cl
movzx ecx, r8b
movzx eax, cl
and al, 0xa2
add al, al
sub cl, al
add cl, 0x3b
mov byte [rsp + 0x31], cl
movzx edx, r9b
movzx eax, dl
and al, 0xa3
mov ecx, 0x1e
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x32], cl
movzx ecx, r10b
movzx eax, cl
and al, 0xa4
add al, al
sub cl, al
add cl, dil
mov byte [rsp + 0x33], cl
movzx edx, r11b
movzx eax, dl
and al, 0xa5
mov ecx, 0x1f
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x34], cl
movzx ecx, bl
movzx eax, cl
and al, 0xa6
add al, al
sub cl, al
add cl, 0x3f
mov byte [rsp + 0x35], cl
movzx edx, dil
movzx eax, dl
and al, 0xa7
mov ecx, 0x20
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x36], cl
movzx ecx, sil
movzx eax, cl
and al, 0xa8
add al, al
sub cl, al
add cl, 0x41
mov byte [rsp + 0x37], cl
movzx edx, r14b
movzx eax, dl
and al, 0xa9
mov ecx, 0x21
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x38], cl
movzx ecx, r15b
movzx eax, cl
and al, 0xaa
add al, al
sub cl, al
add cl, 0x43
mov byte [rsp + 0x39], cl
movzx edx, r12b
movzx eax, dl
and al, 0xab
mov ecx, 0x22
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x3a], cl
movzx ecx, r13b
movzx eax, cl
and al, 0xac
add al, al
sub cl, al
add cl, 0x45
mov byte [rsp + 0x3b], cl
mov al, 0xca
movzx edx, al
movzx eax, dl
and al, 0xad
mov ecx, 0x23
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x3c], cl
mov r8, qword [rbp + 0x220]
movzx ecx, r8b
movzx eax, cl
and al, 0xae
add al, al
sub cl, al
add cl, 0x47
mov byte [rsp + 0x3d], cl
movzx edx, byte [rsp + 0x3e]
movzx eax, dl
and al, 0xaf
mov ecx, 0x24
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x3e], cl
movzx ecx, byte [rsp + 0x3f]
movzx eax, cl
and al, 0xb0
add al, al
sub cl, al
add cl, 0x49
mov byte [rsp + 0x3f], cl
movzx edx, byte [rsp + 0x40]
movzx eax, dl
and al, 0xb1
mov ecx, 0x25
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x40], cl
movzx ecx, byte [rsp + 0x41]
movzx eax, cl
and al, 0xb2
add al, al
sub cl, al
add cl, 0x4b
mov byte [rsp + 0x41], cl
movzx edx, byte [rsp + 0x42]
movzx eax, dl
and al, 0xb3
mov ecx, 0x26
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x42], cl
movzx ecx, byte [rsp + 0x43]
movzx eax, cl
and al, 0xb4
add al, al
sub cl, al
add cl, 0x4d
mov byte [rsp + 0x43], cl
movzx edx, byte [rsp + 0x44]
movzx eax, dl
and al, 0xb5
mov ecx, 0x27
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x44], cl
movzx ecx, r8b
movzx eax, cl
and al, 0xb6
add al, al
sub cl, al
add cl, 0x4f
mov byte [rsp + 0x45], cl
movzx edx, byte [rsp + 0x46]
movzx eax, dl
and al, 0xb7
mov ecx, 0x28
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x46], cl
movzx ecx, byte [rsp + 0x47]
movzx eax, cl
and al, 0xb8
add al, al
sub cl, al
add cl, 0x51
mov byte [rsp + 0x47], cl
movzx ecx, byte [rsp + 0x48]
mov eax, ecx
movabs rdx, 0xeb147d72933d79b9
and rax, rdx
imul rax, rax, 0xfffffffffffffffe
add rax, rdx
add rcx, rax
sub cl, 0x67
mov byte [rsp + 0x48], cl
lea rcx, [rsp + 0x30]
call fcn.18000c7b0
lea rdx, [rsp + 0x50]
mov rcx, rax
call fcn.18000c310
mov r8d, 0x104
lea rdx, [rbp - 0x20]
mov rcx, qword [0x18005dbd0]
call rax
mov dword [rsp + 0x30], 0xfbecf206
mov dword [rsp + 0x34], 0xf3eaf61c
mov dword [rsp + 0x38], 0xf4ecf210
mov dword [rsp + 0x3c], 0x813060c
mov word [rsp + 0x40], 0xa1ff
xor eax, eax
mov qword [rsp + 0x42], rax
mov dword [rsp + 0x4a], eax
mov word [rsp + 0x4e], ax
xor edi, edi
mov r9d, edi
movabs r11, 0x55af6d2b8f012782
mov r10, r11
lea rax, [rsp + 0x31]
sub r10, rax
nop dword [rax]
nop word [rax + rax]
lea r8, [rsp + 0x31]
add r8, r9
lea eax, [r9 + 0x73]
and al, byte [r8 - 1]
mov ecx, 0x27
sub cl, al
add cl, cl
add cl, byte [r8 - 1]
add cl, r9b
mov byte [r8 - 1], cl
movzx ecx, byte [r8]
lea eax, [r9 + 0x74]
and al, cl
add al, al
sub cl, al
add cl, 0x4f
add cl, r9b
mov byte [r8], cl
lea eax, [r9 + 0x75]
and al, byte [r8 + 1]
mov ecx, 0x28
sub cl, al
add cl, cl
add cl, byte [r8 + 1]
add cl, r9b
mov byte [r8 + 1], cl
movzx ecx, byte [r8 + 2]
lea eax, [r9 + 0x76]
and al, cl
add al, al
sub cl, al
add cl, 0x51
add cl, r9b
mov byte [r8 + 2], cl
lea eax, [r9 + 0x77]
and al, byte [r8 + 3]
mov ecx, 0x29
sub cl, al
add cl, cl
add cl, byte [r8 + 3]
add cl, r9b
mov byte [r8 + 3], cl
movzx ecx, byte [r8 + 4]
lea eax, [r9 + 0x78]
and al, cl
add al, al
sub cl, al
add cl, 0x53
add cl, r9b
mov byte [r8 + 4], cl
lea eax, [r9 + 0x79]
and al, byte [r8 + 5]
mov ecx, 0x2a
sub cl, al
add cl, cl
add cl, byte [r8 + 5]
add cl, r9b
mov byte [r8 + 5], cl
movzx ecx, byte [r8 + 6]
lea eax, [r9 + 0x7a]
and al, cl
add al, al
sub cl, al
add cl, 0x55
add cl, r9b
mov byte [r8 + 6], cl
lea eax, [r9 + 0x7b]
and al, byte [r8 + 7]
mov ecx, 0x2b
sub cl, al
add cl, cl
add cl, byte [r8 + 7]
add cl, r9b
mov byte [r8 + 7], cl
movzx ecx, byte [r8 + 8]
lea eax, [r9 + 0x7c]
and al, cl
add al, al
sub cl, al
add cl, 0x57
add cl, r9b
mov byte [r8 + 8], cl
lea eax, [r9 + 0x7d]
and al, byte [r8 + 9]
mov ecx, 0x2c
sub cl, al
add cl, cl
add cl, byte [r8 + 9]
add cl, r9b
mov byte [r8 + 9], cl
movzx ecx, byte [r8 + 0xa]
lea eax, [r9 + 0x7e]
and al, cl
add al, al
sub cl, al
add cl, 0x59
add cl, r9b
mov byte [r8 + 0xa], cl
lea eax, [r9 + 0x7f]
and al, byte [r8 + 0xb]
mov ecx, 0x2d
sub cl, al
add cl, cl
add cl, byte [r8 + 0xb]
add cl, r9b
mov byte [r8 + 0xb], cl
movzx ecx, byte [r8 + 0xc]
lea eax, [r9 + 0x80]
and al, cl
add al, al
sub cl, al
add cl, 0x5b
add cl, r9b
mov byte [r8 + 0xc], cl
lea eax, [r9 - 0x7f]
and al, byte [r8 + 0xd]
mov ecx, 0x2e
sub cl, al
add cl, cl
add cl, byte [r8 + 0xd]
add cl, r9b
mov byte [r8 + 0xd], cl
movzx edx, byte [r8 + 0xe]
lea rax, [r10 + r8]
and rax, rdx
imul rcx, rax, 0xfffffffffffffffe
add rcx, rdx
add rcx, r11
add rcx, r9
sub cl, 0x25
mov byte [r8 + 0xe], cl
add r9, 0x10
cmp r9, 0x20
jb 0x18000d100
mov dword [rsp + 0x73], 0xc8ded5db
mov dword [rsp + 0x77], 0x95dfd1e1
mov dword [rsp + 0x7b], 0x3ba6d9e0
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x7f], xmm0
mov dword [rbp - 0x71], eax
mov r9, rdi
movabs r11, 0x95cafd2829f24345
mov r10, r11
lea rax, [rsp + 0x74]
sub r10, rax
lea r8, [rsp + 0x74]
add r8, r9
movzx ecx, byte [r8 - 1]
lea eax, [r9 + 0x36]
and al, cl
add al, al
sub cl, al
sub cl, 0x44
add cl, r9b
mov byte [r8 - 1], cl
lea ecx, [r9 + 0x37]
and cl, byte [r8]
add cl, cl
movzx eax, r9b
sub al, cl
sub al, 0x43
add byte [r8], al
lea ecx, [r9 + 0x38]
and cl, byte [r8 + 1]
add cl, cl
movzx eax, r9b
sub al, cl
sub al, 0x42
add byte [r8 + 1], al
lea ecx, [r9 + 0x39]
and cl, byte [r8 + 2]
add cl, cl
movzx eax, r9b
sub al, cl
sub al, 0x41
add byte [r8 + 2], al
movzx ecx, byte [r8 + 3]
lea eax, [r9 + 0x3a]
and al, cl
add al, al
sub cl, al
sub cl, 0x40
add cl, r9b
mov byte [r8 + 3], cl
lea ecx, [r9 + 0x3b]
and cl, byte [r8 + 4]
add cl, cl
movzx eax, r9b
sub al, cl
sub al, 0x3f
add byte [r8 + 4], al
movzx ecx, byte [r8 + 5]
lea eax, [r9 + 0x3c]
and al, cl
add al, al
sub cl, al
sub cl, 0x3e
add cl, r9b
mov byte [r8 + 5], cl
lea ecx, [r9 + 0x3d]
and cl, byte [r8 + 6]
add cl, cl
movzx eax, r9b
sub al, cl
sub al, 0x3d
add byte [r8 + 6], al
movzx ecx, byte [r8 + 7]
lea eax, [r9 + 0x3e]
and al, cl
add al, al
sub cl, al
sub cl, r14b
add cl, r9b
mov byte [r8 + 7], cl
movzx ecx, byte [r8 + 8]
lea eax, [r9 + 0x3f]
and al, cl
add al, al
sub cl, al
sub cl, 0x3b
add cl, r9b
mov byte [r8 + 8], cl
movzx ecx, byte [r8 + 9]
lea eax, [r9 + 0x40]
and al, cl
add al, al
sub cl, al
sub cl, 0x3a
add cl, r9b
mov byte [r8 + 9], cl
movzx ecx, byte [r8 + 0xa]
lea eax, [r9 + 0x41]
and al, cl
add al, al
sub cl, al
sub cl, 0x39
add cl, r9b
mov byte [r8 + 0xa], cl
movzx ecx, byte [r8 + 0xb]
lea eax, [r9 + 0x42]
and al, cl
add al, al
sub cl, al
sub cl, 0x38
add cl, r9b
mov byte [r8 + 0xb], cl
movzx ecx, byte [r8 + 0xc]
lea eax, [r9 + 0x43]
and al, cl
add al, al
sub cl, al
sub cl, 0x37
add cl, r9b
mov byte [r8 + 0xc], cl
movzx ecx, byte [r8 + 0xd]
lea eax, [r9 + 0x44]
and al, cl
add al, al
sub cl, al
sub cl, 0x36
add cl, r9b
mov byte [r8 + 0xd], cl
movzx edx, byte [r8 + 0xe]
lea rax, [r10 + r8]
and rax, rdx
imul rcx, rax, 0xfffffffffffffffe
add rcx, rdx
add rcx, r11
add rcx, r9
sub cl, 0x7a
mov byte [r8 + 0xe], cl
add r9, 0x10
cmp r9, 0x20
jb 0x18000d303
lea rcx, [rsp + 0x73]
call fcn.18000c7b0
lea rdx, [rsp + 0x30]
mov rcx, rax
call fcn.18000c310
lea rcx, [rbp - 0x20]
call rax
mov r11, rax
mov dword [rsp + 0x50], 0x4bde45e1
mov dword [rsp + 0x54], 0x4fdd49ed
mov dword [rsp + 0x58], 0xb3d94dda
mov dword [rsp + 0x5c], 0xb715b128
mov dword [rsp + 0x60], 0xbb10b5e4
mov dword [rsp + 0x64], 0xbf14b916
mov word [rsp + 0x68], 0xbdbe
xor eax, eax
mov qword [rsp + 0x6a], rax
mov byte [rsp + 0x72], al
mov r9, rdi
movabs rbx, 0x1a9a943069ace07b
mov r10, rbx
lea rax, [rsp + 0x51]
sub r10, rax
nop dword [rax]
lea r8, [rsp + 0x51]
add r8, r9
lea eax, [r9 + 0x75]
and al, byte [r8 - 1]
mov ecx, 0x21
sub cl, al
add cl, cl
add cl, byte [r8 - 1]
add cl, r9b
mov byte [r8 - 1], cl
movzx ecx, byte [r8]
lea eax, [r9 + 0x76]
and al, cl
add al, al
sub cl, al
add cl, 0x43
add cl, r9b
mov byte [r8], cl
lea eax, [r9 + 0x77]
and al, byte [r8 + 1]
mov ecx, 0x22
sub cl, al
add cl, cl
add cl, byte [r8 + 1]
add cl, r9b
mov byte [r8 + 1], cl
movzx ecx, byte [r8 + 2]
lea eax, [r9 + 0x78]
and al, cl
add al, al
sub cl, al
add cl, 0x45
add cl, r9b
mov byte [r8 + 2], cl
lea eax, [r9 + 0x79]
and al, byte [r8 + 3]
mov ecx, 0x23
sub cl, al
add cl, cl
add cl, byte [r8 + 3]
add cl, r9b
mov byte [r8 + 3], cl
movzx ecx, byte [r8 + 4]
lea eax, [r9 + 0x7a]
and al, cl
add al, al
sub cl, al
add cl, 0x47
add cl, r9b
mov byte [r8 + 4], cl
movzx edx, byte [r8 + 5]
lea rax, [r10 + r8]
and rax, rdx
imul rcx, rax, 0xfffffffffffffffe
add rcx, rdx
add rcx, rbx
add rcx, r9
sub cl, 0x33
mov byte [r8 + 5], cl
add r9, 7
cmp r9, 0x23
jb 0x18000d520
lea rdx, [rsp + 0x50]
mov rcx, r11
call fcn.18002e0f8
test eax, eax
je 0x18000d664
call fcn.1800163e0
mov rbx, rax
lea rax, [0x1800545b0]
mov qword [rbp - 0x68], rax
lea rax, [fcn.180003210]
mov qword [rbp - 0x60], rax
lea rax, [rbp - 0x68]
mov qword [rbp - 0x30], rax
lea rax, [rbp - 0x68]
mov qword [rbp + 0x220], rax
lea rcx, [rbx + 0x30]
lea rdx, [rbp - 0x68]
call fcn.180016260
mov rcx, rbx
call fcn.180001fd0
nop
mov rcx, qword [rbp - 0x30]
test rcx, rcx
je 0x18000d664
mov rax, qword [rcx]
lea rdx, [rbp - 0x68]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], edi
xor r9d, r9d
lea r8, [0x1800104e0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
lea r11, [rsp + 0x2f0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret