Function at 0x405418
Capabilities:
Create process on windows

Disassembly:
push ebp
lea ebp, [esp - 0x105c]
mov eax, 0x105c
call fcn.00434c80
push 0xffffffffffffffff
push 0x45925c
mov eax, dword fs:[0]
push eax
sub esp, 0xc
mov eax, dword [0x48d0e4]
xor eax, ebp
mov dword [ebp + 0x1058], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebp + 0x1064]
xor ebx, ebx
mov dword [ebp - 0x18], 0x45dcd8
mov byte [ebp - 0xd], bl
push 2
pop eax
mov dword [ebp - 0x14], eax
push 8
pop edi
cmp esi, 0x11
jg 0x405633
je 0x4055f1
test esi, esi
jle 0x405728
cmp esi, edi
jle 0x405592
cmp esi, 0xa
jle 0x405728
cmp esi, 0xc
jle 0x405535
cmp esi, 0xd
je 0x4054f6
cmp esi, 0xe
je 0x405760
cmp esi, 0x10
jne 0x405728
push 0x45df58
lea ecx, [ebp + 0x30]
call fcn.00401b8b
lea eax, [ebp + 0x30]
mov dword [ebp - 4], 4
push eax
lea eax, [ebp + 0x18]
push eax
call fcn.00406eb6
pop ecx
pop ecx
mov ecx, eax
cmp dword [ecx + 0x14], esi
jb 0x4054e4
mov ecx, dword [ecx]
lea edx, [ebp + 0x48]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x4054e7
jmp 0x40579a
push 0x45de58
lea ecx, [ebp + 0x30]
call fcn.00401b8b
lea eax, [ebp + 0x30]
mov dword [ebp - 4], 2
push eax
lea eax, [ebp + 0x18]
push eax
call fcn.00406eb6
pop ecx
pop ecx
mov ecx, eax
cmp dword [ecx + 0x14], 0x10
jb 0x405523
mov ecx, dword [ecx]
lea edx, [ebp + 0x48]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x405526
jmp 0x40579a
push 0x45ddd0
lea ecx, [ebp + 0x30]
call fcn.00401b8b
lea eax, [ebp + 0x30]
xor ebx, ebx
push eax
lea eax, [ebp + 0x18]
inc ebx
push eax
mov dword [ebp - 4], ebx
call fcn.00406eb6
pop ecx
pop ecx
mov ecx, eax
cmp dword [ecx + 0x14], 0x10
jb 0x405561
mov ecx, dword [ecx]
lea edx, [ebp + 0x48]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x405564
push 0
push ebx
lea ecx, [ebp + 0x18]
call fcn.00404938
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x30]
push 0
push ebx
call fcn.00404938
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x4057b6
push 0x45dd80
lea ecx, [ebp + 0x30]
call fcn.00401b8b
lea eax, [ebp + 0x30]
mov dword [ebp - 4], ebx
push eax
lea eax, [ebp + 0x18]
push eax
call fcn.00406eb6
pop ecx
pop ecx
mov ecx, eax
cmp dword [ecx + 0x14], 0x10
jb 0x4055bb
mov ecx, dword [ecx]
lea edx, [ebp + 0x48]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x4055be
push ebx
xor ebx, ebx
lea ecx, [ebp + 0x18]
inc ebx
push ebx
call fcn.00404938
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x30]
push 0
push ebx
call fcn.00404938
xor eax, eax
mov byte [ebp - 0xd], bl
mov dword [ebp - 0x14], eax
jmp 0x4057b6
push 0x45df94
lea ecx, [ebp + 0x30]
call fcn.00401b8b
push 5
pop eax
mov dword [ebp - 4], eax
lea eax, [ebp + 0x30]
push eax
lea eax, [ebp + 0x18]
push eax
call fcn.00406eb6
pop ecx
pop ecx
mov ecx, eax
cmp dword [ecx + 0x14], 0x10
jb 0x40561d
mov ecx, dword [ecx]
lea edx, [ebp + 0x48]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x405620
push ebx
xor ebx, ebx
inc ebx
jmp 0x405570
cmp esi, 0x12
je 0x405760
cmp esi, 0x31
jle 0x405728
cmp esi, 0x34
jle 0x4056ec
cmp esi, 0x36
je 0x4056ec
cmp esi, 0x39
jne 0x405728
push 0x45e068
lea ecx, [ebp + 0x30]
call fcn.00401b8b
lea eax, [ebp + 0x30]
mov dword [ebp - 4], 7
push eax
lea eax, [ebp + 0x18]
push eax
call fcn.00406eb6
pop ecx
pop ecx
mov ecx, eax
cmp dword [ecx + 0x14], 0x10
jb 0x40568d
mov ecx, dword [ecx]
lea edx, [ebp + 0x48]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x405690
push ebx
xor ebx, ebx
lea ecx, [ebp + 0x18]
inc ebx
push ebx
call fcn.00404938
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x30]
push 0
push ebx
call fcn.00404938
cmp dword [0x48d010], 0
mov dword [ebp - 0x14], ebx
mov byte [ebp - 0xd], bl
je 0x4056e0
cmp dword [0x48d014], 8
mov eax, section..data
cmovae eax, dword [section..data]
mov dword [ebp - 0x18], eax
jmp 0x4057b6
mov dword [ebp - 0x18], str.https:__download.scdn.co_SpotifyFullSetup.exe
jmp 0x4057b6
push 0x45dfb8
lea ecx, [ebp + 0x30]
call fcn.00401b8b
lea eax, [ebp + 0x30]
mov dword [ebp - 4], 6
push eax
lea eax, [ebp + 0x18]
push eax
call fcn.00406eb6
pop ecx
pop ecx
mov ecx, eax
cmp dword [ecx + 0x14], 0x10
jb 0x405719
mov ecx, dword [ecx]
lea edx, [ebp + 0x48]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x40571c
jmp 0x40579a
push 0x45e0bc
lea ecx, [ebp + 0x30]
call fcn.00401b8b
lea eax, [ebp + 0x30]
mov dword [ebp - 4], edi
push eax
lea eax, [ebp + 0x18]
push eax
call fcn.00406eb6
pop ecx
pop ecx
mov ecx, eax
cmp dword [ecx + 0x14], 0x10
jb 0x405751
mov ecx, dword [ecx]
lea edx, [ebp + 0x48]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x405754
jmp 0x40579a
push 0x45deb8
lea ecx, [ebp + 0x30]
call fcn.00401b8b
lea eax, [ebp + 0x30]
mov dword [ebp - 4], 3
push eax
lea eax, [ebp + 0x18]
push eax
call fcn.00406eb6
pop ecx
pop ecx
mov ecx, eax
cmp dword [ecx + 0x14], 0x10
jb 0x40578d
mov ecx, dword [ecx]
lea edx, [ebp + 0x48]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x405790
push ebx
xor ebx, ebx
lea ecx, [ebp + 0x18]
inc ebx
push ebx
call fcn.00404938
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x30]
push 0
push ebx
call fcn.00404938
push esi
lea eax, [ebp + 0x1048]
push 0x45d838
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
lea edi, [ebp + 0x48]
add esp, 0xc
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4057d0
mov eax, dword [0x45e0e8]
lea ecx, [ebp + 0x30]
push 0x45e0ec
mov dword [edi], eax
call fcn.00401b8b
lea eax, [ebp + 0x30]
mov dword [ebp - 4], 9
push eax
lea eax, [ebp + 0x18]
push eax
call fcn.00406eb6
mov edx, eax
pop ecx
pop ecx
cmp dword [edx + 0x14], 0x10
jb 0x40580c
mov edx, dword [edx]
mov esi, edx
mov al, byte [edx]
inc edx
test al, al
jne 0x40580e
lea edi, [ebp + 0x48]
sub edx, esi
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x40581b
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push 0
push ebx
lea ecx, [ebp + 0x18]
call fcn.00404938
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x30]
push 0
push ebx
call fcn.00404938
lea edx, [ebp + 0x1048]
mov esi, edx
mov al, byte [edx]
inc edx
test al, al
jne 0x405853
lea edi, [ebp + 0x48]
sub edx, esi
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x405860
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebp + 0x48]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x40587a
mov ax, word [0x45e0fc]
xor esi, esi
cmp dword [ebp - 0x14], 2
push 5
pop ecx
cmove esi, ecx
mov word [edi], ax
cmp dword [ebp - 0x14], ebx
lea eax, [ebp + 0x48]
push eax
cmove esi, ebx
lea ecx, [ebp]
or esi, 0x30
call fcn.00401b8b
lea eax, [ebp]
mov dword [ebp - 4], 0xa
push esi
push eax
call fcn.0040593e
pop ecx
pop ecx
xor edi, edi
lea ecx, [ebp]
push edi
push ebx
mov esi, eax
call fcn.00404938
cmp esi, 4
sete cl
cmp esi, 2
sete al
test cl, cl
jne 0x4058fd
test al, al
jne 0x405901
cmp byte [ebp - 0xd], al
je 0x405901
push 5
pop eax
push eax
push edi
push edi
push dword [ebp - 0x18]
push 0x45e100
push edi
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
jmp 0x405901
test al, al
je 0x405903
mov ebx, edi
mov al, bl
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x1058]
xor ecx, ebp
call fcn.00434b58
lea esp, [ebp + 0x105c]
pop ebp
ret