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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r13
push r14
push r15
sub rsp, 0x20
mov r14, qword [rcx + 8]
cmp edx, 1
mov r13d, edx
sete al
xor r15d, r15d
mov rbp, rcx
mov byte [r14 + 0x28], al
mov rdi, qword [rcx + 8]
mov ebx, r15d
call fcn.1400357d0
movzx eax, byte [rbp + 0x10]
cmp al, 2
je 0x140042b13
cmp al, 1
je 0x140042b13
cmp byte [rdi + 0x89], bl
je 0x1400429eb
mov rax, qword [rdi + 0x80]
cmp qword [rax], rbx
je 0x1400429eb
mov ebx, 0x106
jmp 0x140042b13
mov rax, qword [rbp + 8]
cmp byte [rbp + 0x11], bl
je 0x140042a32
cmp qword [rax + 0x80], rbp
je 0x140042a0f
cmp byte [rax + 0x88], bl
je 0x140042a0f
mov ebx, 0x106
jmp 0x140042b13
mov rax, qword [rax + 0x78]
test rax, rax
je 0x140042a32
cmp qword [rax], rbp
je 0x140042a29
cmp dword [rax + 8], 1
jne 0x140042a29
cmp byte [rax + 0xc], 1
jne 0x140042a56
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x140042a18
cmp dword [rdi + 0x40], r15d
sete al
mov byte [rdi + 0x23], al
nop dword [rax]
cmp qword [rdi + 0x18], r15
jne 0x140042a60
mov rcx, rdi
call fcn.140038300
mov ebx, eax
test eax, eax
je 0x140042a40
jmp 0x140042a64
mov ebx, 0x106
jmp 0x140042b13
test ebx, ebx
je 0x140042a9e
cmp byte [rdi + 0x27], r15b
jne 0x140042a9e
mov rcx, qword [rdi + 0x18]
test rcx, rcx
je 0x140042a9e
mov rcx, qword [rcx + 0x78]
test rcx, rcx
je 0x140042a9a
mov rsi, qword [rcx + 0x20]
call fcn.14002be20
mov r11, qword [rsi + 0xe0]
cmp dword [r11 + 0x18], r15d
jne 0x140042a9a
mov rcx, rsi
call fcn.14002e6b0
mov qword [rdi + 0x18], r15
cmp bl, 5
jne 0x140042ade
cmp byte [rdi + 0x27], r15b
jne 0x140042ade
mov rsi, qword [rdi + 8]
add rsi, 0x2b8
je 0x140042ade
mov rax, qword [rsi]
test rax, rax
je 0x140042ade
mov edx, dword [rsi + 0x10]
test edx, edx
js 0x140042ade
mov rcx, qword [rsi + 8]
call rax
test eax, eax
je 0x140042ad7
inc dword [rsi + 0x10]
jmp 0x140042a40
mov dword [rsi + 0x10], 0xffffffff
test ebx, ebx
jne 0x140042b13
cmp byte [rbp + 0x10], r15b
jne 0x140042b05
inc dword [rdi + 0x3c]
cmp byte [rbp + 0x11], r15b
je 0x140042b05
mov byte [rbp + 0x3c], 1
mov rax, qword [rdi + 0x78]
mov qword [rbp + 0x40], rax
lea rax, [rbp + 0x30]
mov qword [rdi + 0x78], rax
mov byte [rbp + 0x10], 1
cmp byte [rdi + 0x27], 1
jae 0x140042b13
mov byte [rdi + 0x27], 1
cmp byte [rbp + 0x11], r15b
je 0x140042b36
add dword [rbp + 0x14], 0xffffffff
jne 0x140042b36
mov rax, qword [rbp + 8]
mov rcx, qword [rax + 0x58]
test rcx, rcx
je 0x140042b32
call qword [0x140144100]
mov byte [rbp + 0x12], r15b
test ebx, ebx
jne 0x140042e11
mov rax, qword [r14 + 0x18]
mov qword [rsp + 0x50], r12
mov r12, qword [rax + 0x70]
cmp byte [r12 + 0x12], r13b
jne 0x140042b5d
cmp byte [r12 + 0x13], r13b
je 0x140042e0c
mov rdi, qword [rbp + 8]
mov rcx, rbp
call fcn.1400357d0
cmp byte [rbp + 0x10], 2
je 0x140042db4
cmp byte [rdi + 0x20], r15b
je 0x140042b83
mov ebx, 8
jmp 0x140042dc8
cmp byte [rdi + 0x27], 2
je 0x140042bc5
cmp byte [rdi + 0x89], r15b
jne 0x140042bc5
mov rax, qword [rdi + 0x78]
test rax, rax
je 0x140042bae
nop dword [rax + rax]
cmp qword [rax], rbp
jne 0x140042bbd
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x140042ba0
mov rax, qword [rbp + 8]
cmp byte [rbp + 0x11], r15b
jne 0x140042bde
mov ebx, r15d
jmp 0x140042c20
mov rax, qword [rax]
mov rcx, qword [rax]
jmp 0x140042bcf
mov rax, qword [rdi + 0x80]
mov rcx, qword [rax]
test rcx, rcx
je 0x140042bae
mov ebx, 0x106
jmp 0x140042dc8
cmp qword [rax + 0x80], rbp
je 0x140042bfa
cmp byte [rax + 0x88], r15b
je 0x140042bfa
mov ebx, 0x106
jmp 0x140042dc8
mov rax, qword [rax + 0x78]
test rax, rax
je 0x140042c1d
cmp qword [rax], rbp
je 0x140042c14
cmp dword [rax + 8], 1
jne 0x140042c14
cmp byte [rax + 0xc], 1
jne 0x140042c46
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x140042c03
mov ebx, r15d
cmp dword [rdi + 0x40], r15d
sete al
mov byte [rdi + 0x23], al
nop word [rax + rax]
cmp qword [rdi + 0x18], r15
jne 0x140042c50
mov rcx, rdi
call fcn.140038300
mov ebx, eax
test eax, eax
je 0x140042c30
jmp 0x140042c91
mov ebx, 0x106
jmp 0x140042dc8
test ebx, ebx
jne 0x140042c91
cmp byte [rdi + 0x20], r15b
je 0x140042c61
mov ebx, 8
jmp 0x140042c91
mov rax, qword [rbp]
mov rcx, qword [rdi]
mov r8d, r15d
cmp byte [rax + 0x29], 2
mov edx, 1
sete r8b
call fcn.1400312d0
mov ebx, eax
test eax, eax
jne 0x140042c91
mov rcx, rdi
call fcn.140038720
mov ebx, eax
test eax, eax
je 0x140042ccb
cmp byte [rdi + 0x27], r15b
jne 0x140042ccb
mov rax, qword [rdi + 0x18]
test rax, rax
je 0x140042ccb
mov rcx, qword [rax + 0x78]
test rcx, rcx
je 0x140042cc7
mov rsi, qword [rcx + 0x20]
call fcn.14002be20
mov r11, qword [rsi + 0xe0]
cmp dword [r11 + 0x18], r15d
jne 0x140042cc7
mov rcx, rsi
call fcn.14002e6b0
mov qword [rdi + 0x18], r15
cmp bl, 5
jne 0x140042d0b
cmp byte [rdi + 0x27], r15b
jne 0x140042d0b
mov rsi, qword [rdi + 8]
add rsi, 0x2b8
je 0x140042d0b
mov rax, qword [rsi]
test rax, rax
je 0x140042d0b
mov edx, dword [rsi + 0x10]
test edx, edx
js 0x140042d0b
mov rcx, qword [rsi + 8]
call rax
test eax, eax
je 0x140042d04
inc dword [rsi + 0x10]
jmp 0x140042c30
mov dword [rsi + 0x10], 0xffffffff
test ebx, ebx
jne 0x140042dc8
cmp byte [rbp + 0x10], r15b
jne 0x140042d36
inc dword [rdi + 0x3c]
cmp byte [rbp + 0x11], r15b
je 0x140042d36
mov byte [rbp + 0x3c], 1
mov rax, qword [rdi + 0x78]
mov qword [rbp + 0x40], rax
lea rax, [rbp + 0x30]
mov qword [rdi + 0x78], rax
mov byte [rbp + 0x10], 2
cmp byte [rdi + 0x27], 2
jae 0x140042d44
mov byte [rdi + 0x27], 2
mov rsi, qword [rdi + 0x18]
mov qword [rdi + 0x80], rbp
mov byte [rdi + 0x88], 1
mov rcx, qword [rsi + 0x70]
movzx eax, byte [rcx + 0x1d]
movzx edx, byte [rcx + 0x1c]
shl edx, 8
or edx, eax
movzx eax, byte [rcx + 0x1e]
shl edx, 8
or edx, eax
movzx eax, byte [rcx + 0x1f]
shl edx, 8
or edx, eax
cmp dword [rdi + 0x40], edx
je 0x140042db4
mov rcx, qword [rsi + 0x78]
call fcn.1400315d0
mov ebx, eax
test eax, eax
jne 0x140042dc8
mov r8d, dword [rdi + 0x40]
mov rdx, qword [rsi + 0x70]
mov eax, r8d
mov byte [rdx + 0x1f], r8b
shr eax, 0x18
mov byte [rdx + 0x1c], al
mov eax, r8d
shr eax, 0x10
mov byte [rdx + 0x1d], al
mov eax, r8d
shr eax, 8
mov byte [rdx + 0x1e], al
mov rax, qword [rbp]
mov rcx, qword [rdi]
mov edx, dword [rax + 0x320]
call fcn.1400321b0
mov ebx, eax
cmp byte [rbp + 0x11], r15b
je 0x140042deb
add dword [rbp + 0x14], 0xffffffff
jne 0x140042deb
mov rax, qword [rbp + 8]
mov rcx, qword [rax + 0x58]
test rcx, rcx
je 0x140042de7
call qword [0x140144100]
mov byte [rbp + 0x12], r15b
test ebx, ebx
jne 0x140042e0c
mov rcx, qword [r14 + 0x18]
mov rcx, qword [rcx + 0x78]
call fcn.1400315d0
mov ebx, eax
test eax, eax
jne 0x140042e0c
mov byte [r12 + 0x12], r13b
mov byte [r12 + 0x13], r13b
mov r12, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x60]
mov eax, ebx
mov rbx, qword [rsp + 0x58]
mov byte [r14 + 0x28], r15b
add rsp, 0x20
pop r15
pop r14
pop r13
pop rdi
pop rsi
ret