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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
mov r14, r8
mov rbx, rcx
mov r12, qword [rcx + 0x10]
mov byte [r8], 1
cmp dword [r8 + 0x38], 0
jle 0x1400783b0
mov dword [rsp + 0x38], edx
mov rdi, qword [r14 + 0x30]
lea rax, [rbx + 0x2c]
mov qword [rsp + 0x48], rax
xor esi, esi
mov dword [rsp + 0x34], 0
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x50], r12
mov rax, qword [rdi]
mov rbp, qword [rax + 0x20]
test byte [rax + 7], 1
jne 0x140078168
xor r15d, r15d
jmp 0x1400781dc
mov rax, qword [rax + 0x40]
mov rdx, qword [rax + 0x48]
cmp dword [r14 + 0x2c], 0
je 0x1400781c0
mov rax, qword [rdi + 8]
test byte [rax + 4], 0x20
je 0x1400781c0
mov r14, rdx
mov r9d, dword [rsp + 0x34]
test r9d, r9d
jne 0x140078199
mov r9d, dword [rbx + 0x38]
inc r9d
mov dword [rbx + 0x38], r9d
mov dword [rsp + 0x20], 0
mov rcx, r12
mov edx, 0x4e
mov r8d, dword [rsp + 0x38]
mov dword [rsp + 0x34], r9d
call fcn.14004e997
mov rdx, r14
mov r14, qword [rsp + 0x40]
mov r15d, dword [rbx + 0x44]
dec r15d
mov dword [rbx + 0x44], r15d
mov rcx, rbx
mov r8d, r15d
mov r9d, 0x10
call fcn.14005c7a5
test rbp, rbp
mov dword [rsp + 0x3c], esi
je 0x14007820e
mov r13d, dword [rbp]
mov rcx, rbx
mov edx, r13d
call fcn.1400599e5
mov byte [rsp + 0x20], 1
mov rcx, rbx
mov rdx, rbp
mov esi, eax
mov r8d, eax
xor r9d, r9d
call fcn.14005ba1a
jmp 0x140078213
xor r13d, r13d
xor esi, esi
mov edx, dword [rdi + 0x14]
test edx, edx
js 0x140078242
test r15d, r15d
jne 0x14007822d
mov r15d, dword [rbx + 0x44]
dec r15d
mov dword [rbx + 0x44], r15d
mov edx, dword [rdi + 0x14]
mov dword [rsp + 0x20], esi
mov rcx, rbx
mov r8d, r15d
mov r9d, 1
call fcn.140078c02
mov rax, qword [rdi + 8]
test byte [rax + 4], 0x20
jne 0x140078257
mov ebp, esi
mov esi, dword [rsp + 0x3c]
jmp 0x1400782fc
test r13d, r13d
jle 0x140078295
add rbp, 8
mov r12d, 1
mov rdx, qword [rbp]
mov rcx, rbx
call fcn.1400524b9
mov r14, rax
test rax, rax
jne 0x14007828b
add rbp, 0x28
lea eax, [r12 + 1]
cmp r12d, r13d
mov r12d, eax
jl 0x140078266
test r14, r14
mov r12, qword [rsp + 0x50]
jne 0x14007829c
mov rax, qword [rbx]
mov r14, qword [rax + 0x10]
mov r8d, dword [rsp + 0x34]
test r8d, r8d
mov ebp, esi
mov esi, dword [rsp + 0x3c]
jne 0x1400782c7
mov rax, qword [rsp + 0x40]
cmp dword [rax + 0x2c], 0
je 0x1400782c4
mov r8d, dword [rbx + 0x38]
inc r8d
mov dword [rbx + 0x38], r8d
jmp 0x1400782c7
xor r8d, r8d
mov dword [rsp + 0x20], 0
mov rcx, r12
mov edx, 0x52
mov dword [rsp + 0x34], r8d
xor r9d, r9d
call fcn.14004e997
mov rcx, r12
mov edx, eax
mov r8, r14
mov r9d, 0xfffffffe
call fcn.14004ea51
mov r14, qword [rsp + 0x40]
mov eax, dword [rdi + 0x10]
mov dword [rsp + 0x20], eax
mov rcx, r12
mov edx, 0x9a
xor r8d, r8d
mov r9d, ebp
call fcn.14004e997
mov rdx, qword [rdi + 8]
mov rcx, r12
mov r8d, 0xfffffff8
call fcn.140057e2b
mov eax, dword [r12 + 0x90]
test eax, eax
jle 0x14007834b
movzx ecx, r13b
mov rdx, qword [r12 + 0x88]
dec eax
lea rax, [rax + rax*2]
mov word [rdx + rax*8 + 2], cx
cmp r13d, 1
jne 0x140078371
test ebp, ebp
je 0x140078382
movzx eax, byte [rbx + 0x1f]
cmp rax, 7
ja 0x140078382
lea ecx, [rax + 1]
mov byte [rbx + 0x1f], cl
lea rax, [rbx + rax*4]
add rax, 0xbc
jmp 0x140078380
cmp dword [rbx + 0x28], r13d
jge 0x140078382
mov dword [rbx + 0x28], r13d
mov rax, qword [rsp + 0x48]
mov dword [rax], ebp
test r15d, r15d
je 0x140078392
mov rcx, r12
mov edx, r15d
call fcn.140057934
inc esi
add rdi, 0x18
cmp esi, dword [r14 + 0x38]
jl 0x140078156
mov r8d, dword [rsp + 0x34]
test r8d, r8d
mov edx, dword [rsp + 0x38]
jne 0x1400783c1
mov eax, dword [r14 + 0x2c]
xor ebp, ebp
test edx, edx
je 0x1400783df
mov r8d, edx
test eax, eax
je 0x1400783df
mov dword [rsp + 0x20], 0
mov rcx, r12
mov edx, 0x12
xor r9d, r9d
call fcn.14004e997
mov ebp, eax
mov eax, dword [r14 + 0x2c]
test eax, eax
jle 0x140078408
mov rsi, qword [r14 + 0x20]
add rsi, 0x18
xor edi, edi
mov r8d, dword [rsi - 4]
mov rdx, qword [rsi]
mov rcx, rbx
call fcn.140059d19
inc edi
add rsi, 0x20
cmp edi, dword [r14 + 0x2c]
jl 0x1400783ed
mov byte [r14], 0
test ebp, ebp
je 0x140078449
mov eax, dword [r12 + 0x90]
mov rcx, qword [r12]
cmp byte [rcx + 0x61], 0
je 0x14007842b
lea rcx, [0x1402c6528]
jmp 0x140078446
lea ecx, [rax - 1]
test ebp, ebp
cmovns ecx, ebp
movsxd rcx, ecx
lea rcx, [rcx + rcx*2]
shl rcx, 3
add rcx, qword [r12 + 0x88]
mov dword [rcx + 8], eax
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret