Function at 0x4074d8
Capabilities:
Delete file
Get common file path
Read file on windows
Write file on windows

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x940
mov rax, qword [0x00414010]
xor rax, rsp
mov qword [rsp + 0x930], rax
xor eax, eax
mov rsi, rcx
mov rdi, rdx
lea rcx, [rsp + 0x90]
mov qword [rsp + 0xa0], rax
mov dword [rsp + 0x50], eax
mov dword [rsp + 0x80], eax
mov dword [rsp + 0x74], eax
mov dword [rsp + 0x78], eax
mov byte [rsp + 0x55], al
mov r15d, eax
mov dword [rsp + 0x70], eax
mov r14b, al
mov byte [rsp + 0x56], al
mov byte [rsp + 0x54], al
mov dword [rsp + 0x7c], eax
mov dword [rsp + 0x84], eax
mov r13, rax
mov r12, rax
mov rax, qword [rdx]
mov rbp, r8
mov qword [rsp + 0x20], rcx
lea r9, [0x004122f0]
lea rdx, [0x00412270]
xor r8d, r8d
mov rcx, rdi
call qword [rax + 0x18]
xor edi, edi
cmp eax, edi
mov ebx, eax
jl 0x408266
mov rax, qword [rbp]
mov r8, qword [rsp + 0x90]
mov rdx, qword [0x00415aa0]
lea rcx, [rsp + 0x50]
xor r9d, r9d
mov qword [rsp + 0x20], rcx
mov rcx, rbp
call qword [rax + 0x28]
cmp eax, edi
mov ebx, eax
jl 0x408266
mov edx, dword [rsp + 0x50]
mov eax, dword [0x00414044]
mov rdi, qword [rbp]
mov r9d, dword [0x00414040]
mov r8d, edx
mov rcx, rbp
mov dword [rsp + 0x20], eax
call qword [rdi + 0x140]
mov ebx, eax
xor eax, eax
cmp ebx, eax
jl 0x4082a8
mov rcx, qword [0x00415ab8]
xor ebx, ebx
lea eax, [r12 + 0x2e]
cmp rcx, rbx
je 0x40769a
mov edx, eax
call qword [sym.imp.MSVCR90.dll_wcsrchr]
mov rdx, qword [0x00415ab8]
mov r12, rax
cmp rax, rbx
je 0x40761c
mov word [rax], bx
add r12, 2
mov r13, rdx
jmp 0x40761f
mov r12, rdx
cmp r13, rbx
je 0x40763c
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, r13
repne scasw ax, word [rdi]
not rcx
dec rcx
cmp rcx, 1
jb 0x407654
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, r12
repne scasw ax, word [rdi]
not rcx
dec rcx
cmp rcx, 1
jae 0x40769a
mov qword [rsp + 0x20], rdx
mov edx, 0xc
lea r9, str.main
lea r8d, [rdx - 0xb]
lea rcx, [0x00414670]
call fcn.004019ac
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, qword [0x00415ab8]
mov rcx, rax
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [0x00415ab8], rbx
mov r12, rbx
mov r13, rbx
mov rdi, qword [0x00415ac0]
cmp rdi, rbx
je 0x4076c0
mov ecx, dword [rsp + 0x50]
mov rdx, rbp
call fcn.0040934c
mov ebx, eax
xor eax, eax
cmp ebx, eax
jl 0x408266
xor ebx, ebx
mov rdi, qword [0x00415ac8]
cmp rdi, rbx
je 0x407885
xor r14d, r14d
lea r15, [0x00414670]
mov rdx, qword [rdi]
mov r8, qword [0x00415aa0]
mov rcx, r15
mov qword [rsp + 0x58], rdx
call fcn.00402cd4
cmp byte [rdi + 0x10], r14b
je 0x40786c
mov rax, qword [rbp]
mov r8, qword [rdi + 8]
mov rdx, qword [rdi]
lea rcx, [rsp + 0x74]
xor r9d, r9d
mov qword [rsp + 0x30], rcx
lea rcx, [rsp + 0xa0]
mov qword [rsp + 0x28], rcx
lea rcx, [rsp + 0x80]
mov qword [rsp + 0x20], rcx
mov rcx, rbp
call qword [rax + 0x20]
cmp eax, r14d
mov ebx, eax
jl 0x4082ad
cmp qword [rsp + 0xa0], r14
jne 0x40783d
cmp dword [rsp + 0x74], 1
jne 0x40783d
mov rax, qword [rbp]
mov r8d, dword [rsp + 0x80]
mov edx, dword [rsp + 0x50]
lea rcx, [rsp + 0x98]
xor r9d, r9d
mov qword [rsp + 0x98], r14
mov qword [rsp + 0x20], rcx
mov rcx, rbp
call qword [rax + 0x40]
cmp eax, r14d
jl 0x407828
cmp qword [0x00415ab8], r14
je 0x4077f2
test dword [rsp + 0x7c], 0xffffff
jne 0x4077f2
mov rdx, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x98]
lea rax, [rsp + 0x56]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x70]
mov r9, r12
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x84]
mov r8, r13
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x7c]
mov qword [rsp + 0x20], rax
call fcn.00408330
cmp eax, r14d
mov ebx, eax
jl 0x4078b6
mov rax, qword [rbp]
mov r8d, dword [rsp + 0x80]
mov edx, dword [rsp + 0x50]
lea rcx, [rsp + 0x80]
xor r9d, r9d
mov qword [rsp + 0x20], rcx
mov rcx, rbp
call qword [rax + 0x38]
cmp eax, r14d
mov ebx, eax
jl 0x4078b6
mov byte [rsp + 0x54], 1
mov rcx, qword [rsp + 0x98]
cmp rcx, r14
je 0x40786c
mov rax, qword [rcx]
call qword [rax + 0x10]
jmp 0x40786c
mov r9, qword [rdi]
mov edx, Ordinal_22
mov rcx, r15
lea r8d, [rdx - 0x12]
call fcn.004019ac
mov rcx, qword [rsp + 0xa0]
cmp rcx, r14
je 0x40786c
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rsp + 0xa0], r14
mov rdi, qword [rdi + 0x18]
cmp rdi, r14
jne 0x4076da
mov r15d, dword [rsp + 0x70]
mov r14b, byte [rsp + 0x56]
xor ebx, ebx
mov rdi, rbx
mov qword [rsp + 0x58], rbx
cmp byte [rsp + 0x54], bl
jne 0x4078d2
cmp qword [0x00415ad0], rbx
jne 0x4078d2
mov edx, 0x10
lea rcx, [0x00414670]
lea r8d, [rdx - 0xf]
call fcn.0040162c
jmp 0x4082ff
mov rcx, qword [rsp + 0x98]
cmp rcx, r14
je 0x40825a
mov rax, qword [rcx]
call qword [rax + 0x10]
jmp 0x40825a
mov rax, qword [rsi]
mov r8d, dword [0x0041403c]
lea rdx, [rsp + 0x68]
mov rcx, rsi
call qword [rax + 0x228]
xor r13d, r13d
cmp eax, r13d
mov ebx, eax
jl 0x408266
mov rax, qword [rsi]
mov rdx, qword [rsp + 0x68]
lea r8, [rsp + 0xa8]
mov rcx, rsi
call qword [rax + 0xd8]
cmp eax, r13d
mov ebx, eax
jl 0x408266
mov rax, qword [rsi]
mov rdx, qword [rsp + 0x68]
lea r8, [rsp + 0xc0]
mov rcx, rsi
call qword [rax + 0xe0]
cmp eax, r13d
mov ebx, eax
jl 0x408266
mov rcx, qword [0x00415aa0]
lea rax, [rsp + 0x510]
mov ebx, 0x104
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x300]
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], rax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x20], r13
call qword [sym.imp.MSVCR90.dll__wsplitpath_s]
lea r8, [rsp + 0x510]
lea rcx, [rsp + 0x300]
mov r9, rbx
mov rdx, rbx
call qword [sym.imp.MSVCR90.dll_wcsncat_s]
mov rcx, qword [rsp + 0x90]
lea rdx, [rsp + 0x300]
mov rax, qword [rcx]
call qword [rax + 0x18]
cmp eax, r13d
mov ebx, eax
jl 0x408266
mov r9, qword [0x00415ab8]
cmp r9, r13
je 0x407a0c
test dword [rsp + 0x7c], 0xffffff
jne 0x407a0c
cmp r12, r9
je 0x4079e5
lea eax, [r13 + 0x2e]
mov word [r12 - 2], ax
mov r8d, 1
lea rcx, [0x00414670]
lea edx, [r8 + 0x26]
cmp r14b, r13b
jne 0x4079ff
lea edx, [r8 + 0x23]
call fcn.004019ac
xor r14d, r14d
jmp 0x40825f
mov ecx, dword [rsp + 0x50]
mov rdx, rbp
call fcn.00409c44
xor r14d, r14d
cmp eax, r14d
mov ebx, eax
jl 0x408269
mov rax, qword [rbp]
mov edx, dword [rsp + 0x50]
lea r8, [rsp + 0x78]
xor r9d, r9d
mov rcx, rbp
call qword [rax + 0xb8]
cmp eax, r14d
mov ebx, eax
jl 0x408269
mov eax, dword [rsp + 0x7c]
test eax, 0xffffff
je 0x407ab5
mov r9, qword [rsp + 0x90]
mov r8, qword [rsp + 0xa8]
mov rdx, qword [rsp + 0x68]
mov dword [rsp + 0x30], r15d
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x84]
mov rcx, rsi
mov dword [rsp + 0x20], eax
call fcn.00408b24
cmp eax, r14d
mov ebx, eax
jl 0x408269
mov rax, qword [rsi]
mov r8d, dword [rsp + 0x84]
mov rdx, qword [rsp + 0x68]
mov rcx, rsi
call qword [rax + 0x138]
cmp eax, r14d
mov ebx, eax
jl 0x408269
mov r8d, dword [rsp + 0x78]
cmp r8d, r14d
je 0x407b83
mov rax, qword [rsi]
mov rdx, qword [rsp + 0xa8]
lea rcx, [rsp + 0xb0]
mov qword [rsp + 0x20], rcx
mov r9d, 1
mov rcx, rsi
mov qword [rsp + 0xb0], r14
call qword [rax + 0xf0]
cmp eax, r14d
mov ebx, eax
jl 0x408269
mov r8d, dword [rsp + 0x78]
mov rcx, qword [rsp + 0xb0]
xor edx, edx
call sub.MSVCR90.dll_memset
mov rax, qword [rsi]
mov rdx, qword [rsp + 0xa8]
lea r8, [rsp + 0x74]
mov rcx, rsi
call qword [rax + 0xe8]
cmp eax, r14d
mov ebx, eax
jl 0x408269
mov r8d, dword [rsp + 0x74]
mov rax, qword [rsi]
mov rdx, qword [rsp + 0x68]
sub r8d, dword [rsp + 0x78]
lea r9, [rsp + 0x74]
mov rcx, rsi
call qword [rax + 0x20]
cmp eax, r14d
mov ebx, eax
jl 0x408269
mov rax, qword [rsi]
mov r9d, dword [rsp + 0x74]
mov r8d, dword [rsp + 0x78]
mov rdx, qword [rsp + 0x68]
mov rcx, rsi
call qword [rax + 0x1f8]
cmp eax, r14d
mov ebx, eax
jl 0x408269
mov r12, qword [0x00415ad0]
lea r15, [0x00414670]
cmp r12, r14
je 0x407ca2
mov rbx, qword [r12]
mov r8, qword [0x00415aa0]
mov rcx, r15
mov rdx, qword [rbx + 8]
call fcn.00402cd4
cmp byte [rbx + 0x11], r14b
je 0x407e01
mov rcx, qword [rbx + 8]
lea eax, [r13 + 7]
lea rdx, [rsp + 0x70]
and eax, 0xfffffff8
xor r9d, r9d
xor r8d, r8d
mov dword [rbx + 0x18], eax
mov dword [rsp + 0x70], r14d
call fcn.0040b8c0
mov rdi, rax
cmp rax, 0xffffffffffffffff
jne 0x407c0c
mov rcx, r15
call fcn.00401ce8
mov r9, qword [rbx + 8]
lea edx, [rdi + 0x17]
lea r8d, [rdi + 2]
mov rcx, r15
mov qword [rsp + 0x20], rax
call fcn.004019ac
jmp 0x407c8f
mov eax, dword [rbx + 0x18]
mov r13d, dword [rsp + 0x70]
mov rdx, qword [rsp + 0xc0]
lea eax, [r13 + rax + 4]
lea rcx, [rsp + 0xb8]
lea r8d, [r13 + 4]
mov dword [rsp + 0x60], eax
mov rax, qword [rsi]
mov qword [rsp + 0x20], rcx
mov r9d, 8
mov rcx, rsi
call qword [rax + 0xf0]
cmp eax, r14d
jge 0x407d32
mov edx, eax
mov rcx, r15
call fcn.00401b18
mov r9, qword [0x00415aa0]
mov edx, 0x17
mov qword [rsp + 0x28], rax
mov rax, qword [rbx + 8]
lea r8d, [rdx - 0x16]
mov rcx, r15
mov qword [rsp + 0x20], rax
call fcn.00401a30
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov r13d, dword [rsp + 0x60]
mov r12, qword [r12 + 8]
cmp r12, r14
jne 0x407b9a
mov rdi, qword [rsp + 0x58]
mov rax, qword [rsi]
mov rdx, qword [rsp + 0x68]
xor r9d, r9d
mov r8d, r13d
mov rcx, rsi
call qword [rax + 0x190]
cmp eax, r14d
mov ebx, eax
jl 0x408269
mov rax, qword [rsi]
mov r8, qword [0x00415aa0]
mov rdx, qword [rsp + 0x68]
mov rcx, rsi
call qword [rax + 0x40]
cmp eax, r14d
mov ebx, eax
jl 0x408269
mov rdx, qword [0x00415aa8]
cmp rdx, r14
je 0x407e6e
cmp word [rdx], r14w
je 0x407e6e
mov r8, qword [0x00415aa0]
mov rcx, r15
call fcn.00402cd4
mov rax, qword [rsi]
mov r8, qword [0x00415aa8]
mov rdx, qword [rsp + 0x68]
mov rcx, rsi
call qword [rax + 0x50]
cmp eax, r14d
mov ebx, eax
jl 0x408269
jmp 0x4080e3
mov rax, qword [rsp + 0xb8]
lea r9, [rsp + 0x88]
mov r8d, r13d
mov dword [rax], r13d
mov rdx, qword [rsp + 0xb8]
mov rcx, rdi
add rdx, 4
mov qword [rsp + 0x20], r14
call qword [sym.imp.KERNEL32.dll_ReadFile]
cmp eax, r14d
jne 0x407d8e
mov rcx, r15
call fcn.00401ce8
mov r9, qword [rbx + 8]
mov edx, reloc.mscoree.dll_Ordinal_22
lea r8d, [rdx - 0x15]
mov rcx, r15
mov qword [rsp + 0x20], rax
call fcn.004019ac
jmp 0x407c81
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, byte [rbx + 0x10]
mov edx, dword [rsp + 0x50]
mov rdi, qword [rbp]
mov r9, qword [rbx]
neg al
mov eax, dword [rbx + 0x18]
sbb ecx, ecx
mov r8d, edx
add ecx, 2
mov dword [rsp + 0x28], ecx
mov rcx, rbp
mov dword [rsp + 0x20], eax
call qword [rdi + 0x80]
cmp eax, r14d
mov edi, eax
jge 0x407c8a
mov ecx, eax
call fcn.004088e4
cmp eax, r14d
jge 0x407c8a
mov edx, edi
mov rcx, r15
call fcn.00401b18
mov edx, Ordinal_22
mov rcx, r15
lea r8d, [rdx - 0x12]
mov r9, rax
call fcn.004019ac
jmp 0x407c8a
mov al, byte [rbx + 0x10]
mov rdi, qword [rbp]
mov r9, qword [rbx + 0x18]
mov r8, qword [rbx + 8]
mov edx, dword [rsp + 0x50]
neg al
mov rax, qword [rbx]
sbb ecx, ecx
add ecx, 2
mov dword [rsp + 0x28], ecx
mov rcx, rbp
mov qword [rsp + 0x20], rax
call qword [rdi + 0x88]
cmp eax, r14d
mov edi, eax
jge 0x407c8f
mov ecx, eax
call fcn.004088e4
cmp eax, r14d
jge 0x407c8f
mov edx, edi
mov rcx, r15
call fcn.00401b18
mov edx, Ordinal_22
mov rcx, r15
lea r8d, [rdx - 0x12]
mov r9, rax
call fcn.004019ac
jmp 0x407c8f
mov rcx, qword [0x00415ab0]
mov qword [rsp + 0x88], r14
mov dword [rsp + 0x70], r14d
mov dword [rsp + 0x60], r14d
cmp rcx, r14
je 0x407ea5
mov r8, qword [0x00415aa0]
mov rdx, rcx
mov rcx, r15
call fcn.00402cd4
mov rcx, qword [0x00415ab0]
cmp dword [0x00415ae8], r14d
mov rax, qword [rbp]
lea rdx, [rsp + 0x70]
mov qword [rsp + 0x30], rdx
lea rdx, [rsp + 0x88]
mov r9d, r14d
mov qword [rsp + 0x28], rdx
mov edx, dword [rsp + 0x50]
mov qword [rsp + 0x20], rcx
sete r9b
mov rcx, rbp
mov r8d, edx
call qword [rax + 0xa8]
cmp eax, r14d
mov ebx, eax
jge 0x407f25
mov ecx, eax
call fcn.004088e4
cmp eax, r14d
jge 0x407f1d
mov edx, ebx
mov rcx, r15
call fcn.00401b18
mov r9, qword [0x00415aa0]
mov edx, 0x1f
mov rcx, r15
lea r8d, [rdx - 0x1e]
mov qword [rsp + 0x20], rax
call fcn.004019ac
mov ebx, r14d
jmp 0x4080b9
lea rdx, [rsp + 0x720]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
cmp eax, r14d
jne 0x407f47
mov rcx, r15
call fcn.00401ce8
jmp 0x407f00
lea r9, [rsp + 0xf0]
lea rdx, [0x004121b8]
lea rcx, [rsp + 0x720]
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_GetTempFileNameW]
cmp eax, r14d
je 0x407f3d
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [rsp + 0xf0]
repne scasw ax, word [rdi]
not rcx
dec rcx
lea rax, [rcx + 1]
cmp rcx, rax
jb 0x407f91
mov rax, r14
jmp 0x407fa1
mov rdx, rcx
lea rcx, [rsp + 0xf0]
call fcn.00401024
mov qword [0x00415aa8], rax
cmp rax, r14
jne 0x407fb7
mov edx, 0x8007000e
jmp 0x407ef8
xor r9d, r9d
mov qword [rsp + 0x30], r14
lea rcx, [rsp + 0xf0]
lea r8d, [r9 + 1]
mov edx, 0x40000000
mov dword [rsp + 0x28], 0x2000
mov dword [rsp + 0x20], 2
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rdi, rax
cmp rax, 0xffffffffffffffff
jne 0x408035
mov rcx, r15
call fcn.00401ce8
mov rcx, qword [0x00415aa0]
mov r9, qword [0x00415aa8]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea edx, [rdi + 0x20]
lea r8d, [rdi + 2]
mov rcx, r15
call fcn.00401a30
mov rax, qword [rbp]
lea rdx, [rsp + 0x88]
mov rcx, rbp
call qword [rax + 0xb0]
jmp 0x4080a8
mov r8d, dword [rsp + 0x70]
mov rdx, qword [rsp + 0x88]
lea r9, [rsp + 0x60]
mov rcx, rax
mov byte [rsp + 0x55], 1
mov qword [rsp + 0x20], r14
call qword [sym.imp.KERNEL32.dll_WriteFile]
cmp eax, r14d
jne 0x408092
mov rcx, r15
call fcn.00401ce8
mov r9, qword [0x00415aa8]
mov edx, 0x1f
mov qword [rsp + 0x28], rax
mov rax, qword [0x00415aa0]
lea r8d, [rdx - 0x1e]
mov rcx, r15
mov qword [rsp + 0x20], rax
call fcn.00401a30
jmp 0x4080aa
mov rax, qword [rsi]
mov rdx, qword [rsp + 0x68]
lea r8, [rsp + 0xf0]
mov rcx, rsi
call qword [rax + 0x50]
mov ebx, eax
cmp rdi, 0xffffffffffffffff
je 0x4080b9
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp qword [rsp + 0x88], r14
je 0x4080da
mov rax, qword [rbp]
lea rdx, [rsp + 0x88]
mov rcx, rbp
call qword [rax + 0xb0]
mov ebx, eax
cmp ebx, r14d
jl 0x4082ad
mov rax, qword [rsi]
mov r8d, dword [0x00414038]
mov rdx, qword [rsp + 0x68]
mov rcx, rsi
call qword [rax + 0x148]
cmp eax, r14d
mov ebx, eax
jl 0x4082ad
mov rcx, qword [0x00415ad8]
cmp rcx, r14
je 0x40819e
test byte [0x00414040], 4
je 0x408135
mov rax, qword [rsi]
mov rdx, qword [rsp + 0x68]
mov r8, rcx
mov rcx, rsi
call qword [rax + 0x230]
jmp 0x408193
mov eax, 0xffffffff
cmp rcx, rax
jbe 0x408182
mov r9, rcx
lea r8, str.0x_016I64x
lea rcx, [rsp + 0xc8]
mov edx, Ordinal_22
call fcn.0040a5ac
lea rcx, [rsp + 0xc8]
mov edx, 0xc
mov qword [rsp + 0x20], rcx
lea r8d, [rdx - 0xb]
lea r9, str._baseaddress
mov rcx, r15
call fcn.004019ac
jmp 0x40819e
mov rax, qword [rsi]
mov rdx, qword [rsp + 0x68]
mov r8d, ecx
mov rcx, rsi
call qword [rax + 0x60]
cmp eax, r14d
mov ebx, eax
jl 0x4082ad
mov ecx, dword [0x00415ae8]
mov rax, qword [rsi]
mov rdx, qword [rsp + 0x68]
cmp ecx, r14d
jne 0x4081c2
mov r8d, 1
mov rcx, rsi
call qword [rax + 0xa0]
jmp 0x4081de
dec ecx
mov r9d, 4
mov dword [rsp + 0x20], r14d
neg ecx
mov rcx, rsi
sbb r8d, r8d
add r8d, 3
call qword [rax + 0x68]
cmp eax, r14d
mov ebx, eax
jl 0x4082ad
mov rax, qword [rbp]
mov edx, dword [rsp + 0x50]
mov rcx, rbp
call qword [rax + 0xc0]
cmp eax, r14d
mov ebx, eax
jl 0x4082ad
mov rax, qword [rsi]
mov r8, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x68]
mov rcx, rsi
call qword [rax + 0x168]
cmp eax, r14d
mov ebx, eax
jl 0x4082ad
cmp byte [0x00414670], r14b
jne 0x40825a
mov rax, qword [rsi]
mov rdx, qword [rsp + 0x68]
mov rcx, rsi
call qword [rax + 0x38]
cmp eax, r14d
mov ebx, eax
jl 0x4082ad
mov rax, qword [rbp]
mov edx, dword [rsp + 0x50]
mov rcx, rbp
call qword [rax + reloc.OLEAUT32.dll_SetErrorInfo]
mov ebx, eax
mov rdi, qword [rsp + 0x58]
cmp ebx, r14d
jge 0x4082c1
jmp 0x408269
xor r14d, r14d
mov ecx, ebx
call fcn.004088e4
cmp eax, r14d
jge 0x4082c1
lea rcx, [0x00414670]
mov edx, ebx
call fcn.00401b18
mov r8d, 1
lea rcx, [0x00414670]
cmp rdi, r14
je 0x4082b4
lea edx, [r8 + 0x2c]
mov r9, rdi
mov qword [rsp + 0x20], rax
call fcn.004019ac
jmp 0x4082c1
mov rdi, rax
jmp 0x408266
mov rdi, qword [rsp + 0x58]
jmp 0x408269
mov r9, rax
mov edx, Ordinal_22
call fcn.004019ac
cmp byte [rsp + 0x55], r14b
je 0x4082ff
mov rcx, qword [0x00415aa8]
cmp rcx, r14
je 0x4082ff
cmp word [rcx], r14w
je 0x4082ff
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, qword [0x00415aa8]
mov rcx, rax
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [0x00415aa8], r14
mov rcx, qword [rsp + 0x930]
xor rcx, rsp
call fcn.0040c9c0
mov rbx, qword [rsp + 0x998]
add rsp, 0x940
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret