Function at 0x1800fd940
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
sub rsp, 0x1d0
mov esi, r8d
mov rbp, rdx
mov rdi, rcx
test rdx, rdx
jne 0x1800fd96f
xor eax, eax
add rsp, 0x1d0
pop rdi
pop rsi
pop rbp
ret
mov eax, dword [rdx + 8]
mov qword [rsp + 0x1f0], rbx
mov rbx, qword [rdx + 0x60]
mov qword [rsp + 0x78], rbx
cmp eax, 2
je 0x1800fd9a2
cmp eax, 4
je 0x1800fd9a2
xor edx, edx
lea rcx, [rsp + 0x160]
lea r8d, [rdx + 0x68]
call fcn.18024adb8
jmp 0x1800fd9cd
mov rax, qword [rbx]
lea r8, [rsp + 0x160]
mov edx, 3
mov rcx, rbx
call qword [rax + 0x60]
test al, al
jne 0x1800fd9c8
mov ebx, 0x80004005
mov eax, ebx
jmp 0x1800ff474
mov rbx, qword [rsp + 0x78]
xor eax, eax
cmp qword [rbp + 0x68], rax
je 0x1800fd9ed
mov rcx, qword [rbp + 0x68]
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rbx, qword [rsp + 0x78]
mov dword [rsp + 0xb8], eax
jmp 0x1800fd9f4
mov dword [rsp + 0xb8], eax
mov eax, dword [rbp + 0x48]
mov r8d, dword [rsp + 0x160]
mov r10d, esi
shr r10d, 0x1e
mov dword [rsp + 0x70], eax
mov eax, dword [rbp + 0x4c]
and r10b, 1
mov dword [rsp + 0x68], eax
or eax, 0xffffffff
cmp r8d, 5
mov byte [rsp + 0x61], 0
mov byte [rsp + 0x65], 0
sete byte [rsp + 0x98]
mov dword [rsp + 0xd4], eax
mov dword [rsp + 0xd0], eax
mov byte [rsp + 0x60], 0
mov byte [rsp + 0x64], 0
mov byte [rsp + 0x62], 0
mov byte [rsp + 0x6e], 0
mov byte [rsp + 0x63], 0
mov dword [rsp + 0xb0], r10d
mov byte [rsp + 0x6d], 0
test rbx, rbx
je 0x1800fda9b
mov rax, qword [rbx]
lea rdx, [rsp + 0xa0]
mov rcx, rbx
call qword [rax + 0x58]
mov rbx, qword [rsp + 0x78]
mov r8d, dword [rsp + 0x160]
movzx edx, byte [rax]
mov r10d, dword [rsp + 0xb0]
shr dl, 1
and dl, 1
mov byte [rsp + 0x6c], dl
jmp 0x1800fdaa0
mov byte [rsp + 0x6c], 0
xor al, al
mov qword [rsp + 0xa8], rax
xor eax, eax
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xa0], rax
mov eax, dword [rbp + 8]
dec eax
cmp eax, 5
ja case.default.0x1800fdae3
lea rdx, [0x180000000]
cdqe
mov r9d, 1
mov ecx, dword [rdx + rax*4 + 0xff488]
add rcx, rdx
jmp rcx
movzx edx, byte [rbp + 0x108]
test dl, 2
jne 0x1800fdb1f
mov rax, qword [rbp + 0x18]
lea rdx, [rbp + 0x20]
lea r9, [0x18003fe38]
mov r8d, 0xc1f
mov rcx, rdi
mov qword [rsp + 0x20], rax
call fcn.180109730
mov ebx, 0x80004005
mov eax, ebx
jmp 0x1800ff474
bt esi, 0x1f
jae 0x1800fdb37
movzx eax, byte [rbp + 0xa0]
shr al, 1
test r9b, al
je case.default.0x1800fdae3
mov ecx, dword [rsp + 0xb8]
test ecx, ecx
je 0x1800fdb5b
cmp ecx, r9d
je 0x1800fdb5b
cmp ecx, 4
je 0x1800fdb5b
cmp ecx, 5
je 0x1800fdb5b
test dl, 4
jne 0x1800fdb5b
xor sil, sil
jmp 0x1800fdb5f
movzx esi, r9b
cmp qword [rbp + 0xc0], 0
mov rdx, qword [rbp + 0xa0]
movzx eax, r10b
cmovne eax, r9d
mov byte [rsp + 0x6d], sil
mov byte [rsp + 0xb0], al
movzx eax, dl
shr al, 7
and al, r9b
mov byte [rsp + 0x60], al
cmp ecx, 2
je 0x1800fdba0
cmp ecx, 0xb
je 0x1800fdba0
mov byte [rsp + 0x63], 0
jmp 0x1800fdba5
mov byte [rsp + 0x63], r9b
test sil, sil
je 0x1800fdbbc
movzx eax, dl
shr al, 6
test r9b, al
je 0x1800fdbbc
mov byte [rsp + 0x61], r9b
jmp 0x1800fdbc1
mov byte [rsp + 0x61], 0
cmp r8d, 6
mov rax, rdx
sete byte [rsp + 0x6e]
shr rax, 0x1e
and al, r9b
mov qword [rsp + 0xa8], rax
test sil, sil
jne 0x1800fdbef
shr dl, 1
test r9b, dl
je 0x1800fdbef
mov byte [rsp + 0x65], r9b
jmp 0x1800fdbf4
mov byte [rsp + 0x65], 0
mov rax, qword [rbx]
lea rdx, [rsp + 0xa0]
mov rcx, rbx
call qword [rax + 0x58]
test byte [rax], 1
jne 0x1800fdcac
mov eax, dword [rbp + 0x10c]
cmp dword [rsp + 0x160], 7
mov dword [rsp + 0xd4], eax
mov eax, dword [rbp + 0x110]
mov dword [rsp + 0xd0], eax
sete al
mov byte [rsp + 0x64], al
test al, al
je 0x1800fdcac
mov rcx, qword [rsp + 0x78]
mov rax, rcx
test rax, rax
je 0x1800fdc54
cmp dword [rax + 8], 0xa
jne 0x1800fdc54
mov rax, qword [rax + 0x38]
jmp 0x1800fdc43
mov qword [rsp + 0xc0], rax
mov rax, qword [rcx]
lea rdx, [rsp + 0xc0]
call qword [rax + 0x40]
mov ebx, eax
test eax, eax
js 0x1800fd9c1
mov rcx, qword [rsp + 0xc0]
lea r8, [rsp + 0xf0]
mov edx, 3
mov rax, qword [rcx]
call qword [rax + 0x60]
test al, al
jne 0x1800fdc9f
mov ebx, 0x80004005
mov eax, ebx
jmp 0x1800ff474
cmp dword [rsp + 0xf0], 5
sete byte [rsp + 0x62]
mov rax, qword [rsp + 0xa8]
mov r8, qword [rbp + 0xa8]
mov rdx, qword [rbp + 0xe8]
mov qword [rsp + 0xe0], r8
mov qword [rsp + 0xa0], rdx
test al, al
je 0x1800fdd16
mov rax, qword [rdi + 0x10]
test byte [rax + 0xcf02], 4
jne 0x1800fdd16
mov rcx, rax
mov rax, qword [rax]
call qword [rax + 0x18]
lea rdx, [rbp + 0x20]
lea r9, [0x18003fe60]
mov r8d, 0xe4d
mov rcx, rdi
mov qword [rsp + 0x20], rax
call fcn.180109730
mov ebx, 0x80004005
mov eax, ebx
jmp 0x1800ff474
mov rbx, qword [rsp + 0x78]
jmp 0x1800fe280
movzx eax, byte [rsp + 0x210]
mov r9, qword [rsp + 0x208]
mov rdx, qword [rbp + 0x70]
mov r8d, 0x8000000e
mov rcx, rdi
mov byte [rsp + 0x20], al
call fcn.1800ff540
mov ebx, eax
test eax, eax
js 0x1800fd9c1
mov rdx, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0x78]
xor sil, sil
mov r8, rdx
jmp 0x1800fe280
movzx eax, byte [rsp + 0x210]
mov r9, qword [rsp + 0x208]
mov rdx, qword [rbp + 0x70]
mov r8d, esi
mov rcx, rdi
mov byte [rsp + 0x20], al
call fcn.1800ff540
jmp 0x1800ff474
mov r8, r9
mov rdx, rbp
mov rcx, rdi
call fcn.180106df0
mov ebx, eax
test eax, eax
js 0x1800fd9c1
mov rax, qword [rdi + 0x10]
test byte [rax + 0xcefb], 0x20
je 0x1800fdf6d
xor ecx, ecx
or eax, 0xffffffff
xor r8d, r8d
mov qword [rsp + 0x120], rcx
mov dword [rsp + 0x128], ecx
mov dword [rsp + 0x12c], ecx
mov byte [rsp + 0x130], cl
mov dword [rsp + 0xf0], ecx
mov dword [rsp + 0xf4], ecx
mov dword [rsp + 0x100], ecx
mov dword [rsp + 0x104], ecx
mov dword [rsp + 0x108], ecx
mov dword [rsp + 0x10c], ecx
mov dword [rsp + 0x114], ecx
mov qword [rsp + 0xf8], rcx
mov byte [rsp + 0x118], cl
mov qword [rsp + 0x138], rcx
lea rcx, [rsp + 0xf0]
mov edx, 0x80
mov dword [rsp + 0x110], eax
call fcn.18011e260
mov ebx, eax
test eax, eax
jns 0x1800fdedb
lea rcx, [rsp + 0x120]
call fcn.180120170
mov rdi, qword [rsp + 0xf8]
test rdi, rdi
je 0x1800fde85
mov ecx, dword [0x18025e63c]
test ecx, ecx
jns 0x1800fde71
xor eax, eax
jmp 0x1800fde77
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, qword [rax]
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rdi, qword [rsp + 0x138]
xor esi, esi
mov qword [rsp + 0xf8], rsi
test rdi, rdi
je 0x1800fdebf
mov ecx, dword [0x18025e63c]
test ecx, ecx
jns 0x1800fdeab
mov rax, rsi
jmp 0x1800fdeb1
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, qword [rax]
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
lea rcx, [rsp + 0x120]
mov qword [rsp + 0x138], rsi
call fcn.180120170
mov eax, ebx
jmp 0x1800ff474
movzx eax, byte [rsp + 0x210]
mov rdx, qword [rbp + 0x70]
lea r9, [rsp + 0xf0]
mov r8d, esi
mov rcx, rdi
mov byte [rsp + 0x20], al
call fcn.1800ff540
lea rcx, [rsp + 0x120]
mov edi, eax
call fcn.180120170
mov rbx, qword [rsp + 0xf8]
test rbx, rbx
je 0x1800fdf3c
mov ecx, dword [0x18025e63c]
test ecx, ecx
jns 0x1800fdf28
xor eax, eax
jmp 0x1800fdf2e
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, qword [rax]
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rbx, qword [rsp + 0x138]
xor esi, esi
mov qword [rsp + 0xf8], rsi
test rbx, rbx
je 0x1800fe168
mov ecx, dword [0x18025e63c]
test ecx, ecx
jns 0x1800fe154
mov rax, rsi
jmp 0x1800fe15a
movzx eax, byte [rsp + 0x210]
mov rdx, qword [rbp + 0x70]
xor r9d, r9d
mov r8d, esi
mov rcx, rdi
mov byte [rsp + 0x20], al
call fcn.1800ff540
jmp 0x1800ff474
mov r8d, 0x20
mov rdx, rbp
mov rcx, rdi
call fcn.180106df0
mov ebx, eax
test eax, eax
js 0x1800fd9c1
xor ecx, ecx
or eax, 0xffffffff
xor r8d, r8d
mov qword [rsp + 0x120], rcx
mov dword [rsp + 0x128], ecx
mov dword [rsp + 0x12c], ecx
mov byte [rsp + 0x130], cl
mov dword [rsp + 0xf0], ecx
mov dword [rsp + 0xf4], ecx
mov dword [rsp + 0x100], ecx
mov dword [rsp + 0x104], ecx
mov dword [rsp + 0x108], ecx
mov dword [rsp + 0x10c], ecx
mov dword [rsp + 0x114], ecx
mov qword [rsp + 0xf8], rcx
mov byte [rsp + 0x118], cl
mov qword [rsp + 0x138], rcx
lea rcx, [rsp + 0xf0]
mov edx, 0x80
mov dword [rsp + 0x110], eax
call fcn.18011e260
mov ebx, eax
test eax, eax
jns 0x1800fe0cd
lea rcx, [rsp + 0x120]
call fcn.180120170
mov rdi, qword [rsp + 0xf8]
test rdi, rdi
je 0x1800fe077
mov ecx, dword [0x18025e63c]
test ecx, ecx
jns 0x1800fe063
xor eax, eax
jmp 0x1800fe069
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, qword [rax]
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rdi, qword [rsp + 0x138]
xor esi, esi
mov qword [rsp + 0xf8], rsi
test rdi, rdi
je 0x1800fe0b1
mov ecx, dword [0x18025e63c]
test ecx, ecx
jns 0x1800fe09d
mov rax, rsi
jmp 0x1800fe0a3
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, qword [rax]
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
lea rcx, [rsp + 0x120]
mov qword [rsp + 0x138], rsi
call fcn.180120170
mov eax, ebx
jmp 0x1800ff474
movzx eax, byte [rsp + 0x210]
mov rdx, qword [rbp + 0x70]
lea r9, [rsp + 0xf0]
mov r8d, esi
mov rcx, rdi
mov byte [rsp + 0x20], al
call fcn.1800ff540
lea rcx, [rsp + 0x120]
mov edi, eax
call fcn.180120170
mov rbx, qword [rsp + 0xf8]
test rbx, rbx
je 0x1800fe12e
mov ecx, dword [0x18025e63c]
test ecx, ecx
jns 0x1800fe11a
xor eax, eax
jmp 0x1800fe120
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, qword [rax]
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rbx, qword [rsp + 0x138]
xor esi, esi
mov qword [rsp + 0xf8], rsi
test rbx, rbx
je 0x1800fe168
mov ecx, dword [0x18025e63c]
test ecx, ecx
jns 0x1800fe154
mov rax, rsi
jmp 0x1800fe15a
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, qword [rax]
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
lea rcx, [rsp + 0x120]
mov qword [rsp + 0x138], rsi
call fcn.180120170
mov eax, edi
jmp 0x1800ff474
test rbx, rbx
je 0x1800fe1f5
mov rax, rbx
nop dword [rax]
test rax, rax
je 0x1800fe1a1
cmp dword [rax + 8], 0xa
jne 0x1800fe1a1
mov rax, qword [rax + 0x38]
jmp 0x1800fe190
cmp dword [rax + 8], 5
sete al
test al, al
je 0x1800fe1f5
mov rax, qword [rbx]
lea rdx, [rsp + 0x78]
mov rcx, rbx
call qword [rax + 0x40]
mov ebx, eax
test eax, eax
js 0x1800fd9c1
mov rbx, qword [rsp + 0x78]
test rbx, rbx
je 0x1800fe272
mov rax, rbx
test rax, rax
je 0x1800fe1e6
cmp dword [rax + 8], 0xa
jne 0x1800fe1e6
mov rax, qword [rax + 0x38]
jmp 0x1800fe1d5
cmp dword [rax + 8], 4
sete al
test al, al
je 0x1800fe262
mov rbp, qword [rbx + 0x10]
mov eax, dword [rbx + 8]
add eax, 0xfffffffd
cmp eax, 1
ja case.default.0x1800fdae3
mov rsi, qword [rbp + 0x70]
test rsi, rsi
je case.default.0x1800fdae3
movzx ebp, byte [rsp + 0x210]
nop dword [rax]
test rsi, rsi
je 0x1800ff462
mov eax, dword [rsi + 8]
cmp eax, 4
jne 0x1800ff428
mov r9, qword [rsp + 0x208]
mov r8d, 0xffffff
mov rdx, rsi
mov rcx, rdi
mov byte [rsp + 0x20], bpl
call fcn.1800fd940
mov ebx, eax
test eax, eax
js 0x1800fd9c1
jmp 0x1800ff462
mov rdx, qword [rsp + 0xa0]
xor sil, sil
mov r8, rdx
jmp 0x1800fe280
mov rdx, qword [rsp + 0xa0]
xor sil, sil
mov r8, rdx
mov eax, dword [rsp + 0x160]
cmp eax, 2
je 0x1800fe29a
cmp eax, 9
je 0x1800fe29a
cmp eax, 8
jne case.0x1800fe2c1.3
mov eax, dword [rsp + 0x164]
add eax, 0xfffffffe
cmp eax, 0xc
ja case.0x1800fe2c1.3
lea r9, [0x180000000]
cdqe
mov ecx, dword [r9 + rax*4 + 0xff4a0]
add rcx, r9
jmp rcx
test sil, sil
je case.0x1800fe2c1.3
mov rax, qword [rdi + 0x10]
test byte [rax + 0xcf01], 0x10
jne case.0x1800fe2c1.3
bt dword [rdi + 0x24], 0xc
jb case.0x1800fe2c1.3
cmp dword [rbp + 8], 2
jne case.0x1800fe2c1.3
mov rbx, qword [rbp + 0x18]
mov rcx, rax
mov rax, qword [rax]
call qword [rax + 0x18]
lea rdx, [rbp + 0x20]
lea r9, [0x18003fe80]
mov qword [rsp + 0x28], rax
mov r8d, 0xe42
mov rcx, rdi
mov qword [rsp + 0x20], rbx
call fcn.180109730
mov ebx, 0x80004005
mov eax, ebx
jmp 0x1800ff474
test sil, sil
je case.0x1800fe2c1.3
mov rax, qword [rdi + 0x10]
test byte [rax + 0xcf01], 2
jne case.0x1800fe2c1.3
mov rbx, qword [rbp + 0x18]
mov rcx, rax
mov rax, qword [rax]
call qword [rax + 0x18]
lea rdx, [rbp + 0x20]
lea r9, [0x18003ff08]
mov qword [rsp + 0x28], rax
mov r8d, 0xe43
mov rcx, rdi
mov qword [rsp + 0x20], rbx
call fcn.180109730
mov ebx, 0x80004005
mov eax, ebx
jmp 0x1800ff474
mov rax, qword [rdi + 0x10]
test byte [rax + 0xcf01], 0x10
jne case.0x1800fe2c1.3
mov rbx, qword [rbp + 0x18]
mov rcx, rax
mov rax, qword [rax]
call qword [rax + 0x18]
lea rdx, [rbp + 0x20]
lea r9, [0x18003ff40]
mov qword [rsp + 0x28], rax
mov r8d, 0xe44
mov rcx, rdi
mov qword [rsp + 0x20], rbx
call fcn.180109730
mov ebx, 0x80004005
mov eax, ebx
jmp 0x1800ff474
mov rax, qword [rdi + 0x10]
test byte [rax + 0xcf01], 8
jne case.0x1800fe2c1.3
mov rbx, qword [rbp + 0x18]
mov rcx, rax
mov rax, qword [rax]
call qword [rax + 0x18]
lea rdx, [rbp + 0x20]
lea r9, [0x18003ff78]
mov qword [rsp + 0x28], rax
mov r8d, 0xe45
mov rcx, rdi
mov qword [rsp + 0x20], rbx
call fcn.180109730
mov ebx, 0x80004005
mov eax, ebx
jmp 0x1800ff474
cmp byte [rsp + 0x60], 0
je 0x1800fe634
mov al, byte [rsp + 0x210]
test al, al
jne 0x1800fe63b
mov rax, qword [rdi + 0x10]
mov edx, dword [rbp + 0x4c]
xor esi, esi
lea rcx, [rsp + 0x80]
mov dword [rsp + 0x90], 2
mov qword [rsp + 0x80], rsi
mov qword [rsp + 0x88], rax
mov dword [rsp + 0x94], esi
call fcn.1800c4620
mov ebx, eax
test eax, eax
jns 0x1800fe4d6
movsxd rax, dword [rsp + 0x90]
mov r8d, dword [rsp + 0x94]
lea rcx, [rax + rax*2]
mov rax, qword [rsp + 0x88]
lea rcx, [rax + rcx*8 + 0xd250]
cmp qword [rsp + 0x80], rsi
je 0x1800fd9c1
mov rdx, qword [rcx]
test r8, r8
mov eax, 1
cmove r8, rax
cmp r8, qword [rdx + 8]
jae 0x1800fe4c4
sub qword [rdx + 8], r8
mov eax, ebx
jmp 0x1800ff474
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
mov eax, ebx
jmp 0x1800ff474
mov r8d, dword [rbp + 0x4c]
mov rdx, qword [rbp + 0xd8]
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], esi
mov rsi, qword [rsp + 0x80]
mov rcx, rdi
mov r9, rsi
call fcn.180129c40
mov ebx, eax
test eax, eax
jns 0x1800fe561
movsxd rax, dword [rsp + 0x90]
mov r8d, dword [rsp + 0x94]
lea rcx, [rax + rax*2]
mov rax, qword [rsp + 0x88]
lea rcx, [rax + rcx*8 + 0xd250]
test rsi, rsi
je 0x1800fd9c1
mov rdx, qword [rcx]
test r8, r8
mov eax, 1
cmove r8, rax
cmp r8, qword [rdx + 8]
jae 0x1800fe54f
sub qword [rdx + 8], r8
mov eax, ebx
jmp 0x1800ff474
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
mov eax, ebx
jmp 0x1800ff474
mov r8d, dword [rsp + 0x70]
mov edx, dword [rbp + 0x4c]
mov r9, rsi
mov rcx, rdi
call fcn.18010a0b0
mov ebx, eax
test eax, eax
jns 0x1800fe5d9
movsxd rax, dword [rsp + 0x90]
mov r8d, dword [rsp + 0x94]
lea rcx, [rax + rax*2]
mov rax, qword [rsp + 0x88]
lea rcx, [rax + rcx*8 + 0xd250]
test rsi, rsi
je 0x1800fd9c1
mov rdx, qword [rcx]
test r8, r8
mov eax, 1
cmove r8, rax
cmp r8, qword [rdx + 8]
jae 0x1800fe5c7
sub qword [rdx + 8], r8
mov eax, ebx
jmp 0x1800ff474
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
mov eax, ebx
jmp 0x1800ff474
movsxd rax, dword [rsp + 0x90]
mov r8d, dword [rsp + 0x94]
lea rcx, [rax + rax*2]
mov rax, qword [rsp + 0x88]
lea rcx, [rax + rcx*8 + 0xd250]
test rsi, rsi
je 0x1800ff3ea
mov rdx, qword [rcx]
test r8, r8
mov eax, 1
cmove r8, rax
cmp r8, qword [rdx + 8]
jae 0x1800fe624
sub qword [rdx + 8], r8
jmp 0x1800ff3ea
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
jmp 0x1800ff3ea
mov al, byte [rsp + 0x210]
mov byte [rsp + 0x60], 0
mov rsi, r8
test r8, r8
je 0x1800fe7ba
test rdx, rdx
sete byte [rsp + 0x99]
movzx ebp, byte [rsp + 0x99]
nop
xor ecx, ecx
mov qword [rsp + 0xc8], rcx
mov qword [rsp + 0xc0], rcx
mov qword [rsp + 0xb8], rcx
test al, al
je 0x1800fe6cd
cmp dword [rsi + 0x28], 2
jne 0x1800fe6cd
mov rcx, qword [rdi + 0x10]
test byte [rcx + 0xcefe], 0x20
je 0x1800fe6cd
mov r8, rdx
mov rdx, rsi
call fcn.1800fd770
test al, al
jne 0x1800fe6c8
mov rax, qword [rsi + 0x30]
lea r9, [0x18003ffa8]
mov r8d, 0xdd5
mov rdx, rsi
mov rcx, rdi
mov qword [rsp + 0x20], rax
call fcn.180109730
mov rbx, qword [rsp + 0x78]
jmp 0x1800fe6cd
mov rbx, qword [rsp + 0x78]
movzx r9d, byte [rsp + 0x63]
movzx r8d, bpl
mov rdx, rsi
mov rcx, rdi
mov qword [rsp + 0x20], rbx
call fcn.1800fd6c0
test al, al
je 0x1800fe742
cmp qword [rsi + 0x38], 0
mov rcx, qword [rsi + 0x30]
je 0x1800fe728
mov eax, dword [rdi + 0x20]
mov edx, dword [rsi + 0x48]
cmp eax, edx
jne 0x1800fe715
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0xc8], rcx
mov rcx, rax
jmp 0x1800fe74d
and eax, 0xffff0000
cmp eax, edx
jne 0x1800fe735
mov rax, qword [rsp + 0xb8]
jmp 0x1800fe74d
mov rax, rcx
mov rcx, qword [rsp + 0xc0]
jmp 0x1800fe74d
mov rax, qword [rsp + 0xb8]
mov rcx, rax
jmp 0x1800fe74d
mov rax, qword [rsp + 0xb8]
mov rcx, rax
cmp qword [rsp + 0xc8], 0
mov rsi, qword [rsi + 0x50]
jne 0x1800fe768
test rcx, rcx
cmovne rax, rcx
test rax, rax
je 0x1800fe770
mov al, 1
mov byte [rsp + 0x60], al
jmp 0x1800fe775
movzx eax, byte [rsp + 0x60]
test rsi, rsi
je 0x1800fe793
mov rbx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0xa0]
mov al, byte [rsp + 0x210]
jmp 0x1800fe660
mov rbp, qword [rsp + 0x1f8]
test al, al
je 0x1800fe7b5
mov al, byte [rsp + 0x210]
test al, al
je case.default.0x1800fdae3
mov rbx, qword [rsp + 0x78]
jmp 0x1800fe7c9
mov rbx, qword [rsp + 0x78]
mov al, byte [rsp + 0x210]
test al, al
jne case.default.0x1800fdae3
xor ecx, ecx
mov esi, ecx
cmp dword [rsp + 0x68], ecx
jbe 0x1800fe873
cmp byte [rsp + 0x65], cl
sete cl
mov byte [rsp + 0x1f8], cl
cmp byte [rsp + 0x61], 0
je 0x1800fe800
cmp byte [rsp + 0x6e], 0
jne 0x1800fe800
mov rax, qword [rdi + 0x10]
mov r8, qword [rax + 0xd048]
jmp 0x1800fe80b
mov rax, qword [rdi + 0x10]
mov r8, qword [rax + 0xd038]
mov eax, dword [rsp + 0x70]
mov r9, rbp
lea edx, [rsi + rax]
lea rax, [rsp + 0xd8]
mov qword [rsp + 0x38], rax
mov byte [rsp + 0x30], cl
mov rcx, rdi
mov byte [rsp + 0x28], 1
mov dword [rsp + 0x20], esi
call fcn.1800fd3d0
mov ebx, eax
test eax, eax
js 0x1800fd9c1
cmp byte [rsp + 0x6d], 0
je 0x1800fe858
mov rax, qword [rsp + 0xd8]
or qword [rax + 0x98], 0x10
movzx ecx, byte [rsp + 0x1f8]
inc esi
cmp esi, dword [rsp + 0x68]
jb 0x1800fe7e5
mov rbx, qword [rsp + 0x78]
xor ecx, ecx
cmp byte [rsp + 0x61], 0
jne 0x1800fef8d
movzx eax, byte [rsp + 0x64]
test al, al
jne 0x1800fe89a
mov rsi, qword [rsp + 0xa8]
test sil, sil
je 0x1800ff3ea
jmp 0x1800fe8a2
mov rsi, qword [rsp + 0xa8]
movzx r8d, byte [rsp + 0x62]
test r8b, r8b
jne 0x1800ff3ea
cmp byte [rsp + 0x6c], r8b
jne 0x1800ff3ea
cmp byte [rsp + 0x210], r8b
jne 0x1800ff3ea
mov rdx, qword [rdi + 0x10]
test byte [rdx + 0xcefc], 4
je 0x1800ff3ea
test sil, sil
je 0x1800fe955
test rbx, rbx
je 0x1800fe927
mov rax, qword [rbx]
lea rdx, [rsp + 0x1f8]
mov rcx, rbx
call qword [rax + 0x58]
test dword [rax], 0x386f8000
je 0x1800fe923
lea rdx, [rbp + 0x20]
lea r9, [0x18003ffd0]
mov r8d, 0xe63
mov rcx, rdi
call fcn.180109730
mov ebx, 0x80004005
mov eax, ebx
jmp 0x1800ff474
mov al, byte [rsp + 0x64]
test al, al
je 0x1800fe940
mov rax, qword [rdi + 0x10]
mov rdx, qword [rax + 0xd1c0]
mov qword [rsp + 0x1f8], rdx
jmp 0x1800fe964
mov rax, qword [rdi + 0x10]
mov rdx, qword [rax + 0xd1b8]
mov qword [rsp + 0x1f8], rdx
jmp 0x1800fe964
mov rdx, qword [rdx + 0xd138]
mov qword [rsp + 0x1f8], rdx
mov r9d, dword [rsp + 0xd0]
mov r8d, dword [rsp + 0xd4]
lea rax, [rsp + 0x1f8]
mov qword [rsp + 0x28], rax
mov rcx, rdi
mov qword [rsp + 0x20], rbp
call fcn.1800fd4d0
mov ebx, eax
test eax, eax
js 0x1800fd9c1
test sil, sil
je 0x1800fe9ba
mov rax, qword [rdi + 0x30]
mov ecx, dword [rsp + 0x70]
mov rsi, qword [rsp + 0x1f8]
mov rcx, qword [rax + rcx*8]
mov qword [rsi + 0xa0], rcx
jmp 0x1800fe9c2
mov rsi, qword [rsp + 0x1f8]
mov ecx, dword [rsp + 0x70]
mov rax, qword [rdi + 0x30]
mov r9d, dword [rsp + 0x68]
mov rdx, qword [rsp + 0x78]
lea r8, [rax + rcx*8]
mov rcx, rdi
call fcn.180106ba0
mov ebx, eax
test eax, eax
js 0x1800fd9c1
mov rax, qword [rdi + 0x30]
mov r8d, dword [rsp + 0x70]
mov rcx, qword [rsp + 0xe0]
lea r9, [rax + r8*8]
mov r8, qword [rsp + 0x78]
xor eax, eax
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x48], 0x10
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
lea rdx, [rbp + 0x20]
mov rcx, rdi
mov qword [rsp + 0x20], rsi
call fcn.180133120
mov ebx, eax
test eax, eax
js 0x1800fd9c1
cmp byte [rsp + 0xb0], 0
jne 0x1800ff3ea
mov r9d, dword [rsp + 0x68]
test r9d, r9d
je 0x1800ff3ea
mov rax, qword [rdi + 0x30]
mov edx, dword [rsp + 0x70]
mov rcx, qword [rax + rdx*8]
mov rax, qword [rcx + 0xa8]
mov ecx, dword [rax + 0x10]
shr rcx, 0x1b
test cl, 1
je 0x1800ff3ea
mov rcx, qword [rdi + 0x10]
or r8, 0xffffffffffffffff
lea rdx, [rcx + 0x4e0]
call fcn.1801b42c0
test al, al
je 0x1800ff3ea
mov rax, qword [rdi + 0x10]
test byte [rax + 0xcf03], 0x20
je 0x1800fec83
inc dword [rax + 0x4e4]
mov rax, qword [rdi + 0x10]
lea edx, [r9 + r9]
mov qword [rsp + 0x88], rax
xor eax, eax
lea rcx, [rsp + 0x80]
mov qword [rsp + 0x80], rax
mov dword [rsp + 0x94], eax
mov dword [rsp + 0x90], 2
call fcn.1800c4620
mov ebx, eax
test eax, eax
jns 0x1800feb58
cmp qword [rsp + 0x80], 0
movsxd rax, dword [rsp + 0x90]
mov r8d, dword [rsp + 0x94]
lea rcx, [rax + rax*2]
mov rax, qword [rsp + 0x88]
lea rcx, [rax + rcx*8 + 0xd250]
je 0x1800fd9c1
mov rdx, qword [rcx]
test r8, r8
mov eax, 1
cmove r8, rax
cmp r8, qword [rdx + 8]
jae 0x1800feb46
sub qword [rdx + 8], r8
mov eax, ebx
jmp 0x1800ff474
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
mov eax, ebx
jmp 0x1800ff474
mov ebx, dword [rsp + 0x68]
mov rsi, qword [rsp + 0x80]
movsxd rax, ebx
test ebx, ebx
je 0x1800febac
movsxd rcx, dword [rsp + 0x70]
mov r8, rsi
lea r10, [rsi + rax*8]
lea r9, [rcx*8]
mov r11, rbx
mov rax, qword [rdi + 0x30]
add r8, 8
add r9, 8
mov rcx, qword [r9 + rax - 8]
add r10, 8
sub r11, 1
mov qword [r10 - 8], rcx
mov rax, qword [rdi + 0x80]
mov qword [r8 - 8], rax
jne 0x1800feb82
lea r8, [rsi + rbx*8]
lea rdx, [rbp + 0x20]
mov r9, rsi
mov rcx, rdi
mov dword [rsp + 0x20], ebx
call fcn.180136eb0
mov ebx, eax
test eax, eax
jns 0x1800fec28
movsxd rax, dword [rsp + 0x90]
mov r8d, dword [rsp + 0x94]
lea rcx, [rax + rax*2]
mov rax, qword [rsp + 0x88]
lea rcx, [rax + rcx*8 + 0xd250]
test rsi, rsi
je 0x1800fd9c1
mov rdx, qword [rcx]
test r8, r8
mov eax, 1
cmove r8, rax
cmp r8, qword [rdx + 8]
jae 0x1800fec16
sub qword [rdx + 8], r8
mov eax, ebx
jmp 0x1800ff474
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
mov eax, ebx
jmp 0x1800ff474
movsxd rax, dword [rsp + 0x90]
mov r8d, dword [rsp + 0x94]
lea rcx, [rax + rax*2]
mov rax, qword [rsp + 0x88]
lea rcx, [rax + rcx*8 + 0xd250]
test rsi, rsi
je 0x1800ff3ea
mov rdx, qword [rcx]
test r8, r8
mov eax, 1
cmove r8, rax
cmp r8, qword [rdx + 8]
jae 0x1800fec73
sub qword [rdx + 8], r8
jmp 0x1800ff3ea
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
jmp 0x1800ff3ea
mov rax, qword [rdi + 0x10]
mov rsi, qword [rsp + 0x1f8]
lea rcx, [rsp + 0x80]
inc dword [rax + 0x4e4]
mov rax, qword [rdi + 0x10]
mov edx, dword [rsi + 0x1c]
mov qword [rsp + 0x88], rax
xor eax, eax
add edx, edx
mov qword [rsp + 0x80], rax
mov dword [rsp + 0x94], eax
mov dword [rsp + 0x90], 2
call fcn.1800c4620
mov ebx, eax
test eax, eax
jns 0x1800fed3a
cmp qword [rsp + 0x80], 0
movsxd rax, dword [rsp + 0x90]
mov r8d, dword [rsp + 0x94]
lea rcx, [rax + rax*2]
mov rax, qword [rsp + 0x88]
lea rcx, [rax + rcx*8 + 0xd250]
je 0x1800fd9c1
mov rdx, qword [rcx]
test r8, r8
mov eax, 1
cmove r8, rax
cmp r8, qword [rdx + 8]
jae 0x1800fed28
sub qword [rdx + 8], r8
mov eax, ebx
jmp 0x1800ff474
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
mov eax, ebx
jmp 0x1800ff474
mov rax, qword [rdi + 0x30]
mov edx, dword [rsp + 0x70]
movsxd rcx, dword [rsi + 0x1c]
mov r9, qword [rax + rdx*8]
mov dword [rsp + 0xb8], ecx
mov rax, qword [r9 + 0xa8]
mov qword [rsp + 0xa8], r9
mov qword [rsp + 0xd8], rax
xor eax, eax
mov edx, eax
mov dword [rsp + 0x1f8], eax
test ecx, ecx
je 0x1800fee41
mov r8, qword [rsp + 0x80]
mov qword [rsp + 0xc8], r8
lea rsi, [r8 + rcx*8]
nop
lea eax, [rdx + rcx]
mov rcx, qword [rdi + 0x10]
mov rdx, r9
lea r8, [r8 + rax*8]
call fcn.18019f810
mov ebx, eax
test eax, eax
js 0x1800feeb9
mov rax, qword [rsi]
mov edx, dword [rsp + 0x1f8]
mov dword [rax + 0xcc], edx
mov rcx, qword [rsi]
mov rax, qword [rdi + 0x80]
mov qword [rcx + 0xc0], rax
mov rax, qword [rsp + 0xd8]
movabs rcx, 0x800000000000
test qword [rax + 0x10], rcx
je 0x1800fedf7
mov rcx, qword [rsi]
mov rax, qword [rdi + 0x80]
mov qword [rcx + 0xb8], rax
mov rcx, qword [rsp + 0xc8]
mov rax, qword [rdi + 0x80]
mov r8, qword [rsp + 0x80]
mov r9, qword [rsp + 0xa8]
mov qword [rcx], rax
add rcx, 8
inc edx
mov qword [rsp + 0xc8], rcx
mov ecx, dword [rsp + 0xb8]
add rsi, 8
mov dword [rsp + 0x1f8], edx
cmp edx, ecx
jb 0x1800fed90
mov rsi, qword [rsp + 0x80]
mov eax, ecx
mov dword [rsp + 0x20], ecx
lea rdx, [rbp + 0x20]
lea r8, [rsi + rax*8]
mov rcx, rdi
mov r9, rsi
call fcn.180136eb0
mov ebx, eax
test eax, eax
jns 0x1800fef32
movsxd rax, dword [rsp + 0x90]
mov r8d, dword [rsp + 0x94]
lea rcx, [rax + rax*2]
mov rax, qword [rsp + 0x88]
lea rcx, [rax + rcx*8 + 0xd250]
test rsi, rsi
je 0x1800fd9c1
mov rdx, qword [rcx]
test r8, r8
mov eax, 1
cmove r8, rax
cmp r8, qword [rdx + 8]
jae 0x1800fef20
sub qword [rdx + 8], r8
mov eax, ebx
jmp 0x1800ff474
movsxd rax, dword [rsp + 0x90]
mov rsi, qword [rsp + 0x80]
mov r8d, dword [rsp + 0x94]
lea rcx, [rax + rax*2]
mov rax, qword [rsp + 0x88]
lea rcx, [rax + rcx*8 + 0xd250]
test rsi, rsi
je 0x1800fd9c1
mov rdx, qword [rcx]
test r8, r8
mov eax, 1
cmove r8, rax
cmp r8, qword [rdx + 8]
jae 0x1800fef0e
sub qword [rdx + 8], r8
mov eax, ebx
jmp 0x1800ff474
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
mov eax, ebx
jmp 0x1800ff474
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
mov eax, ebx
jmp 0x1800ff474
movsxd rax, dword [rsp + 0x90]
mov r8d, dword [rsp + 0x94]
lea rcx, [rax + rax*2]
mov rax, qword [rsp + 0x88]
lea rcx, [rax + rcx*8 + 0xd250]
test rsi, rsi
je 0x1800ff3ea
mov rdx, qword [rcx]
test r8, r8
mov eax, 1
cmove r8, rax
cmp r8, qword [rdx + 8]
jae 0x1800fef7d
sub qword [rdx + 8], r8
jmp 0x1800ff3ea
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
jmp 0x1800ff3ea
movzx eax, byte [rsp + 0x98]
mov qword [rsp + 0xd8], rcx
mov dword [rsp + 0x1f8], ecx
test al, al
jne 0x1800ff093
mov r8b, byte [rsp + 0x62]
test r8b, r8b
jne 0x1800ff098
mov rax, qword [rsp + 0xa0]
test rax, rax
je 0x1800ff086
mov ecx, dword [rax + 0x48]
mov rax, qword [rdi + 0x50]
mov rsi, qword [rax + rcx*8]
mov qword [rsp + 0xc8], rsi
mov rax, qword [rsi + 0x10]
test al, 1
je 0x1800ff00a
mov rcx, qword [rdi + 0x10]
lea r8, [rsp + 0xa8]
mov rdx, qword [rcx + 0xd048]
call fcn.18019f710
mov ebx, eax
test eax, eax
js 0x1800fd9c1
jmp 0x1800ff030
test al, 0x20
je 0x1800ff030
mov rcx, qword [rdi + 0x10]
lea r8, [rsp + 0xa8]
mov rdx, qword [rcx + 0xd058]
call fcn.18019f710
mov ebx, eax
test eax, eax
js 0x1800fd9c1
mov ecx, dword [rsi + 0x58]
test ecx, ecx
jne 0x1800ff045
neg byte [rsp + 0x60]
sbb eax, eax
add eax, 2
mov dword [rsi + 0x58], eax
jmp 0x1800ff06b
neg byte [rsp + 0x60]
sbb eax, eax
add eax, 2
cmp ecx, eax
je 0x1800ff06b
lea rdx, [rbp + 0x20]
lea r9, [0x180040030]
mov r8d, 0xdca
mov rcx, rdi
call fcn.180109730
mov rsi, qword [rsp + 0xa8]
mov rax, qword [rsp + 0xc8]
mov qword [rsi + 0x20], rax
mov rbx, qword [rsp + 0x78]
jmp 0x1800ff0e7
mov rax, qword [rdi + 0x10]
mov rsi, qword [rax + 0xd048]
jmp 0x1800ff0e7
mov r8b, byte [rsp + 0x62]
lea rcx, [rsp + 0x208]
lea r9, [rsp + 0xa8]
movzx edx, al
mov qword [rsp + 0x28], rcx
lea rcx, [rsp + 0xd8]
mov qword [rsp + 0x20], rcx
mov rcx, rdi
call fcn.180105700
mov ebx, eax
test eax, eax
js 0x1800fd9c1
mov rbx, qword [rsp + 0x78]
mov rsi, qword [rsp + 0xa8]
mov dword [rsp + 0x1f8], 4
mov ecx, dword [rsp + 0x70]
mov rax, qword [rdi + 0x30]
mov r9d, dword [rsp + 0x68]
lea r8, [rax + rcx*8]
mov qword [rsp + 0xa0], rcx
mov rdx, rbx
mov rcx, rdi
call fcn.180106ba0
mov ebx, eax
test eax, eax
js 0x1800fd9c1
mov rax, qword [rdi + 0x30]
mov rcx, qword [rsp + 0xa0]
xor r8d, r8d
lea r9, [rax + rcx*8]
mov rcx, qword [rsp + 0xe0]
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x208]
mov dword [rsp + 0x48], 0x10
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], r8
mov qword [rsp + 0xc0], r8
mov r8, qword [rsp + 0x78]
lea rdx, [rbp + 0x20]
mov rcx, rdi
mov qword [rsp + 0x20], rsi
call fcn.180133120
mov ebx, eax
test eax, eax
js 0x1800fd9c1
mov rax, qword [rdi + 0x30]
mov rsi, qword [rsp + 0xa0]
cmp qword [rax + rsi*8], 0xffffffffffffffff
je 0x1800ff35e
mov r10d, dword [rsp + 0x68]
xor eax, eax
or rsi, 0xffffffffffffffff
mov ebx, eax
test r10d, r10d
je 0x1800ff272
movsxd rdx, dword [rsp + 0x70]
shl rdx, 3
mov qword [rsp + 0xc8], rdx
nop word [rax + rax]
mov rax, qword [rdi + 0x30]
lea rcx, [0x180000000]
mov rax, qword [rdx + rax]
mov qword [rsp + 0xa8], rax
movsxd rax, dword [rax + 0xa4]
test byte [rcx + rax*4 + 0x27d22], 1
je 0x1800ff22e
mov rcx, rbp
call fcn.180093ef0
lea r9, [0x180040078]
mov r8d, 0xdba
mov rdx, rax
mov rax, qword [rbp + 0x18]
mov rcx, rdi
mov qword [rsp + 0x20], rax
call fcn.180109730
mov rdx, qword [rsp + 0xc8]
mov r10d, dword [rsp + 0x68]
mov rax, qword [rsp + 0xa8]
mov rax, qword [rax + 0xa8]
mov rcx, qword [rax + 0x20]
cmp rcx, 0xffffffffffffffff
je 0x1800ff25b
cmp rsi, 0xffffffffffffffff
jne 0x1800ff252
mov rsi, rcx
jmp 0x1800ff25b
cmp rcx, rsi
jne 0x1800ff302
add rdx, 8
inc ebx
mov qword [rsp + 0xc8], rdx
cmp ebx, r10d
jb 0x1800ff1d0
cmp qword [rsp + 0x208], 0
je 0x1800ff30e
cmp rsi, 0xffffffffffffffff
je 0x1800ff30e
mov rax, qword [rdi + 0x30]
mov rcx, qword [rsp + 0xa0]
lea r9, [rsp + 0xb0]
lea r8, [rax + rcx*8]
lea rax, [rsp + 0xb8]
mov edx, r10d
mov rcx, rdi
mov qword [rsp + 0x20], rax
call fcn.180133000
mov ebx, eax
test eax, eax
js 0x1800fd9c1
mov rax, qword [rsp + 0xc0]
mov r9, qword [rbp + 0x18]
mov r8d, dword [rsp + 0xb8]
mov edx, dword [rsp + 0xb0]
mov rcx, qword [rsi + 0x50]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbp
call fcn.18011ddf0
mov rsi, qword [rsp + 0xa0]
mov r10d, dword [rsp + 0x68]
jmp 0x1800ff363
mov ebx, 0x80004005
mov eax, ebx
jmp 0x1800ff474
mov rbx, qword [rsp + 0xc0]
test rbx, rbx
je 0x1800ff354
mov rcx, rbx
call fcn.18011dbe0
mov ecx, dword [0x18025e63c]
test ecx, ecx
jns 0x1800ff331
xor eax, eax
jmp 0x1800ff337
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, qword [rax]
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rsi, qword [rsp + 0xa0]
mov r10d, dword [rsp + 0x68]
jmp 0x1800ff363
mov rsi, qword [rsp + 0xa0]
jmp 0x1800ff363
mov r10d, dword [rsp + 0x68]
mov rcx, qword [rsp + 0xd8]
test rcx, rcx
je 0x1800ff39f
mov rax, qword [rdi + 0x30]
mov r9d, dword [rsp + 0x1f8]
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x20], rcx
lea r8, [rax + rsi*8]
mov edx, r10d
mov rcx, rdi
call fcn.180105850
mov ebx, eax
test eax, eax
js 0x1800fd9c1
mov rax, qword [rdi + 0x30]
mov r9d, dword [rsp + 0xd4]
mov edx, dword [rsp + 0x68]
lea r8, [rax + rsi*8]
mov eax, dword [rsp + 0xd0]
mov rcx, rdi
mov qword [rsp + 0x28], rbp
mov dword [rsp + 0x20], eax
call fcn.1800fd5d0
mov ebx, eax
test eax, eax
js 0x1800fd9c1
mov rdx, rbp
mov rcx, rdi
call fcn.180135bb0
mov ebx, eax
test eax, eax
js 0x1800fd9c1
cmp dword [rbp + 8], 2
jne 0x1800ff422
mov rdx, qword [rbp + 0xc0]
test rdx, rdx
je 0x1800ff41c
mov rcx, rdi
call fcn.1800fd820
test eax, eax
mov ebx, eax
mov eax, 0
cmovns ebx, eax
test ebx, ebx
js 0x1800fd9c1
mov ebx, eax
jmp 0x1800ff474
xor eax, eax
mov ebx, eax
jmp 0x1800ff474
xor eax, eax
mov ebx, eax
jmp 0x1800ff474
cmp eax, 2
jne 0x1800ff462
movzx eax, byte [rsi + 0xa0]
shr al, 1
test al, 1
je 0x1800ff462
mov r9, qword [rsp + 0x208]
mov r8d, 0xffffff
mov rdx, rsi
mov rcx, rdi
mov byte [rsp + 0x20], bpl
call fcn.1800fd940
mov ebx, eax
test eax, eax
js 0x1800fd9c1
mov rsi, qword [rsi + 0x80]
test rsi, rsi
jne 0x1800fe220
xor eax, eax
mov rbx, qword [rsp + 0x1f0]
add rsp, 0x1d0
pop rdi
pop rsi
pop rbp
ret