Function at 0x140236868
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 r15d, r15d
mov rbp, r8
mov r8, rdx
mov rdi, rcx
mov r13d, r15d
mov r11d, r15d
mov qword [rsp + 0x48], r15
cmp word [rsp + 0x110], r15w
je 0x1402368cb
mov rax, qword [rcx]
mov r9, qword [rax]
test byte [r9 + 0x60], 0x40
jne 0x1402370e0
movzx r9d, word [rsp + 0x108]
movzx r10d, word [rdx]
mov word [rsp + 0x5e], r10w
cmp r10d, 0x3f
ja 0x1402370e0
mov eax, 1
mov dword [rsp + 0x58], r10d
mov edx, eax
mov qword [rsp + 0x70], r15
mov r12b, al
mov qword [rsp + 0x80], r15
mov ecx, r10d
mov dword [rsp + 0x38], r12d
shl rdx, cl
mov rbx, r15
sub rdx, rax
mov qword [rsp + 0x60], rbx
mov ecx, 0x803
mov qword [rsp + 0x78], rdx
movzx eax, r9w
mov r14d, r10d
and ax, cx
mov r10, r15
neg ax
mov ecx, r15d
mov dword [rsp + 0x54], ecx
sbb si, si
neg si
add si, 0x182
mov word [rsp + 0x30], si
cmp r11, rdx
jae 0x140237084
movzx eax, word [rsp + 0x110]
cmp ecx, eax
jg 0x1402370a6
test ecx, ecx
jle 0x140236968
or rbx, qword [r13 + 8]
mov qword [rsp + 0x60], rbx
cmp ecx, eax
jge 0x14023698a
bt r9w, 0xb
mov rax, qword [rbp + 0x18]
mov r13, qword [rax + r10*8]
mov qword [rsp + 0x88], r13
jb 0x14023705d
jmp 0x14023699a
mov r13, qword [rsp + 0x118]
mov qword [rsp + 0x88], r13
mov edx, dword [r13 + 0x38]
bt edx, 0xa
jb 0x14023708c
movzx eax, r9w
mov ecx, 0x80
and ax, cx
mov word [rsp + 0x5c], ax
je 0x1402369c0
mov word [r13 + 0x1e], r15w
movzx eax, byte [r13 + 0x10]
mov ebp, r15d
imul rcx, rax, 0x68
mov rax, qword [rdi + 8]
mov r10d, dword [rcx + rax + 0x4c]
mov dword [rsp + 0x3c], r10d
test r14d, r14d
je 0x140236b48
mov r12d, dword [rsp + 0x58]
lea r14, [r8 + 8]
mov r8d, 1
mov eax, ebp
bt r11, rax
jb 0x140236b1f
mov rcx, qword [r14]
call fcn.1401f20a0
xor edx, edx
mov rbx, rax
test rax, rax
je 0x140236b1f
mov al, byte [rax]
add al, 0x59
test al, 0xfd
jne 0x140236b1f
cmp dword [rbx + 0x2c], r10d
jne 0x140236b1f
mov r9, qword [rsp + 0x60]
lea rcx, [rdi + 0x70]
movsx r8d, word [rbx + 0x30]
not r9
mov qword [rsp + 0x28], rdx
mov edx, r10d
movzx eax, si
mov dword [rsp + 0x20], eax
call fcn.140226678
mov rsi, rax
xor eax, eax
test rsi, rsi
je 0x140236b0a
lea r9d, [rax + 1]
cmp word [rsi + 0x14], r9w
jne 0x140236a8d
movzx edx, word [r13 + 0x3c]
mov ecx, eax
test edx, edx
je 0x140236a89
mov r8, qword [r13 + 0x48]
movsxd rax, ecx
cmp rsi, qword [r8 + rax*8]
je 0x140236a87
add ecx, r9d
cmp ecx, edx
jl 0x140236a77
xor eax, eax
cmp ecx, edx
jge 0x140236b00
test byte [rsi + 0x14], 0x82
je 0x140236af0
cmp word [rbx + 0x30], ax
jl 0x140236af0
mov rbx, qword [rdi]
mov rdx, qword [r14]
mov rcx, rbx
call fcn.1401f05fc
mov rdi, rax
test rax, rax
jne 0x140236ab6
mov rax, qword [rbx]
mov rdi, qword [rax + 0x10]
mov rax, qword [rsi]
test dword [rax + 4], 0x400
je 0x140236acc
mov rdx, qword [rax + 0x18]
mov r8, qword [rax + 0x10]
jmp 0x140236ad4
mov rdx, qword [rax + 0x10]
mov r8, qword [rax + 0x18]
mov rcx, rbx
call fcn.1401e4204
test rax, rax
je 0x140236b0a
mov rdx, qword [rax]
mov rcx, qword [rdi]
call fcn.140211a98
test eax, eax
jne 0x140236b0a
mov r11, qword [rsp + 0x48]
bts r11, r15
mov qword [rsp + 0x48], r11
jmp 0x140236b0f
mov r11, qword [rsp + 0x48]
mov r8, r9
jmp 0x140236b15
mov r11, qword [rsp + 0x48]
mov r8d, 1
mov r10d, dword [rsp + 0x3c]
movzx esi, word [rsp + 0x30]
mov rdi, qword [rsp + 0xf0]
add ebp, r8d
add r15, r8
add r14, 0x20
cmp ebp, r12d
jl 0x1402369f2
mov r12d, dword [rsp + 0x38]
xor r15d, r15d
mov edx, dword [r13 + 0x38]
jmp 0x140236b4e
mov r8d, 1
bt edx, 0xc
jb 0x140236f64
bt edx, 8
jae 0x140236b71
mov ebp, dword [rsp + 0x38]
mov r12, r15
mov word [rsp + 0x50], r15w
movzx eax, r8w
jmp 0x140236bb2
mov r12, qword [r13 + 0x20]
test r12, r12
je 0x1402370e0
test byte [r12 + 0x64], 4
jne 0x1402370e0
movzx eax, word [r12 + 0x5e]
mov word [rsp + 0x50], ax
movzx eax, word [r12 + 0x60]
cmp byte [r12 + 0x62], r15b
je 0x140236bab
mov bpl, r8b
bt edx, 0xf
jae 0x140236bae
mov bpl, r15b
mov dword [rsp + 0x38], ebp
movzx eax, ax
mov r14b, r15b
mov byte [rsp + 0x34], r15b
mov edi, r15d
mov byte [rsp + 0x33], r15b
mov dword [rsp + 0x40], r14d
mov dword [rsp + 0x68], eax
test eax, eax
je 0x140236f5f
movzx r10d, word [r13 + 0x18]
mov bl, r8b
cmp edi, r10d
jge 0x140236c49
movzx eax, word [r13 + 0x3e]
cmp edi, eax
jl 0x140236c49
mov r9, qword [r13 + 0x48]
movsxd rax, edi
mov rcx, qword [r9 + rax*8]
movzx eax, word [rcx + 0x14]
test ax, si
je 0x140236c1e
mov ecx, 0x180
test cx, ax
movzx eax, bpl
mov ecx, r15d
cmove ecx, eax
mov bpl, cl
mov dword [rsp + 0x38], ebp
jmp 0x140236f31
test r8b, al
je 0x140236c49
mov r8, qword [rcx]
lea edx, [rdi + 1]
jmp 0x140236c39
movsxd rax, edx
mov rcx, qword [r9 + rax*8]
cmp qword [rcx], r8
je 0x140236c40
inc edx
cmp edx, r10d
jl 0x140236c2b
jmp 0x140236c43
mov bl, r15b
mov r8d, 1
test r12, r12
je 0x140236cab
mov rax, qword [r12 + 8]
movsxd rcx, edi
movsx r15d, word [rax + rcx*2]
mov rax, qword [r12 + 0x38]
mov dl, byte [rcx + rax]
mov rax, qword [r12 + 0x18]
and dl, r8b
mov byte [rsp + 0x32], dl
movsx ecx, word [rax + 0x34]
cmp r15d, ecx
jne 0x140236c7c
or r15d, 0xffffffff
xor esi, esi
test bpl, bpl
je 0x140236cc7
test r15d, r15d
js 0x140236cb8
cmp edi, r10d
jl 0x140236cc7
movsxd rax, r15d
lea rdx, [rax + rax*2]
mov rax, qword [r12 + 0x18]
mov rcx, qword [rax + 8]
test byte [rcx + rdx*8 + 8], 0xf
jne 0x140236cc7
mov byte [rsp + 0x38], sil
jmp 0x140236cc7
or r15d, 0xffffffff
xor esi, esi
mov byte [rsp + 0x32], sil
jmp 0x140236c7e
cmp r15d, 0xfffffffe
movzx ebp, bpl
cmove ebp, esi
mov dword [rsp + 0x38], ebp
test bl, bl
je 0x140236e15
cmp esi, dword [rsp + 0x58]
jge 0x140236e10
mov eax, esi
bt r11, rax
jb 0x140236e05
mov r10, qword [rsp + 0xf8]
movsxd r8, esi
mov r14, r8
mov qword [rsp + 0x90], r8
shl r14, 5
mov rcx, qword [r14 + r10 + 8]
call fcn.1401f20a0
mov rdx, rax
test rax, rax
je 0x140236dff
movzx r9d, word [rsp + 0x108]
mov al, r9b
and al, 0xc0
neg al
sbb al, al
and al, bl
mov bl, al
mov bpl, al
cmp r15d, 0xffffffff
jl 0x140236d68
cmp byte [rdx], 0xa7
je 0x140236d42
cmp byte [rdx], 0xa9
jne 0x140236dff
mov eax, dword [rsp + 0x3c]
cmp dword [rdx + 0x2c], eax
jne 0x140236dff
movsx eax, word [rdx + 0x30]
cmp eax, r15d
jne 0x140236dff
cmp r15d, 0xffffffff
je 0x140236e54
jmp 0x140236db8
mov rax, qword [r12 + 0x50]
movsxd rcx, edi
shl rcx, 5
mov r8, qword [rcx + rax + 8]
jmp 0x140236d89
test dword [r8 + 4], 0x2000
je 0x140236d8e
mov r8, qword [r8 + 0x10]
test r8, r8
jne 0x140236d7b
test dword [rdx + 4], 0x2000
je 0x140236da0
mov rdx, qword [rdx + 0x10]
test rdx, rdx
jne 0x140236d8e
mov r9d, dword [rsp + 0x3c]
xor ecx, ecx
call fcn.1401f07c8
test eax, eax
jne 0x140236dfa
mov r10, qword [rsp + 0xf8]
mov rax, qword [rsp + 0xf0]
mov rdx, qword [r14 + r10 + 8]
mov rbx, qword [rax]
mov rcx, rbx
call fcn.1401f05fc
mov rcx, rax
test rax, rax
jne 0x140236ddf
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
mov rdx, qword [r12 + 0x40]
mov bl, bpl
mov rcx, qword [rcx]
movsxd rax, edi
mov rdx, qword [rdx + rax*8]
call fcn.140211a98
test eax, eax
je 0x140236e36
mov r11, qword [rsp + 0x48]
mov r8d, 1
add esi, r8d
test bl, bl
jne 0x140236ccf
mov r14d, dword [rsp + 0x40]
xor r15d, r15d
test edi, edi
je 0x140236e29
movzx eax, word [rsp + 0x50]
cmp edi, eax
jge 0x140236f45
mov r12b, r15b
mov dword [rsp + 0x38], r12d
jmp 0x140236f4a
mov r8, qword [rsp + 0x90]
mov r11, qword [rsp + 0x48]
movzx r9d, word [rsp + 0x108]
mov r10, qword [rsp + 0xf8]
xor ebx, ebx
lea esi, [rbx + 1]
cmp word [rsp + 0x5c], bx
je 0x140236e68
lea eax, [rsi + rdi]
mov word [r13 + 0x1e], ax
mov dl, sil
test r9b, 0x40
jne 0x140236ed8
mov r14b, byte [rsp + 0x34]
mov rax, r8
shl rax, 5
mov cl, byte [rax + r10 + 0x18]
and cl, sil
test r14b, r14b
je 0x140236eb2
mov sil, byte [rsp + 0x33]
mov al, byte [rsp + 0x32]
xor al, sil
mov byte [rsp + 0x33], sil
cmp al, cl
mov byte [rsp + 0x34], r14b
sete dl
jne 0x140236e10
mov esi, 1
jmp 0x140236ed8
xor cl, byte [rsp + 0x32]
mov byte [rsp + 0x33], cl
je 0x140236ed3
mov r9, qword [rsp + 0x120]
movsxd rax, dword [rsp + 0x54]
mov rcx, qword [r9]
bts rcx, rax
mov qword [r9], rcx
mov byte [rsp + 0x34], sil
mov rax, r8
shl rax, 5
test byte [rax + r10 + 0x18], 2
je 0x140236f02
movzx eax, word [r13 + 0x18]
cmp edi, eax
jne 0x140236e10
bts dword [r13 + 0x38], 0x13
test dl, dl
je 0x140236e10
mov r14d, dword [rsp + 0x40]
cmp r15d, 0xffffffff
mov ebp, dword [rsp + 0x38]
movzx r14d, r14b
cmove r14d, esi
movzx esi, word [rsp + 0x30]
bts r11, r8
mov dword [rsp + 0x40], r14d
xor r15d, r15d
mov qword [rsp + 0x48], r11
lea r8d, [r15 + 1]
add edi, r8d
cmp edi, dword [rsp + 0x68]
jl 0x140236bd6
mov r12d, dword [rsp + 0x38]
jmp 0x140236f50
mov r12d, dword [rsp + 0x38]
mov r8d, 1
test r14b, r14b
je 0x140236f64
mov r12b, r8b
mov dword [rsp + 0x38], r12d
jmp 0x140236f6d
mov r12d, dword [rsp + 0x38]
test r12b, r12b
je 0x140237024
mov rbp, qword [rsp + 0x70]
mov ebx, r15d
or rbp, qword [r13 + 8]
mov r14d, dword [rsp + 0x58]
mov qword [rsp + 0x70], rbp
test r14d, r14d
je 0x140237029
mov r15, qword [rsp + 0xf8]
mov r13, rbp
mov r12, qword [rsp + 0xf0]
mov eax, ebx
bt r11, rax
jb 0x14023700a
mov eax, ebx
lea rcx, [r12 + 0x258]
shl rax, 5
mov ebp, ebx
mov rdi, qword [rax + r15 + 8]
mov rdx, rdi
call fcn.140226520
mov rsi, rax
test rax, rax
jne 0x140236fde
xor r8d, r8d
lea edx, [rax + 1]
mov rcx, rdi
call fcn.14019d4d8
test eax, eax
je 0x140236fff
mov r11, qword [rsp + 0x48]
mov rax, r13
not rax
mov r8d, 1
test rsi, rax
jne 0x14023700a
bts r11, rbp
mov qword [rsp + 0x48], r11
jmp 0x14023700a
mov r11, qword [rsp + 0x48]
mov r8d, 1
add ebx, r8d
cmp ebx, r14d
jl 0x140236f9f
mov r13, qword [rsp + 0x88]
xor r15d, r15d
mov r12d, dword [rsp + 0x38]
jmp 0x140237029
mov r14d, dword [rsp + 0x58]
movzx r9d, word [rsp + 0x108]
mov ecx, dword [rsp + 0x54]
mov rdx, qword [rsp + 0x78]
mov r8, qword [rsp + 0xf8]
mov rdi, qword [rsp + 0xf0]
movzx esi, word [rsp + 0x30]
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x100]
mov eax, 1
add qword [rsp + 0x80], rax
add ecx, eax
mov r10, qword [rsp + 0x80]
mov dword [rsp + 0x54], ecx
test r12b, r12b
jne 0x140236942
cmp r11, rdx
jne 0x1402370a6
mov al, byte [rsp + 0x5e]
jmp 0x1402370e2
cmp byte [r13 + 0x20], r15b
je 0x1402370a6
mov eax, 0x280
and r9w, ax
mov eax, 0x80
cmp r9w, ax
jne 0x140237086
test r12b, r12b
jne 0x1402370fa
lea edx, [r14 - 1]
test edx, edx
jle 0x1402370e0
mov r8d, 1
mov ecx, edx
mov rax, r8
shl rax, cl
mov rcx, r15
sub rax, r8
cmp edx, 0x40
cmovl rcx, rax
mov rax, rcx
and rax, r11
cmp rax, rcx
je 0x1402370f6
sub edx, r8d
test edx, edx
jg 0x1402370b9
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, dl
jmp 0x1402370e2
mov al, 0xff
jmp 0x1402370e2