Function at 0x1800b5450
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 0x20], r9
mov byte [rsp + 0x18], r8b
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
sub rsp, 0xd8
mov rax, qword [rsp + 0x148]
mov r10b, byte [rsp + 0x128]
movzx r11d, r8b
mov rdi, rdx
mov rbx, rcx
mov dword [rsp + 0x50], r10d
test rax, rax
je 0x1800b5496
mov byte [rax], r10b
mov rbp, qword [r9]
xor esi, esi
mov byte [rsp + 0x60], r10b
mov qword [rsp + 0x58], rbp
test rbp, rbp
je 0x1800b66d8
mov ecx, dword [rsp + 0x120]
movzx edx, byte [rsp + 0x130]
cmp dword [rbp + 0x30], ecx
ja 0x1800b66d8
mov r9d, dword [rbp + 0x78]
mov r8d, r9d
and r9d, 0xfffff
and r8d, 0xfff00000
cmp dword [rbp + 0x20], 0
mov dword [rsp + 0x68], r9d
mov dword [rsp + 0x6c], r8d
je 0x1800b66ac
mov rax, qword [rbp + 0x28]
mov rsi, qword [rax]
cmp qword [rsi + 0xd0], rdi
jne 0x1800b620b
test dl, dl
je 0x1800b5517
cmp r8d, 0x12700000
je 0x1800b5517
xor esi, esi
jmp 0x1800b652b
mov dil, r10b
mov dword [rsp + 0x64], edi
test r10b, r10b
je 0x1800b553c
cmp byte [rsi + 0xd8], r11b
movzx edi, r10b
mov eax, 0
cmovne edi, eax
mov dword [rsp + 0x64], edi
jmp 0x1800b553e
xor eax, eax
cmp r8d, 0x92d00000
je 0x1800b5f0e
cmp r8d, 0x92e00000
je 0x1800b5f0e
cmp r8d, 0x92f00000
je 0x1800b5f0e
cmp r8d, 0x93000000
je 0x1800b5f0e
cmp r8d, 0x94000000
je 0x1800b5f0e
cmp r8d, 0x12500000
je 0x1800b5f0e
cmp r8d, 0x12b00000
je 0x1800b5cb2
cmp r8d, 0x23d00000
je 0x1800b5cb2
cmp r8d, 0x12c00000
je 0x1800b5b93
cmp r8d, 0x23e00000
je 0x1800b5b93
cmp r8d, 0x12800000
je 0x1800b5a42
cmp r8d, 0x12d00000
je 0x1800b5a42
cmp r8d, 0x12f00000
je 0x1800b5a42
cmp r8d, 0x12600000
je 0x1800b5753
cmp r8d, 0x93900000
je 0x1800b5753
cmp r8d, 0x12700000
jne 0x1800b5692
test dil, dil
je 0x1800b5683
test dl, dl
je 0x1800b5683
test r9d, r9d
je 0x1800b565e
movzx ebx, byte [rsp + 0x140]
mov rdx, rax
mov r8d, r9d
nop word [rax + rax]
mov rax, qword [rbp + 0x28]
add rdx, 8
sub r8, 1
mov rcx, qword [rdx + rax - 8]
mov rax, qword [rsp + 0x138]
mov byte [rcx + 0x68], 1
mov byte [rcx + 0x69], bl
mov qword [rcx + 0x60], rax
jne 0x1800b5630
mov rbx, qword [rsp + 0x100]
xor r8d, r8d
mov rdx, rbp
mov rcx, rbx
call fcn.18019f8f0
mov ebx, eax
test eax, eax
js 0x1800b66da
mov r10d, dword [rsp + 0x50]
mov rbx, qword [rsp + 0x100]
mov rdi, qword [rsp + 0x108]
xor esi, esi
jmp 0x1800b652b
cmp r8d, 0x12a00000
je 0x1800b5683
cmp r8d, 0x13100000
je 0x1800b5683
cmp r8d, 0x94300000
je 0x1800b5706
cmp r8d, 0x94600000
je 0x1800b5706
cmp r8d, 0x94900000
je 0x1800b5706
cmp r8d, 0x50500000
je 0x1800b56ff
cmp r8d, 0x50600000
je 0x1800b56ff
cmp r8d, 0x50700000
je 0x1800b56ff
cmp r8d, 0x50800000
je 0x1800b56ff
cmp r8d, 0x50900000
je 0x1800b56ff
test r10b, r10b
je 0x1800b5683
cmp byte [rsi + 0xd8], r11b
jne 0x1800b5683
jmp 0x1800b565e
cmp byte [rsp + 0x60], 0
jmp 0x1800b56ef
test r10b, r10b
je 0x1800b5683
cmp byte [rsi + 0xd8], r11b
jne 0x1800b5683
xor r8d, r8d
mov rdx, rbp
mov rcx, rbx
call fcn.18019f8f0
mov ebx, eax
test eax, eax
js 0x1800b66da
mov rbx, qword [rsp + 0x100]
mov rdi, qword [rsp + 0x108]
xor r10b, r10b
mov dword [rsp + 0x50], r10d
xor esi, esi
jmp 0x1800b652b
mov rax, qword [rbp]
mov qword [rsp + 0x48], 0
mov byte [rsp + 0x40], r11b
mov qword [rsp + 0x70], rax
mov rdx, qword [rbp + 0x28]
mov rax, qword [rsp + 0x108]
mov rdx, qword [rdx]
mov qword [rsp + 0x38], rax
mov byte [rsp + 0x30], 1
mov byte [rsp + 0x28], dil
mov dword [rsp + 0x20], ecx
lea r9, [rsp + 0x70]
mov rcx, rbx
mov r8b, 1
call fcn.1800b5450
mov ebx, eax
test eax, eax
js 0x1800b66da
test dil, dil
je 0x1800b5890
mov rcx, qword [rsp + 0x100]
xor r8d, r8d
cmp dword [rsp + 0x6c], 0x12600000
mov rdx, rbp
jne 0x1800b57f9
mov eax, dword [rsp + 0x68]
and eax, 0xfffff
mov dword [rsp + 0x68], eax
or eax, 0x93a00000
mov dword [rbp + 0x78], eax
call fcn.18019f8f0
mov ebx, eax
test eax, eax
js 0x1800b66da
mov eax, dword [rsp + 0x68]
or eax, 0x12600000
mov dword [rbp + 0x78], eax
jmp 0x1800b5808
call fcn.18019f8f0
mov ebx, eax
test eax, eax
js 0x1800b66da
mov rax, qword [rsp + 0x100]
mov rcx, qword [rsi + 0xa8]
mov r8, qword [rax + 0xd038]
cmp rcx, r8
je 0x1800b5890
test rcx, rcx
je 0x1800b5859
cmp rcx, 0xffffffffffffffff
je 0x1800b5859
mov rdx, qword [rsi + 8]
mov rax, qword [rsi]
test rdx, rdx
je 0x1800b583f
mov qword [rdx], rax
jmp 0x1800b5843
mov qword [rcx + 0x30], rax
mov rdx, qword [rsi]
mov rax, qword [rsi + 8]
test rdx, rdx
je 0x1800b5855
mov qword [rdx + 8], rax
jmp 0x1800b5859
mov qword [rcx + 0x38], rax
test r8, r8
je 0x1800b5889
cmp r8, 0xffffffffffffffff
je 0x1800b5889
mov rax, qword [r8 + 0x38]
mov qword [rsi + 8], rax
mov rax, qword [r8 + 0x38]
test rax, rax
je 0x1800b587a
mov qword [rax], rsi
jmp 0x1800b587e
mov qword [r8 + 0x30], rsi
mov qword [rsi], 0
mov qword [r8 + 0x38], rsi
mov qword [rsi + 0xa8], r8
mov rax, qword [rbp]
mov rsi, qword [rsp + 0x100]
mov qword [rsp + 0x48], 0
mov qword [rsp + 0x70], rax
mov rdx, qword [rbp + 0x28]
mov eax, dword [rsp + 0x120]
mov rdx, qword [rdx]
mov byte [rsp + 0x40], 0
mov qword [rsp + 0x38], 0xffffffffffffffff
mov byte [rsp + 0x30], 0
lea r9, [rsp + 0x70]
mov r8b, 1
mov rcx, rsi
mov byte [rsp + 0x28], dil
mov dword [rsp + 0x20], eax
call fcn.1800b5450
mov ebx, eax
test eax, eax
js 0x1800b66da
test dil, dil
je 0x1800b5a21
mov r8, qword [rsi + 0xd0c0]
lea rdx, [rsp + 0xa8]
xor r9d, r9d
mov rcx, rsi
mov dword [rsp + 0x28], 0x11
mov dword [rsp + 0x20], 0
call fcn.18019f030
mov ebx, eax
test eax, eax
js 0x1800b66da
mov rsi, qword [rsp + 0xa8]
mov ecx, 0x80
mov byte [rsi + 0x68], 0
mov byte [rsi + 0x69], 0
mov qword [rsi + 0x60], 0xffffffffffffffff
call fcn.180197940
mov rdi, rax
test rax, rax
je 0x1800b6574
mov qword [rax], 0xffffffffffffffff
mov qword [rax + 8], 0xffffffffffffffff
xor eax, eax
xor r8d, r8d
cmp dword [rsp + 0x6c], 0x12600000
mov dword [rdi + 0x30], 0xffffffff
lea r9d, [rax + 1]
mov dword [rdi + 0x10], eax
mov dword [rdi + 0x20], eax
mov dword [rdi + 0x78], eax
mov qword [rdi + 0x18], rax
mov word [rdi + 0x7c], ax
mov qword [rdi + 0x28], rax
mov word [rdi + 0x7e], ax
mov dword [rdi + 0x38], eax
mov dword [rdi + 0x3c], eax
mov dword [rdi + 0x40], eax
mov qword [rdi + 0x48], 0xffffffffffffffff
mov dword [rdi + 0x50], eax
mov dword [rdi + 0x68], eax
mov qword [rdi + 0x70], rax
mov byte [rsp + 0x20], al
mov rcx, rdi
mov edx, 0x94200001
je 0x1800b59c7
mov edx, 0x94100001
call fcn.180193d40
mov ebx, eax
test eax, eax
js 0x1800b654f
mov eax, dword [rbp + 0x68]
mov rcx, qword [rsp + 0x100]
mov rdx, rdi
mov dword [rdi + 0x68], eax
mov rax, qword [rbp + 0x70]
mov qword [rdi + 0x70], rax
mov rax, qword [rdi + 0x28]
mov qword [rax], rsi
mov rax, qword [rsp + 0x108]
mov qword [rsi + 0xd0], rax
mov al, byte [rsp + 0x110]
mov byte [rsi + 0xd8], al
call fcn.1800c5bb0
mov ebx, eax
test eax, eax
js 0x1800b654f
mov rbp, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x100]
mov r10d, dword [rsp + 0x50]
mov rdi, qword [rsp + 0x108]
xor esi, esi
jmp 0x1800b652f
cmp r9d, 1
jne 0x1800b6587
test dil, dil
je 0x1800b5a78
xor r8d, r8d
mov rdx, rbp
mov rcx, rbx
call fcn.18019f8f0
mov ebx, eax
test eax, eax
js 0x1800b66da
mov rbx, qword [rsp + 0x100]
mov ecx, dword [rsp + 0x120]
mov rax, qword [rbp]
mov byte [rsp + 0x128], 1
lea r9, [rsp + 0xa0]
mov qword [rsp + 0xa0], rax
mov rdx, qword [rbp + 0x28]
lea rax, [rsp + 0x128]
mov rdx, qword [rdx]
mov qword [rsp + 0x48], rax
mov byte [rsp + 0x40], 0
mov qword [rsp + 0x38], 0xffffffffffffffff
mov byte [rsp + 0x30], 0
mov byte [rsp + 0x28], dil
mov dword [rsp + 0x20], ecx
mov r8b, 1
mov rcx, rbx
call fcn.1800b5450
mov ebx, eax
test eax, eax
js 0x1800b66da
mov r10d, dword [rsp + 0x50]
mov rbx, qword [rsp + 0x100]
movzx eax, byte [rsp + 0x128]
mov rdx, qword [rbx + 0xd038]
mov rcx, qword [rsi + 0xa8]
test dil, dil
movzx r10d, r10b
cmovne r10d, eax
mov dword [rsp + 0x50], r10d
cmp rcx, rdx
je 0x1800b5b7c
test rcx, rcx
je 0x1800b5b47
cmp rcx, 0xffffffffffffffff
je 0x1800b5b47
mov r8, qword [rsi + 8]
mov rax, qword [rsi]
test r8, r8
je 0x1800b5b2d
mov qword [r8], rax
jmp 0x1800b5b31
mov qword [rcx + 0x30], rax
mov r8, qword [rsi]
mov rax, qword [rsi + 8]
test r8, r8
je 0x1800b5b43
mov qword [r8 + 8], rax
jmp 0x1800b5b47
mov qword [rcx + 0x38], rax
test rdx, rdx
je 0x1800b5b75
cmp rdx, 0xffffffffffffffff
je 0x1800b5b75
mov rax, qword [rdx + 0x38]
mov qword [rsi + 8], rax
mov rax, qword [rdx + 0x38]
test rax, rax
je 0x1800b5b68
mov qword [rax], rsi
jmp 0x1800b5b6c
mov qword [rdx + 0x30], rsi
xor eax, eax
mov qword [rsi], rax
mov qword [rdx + 0x38], rsi
mov qword [rsi + 0xa8], rdx
mov rbp, qword [rsp + 0xa0]
mov rdi, qword [rsp + 0x108]
xor esi, esi
jmp 0x1800b652f
test dil, dil
je 0x1800b5bbf
xor r8d, r8d
mov rdx, rbp
mov rcx, rbx
call fcn.18019f8f0
mov ebx, eax
test eax, eax
js 0x1800b66da
mov rbx, qword [rsp + 0x100]
mov ecx, dword [rsp + 0x120]
mov rax, qword [rbp]
lea r9, [rsp + 0x98]
mov r8b, 1
mov qword [rsp + 0x98], rax
mov rdx, qword [rbp + 0x28]
xor ebp, ebp
mov rdx, qword [rdx]
mov qword [rsp + 0x48], rbp
mov byte [rsp + 0x40], bpl
mov qword [rsp + 0x38], 0xffffffffffffffff
mov byte [rsp + 0x30], bpl
mov byte [rsp + 0x28], dil
mov dword [rsp + 0x20], ecx
mov rcx, rbx
call fcn.1800b5450
mov ebx, eax
test eax, eax
js 0x1800b66da
mov rbx, qword [rsp + 0x100]
mov rcx, qword [rsi + 0xa8]
mov rdx, qword [rbx + 0xd038]
cmp rcx, rdx
je 0x1800b5c96
test rcx, rcx
je 0x1800b5c63
cmp rcx, 0xffffffffffffffff
je 0x1800b5c63
mov r8, qword [rsi + 8]
mov rax, qword [rsi]
test r8, r8
je 0x1800b5c49
mov qword [r8], rax
jmp 0x1800b5c4d
mov qword [rcx + 0x30], rax
mov r8, qword [rsi]
mov rax, qword [rsi + 8]
test r8, r8
je 0x1800b5c5f
mov qword [r8 + 8], rax
jmp 0x1800b5c63
mov qword [rcx + 0x38], rax
test rdx, rdx
je 0x1800b5c8f
cmp rdx, 0xffffffffffffffff
je 0x1800b5c8f
mov rax, qword [rdx + 0x38]
mov qword [rsi + 8], rax
mov rax, qword [rdx + 0x38]
test rax, rax
je 0x1800b5c84
mov qword [rax], rsi
jmp 0x1800b5c88
mov qword [rdx + 0x30], rsi
mov qword [rsi], rbp
mov qword [rdx + 0x38], rsi
mov qword [rsi + 0xa8], rdx
mov rbp, qword [rsp + 0x98]
mov r10d, dword [rsp + 0x50]
mov rdi, qword [rsp + 0x108]
xor esi, esi
jmp 0x1800b652f
test dil, dil
je 0x1800b5cde
xor r8d, r8d
mov rdx, rbp
mov rcx, rbx
call fcn.18019f8f0
mov ebx, eax
test eax, eax
js 0x1800b66da
mov rbx, qword [rsp + 0x100]
mov ecx, dword [rsp + 0x120]
mov rax, qword [rbp]
lea r9, [rsp + 0x90]
mov r8b, 1
mov qword [rsp + 0x90], rax
mov rdx, qword [rbp + 0x28]
xor ebp, ebp
mov rdx, qword [rdx]
mov qword [rsp + 0x48], rbp
mov byte [rsp + 0x40], bpl
mov qword [rsp + 0x38], 0xffffffffffffffff
mov byte [rsp + 0x30], bpl
mov byte [rsp + 0x28], dil
mov dword [rsp + 0x20], ecx
mov rcx, rbx
call fcn.1800b5450
mov ebx, eax
test eax, eax
js 0x1800b66da
test dil, dil
je 0x1800b5e6e
cmp dword [rsp + 0x6c], 0x12b00000
jne 0x1800b5e6e
mov rax, qword [rsp + 0x100]
lea rdx, [rsp + 0xb8]
xor r9d, r9d
mov r8, qword [rax + 0xd0c0]
mov rcx, rax
mov dword [rsp + 0x28], 0x11
mov dword [rsp + 0x20], ebp
call fcn.18019f030
mov ebx, eax
test eax, eax
js 0x1800b66da
mov rbp, qword [rsp + 0xb8]
mov ecx, 0x80
mov byte [rbp + 0x68], 0
mov byte [rbp + 0x69], 0
mov qword [rbp + 0x60], 0xffffffffffffffff
call fcn.180197940
mov rdi, rax
test rax, rax
je 0x1800b6574
mov qword [rax], 0xffffffffffffffff
mov qword [rax + 8], 0xffffffffffffffff
xor eax, eax
lea r9d, [rax + 1]
xor r8d, r8d
mov edx, 0x94b00001
mov rcx, rdi
mov dword [rdi + 0x10], eax
mov dword [rdi + 0x20], eax
mov dword [rdi + 0x30], 0xffffffff
mov dword [rdi + 0x78], eax
mov qword [rdi + 0x18], rax
mov word [rdi + 0x7c], ax
mov qword [rdi + 0x28], rax
mov word [rdi + 0x7e], ax
mov dword [rdi + 0x38], eax
mov dword [rdi + 0x3c], eax
mov dword [rdi + 0x40], eax
mov qword [rdi + 0x48], 0xffffffffffffffff
mov dword [rdi + 0x50], eax
mov dword [rdi + 0x68], eax
mov qword [rdi + 0x70], rax
mov byte [rsp + 0x20], al
call fcn.180193d40
mov ebx, eax
test eax, eax
js 0x1800b654f
mov rcx, qword [rsp + 0x58]
mov rdx, rdi
mov eax, dword [rcx + 0x68]
mov dword [rdi + 0x68], eax
mov rax, qword [rcx + 0x70]
mov rcx, qword [rsp + 0x100]
mov qword [rdi + 0x70], rax
mov rax, qword [rdi + 0x28]
mov qword [rax], rbp
mov rax, qword [rsp + 0x108]
mov qword [rbp + 0xd0], rax
mov al, byte [rsp + 0x110]
mov byte [rbp + 0xd8], al
call fcn.1800c5bb0
mov ebx, eax
test eax, eax
js 0x1800b654f
xor ebp, ebp
mov rbx, qword [rsp + 0x100]
mov rcx, qword [rsi + 0xa8]
mov rdx, qword [rbx + 0xd038]
cmp rcx, rdx
je 0x1800b5ef2
test rcx, rcx
je 0x1800b5ebf
cmp rcx, 0xffffffffffffffff
je 0x1800b5ebf
mov r8, qword [rsi + 8]
mov rax, qword [rsi]
test r8, r8
je 0x1800b5ea5
mov qword [r8], rax
jmp 0x1800b5ea9
mov qword [rcx + 0x30], rax
mov r8, qword [rsi]
mov rax, qword [rsi + 8]
test r8, r8
je 0x1800b5ebb
mov qword [r8 + 8], rax
jmp 0x1800b5ebf
mov qword [rcx + 0x38], rax
test rdx, rdx
je 0x1800b5eeb
cmp rdx, 0xffffffffffffffff
je 0x1800b5eeb
mov rax, qword [rdx + 0x38]
mov qword [rsi + 8], rax
mov rax, qword [rdx + 0x38]
test rax, rax
je 0x1800b5ee0
mov qword [rax], rsi
jmp 0x1800b5ee4
mov qword [rdx + 0x30], rsi
mov qword [rsi], rbp
mov qword [rdx + 0x38], rsi
mov qword [rsi + 0xa8], rdx
mov rbp, qword [rsp + 0x90]
mov r10d, dword [rsp + 0x50]
mov rdi, qword [rsp + 0x108]
xor esi, esi
jmp 0x1800b652f
cmp r9d, 1
jne 0x1800b6587
test dil, dil
je 0x1800b5f60
movzx r8d, r9b
mov rdx, rbp
mov rcx, rbx
call fcn.1800b47c0
mov rdi, rax
test rax, rax
je 0x1800b654a
mov rdx, rax
mov rcx, rbx
call fcn.1800c5bb0
mov ebx, eax
test eax, eax
js 0x1800b654f
mov edi, dword [rsp + 0x64]
mov rbx, qword [rsp + 0x100]
mov ecx, dword [rsp + 0x120]
mov rax, qword [rbp]
lea r9, [rsp + 0x78]
mov r8b, 1
mov qword [rsp + 0x78], rax
mov rdx, qword [rbp + 0x28]
xor eax, eax
mov rdx, qword [rdx]
mov qword [rsp + 0x48], rax
mov byte [rsp + 0x40], al
mov qword [rsp + 0x38], 0xffffffffffffffff
mov byte [rsp + 0x30], al
mov byte [rsp + 0x28], dil
mov dword [rsp + 0x20], ecx
mov rcx, rbx
call fcn.1800b5450
mov ebx, eax
test eax, eax
js 0x1800b66da
test dil, dil
je 0x1800b5feb
mov rbx, qword [rsp + 0x100]
xor r8d, r8d
mov rdx, rbp
mov rcx, rbx
call fcn.1800b47c0
mov rdi, rax
test rax, rax
je 0x1800b654a
mov rdx, rax
mov rcx, rbx
call fcn.1800c5bb0
mov ebx, eax
test eax, eax
js 0x1800b654f
mov edi, dword [rsp + 0x64]
mov rax, qword [rbp]
lea r9, [rsp + 0x78]
xor r8d, r8d
mov qword [rsp + 0x78], rax
mov rdx, qword [rbp + 0x28]
mov rbp, qword [rsp + 0x100]
mov rdx, qword [rdx]
xor eax, eax
mov rcx, rbp
mov qword [rsp + 0x48], rax
mov byte [rsp + 0x40], al
mov qword [rsp + 0x38], 0xffffffffffffffff
mov byte [rsp + 0x30], al
mov eax, dword [rsp + 0x120]
mov byte [rsp + 0x28], dil
mov dword [rsp + 0x20], eax
call fcn.1800b5450
mov ebx, eax
test eax, eax
js 0x1800b66da
test dil, dil
je 0x1800b616c
mov r8, qword [rbp + 0xd0c0]
xor eax, eax
lea rdx, [rsp + 0xb0]
xor r9d, r9d
mov rcx, rbp
mov dword [rsp + 0x28], 0x11
mov dword [rsp + 0x20], eax
call fcn.18019f030
mov ebx, eax
test eax, eax
js 0x1800b66da
mov rbp, qword [rsp + 0xb0]
mov ecx, 0x80
mov byte [rbp + 0x68], 0
mov byte [rbp + 0x69], 0
mov qword [rbp + 0x60], 0xffffffffffffffff
call fcn.180197940
mov rdi, rax
test rax, rax
je 0x1800b6574
mov qword [rax], 0xffffffffffffffff
mov qword [rax + 8], 0xffffffffffffffff
xor eax, eax
lea r9d, [rax + 1]
xor r8d, r8d
mov edx, 0x92c00001
mov rcx, rdi
mov dword [rdi + 0x10], eax
mov dword [rdi + 0x20], eax
mov dword [rdi + 0x30], 0xffffffff
mov dword [rdi + 0x78], eax
mov qword [rdi + 0x18], rax
mov word [rdi + 0x7c], ax
mov qword [rdi + 0x28], rax
mov word [rdi + 0x7e], ax
mov dword [rdi + 0x38], eax
mov dword [rdi + 0x3c], eax
mov dword [rdi + 0x40], eax
mov qword [rdi + 0x48], 0xffffffffffffffff
mov dword [rdi + 0x50], eax
mov dword [rdi + 0x68], eax
mov qword [rdi + 0x70], rax
mov byte [rsp + 0x20], al
call fcn.180193d40
mov ebx, eax
test eax, eax
js 0x1800b654f
mov rcx, qword [rsp + 0x58]
mov rdx, rdi
mov eax, dword [rcx + 0x68]
mov dword [rdi + 0x68], eax
mov rax, qword [rcx + 0x70]
mov rcx, qword [rsp + 0x100]
mov qword [rdi + 0x70], rax
mov rax, qword [rdi + 0x28]
mov qword [rax], rbp
mov rax, qword [rsp + 0x108]
mov qword [rbp + 0xd0], rax
mov al, byte [rsp + 0x110]
mov byte [rbp + 0xd8], al
call fcn.1800c5bb0
mov ebx, eax
test eax, eax
js 0x1800b654f
mov rbx, qword [rsp + 0x100]
mov rcx, qword [rsi + 0xa8]
mov rdx, qword [rbx + 0xd038]
cmp rcx, rdx
je 0x1800b61f2
test rcx, rcx
je 0x1800b61bd
cmp rcx, 0xffffffffffffffff
je 0x1800b61bd
mov r8, qword [rsi + 8]
mov rax, qword [rsi]
test r8, r8
je 0x1800b61a3
mov qword [r8], rax
jmp 0x1800b61a7
mov qword [rcx + 0x30], rax
mov r8, qword [rsi]
mov rax, qword [rsi + 8]
test r8, r8
je 0x1800b61b9
mov qword [r8 + 8], rax
jmp 0x1800b61bd
mov qword [rcx + 0x38], rax
test rdx, rdx
je 0x1800b61eb
cmp rdx, 0xffffffffffffffff
je 0x1800b61eb
mov rax, qword [rdx + 0x38]
mov qword [rsi + 8], rax
mov rax, qword [rdx + 0x38]
test rax, rax
je 0x1800b61de
mov qword [rax], rsi
jmp 0x1800b61e2
mov qword [rdx + 0x30], rsi
xor eax, eax
mov qword [rsi], rax
mov qword [rdx + 0x38], rsi
mov qword [rsi + 0xa8], rdx
mov rbp, qword [rsp + 0x78]
mov r10d, dword [rsp + 0x50]
mov rdi, qword [rsp + 0x108]
xor esi, esi
jmp 0x1800b652f
cmp r8d, 0x23300000
je 0x1800b6233
cmp r8d, 0x12e00000
je 0x1800b6233
cmp r8d, 0x13000000
je 0x1800b6233
cmp r8d, 0x12900000
jne 0x1800b6599
test dl, dl
jne 0x1800b568b
mov rdx, qword [rbp + 0x18]
mov rcx, qword [rdx]
mov rax, rcx
cmp r8d, 0x23300000
jne 0x1800b6252
mov rax, qword [rdx + r9*8]
cmp qword [rcx + 0xd0], rdi
je 0x1800b6268
cmp qword [rax + 0xd0], rdi
jne 0x1800b6599
cmp byte [rsp + 0x60], 0
je 0x1800b568b
test r10b, r10b
jne 0x1800b62a0
cmp r8d, 0x23300000
je 0x1800b568b
mov rax, qword [rsp + 0x148]
test rax, rax
je 0x1800b568b
mov byte [rax], r10b
xor esi, esi
jmp 0x1800b652b
xor esi, esi
mov ebx, esi
test r9d, r9d
je 0x1800b6523
mov r8d, r9d
movabs rbp, 0x18044210028
nop word [rax + rax]
mov rax, qword [rdx]
mov rcx, qword [rax + 0xa8]
test qword [rcx + 0x10], rbp
jne 0x1800b62d2
inc ebx
add rdx, 8
sub r8, 1
jne 0x1800b62c0
mov rbp, qword [rsp + 0x58]
test ebx, ebx
je 0x1800b6523
mov ecx, 0x80
call fcn.180197940
mov rdi, rax
test rax, rax
je 0x1800b6347
mov qword [rax], 0xffffffffffffffff
mov qword [rax + 8], 0xffffffffffffffff
mov dword [rax + 0x10], esi
mov dword [rax + 0x20], esi
mov dword [rax + 0x30], 0xffffffff
mov dword [rax + 0x78], esi
mov qword [rax + 0x18], rsi
mov word [rax + 0x7c], si
mov qword [rax + 0x28], rsi
mov word [rax + 0x7e], si
mov dword [rax + 0x38], esi
mov dword [rax + 0x3c], esi
mov dword [rax + 0x40], esi
mov qword [rax + 0x48], 0xffffffffffffffff
mov dword [rax + 0x50], esi
mov dword [rax + 0x68], esi
mov qword [rax + 0x70], rsi
jmp 0x1800b634a
mov rdi, rsi
test rdi, rdi
je 0x1800b6574
mov edx, ebx
mov r9d, ebx
mov r8d, ebx
and edx, 0xfffff
mov rcx, rdi
mov byte [rsp + 0x20], sil
bts edx, 0x1c
call fcn.180193d40
mov ebx, eax
test eax, eax
js 0x1800b6551
mov eax, dword [rbp + 0x68]
mov rsi, qword [rsp + 0x100]
mov rdx, rdi
mov dword [rdi + 0x68], eax
mov rax, qword [rbp + 0x70]
mov rcx, rsi
mov qword [rdi + 0x70], rax
call fcn.1800c5bb0
mov ebx, eax
test eax, eax
js 0x1800b654f
movsxd rax, dword [rsp + 0x68]
mov r8, qword [rsp + 0x58]
xor r10d, r10d
lea rdx, [rax*8]
mov r9d, r10d
mov dword [rsp + 0x64], r10d
mov qword [rsp + 0x88], r10
mov rbp, r10
mov qword [rsp + 0x80], rdx
nop word [rax + rax]
mov rax, qword [r8 + 0x18]
mov rcx, qword [rax + rbp]
mov rax, qword [rcx + 0xa8]
movabs rcx, 0x18044210028
test qword [rax + 0x10], rcx
jne 0x1800b64ec
mov r8, qword [rsi + 0xd078]
lea rdx, [rsp + 0xc0]
xor r9d, r9d
mov rcx, rsi
mov dword [rsp + 0x28], 0x11
mov dword [rsp + 0x20], r10d
call fcn.18019f030
mov ebx, eax
test eax, eax
js 0x1800b66da
mov rcx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0xc0]
mov rax, qword [rcx + 0x28]
mov rcx, rsi
mov rdx, qword [rax + rbp]
call fcn.1801994e0
mov ebx, eax
test eax, eax
js 0x1800b66da
mov rax, qword [rdi + 0x28]
mov rdx, qword [rsp + 0x88]
mov r8, qword [rsp + 0x58]
mov qword [rdx + rax], rsi
mov rax, qword [r8 + 0x18]
mov rcx, qword [rax + rbp]
mov rax, qword [rsp + 0x108]
mov qword [rsi + 0xd0], rax
mov al, byte [rsp + 0x110]
mov byte [rsi + 0xd8], al
cmp byte [rcx + 0xd8], al
je 0x1800b64b8
cmp dword [rsp + 0x6c], 0x23300000
jne 0x1800b64b8
mov rax, qword [r8 + 0x18]
mov r9, qword [rsp + 0x80]
mov rax, qword [r9 + rax]
jmp 0x1800b64c0
mov rax, qword [r8 + 0x18]
mov rax, qword [rax + rbp]
mov rcx, qword [rdi + 0x18]
mov r9d, dword [rsp + 0x64]
mov rsi, qword [rsp + 0x100]
mov qword [rdx + rcx], rax
add rdx, 8
xor r10d, r10d
mov qword [rsp + 0x88], rdx
mov rdx, qword [rsp + 0x80]
inc r9d
add rdx, 8
add rbp, 8
mov dword [rsp + 0x64], r9d
mov qword [rsp + 0x80], rdx
cmp r9d, dword [rsp + 0x68]
jb 0x1800b63e0
mov rbp, qword [rsp + 0x58]
mov r10d, dword [rsp + 0x50]
mov rdi, qword [rsp + 0x108]
xor esi, esi
mov rbx, qword [rsp + 0x100]
mov rbp, qword [rbp]
mov qword [rsp + 0x58], rbp
test rbp, rbp
je 0x1800b66d8
mov r11b, byte [rsp + 0x110]
jmp 0x1800b54ae
mov ebx, 0x8007000e
xor esi, esi
test rdi, rdi
je 0x1800b66da
cmp word [rdi + 0x7c], 0
je 0x1800b65f2
mov ecx, dword [0x18025e63c]
test ecx, ecx
jns 0x1800b65b4
mov rax, rsi
jmp 0x1800b65ba
mov ebx, 0x8007000e
mov eax, ebx
add rsp, 0xd8
pop rdi
pop rsi
pop rbp
pop rbx
ret
lea r9, [0x18003cd48]
mov r8d, 0x12e0
jmp 0x1800b66b9
mov rax, qword [rsp + 0x118]
mov qword [rax], rbp
xor eax, eax
mov ebx, eax
add rsp, 0xd8
pop rdi
pop rsi
pop rbp
pop rbx
ret
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
movzx ecx, word [rdi + 0x7c]
cmp ecx, dword [rax + 0x250]
ja 0x1800b65ea
mov r8, qword [rdi + 0x18]
dec ecx
movsxd rdx, ecx
shl rdx, 5
add rdx, qword [rax + 0x248]
test r8, r8
je 0x1800b65ea
mov rax, qword [rdx + 8]
mov qword [r8], rax
mov qword [rdx + 8], r8
mov word [rdi + 0x7c], si
mov qword [rdi + 0x18], rsi
cmp word [rdi + 0x7e], 0
je 0x1800b6646
mov ecx, dword [0x18025e63c]
test ecx, ecx
jns 0x1800b6608
mov rax, rsi
jmp 0x1800b660e
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
movzx ecx, word [rdi + 0x7e]
cmp ecx, dword [rax + 0x250]
ja 0x1800b663e
mov r8, qword [rdi + 0x28]
dec ecx
movsxd rdx, ecx
shl rdx, 5
add rdx, qword [rax + 0x248]
test r8, r8
je 0x1800b663e
mov rax, qword [rdx + 8]
mov qword [r8], rax
mov qword [rdx + 8], r8
mov word [rdi + 0x7e], si
mov qword [rdi + 0x28], rsi
mov ecx, dword [0x18025e63c]
test ecx, ecx
js 0x1800b66da
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rsi, rax
test rax, rax
je 0x1800b66da
mov edx, 0xfe
mov rcx, rdi
lea r8d, [rdx - 0x7e]
call fcn.18024adb8
xor eax, eax
mov qword [rdi], rax
mov rax, qword [rsi + 0x38]
test rax, rax
je 0x1800b6696
mov qword [rax], rdi
mov qword [rsi + 0x38], rdi
mov eax, ebx
add rsp, 0xd8
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov qword [rsi + 0x30], rdi
mov qword [rsi + 0x38], rdi
mov eax, ebx
add rsp, 0xd8
pop rdi
pop rsi
pop rbp
pop rbx
ret
lea r9, [0x18003cd18]
mov r8d, 0x12df
mov rdx, qword [rbp + 0x70]
mov rcx, rbx
call fcn.18019df20
mov ebx, 0x80004005
mov eax, ebx
add rsp, 0xd8
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov ebx, esi
mov eax, ebx
add rsp, 0xd8
pop rdi
pop rsi
pop rbp
pop rbx
ret