Function at 0x1401d2eb0
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 0x1401d3d2b
nop dword [rax]
movzx eax, byte [r15]
lea edx, [rax - 9]
cmp dl, 4
jbe 0x1401d3220
cmp al, 0x20
je 0x1401d3220
lea rsi, [0x140448600]
xor eax, eax
lea r12, [rsi + 0x40]
test al, 0xfe
jne 0x1401d2fb8
movzx r13d, byte [rsi + 8]
cmp ebx, r13d
jl 0x1401d2fb8
movzx edi, r13b
mov rdx, qword [rsi]
mov rcx, r15
mov r8, rdi
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x1401d2fb8
movzx edx, byte [rsi + 0xa]
cmp dl, 1
je 0x1401d3650
mov eax, 0xa
movzx ecx, byte [r15 + rdi]
cmp cl, 0x29
ja 0x1401d2fb8
movabs rdi, 0x30500003e01
bt rdi, rcx
jb 0x1401d3bb0
nop dword [rax]
add rsi, 0x10
cmp rsi, r12
je 0x1401d2fd2
movzx eax, byte [rsi + 9]
test al, 0xfe
je 0x1401d2f61
add rsi, 0x10
cmp rsi, r12
jne 0x1401d2fc1
movzx eax, byte [r15]
cmp al, 0x22
je 0x1401d3238
cmp al, 0x28
je 0x1401d36d0
cmp al, 0x29
mov rax, qword [rsp + 0x110]
je 0x1401d3bf7
mov eax, dword [rax + 0x20]
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0x110]
movsxd rsi, dword [rax + 0x1c]
test esi, esi
jle 0x1401d3588
mov rdi, qword [rax + 0x10]
xor r12d, r12d
jmp 0x1401d302d
add r12, 1
cmp rsi, r12
je 0x1401d3588
mov r13, qword [rdi + r12*8]
mov rcx, r13
call sub.msvcrt.dll_strlen
mov rbp, rax
cmp ebx, eax
jle 0x1401d3020
cdqe
cmp byte [r15 + rax], 0x3a
jne 0x1401d3020
mov r8d, ebp
mov rdx, r15
mov rcx, r13
call fcn.14015c2e0
test eax, eax
jne 0x1401d3020
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 0x1401d3c9a
mov rdx, rbp
xor ebx, ebx
jmp 0x1401d30bf
cmp al, 0x22
je 0x1401d30cc
add ebx, 1
add rdx, 1
cmp ebx, edi
je 0x1401d30cc
movzx eax, byte [rdx]
lea r8d, [rax - 0x28]
cmp r8b, 1
ja 0x1401d30b0
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.140158700
mov esi, eax
test eax, eax
jne 0x1401d3190
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 0x1401d3a8d
test ebx, ebx
je 0x1401d3a83
cmp eax, 0x65
jne 0x1401d3a83
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 0x1401d33e2
mov r9, qword [rsp + 0xa8]
test r9, r9
je 0x1401d3748
mov edx, dword [r9]
cmp edx, 5
je 0x1401d31cc
cmp qword [r9 + 0x10], 0
je 0x1401d38bb
cmp dword [rsp + 0x4c], 1
jne 0x1401d3790
xor eax, eax
test r14, r14
jne 0x1401d3cb7
cmp qword [rsp + 0x68], 0
mov r14, qword [rsp + 0xa8]
je 0x1401d384f
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 0x1401d2f00
add r15, 1
sub ebx, 1
jne 0x1401d2f38
jmp 0x1401d3c10
lea rdx, [r15 + 1]
mov eax, 1
mov ecx, 1
cmp ebx, 1
jg 0x1401d325f
jmp 0x1401d3266
add eax, 1
add rdx, 1
cmp ebx, eax
je 0x1401d3760
cmp byte [rdx], 0x22
jne 0x1401d3250
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 0x1401d3774
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.140158700
mov dword [rsp + 0x70], 0
mov esi, eax
test eax, eax
jne 0x1401d3922
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 0x1401d3400
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 0x1401d3938
mov qword [rsp + 0xa8], rbp
test esi, esi
je 0x1401d31a8
mov edi, dword [rsp + 0x48]
sub dword [rsp + 0x3c], edi
cmp esi, 0x65
je 0x1401d3c10
mov dword [rsp + 0x4c], esi
jmp 0x1401d35f0
mov r10d, dword [0x140273854]
test r10d, r10d
jne 0x1401d3868
call fcn.14015a580
test eax, eax
jne 0x1401d35a8
call fcn.1401a4010
test eax, eax
jne 0x1401d35a8
test rbp, rbp
je 0x1401d3874
cmp r15, 0x7ffffeff
ja 0x1401d35a8
mov rdx, r15
mov rcx, rbp
call fcn.14015df20
mov rbx, rax
test rbx, rbx
je 0x1401d35a8
mov eax, dword [0x140273854]
mov ebp, dword [rsp + 0x98]
test eax, eax
jne 0x1401d3888
call fcn.14015a580
test eax, eax
jne 0x1401d3710
call fcn.1401a4010
test eax, eax
jne 0x1401d3710
lea edx, [rbp + rsi]
cmp qword [rsp + 0x60], 0
movsxd rdx, edx
je 0x1401d389e
test rdx, rdx
je 0x1401d3c80
cmp rdx, 0x7ffffeff
ja 0x1401d3710
mov rcx, qword [rsp + 0x60]
call fcn.14015df20
mov rbp, rax
test rbp, rbp
je 0x1401d3710
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 0x1401d3730
xor edx, edx
lea rcx, [rax + rax*4]
mov dword [rbx + rcx*8 + 0xa4], edx
movsxd rdx, dword [rsp + 0x9c]
test edx, edx
jle 0x1401d3563
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 0x1401d3340
mov dword [rsp + 0x48], 0
mov rbp, qword [rsp + 0x118]
mov edi, dword [rsp + 0x3c]
jmp 0x1401d3088
mov rcx, rbp
xor edi, edi
call fcn.14015ba40
mov rcx, qword [rsp + 0xb0]
test rcx, rcx
je 0x1401d35c7
mov rax, qword [rsp + 0x40]
call qword [rax + 0x20]
mov rcx, qword [rsp + 0x60]
call fcn.14015ba40
mov rcx, rdi
call fcn.14015ba40
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.1401d2d60
xor ecx, ecx
call fcn.1401d2d60
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 0x1401d2f8e
movzx ecx, byte [r15 + 5]
sub ecx, 0x30
cmp cl, 9
ja 0x1401d2f8e
movzx ecx, byte [r15 + rdi + 1]
sub ecx, 0x30
cmp cl, 9
ja 0x1401d3d20
movsx rax, cl
mov r8d, 1
lea r10, [r15 + rdi]
jmp 0x1401d36ac
movsx rcx, cl
lea rax, [rax + rax*4]
add r8, 1
lea rax, [rcx + rax*2]
mov ecx, 0x80000000
cmp rax, rcx
jae 0x1401d2f8e
movzx ecx, byte [r10 + r8 + 1]
mov r9d, r8d
sub ecx, 0x30
cmp cl, 9
jbe 0x1401d368e
add r9d, 1
add r13d, r9d
movsxd rdi, r13d
jmp 0x1401d2f93
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 0x1401d3a1d
mov dword [rsp + 0x4c], 1
jmp 0x1401d35f0
mov rdi, rbx
mov rcx, qword [rsp + 0x60]
call fcn.14015ba40
mov qword [rsp + 0x60], 0
jmp 0x1401d35b2
mov rcx, qword [rsp + 0x78]
cmp byte [rcx + rdx], 0x2a
sete dl
movzx edx, dl
jmp 0x1401d3539
movsxd rbx, dword [rsp + 0x48]
sub dword [rsp + 0x3c], ebx
add qword [rsp + 0x118], rbx
jmp 0x1401d2f00
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 0x1401d35f0
mov r8d, dword [0x140273854]
test r8d, r8d
jne 0x1401d3c50
call fcn.14015a580
test eax, eax
jne 0x1401d3a69
call fcn.1401a4010
test eax, eax
jne 0x1401d3a69
mov ecx, 0x40
call fcn.14015e070
test rax, rax
je 0x1401d3a69
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 0x1401d3822
cmp dword [r14], 3
jg 0x1401d38ae
mov rdx, r14
mov r14, qword [r14 + 8]
test r14, r14
jne 0x1401d3818
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 0x1401d31f6
mov qword [rsp + 0x68], r14
mov dword [rsp + 0x4c], 0
jmp 0x1401d3206
mfence
test rbp, rbp
jne 0x1401d3433
mov rcx, r15
call fcn.14015e070
mov rbx, rax
jmp 0x1401d344e
mfence
lea edx, [rbp + rsi]
movsxd rdx, edx
cmp qword [rsp + 0x60], 0
jne 0x1401d3499
mov rcx, rdx
call fcn.14015e070
mov rbp, rax
jmp 0x1401d34bc
mov qword [r14 + 0x18], rax
mov qword [rax + 8], r14
jmp 0x1401d3833
mov ecx, dword [rsp + 0x4c]
test ecx, ecx
jne 0x1401d3cc4
test r14, r14
je 0x1401d38db
cmp edx, 1
jne 0x1401d38db
cmp dword [r14], 5
jne 0x1401d3cd7
mov rax, qword [rsp + 0xa8]
jmp 0x1401d38ef
mov edi, dword [rax]
cmp dword [r14], edi
jg 0x1401d3918
mov rdx, r14
mov r14, qword [r14 + 8]
test r14, r14
jne 0x1401d38e8
mov qword [rsp + 0x68], rax
mov qword [rax + 0x10], rdx
mov r14, rax
mov qword [rdx + 8], rax
mov dword [rsp + 0x4c], 1
jmp 0x1401d3206
mov qword [r14 + 0x18], rax
mov qword [rax + 8], r14
jmp 0x1401d3900
mov qword [rsp + 0x60], 0
xor eax, eax
xor ebp, ebp
cmp esi, 0x65
jne 0x1401d33d2
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.1401a4f40
test rax, rax
je 0x1401d3cf1
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 0x1401d39dc
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.14015ba40
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 0x1401d3d10
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 0x1401d3a00
mov rbp, r9
xor esi, esi
jmp 0x1401d33d2
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.1401d2eb0
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 0x1401d31a0
mov rcx, qword [rsp + 0xa8]
call fcn.1401d2d60
mov dword [rsp + 0x4c], 7
jmp 0x1401d3605
mov esi, eax
xor r15d, r15d
jmp 0x1401d3182
mov r9d, dword [0x140273854]
movsxd rbx, dword [rsp + 0x98]
test r9d, r9d
jne 0x1401d3c92
call fcn.14015a580
test eax, eax
jne 0x1401d3b9f
call fcn.1401a4010
test eax, eax
jne 0x1401d3b9f
add rbx, 0xc0
mov rcx, rbx
call fcn.14015e070
mov r15, rax
test rax, rax
je 0x1401d3b9f
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 0x1401d3c58
mov rax, qword [rsp + 0x110]
mov esi, dword [rax + 0x18]
test esi, esi
je 0x1401d3182
movsxd rax, dword [rsp + 0x9c]
xor edx, edx
jmp 0x1401d3b87
sub rax, 1
cmp byte [rbp + rax], 0x5e
jne 0x1401d3ca1
mov dword [r15 + 0xa8], 1
mov edx, 1
mov ecx, eax
test eax, eax
jg 0x1401d3b68
test dl, dl
je 0x1401d3b98
mov dword [rsp + 0x9c], eax
xor esi, esi
jmp 0x1401d3182
mov ebx, dword [rsp + 0xa0]
mov esi, 7
jmp 0x1401d3182
mov ecx, 0x40
mov byte [rsp + 0x48], dl
mov ebp, eax
call fcn.1401a4a90
movzx edx, byte [rsp + 0x48]
test rax, rax
mov r9, rax
je 0x1401d35e1
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 0x1401d31bc
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 0x1401d3d01
test byte [rsp + 0x4c], 1
je 0x1401d3d01
mov dword [rdi], eax
mov dword [rsp + 0x4c], 1
jmp 0x1401d3605
mfence
jmp 0x1401d37ba
movsxd rax, ebx
cmp byte [rbp + rax], 0x2a
jne 0x1401d3b45
mov dword [r15 + 0xa4], 1
add ebx, 1
mov dword [rsp + 0xa0], ebx
jmp 0x1401d3b45
mov rcx, qword [rsp + 0x60]
mov rdi, rbx
call fcn.14015ba40
jmp 0x1401d3713
mfence
jmp 0x1401d3abf
xor ebx, ebx
jmp 0x1401d30cc
test dl, dl
je 0x1401d3b98
mov dword [rsp + 0x9c], ecx
xor esi, esi
jmp 0x1401d3182
cmp edx, 5
jne 0x1401d3cd1
mov rax, r14
jmp 0x1401d31e2
mov rcx, r9
call fcn.1401d2d60
jmp 0x1401d3605
cmp dword [r14], 1
jne 0x1401d3cbc
mov rcx, qword [rsp + 0xa8]
call fcn.1401d2d60
mov dword [rsp + 0x4c], 1
jmp 0x1401d3605
mov rcx, rbp
mov rdi, rax
call fcn.14015ba40
jmp 0x1401d35b2
mov dword [rdi], eax
mov dword [rsp + 0x4c], 0
jmp 0x1401d361f
mov qword [rsp + 0xa8], r9
mov edx, dword [r9]
jmp 0x1401d31bc
mov r9d, 1
jmp 0x1401d36c1
je 0x1401d3c10
jmp 0x1401d2f50