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

Disassembly:
mov word [rsp + 0x20], r9w
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rdi
push r12
push r14
sub rsp, 0x100
xor eax, eax
mov r14, r8
mov r12d, eax
mov qword [rsp + 0x40], rax
mov edi, eax
mov r11, rdx
movzx eax, word [rsp + 0x140]
mov r10, rcx
test ax, ax
je 0x1800d5c8f
mov rax, qword [rcx]
mov r10, qword [rax]
test byte [r10 + 0x60], 0x40
je 0x1800d5c7f
xor al, al
add rsp, 0x100
pop r14
pop r12
pop rdi
ret
mov r10, qword [rsp + 0x120]
movzx eax, word [rsp + 0x140]
mov qword [rsp + 0xf0], rbp
movzx ebp, word [rdx]
mov word [rsp + 0x72], bp
cmp bp, 0x3f
jbe 0x1800d5cac
xor al, al
jmp 0x1800d65e1
mov qword [rsp + 0xf8], rbx
mov ebx, 1
mov qword [rsp + 0xe8], rsi
mov qword [rsp + 0xe0], r13
mov r13b, 1
mov qword [rsp + 0xd8], r15
movzx r15d, bp
xor ebp, ebp
mov r8d, ebp
mov dword [rsp + 0x30], r13d
mov ecx, r15d
mov dword [rsp + 0x58], r15d
shl rbx, cl
mov edx, ebp
dec rbx
mov qword [rsp + 0x78], rbp
mov ecx, 0x803
mov qword [rsp + 0x80], rbx
test cx, r9w
mov qword [rsp + 0x68], rbp
mov ecx, ebp
mov qword [rsp + 0x88], rdx
setne r8b
mov dword [rsp + 0x54], ecx
add r8w, 0x182
mov esi, ebp
mov dword [rsp + 0x38], r8d
nop dword [rax]
cmp rdi, rbx
jae 0x1800d6577
movzx eax, ax
cmp ecx, eax
jg 0x1800d6574
test ecx, ecx
jle 0x1800d5d52
or rsi, qword [r12 + 8]
mov qword [rsp + 0x68], rsi
cmp ecx, eax
jge 0x1800d5d74
mov rax, qword [r14 + 0x18]
mov r12, qword [rax + rdx*8]
mov eax, 0x800
mov qword [rsp + 0x60], r12
test ax, r9w
jne 0x1800d6528
jmp 0x1800d5d81
mov r12, qword [rsp + 0x148]
mov qword [rsp + 0x60], r12
test dword [r12 + 0x38], 0x400
jne 0x1800d6558
movzx eax, r9w
mov ecx, 0x80
and ax, cx
mov word [rsp + 0x70], ax
je 0x1800d5da9
mov word [r12 + 0x1e], bp
movzx eax, byte [r12 + 0x10]
imul rcx, rax, 0x68
mov rax, qword [r10 + 8]
mov edx, dword [rcx + rax + 0x4c]
mov dword [rsp + 0x48], edx
test r15d, r15d
jle 0x1800d5f34
mov r13d, dword [rsp + 0x58]
lea r14, [r11 + 8]
xor r15d, r15d
mov eax, ebp
bt rdi, rax
jb 0x1800d5f14
mov rbx, qword [r14]
test rbx, rbx
je 0x1800d5f14
nop dword [rax]
mov eax, dword [rbx + 4]
test eax, 0x82000
je 0x1800d5e18
bt eax, 0x13
jae 0x1800d5e0a
mov rax, qword [rbx + 0x20]
mov rbx, qword [rax + 8]
jmp 0x1800d5e0e
mov rbx, qword [rbx + 0x10]
test rbx, rbx
jne 0x1800d5df0
jmp 0x1800d5f14
test rbx, rbx
je 0x1800d5f14
movzx eax, byte [rbx]
add al, 0x59
test al, 0xfd
jne 0x1800d5f14
cmp dword [rbx + 0x2c], edx
jne 0x1800d5f14
movzx eax, r8w
lea rcx, [r10 + 0x70]
movsx r8d, word [rbx + 0x30]
mov r9, rsi
not r9
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], eax
call fcn.1800d09a0
mov rsi, rax
test rax, rax
je 0x1800d5efe
movzx r9d, word [rax + 0x14]
cmp r9w, 1
jne 0x1800d5e98
movzx edx, word [r12 + 0x3c]
xor ecx, ecx
test edx, edx
jle 0x1800d5e94
mov r8, qword [r12 + 0x48]
movsxd rax, ecx
cmp rsi, qword [r8 + rax*8]
je 0x1800d5e94
inc ecx
cmp ecx, edx
jl 0x1800d5e85
cmp ecx, edx
jge 0x1800d5efe
test r9b, 0x82
je 0x1800d5eee
cmp word [rbx + 0x30], 0
jl 0x1800d5eee
mov rbx, qword [rsp + 0x120]
mov rdx, qword [r14]
mov rbx, qword [rbx]
mov rcx, rbx
call fcn.18007a540
mov rdi, rax
test rax, rax
jne 0x1800d5eca
mov rax, qword [rbx]
mov rdi, qword [rax + 0x10]
mov rdx, qword [rsi]
mov rcx, rbx
call fcn.18007a960
test rax, rax
je 0x1800d5ef9
mov rdx, qword [rax]
mov rcx, qword [rdi]
call fcn.18003cb70
mov rdi, qword [rsp + 0x40]
test eax, eax
jne 0x1800d5efe
bts rdi, r15
mov qword [rsp + 0x40], rdi
jmp 0x1800d5efe
mov rdi, qword [rsp + 0x40]
mov edx, dword [rsp + 0x48]
mov r10, qword [rsp + 0x120]
mov r8d, dword [rsp + 0x38]
mov rsi, qword [rsp + 0x68]
inc ebp
inc r15
add r14, 0x20
cmp ebp, r13d
jl 0x1800d5dd4
mov r13d, dword [rsp + 0x30]
movzx r9d, word [rsp + 0x138]
mov eax, dword [r12 + 0x38]
bt eax, 0xc
jb 0x1800d63e8
bt eax, 8
jae 0x1800d5f64
mov esi, dword [rsp + 0x30]
xor ebp, ebp
mov r13d, ebp
mov qword [rsp + 0x90], rbp
mov word [rsp + 0x50], bp
lea ecx, [rbp + 1]
jmp 0x1800d5faf
mov r13, qword [r12 + 0x20]
mov qword [rsp + 0x90], r13
test r13, r13
je 0x1800d65b6
test byte [r13 + 0x64], 4
jne 0x1800d65b6
cmp byte [r13 + 0x62], 0
movzx ecx, word [r13 + 0x5e]
mov word [rsp + 0x50], cx
movzx ecx, word [r13 + 0x60]
je 0x1800d5fa6
bt eax, 0xf
jb 0x1800d5fa6
mov sil, 1
jmp 0x1800d5fa9
xor sil, sil
xor ebp, ebp
mov dword [rsp + 0x30], esi
xor al, al
xor r11b, r11b
mov byte [rsp + 0x35], al
mov r15d, ebp
mov byte [rsp + 0x34], al
movzx eax, cx
mov dword [rsp + 0x4c], r11d
mov dword [rsp + 0x74], eax
test eax, eax
jle 0x1800d63e1
movzx r10d, word [r12 + 0x18]
mov bl, 1
cmp r15d, r10d
jge 0x1800d6057
movzx eax, word [r12 + 0x3e]
cmp r15d, eax
jl 0x1800d6057
mov r9, qword [r12 + 0x48]
movsxd rax, r15d
mov rcx, qword [r9 + rax*8]
movzx eax, word [rcx + 0x14]
test ax, r8w
je 0x1800d6027
movzx r9d, word [rsp + 0x138]
mov ecx, 0x180
test cx, ax
movzx eax, sil
mov ecx, ebp
cmove ecx, eax
movzx esi, cl
mov dword [rsp + 0x30], esi
jmp 0x1800d63ac
test al, 1
je 0x1800d6057
mov r8, qword [rcx]
lea edx, [r15 + 1]
cmp edx, r10d
jge 0x1800d6057
nop word [rax + rax]
movsxd rax, edx
mov rcx, qword [r9 + rax*8]
cmp qword [rcx], r8
je 0x1800d6055
inc edx
cmp edx, r10d
jl 0x1800d6040
jmp 0x1800d6057
xor bl, bl
test r13, r13
je 0x1800d6088
mov rax, qword [r13 + 8]
movsxd rcx, r15d
movsx r14d, word [rax + rcx*2]
mov rax, qword [r13 + 0x38]
movzx r12d, byte [rcx + rax]
mov rax, qword [r13 + 0x18]
and r12b, 1
movsx ecx, word [rax + 0x34]
cmp r14d, ecx
jne 0x1800d608f
or r14d, 0xffffffff
jmp 0x1800d608f
or r14d, 0xffffffff
xor r12b, r12b
test sil, sil
je 0x1800d60c8
test r14d, r14d
js 0x1800d60b9
cmp r15d, r10d
jl 0x1800d60b9
movsxd rax, r14d
movzx esi, sil
lea rdx, [rax + rax*2]
mov rax, qword [r13 + 0x18]
mov rcx, qword [rax + 8]
test byte [rcx + rdx*8 + 8], 0xf
cmove esi, ebp
cmp r14d, 0xfffffffe
movzx eax, sil
cmove eax, ebp
mov byte [rsp + 0x30], al
test bl, bl
je 0x1800d6275
cmp ebp, dword [rsp + 0x58]
jge 0x1800d6270
mov eax, ebp
bt rdi, rax
jb 0x1800d6266
mov rsi, qword [rsp + 0x128]
movsxd rax, ebp
shl rax, 5
add rsi, rax
mov rdx, qword [rsi + 8]
test rdx, rdx
je 0x1800d6266
mov eax, dword [rdx + 4]
test eax, 0x82000
je 0x1800d612d
bt eax, 0x13
jae 0x1800d611f
mov rdx, qword [rdx + 0x20]
mov rdx, qword [rdx + 8]
jmp 0x1800d6123
mov rdx, qword [rdx + 0x10]
test rdx, rdx
jne 0x1800d6105
jmp 0x1800d6266
test rdx, rdx
je 0x1800d6266
test byte [rsp + 0x138], 0xc0
mov ecx, 0
movzx eax, bl
cmovne ecx, eax
movzx ebx, cl
movzx edi, cl
cmp r14d, 0xffffffff
jl 0x1800d617e
movzx eax, byte [rdx]
cmp al, 0xa7
je 0x1800d6164
cmp al, 0xa9
jne 0x1800d6261
mov eax, dword [rsp + 0x48]
movzx ebx, dil
cmp dword [rdx + 0x2c], eax
jne 0x1800d6261
movsx eax, word [rdx + 0x30]
cmp eax, r14d
jmp 0x1800d61f1
mov rax, qword [r13 + 0x50]
movsxd rcx, r15d
shl rcx, 5
mov r8, qword [rcx + rax + 8]
test r8, r8
je 0x1800d61c0
mov eax, dword [r8 + 4]
test eax, 0x82000
je 0x1800d61c0
bt eax, 0x13
jae 0x1800d61ae
mov rax, qword [r8 + 0x20]
mov r8, qword [rax + 8]
jmp 0x1800d61b2
mov r8, qword [r8 + 0x10]
test r8, r8
jne 0x1800d6193
nop word [rax + rax]
mov eax, dword [rdx + 4]
test eax, 0x82000
je 0x1800d61e3
bt eax, 0x13
jae 0x1800d61da
mov rax, qword [rdx + 0x20]
mov rdx, qword [rax + 8]
jmp 0x1800d61de
mov rdx, qword [rdx + 0x10]
test rdx, rdx
jne 0x1800d61c0
mov r9d, dword [rsp + 0x48]
xor ecx, ecx
call fcn.180083c80
test eax, eax
jne 0x1800d6261
cmp r14d, 0xffffffff
je 0x1800d62be
mov rax, qword [rsp + 0x120]
mov rdx, qword [rsi + 8]
mov rbx, qword [rax]
mov rcx, rbx
call fcn.18007a540
test rax, rax
jne 0x1800d6220
mov rax, qword [rbx]
mov rax, qword [rax + 0x10]
mov r8, qword [rax]
mov rax, qword [r13 + 0x40]
lea r13, [0x1801a4bc0]
movsxd rcx, r15d
mov r9, qword [rax + rcx*8]
sub r9, r8
nop dword [rax + rax]
movzx edx, byte [r8]
movzx eax, byte [r9 + r8]
cmp edx, eax
jne 0x1800d62a8
test edx, edx
jne 0x1800d62b9
mov r13, qword [rsp + 0x90]
movzx ebx, dil
test edx, edx
je 0x1800d62be
mov rdi, qword [rsp + 0x40]
inc ebp
test bl, bl
jne 0x1800d60d0
mov r11d, dword [rsp + 0x4c]
movzx r9d, word [rsp + 0x138]
mov r12, qword [rsp + 0x60]
test r15d, r15d
je 0x1800d6296
movzx eax, word [rsp + 0x50]
cmp r15d, eax
jge 0x1800d63c6
mov rdi, qword [rsp + 0x40]
xor r13b, r13b
mov dword [rsp + 0x30], r13d
jmp 0x1800d63d0
movzx ecx, byte [rax + r13]
mov rax, rdx
movzx edx, byte [rdx + r13]
sub edx, ecx
jne 0x1800d6251
inc r8
jmp 0x1800d6240
cmp word [rsp + 0x70], 0
je 0x1800d62d3
mov rcx, qword [rsp + 0x60]
lea eax, [r15 + 1]
mov word [rcx + 0x1e], ax
movzx r9d, word [rsp + 0x138]
test r9b, 0x40
jne 0x1800d6346
mov rcx, qword [rsp + 0x128]
movsxd rax, ebp
shl rax, 5
cmp byte [rsp + 0x35], 0
je 0x1800d6319
movzx ecx, byte [rax + rcx + 0x18]
xor r12b, byte [rsp + 0x34]
and cl, 1
cmp r12b, cl
sete al
test al, al
jne 0x1800d6346
mov r11d, dword [rsp + 0x4c]
jmp 0x1800d627e
movzx edx, byte [rax + rcx + 0x18]
and dl, 1
xor dl, r12b
mov byte [rsp + 0x34], dl
je 0x1800d6341
mov rdx, qword [rsp + 0x150]
movsxd rax, dword [rsp + 0x54]
mov rcx, qword [rdx]
bts rcx, rax
mov qword [rdx], rcx
mov byte [rsp + 0x35], 1
mov rdx, qword [rsp + 0x128]
mov r12, qword [rsp + 0x60]
movsxd rcx, ebp
mov rax, rcx
shl rax, 5
test byte [rax + rdx + 0x18], 2
je 0x1800d6378
movzx eax, word [r12 + 0x18]
cmp r15d, eax
jne 0x1800d63bc
or dword [r12 + 0x38], 0x80000
mov r11d, dword [rsp + 0x4c]
cmp r14d, 0xffffffff
mov rdi, qword [rsp + 0x40]
mov eax, 1
mov esi, dword [rsp + 0x30]
mov r8d, dword [rsp + 0x38]
movzx r11d, r11b
cmove r11d, eax
bts rdi, rcx
mov qword [rsp + 0x40], rdi
xor ebp, ebp
mov dword [rsp + 0x4c], r11d
inc r15d
cmp r15d, dword [rsp + 0x74]
jl 0x1800d5fd3
jmp 0x1800d63cb
mov r11d, dword [rsp + 0x4c]
jmp 0x1800d6283
mov rdi, qword [rsp + 0x40]
mov r13d, dword [rsp + 0x30]
xor ebp, ebp
test r11b, r11b
je 0x1800d63ea
mov r13b, 1
mov dword [rsp + 0x30], r13d
jmp 0x1800d63f3
mov r13d, dword [rsp + 0x30]
jmp 0x1800d63ea
xor ebp, ebp
test r13b, r13b
je 0x1800d64fd
mov rax, qword [rsp + 0x78]
mov esi, ebp
or rax, qword [r12 + 8]
mov r15d, dword [rsp + 0x58]
mov qword [rsp + 0x78], rax
test r15d, r15d
jle 0x1800d6502
mov r14, qword [rsp + 0x128]
mov r12, rax
mov r13, qword [rsp + 0x120]
add r14, 8
nop dword [rax]
mov eax, esi
bt rdi, rax
jb 0x1800d64d4
mov rbx, qword [r14]
test rbx, rbx
je 0x1800d645a
lea rcx, [r13 + 0x258]
mov rdx, rbx
call fcn.1800cfff0
mov rdi, rax
xor eax, eax
jmp 0x1800d645e
xor eax, eax
mov edi, eax
test rdi, rdi
jne 0x1800d64b4
mov dword [rsp + 0xc0], eax
mov ecx, 1
mov word [rsp + 0xbc], cx
lea rcx, [fcn.18007d700]
mov qword [rsp + 0xa0], rcx
lea rcx, [0x18007d510]
mov qword [rsp + 0xa8], rcx
test rbx, rbx
je 0x1800d64b4
mov rdx, rbx
lea rcx, [rsp + 0x98]
call fcn.1800768b0
cmp word [rsp + 0xbc], di
je 0x1800d64cf
mov rax, r12
not rax
test rdi, rax
mov rdi, qword [rsp + 0x40]
jne 0x1800d64d4
bts rdi, rbp
mov qword [rsp + 0x40], rdi
jmp 0x1800d64d4
mov rdi, qword [rsp + 0x40]
inc esi
inc rbp
add r14, 0x20
cmp esi, r15d
jl 0x1800d6430
mov r12, qword [rsp + 0x60]
xor ebp, ebp
mov r13d, dword [rsp + 0x30]
movzx r9d, word [rsp + 0x138]
jmp 0x1800d6502
mov r15d, dword [rsp + 0x58]
mov r11, qword [rsp + 0x128]
mov ecx, dword [rsp + 0x54]
mov r8d, dword [rsp + 0x38]
mov rsi, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x80]
mov r14, qword [rsp + 0x130]
inc qword [rsp + 0x88]
inc ecx
mov dword [rsp + 0x54], ecx
test r13b, r13b
je 0x1800d6574
mov r10, qword [rsp + 0x120]
mov rdx, qword [rsp + 0x88]
movzx eax, word [rsp + 0x140]
jmp 0x1800d5d30
cmp byte [r12 + 0x20], 0
je 0x1800d6574
mov eax, 0x280
and r9w, ax
mov eax, 0x80
cmp r9w, ax
jne 0x1800d6579
cmp rdi, rbx
jne 0x1800d6580
movzx eax, byte [rsp + 0x72]
jmp 0x1800d65c1
test r13b, r13b
jne 0x1800d65bf
lea ecx, [r15 - 1]
test ecx, ecx
jle 0x1800d65b6
nop dword [rax]
cmp ecx, 0x40
jge 0x1800d65a2
mov edx, 1
shl rdx, cl
dec rdx
jmp 0x1800d65a5
mov rdx, rbp
mov rax, rdx
and rax, rdi
cmp rax, rdx
je 0x1800d65ba
dec ecx
test ecx, ecx
jg 0x1800d6590
xor al, al
jmp 0x1800d65c1
movzx eax, cl
jmp 0x1800d65c1
mov al, 0xff
mov r13, qword [rsp + 0xe0]
mov rsi, qword [rsp + 0xe8]
mov rbx, qword [rsp + 0xf8]
mov r15, qword [rsp + 0xd8]
mov rbp, qword [rsp + 0xf0]
add rsp, 0x100
pop r14
pop r12
pop rdi
ret