Function at 0x1400755ac
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, 0xa8
xor r12d, r12d
mov r15, r8
movzx ebp, r9w
mov r10, rdx
mov r8, rcx
mov esi, r12d
mov ebx, r12d
cmp word [rsp + 0x110], r12w
je 0x140075605
mov rax, qword [rcx]
mov r9, qword [rax]
test byte [r9 + 0x5c], 0x40
jne 0x140075d5e
movzx edx, word [rdx]
mov word [rsp + 0x52], dx
cmp dx, 0x3f
ja 0x140075d5e
movzx r13d, dx
mov eax, 1
mov r11b, al
mov dword [rsp + 0x54], r13d
mov ecx, r13d
mov dword [rsp + 0x38], r11d
shl rax, cl
mov r14, r12
movzx ecx, bp
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x58], r12
mov dword [rsp + 0x4c], r12d
lea rdi, [rax - 1]
mov eax, 0x800
and cx, ax
mov qword [rsp + 0x70], rdi
movzx eax, cx
mov word [rsp + 0x3e], cx
neg ax
sbb r9w, r9w
neg r9w
add r9w, 0x182
xor edx, edx
mov word [rsp + 0x30], r9w
mov qword [rsp + 0x78], rdx
cmp rbx, rdi
jae 0x140075d28
movzx eax, word [rsp + 0x110]
cmp r12d, eax
jg 0x140075d25
test r12d, r12d
jle 0x1400756a7
or r14, qword [rsi + 8]
mov qword [rsp + 0x58], r14
cmp r12d, eax
jge 0x1400756c9
mov rax, qword [r15 + 0x18]
mov rsi, qword [rax + rdx*8]
xor eax, eax
mov qword [rsp + 0x88], rsi
test cx, cx
jne 0x140075cf2
jmp 0x1400756d9
mov rsi, qword [rsp + 0x118]
mov qword [rsp + 0x88], rsi
mov edx, dword [rsi + 0x28]
bt edx, 0xa
jb 0x140075d14
mov ecx, 0x80
movzx eax, bp
and ax, cx
mov word [rsp + 0x50], ax
je 0x1400756fe
xor eax, eax
mov word [rsi + 0x1e], ax
movzx eax, byte [rsi + 0x10]
imul rcx, rax, 0x70
mov rax, qword [r8 + 8]
mov r8d, dword [rcx + rax + 0x4c]
xor ecx, ecx
mov dword [rsp + 0x40], r8d
mov ebp, ecx
test r13d, r13d
je 0x140075827
mov r12, qword [rsp + 0xf0]
lea r14, [r10 + 8]
mov r15d, ecx
mov eax, ebp
bt rbx, rax
jb 0x1400757fb
mov rcx, qword [r14]
call fcn.140041c24
mov rdi, rax
cmp byte [rax], 0xa2
jne 0x1400757f9
cmp dword [rax + 0x28], r8d
jne 0x1400757f9
movsx r8d, word [rdi + 0x2c]
lea rcx, [r12 + 0x68]
movzx eax, r9w
xor edx, edx
mov r9, qword [rsp + 0x58]
mov qword [rsp + 0x28], rdx
not r9
mov edx, dword [rsp + 0x40]
mov dword [rsp + 0x20], eax
call fcn.140072300
xor ecx, ecx
mov r8, rax
test rax, rax
je 0x1400757e1
lea r10d, [rcx + 1]
cmp word [rax + 0x14], r10w
jne 0x1400757bb
movzx edx, word [rsi + 0x2c]
test edx, edx
je 0x1400757b5
mov r9, qword [rsi + 0x38]
movsxd rax, ecx
cmp r8, qword [r9 + rax*8]
je 0x1400757b5
add ecx, r10d
cmp ecx, edx
jl 0x1400757a5
cmp ecx, edx
jge 0x1400757ee
xor ecx, ecx
test byte [r8 + 0x14], 0x82
je 0x1400757dd
cmp word [rdi + 0x2c], cx
jl 0x1400757dd
mov r8, qword [r8]
mov rdx, qword [r14]
mov rcx, qword [r12]
call fcn.140041db4
xor ecx, ecx
test eax, eax
je 0x1400757e1
bts rbx, r15
mov r8d, dword [rsp + 0x40]
movzx r9d, word [rsp + 0x30]
jmp 0x1400757fb
mov r8d, dword [rsp + 0x40]
movzx r9d, word [rsp + 0x30]
xor ecx, ecx
mov eax, 1
add r14, 0x28
add ebp, eax
add r15, rax
cmp ebp, r13d
jl 0x140075730
mov r12d, dword [rsp + 0x4c]
mov edx, dword [rsi + 0x28]
mov r11d, dword [rsp + 0x38]
mov r10, qword [rsp + 0xf8]
bt edx, 0xc
jb 0x140075c1a
bt edx, 8
jae 0x14007584b
mov r9d, 1
mov word [rsp + 0x48], cx
movzx eax, r9w
mov r15, rcx
jmp 0x140075897
mov r15, qword [rsi + 0x20]
test r15, r15
je 0x140075d5e
test byte [r15 + 0x64], 4
jne 0x140075d5e
movzx eax, word [r15 + 0x5e]
mov word [rsp + 0x48], ax
movzx eax, word [r15 + 0x60]
cmp byte [r15 + 0x62], cl
je 0x140075889
bt edx, 0xf
jb 0x140075889
mov r9d, 1
mov r11b, r9b
jmp 0x140075892
mov r11b, cl
mov r9d, 1
mov dword [rsp + 0x38], r11d
movzx eax, ax
mov r14b, cl
mov byte [rsp + 0x34], cl
mov edi, ecx
mov byte [rsp + 0x33], cl
mov dword [rsp + 0x44], r14d
mov dword [rsp + 0x60], eax
test eax, eax
je 0x140075c1a
movzx r8d, word [rsi + 0x18]
mov bpl, r9b
cmp edi, r8d
jge 0x14007593a
movzx eax, word [rsi + 0x2e]
cmp edi, eax
jl 0x14007593a
mov r9, qword [rsi + 0x38]
movsxd rax, edi
mov rcx, qword [r9 + rax*8]
movzx eax, word [rcx + 0x14]
test word [rsp + 0x30], ax
je 0x14007590a
mov ecx, 0x180
test cx, ax
mov ecx, 0
movzx eax, r11b
cmove ecx, eax
mov r11b, cl
xor ecx, ecx
mov dword [rsp + 0x38], r11d
lea r9d, [rcx + 1]
jmp 0x140075be3
mov r12d, 1
test r12b, al
je 0x140075935
mov r10, qword [rcx]
lea edx, [rdi + 1]
jmp 0x140075930
movsxd rax, edx
mov rcx, qword [r9 + rax*8]
cmp qword [rcx], r10
je 0x140075a36
add edx, r12d
cmp edx, r8d
jl 0x14007591d
xor ecx, ecx
mov r9, r12
test r15, r15
je 0x140075a40
mov rax, qword [r15 + 8]
movsxd rcx, edi
movsx r13d, word [rax + rcx*2]
mov rax, qword [r15 + 0x38]
mov dl, byte [rcx + rax]
mov rax, qword [r15 + 0x18]
and dl, r9b
mov byte [rsp + 0x32], dl
movsx ecx, word [rax + 0x44]
cmp r13d, ecx
jne 0x14007596e
or r13d, 0xffffffff
xor ecx, ecx
test r11b, r11b
je 0x14007599f
test r13d, r13d
js 0x14007599f
cmp edi, r8d
jl 0x14007599f
mov rax, qword [r15 + 0x18]
mov rcx, qword [rax + 8]
movsxd rax, r13d
shl rax, 5
mov al, byte [rax + rcx + 0x18]
neg al
sbb cl, cl
and cl, r11b
mov byte [rsp + 0x38], cl
xor ecx, ecx
mov r12d, ecx
test bpl, bpl
je 0x140075b4e
cmp r12d, dword [rsp + 0x54]
jge 0x140075b49
mov eax, r12d
bt rbx, rax
jb 0x140075b3d
mov r9, qword [rsp + 0xf8]
movsxd rax, r12d
mov qword [rsp + 0x80], rax
lea r8, [rax + rax*4]
mov rcx, qword [r9 + r8*8 + 8]
mov qword [rsp + 0x90], r8
call fcn.140041c24
mov rdx, rax
mov al, byte [rsp + 0x108]
and al, 0xc0
neg al
sbb al, al
and al, bpl
mov byte [rsp + 0x3c], al
mov bpl, al
cmp r13d, 0xffffffff
jl 0x140075a4d
cmp byte [rdx], 0xa2
jne 0x140075b35
mov ecx, dword [rsp + 0x40]
cmp dword [rdx + 0x28], ecx
jne 0x140075b35
movsx eax, word [rdx + 0x2c]
xor ecx, ecx
cmp eax, r13d
jne 0x140075b37
movsxd r14, edi
jmp 0x140075a96
xor ecx, ecx
mov bpl, cl
jmp 0x140075937
or r13d, 0xffffffff
mov byte [rsp + 0x32], cl
jmp 0x140075970
mov rax, qword [r15 + 0x50]
movsxd r14, edi
lea rcx, [r14 + r14*4]
mov rcx, qword [rax + rcx*8 + 8]
call fcn.140041c24
mov rcx, rdx
mov r8, rax
call fcn.140041c24
mov r9d, dword [rsp + 0x40]
mov rdx, rax
xor ecx, ecx
call fcn.140047508
xor ecx, ecx
test eax, eax
jne 0x140075b37
mov r8, qword [rsp + 0x90]
mov r9, qword [rsp + 0xf8]
cmp r13d, 0xffffffff
je 0x140075adc
mov rax, qword [rsp + 0xf0]
mov rdx, qword [r9 + r8*8 + 8]
mov rbp, qword [rax]
mov rcx, rbp
call fcn.140041c50
test rax, rax
jne 0x140075ac1
mov rax, qword [rbp]
mov rax, qword [rax + 0x10]
mov rdx, qword [r15 + 0x40]
mov rcx, qword [rax]
mov bpl, byte [rsp + 0x3c]
mov rdx, qword [rdx + r14*8]
call fcn.140018a34
xor ecx, ecx
test eax, eax
jne 0x140075b37
mov r9d, 1
cmp word [rsp + 0x50], cx
je 0x140075af1
lea eax, [r9 + rdi]
mov word [rsi + 0x1e], ax
test byte [rsp + 0x108], 0x40
mov dl, r9b
mov r8, qword [rsp + 0x80]
mov r10, qword [rsp + 0xf8]
jne 0x140075ba3
lea rax, [r8 + r8*4]
mov cl, byte [r10 + rax*8 + 0x20]
xor eax, eax
and cl, r9b
cmp byte [rsp + 0x34], al
je 0x140075b6f
mov al, byte [rsp + 0x32]
xor al, byte [rsp + 0x33]
cmp al, cl
sete dl
jmp 0x140075b9d
xor ecx, ecx
mov r9d, 1
add r12d, r9d
test bpl, bpl
jne 0x1400759ab
mov r14d, dword [rsp + 0x44]
mov r10, qword [rsp + 0xf8]
test edi, edi
je 0x140075b67
movzx eax, word [rsp + 0x48]
cmp edi, eax
jge 0x140075bfb
mov r11b, cl
jmp 0x140075c00
mov al, cl
xor al, byte [rsp + 0x32]
mov byte [rsp + 0x33], al
je 0x140075b98
mov r9, qword [rsp + 0x120]
movsxd rax, dword [rsp + 0x4c]
mov rcx, qword [r9]
bts rcx, rax
mov qword [r9], rcx
mov r9d, 1
mov byte [rsp + 0x34], r9b
xor ecx, ecx
test dl, dl
je 0x140075bf1
lea rax, [r8 + r8*4]
test byte [r10 + rax*8 + 0x20], 2
je 0x140075bc0
movzx eax, word [rsi + 0x18]
cmp edi, eax
jne 0x140075bbe
bts dword [rsi + 0x28], 0x13
jmp 0x140075bc0
mov dl, cl
mov r14d, dword [rsp + 0x44]
test dl, dl
je 0x140075b56
mov r11d, dword [rsp + 0x38]
cmp r13d, 0xffffffff
movzx r14d, r14b
cmove r14d, r9d
bts rbx, r8
mov dword [rsp + 0x44], r14d
add edi, r9d
cmp edi, dword [rsp + 0x60]
jge 0x140075c00
jmp 0x1400758b8
mov r14d, dword [rsp + 0x44]
jmp 0x140075b56
mov r11d, dword [rsp + 0x38]
mov r13d, dword [rsp + 0x54]
test r14b, r14b
mov r12d, dword [rsp + 0x4c]
movzx r11d, r11b
cmovne r11d, r9d
mov dword [rsp + 0x38], r11d
test r11b, r11b
je 0x140075cc3
mov r14, qword [rsp + 0x68]
mov edi, ecx
or r14, qword [rsi + 8]
mov qword [rsp + 0x68], r14
test r13d, r13d
je 0x140075cc3
mov r12, qword [rsp + 0xf0]
mov rsi, r14
mov eax, edi
bt rbx, rax
jb 0x140075ca2
movsxd r15, edi
lea rax, [r15 + r15*4]
mov r14, qword [r10 + rax*8 + 8]
test r14, r14
je 0x140075c77
lea rcx, [r12 + 0x290]
mov rdx, r14
call fcn.140071d94
mov rbp, rax
xor ecx, ecx
jmp 0x140075c7a
mov rbp, rcx
test rbp, rbp
jne 0x140075c93
xor r8d, r8d
lea edx, [rbp + 1]
mov rcx, r14
call fcn.140043a2c
xor ecx, ecx
test eax, eax
je 0x140075ca2
mov rax, rsi
not rax
test rbp, rax
jne 0x140075ca2
bts rbx, r15
mov r10, qword [rsp + 0xf8]
inc edi
cmp edi, r13d
jl 0x140075c47
mov rsi, qword [rsp + 0x88]
mov r11d, dword [rsp + 0x38]
mov r12d, dword [rsp + 0x4c]
mov r8, qword [rsp + 0xf0]
xor eax, eax
movzx r9d, word [rsp + 0x30]
mov rdi, qword [rsp + 0x70]
movzx ecx, word [rsp + 0x3e]
movzx ebp, word [rsp + 0x108]
mov r14, qword [rsp + 0x58]
mov r15, qword [rsp + 0x100]
mov edx, 1
add qword [rsp + 0x78], rdx
add r12d, edx
mov rdx, qword [rsp + 0x78]
mov dword [rsp + 0x4c], r12d
test r11b, r11b
jne 0x14007567f
jmp 0x140075d25
xor r8d, r8d
mov rcx, rdi
cmp byte [rsi + 0x1d], r8b
cmove rcx, rbx
mov rbx, rcx
cmp rbx, rdi
jne 0x140075d30
mov al, byte [rsp + 0x52]
jmp 0x140075d60
test r11b, r11b
jne 0x140075d78
lea ecx, [r13 - 1]
test ecx, ecx
jle 0x140075d5e
mov r9d, 1
mov rdx, r9
shl rdx, cl
sub rdx, r9
mov rax, rdx
and rax, rbx
cmp rax, rdx
je 0x140075d74
sub ecx, r9d
test ecx, ecx
jg 0x140075d43
xor al, al
add rsp, 0xa8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov al, cl
jmp 0x140075d60
mov al, 0xff
jmp 0x140075d60