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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x38
mov eax, 0x7f2bb712
mov dword [rsp + 0x88], edx
mov rsi, rcx
mov r13, r8
test rcx, rcx
je 0x140058016
cmp dword [rcx], 0x7f2bb712
jne 0x140058016
cmp qword [rcx + 0xb0], 0
jne 0x140057bc7
mov eax, 0x7f2bb780
jmp 0x140058016
mov eax, dword [rsp + 0x88]
xor r12d, r12d
and eax, 0xf
mov dword [rsp + 0x24], eax
mov ebp, eax
sub eax, 7
mov dword [rsp + 0x28], eax
and eax, 0xfffffffd
mov dword [rsp + 0x2c], eax
movsxd rbx, dword [rsi + 0xa4]
mov r8, qword [rsi + 0xb0]
mov rax, rbx
imul rbx, rbx, 0x30
add rbx, r8
cmp dword [rsp + 0x2c], 0
jne 0x140057c41
cmp eax, dword [rsi + 0xa8]
jge 0x140057c23
cmp dword [rbx + 0x14], 0
jne 0x140057c23
mov dword [rbx + 0x14], 1
mov ebp, 0xc
jmp 0x140057c41
cmp dword [rbx + 0x10], 0
mov ebp, 5
jg 0x140057c41
test eax, eax
jg 0x140057c3c
mov eax, 0x7f2bb77c
jmp 0x140058016
mov ebp, 0xb
mov ecx, dword [rsp + 0x88]
and ecx, 0xd
cmp ecx, 8
jne 0x140057c83
cmp eax, dword [rsi + 0xa8]
jge 0x140057c67
cmp dword [rbx + 0x14], 0
mov ebp, 0xd
jg case.0x140057cbe.12
mov edi, dword [rbx + 8]
lea edx, [rdi - 1]
cmp dword [rbx + 0x10], edx
jl case.0x140057cbe.6
test eax, eax
jg 0x140057d8a
jmp 0x140057ff4
cmp dword [rsp + 0x24], 2
jne 0x140057ca5
cmp eax, dword [rsi + 0xa8]
jge case.0x140057cbe.4
cmp dword [rbx + 0x10], 0
je 0x140057dab
jmp case.0x140057cbe.4
cmp ebp, 0xd
ja case.0x140057cbe.2
lea r9, [0x1400a8e90]
mov edx, ebp
movsxd rdx, dword [r9 + rdx*4]
add rdx, r9
jmp rdx
mov r8, qword [rbx + 0x28]
mov r14, rbx
jmp 0x140057f18
xor eax, eax
mov rbx, r8
mov dword [rsi + 0xa4], eax
mov eax, dword [rbx + 8]
xor r15d, r15d
mov qword [rbx + 0x28], r15
mov dword [rbx + 0x10], eax
mov eax, dword [rbx + 0x10]
test eax, eax
jle 0x140057c32
mov r8, qword [rbx + 0x28]
test r8, r8
je 0x140057cfe
add r8, 0xc
jmp 0x140057d05
mov rdi, qword [rbx]
lea r8, [rdi + 0xc]
xor r14d, r14d
dec eax
mov qword [rbx + 0x28], r8
mov dword [rbx + 0x14], r14d
mov r14, rbx
mov dword [rbx + 0x10], eax
jmp 0x140057f21
mov r8, qword [rbx + 0x28]
test r8, r8
je 0x140057ff4
mov edi, dword [rbx + 0x10]
lea edx, [rdi + 1]
cmp edx, dword [rbx + 8]
jge 0x140057ff4
sub r8, 0xc
mov dword [rbx + 0x10], edx
mov qword [rbx + 0x28], r8
cmp eax, dword [rsi + 0xa8]
jge 0x140058009
mov dword [rbx + 0x14], 1
jmp 0x140058009
mov r8, qword [rbx]
xor edi, edi
mov r14, rbx
mov ebp, 4
movzx eax, word [r8 + 2]
mov qword [rbx + 0x10], rdi
imul rax, rax, 0xc
add r8, rax
mov qword [rbx + 0x28], r8
jmp 0x140057f21
test eax, eax
jle 0x140057ffb
dec eax
mov r8, qword [rbx - 8]
mov dword [rsi + 0xa4], eax
cmp ecx, 8
jne 0x140057f08
xor r11d, r11d
mov dword [rbx - 0x1c], r11d
jmp 0x140057f08
mov ebp, 0xc
mov r15, qword [rbx + 0x28]
test r15, r15
je 0x140058002
cmp eax, dword [rsi + 0xa8]
jge 0x140058002
cmp qword [rbx + 0x30], 0
mov rax, qword [rsi + 8]
lea r14, [rbx + 0x30]
je 0x140057df6
mov r8, qword [rsi + 8]
mov eax, dword [r15 + 4]
movzx edx, word [r15 + 8]
mov r9, qword [rbx + 0x30]
mov rcx, qword [r8 + 8]
test byte [r8 + 0x11], 0x20
jne 0x140057e0a
jmp 0x140057e20
mov ecx, dword [rax + 0x28]
mov rdx, r14
call fcn.14005cd65
test eax, eax
je 0x140057dd8
jmp 0x140058016
cmp qword [r8 + 0xe8], rcx
je 0x140057e20
mov ecx, dword [r8 + 0x28]
xor eax, eax
mov rdi, r9
rep stosb byte [rdi], al
jmp 0x140057e3a
shl rdx, 0x20
mov r8d, 1
add rdx, rax
call fcn.14005eef4
test eax, eax
jne 0x140058016
mov r11d, dword [rsi + 0xa4]
mov r10, qword [rsi + 8]
mov rdi, qword [rbx + 0x30]
lea eax, [r11 + 1]
mov edx, dword [r10 + 0x28]
mov dword [rsi + 0xa4], eax
mov rcx, rdi
call fcn.140057916
test eax, eax
je 0x140057e6f
mov dword [rsi + 0xa4], r11d
jmp 0x140058016
test byte [r10 + 0x12], 0x20
jne 0x140057e8f
mov edx, dword [rsi + 0x10]
mov r8, rdi
mov rcx, r10
call fcn.140056dd7
test eax, eax
mov eax, 1
cmove r12d, eax
movzx r9d, word [rdi + 2]
movzx edx, word [rdi + 4]
cmp dword [rbx + 0x10], 0
mov dword [rbx + 0x38], r9d
mov rax, r9
mov dword [rbx + 0x40], r9d
mov dword [rbx + 0x3c], edx
jle 0x140057eb2
mov edx, dword [r15 + 0xc]
jmp 0x140057eb6
mov rdx, qword [rbx + 0x20]
mov qword [rbx + 0x50], rdx
mov ecx, dword [rsi + 0xa4]
mov edx, dword [rsi + 0xa8]
cmp ebp, 0xc
jne 0x140057ee3
lea r8, [rdi + 0xc]
dec r9d
xor r10d, r10d
mov qword [rbx + 0x58], r8
mov dword [rbx + 0x40], r9d
mov dword [rbx + 0x44], r10d
jmp 0x140057f21
imul rax, rax, 0xc
xor r9d, r9d
mov dword [rbx + 0x40], r9d
lea r8, [rdi + rax]
mov qword [rbx + 0x58], r8
cmp ecx, edx
jge 0x140057f13
mov dword [rbx + 0x44], 1
mov ebp, 0xd
jmp 0x140057f21
lea r14, [rbx - 0x30]
mov ebp, 0xb
jmp 0x140057f18
mov ebp, 0xd
test r8, r8
je 0x140057bbd
mov ebx, dword [r8]
mov ecx, dword [rsi + 0xa4]
xor eax, eax
mov edx, dword [rsi + 0xa8]
mov dword [r13 + 0x14], eax
mov r9, rbx
cmp ecx, edx
jne 0x140057f80
movzx eax, word [r8 + 6]
mov r9d, dword [r8 + 8]
mov qword [r13 + 8], rbx
shl rax, 0x20
add rax, r9
mov qword [r13], rax
movzx eax, word [r8 + 4]
mov dword [r13 + 0x14], 1
mov dword [r13 + 0x10], eax
cmp eax, 0x8000
jbe 0x140057fb0
sub eax, 0x8000
mov dword [r13 + 0x14], 3
mov dword [r13 + 0x10], eax
jmp 0x140057fb0
movzx eax, word [r8 + 8]
mov r15d, dword [r8 + 4]
mov qword [r13 + 8], rbx
shl rax, 0x20
add rax, r15
cmp dword [r14 + 0x10], 0
mov qword [r13], rax
jle 0x140057fa5
mov eax, dword [r8 + 0xc]
jmp 0x140057fa9
mov rax, qword [r14 + 0x20]
sub eax, r9d
mov dword [r13 + 0x10], eax
cmp dword [r14 + 0x14], 0
je 0x140057fbc
or dword [r13 + 0x14], 4
cmp dword [rsp + 0x28], 1
ja 0x140057fc7
cmp ecx, edx
jmp 0x140057fdb
cmp dword [rsp + 0x24], 2
jne 0x140057fe1
cmp ecx, edx
jne 0x140057be8
cmp dword [r14 + 0x10], 0
jne 0x140057be8
neg r12d
sbb eax, eax
and eax, 0x7f2bb794
jmp 0x140058016
mov eax, 0x7f2bb781
jmp 0x140058016
mov eax, 0x7f2bb77d
jmp 0x140058016
mov eax, 0x7f2bb77e
jmp 0x140058016
mov eax, 0x7f2bb77f
jmp 0x140058016
mov r14, rbx
mov ebp, 6
jmp 0x140057f21
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret