Function at 0x14004f42a
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, 0xe8
xor r9d, r9d
xor r10d, r10d
mov rax, qword [rcx + 0x88]
cmp byte [rcx + 0x13], 0
mov qword [rsp + 0x138], rdx
mov rdx, qword [rcx]
mov rbx, rcx
mov byte [rsp + 0x3f], r8b
mov rdi, qword [rdx]
mov rdx, qword [rdx + 0x20]
mov qword [rsp + 0x78], r9
mov qword [rsp + 0x80], r9
mov qword [rsp + 0x88], r9
mov qword [rsp + 0x90], r9
mov qword [rsp + 0x98], r9
mov dword [rsp + 0xa0], r10d
mov qword [rsp + 0x30], rdi
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], rdx
setne byte [rsp + 0x3e]
test r8b, r8b
jne 0x14004f4c7
mov rax, qword [rcx + 0x5c8]
mov qword [rcx + 0x5d8], rax
mov rax, qword [rcx + 0x28]
mov eax, dword [rax + 0x3c]
mov dword [rcx + 0x5e0], eax
xor esi, esi
xor r12d, r12d
xor r14d, r14d
mov r13, qword [rbx + 0x88]
mov rcx, rbx
mov r8, qword [r13 + 0x10]
mov rdx, qword [r13 + 0x18]
sub rdx, r8
mov qword [rsp + 0x40], r8
call fcn.14004f0f4
mov rdi, qword [rbx + 0x5d8]
mov r8, qword [rsp + 0x40]
cmp qword [r13 + 8], 0
jne 0x14004f532
cmp byte [rsp + 0x3f], 0
jne 0x14004f532
mov rdx, qword [rbx]
mov eax, dword [rdx + 0x38]
shl rax, 4
add rax, qword [rdx + 0x30]
cmp r8, qword [rax]
jb 0x14004f532
mov qword [rdx], r8
mov rcx, rbx
xor edx, edx
mov qword [rsp + 0x40], r8
call fcn.1400433e4
mov r8, qword [rsp + 0x40]
movzx eax, byte [r8]
lea rbp, [r8 + 1]
lea r15, [rdi + 1]
mov byte [rdi], al
cmp al, 0x2f
ja 0x14004f594
cmp al, 0x1f
ja 0x14004f568
cmp al, 0xa
je 0x14004f5e0
ja 0x14004f587
test al, al
jne 0x14004f55e
mov rdi, r15
mov r8, rbp
jmp 0x14004f4fa
cmp al, 9
jne case.0x14004f585.1
jmp case.0x14004f585.0
lea edx, [rax - 0x20]
cmp dl, 0xf
ja case.0x14004f585.1
lea rdi, [0x140148d64]
movzx edx, dl
movsxd rdx, dword [rdi + rdx*4]
add rdx, rdi
jmp rdx
sub eax, 0xb
cmp al, 1
ja case.0x14004f585.1
jmp case.0x14004f585.0
cmp al, 0x3e
je 0x14004f675
ja 0x14004f5b9
cmp al, 0x3c
jne case.0x14004f585.1
cmp byte [rsp + 0x3e], 0
mov eax, 0x3e
cmovne r12d, eax
jmp case.0x14004f585.1
cmp al, 0x5c
je 0x14004f699
ja 0x14004f5c8
sub eax, 0x41
jmp 0x14004f5d3
cmp al, 0x5f
je 0x14004f712
sub eax, 0x61
cmp al, 0x19
jbe 0x14004f712
jmp case.0x14004f585.1
cmp qword [r13 + 8], 0
mov qword [rbx + 0x5d8], rdi
je 0x14004f5fb
mov rcx, rbx
call fcn.14004aa8b
jmp 0x14004f4cf
mov rax, qword [rbx]
cmp byte [rsp + 0x3f], 0
mov qword [rax], rbp
jne 0x14004ff17
or byte [rax + 0x68], 1
mov rbp, qword [rbx + 0x28]
mov rcx, rbp
call fcn.14007ae30
xor r8d, r8d
mov rdx, rax
mov eax, dword [rbp + 0x3c]
movzx ecx, byte [rdx + 0xc]
sub eax, dword [rdx]
mov edx, dword [rdx + 0x18]
shr eax, cl
mov rcx, rbp
lea edx, [rax + rdx + 1]
call fcn.1400485e3
lea eax, [rsi - 1]
cmp eax, 1
ja 0x14004ff17
cmp byte [rbx + 0x10], 0
jne 0x14004ff17
mov rcx, rbx
call fcn.140043918
test al, al
je 0x14004ff17
cmp esi, 2
jne 0x14004f66a
mov byte [rdi], 0x20
mov rax, qword [rbx]
mov rbp, qword [rax]
jmp case.0x14004f585.0
cmp r12d, 0x3e
jne case.0x14004f585.1
jmp 0x14004fec9
cmp r12d, eax
je 0x14004fec9
test r12d, r12d
cmove r12d, eax
jmp case.0x14004f585.1
mov al, byte [r8 + 1]
lea edx, [rax - 0x22]
cmp dl, 0x3a
ja case.0x14004f585.1
movabs rcx, 0x400000000000021
bt rcx, rdx
jae case.0x14004f585.1
mov byte [rdi + 1], al
lea rbp, [r8 + 2]
lea r15, [rdi + 2]
jmp case.0x14004f585.1
test r12d, r12d
jne case.0x14004f585.1
cmp byte [r8 + 1], 0x2a
jne case.0x14004f585.1
mov qword [rbx + 0x5d8], r15
xor r8d, r8d
mov rdx, rbp
mov rcx, rbx
cmp qword [rsp + 0x138], 0
setne r8b
call fcn.14004f22d
mov r15, qword [rbx + 0x5d8]
mov rbp, rax
jmp case.0x14004f585.0
cmp byte [rbx + 0x12], 0
jne case.0x14004f585.1
test r12d, r12d
je 0x14004f730
cmp qword [rsp + 0x138], 0
je case.0x14004f585.1
mov qword [rbx + 0x5d8], rdi
mov rdx, r8
mov rcx, rbx
call fcn.14004f1cd
mov r15, qword [rbx + 0x5d8]
mov rbp, qword [r13 + 0x10]
mov r8, rax
mov al, byte [rax + 0x13]
mov edx, eax
shr dl, 1
and edx, 3
cmp dl, 1
jbe 0x14004f76f
cmp esi, 1
ja 0x14004f76f
cmp byte [rbx + 0x18], 0
je 0x14004f783
jmp 0x14004f88b
cmp qword [rsp + 0x138], 0
jne 0x14004f896
jmp 0x14004f8c5
not eax
mov byte [rbx + 0x1b8], 0
test al, 6
jne 0x14004f7a7
mov eax, dword [r8 + 0x18]
mov r9d, 1
sub eax, 0xb
cmp eax, 4
jbe 0x14004f7ba
jmp 0x14004f855
mov rax, qword [r8 + 0x18]
test byte [rax + 0x14], 4
je 0x14004f855
movzx r9d, word [rax + 0x10]
mov rdx, qword [rsp + 0x78]
test rdx, rdx
je 0x14004f7e0
mov rcx, rbx
mov dword [rsp + 0x48], r9d
mov qword [rsp + 0x40], r8
call fcn.14004419a
mov r9d, dword [rsp + 0x48]
mov r8, qword [rsp + 0x40]
lea edx, [r9 + 1]
mov rcx, rbx
mov qword [rsp + 0x48], r8
mov esi, 1
shl rdx, 3
mov dword [rsp + 0x40], r9d
call fcn.1400441b4
mov r8, qword [rsp + 0x48]
mov r9d, dword [rsp + 0x40]
xor ecx, ecx
mov qword [rsp + 0x78], rax
mov rax, qword [rax + 0x10]
sub rdi, qword [rbx + 0x5c8]
mov qword [rsp + 0x88], r8
mov qword [rsp + 0x80], rax
mov rax, qword [rbx + 0x28]
mov qword [rsp + 0x90], rdi
mov eax, dword [rax + 0x3c]
mov dword [rsp + 0x9c], r9d
mov dword [rsp + 0xa0], ecx
mov dword [rsp + 0x98], eax
jmp case.0x14004f585.0
mov rdx, r8
mov rcx, rbx
mov qword [rsp + 0x40], r8
call fcn.14004f081
mov r8, qword [rsp + 0x40]
test al, al
jne case.0x14004f585.1
mov qword [rbx + 0x5d8], rdi
mov rdx, r8
mov rcx, rbx
xor esi, esi
call fcn.14004f158
jmp 0x14004f4cf
cmp qword [rsp + 0x138], 0
je 0x14004f8d4
and eax, 6
cmp al, 2
jne 0x14004f8c5
mov qword [rbx + 0x5d8], rdi
movzx r8d, word [r8 + 0x18]
mov rcx, rbx
mov rdx, qword [rsp + 0x138]
call fcn.14004efa1
mov r15, qword [rbx + 0x5c8]
jmp case.0x14004f585.1
cmp esi, 5
jne 0x14004f8d4
mov esi, 6
jmp case.0x14004f585.0
cmp byte [rbx + 0x14], 0
je case.0x14004f585.1
cmp qword [rbx + 0x558], r8
jne case.0x14004f585.1
mov esi, 3
jmp case.0x14004f585.0
test r12d, r12d
jne case.0x14004f585.1
inc r14d
cmp esi, 1
jne 0x14004f94d
mov rdx, qword [rsp + 0x88]
mov rcx, rbx
xor esi, esi
call fcn.14004f081
test al, al
jne case.0x14004f585.1
mov rax, qword [rsp + 0x90]
mov r15, qword [rbx + 0x5c8]
mov esi, 2
mov r14d, 1
mov rdx, qword [rsp + 0x80]
add r15, rax
mov qword [rdx], rax
jmp case.0x14004f585.1
cmp esi, 6
je 0x14004febd
cmp esi, 3
jne case.0x14004f585.1
mov esi, 4
jmp case.0x14004f585.1
test r12d, r12d
jne case.0x14004f585.1
cmp esi, 2
jne case.0x14004f585.1
cmp r14d, 1
jne 0x14004fec4
mov rdx, r15
lea rcx, [rsp + 0x78]
sub rdx, qword [rbx + 0x5c8]
call fcn.14004ef10
jmp case.0x14004f585.1
test r12d, r12d
jne case.0x14004f585.1
dec r14d
cmp esi, 2
jne 0x14004fdb2
test r14d, r14d
jne 0x14004fdb2
mov r14, qword [rsp + 0x88]
mov r8, qword [rbx + 0x5c8]
mov rdx, r15
lea rcx, [rsp + 0x78]
mov al, byte [r14 + 0x13]
sub rdx, r8
not eax
test al, 6
jne 0x14004fbf1
call fcn.14004ef10
mov eax, r12d
mov ecx, 0xe
mov r8, r14
lea rdx, [rsp + 0xa8]
mov r9d, dword [rsp + 0xa0]
mov rdi, rdx
rep stosd dword [rdi], eax
mov eax, dword [rsp + 0x9c]
mov rcx, rbx
mov word [rsp + 0xb8], ax
call fcn.14004a914
test al, al
je 0x14004fece
mov r15, qword [rsp + 0x90]
mov rax, qword [rbx + 0x5c8]
mov rcx, rbx
mov rsi, qword [rsp + 0x80]
add rax, r15
mov r8, qword [rsi + 8]
sub r8, qword [rsi]
mov qword [rbx + 0x5d8], rax
mov qword [r13 + 0x10], rbp
lea rdx, [r8 + 2]
mov qword [rsp + 0x40], r8
call fcn.1400443a4
mov r8, qword [rsp + 0x40]
mov byte [rax], 0x28
mov rdx, rax
lea rax, [rax + 1]
mov rsi, qword [rsi]
mov rdi, rax
add rsi, qword [rbx + 0x5c8]
mov rcx, r8
rep movsb byte [rdi], byte [rsi]
lea r8, [rdx + r8 + 1]
mov byte [r8], 0xa
mov rax, qword [r13 + 0x18]
mov qword [rsp + 0x40], rax
mov rax, qword [rbx]
mov cl, byte [rax + 0x68]
mov r9, qword [rax]
mov r11, qword [rax + 8]
mov rdi, qword [rax + 0x20]
mov esi, ecx
and ecx, 0xfffffffe
mov qword [rsp + 0x68], r9
and esi, 1
mov qword [rsp + 0x60], r11
mov byte [rsp + 0x48], sil
mov rsi, qword [rbx + 8]
mov qword [rax], rdx
mov qword [rax + 8], rdx
mov qword [rax + 0x20], r8
mov r8d, 1
mov byte [rax + 0x68], cl
cmp byte [rbx + 0x10], 0
mov rcx, rbx
mov qword [rsp + 0x50], rsi
setne sil
xor edx, edx
mov byte [rbx + 0x10], 1
mov r10, qword [r13 + 8]
mov qword [rbx + 8], rax
mov qword [r13 + 8], rdx
xor edx, edx
mov qword [rsp + 0x58], r10
call fcn.14004f42a
mov byte [rbx + 0x10], sil
mov edx, 1
mov rcx, rbx
call fcn.14004f0f4
mov rax, qword [rbx + 0x5d8]
xor r8d, r8d
mov byte [rax], 0xa
mov rax, qword [rbx + 0x5c8]
mov rdx, qword [rbx]
mov rcx, qword [rbx + 0x5d8]
add rax, r15
mov qword [rdx + 0x20], rcx
mov qword [rdx], rax
mov qword [rdx + 8], rax
mov rdx, r14
mov qword [r13 + 0x18], rcx
mov rcx, rbx
mov qword [r13 + 0x10], rax
inc byte [rbx + 0x18]
call fcn.14004c796
dec byte [rbx + 0x18]
mov r9, qword [rsp + 0x68]
mov rsi, rax
mov rax, qword [rbx]
mov r10, qword [rsp + 0x58]
mov r11, qword [rsp + 0x60]
mov rcx, rsi
mov dl, byte [rax + 0x68]
mov qword [r13 + 8], r10
mov qword [rax], r9
and edx, 0xfffffffe
or edx, dword [rsp + 0x48]
mov qword [rax + 0x20], rdi
mov byte [rax + 0x68], dl
add r15, qword [rbx + 0x5c8]
mov qword [rax + 8], r11
mov rax, qword [rsp + 0x50]
mov qword [rbx + 0x5d8], r15
mov qword [rbx + 8], rax
mov rax, qword [rsp + 0x40]
mov qword [r13 + 0x10], rbp
mov qword [r13 + 0x18], rax
call sub.msvcrt.dll_strlen
mov rcx, rbx
lea rdx, [rax + 1]
mov qword [rsp + 0x40], rax
call fcn.1400443a4
mov r9, qword [rsp + 0x40]
mov rdx, r14
mov rdi, rax
mov r8, rax
mov rcx, r9
rep movsb byte [rdi], byte [rsi]
mov byte [rax + r9], 0xa
mov rcx, rbx
call fcn.14004aa4d
xor esi, esi
jmp 0x14004f4cc
mov r10, qword [r14 + 0x18]
or byte [r10 + 0x14], 0x20
call fcn.14004ef10
cmp dword [rsp + 0xa0], 1
jne 0x14004fc2c
cmp word [r10 + 0x10], 0
jne 0x14004fc2c
mov rax, qword [rsp + 0x90]
lea rax, [r8 + rax + 1]
cmp r15, rax
jne 0x14004fc2c
xor eax, eax
mov dword [rsp + 0xa0], eax
mov r9d, dword [rsp + 0xa0]
mov r8, r14
mov rdx, r10
mov rcx, rbx
call fcn.14004a914
test al, al
je 0x14004fece
mov rax, qword [rsp + 0x90]
add rax, qword [rbx + 0x5c8]
mov qword [rbx + 0x5d8], rax
mov qword [r13 + 0x10], rbp
mov rbp, qword [r14 + 0x18]
cmp word [rbp + 0x10], 0
jne 0x14004fc7f
mov rdx, r14
mov rcx, rbx
call fcn.14004f158
jmp 0x14004fbea
mov rcx, qword [rbp + 0x18]
mov rdi, qword [rsp + 0x80]
xor edx, edx
mov eax, dword [rcx]
movzx r9d, word [rcx + 4]
lea r8, [rax + rdx]
test r9w, r9w
je 0x14004fcbe
mov rsi, qword [rdi + r9*8]
add rax, 0xd
and rax, 0xfffffffffffffff8
lea rdx, [rsi - 1]
sub rdx, qword [rdi + r9*8 - 8]
add rcx, rax
add rdx, rdx
add rdx, r8
jmp 0x14004fc8d
lea rdx, [r8 + 1]
mov rcx, rbx
call fcn.1400441b4
mov rcx, qword [rbp + 0x18]
xor r8d, r8d
xor r9d, r9d
mov rsi, rax
mov rax, qword [rax + 0x10]
mov r10d, dword [rcx]
xor edx, edx
add r9, r10
cmp r10, rdx
je 0x14004fd00
mov r11b, byte [rcx + rdx + 6]
cmp r11b, 0x22
jne 0x14004fcf7
xor r8d, 1
mov byte [rax + rdx], r11b
inc rdx
jmp 0x14004fce3
movzx edx, word [rcx + 4]
add rax, r10
test dx, dx
je 0x14004fd90
mov r10, qword [rbx + 0x5c8]
mov r11, qword [rdi + rdx*8 - 8]
mov rdx, qword [rdi + rdx*8]
add r11, r10
lea r13, [r10 + rdx - 1]
mov rdx, r11
xor r10d, r10d
cmp rdx, r13
je 0x14004fd7e
test r8d, r8d
je 0x14004fd6c
mov bpl, byte [rdx]
cmp bpl, 0x22
jne 0x14004fd58
cmp r11, rdx
jae 0x14004fd50
cmp byte [rdx - 1], 0x5c
je 0x14004fd50
xor r10d, 1
mov byte [rax], 0x5c
inc r9
jmp 0x14004fd69
test r10d, r10d
je 0x14004fd6c
cmp bpl, 0x5c
jne 0x14004fd6c
mov byte [rax], 0x5c
inc r9
inc rax
mov bpl, byte [rdx]
inc rdx
inc r9
inc rax
mov byte [rax - 1], bpl
jmp 0x14004fd2e
mov edx, dword [rcx]
add rdx, 0xd
and rdx, 0xfffffffffffffff8
add rcx, rdx
jmp 0x14004fcdb
mov byte [rax], 0xa
mov r8, qword [rsi + 0x10]
mov rdx, r14
mov rcx, rbx
call fcn.14004aa4d
mov rax, qword [rbx + 0x88]
mov qword [rax + 0x20], rsi
jmp 0x14004fbea
cmp esi, 7
je 0x14004fed5
cmp esi, 4
jne case.0x14004f585.1
jmp 0x14004fed5
cmp qword [rsp + 0x30], r8
jne 0x14004fead
mov rax, qword [rbx + 0x88]
cmp qword [rax + 8], 0
jne 0x14004fead
cmp byte [rbx + 0x10], 0
jne 0x14004fead
mov qword [rbx + 0x5d8], r15
mov rdx, rbp
mov r8d, 1
mov rcx, rbx
call fcn.14004f350
mov r15, qword [rbx + 0x5d8]
mov rbp, rax
mov al, byte [rax]
cmp al, 0xa
jne 0x14004fe4a
mov rax, qword [rbx]
mov rdi, qword [rbx + 0x28]
or byte [rax + 0x68], 1
mov rcx, rdi
call fcn.14007ae30
mov edx, dword [rdi + 0x3c]
xor r8d, r8d
movzx ecx, byte [rax + 0xc]
sub edx, dword [rax]
mov eax, dword [rax + 0x18]
shr edx, cl
mov rcx, rdi
lea edx, [rdx + rax + 1]
call fcn.1400485e3
jmp 0x14004fe76
mov rcx, qword [0x14014f310]
movzx edx, al
mov dx, word [rcx + rdx*2]
test dl, 4
je 0x14004fe7d
cmp dword [rbx + 0x4b0], 0x17
je 0x14004fe7d
mov rax, qword [rbx]
xor edx, edx
mov rcx, rbx
mov qword [rax], rbp
call fcn.14003a9a5
xor edi, edi
jmp 0x14004ff1a
and dh, 2
jne 0x14004fe9a
cmp al, 0x24
je 0x14004fe91
cmp dword [rbx + 0x4b0], 0x17
je 0x14004fead
jmp 0x14004fe66
cmp byte [rbx + 0x4ce], 0
je 0x14004fe86
mov rdx, rbp
mov rcx, rbx
call fcn.14004f1cd
test byte [rax + 0x10], 1
je 0x14004fe86
jmp 0x14004fe66
cmp byte [rbx + 0x14], 0
je case.0x14004f585.1
mov esi, 5
jmp case.0x14004f585.0
mov esi, 7
jmp case.0x14004f585.1
mov esi, 2
xor r12d, r12d
jmp case.0x14004f585.1
xor esi, esi
xor r14d, r14d
jmp case.0x14004f585.1
xor esi, esi
cmp byte [rbx + 0x10], 0
jne 0x14004fee4
mov byte [rbx + 0x1b8], 0
mov byte [rsp + 0x3e], 0
cmp esi, 6
ja case.0x14004f585.0
mov rax, 0xffffffffffffff94
mov ecx, esi
sar rax, cl
and al, 1
mov byte [rsp + 0x3e], al
jne 0x14004ff0d
xor esi, esi
jmp case.0x14004f585.0
mov byte [rsp + 0x3e], 0
jmp case.0x14004f585.0
mov dil, 1
mov rdx, qword [rsp + 0x78]
test rdx, rdx
je 0x14004ff2c
mov rcx, rbx
call fcn.14004419a
cmp esi, 2
jne 0x14004ff65
mov rax, qword [rsp + 0x88]
xor r9d, r9d
mov edx, 3
mov rcx, rbx
mov r8d, dword [rsp + 0x98]
mov rax, qword [rax]
mov qword [rsp + 0x28], rax
lea rax, str.unterminated_argument_list_invoking_macro___s_
mov qword [rsp + 0x20], rax
call fcn.14003c1fb
mov eax, edi
add rsp, 0xe8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret