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

Disassembly:
push rbx
push rbp
push rdi
push r12
push r13
push r15
sub rsp, 0x78
mov rax, qword [0x14017c030]
xor rax, rsp
mov qword [rsp + 0x68], rax
mov rax, qword [rcx + 0x30]
xor ebp, ebp
mov r13, r8
mov rbx, qword [rax]
mov r12d, edx
mov dword [rsp + 0x24], edx
mov rdi, rcx
lea r8d, [rbp + 0x30]
mov rdx, rbx
add rcx, 0x48
mov dword [rsp + 0x28], r9d
mov qword [rsp + 0x30], rbp
mov r15d, ebp
call sub.MSVCR90.dll_memcmp
test eax, eax
je 0x1400774db
mov r15d, dword [rbx + 0x10]
inc r15d
mov rcx, rdi
call fcn.140076ff0
mov ebx, eax
test eax, eax
jne 0x14007794f
mov eax, dword [rdi + 0x58]
mov qword [rsp + 0xc8], rsi
mov dword [rsp + 0x20], eax
test eax, eax
jne 0x140077607
mov ecx, dword [rdi + 0x88]
mov eax, 0x377f0682
bswap eax
mov dword [rsp + 0x48], eax
mov eax, 0x2de218
bswap eax
mov dword [rsp + 0x4c], eax
mov eax, r12d
bswap eax
mov dword [rsp + 0x50], eax
mov eax, ecx
bswap eax
mov dword [rsp + 0x54], eax
test ecx, ecx
jne 0x140077541
lea rdx, [rdi + 0x68]
lea ecx, [rbx + 8]
call fcn.140065ba0
mov rax, qword [rdi + 0x68]
lea rcx, [rsp + 0x48]
mov edx, ebp
mov qword [rsp + 0x58], rax
mov r8d, ebp
nop word [rax + rax]
mov eax, dword [rcx]
add rcx, 8
add eax, edx
add r8d, eax
mov eax, dword [rcx - 4]
add eax, r8d
add edx, eax
lea rax, [rsp + 0x60]
cmp rcx, rax
jb 0x140077560
mov rcx, qword [rdi + 0x10]
mov eax, r8d
mov dword [rdi + 0x60], r8d
bswap eax
mov dword [rdi + 0x64], edx
xor r9d, r9d
mov dword [rsp + 0x60], eax
mov eax, edx
mov dword [rdi + 0x38], r12d
bswap eax
mov byte [rdi + 0x55], bpl
mov byte [rdi + 0x43], 1
mov dword [rsp + 0x64], eax
mov rax, qword [rcx]
lea r8d, [r9 + 0x20]
lea rdx, [rsp + 0x48]
call qword [rax + 0x18]
mov ebx, eax
test eax, eax
jne 0x140077947
cmp byte [rdi + 0x44], bpl
je 0x1400775fa
mov esi, dword [rsp + 0xd8]
mov rcx, qword [rdi + 0x10]
mov edx, esi
sar edx, 2
and edx, 3
je 0x1400775f2
mov rax, qword [rcx]
call qword [rax + 0x28]
mov ebx, eax
test eax, eax
jne 0x140077947
mov eax, dword [rsp + 0x20]
jmp 0x14007760e
mov eax, dword [rsp + 0x20]
mov ebx, ebp
jmp 0x14007760e
mov eax, dword [rsp + 0x20]
mov esi, dword [rsp + 0xd8]
jmp 0x14007760e
mov esi, dword [rsp + 0xd8]
mov edx, dword [rsp + 0x24]
mov r12d, eax
mov qword [rsp + 0x70], r14
mov r14, qword [rdi + 0x10]
lea ecx, [rdx + 0x18]
mov dword [rsp + 0x60], esi
movsxd r8, ecx
mov dword [rsp + 0x3c], ecx
mov ecx, dword [rsp + 0xd0]
imul r12, r8
add r12, 0x20
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x58], rbp
mov dword [rsp + 0x64], edx
mov qword [rsp + 0x40], r8
mov rsi, r13
test r13, r13
je 0x14007776e
movsxd r14, dword [rsp + 0x3c]
test r15d, r15d
je 0x1400776fd
cmp qword [rsi + 0x20], rbp
jne 0x14007767b
test ecx, ecx
jne 0x1400776fd
mov r9d, dword [rdi + 0x58]
mov dword [rsp + 0x38], ebp
test r9d, r9d
je 0x1400776b1
mov edx, dword [rsi + 0x30]
lea r8, [rsp + 0x38]
mov rcx, rdi
call fcn.140076c70
mov r11d, dword [rsp + 0x38]
mov eax, dword [rsp + 0x20]
mov ecx, dword [rsp + 0xd0]
mov edx, dword [rsp + 0x24]
mov r8, r14
jmp 0x1400776b4
mov r11d, ebp
cmp r11d, r15d
jb 0x1400776fd
mov eax, dword [rdi + 0x7c]
lea r9d, [r11 - 1]
imul r9, r8
add r9, 0x38
test eax, eax
je 0x1400776d1
cmp r11d, eax
jae 0x1400776d5
mov dword [rdi + 0x7c], r11d
mov rcx, qword [rdi + 0x10]
mov r8d, edx
mov rdx, qword [rsi + 8]
mov rax, qword [rcx]
call qword [rax + 0x18]
mov ebx, eax
test eax, eax
jne 0x140077942
mov r9d, 0xffbf
and word [rsi + 0x34], r9w
jmp 0x14007773e
inc eax
mov dword [rsp + 0x20], eax
test ecx, ecx
je 0x140077714
cmp qword [rsi + 0x20], rbp
jne 0x140077714
mov r8d, dword [rsp + 0x28]
jmp 0x140077717
mov r8d, ebp
lea rcx, [rsp + 0x48]
mov r9, r12
mov rdx, rsi
call fcn.1400771a0
mov ebx, eax
test eax, eax
jne 0x140077942
add r12, r14
or word [rsi + 0x34], 0x40
mov qword [rsp + 0x30], rsi
mov rsi, qword [rsi + 0x20]
test rsi, rsi
je 0x14007775e
mov eax, dword [rsp + 0x20]
mov ecx, dword [rsp + 0xd0]
mov edx, dword [rsp + 0x24]
mov r8, r14
jmp 0x140077664
mov r14, qword [rsp + 0x50]
mov eax, dword [rsp + 0x20]
mov ecx, dword [rsp + 0xd0]
test ecx, ecx
je 0x1400778a6
cmp dword [rdi + 0x7c], ebp
je 0x14007778f
mov edx, eax
mov rcx, rdi
call fcn.1400772a0
mov ebx, eax
test eax, eax
jne 0x140077942
and dword [rsp + 0xd8], 3
je 0x14007786d
cmp byte [rdi + 0x45], bpl
je 0x140077854
mov rcx, qword [rdi + 0x10]
mov rax, qword [rcx]
mov rdx, qword [rax + 0x58]
test rdx, rdx
je 0x1400777d1
call rdx
cmp eax, 0x20
jge 0x1400777c5
mov eax, 0x200
jmp 0x1400777d6
mov ecx, 0x10000
cmp eax, ecx
cmovg eax, ecx
jmp 0x1400777d6
mov eax, 0x1000
movsxd rcx, eax
mov esi, ebp
lea rax, [rcx + r12 - 1]
cqo
idiv rcx
imul rax, rcx
cmp rax, r12
mov qword [rsp + 0x58], rax
sete sil
cmp r12, rax
jge 0x140077837
mov r15, qword [rsp + 0x30]
nop
mov r8d, dword [rsp + 0x28]
lea rcx, [rsp + 0x48]
mov r9, r12
mov rdx, r15
call fcn.1400771a0
mov ebx, eax
test eax, eax
jne 0x140077942
movsxd rax, dword [rsp + 0x3c]
inc ebp
add r12, rax
cmp r12, qword [rsp + 0x58]
jl 0x140077800
mov r14, qword [rsp + 0x50]
jmp 0x14007783c
mov r15, qword [rsp + 0x30]
test esi, esi
je 0x140077872
mov rax, qword [r14]
mov edx, dword [rsp + 0xd8]
mov rcx, r14
call qword [rax + 0x28]
mov ebx, eax
jmp 0x140077872
mov rax, qword [r14]
mov edx, dword [rsp + 0xd8]
mov r15, qword [rsp + 0x30]
mov rcx, r14
call qword [rax + 0x28]
mov ebx, eax
jmp 0x140077872
mov r15, qword [rsp + 0x30]
cmp byte [rdi + 0x43], 0
je 0x1400778ab
mov rdx, qword [rdi + 0x20]
test rdx, rdx
js 0x1400778ab
mov ecx, dword [rsp + 0x20]
add ecx, ebp
imul rcx, qword [rsp + 0x40]
add rcx, 0x20
cmp rcx, rdx
cmovg rdx, rcx
mov rcx, rdi
call fcn.140075fe0
mov byte [rdi + 0x43], 0
jmp 0x1400778ab
mov r15, qword [rsp + 0x30]
mov esi, dword [rdi + 0x58]
test r13, r13
je 0x1400778dd
test ebx, ebx
jne 0x140077940
test byte [r13 + 0x34], 0x40
je 0x1400778d4
mov r8d, dword [r13 + 0x30]
inc esi
mov rcx, rdi
mov edx, esi
call fcn.140074c40
mov ebx, eax
mov r13, qword [r13 + 0x20]
test r13, r13
jne 0x1400778b3
test ebx, ebx
jne 0x140077940
test ebp, ebp
jle 0x1400778ff
mov r8d, dword [r15 + 0x30]
inc esi
mov rcx, rdi
mov edx, esi
dec ebp
call fcn.140074c40
mov ebx, eax
test eax, eax
je 0x1400778e1
jmp 0x140077940
test ebx, ebx
jne 0x140077940
mov r12d, dword [rsp + 0x24]
mov ecx, 0xff00
mov dword [rdi + 0x58], esi
mov eax, r12d
and r12w, cx
sar eax, 0x10
or ax, r12w
mov word [rdi + 0x56], ax
cmp dword [rsp + 0xd0], ebx
je 0x140077940
mov eax, dword [rsp + 0x28]
inc dword [rdi + 0x50]
mov rcx, rdi
mov dword [rdi + 0x5c], eax
call fcn.1400748b0
mov dword [rdi + 0x18], esi
mov eax, ebx
mov r14, qword [rsp + 0x70]
mov rsi, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.140113b50
add rsp, 0x78
pop r15
pop r13
pop r12
pop rdi
pop rbp
pop rbx
ret