Function at 0x18009d620
Capabilities:
Resume thread
Suspend thread

Disassembly:
push rbp
push r12
push r13
push r14
push r15
mov eax, 0x1ac0
call fcn.180105690
sub rsp, rax
lea rbp, [rsp + 0x50]
mov qword [rbp + 0x1aa8], rbx
mov qword [rbp + 0x1ab0], rsi
mov qword [rbp + 0x1ab8], rdi
mov rax, qword [0x180163880]
xor rax, rbp
mov qword [rbp + 0x1a60], rax
mov rsi, qword [rcx + 0x28]
mov rdi, rcx
mov qword [rbp + 8], rsi
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
cmp byte [rdi + 0x3c], 0
mov r13, rax
jne 0x18009d684
mov rcx, rdi
call fcn.18009ce10
cmp byte [rdi + 0x3d], 0
je 0x18009d6c0
mov edx, dword [rdi + 0x38]
lea rcx, [rdi + 0x450]
mov rsi, qword [rdi + 0x30]
call fcn.18009c580
test al, al
jne 0x18009d6b8
lea r8, [rdi + 0x450]
mov rcx, rsi
lea rdx, [fcn.18009c310]
call qword [rdi + 0x9b0]
mov rsi, qword [rbp + 8]
mov byte [rdi + 0x3d], 0
cmp qword [rdi + 0x930], 0
jne 0x18009d6da
mov ecx, 0x45a
call qword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x18009dbed
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_GetThreadId]
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp ebx, eax
jne 0x18009d7ab
cmp dword [rdi + 0x490], 0
je 0x18009d79b
lea rcx, [rdi + 0x460]
mov edx, 9
lea rax, [rbp + 0x150]
nop dword [rax]
nop word [rax + rax]
lea rax, [rax + 0x80]
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
lea rcx, [rcx + 0x80]
movups xmmword [rax - 0x80], xmm0
movups xmm0, xmmword [rcx - 0x60]
movups xmmword [rax - 0x70], xmm1
movups xmm1, xmmword [rcx - 0x50]
movups xmmword [rax - 0x60], xmm0
movups xmm0, xmmword [rcx - 0x40]
movups xmmword [rax - 0x50], xmm1
movups xmm1, xmmword [rcx - 0x30]
movups xmmword [rax - 0x40], xmm0
movups xmm0, xmmword [rcx - 0x20]
movups xmmword [rax - 0x30], xmm1
movups xmm1, xmmword [rcx - 0x10]
movups xmmword [rax - 0x20], xmm0
movups xmmword [rax - 0x10], xmm1
sub rdx, 1
jne 0x18009d720
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rax], xmm0
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rax + 0x10], xmm1
movups xmm1, xmmword [rcx + 0x30]
movups xmmword [rax + 0x20], xmm0
movups xmm0, xmmword [rcx + 0x40]
movups xmmword [rax + 0x30], xmm1
movups xmmword [rax + 0x40], xmm0
jmp 0x18009d7ea
mov rdx, rsi
mov rcx, rdi
call fcn.18009d2e0
jmp 0x18009dbef
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_SuspendThread]
xor edx, edx
lea rcx, [rbp + 0x150]
mov r8d, 0x4d0
call sub.VCRUNTIME140.dll_memset
lea rdx, [rbp + 0x150]
mov dword [rbp + 0x180], 0x10000b
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_GetThreadContext]
test eax, eax
je 0x18009dbe4
xor r14d, r14d
lea rcx, [rbp + 0x40]
xor edx, edx
mov r8d, 0x108
call sub.VCRUNTIME140.dll_memset
mov rax, qword [rbp + 0x248]
mov qword [rbp + 0x40], rax
mov rax, qword [rbp + 0x1e8]
mov qword [rbp + 0x60], rax
mov qword [rbp + 0x70], rax
mov eax, dword [rsp]
mov dword [rbp + 0x4c], 3
mov dword [rbp + 0x6c], 3
mov dword [rbp + 0x7c], 3
mov eax, 0x420
sub rsp, rax
lea r12, [rsp + 0x50]
mov eax, dword [r12]
test r12, r12
je 0x18009dbe4
xor edx, edx
mov r8d, 0x420
mov rcx, r12
call sub.VCRUNTIME140.dll_memset
xor eax, eax
mov dword [r12], reloc.WLDAP32.dll_Ordinal_32
mov dword [r12 + 0x18], 0x400
mov ecx, 1
mov qword [rbp + 0x30], rax
xorps xmm0, xmm0
mov eax, dword [rdi + 0x9f0]
cmp eax, ecx
movups xmmword [rbp + 0x10], xmm0
cmova ecx, eax
mov dword [rbp + 0x10], Ordinal_46
mov eax, dword [rdi + 0x9f4]
cmp eax, 0xffffffff
mov dword [rbp + 4], ecx
mov ecx, 0x40
mov ebx, ecx
cmovne ebx, eax
mov rax, qword [rdi + 0x10]
cmp ebx, ecx
movups xmmword [rbp + 0x20], xmm0
cmova ebx, ecx
mov dword [rbp], ebx
test rax, rax
je 0x18009d8bf
mov rcx, rsi
call rax
mov rax, qword [rdi + 0x950]
lea r9, [rbp + 0x40]
mov r10, qword [rdi + 0x998]
xor esi, esi
mov rdx, qword [rdi + 0x30]
mov r8, r13
mov qword [rsp + 0x40], rsi
mov ecx, 0x8664
mov qword [rsp + 0x38], rax
mov r15d, esi
mov rax, qword [rdi + 0x948]
mov qword [rsp + 0x30], rax
lea rax, [0x18009d260]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x150]
mov qword [rsp + 0x20], rax
call r10
test eax, eax
je 0x18009dbb6
nop dword [rax + rax]
cmp r15d, dword [rbp + 4]
jb 0x18009db5c
cmp r15d, ebx
jae 0x18009dbc2
mov rax, qword [rbp + 0x40]
mov qword [rbp + 0x628], rax
mov byte [rbp + 0x630], 0
mov byte [rbp + 0xa30], 0
mov qword [rbp + 0xe30], rsi
mov qword [rbp + 0xe38], 0
mov byte [rbp + 0xe40], 0
mov byte [rbp + 0x1658], 0
mov byte [rbp + 0x1250], 0
cmp rax, qword [rbp + 0x50]
jne 0x18009d991
mov ecx, dword [rdi + 0x444]
test ecx, ecx
je 0x18009d98c
cmp r14d, ecx
ja 0x18009dbdb
inc r14d
jmp 0x18009d994
mov r14d, esi
test rax, rax
je 0x18009db44
test byte [rdi + 0x440], 1
je 0x18009da61
mov r10, qword [rdi + 0x968]
test r10, r10
je 0x18009da61
mov rcx, qword [rdi + 0x30]
lea r8, [rbp + 0xe30]
mov r9, r12
mov rdx, rax
call r10
test eax, eax
je 0x18009da35
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp byte [r12 + rax + 0x1c], 0
jne 0x18009d9e0
mov ebx, 0x3ff
lea rdx, [r12 + 0x1c]
cmp rax, rbx
lea rcx, [rbp + 0x630]
cmovb rbx, rax
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
xor r9d, r9d
mov byte [rbp + rbx + 0x630], 0
mov r8d, 0x400
lea rdx, [rbp + 0xa30]
lea rcx, [r12 + 0x1c]
call qword [rdi + 0x9a0]
mov ebx, dword [rbp]
xor esi, esi
jmp 0x18009da5d
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x1e7
je 0x18009dbc2
cmp eax, 0x7e
je 0x18009db5c
mov edx, eax
lea rcx, str.SymGetSymFromAddr64_failed__ErrorCode_lu__n
call fcn.180005bb0
mov rax, qword [rbp + 0x40]
cmp dword [rdi + 0x440], 0
je 0x18009db06
mov r10, qword [rdi + 0x970]
test r10, r10
je 0x18009db06
mov rcx, qword [rdi + 0x30]
lea r9, [rbp + 0x10]
lea r8, [rbp + 0xe38]
mov rdx, rax
call r10
test eax, eax
je 0x18009dade
mov eax, dword [rbp + 0x20]
mov rdx, qword [rbp + 0x28]
mov dword [rbp + 0xe3c], eax
mov rax, 0xffffffffffffffff
nop dword [rax + rax]
inc rax
cmp byte [rdx + rax], 0
jne 0x18009dab0
mov ebx, 0x3ff
lea rcx, [rbp + 0xe40]
cmp rax, rbx
cmovb rbx, rax
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
mov byte [rbp + rbx + 0xe40], 0
jmp 0x18009db02
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x1e7
je 0x18009dbc2
cmp eax, 0x7e
je 0x18009db5c
mov edx, eax
lea rcx, str.SymGetLineFromAddr64__ErrorCode_lu__n
call fcn.180005bb0
mov rax, qword [rbp + 0x40]
test byte [rdi + 0x440], 4
je 0x18009db41
mov rdx, qword [rdi + 0x30]
lea rcx, [rdi + 0x450]
lea r9, [rbp + 0x620]
mov r8, rax
call fcn.18009c140
test al, al
jne 0x18009db41
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.SymGetModuleInfo64__ErrorCode_lu__n
call fcn.180005bb0
mov ebx, dword [rbp]
mov rax, qword [rdi + 0x18]
test rax, rax
je 0x18009db5c
mov rdx, qword [rbp + 8]
lea rcx, [rbp + 0x620]
call rax
xor esi, esi
mov rax, qword [rdi + 0x950]
lea r9, [rbp + 0x40]
mov r10, qword [rdi + 0x998]
mov r8, r13
mov rdx, qword [rdi + 0x30]
mov ecx, 0x8664
mov qword [rsp + 0x40], rsi
inc r15d
mov qword [rsp + 0x38], rax
mov rax, qword [rdi + 0x948]
mov qword [rsp + 0x30], rax
lea rax, [0x18009d260]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x150]
mov qword [rsp + 0x20], rax
call r10
test eax, eax
jne 0x18009d920
lea rcx, str.StackWalk64_failed_n
call fcn.180005bb0
mov rax, qword [rdi + 0x20]
test rax, rax
je 0x18009dbd7
cmp r15d, 1
jbe 0x18009dbd7
mov rcx, qword [rbp + 8]
call rax
mov al, 1
jmp 0x18009dbef
lea rcx, str.StackWalk64_Endless_Callstack__n
jmp 0x18009dbbd
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ResumeThread]
xor al, al
mov rcx, qword [rbp + 0x1a60]
xor rcx, rbp
call fcn.180104980
mov rbx, qword [rbp + 0x1aa8]
mov rsi, qword [rbp + 0x1ab0]
mov rdi, qword [rbp + 0x1ab8]
lea rsp, [rbp + 0x1a70]
pop r15
pop r14
pop r13
pop r12
pop rbp
ret