Function at 0x140283114
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 [r9 + 0x20]
xor edi, edi
mov r15, qword [rcx]
mov r12, rdx
mov rbx, qword [rcx + 0x10]
mov r13, r9
mov rdx, qword [rdx + 0x20]
mov r11, rcx
mov qword [rsp + 0x38], r15
lea r14d, [rdi + 1]
mov esi, edi
mov word [rsp + 0xa8], di
mov r9d, edi
mov qword [rsp + 0x40], rbx
mov r10d, edi
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x20], edi
cmp dword [r12 + 0x14], edi
jle 0x1402831d6
movzx ecx, word [rdx + 0x12]
mov eax, 0xffbf
and cx, ax
mov word [rdx + 0x12], cx
mov eax, dword [r13 + 0x44]
cmp dword [rdx + 0x1c], eax
jne 0x1402831c3
test qword [rdx + 0x28], r8
jne 0x1402831c3
movzx eax, word [rdx + 0x14]
test eax, 0xfffff7ff
je 0x1402831c3
test cl, cl
js 0x1402831c3
test byte [r13 + 0x3c], 8
je 0x1402831b8
mov rax, qword [rdx]
test byte [rax + 4], r14b
je 0x1402831c3
add r9d, r14d
or cx, 0x40
mov word [rdx + 0x12], cx
add r10d, r14d
add rdx, 0x38
cmp r10d, dword [r12 + 0x14]
jl 0x14028317a
mov dword [rsp + 0x20], r9d
mov ecx, edi
test rbx, rbx
je 0x1402832f0
movsxd rbp, dword [rbx]
mov r14d, edi
mov r12, rbp
test ebp, ebp
jle 0x1402832c7
mov rsi, qword [rsp + 0x30]
xor ebp, ebp
mov r15, rdi
lea rdi, [rbx + 0x18]
lea eax, [rbp + 1]
mov rbx, qword [rdi - 0x10]
xor r8d, r8d
mov rcx, rbx
mov edx, eax
call fcn.14029167c
test eax, eax
jne 0x140283296
test byte [rdi], 2
jne 0x1402832ae
cmp byte [rbx], 0xa7
jne 0x14028322f
mov eax, dword [r13 + 0x44]
cmp dword [rbx + 0x2c], eax
jmp 0x140283294
cmp byte [rbx], 0x71
jne 0x1402832ae
mov rcx, qword [rbx + 0x10]
cmp byte [rcx], 0xa7
jne 0x1402832ae
mov eax, dword [r13 + 0x44]
cmp dword [rcx + 0x2c], eax
jne 0x1402832ae
movzx eax, word [rcx + 0x30]
mov word [rbx + 0x30], ax
cmp word [rcx + 0x30], bp
jl 0x140283296
movsx rax, word [rcx + 0x30]
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 8]
lea rcx, [rax + rcx*8]
call fcn.1402dbdf4
mov rcx, qword [rbx + 8]
lea rdx, [0x14046173c]
test rax, rax
cmovne rdx, rax
test rcx, rcx
jne 0x140283288
neg rdx
sbb eax, eax
jmp 0x140283292
test rdx, rdx
je 0x1402832ae
call fcn.140304f38
test eax, eax
jne 0x1402832ae
mov eax, 1
add rdi, 0x20
add r14d, eax
add r15, rax
cmp r15, r12
jl 0x140283203
mov r15, qword [rsp + 0x38]
mov esi, ebp
mov r9d, dword [rsp + 0x20]
mov ecx, esi
mov r11, qword [rsp + 0x90]
mov ebp, r12d
mov r12, qword [rsp + 0x98]
cmp r14d, ebp
jne 0x1402832f0
movzx eax, word [r11 + 0x44]
mov ecx, ebp
test al, 0xc0
je 0x1402832f0
mov r14d, 1
mov esi, eax
shr esi, 7
and esi, r14d
add esi, r14d
movsxd rbp, ecx
mov rcx, qword [r15]
movsxd rdi, r9d
imul rdx, rdi, 0x1c
mov qword [rsp + 0x90], rbp
add rdx, 0x88
lea rdx, [rdx + rbp*8]
call fcn.1402de600
xor r13d, r13d
mov rbx, rax
test rax, rax
jne 0x140283336
lea rdx, str.out_of_memory
mov rcx, r15
call fcn.1402e06bc
xor eax, eax
jmp 0x1402834e9
lea r8, [rax + 0x80]
mov qword [rbx + 0x60], r12
lea r8, [r8 + rdi*8]
mov qword [rbx + 0x68], r15
mov qword [rbx + 8], r8
lea rax, [rdi + rdi*2]
lea r14, [r8 + rax*4]
mov dword [rbx + 0x70], esi
mov qword [rbx + 0x18], r14
lea rax, [r14 + rbp*8]
mov qword [rbx + 0x20], rax
mov r10d, r13d
mov dword [rbx + 0x74], r13d
mov r11d, r13d
mov ecx, 1
mov r9, qword [r12 + 0x20]
mov qword [rsp + 0x98], r14
cmp dword [r12 + 0x14], r13d
jle 0x140283484
mov r14d, dword [rsp + 0xa8]
lea edi, [rcx + 0xf]
add r8, 4
lea ebp, [rcx + 1]
test byte [r9 + 0x12], 0x40
je 0x14028345a
mov eax, dword [r9 + 0x20]
mov dword [r8 - 4], eax
mov eax, 0x1fff
mov dword [r8 + 4], r11d
movzx edx, word [r9 + 0x14]
and dx, ax
cmp dx, cx
jne 0x140283421
cmp word [r9 + 0x12], r13w
jl 0x1402833e9
mov ecx, r10d
mov edx, 1
shl edx, cl
mov eax, r13d
cmp r10d, 0x1f
mov ecx, 1
cmovle eax, edx
or dword [rbx + 0x74], eax
movzx edx, bp
mov byte [r8], dl
test dl, 0x3c
je 0x140283453
mov rcx, qword [r9]
mov rcx, qword [rcx + 0x18]
call fcn.1402e49e0
mov ecx, 1
cmp eax, ecx
jle 0x140283453
cmp r10d, edi
jge 0x140283416
movzx r14d, r14w
bts r14d, r10d
cmp dx, di
jne 0x140283449
mov byte [r8], 8
jmp 0x140283453
cmp dx, 0x40
jne 0x14028342d
mov al, byte [r9 + 0x17]
jmp 0x140283444
mov eax, 0x180
test ax, dx
je 0x1402833ec
mov eax, 0x100
cmp dx, ax
setne al
add al, 0x47
mov byte [r8], al
jmp 0x140283453
cmp dx, 4
jne 0x140283453
mov byte [r8], 0x20
add r10d, ecx
add r8, 0xc
add r11d, ecx
add r9, 0x38
cmp r11d, dword [r12 + 0x14]
jl 0x14028339d
mov rbp, qword [rsp + 0x90]
mov dword [rsp + 0xa8], r14d
mov r14, qword [rsp + 0x98]
mov dword [rbx], r10d
mov esi, r13d
test rbp, rbp
jle 0x1402834d1
mov rdi, qword [rsp + 0x40]
add rdi, 0x18
mov r15, qword [rdi - 0x10]
mov edx, ecx
mov rcx, r15
xor r8d, r8d
call fcn.14029167c
mov ecx, 1
test eax, eax
jne 0x1402834c8
movsx eax, word [r15 + 0x30]
add esi, ecx
mov dword [r14], eax
mov al, byte [rdi]
and al, cl
mov byte [r14 + 4], al
add r14, 8
add rdi, 0x20
sub rbp, rcx
jne 0x140283498
mov rax, qword [rsp + 0xb0]
mov ecx, dword [rsp + 0xa8]
mov dword [rbx + 0x10], esi
mov word [rax], cx
mov rax, rbx
mov rbx, qword [rsp + 0xa0]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret