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

Disassembly:
mov r11, rsp
push rsi
push rdi
sub rsp, 0x2a8
mov rax, qword [0x18025e100]
xor rax, rsp
mov qword [rsp + 0x250], rax
mov qword [r11 + 0x18], rbp
mov qword [r11 + 0x20], r12
mov qword [r11 - 0x18], r13
mov qword [r11 - 0x20], r14
xor r12d, r12d
mov byte [rsp + 0x68], dl
mov qword [r11 - 0x28], r15
mov r14, rcx
mov qword [rsp + 0x60], rcx
test dl, dl
je 0x1800bbbfa
mov eax, r12d
jmp 0x1800bbc0e
cmp byte [r14 + 0x195d1], r12b
mov eax, 0x42415443
mov ecx, 0x464e4946
cmovne eax, ecx
mov dword [rsp + 0x80], eax
lea rax, [rsp + 0x88]
lea rcx, [rsp + 0xf8]
mov qword [rsp + 0x90], rax
xor eax, eax
xor edx, edx
lea r8d, [rax + 0x3c]
mov dword [rsp + 0x84], r12d
mov qword [rsp + 0x88], r12
mov dword [rsp + 0xb4], eax
mov dword [rsp + 0xb8], eax
mov dword [rsp + 0xbc], eax
mov dword [rsp + 0xc0], eax
mov dword [rsp + 0xc4], eax
mov dword [rsp + 0xc8], eax
mov qword [rsp + 0xd0], r12
mov qword [rsp + 0xd8], r12
mov qword [rsp + 0xe0], r12
mov byte [rsp + 0xe8], al
mov byte [rsp + 0xe9], 1
mov r15, r12
mov qword [rsp + 0x70], r12
mov ebp, r12d
mov dword [rsp + 0x54], r12d
mov rsi, r12
mov qword [rsp + 0x58], r12
mov edi, r12d
mov dword [rsp + 0x50], r12d
mov qword [rsp + 0x78], r12
mov dword [rsp + 0xa0], r12d
call fcn.18024adb8
mov ecx, dword [0x18025e63c]
mov eax, 8
mov dword [rsp + 0x12c], eax
mov eax, dword [r14 + 0xd20c]
mov dword [rsp + 0x118], 0x1c
mov dword [rsp + 0xb8], eax
mov eax, dword [r14 + 0xd218]
mov dword [rsp + 0x11c], 0x18
mov dword [rsp + 0x120], 0x20
mov dword [rsp + 0x124], 0x18
mov dword [rsp + 0x128], 0x10
mov dword [rsp + 0xc4], eax
mov dword [rsp + 0xb0], 0x1c
test ecx, ecx
js 0x1800bbd4f
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x1800bbd4f
mov rax, qword [rax]
test rax, rax
jne 0x1800bbd55
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov qword [rsp + 0x2c8], rbx
xor edx, edx
movaps xmmword [rsp + 0x280], xmm6
lea r8d, [rdx + 0x20]
mov rcx, rax
movaps xmmword [rsp + 0x270], xmm7
movaps xmmword [rsp + 0x260], xmm8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r13d, 1
mov r11, rax
test rax, rax
jne 0x1800bbd9d
mov ebx, 0x8007000e
jmp 0x1800bd22c
lea rax, [rsp + 0xb0]
lea rcx, [r11 + 0x18]
mov ebx, r12d
mov qword [r11], rax
mov eax, dword [rsp + 0x84]
add eax, 3
and eax, 0xfffffffc
mov dword [rsp + 0x84], eax
mov dword [r11 + 0xc], r13d
mov dword [r11 + 0x10], eax
mov dword [r11 + 8], 0x1c
mov qword [rcx], r12
mov rax, qword [rsp + 0x90]
add dword [rsp + 0x84], 0x1c
mov qword [rax], r11
mov r9d, dword [r14 + 0xc]
mov qword [rsp + 0x90], rcx
mov r13d, r12d
or edx, 0xffffffff
nop dword [rax + rax]
inc edx
movabs rbp, 0x4000000000
cmp edx, r9d
jae 0x1800bbefc
mov rax, qword [r14 + 0xce58]
mov rcx, qword [rax + rdx*8]
cmp qword [rcx + 0x30], rbx
je 0x1800bbe00
mov rax, qword [rcx + 0x10]
bt rax, 9
jae 0x1800bbe00
test rax, 0x800100
jne 0x1800bbe00
mov rcx, qword [rcx + 0x30]
mov r11, qword [r14 + 0xce58]
mov r8, qword [rcx]
nop word [rax + rax]
mov eax, dword [rcx + 0x98]
mov r10, qword [rcx + 0xa8]
bt rax, 8
jb 0x1800bbebb
mov rax, qword [r10 + 0x10]
test al, al
jns 0x1800bbe80
test rbp, rax
jne 0x1800bbe80
mov eax, dword [rcx + 0xc8]
cmp edi, eax
ja 0x1800bbebb
lea edi, [rax + 1]
jmp 0x1800bbebb
bt rax, 0xd
jae 0x1800bbe98
mov eax, dword [rcx + 0xc8]
cmp r13d, eax
ja 0x1800bbebb
lea r13d, [rax + 1]
jmp 0x1800bbebb
bt rax, 0x11
jae 0x1800bbeae
mov eax, dword [rcx + 0xc8]
cmp esi, eax
ja 0x1800bbebb
lea esi, [rax + 1]
jmp 0x1800bbebb
mov eax, dword [rcx + 0xc8]
cmp ebx, eax
ja 0x1800bbebb
lea ebx, [rax + 1]
test r8, r8
je 0x1800bbec8
mov rcx, r8
mov r8, qword [r8]
jmp 0x1800bbef3
inc edx
cmp edx, r9d
jae 0x1800bbefc
mov rcx, qword [r11 + rdx*8]
cmp qword [rcx + 0x30], r12
je 0x1800bbec8
mov rax, qword [rcx + 0x10]
bt rax, 9
jae 0x1800bbec8
test rax, 0x800100
jne 0x1800bbec8
mov rcx, qword [rcx + 0x30]
mov r8, qword [rcx]
test rcx, rcx
jne 0x1800bbe50
lea ebp, [rdi + rbx]
add edi, esi
lea r12d, [rbx + r13]
add edi, ebx
add ebp, r13d
add edi, r13d
cmp edi, 0x1ffffffe
jbe 0x1800bbf1c
mov ebx, 0x80070216
jmp 0x1800bbf57
lea eax, [rdi*8]
mov ecx, 8
test eax, eax
cmove eax, ecx
lea rcx, [r14 + 0xd280]
mov edx, eax
mov dword [rsp + 0x54], eax
call fcn.1800c58b0
mov ebx, 0x8007000e
test rax, rax
mov r15, rax
mov qword [rsp + 0x70], rax
mov eax, 0
cmovne ebx, eax
test ebx, ebx
js 0x1800bd207
cmp edi, 0x3ffffffd
jbe 0x1800bbf73
mov rsi, qword [rsp + 0x58]
mov ebx, 0x80070216
jmp 0x1800bbfae
lea eax, [rdi*4]
mov ecx, 4
test eax, eax
cmove eax, ecx
lea rcx, [r14 + 0xd250]
mov edx, eax
mov dword [rsp + 0x50], eax
call fcn.1800c58b0
mov ebx, 0x8007000e
test rax, rax
mov rsi, rax
mov qword [rsp + 0x58], rax
mov eax, 0
cmovne ebx, eax
test ebx, ebx
js 0x1800bd21c
lea r8, [rdi*8]
xor edx, edx
mov rcx, r15
mov ebx, edi
call fcn.18024adb8
mov r8d, dword [r14 + 0xc]
or r11d, 0xffffffff
inc r11d
cmp r11d, r8d
jae 0x1800bc10d
mov rax, qword [r14 + 0xce58]
mov rdx, qword [rax + r11*8]
cmp qword [rdx + 0x30], 0
je 0x1800bbfd2
mov rax, qword [rdx + 0x10]
bt rax, 9
jae 0x1800bbfd2
test rax, 0x800100
jne 0x1800bbfd2
mov rdx, qword [rdx + 0x30]
movabs r10, 0x4000000000
mov r9, qword [rdx]
nop word [rax + rax]
mov rax, qword [rdx + 0xa8]
mov r8, qword [rax + 0x10]
test r10, r8
jne 0x1800bc0bc
mov eax, dword [rdx + 0x98]
bt rax, 8
jb 0x1800bc0bc
cmp qword [rdx + 0x108], 0
je 0x1800bc0bc
cmp qword [rdx + 0xc0], 0xffffffffffffffff
jne 0x1800bc0bc
test r8b, r8b
jns 0x1800bc05f
mov ecx, r12d
jmp 0x1800bc077
bt r8, 0xd
jae 0x1800bc06c
xor eax, eax
mov ecx, eax
jmp 0x1800bc077
mov ecx, r13d
bt r8, 0x11
cmovb ecx, ebp
add ecx, dword [rdx + 0xc8]
mov eax, dword [rdx + 0x134]
shr eax, 2
mov r8d, ecx
sub r8d, eax
inc ecx
movsxd rax, ecx
cmp ecx, r8d
jbe 0x1800bc0bc
lea rax, [r15 + rax*8]
nop word [rax + rax]
dec ecx
sub rax, 8
cmp ecx, edi
jae 0x1800bc200
cmp qword [rax], 0
jne 0x1800bc0bc
mov qword [rax], rdx
cmp ecx, r8d
ja 0x1800bc0a0
test r9, r9
je 0x1800bc0c9
mov rdx, r9
mov r9, qword [r9]
jmp 0x1800bc104
mov r8d, dword [r14 + 0xc]
nop dword [rax]
inc r11d
cmp r11d, r8d
jae 0x1800bc10d
mov rax, qword [r14 + 0xce58]
mov rdx, qword [rax + r11*8]
cmp qword [rdx + 0x30], 0
je 0x1800bc0d0
mov rax, qword [rdx + 0x10]
bt rax, 9
jae 0x1800bc0d0
test rax, 0x800100
jne 0x1800bc0d0
mov rdx, qword [rdx + 0x30]
mov r9, qword [rdx]
test rdx, rdx
jne 0x1800bc020
xor r9d, r9d
mov esi, r9d
mov dword [rsp + 0x98], r9d
test edi, edi
je 0x1800bc147
mov rcx, r15
mov rax, r15
mov rdx, qword [rax]
test rdx, rdx
je 0x1800bc136
mov qword [rcx], rdx
inc esi
add rcx, 8
add rax, 8
sub rbx, 1
jne 0x1800bc125
mov dword [rsp + 0x98], esi
mov r15d, r9d
mov dword [rsp + 0x9c], r9d
mov r8, r9
mov r10d, r9d
test esi, esi
je 0x1800bc21a
mov r13, qword [rsp + 0x58]
mov r9, qword [rsp + 0x70]
mov r11, r13
nop dword [rax]
test r8, r8
je 0x1800bc1c0
mov rcx, qword [r9]
mov rax, qword [r8 + 0xa8]
cmp qword [rcx + 0xa8], rax
jne 0x1800bc1c0
mov rax, qword [r8 + 0x108]
cmp qword [rcx + 0x108], rax
jne 0x1800bc1c0
mov edx, dword [rcx + 0xc8]
mov ecx, dword [rcx + 0x134]
mov eax, dword [r8 + 0xc8]
shr ecx, 2
sub edx, ecx
mov ecx, dword [r8 + 0x134]
shr ecx, 2
sub eax, ecx
cmp edx, eax
je 0x1800bc1e6
mov r8, qword [r9]
test r8, r8
je 0x1800bc1e6
mov rax, qword [r8 + 0x108]
cmp dword [rax + 8], 2
jne 0x1800bc1e6
cmp qword [rax + 0x18], 0
je 0x1800bc1e6
mov dword [r11], r10d
inc r15d
add r11, 4
inc r10d
add r9, 8
cmp r10d, esi
jb 0x1800bc170
mov dword [rsp + 0x9c], r15d
jmp 0x1800bc21f
mov edi, dword [rsp + 0x50]
mov ebp, dword [rsp + 0x54]
xor r12d, r12d
lea r13d, [r12 + 1]
mov ebx, 0x80004005
jmp 0x1800bd22c
mov r13, qword [rsp + 0x58]
xor r8d, r8d
mov ebx, r8d
test r15d, r15d
je 0x1800bc3d2
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x70]
mov r12, rdx
nop dword [rax + rax]
mov r13d, dword [r12]
mov rdi, r8
mov rsi, qword [rcx + r13*8]
mov rax, qword [rsi + 0xa8]
test byte [rax + 0x10], 0x80
je 0x1800bc275
mov rax, qword [rsi + 0x128]
test rax, rax
je 0x1800bc275
mov rbp, qword [rax + 0x18]
mov rax, qword [rsi + 0x108]
mov rdi, qword [rax + 0x18]
jmp 0x1800bc280
mov rax, qword [rsi + 0x108]
mov rbp, qword [rax + 0x18]
mov r10d, r8d
mov r11, r8
test ebx, ebx
je 0x1800bc3be
nop
mov eax, dword [rdx + r11*4]
mov rdx, r8
mov r9, qword [rcx + rax*8]
mov rax, qword [r9 + 0xa8]
test byte [rax + 0x10], 0x80
je 0x1800bc2c5
mov r8, qword [r9 + 0x128]
test r8, r8
je 0x1800bc2c5
mov rax, qword [r9 + 0x108]
mov r8, qword [r8 + 0x18]
mov rdx, qword [rax + 0x18]
jmp 0x1800bc2d0
mov rax, qword [r9 + 0x108]
mov r8, qword [rax + 0x18]
mov rax, rbp
sub r8, rbp
movzx ecx, byte [rax]
cmp cl, byte [rax + r8]
jne 0x1800bc2ee
inc rax
test cl, cl
jne 0x1800bc2d6
xor r8d, r8d
mov eax, r8d
jmp 0x1800bc2f6
sbb eax, eax
sbb eax, 0xffffffff
xor r8d, r8d
test eax, eax
js 0x1800bc30c
test eax, eax
jg 0x1800bc399
test rdi, rdi
jne 0x1800bc353
test rdx, rdx
je 0x1800bc381
cmp r10d, ebx
jae 0x1800bc3b4
cmp ebx, r10d
jbe 0x1800bc340
mov r8d, ebx
mov rdx, r12
sub r8d, r10d
nop word [rax + rax]
mov eax, dword [rdx - 4]
add rdx, 0xfffffffffffffffc
sub r8, 1
mov dword [rdx + 4], eax
jne 0x1800bc330
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x70]
xor r8d, r8d
mov dword [rdx + r11*4], r13d
jmp 0x1800bc3be
test rdx, rdx
je 0x1800bc399
mov rax, rdi
sub rdx, rdi
nop
movzx ecx, byte [rax]
cmp cl, byte [rax + rdx]
jne 0x1800bc374
inc rax
test cl, cl
jne 0x1800bc360
mov eax, r8d
jmp 0x1800bc379
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
js 0x1800bc30c
test eax, eax
jg 0x1800bc399
mov rax, qword [r9 + 0xa8]
mov rdx, qword [rsi + 0xa8]
mov ecx, dword [rax]
cmp dword [rdx], ecx
jb 0x1800bc30c
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x58]
inc r10d
inc r11
cmp r10d, ebx
jb 0x1800bc290
jmp 0x1800bc3be
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x58]
inc ebx
add r12, 4
cmp ebx, r15d
jb 0x1800bc240
mov r13, qword [rsp + 0x58]
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x168]
mov edi, eax
add edi, r15d
je 0x1800bce61
cmp edi, 0xccccccc
jbe 0x1800bc408
mov rsi, qword [rsp + 0x78]
xor r12d, r12d
mov ebx, 0x80070216
lea ebp, [r12 + 1]
jmp 0x1800bc4a3
mov ecx, 0x14
lea eax, [rdi + rdi*4]
mov ebp, 1
shl eax, 2
test eax, eax
cmove eax, ecx
mov rcx, qword [r14 + 0xd418]
add eax, 7
and eax, 0xfffffff8
mov ebx, eax
mov dword [rsp + 0xa0], eax
cmove rbx, rbp
test rcx, rcx
je 0x1800bc449
mov rax, qword [rcx + 0x10]
sub rax, qword [rcx + 8]
cmp rbx, rax
jbe 0x1800bc469
lea rcx, [r14 + 0xd418]
mov rdx, rbx
call fcn.1800c57b0
test eax, eax
je 0x1800bc469
xor r12d, r12d
mov rsi, r12
mov qword [rsp + 0x78], r12
jmp 0x1800bc497
mov rcx, qword [r14 + 0xd418]
test rcx, rcx
je 0x1800bc488
mov rax, qword [rcx + 8]
xor r12d, r12d
lea rsi, [rax + rcx + 0x18]
mov qword [rsp + 0x78], rsi
jmp 0x1800bc493
xor r12d, r12d
mov rsi, r12
mov qword [rsp + 0x78], r12
add qword [rcx + 8], rbx
mov ebx, 0x8007000e
test rsi, rsi
cmovne ebx, r12d
test ebx, ebx
js 0x1800bd1f2
lea ebx, [rdi + rdi*4]
xor edx, edx
mov rcx, rsi
shl ebx, 2
mov r8d, ebx
call fcn.18024adb8
lea r11, [rsp + 0xc0]
lea rcx, [rsp + 0x80]
mov r9d, ebp
mov r8d, ebx
mov rdx, rsi
mov qword [rsp + 0x20], r11
call fcn.18007e4f0
mov ebx, eax
test eax, eax
js 0x1800bd1dd
mov ebx, r12d
mov dword [rsp + 0xbc], edi
mov dword [rsp + 0xa4], ebx
test r15d, r15d
je 0x1800bce69
movss xmm6, dword [0x1800685f8]
xorps xmm7, xmm7
xorpd xmm8, xmm8
lea r15, [rsi + 0xa]
lea rdx, [0x18003cecc]
cmp byte [r14 + 0x195d1], 0
mov eax, dword [r13]
mov rcx, qword [rsp + 0x70]
mov rdi, qword [rcx + rax*8]
mov qword [rsp + 0xa8], rdi
mov r12, qword [rdi + 0x108]
mov rsi, qword [rdi + 0xa8]
mov rbp, qword [r12 + 0x18]
mov qword [rsp + 0xf0], r12
jne 0x1800bc64a
test byte [rsi + 0x10], 0x80
je 0x1800bc5f3
mov r9, qword [rdi + 0x128]
test r9, r9
je 0x1800bc5f3
mov r9, qword [r9 + 0x18]
lea r8, [0x18003cec4]
lea rcx, [rsp + 0x150]
mov edx, 0xff
mov qword [rsp + 0x20], rbp
call fcn.18006bc00
mov rcx, qword [rsp + 0x78]
mov r11d, ebx
lea rax, [r11 + r11*4]
lea rdx, [rsp + 0x150]
mov r9d, 6
lea r14, [rcx + rax*4]
lea rcx, [rsp + 0x80]
or r8d, 0xffffffff
mov qword [rsp + 0x20], r14
call fcn.18007e4f0
mov ebx, eax
test eax, eax
jns 0x1800bc6d5
mov r14, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x58]
mov edi, dword [rsp + 0x50]
mov ebp, dword [rsp + 0x54]
xor r12d, r12d
lea r13d, [r12 + 1]
jmp 0x1800bd22c
mov eax, ebx
mov r9d, 7
or r8d, 0xffffffff
lea rcx, [rax + rax*4]
mov rax, qword [rsp + 0x78]
mov rdx, rbp
lea r14, [rax + rcx*4]
lea rcx, [rsp + 0x80]
mov qword [rsp + 0x20], r14
call fcn.18007e4f0
mov ebx, eax
test eax, eax
jns 0x1800bc6d5
mov r14, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x58]
mov edi, dword [rsp + 0x50]
mov ebp, dword [rsp + 0x54]
xor r12d, r12d
lea r13d, [r12 + 1]
jmp 0x1800bd22c
mov rax, qword [rsi + 0x10]
bt rax, 0xd
jae 0x1800bc65e
lea r8, [0x18003ced4]
jmp 0x1800bc67b
bt rax, 0x11
jae 0x1800bc66e
lea r8, [0x18003cedc]
jmp 0x1800bc67b
lea r8, [0x18003cee4]
test al, 0x80
cmove r8, rdx
lea rcx, [rsp + 0x150]
mov r9, rbp
mov edx, 0xff
call fcn.18006bc00
mov eax, ebx
lea rdx, [rsp + 0x150]
lea rcx, [rax + rax*4]
mov rax, qword [rsp + 0x78]
mov r9d, 6
lea r14, [rax + rcx*4]
lea rcx, [rsp + 0x80]
or r8d, 0xffffffff
mov qword [rsp + 0x20], r14
lea rbp, [rsp + 0x150]
call fcn.18007e4f0
mov ebx, eax
test eax, eax
js 0x1800bd100
mov r10d, dword [r13]
mov r11d, 1
inc r10d
cmp r10d, dword [rsp + 0x98]
jae 0x1800bc793
mov ecx, dword [r13]
mov r12, qword [rsp + 0x70]
mov edi, dword [rsp + 0x98]
mov rax, qword [r12 + rcx*8]
lea r9d, [rcx + 1]
mov rbx, qword [rax + 0xa8]
nop
mov rcx, qword [r12 + r9*8]
cmp rbx, qword [rcx + 0xa8]
jne 0x1800bc783
mov edx, dword [r13]
mov rcx, qword [r12 + rdx*8]
lea eax, [rdx + r11]
mov rax, qword [r12 + rax*8]
mov rax, qword [rax + 0x108]
cmp qword [rcx + 0x108], rax
jne 0x1800bc783
mov edx, dword [r13]
lea eax, [rdx + r11]
mov r8, qword [r12 + rax*8]
mov rax, qword [r12 + rdx*8]
mov ecx, dword [rax + 0x134]
mov edx, dword [rax + 0xc8]
mov eax, dword [r8 + 0xc8]
shr ecx, 2
sub edx, ecx
mov ecx, dword [r8 + 0x134]
shr ecx, 2
sub eax, ecx
cmp edx, eax
jne 0x1800bc783
inc r10d
inc r11d
inc r9d
cmp r10d, edi
jb 0x1800bc710
mov rdi, qword [rsp + 0xa8]
mov r12, qword [rsp + 0xf0]
mov rax, qword [rsi + 0x10]
test al, al
jns 0x1800bc7a5
mov eax, 3
xor r10d, r10d
jmp 0x1800bc7c4
bt rax, 0xd
jae 0x1800bc7b4
xor r10d, r10d
mov eax, r10d
jmp 0x1800bc7c4
and eax, 0x20000
neg rax
sbb eax, eax
add eax, 2
xor r10d, r10d
mov r8, qword [rsp + 0x70]
mov word [r15 - 6], ax
mov eax, dword [r13]
mov rdx, qword [r8 + rax*8]
mov ecx, dword [rdx + 0x134]
movzx eax, word [rdx + 0xc8]
mov word [r15 - 2], r11w
shr ecx, 2
sub ax, cx
mov word [r15 - 4], ax
mov r9, qword [r12 + 0x60]
test r9, r9
je 0x1800bc875
mov eax, dword [r13]
mov rsi, qword [rsp + 0x60]
mov qword [rsp + 0x40], r10
mov rdx, qword [r8 + rax*8]
movzx r8d, byte [rsi + 0xcefc]
lea rcx, [r14 + 0xc]
mov eax, dword [rdx + 0x58]
mov qword [rsp + 0x38], rcx
shr r8d, 7
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], r10d
mov dword [rsp + 0x20], r8d
lea r8, [rsp + 0xd0]
lea rdx, [rsp + 0x80]
lea rcx, [rsp + 0xf8]
call fcn.1800a17e0
mov ebx, eax
test eax, eax
jns 0x1800bc87a
mov edi, dword [rsp + 0x50]
mov ebp, dword [rsp + 0x54]
xor r12d, r12d
mov r14, rsi
mov rsi, qword [rsp + 0x58]
lea r13d, [r12 + 1]
jmp 0x1800bd22c
mov rsi, qword [rsp + 0x60]
mov eax, dword [rdi + 0x98]
bt rax, 0xd
jae 0x1800bc8ab
cmp dword [rdi + 0xc8], 0x1fff
ja 0x1800bcd04
or word [r15], 2
movzx eax, word [rdi + 0xc8]
shl ax, 2
or word [r15], ax
cmp qword [r12 + 0xa8], 0
je 0x1800bc8d2
mov rax, qword [rsi]
mov r8, r14
mov rdx, r12
mov rcx, rsi
call qword [rax + 0x178]
mov ebx, eax
test eax, eax
js 0x1800bd0e1
mov ecx, dword [r12 + 0xf0]
test ecx, ecx
je 0x1800bccce
movzx eax, word [r15 - 6]
mov edx, 1
cmp dx, ax
jne 0x1800bca28
lea esi, [rcx + 3]
movabs rax, 0x3fffffffffffffff
and esi, 0xfffffffc
mov ebx, esi
cmp rbx, rax
ja 0x1800bcd4b
mov ecx, dword [0x18025e63c]
test ecx, ecx
jns 0x1800bc921
xor ebp, ebp
mov rax, rbp
jmp 0x1800bc929
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
xor ebp, ebp
mov rcx, qword [rax]
lea r8, [rsi*4]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
test rax, rax
je 0x1800bcd50
lea r8, [rsi*4]
xor edx, edx
mov rcx, rax
call fcn.18024adb8
mov r11d, esi
shr r11d, 2
test r11d, r11d
je 0x1800bc97d
lea rcx, [rdi + 8]
mov eax, r11d
mov edx, 1
mov dword [rcx], edx
add rcx, 0x10
sub rax, rdx
jne 0x1800bc972
cmp dword [r12 + 0xf0], 0
mov r10d, ebp
jbe 0x1800bc9f2
mov r9, rbp
mov r8, rdi
mov rax, qword [r12 + 0xf8]
mov rdx, qword [r9 + rax]
test rdx, rdx
je 0x1800bc9dd
mov ecx, dword [rdx]
test ecx, ecx
je 0x1800bc9d1
sub ecx, 1
je 0x1800bc9c9
sub ecx, 1
je 0x1800bc9c1
cmp ecx, 1
jne 0x1800bc9dd
cvttsd2si eax, qword [rdx + 8]
mov dword [r8], eax
jmp 0x1800bc9dd
mov eax, dword [rdx + 8]
mov dword [r8], eax
jmp 0x1800bc9dd
mov eax, dword [rdx + 8]
mov dword [r8], eax
jmp 0x1800bc9dd
cmp dword [rdx + 8], 0
mov eax, ebp
setne al
mov dword [r8], eax
inc r10d
add r9, 8
add r8, 4
cmp r10d, dword [r12 + 0xf0]
jb 0x1800bc991
lea rax, [r14 + 0x10]
lea r8d, [rsi*4]
lea rcx, [rsp + 0x80]
mov r9d, 0xb
mov rdx, rdi
mov qword [rsp + 0x20], rax
call fcn.18007e4f0
mov ebx, eax
test eax, eax
js 0x1800bcd55
jmp 0x1800bccce
mov edx, 2
cmp dx, ax
jne 0x1800bcb8c
lea esi, [rcx + 3]
movabs rax, 0x3fffffffffffffff
and esi, 0xfffffffc
mov ebx, esi
cmp rbx, rax
ja 0x1800bcdd3
mov ecx, dword [0x18025e63c]
test ecx, ecx
jns 0x1800bca62
xor ebp, ebp
mov rax, rbp
jmp 0x1800bca6a
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
xor ebp, ebp
mov rcx, qword [rax]
lea r8, [rsi*4]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
test rax, rax
je 0x1800bcdd3
lea r8, [rsi*4]
xor edx, edx
mov rcx, rax
call fcn.18024adb8
cmp dword [r12 + 0xf0], 0
mov r11d, ebp
jbe 0x1800bcb3c
mov r9, rbp
mov r8, rdi
nop word [rax + rax]
mov rax, qword [r12 + 0xf8]
mov rdx, qword [r9 + rax]
test rdx, rdx
je 0x1800bcb27
mov ecx, dword [rdx]
test ecx, ecx
je 0x1800bcb14
sub ecx, 1
je 0x1800bcb05
sub ecx, 1
je 0x1800bcaf2
cmp ecx, 1
jne 0x1800bcb27
cvtsd2ss xmm0, qword [rdx + 8]
movss dword [r8], xmm0
jmp 0x1800bcb27
mov eax, dword [rdx + 8]
pxor xmm0, xmm0
cvtsi2ss xmm0, rax
movss dword [r8], xmm0
jmp 0x1800bcb27
movd xmm0, dword [rdx + 8]
cvtdq2ps xmm0, xmm0
movss dword [r8], xmm0
jmp 0x1800bcb27
cmp dword [rdx + 8], 0
je 0x1800bcb1f
movaps xmm0, xmm6
jmp 0x1800bcb22
movaps xmm0, xmm7
movss dword [r8], xmm0
inc r11d
add r9, 8
add r8, 4
cmp r11d, dword [r12 + 0xf0]
jb 0x1800bcac0
lea rax, [r14 + 0x10]
lea r8d, [rsi*4]
lea rcx, [rsp + 0x80]
mov r9d, 0xb
mov rdx, rdi
mov qword [rsp + 0x20], rax
call fcn.18007e4f0
mov ebx, eax
test eax, eax
jns 0x1800bccce
test rdi, rdi
je 0x1800bd0c2
mov ecx, dword [0x18025e63c]
test ecx, ecx
jns 0x1800bcda0
mov rax, rbp
jmp 0x1800bcda6
xor ebp, ebp
cmp bp, ax
jne 0x1800bccce
mov esi, dword [r12 + 0x4c]
movabs rax, 0x3fffffffffffffff
mov dword [rsp + 0xa8], esi
cmp rsi, rax
ja 0x1800bcdf7
mov ecx, dword [0x18025e63c]
test ecx, ecx
jns 0x1800bcbc5
mov rax, rbp
jmp 0x1800bcbcb
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, qword [rax]
lea r8, [rsi*4]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
test rax, rax
je 0x1800bcdfa
lea r8, [rsi*4]
xor edx, edx
mov rcx, rax
call fcn.18024adb8
mov r11d, ebp
cmp dword [r12 + 0x4c], ebp
jbe 0x1800bcc9d
mov r9, rbp
mov r8, rdi
mov esi, 1
nop word [rax + rax]
mov rax, qword [r12 + 0x100]
mov rdx, qword [r9 + rax]
test rdx, rdx
je 0x1800bcc84
mov ecx, dword [rdx]
test ecx, ecx
je 0x1800bcc79
sub ecx, esi
je 0x1800bcc6c
sub ecx, esi
je 0x1800bcc5f
cmp ecx, esi
jne 0x1800bcc84
movsd xmm0, qword [rdx + 8]
ucomisd xmm0, xmm8
jp 0x1800bcc58
jne 0x1800bcc58
mov eax, ebp
mov dword [r8], eax
jmp 0x1800bcc84
mov eax, esi
mov dword [r8], eax
jmp 0x1800bcc84
mov eax, ebp
cmp dword [rdx + 8], eax
setne al
mov dword [r8], eax
jmp 0x1800bcc84
mov eax, ebp
cmp dword [rdx + 8], eax
setne al
mov dword [r8], eax
jmp 0x1800bcc84
mov eax, ebp
cmp dword [rdx + 8], eax
setne al
mov dword [r8], eax
inc r11d
add r9, 8
add r8, 4
cmp r11d, dword [r12 + 0x4c]
jb 0x1800bcc20
mov esi, dword [rsp + 0xa8]
lea rax, [r14 + 0x10]
lea r8d, [rsi*4]
lea rcx, [rsp + 0x80]
mov r9d, 0xb
mov rdx, rdi
mov qword [rsp + 0x20], rax
call fcn.18007e4f0
mov ebx, eax
test eax, eax
js 0x1800bcdff
mov ebx, dword [rsp + 0xa4]
add r13, 4
add r15, 0x14
inc ebx
mov dword [rsp + 0xa4], ebx
cmp ebx, dword [rsp + 0x9c]
jae 0x1800bce4a
mov r14, qword [rsp + 0x60]
lea rdx, [0x18003cecc]
jmp 0x1800bc520
mov eax, dword [rdi + 0xc8]
mov r14, qword [rsp + 0x60]
lea r9, [0x180033c80]
mov dword [rsp + 0x28], eax
mov rcx, r14
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x20], rbp
call fcn.18019df20
mov rsi, qword [rsp + 0x58]
mov edi, dword [rsp + 0x50]
mov ebp, dword [rsp + 0x54]
xor r12d, r12d
mov ebx, 0x80004005
lea r13d, [r12 + 1]
jmp 0x1800bd22c
xor ebp, ebp
mov rdi, rbp
mov ebx, 0x8007000e
test rdi, rdi
je 0x1800bd11f
mov ecx, dword [0x18025e63c]
test ecx, ecx
jns 0x1800bcd6d
mov rax, rbp
jmp 0x1800bcd73
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, qword [rax]
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r14, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x58]
mov edi, dword [rsp + 0x50]
mov ebp, dword [rsp + 0x54]
xor r12d, r12d
lea r13d, [r12 + 1]
jmp 0x1800bd22c
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, qword [rax]
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r14, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x58]
mov edi, dword [rsp + 0x50]
mov ebp, dword [rsp + 0x54]
xor r12d, r12d
lea r13d, [r12 + 1]
jmp 0x1800bd22c
mov r14, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x58]
mov edi, dword [rsp + 0x50]
mov ebp, dword [rsp + 0x54]
xor r12d, r12d
mov ebx, 0x8007000e
lea r13d, [r12 + 1]
jmp 0x1800bd22c
mov rdi, rbp
mov ebx, 0x8007000e
test rdi, rdi
je 0x1800bd0a3
mov ecx, dword [0x18025e63c]
test ecx, ecx
jns 0x1800bce17
mov rax, rbp
jmp 0x1800bce1d
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, qword [rax]
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r14, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x58]
mov edi, dword [rsp + 0x50]
mov ebp, dword [rsp + 0x54]
xor r12d, r12d
lea r13d, [r12 + 1]
jmp 0x1800bd22c
mov r14, qword [rsp + 0x60]
mov r15d, dword [rsp + 0x9c]
mov rsi, qword [rsp + 0x78]
xor r12d, r12d
jmp 0x1800bce69
mov rsi, qword [rsp + 0x78]
xor r12d, r12d
mov rax, qword [r14]
lea rdx, [rsp + 0x80]
mov r9d, r15d
mov r8, rsi
mov rcx, r14
call qword [rax + 0x170]
mov ebx, eax
test eax, eax
js 0x1800bd1c8
mov edx, dword [r14 + 0xd210]
mov eax, 0x46
lea rcx, [0x180001b28]
cmp dword [rcx + 8], edx
je 0x1800bcec9
sub rcx, 0x18
add eax, 0xffffffff
jne 0x1800bcea0
mov rsi, qword [rsp + 0x58]
mov edi, dword [rsp + 0x50]
mov ebp, dword [rsp + 0x54]
mov ebx, 0x80070057
lea r13d, [rax + 1]
jmp 0x1800bd22c
mov rax, qword [rcx]
lea rdx, [rsp + 0x138]
mov r9d, 5
mov qword [rdx], rax
mov rax, qword [rcx + 8]
or r8d, 0xffffffff
mov qword [rdx + 8], rax
mov rax, qword [rcx + 0x10]
lea rcx, [rsp + 0x80]
mov qword [rdx + 0x10], rax
mov rdx, qword [rsp + 0x138]
lea rax, [rsp + 0xc8]
mov qword [rsp + 0x20], rax
call fcn.18007e4f0
mov ebx, eax
test eax, eax
js 0x1800bd1b3
lea rax, [rsp + 0xb4]
lea rdx, [0x18003cef0]
lea rcx, [rsp + 0x80]
mov r9d, 5
or r8d, 0xffffffff
mov qword [rsp + 0x20], rax
call fcn.18007e4f0
mov ebx, eax
test eax, eax
js 0x1800bd19e
mov edi, dword [rsp + 0x84]
mov eax, dword [rsp + 0x80]
add edi, 3
shr edi, 2
neg eax
sbb ecx, ecx
and ecx, 2
add edi, ecx
cmp byte [rsp + 0x68], 0
je 0x1800bcfd0
mov edx, edi
mov rcx, r14
call fcn.1800be230
mov ebx, eax
test eax, eax
js 0x1800bd186
add dword [r14 + 0x19568], edi
mov rdx, qword [r14 + 0x19560]
mov r8d, dword [r14 + 0x19568]
lea rcx, [rsp + 0x80]
call fcn.18007e6e0
mov ebx, eax
test eax, eax
js 0x1800bd16e
mov eax, dword [r14 + 0x19568]
add dword [r14 + 0x19578], edi
mov dword [r14 + 0x19574], eax
jmp 0x1800bd054
cmp edi, 0x8000
ja 0x1800bd06f
mov edx, edi
mov rcx, r14
call fcn.1800be230
mov ebx, eax
test eax, eax
js 0x1800bd156
mov rcx, qword [r14 + 0x19560]
mov r8d, dword [r14 + 0x19568]
lea rdx, [rcx + 4]
dec r8d
lea rcx, [rcx + rdi*4 + 4]
shl r8, 2
call sub.msvcrt.dll_memmove
mov rdx, qword [r14 + 0x19560]
lea rcx, [rsp + 0x80]
add rdx, 4
mov r8d, edi
call fcn.18007e6e0
mov ebx, eax
test eax, eax
js 0x1800bd13e
add dword [r14 + 0x19568], edi
mov eax, dword [r14 + 0x19568]
add dword [r14 + 0x19578], edi
mov dword [r14 + 0x19574], eax
mov rsi, qword [rsp + 0x58]
mov edi, dword [rsp + 0x50]
mov ebp, dword [rsp + 0x54]
mov ebx, r12d
mov r13d, 1
jmp 0x1800bd22c
lea r9, [0x18003ce90]
xor edx, edx
mov r8d, 0x11c4
mov rcx, r14
call fcn.18019df20
mov rsi, qword [rsp + 0x58]
mov edi, dword [rsp + 0x50]
mov ebp, dword [rsp + 0x54]
mov ebx, 0x80004005
mov r13d, 1
jmp 0x1800bd22c
mov r14, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x58]
mov edi, dword [rsp + 0x50]
mov ebp, dword [rsp + 0x54]
xor r12d, r12d
lea r13d, [r12 + 1]
jmp 0x1800bd22c
mov r14, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x58]
mov edi, dword [rsp + 0x50]
mov ebp, dword [rsp + 0x54]
xor r12d, r12d
lea r13d, [r12 + 1]
jmp 0x1800bd22c
mov r14, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x58]
mov edi, dword [rsp + 0x50]
mov ebp, dword [rsp + 0x54]
xor r12d, r12d
lea r13d, [r12 + 1]
jmp 0x1800bd22c
mov r14, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x58]
mov edi, dword [rsp + 0x50]
mov ebp, dword [rsp + 0x54]
xor r12d, r12d
lea r13d, [r12 + 1]
jmp 0x1800bd22c
mov r14, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x58]
mov edi, dword [rsp + 0x50]
mov ebp, dword [rsp + 0x54]
xor r12d, r12d
lea r13d, [r12 + 1]
jmp 0x1800bd22c
mov rsi, qword [rsp + 0x58]
mov edi, dword [rsp + 0x50]
mov ebp, dword [rsp + 0x54]
mov r13d, 1
jmp 0x1800bd22c
mov rsi, qword [rsp + 0x58]
mov edi, dword [rsp + 0x50]
mov ebp, dword [rsp + 0x54]
mov r13d, 1
jmp 0x1800bd22c
mov rsi, qword [rsp + 0x58]
mov edi, dword [rsp + 0x50]
mov ebp, dword [rsp + 0x54]
mov r13d, 1
jmp 0x1800bd22c
mov rsi, qword [rsp + 0x58]
mov edi, dword [rsp + 0x50]
mov ebp, dword [rsp + 0x54]
mov r13d, 1
jmp 0x1800bd22c
mov rsi, qword [rsp + 0x58]
mov edi, dword [rsp + 0x50]
mov ebp, dword [rsp + 0x54]
mov r13d, 1
jmp 0x1800bd22c
mov rsi, qword [rsp + 0x58]
mov edi, dword [rsp + 0x50]
mov ebp, dword [rsp + 0x54]
mov r13d, 1
jmp 0x1800bd22c
mov rsi, qword [rsp + 0x58]
mov edi, dword [rsp + 0x50]
mov ebp, dword [rsp + 0x54]
mov r13d, 1
jmp 0x1800bd22c
mov rsi, qword [rsp + 0x58]
mov edi, dword [rsp + 0x50]
mov ebp, dword [rsp + 0x54]
mov r13d, 1
jmp 0x1800bd22c
mov rsi, qword [rsp + 0x58]
mov edi, dword [rsp + 0x50]
mov ebp, dword [rsp + 0x54]
mov r13d, 1
jmp 0x1800bd22c
mov rsi, qword [rsp + 0x58]
mov ebp, dword [rsp + 0x54]
xor r12d, r12d
mov edi, esi
lea r13d, [r12 + 1]
jmp 0x1800bd22c
mov edi, dword [rsp + 0x50]
mov ebp, dword [rsp + 0x54]
xor r12d, r12d
lea r13d, [r12 + 1]
cmp qword [rsp + 0x78], 0
mov eax, dword [rsp + 0xa0]
movaps xmm8, xmmword [rsp + 0x260]
movaps xmm7, xmmword [rsp + 0x270]
movaps xmm6, xmmword [rsp + 0x280]
mov r15, qword [rsp + 0x290]
lea rcx, [r14 + 0xd418]
je 0x1800bd284
mov rdx, qword [rcx]
test rax, rax
cmove rax, r13
cmp rax, qword [rdx + 8]
jae 0x1800bd279
sub qword [rdx + 8], rax
jmp 0x1800bd284
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
mov eax, edi
lea rcx, [r14 + 0xd250]
test rsi, rsi
je 0x1800bd2b2
mov rdx, qword [rcx]
test edi, edi
cmove rax, r13
cmp rax, qword [rdx + 8]
jae 0x1800bd2a7
sub qword [rdx + 8], rax
jmp 0x1800bd2b2
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
cmp qword [rsp + 0x70], 0
mov eax, ebp
mov rbp, qword [rsp + 0x2d0]
lea rcx, [r14 + 0xd280]
mov r14, qword [rsp + 0x298]
je 0x1800bd2f4
mov rdx, qword [rcx]
test rax, rax
cmove rax, r13
cmp rax, qword [rdx + 8]
jae 0x1800bd2e9
sub qword [rdx + 8], rax
jmp 0x1800bd2f4
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
cmp byte [rsp + 0xe8], 0
mov r13, qword [rsp + 0x2a0]
mov qword [rsp + 0xe0], r12
je 0x1800bd354
mov rdi, qword [rsp + 0xd0]
test rdi, rdi
je 0x1800bd34c
mov ecx, dword [0x18025e63c]
test ecx, ecx
js 0x1800bd338
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x1800bd338
mov rax, qword [rax]
test rax, rax
jne 0x1800bd33e
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov byte [rsp + 0xe8], 0
mov rdi, qword [rsp + 0x88]
mov qword [rsp + 0xd0], r12
mov qword [rsp + 0xd8], r12
mov r12, qword [rsp + 0x2d8]
test rdi, rdi
je 0x1800bd412
nop dword [rax]
mov rax, qword [rdi + 0x18]
mov qword [rsp + 0x88], rax
mov eax, dword [rdi + 0xc]
test al, 8
jne 0x1800bd397
test al, 1
jne 0x1800bd3d0
mov rsi, qword [rdi]
test rsi, rsi
je 0x1800bd3d0
mov ecx, dword [0x18025e63c]
test ecx, ecx
js 0x1800bd3bc
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x1800bd3bc
mov rax, qword [rax]
test rax, rax
jne 0x1800bd3c2
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov ecx, dword [0x18025e63c]
test ecx, ecx
js 0x1800bd3ed
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x1800bd3ed
mov rax, qword [rax]
test rax, rax
jne 0x1800bd3f3
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rdi, qword [rsp + 0x88]
test rdi, rdi
jne 0x1800bd380
mov eax, ebx
mov rbx, qword [rsp + 0x2c8]
mov rcx, qword [rsp + 0x250]
xor rcx, rsp
call fcn.18024a670
add rsp, 0x2a8
pop rdi
pop rsi
ret