Function at 0x140029a84
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 r12d, r12d
mov ebx, r9d
mov rbp, r8
mov r14, rdx
mov rdi, rcx
test rdx, rdx
jne 0x140029b35
cmp byte [rcx], r12b
jne 0x140029b28
test byte [rcx + 1], 2
je 0x140029b28
mov rax, qword [rcx + 0x30]
cmp rax, r8
jne 0x140029adb
mov rax, qword [rsp + 0xa0]
mov dword [rax], r12d
xor eax, eax
jmp 0x140029f1d
jge 0x140029b28
test byte [rcx + 1], 8
je 0x140029af0
mov rax, qword [rsp + 0xa0]
or dword [rax], 0xffffffff
jmp 0x140029ad4
mov rsi, qword [rsp + 0xa0]
inc rax
cmp rax, r8
jne 0x140029b30
xor edx, edx
mov dword [rsi], r12d
call fcn.14002a04c
test eax, eax
jne 0x140029b1e
mov rcx, rdi
call fcn.1400291c8
cmp qword [rdi + 0x30], rbp
jne 0x140029b30
jmp 0x140029ad4
cmp eax, 0x65
je 0x140029b30
jmp 0x140029f1d
mov rsi, qword [rsp + 0xa0]
mov r15, r12
jmp 0x140029b98
mov rcx, qword [rdx]
cmp word [rcx + 8], 0xd
ja 0x140029b85
mov rax, qword [rdx + 8]
movzx edx, word [rax + 8]
mov rax, qword [rcx + 0x18]
cmp byte [rax], r12b
je 0x140029b5e
test byte [rax], 2
jne 0x140029b85
mov word [r14 + 0x14], 0xff01
jmp 0x140029b65
mov word [r14 + 0x14], 0x1ff
test dl, 4
je 0x140029b73
lea r15, [0x14003520c]
jmp 0x140029b8c
test dl, 0x39
jne 0x140029b85
lea r15, [0x1400353c8]
cmp qword [rcx + 0x20], r12
je 0x140029b8c
lea r15, [0x140035204]
mov rsi, qword [rsp + 0xa0]
mov byte [r14 + 0x13], r12b
mov rcx, rdi
call fcn.1400297a8
test eax, eax
je 0x140029bb5
cmp eax, 0x10
jne 0x140029f1d
or dword [rsi], 0xffffffff
jmp 0x140029ad4
mov eax, 1
sub eax, ebx
mov dword [rsp + 0x34], eax
mov rbp, qword [rdi + 0x88]
mov r13d, r12d
mov dword [rsp + 0x88], r12d
movzx r12d, word [rbp + 0x18]
mov ecx, eax
dec r12d
mov esi, r12d
sar esi, cl
mov word [rdi + 0x56], si
test r15, r15
jne 0x140029cec
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 0x140029c30
jmp 0x140029c27
inc r8
cmp r8, qword [rbp + 0x58]
jae 0x140029e99
cmp byte [r8], 0x80
jae 0x140029c1a
inc r8
mov al, byte [r8]
test al, al
js 0x140029c41
movzx eax, al
mov qword [rsp + 0x38], rax
jmp 0x140029c57
lea rdx, [rsp + 0x38]
mov rcx, r8
call fcn.140019920
mov rax, qword [rsp + 0x38]
movzx edx, word [rbp + 0x1a]
mov rcx, qword [rsp + 0x90]
cmp rax, rcx
jge 0x140029cb9
lea r13d, [rsi + 1]
cmp r13d, r12d
jle 0x140029cc4
or ebx, 0xffffffff
xor r12d, r12d
cmp byte [rbp + 8], r12b
jne 0x140029ebc
movzx eax, word [rbp + 0x18]
cmp r13d, eax
jl 0x140029e33
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 0x140029e77
jle 0x140029cd6
lea r12d, [rsi - 1]
cmp r13d, r12d
jg 0x140029ccf
lea esi, [r12 + r13]
sar esi, 1
jmp 0x140029bf6
mov ebx, 1
jmp 0x140029c70
xor r12d, r12d
mov word [rdi + 0x56], si
cmp byte [rbp + 8], r12b
jne 0x140029ea5
mov r13d, esi
jmp 0x140029c7d
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 0x140029d22
lea rdx, [r9 + 1]
jmp 0x140029d42
test byte [r9 + 1], 0x80
jne 0x140029d4f
movzx eax, byte [r9 + 1]
and ecx, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [rbp + 0xe]
cmp ecx, eax
jg 0x140029d4f
lea rdx, [r9 + 2]
mov r8, r14
call r15
mov ebx, eax
jmp 0x140029dfe
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 0x140029f07
mov rcx, qword [rdi + 0x20]
xor edx, edx
mov eax, ebx
div dword [rcx + 0x34]
cmp eax, dword [rcx + 0x3c]
ja 0x140029f07
lea eax, [rbx + 0x12]
movsxd rcx, eax
call fcn.140016514
mov r13, rax
test rax, rax
je 0x140029efd
and dword [rsp + 0x20], 0
mov r9, rax
mov r8d, ebx
xor edx, edx
mov rcx, rdi
mov word [rdi + 0x56], si
call fcn.140029330
movsxd rcx, dword [rsp + 0x30]
mov ebx, eax
xor eax, eax
mov qword [rcx + r13], rax
mov qword [rcx + r13 + 8], rax
mov word [rcx + r13 + 0x10], ax
and byte [rdi + 1], 0xfb
test ebx, ebx
jne 0x140029ef3
xor r9d, r9d
mov r8, r14
mov rdx, r13
call fcn.140034d68
mov rcx, r13
mov ebx, eax
call fcn.1400165f8
mov r13d, dword [rsp + 0x88]
test ebx, ebx
jns 0x140029e10
lea r13d, [rsi + 1]
mov dword [rsp + 0x88], r13d
jmp 0x140029e1f
xor r12d, r12d
test ebx, ebx
jle 0x140029ecf
lea r12d, [rsi - 1]
cmp r13d, r12d
jg 0x140029c70
lea esi, [r12 + r13]
sar esi, 1
jmp 0x140029cec
mov rcx, qword [rbp + 0x60]
movsxd rdx, r13d
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], r13w
call fcn.1400296ec
mov ebx, eax
test eax, eax
jne 0x140029f16
mov eax, dword [rsp + 0x34]
jmp 0x140029bc0
mov ecx, 0x10d00
call fcn.140083408
jmp 0x140029f1d
or byte [rdi + 1], 2
mov qword [rdi + 0x30], rax
mov rax, qword [rsp + 0xa0]
mov dword [rax], r12d
xor eax, eax
jmp 0x140029f18
mov rax, qword [rsp + 0xa0]
mov word [rdi + 0x56], si
mov dword [rax], ebx
mov ebx, r12d
jmp 0x140029f16
mov rax, qword [rsp + 0xa0]
mov word [rdi + 0x56], si
mov ebx, r12d
mov dword [rax], r12d
cmp byte [r14 + 0x13], r12b
je 0x140029f16
mov ecx, 0x10d6b
call fcn.140083408
jmp 0x140029f14
mov rcx, r13
call fcn.1400165f8
jmp 0x140029f02
mov ebx, 7
xor r12d, r12d
jmp 0x140029f16
mov ecx, 0x10d4b
call fcn.140083408
xor r12d, r12d
mov ebx, eax
mov eax, ebx
mov word [rdi + 0x46], r12w
mov rbx, qword [rsp + 0x80]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret