Function at 0x44fa93
Capabilities:
Create process on windows

Disassembly:
mov eax, 0x4f4135
call fcn.004eadec
sub esp, 0x6dc
mov eax, dword [0x516ad4]
push ebx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 0xc]
cmp eax, 2
push esi
push edi
jne 0x44faf6
mov edi, dword [ebp + 0x10]
test edi, edi
je 0x4504e0
push dword [edi + 0xc]
push 0x521414
call fcn.00464ba4
test eax, eax
jl 0x4504e0
mov esi, dword [ebp + 8]
push 0
push dword [edi + 0xc]
add esi, 0x2fcc
push esi
call fcn.0046be57
mov ecx, esi
call fcn.0046bff1
jmp 0x4504e0
cmp eax, 1
jne 0x44fbcb
mov esi, dword [ebp + 0x10]
xor ebx, ebx
cmp esi, ebx
je 0x4504e0
mov dword [ebp - 0x6a4], ebx
mov dword [ebp - 0x6a0], ebx
mov dword [ebp - 0x69c], ebx
mov dword [ebp - 0x698], ebx
push str.Artist
lea edi, [ebp + 0x10]
mov dword [ebp - 4], ebx
call fcn.00407bfb
push esi
mov eax, edi
push eax
lea eax, [ebp - 0x6a4]
push eax
mov byte [ebp - 4], 1
call fcn.004140e9
mov eax, dword [ebp + 0x10]
add eax, 0xfffffff4
cmp eax, dword [0x51a43c]
je 0x44fb5c
push eax
call fcn.004013aa
push str.Title
lea edi, [ebp + 0x10]
call fcn.00407bfb
lea eax, [esi + 4]
push eax
mov eax, edi
push eax
lea eax, [ebp - 0x6a4]
push eax
mov byte [ebp - 4], 2
call fcn.004140e9
mov byte [ebp - 4], bl
mov eax, dword [ebp + 0x10]
add eax, 0xfffffff4
cmp eax, dword [0x51a43c]
je 0x44fb97
push eax
call fcn.004013aa
mov edi, dword [ebp + 8]
push ebx
push dword [esi + 0xc]
add edi, 0x2fcc
push edi
call fcn.0046be57
push ebx
lea eax, [ebp - 0x6a4]
push eax
push dword [esi + 8]
push edi
call fcn.0046d4bf
lea esi, [ebp - 0x6a4]
call fcn.004067bd
jmp 0x4504e0
cmp eax, 4
jne 0x44fc0e
mov esi, dword [ebp + 8]
mov eax, esi
call fcn.00453fad
test eax, eax
je 0x4504e0
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x44fbfe
push dword [eax + 4]
push dword [eax]
mov eax, dword [esi + 0x3520]
call fcn.0044287b
jmp 0x4504e0
mov eax, dword [esi + 0x3520]
call fcn.00442894
jmp 0x4504e0
cmp eax, 5
jne 0x44fdda
mov esi, dword [ebp + 0x10]
lea eax, [ebp + 0xc]
push eax
mov ecx, esi
call fcn.0044c845
push 0x522254
lea edi, [ebp + 8]
call fcn.004031b3
push str.updater.exe
mov eax, edi
push eax
call fcn.0040328b
push dword [ebp + 8]
call fcn.004472c9
xor ebx, ebx
test eax, eax
pop ecx
jne 0x44fc5a
mov dword [esi + 0xc], 0x80004005
jmp 0x44fd63
mov eax, dword [ebp + 0xc]
cmp dword [eax - 8], ebx
je 0x44fd63
push 0x4fa760
lea eax, [ebp + 8]
push eax
call fcn.0040328b
lea eax, [ebp - 0x680]
push eax
lea ecx, [ebp + 0xc]
call fcn.004c07e3
mov eax, dword [eax]
lea ecx, [ebp - 0x684]
push ebx
push ecx
call fcn.0040683d
add esp, 0xc
lea ecx, [ebp + 8]
push ecx
call fcn.00405fdc
mov eax, dword [ebp - 0x684]
add eax, 0xfffffff4
cmp eax, dword [0x51a43c]
je 0x44fcb5
push eax
call fcn.004013aa
mov eax, dword [ebp - 0x680]
add eax, 0xfffffff4
cmp eax, dword [0x51a43c]
je 0x44fccc
push eax
call fcn.004013aa
push 0x10
pop ecx
xor eax, eax
lea edi, [ebp - 0x6e4]
rep stosd dword es:[edi], eax
lea ecx, [ebp - 0x6a4]
push ecx
mov dword [ebp - 0x6a4], ebx
lea ecx, [ebp - 0x6e8]
push ecx
push ebx
lea edi, [ebp - 0x6a0]
stosd dword es:[edi], eax
push ebx
stosd dword es:[edi], eax
push ebx
push ebx
stosd dword es:[edi], eax
mov eax, dword [ebp + 8]
push ebx
mov dword [ebp - 0x6e8], 0x44
mov dword [ebp - 0x6bc], 1
mov word [ebp - 0x6b8], 0xa
mov eax, dword [eax - 8]
push ebx
lea ecx, [ebp + 8]
call fcn.00403308
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
mov esi, eax
cmp esi, ebx
je 0x44fd4b
push dword [ebp - 0x6a0]
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
call edi
push dword [ebp - 0x6a4]
call edi
mov eax, dword [ebp + 0x10]
neg esi
sbb esi, esi
and esi, 0x7fffbffb
add esi, 0x80004005
mov dword [eax + 0xc], esi
mov esi, eax
cmp dword [esi + 0xc], ebx
jge 0x44fdbe
push 0x82a1
lea eax, [ebp - 0x684]
call fcn.004017db
lea eax, [ebp + 0x10]
mov dword [esp], 0x82a2
call fcn.004017db
mov esi, dword [ebp + 0x10]
mov edi, dword [ebp - 0x684]
pop ecx
push 0x30
push esi
push edi
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
lea eax, [esi - 0xc]
cmp eax, dword [0x51a43c]
je 0x44fdad
push eax
call fcn.004013aa
lea eax, [edi - 0xc]
cmp eax, dword [0x51a43c]
je 0x44fdbe
push eax
call fcn.004013aa
mov eax, dword [ebp + 8]
add eax, 0xfffffff4
cmp eax, dword [0x51a43c]
je 0x44fdd2
push eax
call fcn.004013aa
mov eax, dword [ebp + 0xc]
jmp 0x4503ee
push 3
pop ecx
cmp eax, ecx
jne 0x450207
mov edi, dword [ebp + 0x10]
xor ebx, ebx
cmp edi, ebx
je 0x4504e0
cmp dword [0x52278c], ebx
jne 0x4504e0
xor esi, esi
inc esi
cmp dword [edi], ebx
mov dword [0x52278c], esi
mov dword [ebp - 0x688], ebx
je 0x44ff7a
mov dword [ebp - 0x6cc], ebx
mov dword [ebp - 0x6bc], ebx
mov dword [ebp - 0x6b8], ebx
mov dword [ebp - 0x6b4], ebx
mov dword [ebp - 0x6d0], 0x4fcc68
mov dword [ebp - 0x6ac], ebx
mov dword [ebp - 0x6a8], ebx
mov dword [ebp - 4], ecx
mov edi, dword [ebp + 8]
push ebx
push dword [edi + 4]
lea eax, [ebp - 0x6d0]
call fcn.004546e4
cmp eax, esi
jne 0x44ff63
lea ecx, [ebp - 0x684]
lea eax, [ebp - 0x6d0]
call fcn.00446fd1
mov eax, dword [0x51a438]
mov dword [ebp + 0xc], eax
mov byte [ebp - 4], 5
mov esi, dword [ebp - 0x684]
cmp esi, ebx
jne 0x44fecb
mov eax, dword [0x521418]
inc eax
add edi, 0x2fcc
mov dword [ebp - 0x68c], eax
mov dword [ebp - 0x690], edi
push dword [ebp - 0x68c]
lea eax, [ebp + 0xc]
push 0x8192
push eax
call fcn.00406068
add esp, 0xc
inc dword [ebp - 0x68c]
lea eax, [ebp + 0xc]
push eax
call fcn.0046c9ee
test eax, eax
jne 0x44fe9f
jmp 0x44ff33
cmp dword [esi + 0x2c], ebx
jne 0x44ff05
lea eax, [ebp - 0x680]
mov ecx, esi
call fcn.0043f5e2
mov byte [ebp - 4], 6
push dword [eax]
mov ecx, esi
call fcn.00461259
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x680]
add eax, 0xfffffff4
cmp eax, dword [0x51a43c]
je 0x44ff05
push eax
call fcn.004013aa
lea eax, [ebp - 0x680]
mov ecx, esi
call fcn.0042aff7
mov edi, eax
lea eax, [ebp + 0xc]
call fcn.00403223
mov eax, dword [ebp - 0x680]
add eax, 0xfffffff4
cmp eax, dword [0x51a43c]
je 0x44ff33
push eax
call fcn.004013aa
mov edi, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
push 0xffffffffffffffff
push edi
add eax, 0x2fcc
push eax
call fcn.0046be57
lea eax, [edi - 0xc]
cmp eax, dword [0x51a43c]
je 0x44ff58
push eax
call fcn.004013aa
cmp esi, ebx
je 0x44ff69
call fcn.0043f5c1
jmp 0x44ff69
mov dword [ebp - 0x688], esi
or dword [ebp - 4], 0xffffffff
lea edi, [ebp - 0x6d0]
call fcn.004504fb
jmp 0x44ffcd
cmp dword [0x521c14], ebx
je 0x44ff9a
cmp dword [0x521b68], ebx
je 0x44ff9a
mov ecx, dword [ebp + 8]
add ecx, 0x2fcc
call fcn.0046bff1
jmp 0x44ffd9
cmp dword [0x5217a4], ebx
je 0x44ffb2
mov eax, dword [ebp + 8]
push ebx
push ebx
add eax, 0x2fcc
push eax
call fcn.0046be57
cmp dword [edi + 8], ebx
je 0x44ffd9
cmp dword [0x5217a0], ebx
je 0x44ffd9
mov ecx, dword [ebp + 8]
add ecx, 0x2fcc
call fcn.0046bff1
cmp dword [ebp - 0x688], ebx
jne 0x4501fc
mov ebx, dword [ebp + 0x10]
xor esi, esi
push esi
lea eax, [ebp - 0x6dc]
add ebx, 0x10
call fcn.00404926
mov dword [ebp - 4], 7
mov eax, dword [ebx + 4]
cmp eax, esi
mov dword [ebp - 0x690], eax
mov dword [ebp - 0x684], esi
jle 0x450178
mov eax, esi
mov ecx, ebx
call fcn.004793a7
add eax, 8
mov eax, dword [eax]
cmp dword [eax - 8], 0
je 0x45015f
mov eax, esi
mov ecx, ebx
call fcn.004793a7
add eax, 8
mov eax, dword [eax]
push 2
push eax
lea ecx, [ebp - 0x6dc]
call fcn.00460335
test eax, eax
je 0x45015f
mov eax, esi
mov ecx, ebx
call fcn.004793a7
push dword [eax]
lea edi, [ebp - 0x680]
call fcn.004031b3
mov eax, esi
mov ecx, ebx
mov byte [ebp - 4], 8
call fcn.004793a7
add eax, 4
push dword [eax]
lea edi, [ebp - 0x68c]
call fcn.004031b3
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x6d8]
lea eax, [ecx - 1]
cmp eax, ecx
jae 0x45019e
mov ecx, dword [ebp - 0x6dc]
lea eax, [ecx + eax*4]
mov esi, dword [eax]
test esi, esi
mov dword [ebp - 0x694], esi
je 0x4500ab
push esi
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
push str.Artist
lea edi, [ebp + 0xc]
mov dword [esi + 0x30], 1
call fcn.00407bfb
lea eax, [ebp - 0x680]
push eax
mov eax, edi
push eax
push esi
mov byte [ebp - 4], 0xb
call fcn.0041432d
mov eax, dword [ebp + 0xc]
add eax, 0xfffffff4
cmp eax, dword [0x51a43c]
je 0x4500e7
push eax
call fcn.004013aa
push str.Title
lea edi, [ebp - 0x688]
call fcn.00407bfb
lea eax, [ebp - 0x68c]
push eax
mov eax, edi
push eax
push esi
mov byte [ebp - 4], 0xc
call fcn.0041432d
mov eax, dword [ebp - 0x688]
add eax, 0xfffffff4
cmp eax, dword [0x51a43c]
je 0x450122
push eax
call fcn.004013aa
mov eax, esi
mov byte [ebp - 4], 9
call fcn.00404842
mov eax, dword [ebp - 0x68c]
add eax, 0xfffffff4
cmp eax, dword [0x51a43c]
je 0x450144
push eax
call fcn.004013aa
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x680]
add eax, 0xfffffff4
cmp eax, dword [0x51a43c]
je 0x45015f
push eax
call fcn.004013aa
mov esi, dword [ebp - 0x684]
inc esi
cmp esi, dword [ebp - 0x690]
mov dword [ebp - 0x684], esi
jl 0x45000b
xor esi, esi
cmp dword [ebp - 0x6d8], esi
jbe 0x4501ef
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 4]
cmp ecx, esi
jne 0x4501ac
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x30bc]
cmp eax, esi
je 0x4501a8
mov eax, dword [eax + 4]
jmp 0x4501aa
push 0x80070057
call fcn.004010ca
xor eax, eax
mov esi, eax
mov edi, dword [ebp + 8]
xor eax, eax
add edi, 0x2fcc
test ecx, ecx
setne al
push 0
push 0
lea ecx, [ebp - 0x6dc]
mov ebx, edi
dec eax
push eax
call fcn.0046cccb
mov eax, dword [ebp + 8]
push dword [eax + 0x2fd0]
call dword [sym.imp.USER32.dll_BringWindowToTop]
mov eax, dword [ebp + 0x10]
cmp dword [eax + 8], 0
je 0x4501ef
push 1
push esi
call fcn.0046c81f
lea eax, [ebp - 0x6dc]
call fcn.00404970
xor ebx, ebx
mov dword [0x52278c], ebx
jmp 0x4504e0
cmp eax, 6
jne 0x45025a
mov esi, dword [ebp + 0x10]
xor ecx, ecx
cmp esi, ecx
je 0x4504e0
mov ebx, dword [ebp + 8]
mov dword [esi], ecx
mov dword [esi + 4], ecx
mov eax, dword [ebx + 0x24]
cmp eax, ecx
je 0x4504e0
mov eax, dword [eax + 0x10]
cmp dword [eax - 8], ecx
mov edi, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
je 0x45023f
push eax
call edi
mov dword [esi], eax
mov eax, dword [ebx + 0x24]
mov eax, dword [eax + 0x14]
cmp dword [eax - 8], 0
je 0x4504e0
push eax
call edi
mov dword [esi + 4], eax
jmp 0x4504e0
cmp eax, 7
jne 0x4503f6
mov esi, dword [ebp + 0x10]
xor ebx, ebx
cmp esi, ebx
je 0x4504e0
push dword [esi]
lea edi, [ebp - 0x680]
mov dword [esi + 0x10], ebx
mov dword [esi + 8], ebx
mov dword [esi + 0xc], ebx
call fcn.004031b3
mov dword [ebp - 4], 0xd
push dword [esi + 4]
lea edi, [ebp - 0x684]
call fcn.004031b3
push ecx
mov edi, esp
mov dword [ebp - 0x694], esp
push 0x4f7548
call fcn.004031b3
push ecx
lea ecx, [ebp - 0x684]
mov esi, esp
mov dword [ebp - 0x694], esp
call fcn.0040318a
push ecx
lea ecx, [ebp - 0x680]
mov esi, esp
mov dword [ebp - 0x694], esp
call fcn.0040318a
lea eax, [ebp + 8]
push eax
call fcn.004af93a
add esp, 0x10
push ebx
push ebx
push ebx
push dword [ebp + 8]
lea eax, [ebp + 0xc]
push eax
mov esi, 0x522558
push esi
call fcn.004c3a67
push 1
mov byte [ebp - 4], 0x10
push dword [ebp + 8]
lea eax, [ebp - 0x688]
push eax
mov ecx, esi
call fcn.004c3c53
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], ebx
mov word [ebp - 0x224], bx
lea ebx, [ebp - 0x474]
mov word [ebp - 0x1c], 0x5c
call fcn.0040e51d
test eax, eax
mov esi, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
je 0x450378
lea eax, [ebp - 0x690]
push eax
mov eax, ebx
call fcn.0040e489
push dword [eax]
call esi
mov ebx, dword [ebp + 0x10]
mov dword [ebx + 8], eax
mov eax, dword [ebp - 0x690]
add eax, 0xfffffff4
cmp eax, dword [0x51a43c]
je 0x450368
push eax
call fcn.004013aa
lea ecx, [ebp - 0x474]
call fcn.0043c62e
mov dword [ebx + 0x10], eax
jmp 0x45037b
mov ebx, dword [ebp + 0x10]
mov edi, dword [ebp - 0x688]
cmp dword [edi - 8], 0
je 0x45038d
push edi
call esi
mov dword [ebx + 0xc], eax
lea eax, [ebp - 0x474]
call fcn.0040e5fc
lea eax, [edi - 0xc]
cmp eax, dword [0x51a43c]
je 0x4503a9
push eax
call fcn.004013aa
mov eax, dword [ebp + 0xc]
add eax, 0xfffffff4
cmp eax, dword [0x51a43c]
je 0x4503bd
push eax
call fcn.004013aa
mov eax, dword [ebp + 8]
add eax, 0xfffffff4
cmp eax, dword [0x51a43c]
je 0x4503d1
push eax
call fcn.004013aa
mov eax, dword [ebp - 0x684]
add eax, 0xfffffff4
cmp eax, dword [0x51a43c]
je 0x4503e8
push eax
call fcn.004013aa
mov eax, dword [ebp - 0x680]
add eax, 0xfffffff4
jmp 0x4504d2
cmp eax, 8
jne 0x4504e0
mov esi, dword [ebp + 0x10]
xor edx, edx
cmp esi, edx
je 0x4504e0
mov eax, dword [esi]
cmp eax, 1
mov dword [esi + 4], edx
jne 0x45043d
mov eax, dword [0x51a438]
push 2
push 5
push 5
mov dword [ebp + 0x10], eax
lea eax, [ebp + 0x10]
push 0x4fcd9c
push eax
call fcn.004060d6
mov edi, dword [ebp + 0x10]
add esp, 0x14
jmp 0x4504c5
cmp eax, 2
jne 0x4504e0
mov eax, dword [0x51a438]
mov dword [ebp + 0xc], eax
xor eax, eax
mov word [ebp - 0x67c], dx
mov ecx, 0x81
lea edi, [ebp - 0x67a]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 0x104
lea eax, [ebp - 0x67c]
push eax
push edx
mov dword [ebp + 8], edx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
jbe 0x4504ae
mov eax, dword [0x51a438]
mov dword [ebp + 0x10], eax
lea eax, [ebp + 0x10]
push eax
lea eax, [ebp + 8]
push eax
push 1
call fcn.004afb1d
mov eax, dword [ebp + 0x10]
add eax, 0xfffffff4
add esp, 0xc
cmp eax, dword [0x51a43c]
je 0x4504ae
push eax
call fcn.004013aa
push dword [ebp + 8]
lea eax, [ebp + 0xc]
push 0x4fd384
push eax
call fcn.004060d6
mov edi, dword [ebp + 0xc]
add esp, 0xc
push edi
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [esi + 4], eax
lea eax, [edi - 0xc]
cmp eax, dword [0x51a43c]
je 0x4504e0
push eax
call fcn.004013aa
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x10]
xor eax, eax
call fcn.004eae3c
pop edi
pop esi
pop ebx
leave
ret 0xc