Function at 0x1401f0250
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, 0x58
mov eax, dword [rcx + 0x30]
mov dword [rsp + 0xa8], edx
mov r14, rcx
mov qword [rsp + 0xb0], r8
mov dword [rsp + 0xb8], r9d
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x1401f0899
mov r15, qword [rcx + 0x10]
mov rdi, qword [r8 + 0x28]
mov byte [r8], 1
mov ecx, dword [r8 + 0x30]
mov dword [rsp + 0x3c], 0
mov dword [rsp + 0x30], 0
mov r13, rdi
test ecx, ecx
jg 0x1401f040a
jmp 0x1401f07ee
mov rax, qword [r13]
cmp byte [r13 + 0x1d], 1
mov r12d, dword [rsi]
mov rax, qword [rax + 0x10]
mov rdi, qword [rax + 0x20]
mov eax, dword [rdi]
adc eax, 0
cmp byte [r13 + 0x1c], 0
je 0x1401f02e3
add eax, r12d
cmp byte [r13 + 0x1e], 0
je 0x1401f02ed
add eax, r12d
add eax, 1
mov rcx, r14
mov edx, eax
mov dword [rsp + 0x34], eax
call fcn.14015d1c0
mov dword [rsp + 0x20], 1
xor r9d, r9d
mov rdx, rdi
mov r8d, eax
mov ebp, eax
call fcn.1401ecc60
cmp byte [r13 + 0x1d], 0
mov r10d, dword [rdi]
je 0x1401f06c8
cmp byte [r13 + 0x1c], 0
jne 0x1401f0620
cmp byte [r13 + 0x1e], 0
mov dword [rsp + 0x38], ebp
jne 0x1401f0990
mov r8d, dword [r13 + 0x10]
test r8d, r8d
js 0x1401f0379
test ebx, ebx
jne 0x1401f0356
mov eax, dword [r14 + 0x44]
lea ebx, [rax - 1]
mov dword [r14 + 0x44], ebx
mov eax, dword [rsp + 0x38]
mov qword [rsp + 0x20], rsi
mov r9d, ebx
mov rcx, r14
mov edx, dword [rsp + 0xb8]
mov dword [rsp + 0x28], eax
call fcn.14018fe50
mov dword [r13 + 0x10], eax
mov r11d, dword [r13 + 0x18]
test r11d, r11d
js 0x1401f0510
mov r12d, dword [rsp + 0x34]
mov r8d, ebp
mov edx, 0x61
mov rcx, r15
lea esi, [r12 + rbp - 1]
lea edi, [r12 - 1]
mov dword [rsp + 0x20], esi
mov r9d, edi
call fcn.140182310
mov r8d, dword [r13 + 0x18]
mov dword [rsp + 0x28], edi
mov r9d, esi
mov dword [rsp + 0x20], ebp
mov edx, 0x8a
mov rcx, r15
call fcn.140182e00
cmp r12d, 1
je 0x1401f05f0
mov eax, dword [rsp + 0x34]
cmp dword [r14 + 0x28], eax
jge 0x1401f03e4
mov dword [r14 + 0x28], eax
mov dword [r14 + 0x2c], ebp
test ebx, ebx
jne 0x1401f05c7
mov rbx, qword [rsp + 0xb0]
add dword [rsp + 0x30], 1
add r13, 0x20
mov eax, dword [rsp + 0x30]
cmp dword [rbx + 0x30], eax
jle 0x1401f07e0
mov rax, qword [r13]
xor ebx, ebx
mov rsi, qword [rax + 0x20]
test byte [rax + 7], 1
je 0x1401f046f
mov rax, qword [rax + 0x40]
mov r12, qword [rax + 0x48]
mov rax, qword [rsp + 0xb0]
mov eax, dword [rax + 0x24]
test eax, eax
je 0x1401f0450
mov rax, qword [r13 + 8]
test byte [rax + 4], 0x20
je 0x1401f0450
mov eax, dword [rsp + 0xa8]
test eax, eax
jne 0x1401f09c0
nop word [rax + rax]
mov eax, dword [r14 + 0x44]
mov r9d, 0x10
mov rdx, r12
mov rcx, r14
lea ebx, [rax - 1]
mov dword [r14 + 0x44], ebx
mov r8d, ebx
call fcn.1401e5a90
mov edi, dword [r13 + 0x18]
test edi, edi
jns 0x1401f02c0
test rsi, rsi
je 0x1401f0720
mov r12d, dword [rsi]
mov rcx, r14
mov edx, r12d
call fcn.14015d1c0
mov dword [rsp + 0x20], 1
xor r9d, r9d
mov rdx, rsi
mov r8d, eax
mov ebp, eax
call fcn.1401ecc60
mov r8d, dword [r13 + 0x10]
mov dword [rsp + 0x38], ebp
mov dword [rsp + 0x34], 0
test r8d, r8d
jns 0x1401f0347
mov edx, dword [r13 + 0x18]
test edx, edx
js 0x1401f0510
lea esi, [rbp - 1]
mov r8d, ebp
mov rcx, r15
mov r9d, 0xffffffff
mov dword [rsp + 0x20], esi
mov edx, 0x61
call fcn.140182310
mov r8d, dword [r13 + 0x18]
mov dword [rsp + 0x20], ebp
mov r9d, esi
mov dword [rsp + 0x28], 0xffffffff
mov edx, 0x8a
mov rcx, r15
call fcn.140182e00
jmp 0x1401f03d2
movzx eax, r12b
mov word [rsp + 0x34], ax
mov rax, qword [r13 + 8]
test byte [rax + 4], 0x20
jne 0x1401f08b0
xor r8d, r8d
mov edx, 0xa2
mov rcx, r15
mov r9d, ebp
mov rax, qword [rsp + 0xb0]
mov rdi, qword [rsp + 0xb0]
mov eax, dword [rax + 0x20]
add eax, dword [rdi + 0xc]
add eax, dword [rsp + 0x30]
mov dword [rsp + 0x20], eax
call fcn.140182310
mov rcx, qword [r15]
mov rdx, qword [r13 + 8]
cmp byte [rcx + 0x67], 0
jne 0x1401f0700
movsxd rcx, dword [r15 + 0x90]
lea r8, [rcx + rcx*2]
mov rax, rcx
mov rcx, qword [r15 + 0x88]
lea rcx, [rcx + r8*8 - 0x18]
mov byte [rcx + 1], 0xf9
mov qword [rcx + 0x10], rdx
test eax, eax
jle 0x1401f05a7
mov r9, qword [r15 + 0x88]
movzx edi, word [rsp + 0x34]
lea rax, [rax + rax*2]
lea rax, [r9 + rax*8]
mov word [rax - 0x16], di
cmp r12d, 1
je 0x1401f05f0
cmp r12d, dword [r14 + 0x28]
jle 0x1401f03e4
mov dword [r14 + 0x28], r12d
mov dword [r14 + 0x2c], ebp
test ebx, ebx
je 0x1401f03ec
mov rcx, qword [r15 + 0x18]
not ebx
mov eax, dword [rcx + 0x44]
add eax, dword [rcx + 0x48]
js 0x1401f0980
mov edx, dword [r15 + 0x90]
mov rax, qword [rcx + 0x50]
movsxd rbx, ebx
mov dword [rax + rbx*4], edx
jmp 0x1401f03ec
test ebp, ebp
je 0x1401f03e4
movzx eax, byte [r14 + 0x1f]
cmp al, 7
ja 0x1401f03e4
lea edx, [rax + 1]
mov byte [r14 + 0x1f], dl
mov dword [r14 + rax*4 + 0xe8], ebp
jmp 0x1401f03e4
lea eax, [r10 + rbp]
xor r9d, r9d
mov rdx, rsi
mov rcx, r14
mov dword [rsp + 0x20], 1
mov r8d, eax
mov dword [rsp + 0x40], r10d
mov dword [rsp + 0x38], eax
call fcn.1401ecc60
mov r10d, dword [rsp + 0x40]
add r10d, r12d
cmp byte [r13 + 0x1e], 0
je 0x1401f033e
cmp byte [r13 + 0x1c], 0
je 0x1401f0990
mov r8d, dword [rsp + 0x38]
test r12d, r12d
jle 0x1401f033e
lea eax, [rbp + r10]
lea edx, [r12 + r8]
mov dword [rsp + 0x40], ebx
sub eax, r8d
mov qword [rsp + 0x48], rsi
mov ebx, edx
mov esi, r8d
mov edi, eax
nop
lea r9d, [rdi + rsi]
mov r8d, esi
mov edx, 0xb5
mov rcx, r15
mov dword [rsp + 0x20], 0
add esi, 1
call fcn.140182310
cmp ebx, esi
jne 0x1401f0690
mov ebx, dword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
jmp 0x1401f033e
mov r8d, dword [r13 + 0x18]
lea r9d, [rbp + r10]
mov edx, 0x7e
mov rcx, r15
mov dword [rsp + 0x20], 0
mov dword [rsp + 0x38], r10d
call fcn.140182310
mov r10d, dword [rsp + 0x38]
add r10d, 1
jmp 0x1401f0324
test byte [rdx + 4], 0x10
jne 0x1401f09b0
movsxd rax, dword [r15 + 0x90]
jmp 0x1401f058b
mov rax, qword [r13 + 8]
xor r12d, r12d
xor ebp, ebp
test byte [rax + 4], 0x20
mov eax, 0
mov word [rsp + 0x34], ax
je 0x1401f0527
mov rax, qword [r14]
mov rdi, qword [rax + 0x10]
nop dword [rax]
mov r10d, dword [rsp + 0x3c]
test r10d, r10d
jne 0x1401f0774
mov rax, qword [rsp + 0xb0]
mov eax, dword [rax + 0x24]
mov dword [rsp + 0x3c], eax
test eax, eax
je 0x1401f0774
mov eax, dword [r14 + 0x38]
add eax, 1
mov dword [rsp + 0x3c], eax
mov dword [r14 + 0x38], eax
mov edx, dword [r15 + 0x90]
cmp edx, dword [r15 + 0x94]
jge 0x1401f0a10
lea eax, [rdx + 1]
mov dword [r15 + 0x90], eax
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [r15 + 0x88]
lea rax, [rax + rcx*8]
mov ecx, dword [rsp + 0x3c]
mov qword [rax + 8], 0
mov dword [rax + 4], ecx
mov qword [rax + 0x10], 0
mov dword [rax], 0x55
mov r9d, 0xfffffffe
mov r8, rdi
mov rcx, r15
call fcn.140175fe0
jmp 0x1401f0527
mov r8d, dword [rsp + 0x3c]
test r8d, r8d
jne 0x1401f0910
mov rax, qword [rsp + 0xb0]
mov edx, dword [rsp + 0xa8]
mov eax, dword [rax + 0x24]
test edx, edx
je 0x1401f080c
test eax, eax
jne 0x1401f0900
mov rbx, qword [rsp + 0xb0]
xor esi, esi
mov rbx, qword [rbx + 0x18]
test eax, eax
jle 0x1401f0a59
mov edi, dword [rsp + 0x44]
mov rbp, qword [rsp + 0xb0]
nop
cmp qword [r14 + 0x10], 0
je 0x1401f084a
mov r8d, dword [rbp + 0xc]
mov rdx, qword [rbx + 8]
mov rcx, r14
add r8d, edi
call fcn.1401e8020
add edi, 1
add rbx, 0x18
cmp dword [rbp + 0x24], edi
jg 0x1401f0830
mov rax, qword [rsp + 0xb0]
mov byte [rax], 0
test esi, esi
je 0x1401f0899
mov eax, dword [r15 + 0x90]
lea edx, [rax - 1]
cmp esi, edx
je 0x1401f09fe
mov rcx, qword [r15]
lea rdx, [0x1404f53c0]
cmp byte [rcx + 0x67], 0
jne 0x1401f0896
mov rdx, qword [r15 + 0x88]
lea rcx, [rsi + rsi*2]
lea rdx, [rdx + rcx*8]
mov dword [rdx + 8], eax
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
add rsi, 8
test r12d, r12d
jle 0x1401f073d
xor r8d, r8d
mov edi, r8d
nop dword [rax + rax]
mov rdx, qword [rsi]
mov rcx, r14
add edi, 1
add rsi, 0x20
call fcn.14018f070
test rax, rax
jne 0x1401f09a0
cmp edi, r12d
jl 0x1401f08c8
mov rdi, rax
test rax, rax
jne 0x1401f0748
mov rax, qword [r14]
mov rdi, qword [rax + 0x10]
jmp 0x1401f0748
mov eax, dword [rsp + 0xa8]
mov dword [rsp + 0x3c], eax
nop dword [rax + rax]
movsxd rsi, dword [r15 + 0x90]
cmp esi, dword [r15 + 0x94]
jge 0x1401f0a34
lea eax, [rsi + 1]
mov ebx, dword [rsp + 0x3c]
mov dword [r15 + 0x90], eax
movsxd rax, esi
lea rdx, [rax + rax*2]
mov rax, qword [r15 + 0x88]
lea rax, [rax + rdx*8]
mov dword [rax + 4], ebx
mov qword [rax + 8], 0
mov qword [rax + 0x10], 0
mov dword [rax], 0x10
mov rax, qword [rsp + 0xb0]
mov ecx, dword [rax + 0x24]
mov rbx, qword [rax + 0x18]
test ecx, ecx
jle 0x1401f0856
mov edi, dword [rsp + 0x44]
mov rbp, rax
jmp 0x1401f0830
mov r8d, ebx
mov rdx, r15
call fcn.140185120
jmp 0x1401f03ec
mov r8d, ebp
jmp 0x1401f0669
mov rdi, rax
jmp 0x1401f0748
call fcn.140164b10
jmp 0x1401f070a
mov ebp, dword [rsp + 0x3c]
test ebp, ebp
jne 0x1401f09d7
mov eax, dword [r14 + 0x38]
add eax, 1
mov dword [rsp + 0x3c], eax
mov dword [r14 + 0x38], eax
mov dword [rsp + 0x20], 0
mov r9d, dword [rsp + 0x3c]
mov edx, 0x50
mov rcx, r15
mov r8d, dword [rsp + 0xa8]
call fcn.140182310
jmp 0x1401f0450
mov dword [r15 + 0x90], esi
jmp 0x1401f0899
mov r8d, dword [rsp + 0x3c]
mov edx, 0x55
xor r9d, r9d
mov rcx, r15
mov dword [rsp + 0x20], 0
call fcn.140182280
mov edx, eax
jmp 0x1401f07c1
mov r8d, dword [rsp + 0x3c]
xor r9d, r9d
mov edx, 0x10
mov rcx, r15
mov dword [rsp + 0x20], 0
call fcn.140182280
movsxd rsi, eax
jmp 0x1401f095d
mov rax, qword [rsp + 0xb0]
mov byte [rax], 0
jmp 0x1401f0899