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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], r8
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
xor r13d, r13d
mov ebx, r9d
mov rbp, r8
mov r14, rdx
mov rdi, rcx
test rdx, rdx
jne 0x140029489
cmp byte [rcx], r13b
jne 0x14002947c
test byte [rcx + 1], 2
je 0x14002947c
mov rax, qword [rcx + 0x30]
cmp rax, r8
jne 0x14002942f
mov rax, qword [rsp + 0xa0]
mov dword [rax], r13d
xor eax, eax
jmp 0x140029871
jge 0x14002947c
test byte [rcx + 1], 8
je 0x140029444
mov rax, qword [rsp + 0xa0]
or dword [rax], 0xffffffff
jmp 0x140029428
mov rsi, qword [rsp + 0xa0]
inc rax
cmp rax, r8
jne 0x140029484
xor edx, edx
mov dword [rsi], r13d
call fcn.1400299a0
test eax, eax
jne 0x140029472
mov rcx, rdi
call fcn.140028b1c
cmp qword [rdi + 0x30], rbp
jne 0x140029484
jmp 0x140029428
cmp eax, 0x65
je 0x140029484
jmp 0x140029871
mov rsi, qword [rsp + 0xa0]
mov r15, r13
jmp 0x1400294ec
mov rcx, qword [rdx]
cmp word [rcx + 8], 0xd
ja 0x1400294d9
mov rax, qword [rdx + 8]
movzx edx, word [rax + 8]
mov rax, qword [rcx + 0x18]
cmp byte [rax], r13b
je 0x1400294b2
test byte [rax], 2
jne 0x1400294d9
mov word [r14 + 0x14], 0xff01
jmp 0x1400294b9
mov word [r14 + 0x14], 0x1ff
test dl, 4
je 0x1400294c7
lea r15, [0x140034600]
jmp 0x1400294e0
test dl, 0x39
jne 0x1400294d9
lea r15, [0x1400347bc]
cmp qword [rcx + 0x20], r13
je 0x1400294e0
lea r15, [0x1400345f8]
mov rsi, qword [rsp + 0xa0]
mov byte [r14 + 0x13], r13b
mov rcx, rdi
call fcn.1400290fc
test eax, eax
je 0x140029509
cmp eax, 0x10
jne 0x140029871
or dword [rsi], 0xffffffff
jmp 0x140029428
mov eax, 1
sub eax, ebx
mov dword [rsp + 0x34], eax
mov rbp, qword [rdi + 0x88]
mov r12d, r13d
mov dword [rsp + 0x88], r13d
movzx r13d, word [rbp + 0x18]
mov ecx, eax
dec r13d
mov esi, r13d
sar esi, cl
mov word [rdi + 0x56], si
test r15, r15
jne 0x140029640
mov rbx, qword [rbp + 0x60]
movzx edx, word [rbp + 0x1a]
movsxd rcx, esi
movzx eax, byte [rbx + rcx*2]
shl eax, 8
movsxd r8, eax
movzx eax, byte [rbx + rcx*2 + 1]
or r8, rax
and r8, rdx
add r8, qword [rbp + 0x68]
cmp byte [rbp + 3], 0
je 0x140029584
jmp 0x14002957b
inc r8
cmp r8, qword [rbp + 0x58]
jae 0x1400297ed
cmp byte [r8], 0x80
jae 0x14002956e
inc r8
mov al, byte [r8]
test al, al
js 0x140029595
movzx eax, al
mov qword [rsp + 0x38], rax
jmp 0x1400295ab
lea rdx, [rsp + 0x38]
mov rcx, r8
call fcn.14001966c
mov rax, qword [rsp + 0x38]
movzx edx, word [rbp + 0x1a]
mov rcx, qword [rsp + 0x90]
cmp rax, rcx
jge 0x14002960d
lea r12d, [rsi + 1]
cmp r12d, r13d
jle 0x140029618
or ebx, 0xffffffff
xor r13d, r13d
cmp byte [rbp + 8], r13b
jne 0x140029810
movzx eax, word [rbp + 0x18]
cmp r12d, eax
jl 0x140029787
movzx eax, byte [rbp + 9]
add eax, 8
movsxd rcx, eax
add rcx, qword [rbp + 0x50]
movzx eax, byte [rcx + 2]
movzx edx, byte [rcx + 1]
shl edx, 8
or edx, eax
movzx eax, byte [rcx + 3]
shl edx, 8
or edx, eax
movzx eax, byte [rcx]
shl eax, 0x18
jmp 0x1400297cb
jle 0x14002962a
lea r13d, [rsi - 1]
cmp r12d, r13d
jg 0x140029623
lea esi, [r12 + r13]
sar esi, 1
jmp 0x14002954a
mov ebx, 1
jmp 0x1400295c4
xor r13d, r13d
mov word [rdi + 0x56], si
cmp byte [rbp + 8], r13b
jne 0x1400297f9
mov r12d, esi
jmp 0x1400295d1
mov rcx, qword [rbp + 0x60]
movsxd rdx, esi
movzx eax, byte [rcx + rdx*2]
shl eax, 8
movsxd r9, eax
movzx eax, byte [rcx + rdx*2 + 1]
or r9, rax
movzx eax, word [rbp + 0x1a]
and r9, rax
movzx eax, byte [rbp + 0xb]
add r9, qword [rbp + 0x68]
movzx ecx, byte [r9]
cmp ecx, eax
jg 0x140029676
lea rdx, [r9 + 1]
jmp 0x140029696
test byte [r9 + 1], 0x80
jne 0x1400296a3
movzx eax, byte [r9 + 1]
and ecx, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [rbp + 0xe]
cmp ecx, eax
jg 0x1400296a3
lea rdx, [r9 + 2]
mov r8, r14
call r15
mov ebx, eax
jmp 0x140029752
movzx eax, byte [rbp + 0xa]
lea r8, [rdi + 0x30]
mov rcx, rbp
sub r9, rax
mov rdx, r9
call qword [rbp + Ordinal_133]
mov ebx, dword [rdi + 0x30]
mov dword [rsp + 0x30], ebx
cmp ebx, 2
jl 0x14002985b
mov rcx, qword [rdi + 0x20]
xor edx, edx
mov eax, ebx
div dword [rcx + 0x34]
cmp eax, dword [rcx + 0x3c]
ja 0x14002985b
lea eax, [rbx + 0x12]
movsxd rcx, eax
call fcn.140016254
mov r12, rax
test rax, rax
je 0x140029851
and dword [rsp + 0x20], 0
mov r9, rax
mov r8d, ebx
xor edx, edx
mov rcx, rdi
mov word [rdi + 0x56], si
call fcn.140028c84
movsxd rcx, dword [rsp + 0x30]
mov ebx, eax
xor eax, eax
mov qword [rcx + r12], rax
mov qword [rcx + r12 + 8], rax
mov word [rcx + r12 + 0x10], ax
and byte [rdi + 1], 0xfb
test ebx, ebx
jne 0x140029847
xor r9d, r9d
mov r8, r14
mov rdx, r12
call fcn.14003415c
mov rcx, r12
mov ebx, eax
call fcn.140016338
mov r12d, dword [rsp + 0x88]
test ebx, ebx
jns 0x140029764
lea r12d, [rsi + 1]
mov dword [rsp + 0x88], r12d
jmp 0x140029773
xor r13d, r13d
test ebx, ebx
jle 0x140029823
lea r13d, [rsi - 1]
cmp r12d, r13d
jg 0x1400295c4
lea esi, [r12 + r13]
sar esi, 1
jmp 0x140029640
mov rcx, qword [rbp + 0x60]
movsxd rdx, r12d
movzx eax, byte [rcx + rdx*2]
shl eax, 8
movsxd r8, eax
movzx eax, byte [rcx + rdx*2 + 1]
or r8, rax
movzx eax, word [rbp + 0x1a]
and r8, rax
add r8, qword [rbp + 0x50]
movzx eax, byte [r8 + 2]
movzx edx, byte [r8 + 1]
shl edx, 8
or edx, eax
movzx eax, byte [r8]
shl eax, 0x18
shl edx, 8
or edx, eax
movzx eax, byte [r8 + 3]
or edx, eax
mov rcx, rdi
mov word [rdi + 0x56], r12w
call fcn.140029040
mov ebx, eax
test eax, eax
jne 0x14002986a
mov eax, dword [rsp + 0x34]
jmp 0x140029514
mov ecx, 0x10d00
call fcn.140081b58
jmp 0x140029871
or byte [rdi + 1], 2
mov qword [rdi + 0x30], rax
mov rax, qword [rsp + 0xa0]
mov dword [rax], r13d
xor eax, eax
jmp 0x14002986c
mov rax, qword [rsp + 0xa0]
mov word [rdi + 0x56], si
mov dword [rax], ebx
mov ebx, r13d
jmp 0x14002986a
mov rax, qword [rsp + 0xa0]
mov word [rdi + 0x56], si
mov ebx, r13d
mov dword [rax], r13d
cmp byte [r14 + 0x13], r13b
je 0x14002986a
mov ecx, 0x10d6b
call fcn.140081b58
jmp 0x140029868
mov rcx, r12
call fcn.140016338
jmp 0x140029856
mov ebx, 7
xor r13d, r13d
jmp 0x14002986a
mov ecx, 0x10d4b
call fcn.140081b58
xor r13d, r13d
mov ebx, eax
mov eax, ebx
mov word [rdi + 0x46], r13w
mov rbx, qword [rsp + 0x80]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret