Function at 0x140029c04
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, 0x50
xor r12d, r12d
mov esi, r9d
mov rbp, r8
mov r15, rdx
mov rdi, rcx
test rdx, rdx
jne 0x140029ca8
cmp byte [rcx], r12b
jne 0x140029c9b
test byte [rcx + 1], 2
je 0x140029c9b
mov rax, qword [rcx + 0x30]
cmp rax, r8
jne 0x140029c57
mov rbx, qword [rsp + 0xb0]
mov dword [rbx], r12d
xor eax, eax
jmp 0x14002a0c9
jge 0x140029c9b
test byte [rcx + 1], 8
mov rbx, qword [rsp + 0xb0]
jne 0x140029d25
inc rax
cmp rax, rbp
jne 0x140029ca3
xor edx, edx
mov dword [rbx], r12d
call fcn.14002a244
test eax, eax
jne 0x140029c91
mov rcx, rdi
call fcn.140029258
cmp qword [rdi + 0x30], rbp
jne 0x140029ca3
jmp 0x140029c50
cmp eax, 0x65
je 0x140029ca3
jmp 0x14002a0c9
mov rbx, qword [rsp + 0xb0]
mov r14, r12
jmp 0x140029d10
mov rcx, qword [rdx]
cmp word [rcx + 8], 0xd
ja 0x140029cfd
mov rax, qword [rdx + 8]
movzx r8d, word [rax + 8]
mov rax, qword [rcx + 0x18]
cmp byte [rax], r12b
je 0x140029ccf
test byte [rax], 2
jne 0x140029cfd
mov al, 0xff
mov dl, 1
jmp 0x140029cd3
mov al, 1
mov dl, 0xff
mov byte [r15 + 0x14], dl
mov byte [r15 + 0x15], al
test r8b, 4
je 0x140029cea
lea r14, [0x140035670]
jmp 0x140029d04
test r8b, 0x39
jne 0x140029cfd
lea r14, [0x140035834]
cmp qword [rcx + 0x20], r12
je 0x140029d04
lea r14, [0x140035668]
mov rbx, qword [rsp + 0xb0]
mov byte [r15 + 0x13], r12b
mov rcx, rdi
call fcn.1400298c8
test eax, eax
je 0x140029d2d
cmp eax, 0x10
jne 0x14002a0c9
or dword [rbx], 0xffffffff
jmp 0x140029c50
mov eax, 1
sub eax, esi
mov dword [rsp + 0x34], eax
mov rbp, qword [rdi + 0x88]
mov r13d, r12d
mov ecx, eax
movzx r12d, word [rbp + 0x18]
lea rbx, [rbp + 0x60]
dec r12d
mov qword [rsp + 0x38], rbx
mov esi, r12d
mov dword [rsp + 0x98], r12d
sar esi, cl
lea r8, [rbp + 0x1a]
mov word [rdi + 0x56], si
mov qword [rsp + 0x40], r8
test r14, r14
jne 0x140029e85
movzx r9d, word [r8]
mov qword [rsp + 0x98], r9
mov rdx, qword [rbx]
lea eax, [rsi + rsi]
movsxd rcx, eax
movzx r8d, byte [rcx + rdx]
movzx eax, byte [rcx + rdx + 1]
shl r8, 8
or r8, rax
and r8, r9
add r8, qword [rbp + 0x68]
cmp byte [rbp + 3], 0
je 0x140029dc3
jmp 0x140029dba
inc r8
cmp r8, qword [rbp + 0x58]
jae 0x14002a045
cmp byte [r8], 0x80
jae 0x140029dad
inc r8
lea rdx, [rsp + 0x48]
mov rcx, r8
call fcn.14001a170
mov rax, qword [rsp + 0x48]
cmp rax, qword [rsp + 0xa0]
jge 0x140029e45
lea r13d, [rsi + 1]
cmp r13d, r12d
jle 0x140029e50
or ebx, 0xffffffff
mov rdx, qword [rsp + 0x40]
xor r12d, r12d
mov rax, qword [rsp + 0x38]
cmp byte [rbp + 8], r12b
jne 0x14002a068
mov rbx, rax
movzx eax, word [rbp + 0x18]
cmp r13d, eax
jl 0x140029fd2
movzx edx, byte [rbp + 9]
mov rcx, qword [rbp + 0x50]
movzx eax, byte [rdx + rcx + 0xa]
movzx r9d, byte [rdx + rcx + 9]
shl r9d, 8
or r9d, eax
movzx eax, byte [rdx + rcx + 8]
shl eax, 0x18
shl r9d, 8
or r9d, eax
movzx eax, byte [rdx + rcx + 0xb]
jmp 0x14002a01f
jle 0x140029e6a
lea r12d, [rsi - 1]
cmp r13d, r12d
jg 0x140029e63
mov r9, qword [rsp + 0x98]
lea esi, [r12 + r13]
sar esi, 1
jmp 0x140029d84
mov ebx, 1
jmp 0x140029deb
xor r12d, r12d
mov word [rdi + 0x56], si
cmp byte [rbp + 8], r12b
jne 0x14002a051
mov rdx, qword [rsp + 0x40]
mov r13d, esi
jmp 0x140029e05
lea eax, [rsi + rsi]
movsxd rcx, eax
mov rax, qword [rbx]
movzx edx, byte [rcx + rax + 1]
movzx eax, byte [rcx + rax]
shl rax, 8
or rdx, rax
movzx eax, word [r8]
and rdx, rax
movzx eax, byte [rbp + 0xb]
add rdx, qword [rbp + 0x68]
movzx ecx, byte [rdx]
lea r9, [rdx + 1]
cmp ecx, eax
ja 0x140029ebd
mov rdx, r9
jmp 0x140029edb
cmp byte [r9], 0
jl 0x140029ee8
movzx eax, byte [r9]
and ecx, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [rbp + 0xe]
cmp ecx, eax
ja 0x140029ee8
add rdx, 2
mov r8, r15
call r14
mov ebx, eax
jmp 0x140029f93
movzx eax, byte [rbp + 0xa]
lea r8, [rdi + 0x30]
sub rdx, rax
mov rcx, rbp
call qword [rbp + Ordinal_133]
mov ebx, dword [rdi + 0x30]
mov dword [rsp + 0x30], ebx
cmp ebx, 2
jl 0x14002a0b3
mov rcx, qword [rdi + 0x20]
xor edx, edx
mov eax, ebx
div dword [rcx + 0x34]
cmp eax, dword [rcx + 0x3c]
ja 0x14002a0b3
lea eax, [rbx + 0x12]
movsxd rcx, eax
call fcn.140016c40
mov r12, rax
test rax, rax
je 0x14002a0a9
and dword [rsp + 0x20], 0
mov r9, rax
mov r8d, ebx
mov word [rdi + 0x56], si
xor edx, edx
mov rcx, rdi
call fcn.1400293f0
movsxd rcx, dword [rsp + 0x30]
mov ebx, eax
xor eax, eax
xorps xmm0, xmm0
movups xmmword [rcx + r12], xmm0
mov word [rcx + r12 + 0x10], ax
and byte [rdi + 1], 0xfb
test ebx, ebx
jne 0x14002a09f
xor r9d, r9d
mov r8, r15
mov rdx, r12
call fcn.1400351b0
mov rcx, r12
mov ebx, eax
call fcn.140016cf8
mov r12d, dword [rsp + 0x98]
test ebx, ebx
jns 0x140029f9d
lea r13d, [rsi + 1]
jmp 0x140029fb4
xor r12d, r12d
test ebx, ebx
jle 0x14002a07b
lea r12d, [rsi - 1]
mov dword [rsp + 0x98], r12d
cmp r13d, r12d
jg 0x140029deb
mov rbx, qword [rsp + 0x38]
lea esi, [r12 + r13]
mov r8, qword [rsp + 0x40]
sar esi, 1
jmp 0x140029e85
lea eax, [r13*2]
movsxd rcx, eax
mov rax, qword [rbx]
movzx r8d, byte [rcx + rax]
movzx eax, byte [rcx + rax + 1]
shl r8, 8
or r8, rax
movzx eax, word [rdx]
and r8, rax
add r8, qword [rbp + 0x50]
movzx eax, byte [r8 + 2]
movzx r9d, byte [r8 + 1]
shl r9d, 8
or r9d, eax
movzx eax, byte [r8 + 3]
shl r9d, 8
or r9d, eax
movzx eax, byte [r8]
shl eax, 0x18
or r9d, eax
mov word [rdi + 0x56], r13w
mov edx, r9d
mov rcx, rdi
call fcn.14002980c
mov ebx, eax
test eax, eax
jne 0x14002a0c2
mov eax, dword [rsp + 0x34]
jmp 0x140029d38
mov ecx, 0x10d00
call fcn.1400842bc
jmp 0x14002a0c9
or byte [rdi + 1], 2
mov qword [rdi + 0x30], rax
mov rax, qword [rsp + 0xb0]
mov dword [rax], r12d
xor eax, eax
jmp 0x14002a0c4
mov rax, qword [rsp + 0xb0]
mov word [rdi + 0x56], si
mov dword [rax], ebx
mov ebx, r12d
jmp 0x14002a0c2
mov rax, qword [rsp + 0xb0]
mov ebx, r12d
mov word [rdi + 0x56], si
mov dword [rax], r12d
cmp byte [r15 + 0x13], r12b
je 0x14002a0c2
mov ecx, 0x10d6b
call fcn.1400842bc
jmp 0x14002a0c0
mov rcx, r12
call fcn.140016cf8
jmp 0x14002a0ae
mov ebx, 7
xor r12d, r12d
jmp 0x14002a0c2
mov ecx, 0x10d4b
call fcn.1400842bc
xor r12d, r12d
mov ebx, eax
mov eax, ebx
mov word [rdi + 0x46], r12w
mov rbx, qword [rsp + 0x90]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret