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

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x50
mov rax, qword [rcx]
xor r14d, r14d
mov rbx, r8
mov r8, qword [rcx + 0x10]
mov rsi, r9
mov qword [rsp + 0x48], rax
mov rbp, rdx
mov rax, qword [r9 + 0x20]
mov r13d, r14d
mov r9, qword [rdx + 0x20]
mov edi, r14d
mov qword [rsp + 0x40], rax
mov r11d, r14d
mov word [rsp + 0xa8], r14w
mov qword [rsp + 0x30], r8
mov dword [rsp + 0x20], r14d
cmp dword [rdx + 0x14], r14d
jle 0x140097747
nop word [rax + rax]
mov r10d, 0xffbf
and r10w, word [r9 + 0x12]
mov word [r9 + 0x12], r10w
mov eax, dword [rsi + 0x44]
cmp dword [r9 + 0x1c], eax
jne 0x140097731
test qword [r9 + 0x28], rbx
jne 0x140097731
movzx eax, word [r9 + 0x14]
test eax, 0xfffff7ff
je 0x140097731
test r10b, r10b
js 0x140097731
test byte [rsi + 0x3c], 0x58
je 0x140097725
mov rdx, rsi
mov rcx, r9
call fcn.140098510
test eax, eax
je 0x140097731
inc edi
or r10w, 0x40
mov word [r9 + 0x12], r10w
inc r11d
add r9, 0x38
cmp r11d, dword [rbp + 0x14]
jl 0x1400976e0
mov r8, qword [rsp + 0x30]
mov dword [rsp + 0x20], edi
mov edx, r14d
mov r15d, 1
test r8, r8
je 0x140097848
movsxd rcx, dword [r8]
mov r12d, r14d
mov dword [rsp + 0x28], ecx
test ecx, ecx
jle 0x14009781b
mov rbp, r14
lea rdi, [r8 + 0x18]
mov r14, qword [rsp + 0x40]
mov r13, rcx
nop word [rax + rax]
mov rbx, qword [rdi - 0x10]
mov rcx, rbx
call fcn.1400d41d0
test eax, eax
jne 0x1400977f7
test byte [rdi], 2
jne 0x14009780a
movzx eax, byte [rbx]
cmp al, 0xa7
jne 0x1400977a4
mov eax, dword [rsi + 0x44]
cmp dword [rbx + 0x2c], eax
jmp 0x1400977f5
cmp al, 0x71
jne 0x14009780a
mov rcx, qword [rbx + 0x10]
cmp byte [rcx], 0xa7
jne 0x14009780a
mov eax, dword [rsi + 0x44]
cmp dword [rcx + 0x2c], eax
jne 0x14009780a
movzx eax, word [rcx + 0x30]
mov word [rbx + 0x30], ax
movsx rax, word [rcx + 0x30]
test ax, ax
js 0x1400977f7
lea rdx, [rax + rax*2]
mov rax, qword [r14 + 8]
lea rcx, [rax + rdx*8]
call fcn.1400c7b60
mov rcx, qword [rbx + 8]
lea rdx, [0x140137cd8]
test rax, rax
cmovne rdx, rax
call fcn.14010bef0
test eax, eax
jne 0x14009780a
inc r12d
inc rbp
add rdi, 0x20
cmp rbp, r13
jl 0x140097780
mov ecx, dword [rsp + 0x28]
xor r14d, r14d
mov edi, dword [rsp + 0x20]
mov r13d, r14d
mov edx, r14d
cmp r12d, ecx
jne 0x140097848
mov rax, qword [rsp + 0x90]
mov edx, ecx
movzx eax, word [rax + 0x3c]
test al, al
jns 0x140097842
mov r13d, eax
shr r13d, 9
and r13d, r15d
add r13d, 2
jmp 0x140097848
test al, 0x40
cmovne r13d, r15d
movsxd rbp, edx
movsxd rbx, edi
mov rdi, qword [rsp + 0x48]
imul rdx, rbx, 0x1c
mov rcx, qword [rdi]
add rdx, 0x88
mov qword [rsp + 0x40], rbp
lea rdx, [rdx + rbp*8]
call fcn.14010f700
mov r12, rax
test rax, rax
jne 0x14009788d
lea rdx, str.out_of_memory
mov rcx, rdi
call fcn.14010c080
xor eax, eax
jmp 0x140097a4c
lea rdx, [rax + 0x80]
mov qword [r12 + 0x68], rdi
lea rdx, [rdx + rbx*8]
mov dword [r12 + 0x70], r13d
lea rax, [rbx + rbx*2]
mov qword [r12 + 8], rdx
mov rbx, qword [rsp + 0x98]
lea rsi, [rdx + rax*4]
mov qword [r12 + 0x18], rsi
lea rax, [rsi + rbp*8]
mov qword [r12 + 0x20], rax
mov r10d, r14d
mov dword [r12 + 0x74], r14d
mov r11d, r14d
mov qword [r12 + 0x60], rbx
cmp dword [rbx + 0x14], 0
mov r9, qword [rbx + 0x20]
mov qword [rsp + 0x90], rsi
jle 0x1400979f1
mov esi, dword [rsp + 0xa8]
mov ecx, 0x180
add rdx, 4
mov r13d, 0x20
mov ebp, 0x3fff
lea edi, [rcx - 0x80]
nop dword [rax]
test byte [r9 + 0x12], 0x40
je 0x1400979cc
mov eax, dword [r9 + 0x20]
mov dword [rdx - 4], eax
mov dword [rdx + 4], r11d
movzx r8d, word [r9 + 0x14]
and r8w, bp
cmp r8w, 1
jne 0x140097953
cmp word [r9 + 0x12], 0
jl 0x14009794e
cmp r10d, 0x1f
mov eax, r15d
cmovg eax, r14d
or dword [r12 + 0x74], eax
mov byte [rdx], 2
jmp 0x1400979c2
cmp r8w, 0x40
jne 0x140097963
movzx eax, byte [r9 + 0x17]
mov byte [rdx], al
jmp 0x1400979c2
test cx, r8w
je 0x140097976
cmp r8w, di
setne al
add al, 0x47
mov byte [rdx], al
jmp 0x1400979c2
mov byte [rdx], r8b
test r8b, 0x3c
je 0x1400979c2
mov rcx, qword [r9]
mov rcx, qword [rcx + 0x18]
call fcn.1400d66a0
test eax, eax
je 0x1400979bd
cmp r10d, 0x10
jge 0x14009799c
movzx esi, si
bts esi, r10d
mov ecx, 0x180
cmp r8w, 0x10
jne 0x1400979ad
mov byte [rdx], 8
jmp 0x1400979c2
movzx eax, byte [rdx]
cmp r8w, 4
cmove eax, r13d
mov byte [rdx], al
jmp 0x1400979c2
mov ecx, 0x180
inc r10d
rol r15d, 1
add rdx, 0xc
inc r11d
add r9, 0x38
cmp r11d, dword [rbx + 0x14]
jl 0x140097910
mov rbp, qword [rsp + 0x40]
mov dword [rsp + 0xa8], esi
mov rsi, qword [rsp + 0x90]
mov dword [r12], r10d
test rbp, rbp
jle 0x140097a32
mov rbx, qword [rsp + 0x30]
add rbx, 0x18
mov rdi, qword [rbx - 0x10]
mov rcx, rdi
call fcn.1400d41d0
test eax, eax
jne 0x140097a28
movsx eax, word [rdi + 0x30]
inc r14d
mov dword [rsi], eax
movzx eax, byte [rbx]
and al, 1
mov byte [rsi + 4], al
add rsi, 8
add rbx, 0x20
sub rbp, 1
jne 0x140097a03
mov rax, qword [rsp + 0xb0]
mov ecx, dword [rsp + 0xa8]
mov dword [r12 + 0x10], r14d
mov word [rax], cx
mov rax, r12
mov rbx, qword [rsp + 0xa0]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret