Function at 0x18009e7d0
Capabilities:
Get thread local storage value
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xc8
mov rbx, qword [rcx + 0x20]
mov r13, rcx
mov r12, r8
mov rcx, rbx
mov ebp, edx
call fcn.18021c3d0
xor esi, esi
xor r14d, r14d
mov qword [rsp + 0x98], rsi
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x80], rsi
mov dword [rsp + 0x60], esi
mov dword [rsp + 0x64], esi
mov qword [rsp + 0xa0], rsi
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x78], rsi
mov r15, rsi
mov qword [rsp + 0x90], rsi
mov qword [rsp + 0xa8], rsi
test r12, r12
je 0x18009e85a
mov qword [r12], rsi
mov rcx, qword [r13 + 0x20]
cmp dword [r13 + 0x38], esi
jne 0x18009e883
lea r9, [0x18003bff0]
xor r8d, r8d
xor edx, edx
call fcn.180221ec0
mov r12d, 0x80004005
mov rbp, rsi
jmp 0x18009f141
call fcn.180221f50
mov r12d, eax
test eax, eax
js 0x18009e87b
mov ecx, 0x38
call sub.msvcrt.dll_void____ptr64___cdecl_operator_new_unsigned_long_long_unsigned___int64__
mov r14, rax
test rax, rax
je 0x18009f6db
mov ecx, 0x38
mov qword [rax + 0x18], rsi
mov qword [rax + 0x10], rsi
mov qword [rax + 0x20], rax
mov qword [rax + 0x28], rsi
mov qword [rax + 8], rsi
mov dword [rax], esi
mov dword [rax + 0x30], esi
call sub.msvcrt.dll_void____ptr64___cdecl_operator_new_unsigned_long_long_unsigned___int64__
mov qword [rsp + 0x48], rax
test rax, rax
je 0x18009f6de
mov qword [rax + 0x18], rsi
mov qword [rax + 0x10], rsi
mov qword [rax + 0x20], rax
mov qword [rax + 0x28], rsi
mov qword [rax + 8], rsi
mov dword [rax], esi
mov dword [rax + 0x30], esi
mov dword [rsp + 0x110], esi
mov rsi, qword [r13 + 0x70]
test rsi, rsi
je 0x18009e967
nop
lea r9, [rsp + 0x110]
mov r8, r14
mov rdx, rsi
mov rcx, r13
mov dword [rsp + 0x20], ebp
call fcn.18009d720
mov r12d, eax
test eax, eax
js 0x18009f4fd
mov rdi, qword [rsi + 0x58]
test rdi, rdi
je 0x18009e95e
nop
lea r9, [rsp + 0x110]
mov r8, r14
mov rdx, rdi
mov rcx, r13
mov dword [rsp + 0x20], ebp
call fcn.18009d720
mov r12d, eax
test eax, eax
js 0x18009f4fd
mov rdi, qword [rdi + 0x60]
test rdi, rdi
jne 0x18009e930
mov rsi, qword [rsi + 0x60]
test rsi, rsi
jne 0x18009e900
mov rbp, qword [r13 + 0x68]
test rbp, rbp
je 0x18009ea1b
mov rdi, qword [rbp + 0x50]
test rdi, rdi
je 0x18009e9b5
nop dword [rax]
mov eax, dword [rsp + 0x118]
lea r9, [rsp + 0x110]
mov r8, r14
mov rdx, rdi
mov rcx, r13
mov dword [rsp + 0x20], eax
call fcn.18009d720
mov r12d, eax
test eax, eax
js 0x18009f4fd
mov rdi, qword [rdi + 0x60]
test rdi, rdi
jne 0x18009e980
mov rsi, qword [rbp + 0x48]
test rsi, rsi
je 0x18009ea0e
nop
mov rdi, qword [rsi + 0x48]
test rdi, rdi
je 0x18009ea05
nop dword [rax]
mov eax, dword [rsp + 0x118]
lea r9, [rsp + 0x110]
mov r8, r14
mov rdx, rdi
mov rcx, r13
mov dword [rsp + 0x20], eax
call fcn.18009d720
mov r12d, eax
test eax, eax
js 0x18009f4fd
mov rdi, qword [rdi + 0x60]
test rdi, rdi
jne 0x18009e9d0
mov rsi, qword [rsi + 0x50]
test rsi, rsi
jne 0x18009e9c0
mov rbp, qword [rbp + 0x58]
test rbp, rbp
jne 0x18009e974
mov rdi, qword [r13 + 0x80]
xor esi, esi
mov dword [rsp + 0x6c], esi
test rdi, rdi
je 0x18009ea74
mov rsi, qword [rsp + 0x48]
nop word [rax + rax]
mov eax, dword [rsp + 0x118]
lea r9, [rsp + 0x6c]
mov r8, rsi
mov rdx, rdi
mov rcx, r13
mov dword [rsp + 0x20], eax
call fcn.18009ddf0
mov r12d, eax
test eax, eax
js 0x18009f6ec
mov rdi, qword [rdi + 0x28]
test rdi, rdi
jne 0x18009ea40
xor esi, esi
mov eax, dword [r13 + 0x4c]
mov dword [rsp + 0x68], esi
mov ecx, eax
sub ecx, dword [r13 + 0x18]
mov dword [rsp + 0x88], ecx
mov ecx, dword [r13 + 0x48]
mov dword [rsp + 0x54], ecx
mov ecx, dword [r13 + 0x44]
mov dword [rsp + 0x50], ecx
mov rcx, qword [r13 + 0x50]
test rcx, rcx
je 0x18009eabd
cmp eax, 0x10
jb 0x18009eabd
mov rax, qword [rcx]
lea rdx, [rsp + 0xb0]
mov qword [rdx], rax
mov rax, qword [rcx + 8]
mov qword [rdx + 8], rax
mov rax, qword [r13 + 0x10]
cmp dword [rax + 0x18], r15d
jbe 0x18009f50a
mov ecx, 0x38
mov r12d, esi
call sub.msvcrt.dll_void____ptr64___cdecl_operator_new_unsigned_long_long_unsigned___int64__
mov qword [rsp + 0x70], rax
test rax, rax
je 0x18009f4f2
mov ecx, 0x38
mov qword [rax + 0x18], rsi
mov qword [rax + 0x10], rsi
mov qword [rax + 0x20], rax
mov qword [rax + 0x28], rsi
mov qword [rax + 8], rsi
mov dword [rax], esi
mov dword [rax + 0x30], esi
call sub.msvcrt.dll_void____ptr64___cdecl_operator_new_unsigned_long_long_unsigned___int64__
mov qword [rsp + 0x80], rax
test rax, rax
je 0x18009f4d7
mov ecx, 0x38
mov qword [rax + 0x18], rsi
mov qword [rax + 0x10], rsi
mov qword [rax + 0x20], rax
mov qword [rax + 0x28], rsi
mov qword [rax + 8], rsi
mov dword [rax], esi
mov dword [rax + 0x30], esi
call sub.msvcrt.dll_void____ptr64___cdecl_operator_new_unsigned_long_long_unsigned___int64__
mov qword [rsp + 0x78], rax
test rax, rax
je 0x18009f4bf
mov qword [rax + 0x18], rsi
mov qword [rax + 0x10], rsi
mov qword [rax + 0x20], rax
mov qword [rax + 0x28], rsi
mov qword [rax + 8], rsi
mov dword [rax], esi
mov dword [rax + 0x30], esi
mov rcx, qword [r13 + 0x10]
mov rax, qword [rcx]
mov dword [rcx + 0x20], esi
mov qword [rcx + 8], rax
mov rdx, qword [r13 + 0x10]
mov r8d, dword [rdx + 0x20]
cmp r8d, dword [rdx + 0x18]
jae 0x18009ecbc
mov rbp, qword [rdx + 8]
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rbp
repne scasb al, byte [rdi]
not rcx
lea rax, [rcx + rbp]
mov qword [rdx + 8], rax
lea eax, [r8 + 1]
mov dword [rdx + 0x20], eax
test rbp, rbp
je 0x18009ecbc
mov edx, 0x2b
mov rcx, rbp
call sub.msvcrt.dll_strchr
mov r15, rax
sub r15d, ebp
mov rax, qword [r13 + 0x30]
mov rcx, qword [rax]
test rsi, rsi
jne 0x18009ebdc
test rcx, rcx
je 0x18009ec91
mov rsi, qword [rcx + 0x70]
jmp 0x18009ebf0
mov rsi, qword [rsi + 0x80]
test rsi, rsi
je 0x18009ec91
nop dword [rax]
test rsi, rsi
je 0x18009ec91
mov ecx, dword [rsi + 8]
mov eax, 1
shl eax, cl
test eax, 0x80ffffff
jne 0x18009ec13
mov rsi, qword [rsi + 0x80]
jmp 0x18009ebf0
cmp ecx, 2
jne 0x18009ebc1
mov r9, qword [rsi + 0x18]
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, r9
mov r8d, r15d
repne scasb al, byte [rdi]
not rcx
dec rcx
cmp rcx, r8
jne 0x18009ebc1
mov rdx, rbp
mov rcx, r9
call sub.msvcrt.dll_strncmp
test eax, eax
jne 0x18009ebc1
mov r9, qword [rsp + 0x70]
mov r8, qword [rsp + 0x78]
lea rax, [rsp + 0xa8]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x68]
mov rdx, rsi
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x90]
mov rcx, r13
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbp
call fcn.180096f70
test eax, eax
jns 0x18009ec91
test r12d, r12d
cmovns r12d, eax
mov esi, 0
test r12d, r12d
jns 0x18009eb72
mov eax, dword [rsp + 0x54]
mov r15, qword [rsp + 0x90]
mov dword [r13 + 0x48], eax
mov eax, dword [rsp + 0x50]
mov dword [r13 + 0x44], eax
jmp 0x18009f6af
mov eax, dword [r13 + 0x44]
mov ebp, dword [r13 + 0x48]
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x80]
mov edi, dword [rsp + 0x50]
mov esi, dword [rsp + 0x54]
mov r12d, dword [rsp + 0x88]
mov dword [r13 + 0x48], esi
mov dword [r13 + 0x44], edi
sub eax, edi
sub ebp, esi
xor r9d, r9d
mov dword [rsp + 0x50], eax
mov rax, qword [rdx + 0x20]
mov qword [rsp + 0x78], r9
mov qword [rcx + 0x18], rax
mov rax, qword [rdx + 0x20]
mov r8d, r12d
mov qword [rax + 0x10], rcx
mov rax, qword [rcx + 0x20]
mov rcx, rdx
mov qword [rdx + 0x20], rax
mov esi, dword [r13 + 0x58]
nop dword [rax + rax]
lea rax, [rsp + 0x54]
test rax, rax
je 0x18009ed34
mov eax, dword [rcx]
mov dword [rcx + 0x30], r8d
lea r8d, [r8 + rax*4]
mov rcx, qword [rcx + 0x10]
test rcx, rcx
jne 0x18009ed20
mov rcx, qword [rsp + 0x70]
lea rax, [rsp + 0x54]
test rax, rax
je 0x18009ed54
mov eax, dword [rcx]
mov dword [rcx + 0x30], esi
lea esi, [rsi + rax*4]
mov rcx, qword [rcx + 0x10]
test rcx, rcx
jne 0x18009ed42
mov r15, qword [rsp + 0x90]
sub esi, dword [r13 + 0x58]
sub r8d, r12d
mov dword [rsp + 0x60], r8d
mov dword [rsp + 0x64], esi
mov rdi, r15
test r15, r15
je 0x18009eddd
nop dword [rax]
mov rax, qword [rdi + 0x78]
mov rdx, qword [rdi + 0x58]
mov ecx, dword [rax + 0x30]
mov rax, qword [rdi + 0x70]
mov dword [rdi + 0x78], ecx
mov ecx, dword [rax + 0x30]
mov rax, qword [rdi + 0x80]
mov dword [rdi + 0x70], ecx
mov ecx, dword [rax + 0x30]
mov dword [rdi + 0x80], ecx
test rdx, rdx
je 0x18009edd4
nop dword [rax]
mov rax, qword [rdx + 0x78]
mov ecx, dword [rax + 0x30]
mov rax, qword [rdx + 0x70]
mov dword [rdx + 0x78], ecx
mov ecx, dword [rax + 0x30]
mov dword [rdx + 0x80], r9d
mov dword [rdx + 0x70], ecx
mov rdx, qword [rdx + 0x60]
test rdx, rdx
jne 0x18009edb0
mov rdi, qword [rdi + 0x60]
test rdi, rdi
jne 0x18009ed80
mov rax, qword [rsp + 0xa8]
mov rdx, rax
test rax, rax
je 0x18009ee0d
nop dword [rax]
mov rax, qword [rdx + 0x38]
mov ecx, dword [rax + 0x30]
mov rax, qword [rdx + 0x30]
mov dword [rdx + 0x38], ecx
mov ecx, dword [rax + 0x30]
mov dword [rdx + 0x30], ecx
mov rdx, qword [rdx + 0x28]
test rdx, rdx
jne 0x18009edf0
mov ecx, r8d
call sub.msvcrt.dll_void____ptr64___cdecl_operator_new_unsigned_long_long_unsigned___int64__
mov qword [rsp + 0xa0], rax
test rax, rax
je 0x18009f131
mov ecx, esi
call sub.msvcrt.dll_void____ptr64___cdecl_operator_new_unsigned_long_long_unsigned___int64__
mov qword [rsp + 0x58], rax
test rax, rax
je 0x18009f131
mov rsi, qword [rsp + 0xa0]
mov rdi, qword [rsp + 0x80]
sub rsi, r12
nop
test rsi, rsi
je 0x18009ee7a
mov r8d, dword [rdi]
mov ecx, dword [rdi + 0x30]
mov rdx, qword [rdi + 0x28]
shl r8, 2
add rcx, rsi
test rdx, rdx
jne 0x18009ee71
mov rdx, qword [rdi + 8]
jmp 0x18009ee75
add rdx, 0x30
call sub.msvcrt.dll_memcpy
mov rdi, qword [rdi + 0x10]
test rdi, rdi
jne 0x18009ee50
mov r12, qword [rsp + 0x58]
mov eax, dword [r13 + 0x58]
mov rdi, qword [rsp + 0x70]
mov rsi, r12
sub rsi, rax
test rsi, rsi
je 0x18009eec1
mov r8d, dword [rdi]
mov ecx, dword [rdi + 0x30]
mov rdx, qword [rdi + 0x28]
shl r8, 2
add rcx, rsi
test rdx, rdx
jne 0x18009eeb8
mov rdx, qword [rdi + 8]
jmp 0x18009eebc
add rdx, 0x30
call sub.msvcrt.dll_memcpy
mov rdi, qword [rdi + 0x10]
test rdi, rdi
jne 0x18009ee97
mov rsi, r15
test r15, r15
je 0x18009ef5a
mov eax, dword [r13 + 0x58]
mov rcx, r12
mov rdx, rsi
sub rcx, rax
call fcn.180095c70
mov r12d, eax
test eax, eax
js 0x18009ef3b
mov rdi, qword [rsi + 0x58]
test rdi, rdi
je 0x18009ef24
nop dword [rax + rax]
mov eax, dword [r13 + 0x58]
mov rcx, qword [rsp + 0x58]
mov rdx, rdi
sub rcx, rax
call fcn.180095c70
mov r12d, eax
test eax, eax
js 0x18009ef32
mov rdi, qword [rdi + 0x60]
test rdi, rdi
jne 0x18009ef00
mov rsi, qword [rsi + 0x60]
mov r12, qword [rsp + 0x58]
test rsi, rsi
jmp 0x18009eed0
lea r9, [0x18003b020]
jmp 0x18009ef42
lea r9, [0x18003afd0]
mov rcx, qword [r13 + 0x20]
xor r8d, r8d
xor edx, edx
call fcn.180221ec0
mov rsi, qword [rsp + 0x40]
jmp 0x18009f6af
mov eax, dword [rsp + 0x68]
mov ecx, dword [r13 + 0x3c]
mov rsi, r15
add ecx, eax
mov eax, dword [r13 + 0x48]
mov dword [rsp + 0xb0], ecx
lea ecx, [rbp + rax]
mov eax, dword [r13 + 0x58]
mov rbp, qword [r13 + 0x60]
mov dword [rsp + 0xb8], ecx
mov ecx, dword [rsp + 0x50]
add ecx, dword [r13 + 0x44]
mov dword [rsp + 0xbc], ecx
mov rcx, r12
sub rcx, rax
mov qword [r13 + 0x60], rcx
test r15, r15
je 0x18009f02e
nop word [rax + rax]
mov eax, dword [rsp + 0x118]
lea r9, [rsp + 0x110]
mov r8, r14
mov rdx, rsi
mov rcx, r13
mov dword [rsp + 0x20], eax
call fcn.18009d720
mov r12d, eax
test eax, eax
js 0x18009f123
mov rdi, qword [rsi + 0x58]
test rdi, rdi
je 0x18009f025
nop word [rax + rax]
mov eax, dword [rsp + 0x118]
lea r9, [rsp + 0x110]
mov r8, r14
mov rdx, rdi
mov rcx, r13
mov dword [rsp + 0x20], eax
call fcn.18009d720
mov r12d, eax
test eax, eax
js 0x18009f123
mov rdi, qword [rdi + 0x60]
test rdi, rdi
jne 0x18009eff0
mov rsi, qword [rsi + 0x60]
test rsi, rsi
jne 0x18009efb0
mov rax, qword [rsp + 0xa8]
mov qword [r13 + 0x60], rbp
mov rbp, qword [rsp + 0x48]
mov rdi, rax
test rax, rax
je 0x18009f082
nop word [rax + rax]
mov eax, dword [rsp + 0x118]
lea r9, [rsp + 0x6c]
mov r8, rbp
mov rdx, rdi
mov rcx, r13
mov dword [rsp + 0x20], eax
call fcn.18009ddf0
mov r12d, eax
test eax, eax
js 0x18009f13c
mov rdi, qword [rdi + 0x28]
test rdi, rdi
jne 0x18009f050
xor esi, esi
mov rax, qword [r14 + 0x20]
mov qword [rsp + 0x48], rsi
mov rcx, r14
mov qword [rbp + 0x18], rax
mov rax, qword [r14 + 0x20]
mov qword [rax + 0x10], rbp
mov rax, qword [rbp + 0x20]
mov rbp, rsi
mov qword [r14 + 0x20], rax
nop word [rax + rax]
lea rax, [rsp + 0x68]
test rax, rax
je 0x18009f0c2
mov eax, dword [rcx]
mov dword [rcx + 0x30], esi
lea esi, [rsi + rax*4]
mov rcx, qword [rcx + 0x10]
test rcx, rcx
jne 0x18009f0b0
mov eax, esi
mov ecx, esi
xor r12d, r12d
mov qword [rsp + 0x90], rax
call sub.msvcrt.dll_void____ptr64___cdecl_operator_new_unsigned_long_long_unsigned___int64__
mov qword [rsp + 0x40], rax
test rax, rax
je 0x18009f6bf
mov rdi, r14
mov rbp, rax
nop word [rax + rax]
mov r8d, dword [rdi]
mov ecx, dword [rdi + 0x30]
mov rdx, qword [rdi + 0x28]
shl r8, 2
add rcx, rbp
test rdx, rdx
jne 0x18009f514
mov rdx, qword [rdi + 8]
jmp 0x18009f518
mov rsi, qword [rsp + 0x40]
mov qword [r13 + 0x60], rbp
jmp 0x18009f6af
mov rbp, qword [rsp + 0x48]
mov r12d, 0x8007000e
mov rsi, qword [rsp + 0x40]
mov rcx, qword [r13 + 0x20]
lea r9, [0x18003c020]
xor r8d, r8d
xor edx, edx
call fcn.180221ec0
mov rax, qword [rsp + 0x128]
test rax, rax
je 0x18009f16f
mov rcx, qword [r13 + 0x20]
mov rdx, rax
call fcn.1802224c0
mov rdi, qword [r13 + 0x10]
mov rcx, qword [rdi]
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
xor r13d, r13d
mov rcx, rsi
mov qword [rdi], r13
mov qword [rdi + 8], r13
mov qword [rdi + 0x10], r13
mov dword [rdi + 0x1c], r13d
mov dword [rdi + 0x18], r13d
mov dword [rdi + 0x20], r13d
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
test rbp, rbp
je 0x18009f1e8
mov rcx, qword [rbp + 8]
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
mov qword [rbp + 8], r13
cmp qword [rbp + 0x10], r13
je 0x18009f1e0
nop word [rax + rax]
mov rcx, qword [rbp + 0x10]
mov edx, 1
mov rax, qword [rcx + 0x10]
mov qword [rbp + 0x10], rax
mov qword [rcx + 0x10], r13
call fcn.180094d80
cmp qword [rbp + 0x10], r13
jne 0x18009f1c0
mov rcx, rbp
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
test r14, r14
je 0x18009f228
mov rcx, qword [r14 + 8]
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
mov qword [r14 + 8], r13
cmp qword [r14 + 0x10], r13
je 0x18009f220
mov rcx, qword [r14 + 0x10]
mov edx, 1
mov rax, qword [rcx + 0x10]
mov qword [r14 + 0x10], rax
mov qword [rcx + 0x10], r13
call fcn.180094d80
cmp qword [r14 + 0x10], r13
jne 0x18009f200
mov rcx, r14
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
mov rcx, qword [rsp + 0x98]
test rcx, rcx
je 0x18009f23b
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rsp + 0xa0]
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
mov rcx, qword [rsp + 0x58]
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
mov rdi, qword [rsp + 0x78]
test rdi, rdi
je 0x18009f298
mov rcx, qword [rdi + 8]
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
mov qword [rdi + 8], r13
cmp qword [rdi + 0x10], r13
je 0x18009f290
nop
mov rcx, qword [rdi + 0x10]
mov edx, 1
mov rax, qword [rcx + 0x10]
mov qword [rdi + 0x10], rax
mov qword [rcx + 0x10], r13
call fcn.180094d80
cmp qword [rdi + 0x10], r13
jne 0x18009f270
mov rcx, rdi
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
mov rdi, qword [rsp + 0x80]
test rdi, rdi
je 0x18009f2e8
mov rcx, qword [rdi + 8]
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
mov qword [rdi + 8], r13
cmp qword [rdi + 0x10], r13
je 0x18009f2e0
nop dword [rax + rax]
mov rcx, qword [rdi + 0x10]
mov edx, 1
mov rax, qword [rcx + 0x10]
mov qword [rdi + 0x10], rax
mov qword [rcx + 0x10], r13
call fcn.180094d80
cmp qword [rdi + 0x10], r13
jne 0x18009f2c0
mov rcx, rdi
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
mov rdi, qword [rsp + 0x70]
test rdi, rdi
je 0x18009f338
mov rcx, qword [rdi + 8]
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
mov qword [rdi + 8], r13
cmp qword [rdi + 0x10], r13
je 0x18009f330
nop word [rax + rax]
mov rcx, qword [rdi + 0x10]
mov edx, 1
mov rax, qword [rcx + 0x10]
mov qword [rdi + 0x10], rax
mov qword [rcx + 0x10], r13
call fcn.180094d80
cmp qword [rdi + 0x10], r13
jne 0x18009f310
mov rcx, rdi
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
test r15, r15
je 0x18009f41e
cmp qword [r15 + 0x58], r13
je 0x18009f370
nop word [rax + rax]
mov rcx, qword [r15 + 0x58]
mov edx, 1
mov rax, qword [rcx + 0x58]
mov qword [r15 + 0x58], rax
mov qword [rcx + 0x58], r13
call fcn.180094a60
cmp qword [r15 + 0x58], r13
jne 0x18009f350
cmp qword [r15 + 0x60], r13
je 0x18009f3a0
nop word [rax + rax]
mov rcx, qword [r15 + 0x60]
mov edx, 1
mov rax, qword [rcx + 0x60]
mov qword [r15 + 0x60], rax
mov qword [rcx + 0x60], r13
call fcn.180094a60
cmp qword [r15 + 0x60], r13
jne 0x18009f380
mov rax, qword [r15 + 0x10]
test rax, rax
je 0x18009f3d9
movsxd rsi, dword [rax - 8]
lea rbp, [rax - 8]
mov rdi, rsi
imul rdi, rdi, 0x38
add rdi, rax
sub esi, 1
js 0x18009f3d1
sub rdi, 0x38
mov rcx, rdi
call fcn.1800948d0
sub esi, 1
jns 0x18009f3c0
mov rcx, rbp
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
mov qword [r15 + 0x10], r13
cmp qword [r15 + 0x18], r13
je 0x18009f416
nop word [rax + rax]
mov rdi, qword [r15 + 0x18]
mov rcx, rdi
mov rax, qword [rdi + 0x18]
mov qword [r15 + 0x18], rax
mov qword [rdi + 0x18], r13
call fcn.1800948d0
mov rcx, rdi
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
cmp qword [r15 + 0x18], r13
jne 0x18009f3f0
mov rcx, r15
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
mov rdi, qword [rsp + 0xa8]
test rdi, rdi
je 0x18009f459
cmp qword [rdi + 0x28], r13
je 0x18009f451
mov rcx, qword [rdi + 0x28]
mov edx, 1
mov rax, qword [rcx + 0x28]
mov qword [rdi + 0x28], rax
mov qword [rcx + 0x28], r13
call fcn.180094d20
cmp qword [rdi + 0x28], r13
jne 0x18009f431
mov rcx, rdi
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
cmp byte [rbx + 0x1148], r13b
je 0x18009f4a8
mov ecx, dword [0x18025e63c]
mov rdi, qword [rbx + 0x1150]
test ecx, ecx
js 0x18009f4a1
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x18009f4a1
mov qword [rax + 0x40], rdi
add rax, 0x48
mov ecx, 0xf
nop dword [rax + rax]
mov qword [rax], r13
mov qword [rax + 8], r13
add rax, 0x10
sub rcx, 1
jne 0x18009f490
mov byte [rbx + 0x1148], r13b
mov eax, r12d
add rsp, 0xc8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov rbp, qword [rsp + 0x48]
mov qword [rsp + 0x78], rsi
mov r12d, 0x8007000e
mov rsi, r15
jmp 0x18009f141
mov rbp, qword [rsp + 0x48]
mov qword [rsp + 0x80], rsi
mov r12d, 0x8007000e
mov rsi, r15
jmp 0x18009f141
mov qword [rsp + 0x70], rsi
mov r12d, 0x8007000e
mov rbp, qword [rsp + 0x48]
mov rsi, r15
jmp 0x18009f141
mov rbp, qword [rsp + 0x48]
jmp 0x18009f084
add rdx, 0x30
call sub.msvcrt.dll_memcpy
mov rdi, qword [rdi + 0x10]
test rdi, rdi
jne 0x18009f100
mov ecx, dword [rsp + 0x60]
mov eax, dword [r13 + 0x4c]
add eax, dword [r13 + 0x58]
add eax, esi
add eax, dword [rsp + 0x64]
lea esi, [rax + rcx + 0x10]
lea ecx, [rdi + 0x20]
call sub.msvcrt.dll_void____ptr64___cdecl_operator_new_unsigned_long_long_unsigned___int64__
mov rdi, rax
test rax, rax
je 0x18009f598
lea rax, [0x180067cb0]
xor ebp, ebp
mov edx, esi
mov rcx, rdi
mov dword [rdi + 8], 1
mov qword [rdi], rax
mov qword [rdi + 0x18], rbp
mov qword [rdi + 0x10], rbp
call qword [rax + 0x30]
mov r12d, eax
mov rcx, rdi
test eax, eax
jns 0x18009f58b
mov rax, qword [rdi]
lea edx, [rbp + 1]
call qword [rax + 0x28]
mov rcx, rbp
jmp 0x18009f5a6
mov qword [rsp + 0x98], rcx
mov r12d, ebp
jmp 0x18009f5a6
mov rcx, qword [rsp + 0x98]
mov r12d, 0x8007000e
mov rbp, qword [rsp + 0x48]
test r12d, r12d
js 0x18009f13c
mov rax, qword [rcx]
call qword [rax + 0x18]
mov ecx, dword [r13 + 0x58]
mov edi, dword [rsp + 0x64]
lea edx, [rdi + rcx]
mov dword [rax], 0xfeff0901
lea rbp, [rax + 8]
mov dword [rax + 4], edx
mov r8d, dword [r13 + 0x58]
mov rdx, qword [r13 + 0x60]
mov rcx, rbp
call sub.msvcrt.dll_memcpy
mov edx, dword [r13 + 0x58]
mov r8, rdi
add rbp, rdx
mov rdx, qword [rsp + 0x58]
mov rcx, rbp
call sub.msvcrt.dll_memcpy
mov esi, dword [rsp + 0x88]
lea rcx, [rsp + 0xb0]
mov rax, qword [rcx]
add rbp, rdi
lea r8, [rsi - 0x10]
mov qword [rbp], rax
mov rax, qword [rcx + 8]
lea rcx, [rbp + 0x10]
mov qword [rbp + 8], rax
mov rdx, qword [r13 + 0x50]
add rdx, 0x10
call sub.msvcrt.dll_memcpy
mov edi, dword [rsp + 0x60]
mov rdx, qword [rsp + 0xa0]
add rbp, rsi
mov r8, rdi
mov rcx, rbp
call sub.msvcrt.dll_memcpy
mov rax, qword [r13 + 0x50]
mov r8d, dword [r13 + 0x18]
add rbp, rdi
lea rdx, [rsi + rax]
mov rcx, rbp
call sub.msvcrt.dll_memcpy
mov edx, dword [r13 + 0x18]
mov eax, dword [rsp + 0x110]
mov rsi, qword [rsp + 0x40]
mov r8, qword [rsp + 0x90]
mov dword [rbp + rdx], eax
mov eax, dword [rsp + 0x6c]
lea rcx, [rbp + rdx + 8]
mov dword [rbp + rdx + 4], eax
mov rdx, rsi
call sub.msvcrt.dll_memcpy
mov rdx, qword [rsp + 0x120]
test rdx, rdx
je 0x18009f6af
mov rcx, qword [rsp + 0x98]
mov qword [rdx], rcx
mov rax, qword [rcx]
call qword [rax + 8]
mov rbp, qword [rsp + 0x48]
test r12d, r12d
js 0x18009f141
jmp 0x18009f6c2
mov rsi, rax
mov rax, qword [r13 + 0x20]
cmp dword [rax + 0x2c], 0
jbe 0x18009f156
mov r12d, 0x88760b59
jmp 0x18009f141
mov r14, rsi
mov rbp, rsi
mov r12d, 0x8007000e
jmp 0x18009f141
mov rbp, rsi
mov rsi, r15
jmp 0x18009f141