Function at 0x14001b670
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub rsp, 0xb8
call fcn.14001be3f
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0xa8]
movsxd rcx, dword [rcx + 0x3c]
xor edx, edx
sub rdx, rax
xor eax, eax
sub rax, rcx
add rdx, rax
xor eax, eax
sub rax, rdx
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0xa0]
add rax, 0x18
add rax, 0x70
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
mov eax, dword [rax]
mov dword [rsp + 0x64], eax
mov rax, qword [rsp + 0x30]
mov ecx, dword [rsp + 0x64]
movabs rdx, 0xbdde71afe7bd2f2f
sub rax, rdx
add rax, rcx
movabs rcx, 0xbdde71afe7bd2f2f
add rax, rcx
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 0x14]
mov dword [rsp + 0x60], eax
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 0x18]
mov dword [rsp + 0x5c], eax
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 0xc]
mov dword [rsp + 0xb4], eax
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x48]
mov ecx, dword [rcx + 0x1c]
xor edx, edx
sub rdx, rcx
sub rax, rdx
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x48]
mov ecx, dword [rcx + 0x20]
movabs rdx, 0xdbedf37f81adc957
add rax, rdx
add rax, rcx
movabs rcx, 0xdbedf37f81adc957
sub rax, rcx
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x48]
mov ecx, dword [rcx + 0x24]
xor edx, edx
sub rdx, rax
xor eax, eax
sub rax, rcx
add rdx, rax
xor eax, eax
sub rax, rdx
mov qword [rsp + 0x90], rax
mov dword [rsp + 0x28], 0
mov eax, dword [rsp + 0x28]
cmp eax, dword [rsp + 0x60]
jb 0x14001b7c7
mov dword [rsp + 0x24], 2
jmp 0x14001ba4e
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x28]
cmp dword [rax + rcx*4], 0
jne 0x14001b7db
jmp 0x14001ba32
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 0x10]
mov ecx, dword [rsp + 0x28]
xor edx, edx
sub edx, eax
xor eax, eax
sub eax, ecx
add edx, eax
xor eax, eax
sub eax, edx
mov dword [rsp + 0xb0], eax
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x28]
mov eax, dword [rax + rcx*4]
mov qword [rsp + 0x88], rax
mov dword [rsp + 0x2c], 0
mov eax, dword [rsp + 0x2c]
cmp eax, dword [rsp + 0x5c]
jb 0x14001b82f
mov dword [rsp + 0x24], 5
jmp 0x14001ba1a
mov rax, qword [rsp + 0x90]
mov ecx, dword [rsp + 0x2c]
movzx eax, word [rax + rcx*2]
cmp eax, dword [rsp + 0x28]
jne 0x14001b9fc
mov rax, qword [rsp + 0x98]
mov ecx, dword [rsp + 0x2c]
mov eax, dword [rax + rcx*4]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x80]
xor edx, edx
sub rdx, rcx
sub rax, rdx
mov qword [rsp + 0x78], rax
call fcn.14001bab0
mov al, 0x47
test byte [0x140095038], 1
jne 0x14001b88c
xor eax, eax
xor al, 0x89
mov byte [rsp + 0x3a], al
mov al, 0x65
test byte [0x140095039], 1
jne 0x14001b89f
xor eax, eax
xor al, 0x89
mov byte [rsp + 0x3b], al
mov al, 0x74
test byte [0x14009503a], 1
jne 0x14001b8b2
xor eax, eax
xor al, 0x89
mov byte [rsp + 0x3c], al
mov al, 0x50
test byte [0x14009503b], 1
jne 0x14001b8c5
xor eax, eax
xor al, 0x89
mov byte [rsp + 0x3d], al
mov al, 0x72
test byte [0x14009503c], 1
jne 0x14001b8d8
xor eax, eax
xor al, 0x89
mov byte [rsp + 0x3e], al
mov al, 0x6f
test byte [0x14009503d], 1
jne 0x14001b8eb
xor eax, eax
xor al, 0x89
mov byte [rsp + 0x3f], al
mov al, 0x63
test byte [0x14009503e], 1
jne 0x14001b8fe
xor eax, eax
xor al, 0x89
mov byte [rsp + 0x40], al
mov al, 0x41
test byte [0x14009503f], 1
jne 0x14001b911
xor eax, eax
xor al, 0x89
mov byte [rsp + 0x41], al
mov al, 0x64
test byte [0x140095040], 1
jne 0x14001b924
xor eax, eax
xor al, 0x89
mov byte [rsp + 0x42], al
mov al, 0x64
test byte [0x140095041], 1
jne 0x14001b937
xor eax, eax
xor al, 0x89
mov byte [rsp + 0x43], al
mov al, 0x72
test byte [0x140095042], 1
jne 0x14001b94a
xor eax, eax
xor al, 0x89
mov byte [rsp + 0x44], al
mov al, 0x65
test byte [0x140095043], 1
jne 0x14001b95d
xor eax, eax
xor al, 0x89
mov byte [rsp + 0x45], al
mov al, 0x73
test byte [0x140095044], 1
jne 0x14001b970
xor eax, eax
xor al, 0x89
mov byte [rsp + 0x46], al
mov al, 0x73
test byte [0x140095045], 1
jne 0x14001b983
xor eax, eax
xor al, 0x89
mov byte [rsp + 0x47], al
lea rcx, [rsp + 0x3a]
call fcn.14001ba80
mov rcx, qword [rsp + 0x78]
mov rdx, rax
call fcn.14005a0f0
cmp eax, 0
setne al
xor al, 0xff
and al, 1
or al, 0
test al, 1
jne 0x14001b9b2
jmp 0x14001b9eb
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x88]
movabs rdx, 0xb758cd106efc18b1
add rax, rdx
add rax, rcx
movabs rcx, 0xb758cd106efc18b1
sub rax, rcx
mov qword [rsp + 0x70], rax
mov dword [rsp + 0x24], 1
jmp 0x14001b9f3
mov dword [rsp + 0x24], 0
cmp dword [rsp + 0x24], 0
jne 0x14001ba18
jmp 0x14001b9fc
jmp 0x14001b9fe
mov eax, dword [rsp + 0x2c]
add eax, 0x18d4a5c0
add eax, 1
sub eax, 0x18d4a5c0
mov dword [rsp + 0x2c], eax
jmp 0x14001b818
jmp 0x14001ba1a
cmp dword [rsp + 0x24], 5
jne 0x14001ba29
mov dword [rsp + 0x24], 0
cmp dword [rsp + 0x24], 0
jne 0x14001ba4c
jmp 0x14001ba32
mov eax, dword [rsp + 0x28]
add eax, 0xf8a0a42f
add eax, 1
sub eax, 0xf8a0a42f
mov dword [rsp + 0x28], eax
jmp 0x14001b7b0
jmp 0x14001ba4e
cmp dword [rsp + 0x24], 2
jne 0x14001ba66
mov qword [rsp + 0x70], 0
mov dword [rsp + 0x24], 1
mov rax, qword [rsp + 0x70]
add rsp, 0xb8
ret