Function at 0x140014590
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
sub rsp, 0x68
cmp qword [rsp + 0x70], 0
je 0x1400145b9
mov dword [rsp + 0x3c], 1
jmp 0x1400145c1
mov dword [rsp + 0x3c], 0
mov eax, dword [rsp + 0x3c]
mov dword [rsp + 0x40], eax
xor eax, eax
test eax, eax
jne 0x1400145c9
cmp dword [rsp + 0x40], 0
jne 0x1400145e0
mov ecx, 0x80004005
call fcn.140014550
xor eax, eax
test eax, eax
jne 0x1400145a7
mov dword [rsp + 0x2c], 0
mov eax, dword [rsp + 0x88]
mov dword [rsp + 0x24], eax
mov dword [rsp + 0x28], 0
xor eax, eax
mov word [rsp + 0x20], ax
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x78]
dec eax
mov dword [rsp + 0x78], eax
cmp dword [rsp + 0x48], 0
je 0x140014a80
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x28], 0
mov rax, qword [rsp + 0x70]
movzx eax, word [rax]
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0x22
je 0x1400147a7
cmp dword [rsp + 0x30], 0x26
je 0x14001474f
cmp dword [rsp + 0x30], 0x27
je 0x1400147a7
cmp dword [rsp + 0x30], 0x3c
je 0x140014675
cmp dword [rsp + 0x30], 0x3e
je 0x140014675
jmp 0x140014832
cmp qword [rsp + 0x80], 0
je 0x140014742
cmp dword [rsp + 0x24], 3
jle 0x140014742
mov eax, 0x26
mov rcx, qword [rsp + 0x80]
mov word [rcx], ax
mov rax, qword [rsp + 0x80]
add rax, 2
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x70]
movzx eax, word [rax]
cmp eax, 0x3c
jne 0x1400146cc
mov eax, 0x6c
mov word [rsp + 0x34], ax
jmp 0x1400146d6
mov eax, 0x67
mov word [rsp + 0x34], ax
mov rax, qword [rsp + 0x80]
movzx ecx, word [rsp + 0x34]
mov word [rax], cx
mov rax, qword [rsp + 0x80]
add rax, 2
mov qword [rsp + 0x80], rax
mov eax, 0x74
mov rcx, qword [rsp + 0x80]
mov word [rcx], ax
mov rax, qword [rsp + 0x80]
add rax, 2
mov qword [rsp + 0x80], rax
mov eax, 0x3b
mov rcx, qword [rsp + 0x80]
mov word [rcx], ax
mov rax, qword [rsp + 0x80]
add rax, 2
mov qword [rsp + 0x80], rax
mov dword [rsp + 0x28], 4
jmp 0x140014a4d
cmp qword [rsp + 0x80], 0
je 0x14001479a
cmp dword [rsp + 0x24], 4
jle 0x14001479a
movsxd rax, dword [rsp + 0x24]
shl rax, 1
mov r9d, 0xa
lea r8, str.amp_
mov rdx, rax
mov rcx, qword [rsp + 0x80]
call fcn.1400166f0
mov rax, qword [rsp + 0x80]
add rax, 0xa
mov qword [rsp + 0x80], rax
mov dword [rsp + 0x28], 5
jmp 0x140014a4d
mov eax, dword [rsp + 0x90]
and eax, 1
test eax, eax
je 0x140014832
cmp qword [rsp + 0x80], 0
je 0x140014825
cmp dword [rsp + 0x24], 5
jle 0x140014825
mov rax, qword [rsp + 0x70]
movzx eax, word [rax]
cmp eax, 0x27
jne 0x1400147e2
lea rax, str.apos_
mov qword [rsp + 0x50], rax
jmp 0x1400147ee
lea rax, str.quot_
mov qword [rsp + 0x50], rax
movsxd rax, dword [rsp + 0x24]
shl rax, 1
mov r9d, 0xc
mov r8, qword [rsp + 0x50]
mov rdx, rax
mov rcx, qword [rsp + 0x80]
call fcn.1400166f0
mov rax, qword [rsp + 0x80]
add rax, 0xc
mov qword [rsp + 0x80], rax
mov dword [rsp + 0x28], 6
jmp 0x140014a4d
mov rax, qword [rsp + 0x70]
movzx eax, word [rax]
cmp eax, 0xd800
jl 0x1400148ae
mov rax, qword [rsp + 0x70]
movzx eax, word [rax]
cmp eax, 0xdbff
jg 0x1400148ae
movzx eax, word [rsp + 0x20]
test eax, eax
je 0x140014899
cmp qword [rsp + 0x80], 0
je 0x140014891
cmp dword [rsp + 0x24], 7
jle 0x140014891
mov rdx, qword [rsp + 0x80]
movzx ecx, word [rsp + 0x20]
call fcn.140014bb0
mov rax, qword [rsp + 0x80]
add rax, 0x10
mov qword [rsp + 0x80], rax
mov dword [rsp + 0x28], 8
mov rax, qword [rsp + 0x70]
movzx eax, word [rax]
mov word [rsp + 0x20], ax
mov dword [rsp + 0x38], 1
cmp dword [rsp + 0x38], 0
jne 0x1400149a2
movzx eax, word [rsp + 0x20]
test eax, eax
je 0x1400149a2
mov rax, qword [rsp + 0x70]
movzx eax, word [rax]
cmp eax, 0xdc00
jl 0x14001494d
mov rax, qword [rsp + 0x70]
movzx eax, word [rax]
cmp eax, 0xdfff
jg 0x14001494d
movzx eax, word [rsp + 0x20]
sub eax, 0xd800
shl eax, 0xa
mov rcx, qword [rsp + 0x70]
movzx ecx, word [rcx]
lea eax, [rax + rcx + 0x2400]
mov dword [rsp + 0x44], eax
cmp qword [rsp + 0x80], 0
je 0x14001493b
cmp dword [rsp + 0x24], 9
jle 0x14001493b
mov rdx, qword [rsp + 0x80]
mov ecx, dword [rsp + 0x44]
call fcn.140014c20
mov rax, qword [rsp + 0x80]
add rax, 0x14
mov qword [rsp + 0x80], rax
mov dword [rsp + 0x28], 0xa
mov dword [rsp + 0x38], 1
jmp 0x14001499b
cmp qword [rsp + 0x80], 0
je 0x140014985
cmp dword [rsp + 0x24], 7
jle 0x140014985
mov rdx, qword [rsp + 0x80]
movzx ecx, word [rsp + 0x20]
call fcn.140014bb0
mov rax, qword [rsp + 0x80]
add rax, 0x10
mov qword [rsp + 0x80], rax
mov eax, dword [rsp + 0x24]
sub eax, 8
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x2c]
add eax, 8
mov dword [rsp + 0x2c], eax
xor eax, eax
mov word [rsp + 0x20], ax
cmp dword [rsp + 0x38], 0
jne 0x140014a4d
mov rax, qword [rsp + 0x70]
movzx eax, word [rax]
cmp eax, 0x20
jl 0x1400149c7
mov rax, qword [rsp + 0x70]
movzx eax, word [rax]
cmp eax, 0x7e
jle 0x140014a0c
cmp qword [rsp + 0x80], 0
je 0x140014a02
cmp dword [rsp + 0x24], 7
jle 0x140014a02
mov rdx, qword [rsp + 0x80]
mov rax, qword [rsp + 0x70]
movzx ecx, word [rax]
call fcn.140014bb0
mov rax, qword [rsp + 0x80]
add rax, 0x10
mov qword [rsp + 0x80], rax
mov dword [rsp + 0x28], 8
jmp 0x140014a4d
cmp qword [rsp + 0x80], 0
je 0x140014a45
cmp dword [rsp + 0x24], 0
jle 0x140014a45
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x70]
movzx ecx, word [rcx]
mov word [rax], cx
mov rax, qword [rsp + 0x80]
add rax, 2
mov qword [rsp + 0x80], rax
mov dword [rsp + 0x28], 1
mov eax, dword [rsp + 0x28]
mov ecx, dword [rsp + 0x24]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x28]
mov ecx, dword [rsp + 0x2c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x2c], eax
mov rax, qword [rsp + 0x70]
add rax, 2
mov qword [rsp + 0x70], rax
jmp 0x140014608
movzx eax, word [rsp + 0x20]
test eax, eax
je 0x140014b13
movzx eax, word [rsp + 0x20]
cmp eax, 0x20
jl 0x140014aa1
movzx eax, word [rsp + 0x20]
cmp eax, 0x7e
jle 0x140014add
cmp qword [rsp + 0x80], 0
je 0x140014ac5
cmp dword [rsp + 0x24], 7
jle 0x140014ac5
mov rdx, qword [rsp + 0x80]
movzx ecx, word [rsp + 0x20]
call fcn.140014bb0
mov eax, dword [rsp + 0x24]
sub eax, 8
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x2c]
add eax, 8
mov dword [rsp + 0x2c], eax
jmp 0x140014b13
cmp qword [rsp + 0x80], 0
je 0x140014aff
cmp dword [rsp + 0x24], 0
jle 0x140014aff
mov rax, qword [rsp + 0x80]
movzx ecx, word [rsp + 0x20]
mov word [rax], cx
mov eax, dword [rsp + 0x24]
dec eax
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x2c]
inc eax
mov dword [rsp + 0x2c], eax
cmp qword [rsp + 0x80], 0
je 0x140014b29
cmp dword [rsp + 0x24], 0
jge 0x140014b29
xor eax, eax
jmp 0x140014b2d
mov eax, dword [rsp + 0x2c]
add rsp, 0x68
ret