Function at 0x453580
Capabilities:
Write file on windows

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x34
mov ebp, dword [esp + 0x48]
mov eax, dword [0x505d2c]
test eax, eax
je 0x453613
cmp dword [0x505d28], 0
jne 0x453703
mov dword [esp], 0
mov dword [esp + 4], 0
mov eax, dword [0x5052b0]
mov dword [esp + 8], eax
push str.spotify
push dword [0x505d38]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
add esp, 8
test eax, eax
je 0x453974
push 0x4f59cc
push dword [0x505d38]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
add esp, 8
test eax, eax
je 0x453974
mov eax, dword [0x505d70]
cmp eax, 0xc
jae 0x453723
cmp eax, 0xb
jne 0x453756
mov esi, dword [0x505d74]
jmp 0x45373d
mov eax, dword [0x5052b0]
mov dword [0x505d30], 0
mov dword [0x505d34], 0
mov dword [0x505d38], eax
mov dword [0x505d3c], 0
mov dword [0x505d40], 0
mov dword [0x505d44], eax
mov dword [0x505d48], 0
mov dword [0x505d4c], 0
mov dword [0x505d50], eax
mov dword [0x505d54], 0
mov dword [0x505d58], 0
mov dword [0x505d5c], eax
mov dword [0x505d60], 0
mov dword [0x505d64], 0
mov dword [0x505d68], eax
mov dword [0x505d6c], 0
mov dword [0x505d70], 0
mov dword [0x505d74], eax
mov dword [0x505d78], 0
mov dword [0x505d7c], 0
mov dword [0x505d80], eax
push 0x20
call sym._malloc
add esp, 4
mov dword [0x505d2c], eax
mov dword [0x505d24], 0x20
movups xmm0, xmmword [0x4fa816]
movups xmmword [eax + 0xe], xmm0
movups xmm0, xmmword [0x4fa808]
movups xmmword [eax], xmm0
mov dword [0x505d28], 0x1e
mov byte [eax + 0x1e], 0
add ebp, 0x20
push eax
push 0x4f59c1
push 0
push ebp
push 0
push str.Media_Player
call dbg.ffPrintError
add esp, 0x4c
jmp 0x453abd
mov esi, dword [0x505d74]
push 0xc
push str.https:__www.
push esi
call sym._memcmp
add esp, 0xc
test eax, eax
je 0x45376c
push 0xb
push str.http:__www.
push esi
call sym._memcmp
add esp, 0xc
test eax, eax
jne 0x453777
add esi, 0xb
jmp 0x4537a9
cmp eax, 8
jae 0x453771
cmp eax, 7
jne 0x453974
mov esi, dword [0x505d74]
jmp 0x45378a
add esi, 0xc
jmp 0x4537a9
mov esi, dword [0x505d74]
mov eax, 0x70747468
xor eax, dword [esi]
mov ecx, 0x2f2f3a73
xor ecx, dword [esi + 4]
or ecx, eax
je 0x4537a6
mov eax, 0x70747468
xor eax, dword [esi]
mov ecx, 0x2f2f3a70
xor ecx, dword [esi + 3]
or ecx, eax
jne 0x453974
add esi, 7
jmp 0x4537a9
add esi, 8
push esi
call sym._strlen
add esp, 4
test eax, eax
je 0x453974
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], eax
lea esi, [eax + 1]
mov eax, 0x20
nop word [eax + eax]
mov edi, eax
add eax, eax
cmp esi, edi
ja 0x4537d0
push edi
call sym._malloc
add esp, 4
mov ebp, eax
mov byte [eax], 0
mov dword [esp + 8], eax
mov dword [esp], edi
mov ebx, dword [esp + 0xc]
push ebx
push dword [esp + 0x14]
push eax
call sym._memcpy
add esp, 0xc
mov dword [esp + 4], ebx
mov byte [ebp + ebx], 0
push ebx
push 0x2f
push ebp
call sym._memchr
add esp, 0xc
mov ecx, eax
sub ecx, ebp
test eax, eax
cmove ecx, ebx
cmp ebx, ecx
jbe 0x45382f
test edi, edi
je 0x453839
mov dword [esp + 4], ecx
add ebp, ecx
mov edi, ecx
jmp 0x453874
mov edi, dword [esp + 0xc]
mov ebp, dword [esp + 0x48]
jmp 0x453884
mov eax, 0x20
nop
mov edi, eax
add eax, eax
cmp esi, edi
ja 0x453840
push edi
call sym._malloc
add esp, 4
mov ebx, eax
mov byte [eax], 0
mov dword [esp + 8], eax
mov dword [esp], edi
mov edi, dword [esp + 0xc]
push edi
push ebp
push eax
call sym._memcpy
add esp, 0xc
mov dword [esp + 4], edi
mov ebp, edi
add ebp, ebx
mov byte [ebp], 0
test edi, edi
mov ebp, dword [esp + 0x48]
je 0x453974
mov esi, dword [esp + 8]
mov ecx, edi
mov eax, edi
nop dword [eax]
sub eax, 1
jb 0x4538f7
cmp byte [esi + ecx - 1], 0x2e
mov ecx, eax
jne 0x453890
cmp edi, eax
jbe 0x4538f7
cmp dword [esp], 0
je 0x4538b2
add esi, eax
mov dword [esp + 4], eax
mov edi, esi
jmp 0x4538f0
mov dword [esp + 0xc], edi
lea eax, [edi + 1]
mov ecx, 0x20
mov ebx, ecx
add ecx, ecx
cmp eax, ebx
ja 0x4538be
push ebx
call sym._malloc
add esp, 4
mov edi, eax
mov byte [eax], 0
mov dword [esp + 8], eax
mov dword [esp], ebx
mov ebx, dword [esp + 0xc]
push ebx
push esi
push eax
call sym._memcpy
add esp, 0xc
mov dword [esp + 4], ebx
add edi, ebx
mov byte [edi], 0
mov edi, dword [esp + 4]
test edi, edi
je 0x453974
mov esi, dword [esp + 8]
push edi
push 0x2e
push esi
call sym._memchr
add esp, 0xc
test eax, eax
je 0x453915
sub eax, esi
cmp eax, edi
jne 0x453928
movsx eax, byte [esi]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_toupper]
add esp, 4
mov byte [esi], al
mov edi, dword [esp + 4]
mov eax, dword [esp]
test eax, eax
mov ebx, edi
je 0x453940
mov ecx, edi
not ecx
add ecx, eax
cmp ecx, 2
jae 0x453ac2
cmp eax, 2
mov ecx, 0x20
cmovae ecx, eax
lea edx, [edi + 3]
nop
mov esi, ecx
add ecx, ecx
cmp edx, esi
ja 0x453950
test eax, eax
je 0x453ac8
push esi
push dword [esp + 0xc]
call sym._realloc
add esp, 8
mov edi, eax
jmp 0x453aed
mov edi, dword [0x505d40]
test edi, edi
je 0x4539fa
mov ebx, dword [0x505d44]
test ebx, ebx
je 0x4539fa
mov eax, dword [esp]
mov ecx, eax
sub ecx, 1
jb 0x4539a0
cmp ecx, edi
jb 0x4539a0
mov esi, dword [esp + 8]
jmp 0x4539e6
cmp eax, 2
mov ecx, 0x20
cmovae ecx, eax
lea edx, [edi + 1]
nop
mov ebp, ecx
add ecx, ecx
cmp edx, ebp
ja 0x4539b0
test eax, eax
je 0x4539cd
push ebp
push dword [esp + 0xc]
call sym._realloc
add esp, 8
mov esi, eax
jmp 0x4539db
push ebp
call sym._malloc
add esp, 4
mov esi, eax
mov byte [eax], 0
mov dword [esp + 8], esi
mov dword [esp], ebp
mov ebp, dword [esp + 0x48]
push edi
push ebx
push esi
call sym._memcpy
add esp, 0xc
mov dword [esp + 4], edi
add esi, edi
mov byte [esi], 0
lea eax, [ebp + 0x20]
cmp dword [ebp + 0x3c], 0
je 0x453a5c
mov dword [esp + 0x14], 7
mov ecx, esp
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], 7
mov dword [esp + 0x20], 0x505d3c
mov dword [esp + 0x24], 7
mov dword [esp + 0x28], 0x505d30
mov dword [esp + 0x2c], 7
mov dword [esp + 0x30], 0x505d6c
lea ecx, [esp + 0x14]
push ecx
push 4
push 0
push eax
push 0
push str.Media_Player
call dbg.ffPrintFormat
add esp, 0x18
jmp 0x453a99
push 0
push eax
push 0
push str.Media_Player
call dbg.ffPrintLogoAndKey
add esp, 0x10
push 1
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
mov esi, eax
push eax
push dword [esp + 8]
push 1
push dword [esp + 0x14]
call sym._fwrite
add esp, 0x10
push esi
push 0xa
call sym._fputc
add esp, 8
cmp dword [esp], 0
mov dword [esp + 4], 0
je 0x453aba
mov dword [esp], 0
push dword [esp + 8]
call sym._free
add esp, 4
add esp, 0x34
pop esi
pop edi
pop ebx
pop ebp
ret
mov edi, dword [esp + 8]
jmp 0x453af4
push esi
call sym._malloc
add esp, 4
mov edi, eax
test ebx, ebx
je 0x453aea
lea eax, [ebx + 1]
push eax
push dword [esp + 0xc]
push edi
call sym._memcpy
add esp, 0xc
jmp 0x453aed
mov byte [edi], 0
mov dword [esp + 8], edi
mov dword [esp], esi
mov word [edi + ebx], 0x2820
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
lea edx, [eax + 2]
mov dword [esp + 4], edx
mov byte [ecx + eax + 2], 0
mov edi, dword [0x505d40]
test edi, edi
je 0x453bd1
mov edx, dword [0x505d44]
test edx, edx
je 0x453bd1
mov eax, dword [esp]
mov ebx, dword [esp + 4]
test eax, eax
je 0x453b3f
mov ecx, ebx
not ecx
add ecx, eax
cmp ecx, edi
jae 0x453b7b
mov dword [esp + 0xc], edx
cmp eax, 2
mov ecx, 0x20
cmovae ecx, eax
lea edx, [edi + ebx]
inc edx
nop word cs:[eax + eax]
mov esi, ecx
add ecx, ecx
cmp edx, esi
ja 0x453b60
test eax, eax
je 0x453b81
push esi
push dword [esp + 0xc]
call sym._realloc
add esp, 8
jmp 0x453bac
mov eax, dword [esp + 8]
jmp 0x453bb7
push esi
call sym._malloc
add esp, 4
test ebx, ebx
je 0x453ba9
lea ecx, [ebx + 1]
push ecx
push dword [esp + 0xc]
push eax
mov dword [esp + 0x1c], eax
call sym._memcpy
mov eax, dword [esp + 0x1c]
add esp, 0xc
jmp 0x453bac
mov byte [eax], 0
mov edx, dword [esp + 0xc]
mov dword [esp + 8], eax
mov dword [esp], esi
lea ecx, [eax + ebx]
push edi
push edx
push ecx
mov esi, eax
call sym._memcpy
add esp, 0xc
add ebx, edi
mov dword [esp + 4], ebx
mov byte [esi + ebx], 0
mov eax, dword [esp]
mov edi, dword [esp + 4]
test eax, eax
je 0x453be3
lea ecx, [edi + 1]
cmp eax, ecx
jne 0x453c1d
cmp eax, 2
mov ecx, 0x20
cmovae ecx, eax
lea edx, [edi + 2]
nop word cs:[eax + eax]
mov ebx, ecx
add ecx, ecx
cmp edx, ebx
ja 0x453c00
test eax, eax
je 0x453c23
push ebx
push dword [esp + 0xc]
call sym._realloc
add esp, 8
mov esi, eax
jmp 0x453c48
mov esi, dword [esp + 8]
jmp 0x453c52
push ebx
call sym._malloc
add esp, 4
mov esi, eax
test edi, edi
je 0x453c45
lea eax, [edi + 1]
push eax
push dword [esp + 0xc]
push esi
call sym._memcpy
add esp, 0xc
jmp 0x453c48
mov byte [esi], 0
mov dword [esp + 8], esi
mov dword [esp], ebx
lea ecx, [edi + 1]
mov dword [esp + 4], ecx
mov byte [esi + edi], 0x29
mov esi, dword [esp + 8]
add esi, dword [esp + 4]
jmp 0x4539f7