Function at 0x404880
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x461238
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x610
push ebx
push esi
push edi
mov eax, dword [0x46f42c]
xor esi, esi
mov dword [ebp - 4], esi
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x14], eax
mov al, byte [0x47a894]
mov ecx, 0xff
mov byte [ebp - 0x61c], al
xor eax, eax
lea edi, [ebp - 0x61b]
mov ebx, dword [ebp + 0x10]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
cmp ebx, esi
mov byte [ebp - 4], 2
stosb byte es:[edi], al
je 0x404908
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea edi, [eax + eax + 2]
mov eax, edi
add eax, 3
and al, 0xfc
call fcn.00454ff0
mov esi, esp
push 0
push 0
push edi
push esi
push 0xffffffffffffffff
push ebx
push 0
push 0
mov byte [esi], 0
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenA]
lea ecx, [ebp - 0x61c]
push 0x400
push ecx
push esi
call ebx
push eax
push esi
call fcn.00404650
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0x21a]
mov word [ebp - 0x21c], 0
rep stosd dword es:[edi], eax
add esp, 0x10
lea edx, [ebp - 0x21c]
stosw word es:[edi], ax
push 0x104
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [ebp - 0x14]
lea ecx, [ebp - 0x21c]
push eax
push ecx
call fcn.00402170
lea edx, [ebp - 0x61c]
add esp, 8
test edx, edx
jne 0x404976
xor edi, edi
jmp 0x4049ab
lea eax, [ebp - 0x61c]
push eax
call ebx
mov esi, eax
inc esi
lea eax, [esi + esi]
add eax, 3
and al, 0xfc
call fcn.00454ff0
mov edi, esp
push esi
push edi
lea ecx, [ebp - 0x61c]
push 0xffffffffffffffff
push ecx
push 0
push 0
mov word [edi], 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp + 8]
push edi
push edx
push eax
push ecx
call fcn.004062c0
push eax
lea edx, [ebp - 0x10]
push str.http:__boxupdate.360safe.com_safebox_safebox.html_mid_sUIID_dver_snum_dClientInfo_s
push edx
call fcn.004076f0
push 0x800
call fcn.00455403
mov ebx, eax
add esp, 0x20
test ebx, ebx
je 0x404a2e
mov ecx, 0x200
xor eax, eax
mov edi, ebx
mov esi, 0x400
rep stosd dword es:[edi], eax
mov edx, dword [ebp - 0x10]
mov eax, ebx
mov cx, word [edx]
test cx, cx
je 0x404a0a
mov word [eax], cx
add eax, 2
add edx, 2
dec esi
jne 0x4049f4
jmp 0x404a0e
test esi, esi
jne 0x404a11
sub eax, 2
mov word [eax], 0
lea eax, [ebp + 0xc]
push eax
push 0
push ebx
push 0x4047a0
push 0
push 0
call fcn.004555fa
add esp, 0x18
mov eax, dword [ebp - 0x14]
mov edx, dword [0x46f430]
mov edi, dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x404a5d
add eax, 0xfffffff4
push eax
call edi
test eax, eax
jg 0x404a5d
mov edx, dword [ebp - 0x14]
add edx, 0xfffffff4
push edx
call fcn.004535f0
add esp, 4
mov eax, dword [ebp - 0x10]
mov edx, dword [0x46f430]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x404a86
add eax, 0xfffffff4
push eax
call edi
test eax, eax
jg 0x404a86
mov edx, dword [ebp - 0x10]
add edx, 0xfffffff4
push edx
call fcn.004535f0
add esp, 4
mov eax, dword [ebp + 0x10]
mov edx, dword [0x46f430]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x404aa9
lea esi, [eax - 0xc]
push esi
call edi
test eax, eax
jg 0x404aa9
push esi
call fcn.004535f0
add esp, 4
mov ecx, dword [ebp - 0xc]
lea esp, [ebp - 0x628]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret