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

Disassembly:
mov rax, rsp
mov word [rax + 0x20], r9w
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x98
xor r12d, r12d
mov r15, r8
mov r10, rdx
mov r11, rcx
mov edi, r12d
mov r14d, r12d
cmp word [rsp + 0x100], r12w
je 0x1400cd722
mov rax, qword [rcx]
mov r9, qword [rax]
test byte [r9 + 0x5c], 0x40
jne 0x1400cdf57
movzx r9d, word [rsp + 0xf8]
movzx ebx, word [rdx]
mov word [rsp + 0x56], bx
cmp ebx, 0x3f
ja 0x1400cdf57
mov r8d, 1
mov dword [rsp + 0x3c], ebx
mov ecx, ebx
mov qword [rsp + 0x68], r12
mov edx, r8d
mov qword [rsp + 0x58], r12
shl rdx, cl
mov r13b, r8b
sub rdx, r8
mov dword [rsp + 0x38], r13d
mov r8d, dword [rsp + 0x3c]
mov ecx, 0x803
movzx eax, r9w
mov qword [rsp + 0x70], rdx
and ax, cx
mov rbx, r12
neg ax
mov qword [rsp + 0x78], rbx
mov ecx, r12d
mov rsi, r12
sbb bp, bp
mov dword [rsp + 0x50], ecx
neg bp
add bp, 0x182
mov word [rsp + 0x30], bp
cmp r14, rdx
jae 0x1400cdf03
movzx eax, word [rsp + 0x100]
cmp ecx, eax
jg 0x1400cdf1b
test ecx, ecx
jle 0x1400cd7bb
or rsi, qword [rdi + 8]
mov qword [rsp + 0x58], rsi
cmp ecx, eax
jge 0x1400cd7dd
bt r9w, 0xb
mov rax, qword [r15 + 0x18]
mov rdi, qword [rax + rbx*8]
mov qword [rsp + 0x80], rdi
jb 0x1400cdee2
jmp 0x1400cd7ed
mov rdi, qword [rsp + 0x108]
mov qword [rsp + 0x80], rdi
test dword [rdi + 0x28], 0x400
jne 0x1400cdf0b
movzx eax, r9w
mov ecx, 0x80
and ax, cx
mov word [rsp + 0x54], ax
je 0x1400cd817
xor r15d, r15d
mov word [rdi + 0x1e], r15w
jmp 0x1400cd81a
xor r15d, r15d
movzx eax, byte [rdi + 0x10]
mov esi, r15d
imul rcx, rax, 0x70
mov rax, qword [r11 + 8]
mov r9d, 1
mov edx, dword [rcx + rax + 0x4c]
mov dword [rsp + 0x44], edx
test r8d, r8d
je 0x1400cd9c7
mov r13d, dword [rsp + 0x3c]
mov eax, esi
bt r14, rax
jb 0x1400cd9b1
mov r15d, esi
shl r15, 5
mov r12d, esi
mov rcx, qword [r15 + r10 + 8]
call fcn.14009026c
mov rbx, rax
test rax, rax
je 0x1400cd9ae
mov al, byte [rax]
add al, 0x5a
test al, 0xfd
jne 0x1400cd9ae
cmp dword [rbx + 0x2c], edx
jne 0x1400cd9ae
mov r9, qword [rsp + 0x58]
lea rcx, [r11 + 0x70]
movsx r8d, word [rbx + 0x30]
xor r10d, r10d
movzx eax, bp
not r9
mov qword [rsp + 0x28], r10
mov dword [rsp + 0x20], eax
call fcn.1400ca170
mov rbp, rax
xor eax, eax
lea r9d, [rax + 1]
test rbp, rbp
je 0x1400cd995
cmp word [rbp + 0x14], r9w
jne 0x1400cd8ec
movzx edx, word [rdi + 0x2c]
mov ecx, eax
test edx, edx
je 0x1400cd8e4
mov r8, qword [rdi + 0x38]
movsxd rax, ecx
cmp rbp, qword [r8 + rax*8]
je 0x1400cd8e2
add ecx, r9d
cmp ecx, edx
jl 0x1400cd8d2
xor eax, eax
cmp ecx, edx
jge 0x1400cd995
test byte [rbp + 0x14], 0x82
je 0x1400cd967
cmp word [rbx + 0x30], ax
jl 0x1400cd967
mov rbx, qword [rsp + 0xe0]
mov rdx, qword [rsp + 0xe8]
mov rbx, qword [rbx]
mov rdx, qword [r15 + rdx + 8]
mov rcx, rbx
call fcn.140090298
mov r15, rax
test rax, rax
jne 0x1400cd927
mov rax, qword [rbx]
mov r15, qword [rax + 0x10]
mov rax, qword [rbp]
test dword [rax + 4], 0x200
je 0x1400cd93e
mov rdx, qword [rax + 0x18]
mov r8, qword [rax + 0x10]
jmp 0x1400cd946
mov rdx, qword [rax + 0x10]
mov r8, qword [rax + 0x18]
mov rcx, rbx
call fcn.14009050c
test rax, rax
je 0x1400cd98f
mov rdx, qword [rax]
mov rcx, qword [r15]
call fcn.140062a80
xor r15d, r15d
test eax, eax
jne 0x1400cd96e
jmp 0x1400cd96a
xor r15d, r15d
bts r14, r12
mov r10, qword [rsp + 0xe8]
mov r9d, 1
mov r11, qword [rsp + 0xe0]
mov edx, dword [rsp + 0x44]
movzx ebp, word [rsp + 0x30]
jmp 0x1400cd9b1
mov r9d, 1
mov r10, qword [rsp + 0xe8]
mov r11, qword [rsp + 0xe0]
mov edx, dword [rsp + 0x44]
movzx ebp, word [rsp + 0x30]
xor r15d, r15d
add esi, r9d
cmp esi, r13d
jl 0x1400cd845
mov r13d, dword [rsp + 0x38]
mov r8d, dword [rsp + 0x3c]
test dword [rdi + 0x28], 0x1000
jne 0x1400cddf7
test dword [rdi + 0x28], 0x100
je 0x1400cd9f1
mov r11d, dword [rsp + 0x38]
mov rbp, r15
mov word [rsp + 0x4c], r15w
movzx eax, r9w
jmp 0x1400cda2f
mov rbp, qword [rdi + 0x20]
test rbp, rbp
je 0x1400cdf57
test byte [rbp + 0x64], 4
jne 0x1400cdf57
movzx eax, word [rbp + 0x5e]
mov word [rsp + 0x4c], ax
movzx eax, word [rbp + 0x60]
cmp byte [rbp + 0x62], r15b
je 0x1400cda27
test dword [rdi + 0x28], 0x8000
mov r11b, r9b
je 0x1400cda2a
mov r11b, r15b
mov dword [rsp + 0x38], r11d
movzx eax, ax
mov r12b, r15b
mov byte [rsp + 0x34], r15b
mov ebx, r15d
mov byte [rsp + 0x33], r15b
mov dword [rsp + 0x48], r12d
mov dword [rsp + 0x60], eax
test eax, eax
je 0x1400cddeb
movzx r8d, word [rdi + 0x18]
mov sil, r9b
cmp ebx, r8d
jge 0x1400cdad2
movzx eax, word [rdi + 0x2e]
cmp ebx, eax
jl 0x1400cdad2
mov r9, qword [rdi + 0x38]
movsxd rax, ebx
mov rcx, qword [r9 + rax*8]
movzx eax, word [rcx + 0x14]
test word [rsp + 0x30], ax
je 0x1400cdaa3
mov ecx, 0x180
mov r9d, 1
test cx, ax
movzx eax, r11b
mov ecx, r15d
cmove ecx, eax
mov r11b, cl
mov dword [rsp + 0x38], r11d
jmp 0x1400cdd5e
mov r13d, 1
test r13b, al
je 0x1400cdacf
mov r10, qword [rcx]
lea edx, [rbx + 1]
jmp 0x1400cdac5
movsxd rax, edx
mov rcx, qword [r9 + rax*8]
cmp qword [rcx], r10
je 0x1400cdacc
add edx, r13d
cmp edx, r8d
jl 0x1400cdab6
jmp 0x1400cdacf
mov sil, r15b
mov r9, r13
test rbp, rbp
je 0x1400cdb08
mov rax, qword [rbp + 8]
mov r10d, 0xffffffff
movsxd rcx, ebx
movsx r13d, word [rax + rcx*2]
mov rax, qword [rbp + 0x38]
mov dl, byte [rcx + rax]
mov rax, qword [rbp + 0x18]
and dl, r9b
mov byte [rsp + 0x32], dl
movsx ecx, word [rax + 0x34]
cmp r13d, ecx
cmove r13d, r10d
jmp 0x1400cdb14
or r10d, 0xffffffff
mov byte [rsp + 0x32], r15b
mov r13d, r10d
test r11b, r11b
je 0x1400cdb51
test r13d, r13d
js 0x1400cdb40
cmp ebx, r8d
jl 0x1400cdb51
movsxd rax, r13d
lea rdx, [rax + rax*2]
mov rax, qword [rbp + 0x18]
mov rcx, qword [rax + 8]
test byte [rcx + rdx*8 + 8], 0xf
jne 0x1400cdb51
mov byte [rsp + 0x38], r15b
jmp 0x1400cdb51
cmp r13d, 0xfffffffe
movzx r11d, r11b
cmove r11d, r15d
mov dword [rsp + 0x38], r11d
xor r11d, r11d
test sil, sil
je 0x1400cddaf
cmp r15d, dword [rsp + 0x3c]
jge 0x1400cddaa
mov eax, r15d
bt r14, rax
jb 0x1400cdc88
mov r8, qword [rsp + 0xe8]
movsxd rax, r15d
shl rax, 5
mov qword [rsp + 0x88], rax
mov rcx, qword [rax + r8 + 8]
call fcn.14009026c
mov rdx, rax
test rax, rax
je 0x1400cdc88
movzx ecx, word [rsp + 0xf8]
mov al, cl
and al, 0xc0
neg al
sbb al, al
and al, sil
mov byte [rsp + 0x40], al
mov sil, al
cmp r13d, r10d
jl 0x1400cdbf9
cmp byte [rdx], 0xa6
je 0x1400cdbcf
cmp byte [rdx], 0xa8
jne 0x1400cdc88
mov r9d, dword [rsp + 0x44]
cmp dword [rdx + 0x2c], r9d
jne 0x1400cdc82
movsx eax, word [rdx + 0x30]
cmp eax, r13d
jne 0x1400cdc82
movsxd r12, ebx
cmp r13d, r10d
je 0x1400cdcad
jmp 0x1400cdc3a
mov rax, qword [rbp + 0x50]
movsxd r12, ebx
mov rcx, r12
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
call fcn.14009026c
mov rcx, rdx
mov r8, rax
call fcn.14009026c
mov r9d, dword [rsp + 0x44]
mov rdx, rax
xor ecx, ecx
call fcn.140096728
xor r11d, r11d
test eax, eax
jne 0x1400cdc82
mov r8, qword [rsp + 0xe8]
mov rax, qword [rsp + 0xe0]
mov rdx, qword [rsp + 0x88]
mov rsi, qword [rax]
mov rdx, qword [rdx + r8 + 8]
mov rcx, rsi
call fcn.140090298
xor r11d, r11d
test rax, rax
jne 0x1400cdc69
mov rax, qword [rsi]
mov rax, qword [rax + 0x10]
mov rdx, qword [rbp + 0x40]
mov rcx, qword [rax]
mov sil, byte [rsp + 0x40]
mov rdx, qword [rdx + r12*8]
call fcn.140062a80
test eax, eax
je 0x1400cdc9d
mov r9d, 1
add r15d, r9d
test sil, sil
je 0x1400cddaa
or r10d, 0xffffffff
jmp 0x1400cdb5d
mov r8, qword [rsp + 0xe8]
movzx ecx, word [rsp + 0xf8]
mov esi, 1
cmp word [rsp + 0x54], r11w
je 0x1400cdcc1
lea eax, [rsi + rbx]
mov word [rdi + 0x1e], ax
test cl, 0x40
jne 0x1400cdd0f
mov r9b, byte [rsp + 0x34]
movsxd rax, r15d
shl rax, 5
mov dl, byte [rax + r8 + 0x18]
and dl, sil
test r9b, r9b
je 0x1400cdd72
mov r10b, byte [rsp + 0x33]
mov ecx, r11d
mov r8b, byte [rsp + 0x32]
xor r8b, r10b
movzx eax, sil
cmp r8b, dl
mov byte [rsp + 0x33], r10b
mov byte [rsp + 0x34], r9b
cmove ecx, eax
test cl, cl
je 0x1400cddaa
mov r9d, 1
mov r10, qword [rsp + 0xe8]
movsxd rcx, r15d
mov rax, rcx
shl rax, 5
test byte [rax + r10 + 0x18], 2
je 0x1400cdd3c
movzx eax, word [rdi + 0x18]
cmp ebx, eax
jne 0x1400cdda3
bts dword [rdi + 0x28], 0x13
mov r12d, dword [rsp + 0x48]
cmp r13d, 0xffffffff
mov r11d, dword [rsp + 0x38]
movzx r12d, r12b
cmove r12d, r9d
bts r14, rcx
xor r15d, r15d
mov dword [rsp + 0x48], r12d
add ebx, r9d
cmp ebx, dword [rsp + 0x60]
jl 0x1400cda53
mov r13d, dword [rsp + 0x38]
jmp 0x1400cdddc
xor dl, byte [rsp + 0x32]
mov byte [rsp + 0x33], dl
je 0x1400cdd93
mov rdx, qword [rsp + 0x110]
movsxd rax, dword [rsp + 0x50]
mov rcx, qword [rdx]
bts rcx, rax
mov qword [rdx], rcx
mov r9d, 1
mov byte [rsp + 0x34], r9b
jmp 0x1400cdd15
mov r12d, dword [rsp + 0x48]
jmp 0x1400cddb7
mov r12d, dword [rsp + 0x48]
mov r10, qword [rsp + 0xe8]
xor r15d, r15d
test ebx, ebx
je 0x1400cddc7
movzx eax, word [rsp + 0x4c]
cmp ebx, eax
jge 0x1400cddd1
mov r13b, r15b
mov dword [rsp + 0x38], r13d
jmp 0x1400cddd6
mov r13d, dword [rsp + 0x38]
mov r9d, 1
test r12b, r12b
je 0x1400cddf2
mov r13b, r9b
mov dword [rsp + 0x38], r13d
jmp 0x1400cde00
mov r13d, dword [rsp + 0x38]
jmp 0x1400cddf7
mov r8d, dword [rsp + 0x3c]
test r13b, r13b
je 0x1400cdeb3
mov rsi, qword [rsp + 0x68]
mov ebx, r15d
or rsi, qword [rdi + 8]
mov r12d, dword [rsp + 0x3c]
mov qword [rsp + 0x68], rsi
test r12d, r12d
je 0x1400cdeb0
mov r13, qword [rsp + 0xe0]
mov rdi, rsi
mov eax, ebx
bt r14, rax
jb 0x1400cde93
mov eax, ebx
shl rax, 5
mov r15d, ebx
mov rbp, qword [rax + r10 + 8]
xor eax, eax
test rbp, rbp
je 0x1400cde60
lea rcx, [r13 + 0x258]
mov rdx, rbp
call fcn.1400c9b80
mov rsi, rax
test rax, rax
jne 0x1400cde76
jmp 0x1400cde63
mov rsi, rax
xor r8d, r8d
mov rcx, rbp
lea edx, [r8 + 1]
call fcn.140092574
test eax, eax
je 0x1400cde8d
mov rax, rdi
mov r9d, 1
not rax
test rsi, rax
jne 0x1400cde93
bts r14, r15
jmp 0x1400cde93
mov r9d, 1
mov r10, qword [rsp + 0xe8]
add ebx, r9d
cmp ebx, r12d
jl 0x1400cde2a
mov rdi, qword [rsp + 0x80]
mov r13d, dword [rsp + 0x38]
mov r8d, r12d
mov ecx, dword [rsp + 0x50]
xor r12d, r12d
mov rdx, qword [rsp + 0x70]
movzx r9d, word [rsp + 0xf8]
mov r11, qword [rsp + 0xe0]
movzx ebp, word [rsp + 0x30]
mov rsi, qword [rsp + 0x58]
mov r15, qword [rsp + 0xf0]
mov eax, 1
add qword [rsp + 0x78], rax
add ecx, eax
mov rbx, qword [rsp + 0x78]
mov dword [rsp + 0x50], ecx
test r13b, r13b
jne 0x1400cd795
cmp r14, rdx
jne 0x1400cdf1b
mov al, byte [rsp + 0x56]
jmp 0x1400cdf59
cmp byte [rdi + 0x1d], r12b
je 0x1400cdf1b
mov eax, 0x80
test al, r9b
jmp 0x1400cdf03
test r13b, r13b
jne 0x1400cdf71
mov edx, dword [rsp + 0x3c]
dec edx
test edx, edx
jle 0x1400cdf57
mov r8d, 1
mov ecx, edx
mov rax, r8
shl rax, cl
mov rcx, r12
sub rax, r8
cmp edx, 0x40
cmovl rcx, rax
mov rax, rcx
and rax, r14
cmp rax, rcx
je 0x1400cdf6d
sub edx, r8d
test edx, edx
jg 0x1400cdf30
xor al, al
add rsp, 0x98
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov al, dl
jmp 0x1400cdf59
or eax, 0xffffffff
jmp 0x1400cdf59