Function at 0x1401ccc70
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, 0xc8
xor r14d, r14d
mov qword [rsp + 0x110], rcx
mov qword [rsp + 0x118], rdx
mov dword [rsp + 0x120], r8d
mov qword [rsp + 0x128], r9
mov dword [rsp + 0x3c], r8d
mov qword [rsp + 0x68], 0
mov dword [rsp + 0x4c], 1
nop dword [rax]
mov rax, qword [rsp + 0x110]
mov r15, qword [rsp + 0x118]
mov qword [rsp + 0xa8], 0
mov dword [rax + 0x24], 0
mov eax, dword [rsp + 0x3c]
mov ebx, eax
test eax, eax
jle 0x1401cdaeb
nop dword [rax]
movzx eax, byte [r15]
lea edx, [rax - 9]
cmp dl, 4
jbe 0x1401ccfe0
cmp al, 0x20
je 0x1401ccfe0
lea rsi, [0x1403c76c0]
xor eax, eax
lea r12, [rsi + 0x40]
test al, 0xfe
jne 0x1401ccd78
movzx r13d, byte [rsi + 8]
cmp ebx, r13d
jl 0x1401ccd78
movzx edi, r13b
mov rdx, qword [rsi]
mov rcx, r15
mov r8, rdi
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x1401ccd78
movzx edx, byte [rsi + 0xa]
cmp dl, 1
je 0x1401cd410
mov eax, 0xa
movzx ecx, byte [r15 + rdi]
cmp cl, 0x29
ja 0x1401ccd78
movabs rdi, 0x30500003e01
bt rdi, rcx
jb 0x1401cd970
nop dword [rax]
add rsi, 0x10
cmp rsi, r12
je 0x1401ccd92
movzx eax, byte [rsi + 9]
test al, 0xfe
je 0x1401ccd21
add rsi, 0x10
cmp rsi, r12
jne 0x1401ccd81
movzx eax, byte [r15]
cmp al, 0x22
je 0x1401ccff8
cmp al, 0x28
je 0x1401cd490
cmp al, 0x29
mov rax, qword [rsp + 0x110]
je 0x1401cd9b7
mov eax, dword [rax + 0x20]
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0x110]
movsxd rsi, dword [rax + 0x1c]
test esi, esi
jle 0x1401cd348
mov rdi, qword [rax + 0x10]
xor r12d, r12d
jmp 0x1401ccded
add r12, 1
cmp rsi, r12
je 0x1401cd348
mov r13, qword [rdi + r12*8]
mov rcx, r13
call sub.msvcrt.dll_strlen
mov rbp, rax
cmp ebx, eax
jle 0x1401ccde0
cdqe
cmp byte [r15 + rax], 0x3a
jne 0x1401ccde0
mov r8d, ebp
mov rdx, r15
mov rcx, r13
call fcn.14015db50
test eax, eax
jne 0x1401ccde0
mov r10, r15
sub r10, qword [rsp + 0x118]
mov edi, dword [rsp + 0x3c]
mov dword [rsp + 0x40], r12d
lea eax, [r10 + rbp + 1]
mov dword [rsp + 0x48], eax
movsxd rbp, eax
sub edi, eax
add rbp, qword [rsp + 0x118]
nop dword [rax]
mov rax, qword [rsp + 0x110]
mov rcx, qword [rax]
mov rax, qword [rcx]
mov r13, rax
test edi, edi
jle 0x1401cda5a
mov rdx, rbp
xor ebx, ebx
jmp 0x1401cce7f
cmp al, 0x22
je 0x1401cce8c
add ebx, 1
add rdx, 1
cmp ebx, edi
je 0x1401cce8c
movzx eax, byte [rdx]
lea r8d, [rax - 0x28]
cmp r8b, 1
ja 0x1401cce70
mov rax, qword [rsp + 0x110]
mov r9d, ebx
mov r8, rbp
xor r15d, r15d
mov edx, dword [rax + 8]
lea rax, [rsp + 0xb0]
mov qword [rsp + 0x20], rax
call fcn.14015a860
mov esi, eax
test eax, eax
jne 0x1401ccf50
lea rax, [rsp + 0xa4]
lea r12, [rsp + 0xb8]
mov dword [rsp + 0x98], 0
mov rcx, qword [rsp + 0xb0]
mov qword [rsp + 0x28], rax
mov rdx, r12
lea rax, [rsp + 0xa0]
lea r9, [rsp + 0x9c]
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x98]
mov dword [rsp + 0x9c], 0
mov dword [rsp + 0xa0], 0
mov dword [rsp + 0xa4], 0
call qword [r13 + 0x28]
test eax, eax
je 0x1401cd84d
test ebx, ebx
je 0x1401cd843
cmp eax, 0x65
jne 0x1401cd843
mov rax, r13
mov rcx, qword [rsp + 0xb0]
call qword [rax + 0x20]
add ebx, dword [rsp + 0x48]
mov qword [rsp + 0xa8], r15
mov dword [rsp + 0x48], ebx
test esi, esi
jne 0x1401cd1a2
mov r9, qword [rsp + 0xa8]
test r9, r9
je 0x1401cd508
mov edx, dword [r9]
cmp edx, 5
je 0x1401ccf8c
cmp qword [r9 + 0x10], 0
je 0x1401cd67b
cmp dword [rsp + 0x4c], 1
jne 0x1401cd550
xor eax, eax
test r14, r14
jne 0x1401cda77
cmp qword [rsp + 0x68], 0
mov r14, qword [rsp + 0xa8]
je 0x1401cd60f
mov qword [rax + 0x18], r14
mov dword [rsp + 0x4c], 0
mov qword [r14 + 8], rax
movsxd rbx, dword [rsp + 0x48]
sub dword [rsp + 0x3c], ebx
add qword [rsp + 0x118], rbx
jmp 0x1401cccc0
add r15, 1
sub ebx, 1
jne 0x1401cccf8
jmp 0x1401cd9d0
lea rdx, [r15 + 1]
mov eax, 1
mov ecx, 1
cmp ebx, 1
jg 0x1401cd01f
jmp 0x1401cd026
add eax, 1
add rdx, 1
cmp ebx, eax
je 0x1401cd520
cmp byte [rdx], 0x22
jne 0x1401cd010
mov ecx, eax
mov rdx, r15
sub rdx, qword [rsp + 0x118]
lea edi, [rcx + rdx + 1]
mov dword [rsp + 0x48], edi
cmp ebx, eax
je 0x1401cd534
lea r9d, [rax - 1]
mov rax, qword [rsp + 0x110]
lea r8, [r15 + 1]
mov dword [rsp + 0x74], r9d
mov rcx, qword [rax]
mov qword [rsp + 0x78], r8
mov rax, qword [rcx]
mov qword [rsp + 0xb0], 0
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x110]
mov edx, dword [rax + 8]
lea rax, [rsp + 0xb0]
mov qword [rsp + 0x20], rax
call fcn.14015a860
mov dword [rsp + 0x70], 0
mov esi, eax
test eax, eax
jne 0x1401cd6e2
lea rax, [rsp + 0xa4]
mov ecx, 0xc0
mov qword [rsp + 0x60], 0
lea r12, [rsp + 0xb8]
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0xa0]
xor ebp, ebp
lea rdi, [rsp + 0x9c]
mov qword [rsp + 0x50], rax
lea r13, [rsp + 0x98]
mov qword [rsp + 0x80], r15
mov r15, rcx
mov qword [rsp + 0x88], r14
mov r14, r12
nop dword [rax]
mov rax, qword [rsp + 0x58]
mov r9, rdi
mov r8, r13
mov rdx, r14
mov dword [rsp + 0x98], 0
mov rcx, qword [rsp + 0xb0]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x50]
mov dword [rsp + 0x9c], 0
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x40]
mov dword [rsp + 0xa0], 0
mov dword [rsp + 0xa4], 0
call qword [rax + 0x28]
mov r12d, eax
test eax, eax
je 0x1401cd1c0
mov rax, qword [rsp + 0x40]
mov r14, qword [rsp + 0x88]
mov rcx, qword [rsp + 0xb0]
call qword [rax + 0x20]
mov eax, esi
mov esi, r12d
mov qword [rsp + 0xb0], 0
cmp esi, 0x65
je 0x1401cd6f8
mov qword [rsp + 0xa8], rbp
test esi, esi
je 0x1401ccf68
mov edi, dword [rsp + 0x48]
sub dword [rsp + 0x3c], edi
cmp esi, 0x65
je 0x1401cd9d0
mov dword [rsp + 0x4c], esi
jmp 0x1401cd3b0
mov r10d, dword [0x14026b5b4]
test r10d, r10d
jne 0x1401cd628
call fcn.14015c230
test eax, eax
jne 0x1401cd368
call fcn.1401a0eb0
test eax, eax
jne 0x1401cd368
test rbp, rbp
je 0x1401cd634
cmp r15, 0x7ffffeff
ja 0x1401cd368
mov rdx, r15
mov rcx, rbp
call fcn.140160320
mov rbx, rax
test rbx, rbx
je 0x1401cd368
mov eax, dword [0x14026b5b4]
mov ebp, dword [rsp + 0x98]
test eax, eax
jne 0x1401cd648
call fcn.14015c230
test eax, eax
jne 0x1401cd4d0
call fcn.1401a0eb0
test eax, eax
jne 0x1401cd4d0
lea edx, [rbp + rsi]
cmp qword [rsp + 0x60], 0
movsxd rdx, edx
je 0x1401cd65e
test rdx, rdx
je 0x1401cda40
cmp rdx, 0x7ffffeff
ja 0x1401cd4d0
mov rcx, qword [rsp + 0x60]
call fcn.140160320
mov rbp, rax
test rbp, rbp
je 0x1401cd4d0
lea rax, [rbx + r15 - 0x28]
movsxd rcx, esi
mov qword [rax], 0
add rcx, rbp
mov qword [rax + 8], 0
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], 0
mov qword [rax + 0x20], 0
mov rdx, qword [rsp + 0xb8]
movsxd r8, dword [rsp + 0x98]
call sub.msvcrt.dll_memcpy
movsxd rax, dword [rsp + 0x70]
mov edx, dword [rsp + 0x98]
lea rcx, [rax + rax*4]
add esi, edx
mov dword [rbx + rcx*8 + 0xa0], edx
movsxd rdx, dword [rsp + 0xa0]
cmp dword [rsp + 0x74], edx
jg 0x1401cd4f0
xor edx, edx
lea rcx, [rax + rax*4]
mov dword [rbx + rcx*8 + 0xa4], edx
movsxd rdx, dword [rsp + 0x9c]
test edx, edx
jle 0x1401cd323
mov rcx, qword [rsp + 0x80]
xor r12d, r12d
cmp byte [rcx + rdx], 0x5e
sete r12b
lea rax, [rax + rax*4]
mov qword [rsp + 0x60], rbp
add r15, 0x28
mov rbp, rbx
add dword [rsp + 0x70], 1
mov dword [rbx + rax*8 + 0xa8], r12d
jmp 0x1401cd100
mov dword [rsp + 0x48], 0
mov rbp, qword [rsp + 0x118]
mov edi, dword [rsp + 0x3c]
jmp 0x1401cce48
mov rcx, rbp
xor edi, edi
call fcn.14015d2f0
mov rcx, qword [rsp + 0xb0]
test rcx, rcx
je 0x1401cd387
mov rax, qword [rsp + 0x40]
call qword [rax + 0x20]
mov rcx, qword [rsp + 0x60]
call fcn.14015d2f0
mov rcx, rdi
call fcn.14015d2f0
mov edi, dword [rsp + 0x48]
sub dword [rsp + 0x3c], edi
mov dword [rsp + 0x4c], 7
nop dword [rax]
mov rdi, qword [rsp + 0x130]
mov eax, dword [rsp + 0x120]
sub eax, dword [rsp + 0x3c]
mov dword [rdi], eax
mov rcx, qword [rsp + 0x68]
call fcn.1401ccb20
xor ecx, ecx
call fcn.1401ccb20
mov qword [rsp + 0x68], 0
mov rax, qword [rsp + 0x128]
mov rdi, qword [rsp + 0x68]
mov qword [rax], rdi
mov eax, dword [rsp + 0x4c]
add rsp, 0xc8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
cmp byte [r15 + 4], 0x2f
jne 0x1401ccd4e
movzx ecx, byte [r15 + 5]
sub ecx, 0x30
cmp cl, 9
ja 0x1401ccd4e
movzx ecx, byte [r15 + rdi + 1]
sub ecx, 0x30
cmp cl, 9
ja 0x1401cdae0
movsx rax, cl
mov r8d, 1
lea r10, [r15 + rdi]
jmp 0x1401cd46c
movsx rcx, cl
lea rax, [rax + rax*4]
add r8, 1
lea rax, [rcx + rax*2]
mov ecx, 0x80000000
cmp rax, rcx
jae 0x1401ccd4e
movzx ecx, byte [r10 + r8 + 1]
mov r9d, r8d
sub ecx, 0x30
cmp cl, 9
jbe 0x1401cd44e
add r9d, 1
add r13d, r9d
movsxd rdi, r13d
jmp 0x1401ccd53
mov rax, qword [rsp + 0x110]
mov rdi, qword [rsp + 0x110]
mov dword [rsp + 0xb8], 0
mov eax, dword [rax + 0x30]
mov dword [rsp + 0x48], eax
add eax, 1
mov dword [rdi + 0x30], eax
cmp eax, 0x3e8
jle 0x1401cd7dd
mov dword [rsp + 0x4c], 1
jmp 0x1401cd3b0
mov rdi, rbx
mov rcx, qword [rsp + 0x60]
call fcn.14015d2f0
mov qword [rsp + 0x60], 0
jmp 0x1401cd372
mov rcx, qword [rsp + 0x78]
cmp byte [rcx + rdx], 0x2a
sete dl
movzx edx, dl
jmp 0x1401cd2f9
movsxd rbx, dword [rsp + 0x48]
sub dword [rsp + 0x3c], ebx
add qword [rsp + 0x118], rbx
jmp 0x1401cccc0
mov r10, r15
sub r10, qword [rsp + 0x118]
lea eax, [rbx + r10 + 1]
mov dword [rsp + 0x48], eax
mov edi, dword [rsp + 0x48]
mov dword [rsp + 0x4c], 1
sub dword [rsp + 0x3c], edi
jmp 0x1401cd3b0
mov r8d, dword [0x14026b5b4]
test r8d, r8d
jne 0x1401cda10
call fcn.14015c230
test eax, eax
jne 0x1401cd829
call fcn.1401a0eb0
test eax, eax
jne 0x1401cd829
mov ecx, 0x40
call fcn.140160470
test rax, rax
je 0x1401cd829
mov qword [rax], 0
mov qword [rax + 8], 0
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], 0
mov qword [rax + 0x20], 0
mov qword [rax + 0x28], 0
mov qword [rax + 0x30], 0
mov qword [rax + 0x38], 0
mov dword [rax], 3
jmp 0x1401cd5e2
cmp dword [r14], 3
jg 0x1401cd66e
mov rdx, r14
mov r14, qword [r14 + 8]
test r14, r14
jne 0x1401cd5d8
mov qword [rsp + 0x68], rax
cmp qword [rsp + 0x68], 0
mov qword [rax + 0x10], rdx
mov r14, qword [rsp + 0xa8]
mov qword [rdx + 8], rax
jne 0x1401ccfb6
mov qword [rsp + 0x68], r14
mov dword [rsp + 0x4c], 0
jmp 0x1401ccfc6
mfence
test rbp, rbp
jne 0x1401cd1f3
mov rcx, r15
call fcn.140160470
mov rbx, rax
jmp 0x1401cd20e
mfence
lea edx, [rbp + rsi]
movsxd rdx, edx
cmp qword [rsp + 0x60], 0
jne 0x1401cd259
mov rcx, rdx
call fcn.140160470
mov rbp, rax
jmp 0x1401cd27c
mov qword [r14 + 0x18], rax
mov qword [rax + 8], r14
jmp 0x1401cd5f3
mov ecx, dword [rsp + 0x4c]
test ecx, ecx
jne 0x1401cda84
test r14, r14
je 0x1401cd69b
cmp edx, 1
jne 0x1401cd69b
cmp dword [r14], 5
jne 0x1401cda97
mov rax, qword [rsp + 0xa8]
jmp 0x1401cd6af
mov edi, dword [rax]
cmp dword [r14], edi
jg 0x1401cd6d8
mov rdx, r14
mov r14, qword [r14 + 8]
test r14, r14
jne 0x1401cd6a8
mov qword [rsp + 0x68], rax
mov qword [rax + 0x10], rdx
mov r14, rax
mov qword [rdx + 8], rax
mov dword [rsp + 0x4c], 1
jmp 0x1401ccfc6
mov qword [r14 + 0x18], rax
mov qword [rax + 8], r14
jmp 0x1401cd6c0
mov qword [rsp + 0x60], 0
xor eax, eax
xor ebp, ebp
cmp esi, 0x65
jne 0x1401cd192
movsxd rdx, dword [rsp + 0x70]
movsxd rbx, eax
mov rcx, rbp
lea rsi, [rdx + rdx*4]
shl rsi, 3
lea rdx, [rbx + rsi + 0xc0]
call fcn.1401a1ee0
test rax, rax
je 0x1401cdab1
xor edx, edx
mov r8d, 0x98
lea rdi, [rax + 0x40]
mov rcx, rax
call sub.msvcrt.dll_memset
cmp qword [rsp + 0x60], 0
lea rsi, [rdi + rsi + 0x58]
mov qword [rax + 0x20], rdi
mov r9, rax
mov dword [rax], 5
mov rax, qword [rsp + 0x110]
mov eax, dword [rax + 0x20]
mov dword [r9 + 0x94], eax
mov eax, dword [rsp + 0x70]
mov dword [r9 + 0x90], eax
je 0x1401cd79c
mov rdi, qword [rsp + 0x60]
mov r8, rbx
mov rcx, rsi
mov qword [rsp + 0x40], r9
mov rdx, rdi
call sub.msvcrt.dll_memcpy
mov rcx, rdi
call fcn.14015d2f0
mov r9, qword [rsp + 0x40]
mov rdi, qword [r9 + 0x20]
mov eax, dword [rdi + 0x50]
mov dword [rsp + 0x70], eax
mov ecx, dword [rsp + 0x70]
test ecx, ecx
jle 0x1401cdad0
lea edx, [rcx - 1]
lea rax, [rdi + 0x58]
lea rdx, [rdx + rdx*4]
lea rcx, [rdi + rdx*8 + 0x80]
nop dword [rax + rax]
movsxd rdx, dword [rax + 8]
mov qword [rax], rsi
add rax, 0x28
add rsi, rdx
cmp rcx, rax
jne 0x1401cd7c0
mov rbp, r9
xor esi, esi
jmp 0x1401cd192
mov rcx, qword [rsp + 0x110]
lea rdx, [r15 + 1]
lea r8d, [rbx - 1]
lea r12, [rsp + 0xb8]
lea r9, [rsp + 0xa8]
mov qword [rsp + 0x20], r12
call fcn.1401ccc70
mov r10, r15
sub r10, qword [rsp + 0x118]
mov esi, eax
mov eax, dword [rsp + 0xb8]
lea eax, [rax + r10 + 1]
mov dword [rsp + 0x48], eax
jmp 0x1401ccf60
mov rcx, qword [rsp + 0xa8]
call fcn.1401ccb20
mov dword [rsp + 0x4c], 7
jmp 0x1401cd3c5
mov esi, eax
xor r15d, r15d
jmp 0x1401ccf42
mov r9d, dword [0x14026b5b4]
movsxd rbx, dword [rsp + 0x98]
test r9d, r9d
jne 0x1401cda52
call fcn.14015c230
test eax, eax
jne 0x1401cd95f
call fcn.1401a0eb0
test eax, eax
jne 0x1401cd95f
add rbx, 0xc0
mov rcx, rbx
call fcn.140160470
mov r15, rax
test rax, rax
je 0x1401cd95f
mov r8, rbx
xor edx, edx
mov rcx, rax
call sub.msvcrt.dll_memset
lea rax, [r15 + 0x40]
mov dword [r15], 5
lea rcx, [r15 + 0xc0]
mov qword [r15 + 0x20], rax
mov eax, dword [rsp + 0x40]
mov dword [r15 + 0x90], 1
mov dword [r15 + 0x94], eax
movsxd r8, dword [rsp + 0x98]
mov qword [r15 + 0x98], rcx
mov rdx, qword [rsp + 0xb8]
mov dword [r15 + 0xa0], r8d
call sub.msvcrt.dll_memcpy
mov ebx, dword [rsp + 0xa0]
cmp ebx, edi
jl 0x1401cda18
mov rax, qword [rsp + 0x110]
mov esi, dword [rax + 0x18]
test esi, esi
je 0x1401ccf42
movsxd rax, dword [rsp + 0x9c]
xor edx, edx
jmp 0x1401cd947
sub rax, 1
cmp byte [rbp + rax], 0x5e
jne 0x1401cda61
mov dword [r15 + 0xa8], 1
mov edx, 1
mov ecx, eax
test eax, eax
jg 0x1401cd928
test dl, dl
je 0x1401cd958
mov dword [rsp + 0x9c], eax
xor esi, esi
jmp 0x1401ccf42
mov ebx, dword [rsp + 0xa0]
mov esi, 7
jmp 0x1401ccf42
mov ecx, 0x40
mov byte [rsp + 0x48], dl
mov ebp, eax
call fcn.1401a1910
movzx edx, byte [rsp + 0x48]
test rax, rax
mov r9, rax
je 0x1401cd3a1
mov r10, r15
sub r10, qword [rsp + 0x118]
mov dword [rax], edx
mov dword [rax + 4], ebp
mov qword [rsp + 0xa8], rax
lea eax, [r13 + r10]
mov dword [rsp + 0x48], eax
jmp 0x1401ccf7c
mov r10, r15
sub r10, qword [rsp + 0x118]
sub dword [rax + 0x30], 1
lea eax, [r10 + 1]
sub dword [rsp + 0x3c], eax
nop
mov eax, dword [rsp + 0x120]
sub eax, dword [rsp + 0x3c]
cmp qword [rsp + 0x68], 0
mov rdi, qword [rsp + 0x130]
je 0x1401cdac1
test byte [rsp + 0x4c], 1
je 0x1401cdac1
mov dword [rdi], eax
mov dword [rsp + 0x4c], 1
jmp 0x1401cd3c5
mfence
jmp 0x1401cd57a
movsxd rax, ebx
cmp byte [rbp + rax], 0x2a
jne 0x1401cd905
mov dword [r15 + 0xa4], 1
add ebx, 1
mov dword [rsp + 0xa0], ebx
jmp 0x1401cd905
mov rcx, qword [rsp + 0x60]
mov rdi, rbx
call fcn.14015d2f0
jmp 0x1401cd4d3
mfence
jmp 0x1401cd87f
xor ebx, ebx
jmp 0x1401cce8c
test dl, dl
je 0x1401cd958
mov dword [rsp + 0x9c], ecx
xor esi, esi
jmp 0x1401ccf42
cmp edx, 5
jne 0x1401cda91
mov rax, r14
jmp 0x1401ccfa2
mov rcx, r9
call fcn.1401ccb20
jmp 0x1401cd3c5
cmp dword [r14], 1
jne 0x1401cda7c
mov rcx, qword [rsp + 0xa8]
call fcn.1401ccb20
mov dword [rsp + 0x4c], 1
jmp 0x1401cd3c5
mov rcx, rbp
mov rdi, rax
call fcn.14015d2f0
jmp 0x1401cd372
mov dword [rdi], eax
mov dword [rsp + 0x4c], 0
jmp 0x1401cd3df
mov qword [rsp + 0xa8], r9
mov edx, dword [r9]
jmp 0x1401ccf7c
mov r9d, 1
jmp 0x1401cd481
je 0x1401cd9d0
jmp 0x1401ccd10