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

Disassembly:
mov r11, rsp
mov qword [r11 + 8], rcx
push rsi
push rdi
push r12
push r13
sub rsp, 0x138
mov rsi, qword [rcx + 0x19550]
xor edi, edi
mov r13, rcx
mov r9d, dword [rsi + 0x78]
mov rax, rdi
mov r12, rdi
mov r8d, r9d
mov qword [rsp + 0x38], rdi
mov qword [r11 + 0x10], rdi
and r8d, 0xfff00000
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rax
je 0x1800d300d
mov eax, dword [rsi + 0x10]
mov qword [r11 - 0x30], rbp
mov qword [r11 - 0x38], r14
mov qword [r11 - 0x40], r15
xor edx, edx
mov r11d, r9d
and r11d, 0xfffff
mov ecx, r9d
div r11d
and ecx, 0xfff00000
mov dword [rsp + 0x34], r11d
mov r15d, eax
mov dword [rsp + 0x30], r15d
cmp ecx, 0x50200000
je 0x1800d1586
cmp r8d, 0x90700000
je 0x1800d1586
xor dl, dl
jmp 0x1800d1588
mov dl, 1
cmp r8d, 0x50000000
mov eax, r9d
mov qword [rsp + 0x130], rbx
sete r14b
and eax, 0xf0000000
xor bpl, bpl
mov byte [rsp + 0x170], r14b
cmp eax, 0x60000000
je 0x1800d2fc5
mov ecx, r9d
call fcn.18024179c
test al, al
jne 0x1800d2fc5
cmp r8d, 0x67a00000
je 0x1800d2fc5
cmp r8d, 0x50400000
je 0x1800d2fc5
test dl, dl
jne 0x1800d2f98
test r15d, r15d
je 0x1800d16e5
mov r13d, edi
mov rbp, rdi
lea r14, [rsp + 0xb0]
lea rdi, [rsp + 0xb0]
mov qword [rsp + 0x178], r15
mov dword [rdi], 0xffffffff
mov dword [rdi + 4], 0xffffffff
mov dword [rdi + 8], 0xffffffff
mov dword [rdi + 0xc], 0xffffffff
test r11d, r11d
je 0x1800d16a5
mov r12, qword [rsi + 0x18]
movzx r15d, byte [rsp + 0x170]
xor r10d, r10d
mov r8d, r13d
mov r9, r14
mov ebx, r11d
nop dword [rax + rax]
mov eax, r8d
mov r11, qword [r12 + rax*8]
test r15b, r15b
je 0x1800d1668
mov eax, dword [r11 + 0xcc]
mov dword [r9], eax
jmp 0x1800d1687
mov rax, qword [rsi + 0x28]
mov rcx, qword [r10 + rax]
mov eax, dword [r11 + 0xcc]
mov edx, dword [rcx + 0xcc]
add rdx, rbp
mov dword [rsp + rdx*4 + 0xb0], eax
inc r8d
add r9, 4
add r10, 8
sub rbx, 1
jne 0x1800d1650
mov r15, qword [rsp + 0x178]
mov r11d, dword [rsp + 0x34]
add rdi, 0x10
add r13d, r11d
add rbp, 4
add r14, 0x10
sub r15, 1
mov qword [rsp + 0x178], r15
jne 0x1800d1612
mov r14b, byte [rsp + 0x170]
mov r15d, dword [rsp + 0x30]
mov r13, qword [rsp + 0x160]
mov r12, qword [rsp + 0x38]
xor bpl, bpl
xor edi, edi
mov rax, qword [rsi + 0x28]
mov rcx, qword [rax]
mov rax, qword [rcx + 0xa8]
test byte [rax + 0x10], 0x20
je 0x1800d1952
mov rax, qword [rsi + 0x18]
mov edx, dword [rcx + 0x130]
mov rcx, r13
mov rbx, qword [rax]
mov rax, qword [r13]
call qword [rax + 0x28]
mov esi, eax
cmp eax, 0xffff
je 0x1800d19c3
cmp eax, 0xb
je 0x1800d17a5
cmp eax, 0x1b
je 0x1800d17a5
cmp eax, 0xd
jne 0x1800d17e2
xor r11b, r11b
mov r10d, edi
mov r9, rdi
lea rbp, [0x1802617b0]
nop word [rax + rax]
mov edx, edi
mov rcx, rdi
nop word [rax + rax]
mov r8d, dword [rsp + rcx*4 + 0xb0]
cmp r8d, 0xffffffff
je 0x1800d1779
lea rax, [rcx + r9]
cmp r8d, dword [rbp + rax*4]
jne 0x1800d178f
inc edx
inc rcx
cmp edx, 4
jb 0x1800d1760
mov r11b, 1
test r11b, r11b
sete bpl
jmp 0x1800d17dd
inc r10d
add r9, 4
cmp r10d, 4
jb 0x1800d1750
test r11b, r11b
sete bpl
jmp 0x1800d17dd
mov ecx, edi
mov rax, rdi
nop word [rax + rax]
mov edx, dword [rsp + rax + 0xb0]
cmp edx, 0xffffffff
je 0x1800d17ca
lea r8, [0x1802617b0]
cmp edx, dword [rax + r8 + 0x40]
jne 0x1800d181e
inc ecx
add rax, 4
cmp ecx, 4
jb 0x1800d17b0
mov al, 1
test al, al
sete bpl
test bpl, bpl
jne 0x1800d17ee
test dword [rbx + 0xf8], 0x1f80
je 0x1800d1822
mov ebx, dword [rsp + 0x34]
lea rdx, [rsp + 0x168]
mov rcx, r13
mov r8d, ebx
call fcn.1800d13c0
mov edi, eax
test eax, eax
js 0x1800d193d
mov r12, qword [rsp + 0x168]
mov qword [rsp + 0x38], r12
jmp 0x1800d1826
xor al, al
jmp 0x1800d17d7
mov ebx, dword [rsp + 0x34]
xor eax, eax
xor r11d, r11d
lea r8, [0x1802617b0]
mov r10d, r11d
mov dword [rsp + 0x50], eax
mov dword [rsp + 0x54], eax
mov dword [rsp + 0x58], eax
mov dword [rsp + 0x5c], eax
nop word [rax + rax]
mov dl, 1
mov rcx, r11
mov r9d, 4
nop dword [rax + rax]
mov eax, dword [r8]
cmp dword [rsp + rcx + 0xb0], eax
je 0x1800d1878
cmp dword [rsp + rcx + 0x50], 0xffffffff
movzx edx, dl
cmovne edx, r11d
add r8, 4
add rcx, 4
sub r9, 1
jne 0x1800d1860
test dl, dl
jne 0x1800d18aa
inc r10d
cmp r10d, 8
jb 0x1800d1850
cmp esi, 0xd
jne 0x1800d19cd
cmp dword [rsp + 0xb0], r11d
jne 0x1800d19c8
lea rax, [rsp + 0x160]
lea rdx, [rsp + 0x50]
mov r9d, ebx
mov qword [rsp + 0x28], rax
mov r8d, r15d
mov rcx, r13
mov byte [rsp + 0x20], r14b
call fcn.1800b7590
mov edi, eax
test eax, eax
js 0x1800d26f8
test r14b, r14b
je 0x1800d18fb
mov rax, qword [r13 + 0x19550]
mov rdx, qword [rax + 0x28]
mov rax, qword [rsp + 0x160]
mov rcx, qword [rax + 0x28]
mov rax, qword [rdx]
mov qword [rcx], rax
mov rax, qword [r13 + 0x19550]
xor ecx, ecx
mov dword [rax + 0x78], ecx
mov dword [rax + 0x10], ecx
mov dword [rax + 0x20], ecx
test r12, r12
je 0x1800d2feb
mov rdx, r12
mov rcx, r13
call fcn.1800c5bb0
mov edi, eax
test eax, eax
jns 0x1800d2feb
mov rsi, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x38]
xor r12d, r12d
jmp 0x1800d2d8b
mov rbp, qword [rsp + 0x168]
mov rsi, qword [rsp + 0x40]
xor r12d, r12d
jmp 0x1800d2d8b
xor r12d, r12d
mov ebx, r12d
test r15d, r15d
je 0x1800d19d0
lea r10, [rsp + 0xb0]
nop word [rax + rax]
mov r11d, r12d
mov r9, r12
lea rdi, [0x1802617b0]
nop dword [rax]
mov edx, r12d
mov rcx, r12
mov r8d, dword [r10 + rcx*4]
cmp r8d, 0xffffffff
je 0x1800d199a
lea rax, [r9 + rcx]
cmp r8d, dword [rdi + rax*4]
jne 0x1800d19b1
inc edx
inc rcx
cmp edx, 4
jb 0x1800d1986
inc ebx
add r10, 0x10
cmp ebx, r15d
jb 0x1800d1970
jmp 0x1800d19d0
inc r11d
add r9, 4
cmp r11d, 8
jb 0x1800d1980
mov bpl, 1
jmp 0x1800d19d0
xor r12d, r12d
jmp 0x1800d19d0
xor r12d, r12d
jmp 0x1800d19d0
xor r12d, r12d
mov rdx, qword [r13 + 0x19550]
mov r9d, 1
mov eax, dword [rdx + 0x78]
and eax, 0xfff00000
cmp eax, 0x11f00000
je 0x1800d19f7
cmp eax, 0x12200000
jne 0x1800d1c7a
xor cl, cl
cmp dword [rdx + 0x10], 0
jbe 0x1800d1c76
mov rax, qword [r13 + 0x19550]
mov rdx, qword [rdx + 0x18]
mov r8d, dword [rax + 0x10]
nop word [rax + rax]
mov rax, qword [rdx]
movzx ecx, cl
test dword [rax + 0xf8], 0x1f80
cmovne ecx, r9d
add rdx, 8
sub r8, r9
jne 0x1800d1a20
test cl, cl
je 0x1800d1c7e
mov rsi, qword [r13 + 0xd078]
mov ebx, r12d
nop
mov r9d, dword [rsi + 0x18]
mov r8, qword [r13 + 0xd078]
mov eax, ebx
lea rdx, [rsp + rax*8 + 0xf0]
mov rcx, r13
mov dword [rsp + 0x28], 0x11
mov dword [rsp + 0x20], ebx
call fcn.18019f030
mov edi, eax
test eax, eax
js 0x1800d26fb
inc ebx
cmp ebx, 4
jb 0x1800d1a50
inc dword [rsi + 0x18]
cmp dword [0x18025e63c], 0
jge 0x1800d1a9d
xor ebx, ebx
mov rcx, rbx
jmp 0x1800d1aae
mov ecx, dword [0x18025e63c]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
xor ebx, ebx
mov rcx, rax
cmp qword [rcx + 0x30], 0
je 0x1800d1aee
mov r12, qword [rcx + 0x30]
mov qword [rsp + 0x40], r12
test r12, r12
jne 0x1800d1acd
mov r12, rbx
mov qword [rsp + 0x40], rbx
jmp 0x1800d1b08
mov rax, qword [r12]
mov qword [rcx + 0x30], rax
test rax, rax
jne 0x1800d1ade
mov qword [rcx + 0x38], rbx
movabs rax, 0xfefefefefefefefe
mov qword [r12], rax
jmp 0x1800d1b08
mov rcx, qword [rcx + 0x28]
mov edx, 0x80
lea r8d, [rdx - 0x70]
call fcn.180243b70
mov r12, rax
mov qword [rsp + 0x40], rax
test r12, r12
je 0x1800d1c61
mov qword [r12], 0xffffffffffffffff
mov qword [r12 + 8], 0xffffffffffffffff
mov dword [r12 + 0x10], ebx
mov dword [r12 + 0x20], ebx
mov dword [r12 + 0x30], 0xffffffff
mov dword [r12 + 0x78], ebx
mov qword [r12 + 0x18], rbx
mov word [r12 + 0x7c], bx
mov qword [r12 + 0x28], rbx
mov word [r12 + 0x7e], bx
mov dword [r12 + 0x38], ebx
mov dword [r12 + 0x3c], ebx
mov dword [r12 + 0x40], ebx
mov qword [r12 + 0x48], 0xffffffffffffffff
mov dword [r12 + 0x50], ebx
mov dword [r12 + 0x68], ebx
mov qword [r12 + 0x70], rbx
mov rax, qword [r13 + 0x19550]
mov r8d, dword [rax + 0x10]
mov r9d, dword [rax + 0x20]
mov rcx, r12
mov edx, r8d
mov byte [rsp + 0x20], 0
and edx, 0xfffff
bts edx, 0x1c
call fcn.180193d40
mov edi, eax
test eax, eax
js 0x1800d26e6
mov rcx, qword [r13 + 0x19550]
lea rdx, [rsp + 0xf0]
mov eax, dword [rcx + 0x68]
mov dword [r12 + 0x68], eax
mov rax, qword [rcx + 0x70]
mov qword [r12 + 0x70], rax
mov rax, qword [r13 + 0x19550]
mov rcx, qword [r12 + 0x28]
mov r8d, dword [rax + 0x20]
shl r8, 3
call sub.msvcrt.dll_memcpy
mov r11, qword [r13 + 0x19550]
mov rcx, qword [r12 + 0x18]
mov r8d, dword [r11 + 0x10]
mov rdx, qword [r11 + 0x18]
shl r8, 3
call sub.msvcrt.dll_memcpy
mov rcx, qword [r13 + 0x19550]
lea rdx, [rsp + 0xf0]
mov r8d, dword [rcx + 0x10]
mov rcx, qword [rcx + 0x18]
shl r8, 3
call sub.msvcrt.dll_memcpy
mov eax, dword [r13 + 0x14]
mov dword [r12 + 0x30], eax
mov rax, qword [r13 + 0x20]
mov qword [r12 + 8], rax
mov rax, qword [r13 + 0x20]
test rax, rax
je 0x1800d1c40
mov qword [rax], r12
jmp 0x1800d1c44
mov qword [r13 + 0x18], r12
mov qword [r12], rbx
mov qword [r13 + 0x20], r12
inc dword [r13 + 0x14]
or dword [r13 + 0x28], 4
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rbx
jmp 0x1800d1c80
mov rbp, qword [rsp + 0x38]
mov rsi, rbx
mov edi, 0x8007000e
xor r12d, r12d
jmp 0x1800d2d8b
xor ebx, ebx
jmp 0x1800d1c80
xor ebx, ebx
jmp 0x1800d1c80
xor ebx, ebx
test bpl, bpl
je 0x1800d2cd7
test byte [r13 + 0xcef4], 2
je 0x1800d2cd7
mov ebp, dword [rsp + 0x34]
xor dl, dl
xor al, al
mov byte [rsp + 0x168], dl
mov byte [rsp + 0x178], al
cmp ebp, 4
jne 0x1800d244e
mov bpl, 1
mov r13d, ebx
lea r12, [rsp + 0x60]
test bpl, bpl
je 0x1800d1e1d
xor eax, eax
mov dword [rsp + 0x60], 0xffffffff
mov dword [rsp + 0x64], 0xffffffff
mov dword [rsp + 0x68], 0xffffffff
mov dword [rsp + 0x6c], 0xffffffff
mov dword [rsp + 0x50], eax
mov dword [rsp + 0x54], eax
mov dword [rsp + 0x58], eax
mov dword [rsp + 0x5c], eax
xor bpl, bpl
mov dword [r12 - 0x10], 0xffffffff
mov dword [r12], ebx
test r15d, r15d
je 0x1800d1f2b
mov esi, r15d
lea rdi, [rsp + 0xb0]
lea r15, [0x1802617b0]
jmp 0x1800d1d32
xor ebx, ebx
mov r11d, ebx
mov rdx, r15
nop dword [rax + rax]
mov cl, 1
lea r9, [rsp + 0x50]
mov r8, rdi
mov r10d, 4
mov eax, dword [rdx]
cmp dword [r8], eax
je 0x1800d1d61
cmp dword [r9], 0xffffffff
movzx ecx, cl
cmovne ecx, ebx
add r8, 4
add rdx, 4
add r9, 4
sub r10, 1
jne 0x1800d1d50
test cl, cl
jne 0x1800d1d84
inc r11d
cmp r11d, 8
jb 0x1800d1d40
xor bl, bl
jmp 0x1800d1d86
mov bl, 1
xor eax, eax
mov rdx, r15
mov r11d, eax
nop
mov cl, 1
lea r9, [rsp + 0x60]
mov r8, rdi
mov r10d, 4
xor r14d, r14d
mov eax, dword [rdx]
cmp dword [r8], eax
je 0x1800d1db5
cmp dword [r9], 0xffffffff
movzx ecx, cl
cmovne ecx, r14d
add r8, 4
add rdx, 4
add r9, 4
sub r10, 1
jne 0x1800d1da3
mov r14b, byte [rsp + 0x170]
test cl, cl
jne 0x1800d1de0
inc r11d
cmp r11d, 8
jb 0x1800d1d90
xor al, al
jmp 0x1800d1de2
mov al, 1
test bl, bl
je 0x1800d1dea
test al, al
jne 0x1800d1ded
mov bpl, 1
add rdi, 0x10
sub rsi, 1
jne 0x1800d1d30
mov r15d, dword [rsp + 0x30]
test bpl, bpl
je 0x1800d1f2b
inc r13d
add r12, 4
mov rbx, rsi
cmp r13d, 4
jb 0x1800d1cc1
test r14b, r14b
jne 0x1800d2796
lea r15, [rsp + 0x60]
mov bpl, 1
mov eax, ebx
mov dword [rsp + 0x170], ebx
xor dl, dl
mov qword [rsp + 0xa0], r15
test bpl, bpl
je 0x1800d2328
mov r14d, ebx
mov dword [rsp + 0x48], ebx
lea r13, [rsp + 0x60]
cmp r14d, eax
je 0x1800d22ec
xor ecx, ecx
mov dword [rsp + 0x60], 0xffffffff
mov dword [rsp + 0x64], 0xffffffff
mov dword [rsp + 0x50], ecx
mov dword [rsp + 0x54], ecx
mov dword [rsp + 0x58], ecx
mov dword [rsp + 0x5c], ecx
mov ecx, dword [rsp + 0x30]
mov dword [rsp + 0x68], 0xffffffff
mov dword [rsp + 0x6c], 0xffffffff
mov dword [r15 - 0x10], 0xffffffff
xor bpl, bpl
mov dword [r13 - 0x10], 0xffffffff
xor r12b, r12b
mov dword [r15], ebx
mov dword [r13], ebx
test ecx, ecx
je 0x1800d239a
lea rdi, [rsp + 0xb0]
mov rsi, rcx
lea r14, [0x1802617b0]
nop dword [rax]
mov r11d, ebx
mov rdx, r14
nop word [rax + rax]
mov cl, 1
lea r9, [rsp + 0x50]
mov r8, rdi
mov r10d, 4
mov eax, dword [rdx]
cmp dword [r8], eax
je 0x1800d1f01
cmp dword [r9], 0xffffffff
movzx ecx, cl
cmovne ecx, ebx
add r8, 4
add rdx, 4
add r9, 4
sub r10, 1
jne 0x1800d1ef0
test cl, cl
jne 0x1800d21c6
inc r11d
cmp r11d, 8
jb 0x1800d1ee0
xor bl, bl
jmp 0x1800d21c8
mov r13, qword [rsp + 0x160]
lea rax, [rsp + 0x168]
lea rdx, [rsp + 0x50]
mov qword [rsp + 0x28], rax
mov r9d, 4
mov r8d, r15d
mov rcx, r13
mov byte [rsp + 0x20], r14b
call fcn.1800b7590
mov edi, eax
test eax, eax
js 0x1800d26d4
lea rax, [rsp + 0x160]
lea rdx, [rsp + 0x60]
mov r9d, 4
mov qword [rsp + 0x28], rax
mov r8d, r15d
mov rcx, r13
mov byte [rsp + 0x20], r14b
call fcn.1800b7590
mov edi, eax
test eax, eax
js 0x1800d26c2
test r14b, r14b
je 0x1800d2c6d
mov ecx, 0x80
call fcn.180197940
mov rbx, rax
test rax, rax
je 0x1800d21af
xor r12d, r12d
mov edx, 0x20000001
mov rcx, rax
lea r9d, [r12 + 1]
lea r8d, [r12 + 2]
mov qword [rax], 0xffffffffffffffff
mov qword [rax + 8], 0xffffffffffffffff
mov dword [rax + 0x10], r12d
mov dword [rax + 0x20], r12d
mov dword [rax + 0x30], 0xffffffff
mov dword [rax + 0x78], r12d
mov qword [rax + 0x18], r12
mov word [rax + 0x7c], r12w
mov qword [rax + 0x28], r12
mov word [rax + 0x7e], r12w
mov dword [rax + 0x38], r12d
mov dword [rax + 0x3c], r12d
mov dword [rax + 0x40], r12d
mov qword [rax + 0x48], 0xffffffffffffffff
mov dword [rax + 0x50], r12d
mov dword [rax + 0x68], r12d
mov qword [rax + 0x70], r12
mov byte [rsp + 0x20], r12b
call fcn.180193d40
mov edi, eax
test eax, eax
js 0x1800d209b
mov rcx, qword [r13 + 0x19550]
mov rdx, rbx
mov eax, dword [rcx + 0x68]
mov dword [rbx + 0x68], eax
mov rax, qword [rcx + 0x70]
mov rcx, qword [rbx + 0x18]
mov qword [rbx + 0x70], rax
mov rax, qword [rsp + 0x168]
mov rax, qword [rax + 0x28]
mov rax, qword [rax]
mov qword [rcx], rax
mov rcx, qword [rbx + 0x18]
mov rax, qword [rsp + 0x160]
mov rax, qword [rax + 0x28]
mov rax, qword [rax]
mov qword [rcx + 8], rax
mov rax, qword [r13 + 0x19550]
mov rcx, qword [rbx + 0x28]
mov rax, qword [rax + 0x28]
mov rax, qword [rax]
mov qword [rcx], rax
mov rcx, r13
call fcn.1800c5bb0
mov edi, eax
test eax, eax
jns 0x1800d2c6d
cmp word [rbx + 0x7c], r12w
je 0x1800d20f0
mov ecx, dword [0x18025e63c]
test ecx, ecx
jns 0x1800d20b1
mov rax, r12
jmp 0x1800d20b7
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
movzx ecx, word [rbx + 0x7c]
cmp ecx, dword [rax + 0x250]
ja 0x1800d20e7
mov r8, qword [rbx + 0x18]
dec ecx
movsxd rdx, ecx
shl rdx, 5
add rdx, qword [rax + 0x248]
test r8, r8
je 0x1800d20e7
mov rax, qword [rdx + 8]
mov qword [r8], rax
mov qword [rdx + 8], r8
mov word [rbx + 0x7c], r12w
mov qword [rbx + 0x18], r12
cmp word [rbx + 0x7e], r12w
je 0x1800d2145
mov ecx, dword [0x18025e63c]
test ecx, ecx
jns 0x1800d2106
mov rax, r12
jmp 0x1800d210c
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
movzx ecx, word [rbx + 0x7e]
cmp ecx, dword [rax + 0x250]
ja 0x1800d213c
mov r8, qword [rbx + 0x28]
dec ecx
movsxd rdx, ecx
shl rdx, 5
add rdx, qword [rax + 0x248]
test r8, r8
je 0x1800d213c
mov rax, qword [rdx + 8]
mov qword [r8], rax
mov qword [rdx + 8], r8
mov word [rbx + 0x7e], r12w
mov qword [rbx + 0x28], r12
mov ecx, dword [0x18025e63c]
test ecx, ecx
js 0x1800d2d5a
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rsi, rax
test rax, rax
je 0x1800d2d81
mov edx, 0xfe
mov rcx, rbx
lea r8d, [rdx - 0x7e]
call fcn.18024adb8
mov qword [rbx], r12
mov rax, qword [rsi + 0x38]
test rax, rax
je 0x1800d2198
mov rbp, qword [rsp + 0x38]
mov qword [rax], rbx
mov qword [rsi + 0x38], rbx
mov rsi, qword [rsp + 0x40]
jmp 0x1800d2d8b
mov rbp, qword [rsp + 0x38]
mov qword [rsi + 0x30], rbx
mov qword [rsi + 0x38], rbx
mov rsi, qword [rsp + 0x40]
jmp 0x1800d2d8b
mov rsi, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x38]
mov edi, 0x8007000e
xor r12d, r12d
jmp 0x1800d2d8b
mov bl, 1
xor eax, eax
mov rdx, r14
mov r11d, eax
mov cl, 1
lea r9, [rsp + 0x60]
mov r8, rdi
mov r10d, 4
xor r15d, r15d
mov eax, dword [rdx]
cmp dword [r8], eax
je 0x1800d21f5
cmp dword [r9], 0xffffffff
movzx ecx, cl
cmovne ecx, r15d
add r8, 4
add rdx, 4
add r9, 4
sub r10, 1
jne 0x1800d21e3
mov r15, qword [rsp + 0xa0]
test cl, cl
jne 0x1800d2220
inc r11d
cmp r11d, 8
jb 0x1800d21d0
xor al, al
jmp 0x1800d2222
mov al, 1
test bl, bl
jne 0x1800d222b
mov r12b, 1
jmp 0x1800d222f
test al, al
jne 0x1800d2232
mov bpl, 1
add rdi, 0x10
sub rsi, 1
mov ebx, 0
jne 0x1800d1ed0
mov r14d, dword [rsp + 0x48]
test bpl, bpl
je 0x1800d2393
test r12b, r12b
jne 0x1800d22e5
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x70]
mov byte [rsp + 0x178], 1
mov rax, qword [rcx]
mov qword [rdx], rax
mov rax, qword [rcx + 8]
mov qword [rdx + 8], rax
mov eax, dword [rsp + 0x170]
mov dword [rsp + 0x80], 0xffffffff
mov dword [rsp + 0x84], 0xffffffff
mov dword [rsp + 0x88], 0xffffffff
mov dword [rsp + 0x8c], 0xffffffff
mov dword [rsp + 0x90], 0xffffffff
mov dword [rsp + 0x94], 0xffffffff
mov dword [rsp + 0x98], 0xffffffff
mov dword [rsp + 0x9c], 0xffffffff
mov dword [r15 + 0x20], ebx
mov dword [r13 + 0x30], ebx
jmp 0x1800d22ec
mov eax, dword [rsp + 0x170]
inc r14d
add r13, 4
mov dword [rsp + 0x48], r14d
cmp r14d, 4
jb 0x1800d1e56
movzx edx, byte [rsp + 0x168]
inc eax
add r15, 4
mov dword [rsp + 0x170], eax
mov qword [rsp + 0xa0], r15
cmp eax, 4
jb 0x1800d1e41
test dl, dl
je 0x1800d23a8
mov r13, qword [rsp + 0x160]
mov qword [rsp + 0x28], rbx
mov ebx, dword [rsp + 0x30]
lea rdx, [rsp + 0x50]
mov r8d, ebx
mov r9d, 4
mov rcx, r13
mov byte [rsp + 0x20], 0
call fcn.1800b7590
mov edi, eax
test eax, eax
js 0x1800d26b0
xor r12d, r12d
lea rdx, [rsp + 0x60]
mov r8d, ebx
lea r9d, [r12 + 4]
mov rcx, r13
mov qword [rsp + 0x28], r12
mov byte [rsp + 0x20], r12b
call fcn.1800b7590
mov edi, eax
test eax, eax
js 0x1800d26fb
jmp 0x1800d2675
mov eax, dword [rsp + 0x170]
mov dl, 1
mov byte [rsp + 0x168], dl
jmp 0x1800d230a
movzx eax, byte [rsp + 0x178]
test al, al
je 0x1800d2c51
mov r13, qword [rsp + 0x160]
mov qword [rsp + 0x28], rbx
mov ebx, dword [rsp + 0x30]
lea rdx, [rsp + 0x70]
mov r8d, ebx
mov r9d, 4
mov rcx, r13
mov byte [rsp + 0x20], 0
call fcn.1800b7590
mov edi, eax
test eax, eax
js 0x1800d269e
xor r12d, r12d
lea rdx, [rsp + 0x80]
mov r8d, ebx
lea r9d, [r12 + 4]
mov rcx, r13
mov qword [rsp + 0x28], r12
mov byte [rsp + 0x20], r12b
call fcn.1800b7590
mov edi, eax
test eax, eax
js 0x1800d26fb
lea r9d, [r12 + 4]
lea rdx, [rsp + 0x90]
mov r8d, ebx
mov rcx, r13
mov qword [rsp + 0x28], r12
mov byte [rsp + 0x20], r12b
call fcn.1800b7590
mov edi, eax
test eax, eax
js 0x1800d26fb
jmp 0x1800d2c6d
cmp ebp, 3
jne 0x1800d270a
test r14b, r14b
jne 0x1800d27a2
or r13d, 0xffffffff
mov eax, ebx
lea rcx, [rsp + 0xb0]
nop
cmp dword [rcx], 0xffffffff
cmove r13d, eax
inc eax
add rcx, 4
cmp eax, 4
jb 0x1800d2470
mov ecx, dword [rsp + 0x30]
mov dword [rsp + 0x170], r13d
mov r14d, ebx
movsxd rax, r13d
lea r15, [rsp + 0x60]
nop dword [rax]
test dl, dl
jne 0x1800d2617
mov ebp, ebx
lea r12, [rsp + 0x60]
nop
test dl, dl
jne 0x1800d25fe
cmp ebp, r14d
je 0x1800d25e7
cmp ebp, r13d
je 0x1800d25e7
cmp r14d, r13d
je 0x1800d25e7
xor edx, edx
mov dword [rsp + 0x50], 0xffffffff
mov dword [rsp + 0x54], 0xffffffff
mov dword [rsp + 0x58], 0xffffffff
mov dword [rsp + 0x5c], 0xffffffff
mov dword [rsp + 0x60], edx
mov dword [rsp + 0x64], edx
mov dword [rsp + 0x68], edx
mov dword [rsp + 0x6c], edx
mov dword [r15 - 0x10], ebx
mov dword [r12 - 0x10], ebx
mov dword [r15], 0xffffffff
xor sil, sil
mov dword [r12], 0xffffffff
mov edi, ebx
mov dword [rsp + rax*4 + 0x60], 0xffffffff
test ecx, ecx
je 0x1800d25c4
lea rbx, [rsp + 0xb0]
nop word [rax + rax]
test sil, sil
jne 0x1800d25cf
xor eax, eax
lea rdx, [0x1802617b0]
mov r11d, eax
nop word [rax + rax]
mov cl, 1
lea r9, [rsp + 0x50]
mov r8, rbx
mov r10d, 4
xor r13d, r13d
mov eax, dword [rdx]
cmp dword [r8], eax
je 0x1800d2585
cmp dword [r9], 0xffffffff
movzx ecx, cl
cmovne ecx, r13d
add r8, 4
add rdx, 4
add r9, 4
sub r10, 1
jne 0x1800d2573
mov r13d, dword [rsp + 0x170]
test cl, cl
jne 0x1800d25af
inc r11d
cmp r11d, 8
jb 0x1800d2560
mov sil, 1
inc edi
add rbx, 0x10
cmp edi, dword [rsp + 0x30]
jb 0x1800d2540
test sil, sil
jne 0x1800d25dc
mov ecx, dword [rsp + 0x30]
mov dl, 1
mov byte [rsp + 0x168], dl
jmp 0x1800d25e7
mov ecx, dword [rsp + 0x30]
mov dl, byte [rsp + 0x168]
jmp 0x1800d25e7
mov ecx, dword [rsp + 0x30]
mov dl, byte [rsp + 0x168]
inc ebp
add r12, 4
movsxd rax, r13d
mov ebx, 0
cmp ebp, 4
jb 0x1800d24b0
inc r14d
add r15, 4
cmp r14d, 4
jb 0x1800d24a0
test dl, dl
je 0x1800d2c3d
mov r13, qword [rsp + 0x160]
mov qword [rsp + 0x28], rbx
mov ebx, dword [rsp + 0x30]
lea rdx, [rsp + 0x50]
mov r8d, ebx
mov r9d, 3
mov rcx, r13
mov byte [rsp + 0x20], 0
call fcn.1800b7590
mov edi, eax
test eax, eax
js 0x1800d268c
xor r12d, r12d
lea rdx, [rsp + 0x60]
mov r8d, ebx
lea r9d, [r12 + 3]
mov rcx, r13
mov qword [rsp + 0x28], r12
mov byte [rsp + 0x20], r12b
call fcn.1800b7590
mov edi, eax
test eax, eax
js 0x1800d26fb
cmp byte [rsp + 0x168], 0
jne 0x1800d2c6d
mov ebp, dword [rsp + 0x34]
jmp 0x1800d2716
mov rsi, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x38]
xor r12d, r12d
jmp 0x1800d2d8b
mov rsi, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x38]
xor r12d, r12d
jmp 0x1800d2d8b
mov rsi, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x38]
xor r12d, r12d
jmp 0x1800d2d8b
mov rsi, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x38]
xor r12d, r12d
jmp 0x1800d2d8b
mov rsi, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x38]
xor r12d, r12d
jmp 0x1800d2d8b
mov rsi, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x38]
xor r12d, r12d
jmp 0x1800d2d8b
xor r12d, r12d
mov rsi, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x38]
jmp 0x1800d2d8b
test r14b, r14b
jne 0x1800d27a2
xor r12d, r12d
mov ebx, r12d
test ebp, ebp
je 0x1800d2c6d
mov rsi, r12
mov rax, qword [r13 + 0x19550]
mov r8d, dword [rsp + 0x30]
mov dword [rsp + 0x50], 0xffffffff
mov rcx, qword [rax + 0x28]
mov dword [rsp + 0x54], 0xffffffff
mov dword [rsp + 0x58], 0xffffffff
mov rax, qword [rsi + rcx]
mov dword [rsp + 0x5c], 0xffffffff
lea rdx, [rsp + 0x50]
mov ecx, dword [rax + 0xcc]
mov r9d, ebp
mov qword [rsp + 0x28], r12
mov dword [rsp + rcx*4 + 0x50], r12d
mov rcx, r13
mov byte [rsp + 0x20], 0
call fcn.1800b7590
mov edi, eax
test eax, eax
js 0x1800d2d66
inc ebx
add rsi, 8
cmp ebx, ebp
jb 0x1800d2724
jmp 0x1800d2c6d
mov r13, qword [rsp + 0x160]
mov ebp, dword [rsp + 0x34]
lea rdx, [rsp + 0x48]
mov r9d, r15d
mov r8d, ebp
mov rcx, r13
call fcn.1800d10b0
mov edi, eax
test eax, eax
js 0x1800d2c2b
mov rsi, qword [rsp + 0x48]
mov qword [rsp + 0x40], rsi
test rsi, rsi
je 0x1800d2807
mov eax, dword [r13 + 0x14]
mov dword [rsi + 0x30], eax
mov rax, qword [r13 + 0x20]
mov qword [rsi + 8], rax
mov rax, qword [r13 + 0x20]
test rax, rax
je 0x1800d27eb
mov qword [rax], rsi
jmp 0x1800d27ef
mov qword [r13 + 0x18], rsi
mov qword [rsi], rbx
mov qword [r13 + 0x20], rsi
inc dword [r13 + 0x14]
or dword [r13 + 0x28], 4
mov rsi, rbx
mov qword [rsp + 0x40], rbx
mov ecx, 0x80
call fcn.180197940
mov rbx, rax
test rax, rax
je 0x1800d2c19
xor r12d, r12d
mov qword [rax], 0xffffffffffffffff
mov qword [rax + 8], 0xffffffffffffffff
mov dword [rax + 0x30], 0xffffffff
mov qword [rax + 0x48], 0xffffffffffffffff
mov dword [rax + 0x10], r12d
mov dword [rax + 0x20], r12d
mov dword [rax + 0x78], r12d
mov qword [rax + 0x18], r12
mov word [rax + 0x7c], r12w
mov qword [rax + 0x28], r12
mov word [rax + 0x7e], r12w
mov dword [rax + 0x38], r12d
mov dword [rax + 0x3c], r12d
mov dword [rax + 0x40], r12d
mov dword [rax + 0x50], r12d
mov dword [rax + 0x68], r12d
mov qword [rax + 0x70], r12
mov r14, qword [r13 + 0xd078]
lea r9d, [r12 + 1]
lea r8d, [r12 + 2]
mov edx, 0x20400001
mov rcx, rax
mov byte [rsp + 0x20], r12b
call fcn.180193d40
mov edi, eax
test eax, eax
js 0x1800d2af1
mov rcx, qword [r13 + 0x19550]
lea rdx, [rsp + 0x168]
mov dword [rsp + 0x28], 0x11
mov eax, dword [rcx + 0x68]
mov dword [rsp + 0x20], r12d
mov dword [rbx + 0x68], eax
mov rax, qword [rcx + 0x70]
mov rcx, r13
mov qword [rbx + 0x70], rax
mov r9d, dword [r14 + 0x18]
lea eax, [r9 + 1]
mov dword [r14 + 0x18], eax
mov r8, qword [r13 + 0xd078]
call fcn.18019f030
mov edi, eax
test eax, eax
js 0x1800d2af1
mov rax, qword [rbx + 0x28]
mov r15, qword [rsp + 0x160]
mov r13, qword [rsp + 0x168]
mov qword [rax], r13
mov rax, qword [r15 + 0x19550]
mov rcx, qword [rbx + 0x18]
mov rax, qword [rax + 0x18]
mov edx, ebp
mov rax, qword [rax]
mov qword [rcx], rax
mov rax, qword [r15 + 0x19550]
mov rcx, qword [rbx + 0x18]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + rdx*8]
mov rdx, rbx
mov qword [rcx + 8], rax
mov rcx, r15
call fcn.1800c5bb0
mov edi, eax
test eax, eax
js 0x1800d2af1
mov esi, 1
movsxd r12, ebp
cmp ebp, esi
jbe 0x1800d2c65
lea ebp, [rsi + 7]
lea r12, [r12*8 + 8]
mov ecx, 0x80
call fcn.180197940
mov rbx, rax
test rax, rax
je 0x1800d2acd
mov qword [rax], 0xffffffffffffffff
mov qword [rax + 8], 0xffffffffffffffff
xor eax, eax
lea r9d, [rax + 1]
lea r8d, [rax + 3]
mov edx, 0x90200001
mov rcx, rbx
mov dword [rbx + 0x10], eax
mov dword [rbx + 0x20], eax
mov dword [rbx + 0x30], 0xffffffff
mov dword [rbx + 0x78], eax
mov qword [rbx + 0x18], rax
mov word [rbx + 0x7c], ax
mov qword [rbx + 0x28], rax
mov word [rbx + 0x7e], ax
mov dword [rbx + 0x38], eax
mov dword [rbx + 0x3c], eax
mov dword [rbx + 0x40], eax
mov qword [rbx + 0x48], 0xffffffffffffffff
mov dword [rbx + 0x50], eax
mov dword [rbx + 0x68], eax
mov qword [rbx + 0x70], rax
mov byte [rsp + 0x20], al
call fcn.180193d40
mov edi, eax
test eax, eax
js 0x1800d2aee
mov rcx, qword [r15 + 0x19550]
mov eax, dword [rcx + 0x68]
mov dword [rbx + 0x68], eax
mov rax, qword [rcx + 0x70]
mov rcx, qword [rbx + 0x18]
mov qword [rbx + 0x70], rax
mov rax, qword [r15 + 0x19550]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + rbp]
mov qword [rcx], rax
mov rax, qword [r15 + 0x19550]
mov rcx, qword [rbx + 0x18]
mov rax, qword [rax + 0x18]
mov rax, qword [r12 + rax]
mov qword [rcx + 8], rax
mov rax, qword [rbx + 0x18]
mov qword [rax + 0x10], r13
mov eax, dword [rsp + 0x34]
dec eax
cmp esi, eax
je 0x1800d2a86
mov r9d, dword [r14 + 0x18]
lea rdx, [rsp + 0x168]
mov rcx, r15
lea eax, [r9 + 1]
mov dword [rsp + 0x28], 0x11
mov dword [r14 + 0x18], eax
mov r8, qword [r15 + 0xd078]
xor eax, eax
mov dword [rsp + 0x20], eax
call fcn.18019f030
mov edi, eax
test eax, eax
js 0x1800d2ae9
mov rax, qword [rbx + 0x28]
mov r13, qword [rsp + 0x168]
mov qword [rax], r13
jmp 0x1800d2a9b
mov rax, qword [r15 + 0x19550]
mov rcx, qword [rbx + 0x28]
mov rax, qword [rax + 0x28]
mov rax, qword [rax]
mov qword [rcx], rax
mov rdx, rbx
mov rcx, r15
call fcn.1800c5bb0
mov edi, eax
test eax, eax
js 0x1800d2ae4
inc esi
add rbp, 8
add r12, 8
cmp esi, dword [rsp + 0x34]
jb 0x1800d2965
mov r13, qword [rsp + 0x160]
jmp 0x1800d2c6d
mov rsi, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x38]
mov edi, 0x8007000e
xor r12d, r12d
jmp 0x1800d2d8b
xor r12d, r12d
jmp 0x1800d2af1
xor r12d, r12d
jmp 0x1800d2af1
xor r12d, r12d
test rbx, rbx
je 0x1800d2c0a
cmp word [rbx + 0x7c], 0
je 0x1800d2b4f
mov ecx, dword [0x18025e63c]
test ecx, ecx
jns 0x1800d2b10
mov rax, r12
jmp 0x1800d2b16
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
movzx ecx, word [rbx + 0x7c]
cmp ecx, dword [rax + 0x250]
ja 0x1800d2b46
mov r8, qword [rbx + 0x18]
dec ecx
movsxd rdx, ecx
shl rdx, 5
add rdx, qword [rax + 0x248]
test r8, r8
je 0x1800d2b46
mov rax, qword [rdx + 8]
mov qword [r8], rax
mov qword [rdx + 8], r8
mov word [rbx + 0x7c], r12w
mov qword [rbx + 0x18], r12
cmp word [rbx + 0x7e], 0
je 0x1800d2ba4
mov ecx, dword [0x18025e63c]
test ecx, ecx
jns 0x1800d2b65
mov rax, r12
jmp 0x1800d2b6b
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
movzx ecx, word [rbx + 0x7e]
cmp ecx, dword [rax + 0x250]
ja 0x1800d2b9b
mov r8, qword [rbx + 0x28]
dec ecx
movsxd rdx, ecx
shl rdx, 5
add rdx, qword [rax + 0x248]
test r8, r8
je 0x1800d2b9b
mov rax, qword [rdx + 8]
mov qword [r8], rax
mov qword [rdx + 8], r8
mov word [rbx + 0x7e], r12w
mov qword [rbx + 0x28], r12
mov ecx, dword [0x18025e63c]
test ecx, ecx
js 0x1800d2d4e
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rsi, rax
test rax, rax
je 0x1800d2c0a
mov edx, 0xfe
mov rcx, rbx
lea r8d, [rdx - 0x7e]
call fcn.18024adb8
mov qword [rbx], r12
mov rax, qword [rsi + 0x38]
test rax, rax
je 0x1800d2bf3
mov rbp, qword [rsp + 0x38]
mov qword [rax], rbx
mov qword [rsi + 0x38], rbx
mov rsi, qword [rsp + 0x40]
jmp 0x1800d2d8b
mov rbp, qword [rsp + 0x38]
mov qword [rsi + 0x30], rbx
mov qword [rsi + 0x38], rbx
mov rsi, qword [rsp + 0x40]
jmp 0x1800d2d8b
mov rsi, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x38]
jmp 0x1800d2d8b
mov rbp, qword [rsp + 0x38]
mov edi, 0x8007000e
xor r12d, r12d
jmp 0x1800d2d8b
mov rsi, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x38]
xor r12d, r12d
jmp 0x1800d2d8b
mov r13, qword [rsp + 0x160]
mov ebp, dword [rsp + 0x34]
xor r12d, r12d
jmp 0x1800d2716
mov r13, qword [rsp + 0x160]
mov ebp, dword [rsp + 0x34]
xor r12d, r12d
jmp 0x1800d2716
mov r13, qword [rsp + 0x160]
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x1800d2cb1
mov eax, dword [r13 + 0x14]
mov dword [rcx + 0x30], eax
mov rax, qword [r13 + 0x20]
mov qword [rcx + 8], rax
mov rax, qword [r13 + 0x20]
test rax, rax
je 0x1800d2c94
mov qword [rax], rcx
jmp 0x1800d2c98
mov qword [r13 + 0x18], rcx
xor ebx, ebx
mov qword [rcx], rbx
mov qword [r13 + 0x20], rcx
inc dword [r13 + 0x14]
or dword [r13 + 0x28], 4
mov qword [rsp + 0x38], rbx
jmp 0x1800d2cb3
xor ebx, ebx
mov rax, qword [r13 + 0x19550]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
mov dword [rax + 0x78], ebx
mov dword [rax + 0x10], ebx
mov dword [rax + 0x20], ebx
mov edi, ebx
xor r12d, r12d
jmp 0x1800d2d8b
mov rdx, qword [r13 + 0x19550]
xor r8d, r8d
mov rcx, r13
call fcn.18019f8f0
mov edi, eax
test eax, eax
js 0x1800d2d72
mov rax, qword [r13 + 0x19550]
mov rbp, qword [rsp + 0x38]
mov dword [rax + 0x78], ebx
mov dword [rax + 0x10], ebx
mov dword [rax + 0x20], ebx
test rbp, rbp
je 0x1800d2d42
mov eax, dword [r13 + 0x14]
mov dword [rbp + 0x30], eax
mov rax, qword [r13 + 0x20]
mov qword [rbp + 8], rax
mov rax, qword [r13 + 0x20]
test rax, rax
je 0x1800d2d2a
mov qword [rax], rbp
jmp 0x1800d2d2e
mov qword [r13 + 0x18], rbp
mov qword [rbp], rbx
mov qword [r13 + 0x20], rbp
inc dword [r13 + 0x14]
or dword [r13 + 0x28], 4
mov rbp, rbx
mov rsi, qword [rsp + 0x40]
mov edi, ebx
xor r12d, r12d
jmp 0x1800d2d8b
mov rsi, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x38]
jmp 0x1800d2d8b
mov rsi, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x38]
jmp 0x1800d2d8b
mov rsi, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x38]
jmp 0x1800d2d8b
mov rsi, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x38]
xor r12d, r12d
jmp 0x1800d2d8b
mov rsi, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x38]
test rbp, rbp
je 0x1800d2e8b
cmp word [rbp + 0x7c], 0
je 0x1800d2dee
cmp dword [0x18025e63c], 0
jge 0x1800d2da9
mov rax, r12
jmp 0x1800d2db5
mov ecx, dword [0x18025e63c]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
movzx ecx, word [rbp + 0x7c]
cmp ecx, dword [rax + 0x250]
ja 0x1800d2de5
mov r8, qword [rbp + 0x18]
dec ecx
movsxd rdx, ecx
shl rdx, 5
add rdx, qword [rax + 0x248]
test r8, r8
je 0x1800d2de5
mov rax, qword [rdx + 8]
mov qword [r8], rax
mov qword [rdx + 8], r8
mov word [rbp + 0x7c], r12w
mov qword [rbp + 0x18], r12
cmp word [rbp + 0x7e], 0
je 0x1800d2e48
cmp dword [0x18025e63c], 0
jge 0x1800d2e03
mov rax, r12
jmp 0x1800d2e0f
mov ecx, dword [0x18025e63c]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
movzx ecx, word [rbp + 0x7e]
cmp ecx, dword [rax + 0x250]
ja 0x1800d2e3f
mov r8, qword [rbp + 0x28]
dec ecx
movsxd rdx, ecx
shl rdx, 5
add rdx, qword [rax + 0x248]
test r8, r8
je 0x1800d2e3f
mov rax, qword [rdx + 8]
mov qword [r8], rax
mov qword [rdx + 8], r8
mov word [rbp + 0x7e], r12w
mov qword [rbp + 0x28], r12
mov ecx, dword [0x18025e63c]
test ecx, ecx
js 0x1800d2e8b
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rbx, rax
test rax, rax
je 0x1800d2e8b
mov edx, 0xfe
mov rcx, rbp
lea r8d, [rdx - 0x7e]
call fcn.18024adb8
mov qword [rbp], r12
mov rax, qword [rbx + 0x38]
test rax, rax
je 0x1800d2e83
mov qword [rax], rbp
jmp 0x1800d2e87
mov qword [rbx + 0x30], rbp
mov qword [rbx + 0x38], rbp
test rsi, rsi
je 0x1800d2feb
cmp word [rsi + 0x7c], 0
je 0x1800d2eee
cmp dword [0x18025e63c], 0
jge 0x1800d2ea9
mov rax, r12
jmp 0x1800d2eb5
mov ecx, dword [0x18025e63c]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
movzx ecx, word [rsi + 0x7c]
cmp ecx, dword [rax + 0x250]
ja 0x1800d2ee5
mov r8, qword [rsi + 0x18]
dec ecx
movsxd rdx, ecx
shl rdx, 5
add rdx, qword [rax + 0x248]
test r8, r8
je 0x1800d2ee5
mov rax, qword [rdx + 8]
mov qword [r8], rax
mov qword [rdx + 8], r8
mov word [rsi + 0x7c], r12w
mov qword [rsi + 0x18], r12
cmp word [rsi + 0x7e], 0
je 0x1800d2f48
cmp dword [0x18025e63c], 0
jge 0x1800d2f03
mov rax, r12
jmp 0x1800d2f0f
mov ecx, dword [0x18025e63c]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
movzx ecx, word [rsi + 0x7e]
cmp ecx, dword [rax + 0x250]
ja 0x1800d2f3f
mov r8, qword [rsi + 0x28]
dec ecx
movsxd rdx, ecx
shl rdx, 5
add rdx, qword [rax + 0x248]
test r8, r8
je 0x1800d2f3f
mov rax, qword [rdx + 8]
mov qword [r8], rax
mov qword [rdx + 8], r8
mov word [rsi + 0x7e], r12w
mov qword [rsi + 0x28], r12
mov ecx, dword [0x18025e63c]
test ecx, ecx
js 0x1800d2feb
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rbx, rax
test rax, rax
je 0x1800d2feb
mov edx, 0xfe
mov rcx, rsi
lea r8d, [rdx - 0x7e]
call fcn.18024adb8
mov qword [rsi], r12
mov rax, qword [rbx + 0x38]
test rax, rax
je 0x1800d2f8e
mov qword [rax], rsi
mov qword [rbx + 0x38], rsi
jmp 0x1800d2feb
mov qword [rbx + 0x30], rsi
mov qword [rbx + 0x38], rsi
jmp 0x1800d2feb
cmp r8d, 0x50200000
je 0x1800d2fb1
cmp r8d, 0x90700000
je 0x1800d2fb1
mov edi, 0x80004005
jmp 0x1800d2feb
xor r8d, r8d
mov rdx, rsi
mov rcx, r13
call fcn.18019f8f0
mov edi, eax
test eax, eax
jmp 0x1800d2fd7
xor r8d, r8d
mov rdx, rsi
mov rcx, r13
call fcn.18019f8f0
mov edi, eax
test eax, eax
js 0x1800d2feb
mov rax, qword [r13 + 0x19550]
xor ecx, ecx
mov dword [rax + 0x20], ecx
mov dword [rax + 0x10], ecx
mov dword [rax + 0x78], ecx
mov r15, qword [rsp + 0x118]
mov r14, qword [rsp + 0x120]
mov rbp, qword [rsp + 0x128]
mov rbx, qword [rsp + 0x130]
mov eax, edi
add rsp, 0x138
pop r13
pop r12
pop rdi
pop rsi
ret