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

Disassembly:
mov rax, rsp
mov qword [rax + 8], rcx
push rsi
push rdi
sub rsp, 0x168
mov qword [rax - 0x20], rbp
xor ebp, ebp
test byte [rcx + 0xcefb], 0x10
mov qword [rax - 0x28], r12
mov qword [rax - 0x30], r13
mov qword [rax - 0x38], r14
mov qword [rax - 0x40], r15
lea edi, [rbp + 1]
mov r12, rcx
movaps xmmword [rax - 0x58], xmm6
mov r15, rbp
mov qword [rsp + 0xc0], 0xffffffffffffffff
mov qword [rsp + 0x68], rbp
mov qword [rsp + 0x70], rbp
mov r13, rbp
mov qword [rsp + 0xa0], rbp
mov r14d, ebp
mov dword [rsp + 0xb0], ebp
je 0x1801a9fc7
test byte [rcx + 0xcef8], 8
jne 0x1801a9fc7
mov rax, qword [rcx]
mov r9, qword [rcx + 0xd070]
lea edx, [rbp + 0x20]
movabs r8, 0x1804c632418
mov byte [rsp + 0x20], bpl
call qword [rax + 0x68]
mov esi, eax
test eax, eax
js 0x1801ac060
mov rax, qword [r12]
mov r9, qword [r12 + 0xd068]
lea edx, [rbp + 0x10]
movabs r8, 0x20180cc732628
mov rcx, r12
mov byte [rsp + 0x20], bpl
call qword [rax + 0x68]
mov esi, eax
test eax, eax
js 0x1801ac060
test byte [r12 + 0xcefb], 0x20
mov qword [rsp + 0x160], rbx
je 0x1801aa0fe
mov rcx, r12
call fcn.1801a9e40
mov ecx, dword [r12 + 8]
mov ebx, ebp
test ecx, ecx
je 0x1801a9ffe
mov rax, qword [r12 + 0xce48]
mov rdi, qword [rax]
jmp 0x1801aa001
mov rdi, rbp
test ecx, ecx
je 0x1801aa0fe
nop dword [rax]
test byte [rdi + 0x10], 1
je 0x1801aa0d5
cmp dword [rdi + 0x30], r13d
jbe 0x1801aa0d5
mov rdx, qword [r12 + 0xd048]
lea r8, [rsp + 0x188]
mov rcx, r12
call fcn.18019f710
mov esi, eax
test eax, eax
js 0x1801ac04c
mov rdx, qword [r12 + 0xd048]
lea r8, [rsp + 0x190]
mov rcx, r12
call fcn.18019f710
mov esi, eax
test eax, eax
js 0x1801ac045
mov r9, qword [rsp + 0x188]
mov rbp, qword [rsp + 0x190]
movabs r8, 0x206002822580
mov qword [r9 + 0x20], rdi
mov qword [rbp + 0x20], rdi
mov rax, qword [r12]
mov edx, 0x200
mov rcx, r12
mov qword [rsp + 0x20], rdi
call qword [rax + 0x70]
mov esi, eax
test eax, eax
js 0x1801abfd2
mov rax, qword [r12]
mov r9, rbp
movabs r8, 0x206002822180
mov edx, 0x600
mov rcx, r12
mov qword [rsp + 0x20], rdi
call qword [rax + 0x70]
mov esi, eax
test eax, eax
js 0x1801abfd2
xor ebp, ebp
mov eax, dword [r12 + 8]
inc ebx
cmp ebx, eax
jb 0x1801aa0e7
mov rdi, rbp
mov ebx, eax
jmp 0x1801aa0f3
mov rax, qword [r12 + 0xce48]
mov rdi, qword [rax + rbx*8]
cmp ebx, dword [r12 + 8]
jb 0x1801aa010
mov rcx, r12
call fcn.1801b3770
mov rax, qword [r12 + 0xd078]
mov edi, ebp
mov rcx, qword [rax + 0x30]
mov dword [rsp + 0x190], ebp
test rcx, rcx
je 0x1801aa13c
mov eax, dword [rcx + 0xc8]
cmp eax, edi
jb 0x1801aa12d
lea edi, [rax + 1]
mov rcx, qword [rcx]
test rcx, rcx
jne 0x1801aa120
mov dword [rsp + 0x190], edi
mov rax, qword [r12 + 0xd0f0]
mov edx, ebp
mov dword [rsp + 0x7c], edi
mov rcx, qword [rax + 0x30]
mov dword [rsp + 0x78], edx
test rcx, rcx
je 0x1801aa179
nop word [rax + rax]
mov eax, dword [rcx + 0xc8]
cmp eax, edx
jb 0x1801aa16d
lea edx, [rax + 1]
mov rcx, qword [rcx]
test rcx, rcx
jne 0x1801aa160
mov dword [rsp + 0x78], edx
mov eax, dword [r12 + 0x14]
lea ecx, [rdi + rax*8]
mov eax, 4
cmp ecx, 0x3ffffffd
jbe 0x1801aa195
mov esi, 0x80070216
jmp 0x1801aa1d2
lea r14d, [rcx*4]
lea rcx, [r12 + 0xd268]
test r14d, r14d
cmove r14d, eax
mov edx, r14d
mov dword [rsp + 0xb0], r14d
call fcn.1800c58b0
mov esi, 0x8007000e
test rax, rax
mov r13, rax
mov qword [rsp + 0xa0], rax
cmovne esi, ebp
test esi, esi
js 0x1801ac053
mov r8d, r14d
xor edx, edx
mov rcx, r13
call fcn.18024adb8
mov r11, qword [r12 + 0xd078]
mov r8, qword [r11 + 0x30]
test r8, r8
je 0x1801aa246
lea r10, [0x18002c3c0]
xor r11d, r11d
movsxd rax, dword [r8 + 0xa4]
mov r9d, dword [r8 + 0xcc]
mov edx, r11d
mov ecx, dword [r10 + rax*4]
and cl, 0xf
cmp cl, 4
mov ecx, dword [r8 + 0xc8]
sete dl
inc edx
add r9d, edx
cmp dword [r13 + rcx*4], r9d
jae 0x1801aa238
mov dword [r13 + rcx*4], r9d
mov byte [r8 + 0x48], r11b
mov r8, qword [r8]
test r8, r8
jne 0x1801aa202
jmp 0x1801aa249
xor r11d, r11d
mov r10, qword [r12 + 0x18]
mov qword [rsp + 0x50], r10
test r10, r10
je 0x1801aa265
mov rbx, qword [r10]
mov qword [rsp + 0x98], rbx
jmp 0x1801aa270
mov rbx, r11
mov qword [rsp + 0x98], rbx
test r10, r10
je 0x1801abe41
movsd xmm6, qword [0x180068590]
mov ecx, dword [r10 + 0x78]
mov eax, ecx
and eax, 0xfff00000
je 0x1801abe14
cmp eax, 0x21500000
ja 0x1801aa2db
cmp eax, 0x21500000
je 0x1801aa302
cmp eax, 0x21100000
ja 0x1801aa2c8
cmp eax, 0x21100000
je 0x1801aa302
cmp eax, 0x20000000
je 0x1801aa302
cmp eax, 0x20400000
je 0x1801aa302
cmp eax, 0x21000000
je 0x1801aa302
jmp 0x1801aa5bc
cmp eax, 0x21300000
je 0x1801aa302
cmp eax, 0x21400000
je 0x1801aa302
jmp 0x1801aa5bc
cmp eax, 0x21700000
je 0x1801aa302
cmp eax, 0x22d00000
je 0x1801aa302
cmp eax, 0x22e00000
je 0x1801aa302
cmp eax, 0x22f00000
je 0x1801aa302
cmp eax, 0x50000000
jne 0x1801aa5bc
mov r8d, ecx
shr r8d, 0x1c
cmp r8d, 0xa
jne 0x1801aa334
cmp eax, 0xa1300000
je 0x1801aa32b
cmp eax, 0xa1400000
je 0x1801aa32b
mov edx, ecx
lea esi, [r8 - 9]
and edx, 0xfffff
jmp 0x1801aa35a
mov esi, 1
mov edx, esi
jmp 0x1801aa35a
cmp eax, 0x68700000
je 0x1801aa351
cmp eax, 0x68800000
je 0x1801aa351
mov edx, ecx
mov esi, 1
and edx, 0xfffff
jmp 0x1801aa35a
mov edx, dword [r10 + 0x10]
mov esi, 1
mov r9d, dword [r10 + 0x10]
cmp edx, r9d
jbe 0x1801aa36b
mov r13, r11
mov edx, r11d
jmp 0x1801aa36f
mov r13, qword [r10 + 0x18]
cmp r8d, 0xa
jne 0x1801aa38f
cmp eax, 0xa1300000
je 0x1801aa38b
cmp eax, 0xa1400000
je 0x1801aa38b
and ecx, 0xfffff
jmp 0x1801aa3a8
mov ecx, esi
jmp 0x1801aa3a8
cmp eax, 0x68700000
je 0x1801aa3a5
cmp eax, 0x68800000
je 0x1801aa3a5
and ecx, 0xfffff
jmp 0x1801aa3a8
mov rcx, r9
lea eax, [rcx + rcx]
cmp eax, r9d
jbe 0x1801aa3b5
mov rbp, r11
jmp 0x1801aa3bd
mov rax, qword [r10 + 0x18]
lea rbp, [rax + rcx*8]
cmp edx, 1
jbe 0x1801aa5b4
mov rbx, qword [rsp + 0x180]
mov rsi, r13
lea rdi, [rbp + 8]
sub rsi, rbp
lea r12d, [rdx - 1]
nop dword [rax]
mov rax, qword [rdi]
cmp qword [rsi + rdi], rax
je 0x1801aa580
mov r10, qword [r13]
cmp r10, 0xffffffffffffffff
je 0x1801aa432
mov rax, qword [r10 + 0xa8]
mov ecx, dword [rax + 0x10]
shr rcx, 8
test cl, 1
je 0x1801aa432
mov eax, dword [r10 + 0x98]
shr rax, 0x18
test al, 1
je 0x1801aa432
cmp qword [r10 + 0xc0], 0xffffffffffffffff
jne 0x1801aa432
cmp qword [r10 + 0xb8], 0xffffffffffffffff
jne 0x1801aa432
mov r11b, 1
jmp 0x1801aa435
xor r11b, r11b
mov rdx, qword [rbp]
cmp rdx, 0xffffffffffffffff
je 0x1801aa479
mov rax, qword [rdx + 0xa8]
mov ecx, dword [rax + 0x10]
shr rcx, 8
test cl, 1
je 0x1801aa479
mov eax, dword [rdx + 0x98]
shr rax, 0x18
test al, 1
je 0x1801aa479
cmp qword [rdx + 0xc0], 0xffffffffffffffff
jne 0x1801aa479
cmp qword [rdx + 0xb8], 0xffffffffffffffff
jne 0x1801aa479
mov r9b, 1
jmp 0x1801aa47c
xor r9b, r9b
mov rdx, qword [rsi + rdi]
cmp rdx, 0xffffffffffffffff
je 0x1801aa4bf
mov rax, qword [rdx + 0xa8]
mov ecx, dword [rax + 0x10]
shr rcx, 8
test cl, 1
je 0x1801aa4bf
mov eax, dword [rdx + 0x98]
shr rax, 0x18
test al, 1
je 0x1801aa4bf
cmp qword [rdx + 0xc0], 0xffffffffffffffff
jne 0x1801aa4bf
cmp qword [rdx + 0xb8], 0xffffffffffffffff
jne 0x1801aa4bf
mov dl, 1
jmp 0x1801aa4c1
xor dl, dl
mov r8, qword [rdi]
cmp r8, 0xffffffffffffffff
je 0x1801aa504
mov rax, qword [r8 + 0xa8]
mov ecx, dword [rax + 0x10]
shr rcx, 8
test cl, 1
je 0x1801aa504
mov eax, dword [r8 + 0x98]
shr rax, 0x18
test al, 1
je 0x1801aa504
cmp qword [r8 + 0xc0], 0xffffffffffffffff
jne 0x1801aa504
cmp qword [r8 + 0xb8], 0xffffffffffffffff
jne 0x1801aa504
mov al, 1
jmp 0x1801aa506
xor al, al
test dl, dl
je 0x1801aa50e
test al, al
jne 0x1801aa580
test r11b, r11b
je 0x1801aa51b
test dl, dl
jne 0x1801aa51b
test al, al
jne 0x1801aa572
test r9b, r9b
je 0x1801aa528
test dl, dl
je 0x1801aa528
test al, al
je 0x1801aa572
mov rdx, r10
mov rcx, rbx
call fcn.1801e9480
test al, al
je 0x1801aa580
mov r8, qword [rsi + rdi]
mov rdx, qword [r13]
mov rcx, rbx
call fcn.1801e9480
test al, al
jne 0x1801aa580
mov r8, qword [rsi + rdi]
mov rdx, qword [rbp]
mov rcx, rbx
call fcn.1801e9480
test al, al
je 0x1801aa580
mov r8, qword [rdi]
mov rdx, qword [rbp]
mov rcx, rbx
call fcn.1801e9480
test al, al
jne 0x1801aa580
mov rax, qword [rdi]
mov rcx, qword [rsi + rdi]
mov qword [rsi + rdi], rax
mov qword [rdi], rcx
add rdi, 8
sub r12, 1
jne 0x1801aa3e0
mov rbx, qword [rsp + 0x98]
mov r10, qword [rsp + 0x50]
mov r12, qword [rsp + 0x180]
mov edi, dword [rsp + 0x190]
mov r13, qword [rsp + 0xa0]
jmp 0x1801aa5bc
mov r13, qword [rsp + 0xa0]
mov eax, dword [r10 + 0x78]
mov sil, 1
mov dword [rsp + 0x188], eax
and eax, 0xfff00000
cmp eax, 0x50500000
je 0x1801aa7a5
cmp eax, 0x50600000
je 0x1801aa7a5
cmp eax, 0x50700000
je 0x1801aa7a5
cmp eax, 0x50800000
je 0x1801aa7a5
cmp eax, 0x50900000
je 0x1801aa7a5
cmp eax, 0x70000000
je 0x1801aa7a5
cmp eax, 0x80200000
je 0x1801aa7a5
cmp eax, 0x80100000
je 0x1801aa7a5
xor ebx, ebx
mov edi, ebx
nop dword [rax + rax]
mov r8d, dword [r10 + 0x78]
mov eax, r8d
and eax, 0xf0000000
cmp eax, 0xa0000000
jne 0x1801aa66a
mov eax, r8d
and eax, 0xfff00000
cmp eax, 0xa1300000
je 0x1801aa662
cmp eax, 0xa1400000
je 0x1801aa662
and r8d, 0xfffff
jmp 0x1801aa68d
mov r8d, 1
jmp 0x1801aa68d
mov eax, r8d
and eax, 0xfff00000
cmp eax, 0x68700000
je 0x1801aa689
cmp eax, 0x68800000
je 0x1801aa689
and r8d, 0xfffff
jmp 0x1801aa68d
mov r8d, dword [r10 + 0x10]
mov ecx, r8d
imul ecx, edi
lea eax, [rcx + r8]
cmp eax, dword [r10 + 0x10]
ja 0x1801aa722
mov rax, qword [r10 + 0x18]
lea rdx, [rax + rcx*8]
test r8d, r8d
je 0x1801aa722
lea rax, [rsp + 0x68]
mov r9, r13
mov rcx, r12
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x38], 0xffffffff
lea rax, [rsp + 0x7c]
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], r10
mov qword [rsp + 0x20], rax
call fcn.1801e98b0
mov r15, qword [rsp + 0x68]
movzx esi, sil
test al, al
mov rcx, r15
cmove esi, ebx
test r15, r15
je 0x1801aa716
mov r10, qword [rsp + 0x50]
nop word [rax + rax]
mov eax, dword [r10 + 0x30]
mov dword [rcx + 0x30], eax
mov rcx, qword [rcx]
test rcx, rcx
jne 0x1801aa700
inc edi
jmp 0x1801aa630
mov r10, qword [rsp + 0x50]
inc edi
jmp 0x1801aa630
mov rbx, qword [rsp + 0x98]
test r15, r15
je 0x1801aa77f
xor edx, edx
mov rax, r15
mov ecx, edx
mov rax, qword [rax]
inc ecx
test rax, rax
jne 0x1801aa736
add dword [r12 + 0x14], ecx
mov rax, qword [r10 + 8]
mov qword [r15 + 8], rax
mov rax, qword [r10 + 8]
test rax, rax
je 0x1801aa75b
mov qword [rax], r15
jmp 0x1801aa760
mov qword [r12 + 0x18], r15
mov rax, qword [rsp + 0x70]
mov r15, rdx
mov qword [rsp + 0x68], rdx
mov qword [rax], r10
mov qword [r10 + 8], rax
or dword [r12 + 0x28], 7
mov qword [rsp + 0x70], rdx
test sil, sil
jne 0x1801aa7f7
mov eax, dword [r10 + 0x78]
mov ecx, eax
mov dword [rsp + 0x188], eax
call fcn.180243184
test al, al
jne 0x1801aa7f7
mov edi, dword [rsp + 0x7c]
mov dword [rsp + 0x190], edi
mov r15d, dword [rsp + 0x188]
xor esi, esi
mov eax, r15d
mov dword [rsp + 0x58], esi
mov r14, rsi
and eax, 0xf0000000
mov qword [rsp + 0xd0], rsi
cmp eax, 0xa0000000
jne 0x1801aa81a
mov ecx, r15d
and ecx, 0xfff00000
cmp ecx, 0xa1300000
je 0x1801aa80a
cmp ecx, 0xa1400000
je 0x1801aa80a
and r15d, 0xfffff
mov dword [rsp + 0x188], r15d
jmp 0x1801aa850
mov edi, dword [rsp + 0x7c]
xor r11d, r11d
mov dword [rsp + 0x190], edi
jmp 0x1801abe14
mov r15d, 1
mov dword [rsp + 0x188], r15d
jmp 0x1801aa850
mov ecx, r15d
and ecx, 0xfff00000
cmp ecx, 0x68700000
je 0x1801aa844
cmp ecx, 0x68800000
je 0x1801aa844
and r15d, 0xfffff
mov dword [rsp + 0x188], r15d
jmp 0x1801aa850
mov r15d, dword [r10 + 0x10]
mov dword [rsp + 0x188], r15d
mov eax, dword [r10 + 0x10]
cmp r15d, eax
jbe 0x1801aa8eb
mov r15d, esi
mov dword [rsp + 0x188], esi
mov dword [rsp + 0x80], esi
xor eax, eax
mov byte [rsp + 0x90], sil
mov qword [rsp + 0x88], 0xffffffffffffffff
mov word [rsp + 0x91], ax
mov byte [rsp + 0x93], al
mov rax, qword [r10 + 0x28]
mov rax, qword [rax]
mov qword [rsp + 0xa8], rax
cmp ecx, 0x50500000
je 0x1801aa905
cmp ecx, 0x50600000
je 0x1801aa905
cmp ecx, 0x50700000
je 0x1801aa905
cmp ecx, 0x50800000
je 0x1801aa905
cmp ecx, 0x50900000
je 0x1801aa905
cmp ecx, 0x70000000
je 0x1801aa905
cmp ecx, 0x80200000
jne 0x1801aa919
mov rax, qword [r10 + 0x18]
mov rax, qword [rax]
mov qword [rsp + 0x88], rax
jmp 0x1801aa919
test r15d, r15d
je 0x1801aa867
xor edx, edx
div r15d
mov dword [rsp + 0x80], eax
jmp 0x1801aa86e
mov rax, qword [r10 + 0x18]
lea ecx, [r15 + r15]
mov rax, qword [rax + rcx*8]
mov qword [rsp + 0x88], rax
mov edx, r15d
movsxd rbp, r15d
mov r13d, esi
mov dword [rsp + 0x84], esi
mov r12, rsi
mov qword [rsp + 0xb8], rsi
mov dword [rsp + 0x198], edx
mov qword [rsp + 0xc8], rbp
test r15d, r15d
je 0x1801abdcc
nop dword [rax]
cmp byte [rsp + r12 + 0x90], 0
lea r12, [rsp + r12 + 0x90]
mov qword [rsp + 0xe8], r12
jne 0x1801ab2b7
mov ecx, esi
mov rdi, rsi
mov qword [rsp + 0xd8], rsi
mov dword [rsp + 0x94], ecx
cmp r13d, r15d
jae 0x1801aaa91
mov r13, qword [rsp + 0xb8]
mov ebx, dword [rsp + 0x80]
mov r14d, r15d
shl r13, 3
sub r14d, dword [rsp + 0x84]
mov qword [rsp + 0xe0], r14
mov rbp, r13
cmp byte [r12], 0
jne 0x1801aaa53
test ebx, ebx
je 0x1801aaa2c
mov r14, qword [rsp + 0x50]
mov r12, qword [rsp + 0x180]
xor edi, edi
nop word [rax + rax]
mov rax, qword [r14 + 0x18]
mov rcx, r12
lea rdx, [rax + rdi*8]
mov r8, qword [rdx + rbp]
mov rdx, qword [r13 + rdx]
call fcn.1801ff210
test al, al
je 0x1801aaa06
inc esi
add edi, r15d
cmp esi, ebx
jb 0x1801aa9e0
mov r12, qword [rsp + 0xe8]
mov r14, qword [rsp + 0xe0]
mov rdi, qword [rsp + 0xd8]
mov ecx, dword [rsp + 0x94]
mov edx, dword [rsp + 0x198]
cmp esi, ebx
jne 0x1801aaa51
dec edx
inc ecx
inc rdi
mov dword [rsp + 0x198], edx
mov dword [rsp + 0x94], ecx
mov qword [rsp + 0xd8], rdi
xor esi, esi
jmp 0x1801aaa53
xor esi, esi
inc r12
add rbp, 8
sub r14, 1
mov qword [rsp + 0xe0], r14
mov qword [rsp + 0xe8], r12
jne 0x1801aa9b5
mov rbx, qword [rsp + 0x98]
mov r10, qword [rsp + 0x50]
mov r13d, dword [rsp + 0x84]
mov rbp, qword [rsp + 0xc8]
mov eax, dword [r10 + 0x78]
mov r12, qword [rsp + 0x180]
lea rdx, [rsp + 0xf0]
and eax, 0xfff00000
mov r9, r10
mov r8d, eax
xor r8d, ecx
mov rcx, r12
and r8d, 0xfffff
xor r8d, eax
lea rax, [rsp + 0x68]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 0xffffffff
mov dword [rsp + 0x20], 0xffffffff
call fcn.18019f360
mov esi, eax
test eax, eax
js 0x1801ac03e
mov r10, qword [rsp + 0x50]
mov r15, qword [rsp + 0xf0]
movsxd r14, dword [rsp + 0x188]
mov eax, dword [r10 + 0x30]
mov dword [r15 + 0x30], eax
cmp r14d, r13d
jbe 0x1801aad03
mov ebx, dword [rsp + 0x188]
shl rbp, 3
lea r13, [rsp + r14 + 0x90]
sub r14d, dword [rsp + 0x84]
lea r12, [rdi*8 - 8]
dec r13
sub rbp, 8
cmp byte [r13], 0
mov qword [rsp + 0xe0], r13
jne 0x1801aacd1
xor eax, eax
mov esi, eax
cmp dword [rsp + 0x80], eax
jbe 0x1801aac14
mov edi, eax
nop
mov rax, qword [r10 + 0x18]
mov ecx, edi
lea rdx, [rax + rcx*8]
mov rax, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x180]
mov r8, qword [rdx + rbp]
mov rdx, qword [rdx + rax*8]
call fcn.1801ff210
test al, al
je 0x1801aaba1
mov eax, dword [rsp + 0x80]
mov r10, qword [rsp + 0x50]
inc esi
add edi, ebx
cmp esi, eax
jb 0x1801aab60
jmp 0x1801aabb0
mov eax, dword [rsp + 0x80]
cmp esi, eax
jb 0x1801aaccc
mov rdi, qword [rsp + 0x50]
mov r13d, dword [rsp + 0x94]
xor ecx, ecx
mov r9d, ecx
mov r10d, ecx
mov r11d, eax
nop dword [rax + rax]
mov rax, qword [rdi + 0x18]
mov ecx, r10d
add r10d, ebx
lea r8, [rax + rcx*8]
mov rax, qword [r15 + 0x18]
mov ecx, r9d
lea rdx, [rax + rcx*8]
mov rax, qword [r8 + rbp]
add r9d, r13d
sub r11, 1
mov qword [rdx + r12], rax
jne 0x1801aabd0
mov r13, qword [rsp + 0xe0]
mov rdi, qword [rsp + 0xd8]
mov r10, qword [rsp + 0x50]
mov byte [r13], 1
mov ecx, dword [r10 + 0x78]
mov eax, ecx
and eax, 0xfff00000
cmp eax, 0x80200000
jne 0x1801aac40
mov rax, qword [r15 + 0x18]
mov rcx, qword [rsp + 0x88]
sub r12, 8
mov qword [rax + r12 + 8], rcx
jmp 0x1801aacd1
cmp eax, 0x50500000
je 0x1801aacaf
cmp eax, 0x50600000
je 0x1801aacaf
cmp eax, 0x50700000
je 0x1801aacaf
cmp eax, 0x50800000
je 0x1801aacaf
cmp eax, 0x50900000
je 0x1801aacaf
cmp eax, 0x70000000
je 0x1801aacaf
shr ecx, 0x1c
cmp ecx, 1
je 0x1801aac88
cmp ecx, 2
je 0x1801aac88
cmp ecx, 3
je 0x1801aac88
cmp ecx, 4
je 0x1801aac88
cmp eax, 0x80100000
jne 0x1801aacc6
mov rax, qword [r10 + 0x28]
mov rcx, qword [r15 + 0x28]
sub r12, 8
mov rax, qword [rax + rbp]
mov qword [r12 + rcx + 8], rax
mov rax, qword [r15 + 0x28]
mov rcx, qword [r12 + rax + 8]
mov qword [rcx + 0x100], r15
jmp 0x1801aacd1
mov rcx, qword [rsp + 0x88]
mov rax, rdi
shl rax, 4
add rax, qword [r15 + 0x18]
mov qword [rax + r12], rcx
sub r12, 8
jmp 0x1801aacd1
mov r10, qword [rsp + 0x50]
sub r14, 1
mov rdi, qword [rsp + 0xd8]
jne 0x1801aab32
mov rbx, qword [rsp + 0x98]
mov r14d, dword [rsp + 0x188]
mov r13d, dword [rsp + 0x84]
mov r12, qword [rsp + 0x180]
mov eax, dword [r10 + 0x78]
and eax, 0xfff00000
cmp eax, 0x80200000
jne 0x1801aaf1d
mov edx, dword [rsp + 0x198]
test edx, edx
je 0x1801aaf09
mov rbp, qword [rsp + 0xa8]
mov ecx, dword [0x18025e63c]
mov rsi, qword [rbp + 0xa8]
test ecx, ecx
jns 0x1801aad46
xor edx, edx
mov rcx, rdx
jmp 0x1801aad51
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
xor edx, edx
mov rcx, rax
cmp qword [rcx + 0x18], 0
je 0x1801aad85
mov rdi, qword [rcx + 0x18]
test rdi, rdi
jne 0x1801aad66
mov rdi, rdx
jmp 0x1801aad9c
mov rax, qword [rdi]
mov qword [rcx + 0x18], rax
test rax, rax
jne 0x1801aad76
mov qword [rcx + 0x20], rdx
movabs rax, 0xfefefefefefefefe
mov qword [rdi], rax
jmp 0x1801aad9c
mov rcx, qword [rcx + 0x10]
mov edx, 0x188
mov r8d, 0x10
call fcn.180243b70
mov rdi, rax
test rdi, rdi
je 0x1801aaec1
xor eax, eax
xor r9d, r9d
xor r8d, r8d
mov rdx, rsi
mov rcx, rdi
mov dword [rdi + 0xa0], 0xffffffff
mov qword [rdi], rax
mov qword [rdi + 8], rax
mov qword [rdi + 0x78], rax
mov qword [rdi + 0x80], rax
mov qword [rdi + 0x88], rax
mov qword [rdi + 0x90], rax
mov qword [rdi + 0x40], rax
mov qword [rdi + 0xa8], 0xffffffffffffffff
call fcn.1801992b0
mov esi, eax
test eax, eax
js 0x1801aae4f
call fcn.18019c4f0
test al, al
je 0x1801aae0b
or qword [rdi + 0x98], 0x20000
mov rax, qword [rdi + 0xa8]
mov rcx, qword [rax + 0x10]
test cl, 0x10
je 0x1801aae2a
bt rcx, 0x15
jae 0x1801aae2a
or qword [rdi + 0x98], 0x10
mov eax, dword [r12 + 0x10]
mov rcx, rdi
mov dword [rdi + 0xa0], eax
inc dword [r12 + 0x10]
or dword [r12 + 0x28], 4
xor esi, esi
mov qword [rsp + 0x88], rcx
jmp 0x1801aaece
call fcn.1801991c0
mov ecx, dword [0x18025e63c]
test ecx, ecx
jns 0x1801aae62
xor ebp, ebp
jmp 0x1801aae6b
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rbp, rax
mov edx, 0xfe
mov r8d, 0x188
mov rcx, rdi
call fcn.18024adb8
mov qword [rdi], 0
mov rax, qword [rbp + 0x20]
test rax, rax
je 0x1801aaea7
mov rcx, qword [rsp + 0x88]
mov qword [rax], rdi
mov qword [rbp + 0x20], rdi
mov rbp, qword [rsp + 0xa8]
jmp 0x1801aaece
mov rcx, qword [rsp + 0x88]
mov qword [rbp + 0x18], rdi
mov qword [rbp + 0x20], rdi
mov rbp, qword [rsp + 0xa8]
jmp 0x1801aaece
mov rcx, qword [rsp + 0x88]
mov esi, 0x8007000e
test esi, esi
js 0x1801ac037
mov rax, qword [r15 + 0x28]
mov r10, qword [rsp + 0x50]
mov edx, dword [rsp + 0x198]
mov qword [rax], rcx
mov rax, qword [rbp + 0xd0]
mov qword [rcx + 0xd0], rax
movzx eax, byte [rbp + 0xd8]
mov byte [rcx + 0xd8], al
jmp 0x1801ab144
mov rax, qword [r15 + 0x28]
mov rcx, qword [rsp + 0xa8]
mov qword [rax], rcx
jmp 0x1801ab144
cmp eax, 0x50500000
je 0x1801aaf4b
cmp eax, 0x50600000
je 0x1801aaf4b
cmp eax, 0x50700000
je 0x1801aaf4b
cmp eax, 0x50800000
je 0x1801aaf4b
cmp eax, 0x50900000
je 0x1801aaf4b
cmp eax, 0x70000000
jne 0x1801ab13d
mov edx, dword [rsp + 0x198]
test edx, edx
je 0x1801ab12c
mov ecx, dword [0x18025e63c]
mov rsi, qword [r12 + 0xd0f0]
test ecx, ecx
jns 0x1801aaf73
xor ebp, ebp
mov rcx, rbp
jmp 0x1801aaf7e
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
xor ebp, ebp
mov rcx, rax
cmp qword [rcx + 0x18], 0
je 0x1801aafb2
mov rdi, qword [rcx + 0x18]
test rdi, rdi
jne 0x1801aaf93
mov rdi, rbp
jmp 0x1801aafc9
mov rax, qword [rdi]
mov qword [rcx + 0x18], rax
test rax, rax
jne 0x1801aafa3
mov qword [rcx + 0x20], rbp
movabs rax, 0xfefefefefefefefe
mov qword [rdi], rax
jmp 0x1801aafc9
mov rcx, qword [rcx + 0x10]
mov edx, 0x188
mov r8d, 0x10
call fcn.180243b70
mov rdi, rax
test rdi, rdi
je 0x1801ab0da
mov r8d, dword [rsp + 0x78]
xor r9d, r9d
mov rdx, rsi
mov rcx, rdi
mov qword [rdi], rbp
mov qword [rdi + 8], rbp
mov qword [rdi + 0x78], rbp
mov qword [rdi + 0x80], rbp
mov qword [rdi + 0x88], rbp
mov qword [rdi + 0x90], rbp
mov dword [rdi + 0xa0], 0xffffffff
mov qword [rdi + 0xa8], 0xffffffffffffffff
mov qword [rdi + 0x40], rbp
call fcn.1801992b0
mov esi, eax
test eax, eax
js 0x1801ab07c
call fcn.18019c4f0
test al, al
je 0x1801ab038
or qword [rdi + 0x98], 0x20000
mov rax, qword [rdi + 0xa8]
mov rcx, qword [rax + 0x10]
test cl, 0x10
je 0x1801ab057
bt rcx, 0x15
jae 0x1801ab057
or qword [rdi + 0x98], 0x10
mov eax, dword [r12 + 0x10]
mov rcx, rdi
mov esi, ebp
mov dword [rdi + 0xa0], eax
inc dword [r12 + 0x10]
or dword [r12 + 0x28], 4
mov qword [rsp + 0x88], rcx
jmp 0x1801ab0e7
call fcn.1801991c0
mov ecx, dword [0x18025e63c]
test ecx, ecx
js 0x1801ab094
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rbp, rax
mov edx, 0xfe
mov r8d, 0x188
mov rcx, rdi
call fcn.18024adb8
mov qword [rdi], 0
mov rax, qword [rbp + 0x20]
test rax, rax
je 0x1801ab0c8
mov rcx, qword [rsp + 0x88]
mov qword [rax], rdi
mov qword [rbp + 0x20], rdi
jmp 0x1801ab0e7
mov rcx, qword [rsp + 0x88]
mov qword [rbp + 0x18], rdi
mov qword [rbp + 0x20], rdi
jmp 0x1801ab0e7
mov rcx, qword [rsp + 0x88]
mov esi, 0x8007000e
inc dword [rsp + 0x78]
test esi, esi
js 0x1801ac030
mov rax, qword [r15 + 0x28]
mov r8, qword [rsp + 0xa8]
mov r10, qword [rsp + 0x50]
mov edx, dword [rsp + 0x198]
mov qword [rax], rcx
mov rax, qword [r8 + 0xd0]
mov qword [rcx + 0xd0], rax
movzx eax, byte [r8 + 0xd8]
mov byte [rcx + 0xd8], al
jmp 0x1801ab144
mov rax, qword [r15 + 0x28]
mov rcx, qword [rsp + 0xa8]
mov qword [rax], rcx
jmp 0x1801ab144
mov edx, dword [rsp + 0x198]
mov eax, dword [r10 + 0x78]
and eax, 0xfff00000
cmp eax, 0x50000000
je 0x1801ab15f
cmp eax, 0x90700000
jne 0x1801ab29d
cmp dword [rsp + 0x94], r14d
jne 0x1801ab1a4
mov rcx, qword [r15 + 0x28]
mov rax, qword [r10 + 0x28]
mov rbp, qword [rsp + 0xc8]
mov rax, qword [rax]
mov r14, qword [rsp + 0xd0]
xor esi, esi
mov qword [rcx], rax
mov rax, qword [r15 + 0x28]
mov rcx, qword [rax]
mov qword [rcx + 0x100], r15
mov r15d, dword [rsp + 0x188]
jmp 0x1801ab2b7
mov ebp, dword [rsp + 0x58]
mov r9d, dword [rsp + 0x190]
mov r8, qword [r12 + 0xd078]
lea rdx, [rsp + rbp*8 + 0xf8]
mov rcx, r12
mov dword [rsp + 0x28], 0x11
mov dword [rsp + 0x20], ebp
call fcn.18019f030
mov esi, eax
test eax, eax
js 0x1801ac029
mov rcx, qword [r15 + 0x28]
mov r14, qword [rsp + 0xd0]
mov rdi, qword [rsp + 0x50]
mov rax, qword [rsp + r14*8 + 0xf8]
xor r8d, r8d
mov qword [rcx], rax
mov rax, qword [rdi + 0x28]
mov rdx, qword [rax]
mov rax, qword [r15 + 0x28]
mov rcx, qword [rax]
mov rax, qword [rdx + 0xd0]
mov qword [rcx + 0xd0], rax
movzx eax, byte [rdx + 0xd8]
mov rdx, r15
mov byte [rcx + 0xd8], al
mov rcx, r12
call fcn.1801e2850
mov esi, eax
test eax, eax
js 0x1801ac022
mov ecx, dword [r15 + 0x78]
mov eax, ecx
and eax, 0xfff00000
cmp eax, 0x50000000
jne 0x1801ab260
and ecx, 0xfffff
cmp ecx, 1
jne 0x1801ab260
mov dword [r15 + 0x78], 0x20400001
mov rax, qword [r15 + 0x28]
mov edx, dword [rsp + 0x198]
inc ebp
mov rcx, qword [rax]
inc r14
mov dword [rsp + 0x58], ebp
mov rbp, qword [rsp + 0xc8]
mov qword [rcx + 0x100], r15
mov r15d, dword [rsp + 0x188]
mov qword [rsp + 0xd0], r14
mov r10, rdi
xor esi, esi
jmp 0x1801ab2b7
mov r15d, dword [rsp + 0x188]
mov rbp, qword [rsp + 0xc8]
mov r14, qword [rsp + 0xd0]
xor esi, esi
mov r12, qword [rsp + 0xb8]
inc r13d
inc r12
mov dword [rsp + 0x84], r13d
mov qword [rsp + 0xb8], r12
cmp r13d, r15d
jb 0x1801aa950
mov ebp, dword [rsp + 0x58]
test ebp, ebp
je 0x1801abdd6
cmp ebp, 2
jne 0x1801ab5ad
cmp dword [0x18025e63c], 0
jge 0x1801ab301
mov rcx, rsi
jmp 0x1801ab310
mov ecx, dword [0x18025e63c]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, rax
cmp qword [rcx + 0x30], 0
je 0x1801ab344
mov rdi, qword [rcx + 0x30]
test rdi, rdi
jne 0x1801ab325
mov rdi, rsi
jmp 0x1801ab359
mov rax, qword [rdi]
mov qword [rcx + 0x30], rax
test rax, rax
jne 0x1801ab335
mov qword [rcx + 0x38], rsi
movabs rax, 0xfefefefefefefefe
mov qword [rdi], rax
jmp 0x1801ab359
mov rcx, qword [rcx + 0x28]
mov edx, 0x80
lea r8d, [rdx - 0x70]
call fcn.180243b70
mov rdi, rax
test rdi, rdi
je 0x1801ab518
or r9d, 0xffffffff
mov edx, 0x20000001
mov rcx, rdi
or r8d, r9d
mov qword [rdi], 0xffffffffffffffff
mov qword [rdi + 8], 0xffffffffffffffff
mov dword [rdi + 0x10], esi
mov dword [rdi + 0x20], esi
mov dword [rdi + 0x30], 0xffffffff
mov dword [rdi + 0x78], esi
mov qword [rdi + 0x18], rsi
mov word [rdi + 0x7c], si
mov qword [rdi + 0x28], rsi
mov word [rdi + 0x7e], si
mov dword [rdi + 0x38], esi
mov dword [rdi + 0x3c], esi
mov dword [rdi + 0x40], esi
mov qword [rdi + 0x48], 0xffffffffffffffff
mov dword [rdi + 0x50], esi
mov dword [rdi + 0x68], esi
mov qword [rdi + 0x70], rsi
mov byte [rsp + 0x20], 0
call fcn.180193d40
mov esi, eax
test eax, eax
js 0x1801ab411
mov rcx, qword [rsp + 0x50]
mov eax, dword [rcx + 0x68]
mov dword [rdi + 0x68], eax
mov rax, qword [rcx + 0x70]
mov qword [rdi + 0x70], rax
mov rax, qword [rsp + 0x70]
mov qword [rdi + 8], rax
test rax, rax
je 0x1801ab3f1
mov qword [rax], rdi
jmp 0x1801ab3f6
mov qword [rsp + 0x68], rdi
xor r12d, r12d
mov qword [rsp + 0x70], rdi
mov r15, rdi
mov qword [rdi], r12
mov esi, r12d
mov qword [rsp + 0x60], rdi
jmp 0x1801ab543
cmp word [rdi + 0x7c], 0
je 0x1801ab46e
mov ecx, dword [0x18025e63c]
test ecx, ecx
jns 0x1801ab42a
xor r12d, r12d
mov rax, r12
jmp 0x1801ab433
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
xor r12d, r12d
movzx ecx, word [rdi + 0x7c]
cmp ecx, dword [rax + 0x250]
ja 0x1801ab463
mov r8, qword [rdi + 0x18]
dec ecx
movsxd rdx, ecx
shl rdx, 5
add rdx, qword [rax + 0x248]
test r8, r8
je 0x1801ab463
mov rax, qword [rdx + 8]
mov qword [r8], rax
mov qword [rdx + 8], r8
mov word [rdi + 0x7c], r12w
mov qword [rdi + 0x18], r12
jmp 0x1801ab471
xor r12d, r12d
cmp word [rdi + 0x7e], 0
je 0x1801ab4c6
mov ecx, dword [0x18025e63c]
test ecx, ecx
jns 0x1801ab487
mov rax, r12
jmp 0x1801ab48d
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
movzx ecx, word [rdi + 0x7e]
cmp ecx, dword [rax + 0x250]
ja 0x1801ab4bd
mov r8, qword [rdi + 0x28]
dec ecx
movsxd rdx, ecx
shl rdx, 5
add rdx, qword [rax + 0x248]
test r8, r8
je 0x1801ab4bd
mov rax, qword [rdx + 8]
mov qword [r8], rax
mov qword [rdx + 8], r8
mov word [rdi + 0x7e], r12w
mov qword [rdi + 0x28], r12
mov ecx, dword [0x18025e63c]
test ecx, ecx
js 0x1801ab529
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rbp, rax
test rax, rax
je 0x1801ab535
mov edx, 0xfe
mov rcx, rdi
lea r8d, [rdx - 0x7e]
call fcn.18024adb8
mov qword [rdi], r12
mov rax, qword [rbp + 0x38]
test rax, rax
je 0x1801ab500
mov qword [rax], rdi
jmp 0x1801ab504
mov qword [rbp + 0x30], rdi
mov rcx, qword [rsp + 0x50]
mov r15, qword [rsp + 0x60]
mov qword [rbp + 0x38], rdi
mov ebp, dword [rsp + 0x58]
jmp 0x1801ab543
mov rcx, qword [rsp + 0x50]
mov r15, qword [rsp + 0x60]
mov esi, 0x8007000e
jmp 0x1801ab543
mov rcx, qword [rsp + 0x50]
mov r15, qword [rsp + 0x60]
jmp 0x1801ab543
mov rcx, qword [rsp + 0x50]
mov ebp, dword [rsp + 0x58]
mov r15, qword [rsp + 0x60]
test esi, esi
js 0x1801abff7
mov eax, dword [rcx + 0x30]
lea rdx, [rsp + 0xf8]
mov r9d, 2
mov dword [r15 + 0x30], eax
mov rax, qword [rdx]
mov r8, qword [rax + 0x100]
mov ecx, dword [r8 + 0x78]
mov eax, ecx
and eax, 0xfff00000
cmp eax, 0x10000000
jne 0x1801ab591
and ecx, 0xfffff
cmp ecx, 1
jne 0x1801ab591
mov rax, qword [r8 + 0x18]
mov rcx, qword [rax]
mov qword [rdx], rcx
add rdx, 8
sub r9, 1
jne 0x1801ab560
mov rdi, qword [rsp + 0x50]
mov r12, qword [rsp + 0x180]
jmp 0x1801abc05
cmp ebp, 2
jbe 0x1801abba7
mov r12, qword [rsp + 0x180]
test byte [r12 + 0xcef4], 2
je 0x1801abbaf
mov r13d, 1
cmp ebp, r13d
jbe 0x1801ab95c
mov r14, qword [rsp + 0x70]
mov r15, qword [rsp + 0x68]
lea r12, [rsp + 0x100]
jmp 0x1801ab5f2
xor esi, esi
mov edi, dword [rsp + 0x190]
inc edi
cmp dword [0x18025e63c], 0
mov dword [rsp + 0x190], edi
mov dword [rsp + 0x7c], edi
jge 0x1801ab614
mov rcx, rsi
jmp 0x1801ab623
mov ecx, dword [0x18025e63c]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, rax
cmp qword [rcx + 0x30], 0
je 0x1801ab657
mov rdi, qword [rcx + 0x30]
test rdi, rdi
jne 0x1801ab638
mov rdi, rsi
jmp 0x1801ab66c
mov rax, qword [rdi]
mov qword [rcx + 0x30], rax
test rax, rax
jne 0x1801ab648
mov qword [rcx + 0x38], rsi
movabs rax, 0xfefefefefefefefe
mov qword [rdi], rax
jmp 0x1801ab66c
mov rcx, qword [rcx + 0x28]
mov edx, 0x80
lea r8d, [rdx - 0x70]
call fcn.180243b70
mov rdi, rax
test rdi, rdi
je 0x1801ab845
or r9d, 0xffffffff
mov edx, 0x20000001
mov rcx, rdi
or r8d, r9d
mov qword [rdi], 0xffffffffffffffff
mov qword [rdi + 8], 0xffffffffffffffff
mov dword [rdi + 0x10], esi
mov dword [rdi + 0x20], esi
mov dword [rdi + 0x30], 0xffffffff
mov dword [rdi + 0x78], esi
mov qword [rdi + 0x18], rsi
mov word [rdi + 0x7c], si
mov qword [rdi + 0x28], rsi
mov word [rdi + 0x7e], si
mov dword [rdi + 0x38], esi
mov dword [rdi + 0x3c], esi
mov dword [rdi + 0x40], esi
mov qword [rdi + 0x48], 0xffffffffffffffff
mov dword [rdi + 0x50], esi
mov dword [rdi + 0x68], esi
mov qword [rdi + 0x70], rsi
mov byte [rsp + 0x20], 0
call fcn.180193d40
mov esi, eax
test eax, eax
js 0x1801ab726
mov r10, qword [rsp + 0x50]
mov eax, dword [r10 + 0x68]
mov dword [rdi + 0x68], eax
mov rax, qword [r10 + 0x70]
mov qword [rdi + 8], r14
mov qword [rdi + 0x70], rax
test r14, r14
je 0x1801ab700
mov qword [r14], rdi
jmp 0x1801ab708
mov r15, rdi
mov qword [rsp + 0x68], rdi
xor r9d, r9d
mov r14, rdi
mov qword [rsp + 0x70], rdi
mov r8, rdi
mov qword [rsp + 0x60], rdi
mov qword [rdi], r9
mov esi, r9d
jmp 0x1801ab876
cmp word [rdi + 0x7c], 0
je 0x1801ab783
mov ecx, dword [0x18025e63c]
test ecx, ecx
jns 0x1801ab73f
xor r9d, r9d
mov rax, r9
jmp 0x1801ab748
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
xor r9d, r9d
movzx ecx, word [rdi + 0x7c]
cmp ecx, dword [rax + 0x250]
ja 0x1801ab778
mov r8, qword [rdi + 0x18]
dec ecx
movsxd rdx, ecx
shl rdx, 5
add rdx, qword [rax + 0x248]
test r8, r8
je 0x1801ab778
mov rax, qword [rdx + 8]
mov qword [r8], rax
mov qword [rdx + 8], r8
mov word [rdi + 0x7c], r9w
mov qword [rdi + 0x18], r9
jmp 0x1801ab786
xor r9d, r9d
cmp word [rdi + 0x7e], 0
je 0x1801ab7de
mov ecx, dword [0x18025e63c]
test ecx, ecx
jns 0x1801ab79c
mov rax, r9
jmp 0x1801ab7a5
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
xor r9d, r9d
movzx ecx, word [rdi + 0x7e]
cmp ecx, dword [rax + 0x250]
ja 0x1801ab7d5
mov r8, qword [rdi + 0x28]
dec ecx
movsxd rdx, ecx
shl rdx, 5
add rdx, qword [rax + 0x248]
test r8, r8
je 0x1801ab7d5
mov rax, qword [rdx + 8]
mov qword [r8], rax
mov qword [rdx + 8], r8
mov word [rdi + 0x7e], r9w
mov qword [rdi + 0x28], r9
mov ecx, dword [0x18025e63c]
test ecx, ecx
js 0x1801ab859
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rbp, rax
test rax, rax
je 0x1801ab865
mov edx, 0xfe
mov rcx, rdi
lea r8d, [rdx - 0x7e]
call fcn.18024adb8
xor r9d, r9d
mov qword [rdi], r9
mov rax, qword [rbp + 0x38]
test rax, rax
je 0x1801ab82d
mov r10, qword [rsp + 0x50]
mov r8, qword [rsp + 0x60]
mov qword [rax], rdi
mov qword [rbp + 0x38], rdi
mov ebp, dword [rsp + 0x58]
jmp 0x1801ab876
mov r10, qword [rsp + 0x50]
mov r8, qword [rsp + 0x60]
mov qword [rbp + 0x30], rdi
mov qword [rbp + 0x38], rdi
mov ebp, dword [rsp + 0x58]
jmp 0x1801ab876
mov r10, qword [rsp + 0x50]
mov r8, qword [rsp + 0x60]
mov esi, 0x8007000e
xor r9d, r9d
jmp 0x1801ab876
mov r10, qword [rsp + 0x50]
mov r8, qword [rsp + 0x60]
jmp 0x1801ab876
mov r10, qword [rsp + 0x50]
mov ebp, dword [rsp + 0x58]
mov r8, qword [rsp + 0x60]
xor r9d, r9d
test esi, esi
js 0x1801abfe8
mov eax, dword [r10 + 0x30]
lea edi, [r13 + 1]
mov dword [r8 + 0x30], eax
mov rcx, qword [r8 + 0x18]
mov rax, qword [r12 - 8]
mov qword [rcx], rax
mov rcx, qword [r8 + 0x18]
mov rax, qword [r12]
mov qword [rcx + 8], rax
cmp edi, ebp
jae 0x1801ab8fe
mov eax, r13d
mov dword [rsp + 0x28], 0x11
mov dword [rsp + 0x20], r9d
mov r9d, dword [rsp + 0x190]
lea rdx, [rsp + rax*8 + 0xf8]
mov rax, qword [rsp + 0x180]
mov r8, qword [rax + 0xd078]
mov rcx, rax
call fcn.18019f030
mov esi, eax
test eax, eax
js 0x1801abfd9
mov r8, qword [rsp + 0x60]
mov rax, qword [r12]
mov r10, qword [rsp + 0x50]
mov rcx, qword [r8 + 0x28]
mov qword [rcx], rax
jmp 0x1801ab90c
mov rax, qword [r10 + 0x28]
mov rcx, qword [r8 + 0x28]
mov rax, qword [rax]
mov qword [rcx], rax
mov rax, qword [r10 + 0x28]
add r12, 8
mov r13d, edi
mov rdx, qword [rax]
mov rax, qword [r8 + 0x28]
mov rcx, qword [rax]
mov rax, qword [rdx + 0xd0]
mov qword [rcx + 0xd0], rax
movzx eax, byte [rdx + 0xd8]
mov byte [rcx + 0xd8], al
mov rax, qword [r8 + 0x28]
mov rcx, qword [rax]
mov qword [rcx + 0x100], r8
cmp edi, ebp
jb 0x1801ab5f0
mov r12, qword [rsp + 0x180]
jmp 0x1801ab966
mov r14, qword [rsp + 0x70]
mov r15, qword [rsp + 0x68]
xor r11d, r11d
mov ebp, r11d
nop dword [rax]
test r10, r10
je 0x1801abb8e
mov rax, qword [r10 + 8]
mov rsi, qword [r10]
test rax, rax
je 0x1801ab98a
mov qword [rax], rsi
jmp 0x1801ab98f
mov qword [r12 + 0x18], rsi
mov rcx, qword [r10]
test rcx, rcx
je 0x1801ab9a1
mov rax, qword [r10 + 8]
mov qword [rcx + 8], rax
jmp 0x1801ab9aa
mov rax, qword [r10 + 8]
mov qword [r12 + 0x20], rax
mov qword [r10], 0xffffffffffffffff
mov qword [r10 + 8], 0xffffffffffffffff
cmp word [r10 + 0x7c], 0
je 0x1801aba18
mov ecx, dword [0x18025e63c]
test ecx, ecx
jns 0x1801ab9d0
mov rax, r11
jmp 0x1801ab9de
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov r10, qword [rsp + 0x50]
xor r11d, r11d
movzx ecx, word [r10 + 0x7c]
cmp ecx, dword [rax + 0x250]
ja 0x1801aba0f
mov r8, qword [r10 + 0x18]
dec ecx
movsxd rdx, ecx
shl rdx, 5
add rdx, qword [rax + 0x248]
test r8, r8
je 0x1801aba0f
mov rax, qword [rdx + 8]
mov qword [r8], rax
mov qword [rdx + 8], r8
mov word [r10 + 0x7c], r11w
mov qword [r10 + 0x18], r11
cmp word [r10 + 0x7e], 0
je 0x1801aba77
mov ecx, dword [0x18025e63c]
test ecx, ecx
jns 0x1801aba2f
mov rax, r11
jmp 0x1801aba3d
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov r10, qword [rsp + 0x50]
xor r11d, r11d
movzx ecx, word [r10 + 0x7e]
cmp ecx, dword [rax + 0x250]
ja 0x1801aba6e
mov r8, qword [r10 + 0x28]
dec ecx
movsxd rdx, ecx
shl rdx, 5
add rdx, qword [rax + 0x248]
test r8, r8
je 0x1801aba6e
mov rax, qword [rdx + 8]
mov qword [r8], rax
mov qword [rdx + 8], r8
mov word [r10 + 0x7e], r11w
mov qword [r10 + 0x28], r11
mov ecx, dword [0x18025e63c]
test ecx, ecx
js 0x1801abacb
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdi, rax
test rax, rax
je 0x1801abac8
mov r12, qword [rsp + 0x50]
mov edx, 0xfe
lea r8d, [rdx - 0x7e]
mov rcx, r12
call fcn.18024adb8
xor r11d, r11d
mov qword [r12], r11
mov rax, qword [rdi + 0x38]
test rax, rax
je 0x1801ababe
mov qword [rax], r12
mov qword [rdi + 0x38], r12
jmp 0x1801abacb
mov qword [rdi + 0x30], r12
mov qword [rdi + 0x38], r12
jmp 0x1801abacb
xor r11d, r11d
mov r12, qword [rsp + 0x180]
inc ebp
mov r10, rsi
mov qword [rsp + 0x50], rsi
cmp ebp, 1
jb 0x1801ab970
mov ecx, r11d
test r15, r15
je 0x1801abafb
mov rax, r15
mov rax, qword [rax]
inc ecx
test rax, rax
jne 0x1801abaf1
mov r12, qword [rsp + 0x180]
lea eax, [rcx - 1]
add dword [r12 + 0x14], eax
test rsi, rsi
je 0x1801abb4f
test r15, r15
je 0x1801abb83
mov rax, qword [rsi + 8]
mov qword [r15 + 8], rax
mov rax, qword [rsi + 8]
test rax, rax
je 0x1801abb2b
mov qword [rax], r15
jmp 0x1801abb30
mov qword [r12 + 0x18], r15
mov qword [r14], rsi
mov qword [rsi + 8], r14
or dword [r12 + 0x28], 7
mov esi, r11d
mov r15, r11
mov qword [rsp + 0x68], r11
mov qword [rsp + 0x70], r11
jmp 0x1801abb93
mov rax, qword [r12 + 0x20]
test rax, rax
je 0x1801abb5e
mov qword [rax], r15
jmp 0x1801abb63
mov qword [r12 + 0x18], r15
test r15, r15
je 0x1801abb71
mov rax, qword [r12 + 0x20]
mov qword [r15 + 8], rax
mov qword [r12 + 0x20], r14
mov r15, r11
mov qword [rsp + 0x68], r11
mov qword [rsp + 0x70], r11
or dword [r12 + 0x28], 7
mov esi, r11d
jmp 0x1801abb93
mov esi, 0x80004005
test esi, esi
js 0x1801ac01b
mov edi, dword [rsp + 0x190]
jmp 0x1801abe14
mov r12, qword [rsp + 0x180]
mov r8d, ebp
lea rax, [rsp + 0x68]
lea rdx, [rsp + 0x60]
mov qword [rsp + 0x30], rax
and r8d, 0xfffff
mov r9, r10
or r8d, 0x50000000
mov rcx, r12
mov dword [rsp + 0x28], 0xffffffff
mov dword [rsp + 0x20], 0xffffffff
call fcn.18019f360
mov esi, eax
test eax, eax
js 0x1801ac014
mov rdi, qword [rsp + 0x50]
mov r15, qword [rsp + 0x60]
mov eax, dword [rdi + 0x30]
mov dword [r15 + 0x30], eax
mov rax, qword [rdi + 0x28]
mov rcx, qword [r15 + 0x28]
lea r8, [rbp*8]
mov rax, qword [rax]
lea rdx, [rsp + 0xf8]
mov qword [rcx], rax
mov rax, qword [r15 + 0x28]
mov rcx, qword [rax]
mov qword [rcx + 0x100], r15
mov rcx, qword [r15 + 0x18]
call sub.msvcrt.dll_memcpy
mov r13d, dword [rsp + 0x58]
cmp r13d, 2
je 0x1801abdb6
mov rdx, qword [rsp + 0xc0]
cmp rdx, 0xffffffffffffffff
jne 0x1801abd96
mov ecx, dword [0x18025e63c]
mov rsi, qword [r12 + 0xd040]
test ecx, ecx
jns 0x1801abc74
xor edx, edx
mov rcx, rdx
jmp 0x1801abc7f
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
xor edx, edx
mov rcx, rax
cmp qword [rcx + 0x18], 0
je 0x1801abcb3
mov rdi, qword [rcx + 0x18]
test rdi, rdi
jne 0x1801abc94
mov rdi, rdx
jmp 0x1801abcca
mov rax, qword [rdi]
mov qword [rcx + 0x18], rax
test rax, rax
jne 0x1801abca4
mov qword [rcx + 0x20], rdx
movabs rax, 0xfefefefefefefefe
mov qword [rdi], rax
jmp 0x1801abcca
mov rcx, qword [rcx + 0x10]
mov edx, 0x188
mov r8d, 0x10
call fcn.180243b70
mov rdi, rax
test rdi, rdi
je 0x1801abd81
xor eax, eax
xor r9d, r9d
xor r8d, r8d
mov rdx, rsi
mov rcx, rdi
mov dword [rdi + 0xa0], 0xffffffff
mov qword [rdi], rax
mov qword [rdi + 8], rax
mov qword [rdi + 0x78], rax
mov qword [rdi + 0x80], rax
mov qword [rdi + 0x88], rax
mov qword [rdi + 0x90], rax
mov qword [rdi + 0x40], rax
mov qword [rdi + 0xa8], 0xffffffffffffffff
call fcn.1801992b0
mov esi, eax
test eax, eax
js 0x1801abd67
mov eax, 4
movapd xmm2, xmm6
mov rdx, r12
mov r9d, eax
mov dword [rdi + 0xa4], eax
call fcn.18019a200
mov esi, eax
test eax, eax
js 0x1801abd67
mov r8b, 1
mov rdx, rdi
mov rcx, r12
call fcn.18019ec70
mov esi, eax
test eax, eax
js 0x1801abd67
xor eax, eax
mov qword [rsp + 0xc0], rdx
mov esi, eax
jmp 0x1801abd8e
mov rcx, rdi
call fcn.1801991c0
mov rcx, rdi
call fcn.18019de00
mov rdx, qword [rsp + 0xc0]
jmp 0x1801abd8e
mov rdx, qword [rsp + 0xc0]
mov esi, 0x8007000e
test esi, esi
js 0x1801ac00d
test r13d, r13d
je 0x1801abdb6
lea rcx, [r14*8]
mov rax, qword [r15 + 0x18]
add rcx, 8
sub rbp, 1
mov qword [rcx + rax - 8], rdx
jne 0x1801abda3
mov edi, dword [rsp + 0x190]
inc edi
mov dword [rsp + 0x190], edi
mov dword [rsp + 0x7c], edi
jmp 0x1801abde5
mov r12, qword [rsp + 0x180]
jmp 0x1801abde5
mov r12, qword [rsp + 0x180]
mov edi, dword [rsp + 0x190]
mov r8, qword [rsp + 0x50]
lea rdx, [rsp + 0x68]
mov r9b, 1
mov rcx, r12
mov dword [rsp + 0x20], 1
call fcn.18019fb00
mov esi, eax
test eax, eax
js 0x1801ac006
mov r15, qword [rsp + 0x68]
xor r11d, r11d
mov r10, rbx
mov qword [rsp + 0x50], rbx
test rbx, rbx
je 0x1801abe39
mov rbx, qword [rbx]
mov r13, qword [rsp + 0xa0]
mov qword [rsp + 0x98], rbx
jmp 0x1801aa281
mov r13, qword [rsp + 0xa0]
mov r10, qword [r12 + 0x18]
test r10, r10
je 0x1801abf4b
nop
test dword [r10 + 0x78], 0xfff00000
je 0x1801abf3f
nop
mov edx, dword [r10 + 0x78]
mov eax, edx
and eax, 0xf0000000
cmp eax, 0xa0000000
jne 0x1801abe96
mov eax, edx
and eax, 0xfff00000
cmp eax, 0xa1300000
je 0x1801abe8f
cmp eax, 0xa1400000
je 0x1801abe8f
and edx, 0xfffff
jmp 0x1801abeb7
mov edx, 1
jmp 0x1801abeb7
mov eax, edx
and eax, 0xfff00000
cmp eax, 0x68700000
je 0x1801abeb3
cmp eax, 0x68800000
je 0x1801abeb3
and edx, 0xfffff
jmp 0x1801abeb7
mov edx, dword [r10 + 0x10]
mov ecx, r11d
imul ecx, edx
lea eax, [rcx + rdx]
cmp eax, dword [r10 + 0x10]
ja 0x1801abf05
mov rax, qword [r10 + 0x18]
lea r8, [rax + rcx*8]
test edx, edx
je 0x1801abf05
test edx, edx
je 0x1801abefd
mov rcx, r8
mov r9d, edx
nop dword [rax]
mov rax, qword [r8]
cmp qword [rcx], rax
je 0x1801abef3
mov byte [rax + 0x48], 1
mov rax, qword [rcx]
mov byte [rax + 0x48], 1
add rcx, 8
sub r9, 1
jne 0x1801abee0
inc r11d
jmp 0x1801abe60
mov eax, dword [r10 + 0x20]
cmp eax, 1
jbe 0x1801abf3c
xor r11d, r11d
mov r8d, r11d
test eax, eax
je 0x1801abf3f
mov rdx, r11
nop dword [rax + rax]
mov rax, qword [r10 + 0x28]
inc r8d
add rdx, 8
mov rcx, qword [rax + rdx - 8]
mov byte [rcx + 0x48], 1
cmp r8d, dword [r10 + 0x20]
jb 0x1801abf20
jmp 0x1801abf3f
xor r11d, r11d
mov r10, qword [r10]
test r10, r10
jne 0x1801abe50
mov rax, qword [r12 + 0xd078]
mov rcx, qword [rax + 0x30]
test rcx, rcx
je 0x1801abf84
nop dword [rax]
mov eax, dword [rcx + 0xc8]
cmp dword [r13 + rax*4], 1
jbe 0x1801abf7c
cmp byte [rcx + 0x48], 0
jne 0x1801abf7c
mov dword [rcx + 0xc8], edi
inc edi
mov rcx, qword [rcx]
test rcx, rcx
jne 0x1801abf60
mov rax, qword [r12 + 0xd0f0]
mov ecx, dword [rsp + 0x78]
mov dword [rax + 0x18], ecx
mov rax, qword [r12 + 0xd078]
mov rcx, r12
mov dword [rax + 0x18], edi
call fcn.1801a1590
mov esi, eax
test eax, eax
js 0x1801abfd2
mov rcx, r12
call fcn.18019ffa0
mov esi, eax
test eax, eax
js 0x1801abfd2
xor edx, edx
mov rcx, r12
call fcn.1801a3240
mov esi, eax
test eax, eax
je 0x1801abfce
test eax, eax
js 0x1801abfd2
xor eax, eax
mov esi, eax
mov edi, 1
jmp 0x1801ac058
mov r12, qword [rsp + 0x180]
mov edi, 1
jmp 0x1801ac058
mov r12, qword [rsp + 0x180]
mov edi, 1
jmp 0x1801ac058
mov r12, qword [rsp + 0x180]
mov edi, 1
jmp 0x1801ac058
mov edi, 1
jmp 0x1801ac058
mov edi, 1
jmp 0x1801ac058
mov edi, 1
jmp 0x1801ac058
mov edi, 1
jmp 0x1801ac058
mov edi, 1
jmp 0x1801ac058
mov edi, 1
jmp 0x1801ac058
mov edi, 1
jmp 0x1801ac058
mov edi, 1
jmp 0x1801ac058
mov edi, 1
jmp 0x1801ac058
mov edi, 1
jmp 0x1801ac058
mov edi, 1
jmp 0x1801ac058
mov edi, 1
mov rbx, qword [rsp + 0x160]
cmp qword [rsp + 0xa0], 0
mov eax, dword [rsp + 0xb0]
movaps xmm6, xmmword [rsp + 0x120]
mov r15, qword [rsp + 0x138]
mov r14, qword [rsp + 0x140]
mov r13, qword [rsp + 0x148]
mov rbp, qword [rsp + 0x158]
lea rcx, [r12 + 0xd268]
mov r12, qword [rsp + 0x150]
je 0x1801ac0cb
mov rdx, qword [rcx]
test rax, rax
cmove rax, rdi
cmp rax, qword [rdx + 8]
jae 0x1801ac0c0
sub qword [rdx + 8], rax
jmp 0x1801ac0cb
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
lea rcx, [rsp + 0x68]
call fcn.1800c5e00
mov eax, esi
add rsp, 0x168
pop rdi
pop rsi
ret