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

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x18]
sub rsp, 0x118
mov r14, qword [rcx + 0x18]
xor r12d, r12d
mov qword [rbp], r14
mov esi, r12d
mov dword [rbp + 0x78], r12d
mov rbx, rcx
call fcn.140263fe0
mov rdx, rax
mov qword [rbp + 8], rax
mov rcx, rbx
mov qword [rsp + 0x30], rax
mov rdi, rax
call fcn.140254850
mov rcx, rbx
mov dword [rsp + 0x48], eax
mov r15d, eax
call fcn.140263dfc
test r15d, r15d
je 0x1402597eb
mov rcx, qword [rbx]
lea rdx, [rsp + 0x70]
mov r8d, r15d
mov r13d, dword [rcx + 0x84]
mov eax, dword [rcx + 0x5c]
mov rcx, rbx
mov dword [rbp + 0x60], r13d
mov dword [rsp + 0x38], eax
call fcn.140265f9c
mov eax, dword [rbx + 0x34]
test eax, eax
jne 0x140259762
xor r8d, r8d
xor edx, edx
mov rcx, r14
call fcn.140299eb0
mov dword [rbx + 0x34], eax
test eax, eax
jne 0x140259762
cmp qword [r14 + 0x18], r12
je 0x140259759
lea r9, [rbp + 0x68]
mov rcx, r14
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x50]
call fcn.140299e1c
mov rcx, qword [rsp + 0x50]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov r9, qword [rsp + 0x50]
lea rdx, [rsp + 0x70]
mov r8, rax
mov rcx, rbx
call fcn.140265880
cmp dword [rbx + 0x34], r12d
jne 0x140259759
movsxd rdi, dword [rbp + 0x68]
movsxd rsi, dword [rbp - 0x78]
mov ecx, dword [rbp - 0x68]
add ecx, esi
lea eax, [rdi + 1]
add eax, ecx
cmp r13d, eax
jl 0x1402594a2
mov rdx, qword [rsp + 0x58]
mov rcx, rsi
add rcx, qword [rbp - 0x80]
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
add dword [rbp - 0x78], edi
jmp 0x14025973d
mov r15, r12
mov qword [rsp + 0x60], r12
mov r14d, r12d
cmp r14d, edi
jge 0x140259739
mov r12, qword [rsp + 0x58]
lea rdx, [rsp + 0x60]
movsxd rcx, r14d
add rcx, r12
call fcn.140299a34
mov rdx, qword [rsp + 0x60]
xor r11d, r11d
add r15, rdx
movzx eax, al
add r14d, eax
mov qword [rbp - 8], r15
mov dword [rsp + 0x44], r14d
cmp byte [rbp - 0x47], r11b
je 0x14025953b
movzx edx, word [rbp - 0x78]
mov rcx, qword [rbp - 0x80]
movzx eax, dx
shr ax, 8
mov byte [rcx + 1], dl
mov rdx, r15
mov byte [rcx], al
movsxd rcx, dword [rbp - 0x78]
add rcx, qword [rbp - 0x80]
call fcn.14029bca0
add dword [rbp - 0x78], eax
lea rdx, [rsp + 0x70]
mov r8, r15
mov byte [rbp - 0x47], r11b
mov rcx, rbx
call fcn.140265a64
xor r11d, r11d
cmp dword [rbx + 0x34], r11d
jne 0x140259736
mov esi, dword [rbp - 0x78]
mov r15d, r11d
jmp 0x140259586
movsxd rcx, esi
add rcx, qword [rbp - 0x80]
cmp rdx, 0x7f
ja 0x140259554
and dl, 0x7f
mov eax, 1
mov byte [rcx], dl
jmp 0x14025957a
cmp rdx, 0x3fff
ja 0x140259575
mov rax, rdx
shr rax, 7
or al, 0x80
and dl, 0x7f
mov byte [rcx], al
mov byte [rcx + 1], dl
mov eax, 2
jmp 0x14025957a
call fcn.14025f548
mov esi, dword [rbp - 0x78]
mov r15d, dword [rbx + 0x34]
add esi, eax
mov dword [rbp - 0x78], esi
cmp dword [rsp + 0x38], 1
jne 0x1402595f8
cmp r14d, edi
jge 0x1402595d5
movsxd rax, r14d
cmp byte [rax + r12], r11b
jne 0x1402595d5
mov rax, qword [rbp - 0x80]
inc r14d
movsxd rcx, esi
mov byte [rcx + rax], r11b
mov esi, dword [rbp - 0x78]
inc esi
mov dword [rbp - 0x78], esi
cmp r14d, edi
jge 0x1402595d5
movsxd rax, r14d
cmp byte [rax + r12], r11b
jne 0x1402595d5
mov rax, qword [rbp - 0x80]
movsxd rcx, esi
mov byte [rcx + rax], r11b
mov esi, dword [rbp - 0x78]
inc esi
mov dword [rbp - 0x78], esi
inc r14d
mov ecx, dword [rbp - 0x68]
add ecx, esi
cmp ecx, r13d
jl 0x140259723
lea rdx, [rsp + 0x70]
mov rcx, rbx
call fcn.140265ebc
mov esi, dword [rbp - 0x78]
jmp 0x140259723
movsxd rax, r14d
lea r8, [rbp + 0x70]
add r12, rax
lea rdx, [rsp + 0x3c]
mov rcx, r12
call fcn.140259ac4
mov ecx, dword [rbp - 0x68]
mov r13d, dword [rsp + 0x3c]
mov edx, dword [rbp + 0x60]
add r13d, eax
mov dword [rsp + 0x40], r13d
lea eax, [rsi + rcx]
add eax, r13d
cmp eax, edx
jg 0x14025964c
movsxd rcx, esi
mov rdx, r12
add rcx, qword [rbp - 0x80]
movsxd r8, r13d
call sub.VCRUNTIME140.dll_memcpy
mov esi, dword [rbp - 0x78]
add esi, r13d
mov dword [rbp - 0x78], esi
jmp 0x14025971c
xor edi, edi
test r15d, r15d
jne 0x140259719
mov r14, r12
mov r12d, edx
mov r15d, r13d
sub r12d, esi
sub r15d, edi
sub r12d, ecx
cmp r15d, r12d
jle 0x1402596c1
movsxd r13, edi
lea rdx, [rbp + 0x70]
add r13, r14
mov rcx, r13
call fcn.140299bf0
movsxd r15, eax
cmp r15d, r12d
jge 0x1402596bc
lea rcx, [r15 + r13]
lea rdx, [rbp + 0x70]
call fcn.140299bf0
mov edx, eax
lea ecx, [rax + r15]
cmp ecx, r12d
jg 0x1402596bc
add r15d, edx
lea rdx, [rbp + 0x70]
movsxd rcx, r15d
add rcx, r13
call fcn.140299bf0
mov edx, eax
add eax, r15d
cmp eax, r12d
jle 0x1402596a0
mov r13d, dword [rsp + 0x40]
movsxd rdx, edi
movsxd rcx, esi
add rdx, r14
add rcx, qword [rbp - 0x80]
movsxd r8, r15d
call sub.VCRUNTIME140.dll_memcpy
mov esi, dword [rbp - 0x78]
add edi, r15d
mov ecx, dword [rbp - 0x68]
add esi, r15d
mov edx, dword [rbp + 0x60]
mov dword [rbp - 0x78], esi
lea eax, [rsi + rcx]
cmp eax, edx
jl 0x140259705
lea rdx, [rsp + 0x70]
mov rcx, rbx
call fcn.140265ebc
mov ecx, dword [rbp - 0x68]
mov edx, dword [rbp + 0x60]
mov esi, dword [rbp - 0x78]
cmp edi, r13d
jge 0x140259714
cmp dword [rbx + 0x34], 0
je 0x14025965a
mov r14d, dword [rsp + 0x44]
mov edi, dword [rbp + 0x68]
add r14d, r13d
mov r13d, dword [rbp + 0x60]
mov r15, qword [rbp - 8]
xor r12d, r12d
cmp dword [rbx + 0x34], r12d
je 0x1402594ad
jmp 0x140259739
xor r12d, r12d
mov r14, qword [rbp]
cmp dword [rbx + 0x34], r12d
jne 0x140259759
mov rax, qword [r14 + 0x18]
mov rdx, qword [rax + 8]
mov qword [r14 + 0x18], rdx
cmp dword [rbx + 0x34], r12d
je 0x140259426
mov rdi, qword [rbp + 8]
mov r15d, dword [rsp + 0x48]
mov rcx, r14
call fcn.140299c70
lea r8, [rbp + 0x78]
mov rcx, rbx
lea rdx, [rsp + 0x70]
call fcn.140265cb0
cmp dword [rdi + 0x14], r12d
jne 0x140259794
lea rcx, [rbx + 0x34]
lea rdx, [rsp + 0x30]
call fcn.140263910
mov rdi, qword [rsp + 0x30]
lea rcx, [rbx + 0x34]
mov dword [rsp + 0x20], r12d
mov r9d, 1
xor r8d, r8d
mov rdx, rdi
call fcn.140263d34
mov esi, dword [rbp + 0x78]
cmp dword [rbx + 0x34], r12d
jne 0x1402597de
movsxd rcx, dword [rdi + 0x1c]
mov rdx, qword [rdi + 0x20]
lea r8, [rcx + rcx*2]
lea eax, [rcx + 1]
mov dword [rdi + 0x1c], eax
mov dword [rdx + r8*4], r15d
mov dword [rdx + r8*4 + 4], 1
mov dword [rdx + r8*4 + 8], esi
inc dword [rdi + 0x10]
mov r8, rdi
xor edx, edx
mov rcx, rbx
call fcn.140263e24
cmp dword [rbx + 0x34], r12d
jne 0x14025984d
mov rax, qword [rbx]
cmp dword [rax + 0x88], r12d
jle 0x14025984d
test rdi, rdi
je 0x14025984d
movsxd rcx, dword [rbx + 0x10]
xor edx, edx
mov r10, qword [rdi + 8]
movsxd rax, esi
add rax, r10
mov qword [rdi + 8], rax
mov r9, qword [rbx]
div rcx
mov r9d, dword [r9 + 0x88]
xor edx, edx
mov r8, rax
mov rax, r10
div rcx
lea rdx, [rsp + 0x30]
mov rcx, rbx
sub r8d, eax
imul r8d, dword [rdi + 0x14]
imul r8d, dword [rbx + 0x10]
call fcn.14025b304
mov rdi, qword [rsp + 0x30]
mov esi, r12d
mov rax, qword [rbx]
mov qword [rbp + 0x60], rdi
mov r15d, dword [rax + 0x8c]
cmp dword [rbx + 0x34], r12d
jne 0x14025989d
mov r14, r12
cmp dword [rdi + r14 + 0x1c], r15d
jl 0x14025989d
xor r9d, r9d
lea rdx, [rbp + 0x60]
mov r8d, esi
mov rcx, rbx
call fcn.14025b414
mov rdi, qword [rbp + 0x60]
inc esi
mov edx, esi
mov r8, rdi
mov rcx, rbx
call fcn.140263e24
add r14, 0x10
cmp dword [rbx + 0x34], r12d
je 0x140259867
mov rdx, rdi
mov rcx, rbx
call fcn.1402641c4
mov rcx, rdi
add rsp, 0x118
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
jmp fcn.140264170