Function at 0x14025d6d8
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, 0xd8
mov ebx, r9d
mov r14, rdx
mov rdi, rcx
mov r11, qword [rsp + 0x180]
mov r10, qword [rsp + 0x178]
mov esi, dword [rsp + 0x170]
movzx r13d, word [rsp + 0x168]
movzx r12d, word [rsp + 0x160]
mov rax, qword [rsp + 0x158]
mov qword [rsp + 0xb8], rax
mov ebp, dword [rsp + 0x150]
mov eax, dword [rsp + 0x148]
mov dword [rsp + 0x74], eax
mov eax, dword [rsp + 0x140]
mov dword [rsp + 0x70], eax
mov r15d, r9d
lea rax, [r15 + 1]
cmp rax, rsi
jne 0x14025d791
mov dword [rsp + 0x3c], ebp
mov ebp, r12d
mov rdx, qword [r14 + 0x30]
mov r12, qword [r14 + 0x38]
mov rax, r12
test esi, esi
je 0x14025d7c0
sub rax, rsi
jbe 0x14025d7df
cmp byte [rdx + rsi], 0xbf
jg 0x14025d7e1
lea rax, [0x1404c9c18]
mov qword [rsp + 0x20], rax
mov rcx, rdx
mov rdx, r12
mov r8, rsi
jmp 0x14025d96f
lea rax, [r15 + 3]
cmp rax, rsi
jne 0x14025d9b0
mov rcx, qword [r14 + 0x30]
mov rdx, qword [r14 + 0x38]
cmp esi, ebx
jb 0x14025d836
test ebx, ebx
je 0x14025d827
cmp rdx, r15
jbe 0x14025d825
cmp byte [rcx + r15], 0xc0
jge 0x14025d827
jmp 0x14025d836
sub rax, rsi
cmp rax, 2
jb 0x14025d7d8
movzx eax, word [rdx + rsi]
cmp eax, 0x2f2f
je 0x14025d8dd
xor esi, esi
jmp 0x14025d94a
jne 0x14025d777
cmp rax, 2
jb 0x14025d94a
movzx eax, word [rdx + rsi]
cmp eax, 0x2f2f
jne 0x14025d94a
cmp r12, rsi
jbe 0x14025d8d7
cmp byte [rdx + rsi], 0xbf
jg 0x14025d8dd
lea rcx, str.assertion_failed:_self.is_char_boundary_idx_
lea r8, [0x1404c98b0]
mov edx, 0x2c
jmp 0x14025ddd6
jne 0x14025d836
test esi, esi
je 0x14025d84f
cmp rdx, rsi
jbe 0x14025d84d
cmp byte [rcx + rsi], 0xbf
jg 0x14025d84f
lea rax, [0x1404c9cb8]
mov qword [rsp + 0x20], rax
mov r8, r15
mov r9, rsi
jmp 0x14025d972
jne 0x14025d836
mov rax, rsi
sub rax, r15
cmp rax, 3
jne 0x14025d9b0
movzx eax, word [rcx + r15]
xor eax, 0x2f3a
movzx r9d, byte [rcx + r15 + 2]
xor r9d, 0x2e
or r9w, ax
jne 0x14025d9b0
cmp rdx, rsi
jbe 0x14025ddb2
cmp byte [rcx + rsi], 0x2f
jne 0x14025dddd
lea rax, [rsi + 1]
cmp rax, rdx
jae 0x14025d8a3
cmp byte [rcx + rax], 0x2f
je 0x14025dcea
test ebx, ebx
je 0x14025da8d
cmp rdx, r15
jbe 0x14025da87
cmp byte [rcx + r15], 0xbf
jg 0x14025da8d
lea rcx, str.assertion_failed:_self.is_char_boundary_n_
lea r8, [0x1404ca210]
mov edx, 0x2a
jmp 0x14025ddd6
jne 0x14025d80d
mov qword [rsp + 0x60], r11
mov qword [rsp + 0x68], r10
mov byte [rsp + 0x39], r8b
mov word [rsp + 0x3a], r13w
lea rcx, [r14 + 0x28]
mov rax, qword [rcx]
sub rax, r12
cmp rax, 1
jbe 0x14025dd4f
lea r13, [rdx + rsi]
add r13, 2
add rdx, rsi
mov r8, r12
sub r8, rsi
mov rcx, r13
call fcn.14038a820
mov word [r13 - 2], 0x2e2f
add r12, 2
mov qword [r14 + 0x38], r12
add esi, 2
mov rdx, qword [r14 + 0x30]
movzx r13d, word [rsp + 0x3a]
mov r8b, byte [rsp + 0x39]
mov r10, qword [rsp + 0x68]
mov r11, qword [rsp + 0x60]
test ebx, ebx
je 0x14025d97b
cmp r12, r15
jbe 0x14025d979
cmp byte [rdx + r15], 0xbf
jg 0x14025d97b
lea rax, [0x1404c9c30]
mov qword [rsp + 0x20], rax
mov rcx, rdx
mov rdx, r12
mov r8, r15
mov r9, r12
call fcn.14038ee40
ud2
jne 0x14025d95a
sub r12, r15
cmp r12, 3
jae 0x14025d98d
mov r12d, ebp
mov ebp, dword [rsp + 0x3c]
jmp 0x14025d9b0
movzx eax, word [rdx + r15]
xor eax, 0x2f3a
movzx ecx, byte [rdx + r15 + 2]
xor ecx, 0x2f
or cx, ax
mov r12d, ebp
mov ebp, dword [rsp + 0x3c]
je 0x14025ddc3
mov qword [rsp + 0x28], r11
mov qword [rsp + 0x20], r10
lea r15, [rsp + 0x78]
mov rcx, r15
mov rdx, r14
mov r9d, ebx
call fcn.14025e2f9
mov eax, dword [r15]
cmp eax, 2
jne 0x14025da14
mov al, byte [rsp + 0x7c]
mov byte [rdi], al
mov dword [rdi + 0x18], 2
cmp qword [r14 + 0x28], 0
je 0x14025da73
mov r8, qword [r14 + 0x30]
mov rcx, qword [0x1404fd180]
xor edx, edx
add rsp, 0xd8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp qword [sym.imp.kernel32.dll_HeapFree]
mov rcx, qword [rsp + 0x7c]
mov edx, dword [rsp + 0x84]
mov r8, qword [r14 + 0x38]
mov qword [rdi + 0x10], r8
movups xmm0, xmmword [r14 + 0x28]
movups xmmword [rdi], xmm0
mov r8, qword [rsp + 0xb8]
movups xmm0, xmmword [r8]
movups xmmword [rdi + 0x40], xmm0
mov r8b, byte [r8 + 0x10]
mov byte [rdi + 0x50], r8b
mov dword [rdi + 0x18], eax
mov qword [rdi + 0x1c], rcx
mov dword [rdi + 0x24], edx
mov dword [rdi + 0x28], ebx
mov eax, dword [rsp + 0x70]
mov dword [rdi + 0x2c], eax
mov eax, dword [rsp + 0x74]
mov dword [rdi + 0x30], eax
mov dword [rdi + 0x34], ebp
mov dword [rdi + 0x38], esi
mov word [rdi + 0x3c], r12w
mov word [rdi + 0x3e], r13w
add rsp, 0xd8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
jne 0x14025d8bf
cmp esi, ebx
jb 0x14025ddf4
mov word [rsp + 0x3c], r12w
cmp rdx, rsi
jb 0x14025de08
mov qword [rsp + 0x60], r11
mov qword [rsp + 0x68], r10
mov byte [rsp + 0x39], r8b
lea rax, [r14 + 0x28]
mov qword [r14 + 0x38], r15
lea r12, [rsp + 0x88]
mov qword [r12 + 0x10], rsi
sub rdx, rsi
mov qword [r12 + 0x18], rdx
mov qword [r12 + 0x20], rax
lea rcx, [0x1404ca453]
mov qword [r12 - 0x10], rcx
lea rcx, [0x1404ca452]
mov qword [r12 - 8], rcx
lea rcx, [0x1404cdb78]
mov qword [r12], rcx
mov qword [r12 + 8], rcx
jne 0x14025db11
lea rdx, [rsp + 0x78]
mov rcx, rax
call fcn.14025f350
jmp 0x14025dcc2
lea r8, [rsp + 0x78]
mov rcx, rsi
mov rdx, rax
call fcn.14025f8f4
test al, al
je 0x14025dcc2
mov word [rsp + 0x3a], r13w
mov rax, qword [rsp + 0x78]
mov r13, rax
mov rcx, rax
sub r13, qword [rsp + 0x80]
je 0x14025dbba
mov rcx, qword [rsp + 0xa8]
mov r9, qword [rsp + 0x98]
mov r8, qword [rsp + 0xa0]
lea rdx, [r8 + r9]
mov rax, qword [rcx]
sub rax, rdx
cmp rax, r13
mov qword [rsp + 0x40], rcx
jb 0x14025dd66
add r13, r9
mov rcx, qword [rcx + 8]
add r9, rcx
add rcx, r13
mov rdx, r9
call fcn.14038a820
lea r8, [rsp + 0x78]
mov qword [r8 + 0x20], r13
mov rcx, r13
mov rdx, qword [rsp + 0x40]
call fcn.14025f8f4
test al, al
movzx r13d, word [rsp + 0x3a]
je 0x14025dcc2
mov rcx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x80]
sub rcx, rax
call fcn.14004b4d6
lea r13, [rsp + 0xc0]
mov qword [r13], rax
mov qword [r13 + 8], rdx
mov qword [r13 + 0x10], 0
lea rdx, [rsp + 0x78]
mov rcx, r13
call fcn.14025f350
mov r9, qword [r13]
mov r8, qword [r13 + 8]
mov r10, qword [r13 + 0x10]
test r10, r10
je 0x14025dca8
mov qword [rsp + 0xb0], r9
mov qword [rsp + 0x58], r8
mov rcx, qword [rsp + 0xa8]
mov r13, qword [rsp + 0x98]
mov r8, qword [rsp + 0xa0]
lea rdx, [r8 + r13]
mov rax, qword [rcx]
sub rax, rdx
cmp rax, r10
mov qword [rsp + 0x40], r10
mov qword [rsp + 0x48], rcx
jb 0x14025dd91
lea rax, [r10 + r13]
mov qword [rsp + 0x50], rax
mov rcx, qword [rcx + 8]
lea rdx, [rcx + r13]
add rcx, rax
call fcn.14038a820
mov r11, qword [rsp + 0x48]
mov r10, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x98], rcx
mov rax, qword [r11 + 0x10]
cmp rax, rcx
mov r8, qword [rsp + 0x58]
mov r9, qword [rsp + 0xb0]
je 0x14025dca8
sub r13, rax
add rax, qword [r11 + 8]
add r13, r10
xor ecx, ecx
cmp r10, rcx
je 0x14025dca8
mov dl, byte [r8 + rcx]
mov byte [rax + rcx], dl
inc qword [r11 + 0x10]
inc rcx
cmp r13, rcx
jne 0x14025dc90
test r9, r9
movzx r13d, word [rsp + 0x3a]
je 0x14025dcc2
mov rcx, qword [0x1404fd180]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov rcx, r12
call fcn.14026e081
add esi, 0xfffffffe
mov rcx, qword [r14 + 0x30]
mov rdx, qword [r14 + 0x38]
movzx r12d, word [rsp + 0x3c]
mov r8b, byte [rsp + 0x39]
mov r10, qword [rsp + 0x68]
mov r11, qword [rsp + 0x60]
test ebx, ebx
je 0x14025dd13
cmp rdx, r15
jbe 0x14025dd11
cmp byte [rcx + r15], 0xbf
jg 0x14025dd13
lea rax, [0x1404c9d00]
mov qword [rsp + 0x20], rax
mov r8, r15
mov r9, rdx
jmp 0x14025d972
jne 0x14025dcfa
sub rdx, r15
cmp rdx, 3
jb 0x14025d9b0
movzx eax, word [rcx + r15]
xor eax, 0x2f3a
movzx ecx, byte [rcx + r15 + 2]
xor ecx, 0x2f
or cx, ax
jne 0x14025d9b0
lea rcx, [0x1404c9c4b]
lea r8, [0x1404c9d18]
jmp 0x14025ddd1
mov r8d, 2
mov rdx, r12
call fcn.14038e440
mov rdx, qword [r14 + 0x30]
jmp 0x14025d906
mov rcx, qword [rsp + 0x40]
mov qword [rsp + 0x48], r8
mov r8, r13
mov qword [rsp + 0x58], r9
call fcn.14038e7d9
mov r9, qword [rsp + 0x58]
mov r8, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x40]
jmp 0x14025db74
mov qword [rsp + 0x50], r8
mov r8, r10
call fcn.14038e7d9
mov r8, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x48]
mov r10, qword [rsp + 0x40]
jmp 0x14025dc3e
lea r8, [0x1404c9cd0]
mov rcx, rsi
call fcn.14038e8b0
ud2
lea rcx, [0x1404c9c4b]
lea r8, [0x1404c9ca0]
mov edx, 0x51
call fcn.14038e950
ud2
add rcx, rsi
lea rdx, [rsp + 0x78]
mov qword [rdx + 0x10], 0
call fcn.140399892
ud2
lea r8, [0x1404ccb98]
mov rcx, r15
mov rdx, rsi
call fcn.14038ebd0
ud2
lea r8, [0x1404ccb98]
mov rcx, rsi
call fcn.14038e940
ud2