Function at 0x406410
Capabilities:
Get common file path
Initialize winsock library

Disassembly:
push 0xffffffffffffffff
push 0x4b0075
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x3c8
push ebx
push ebp
push esi
push edi
mov ecx, 5
mov esi, str.www.360.cn
lea edi, [esp + 0x24]
lea eax, [esp + 0x24]
rep movsd dword es:[edi], dword [esi]
push eax
movsw word es:[edi], word [esi]
call dword [sym.imp.MSVCRT.dll_wcslen]
lea ecx, [esp + 0x28]
push eax
push ecx
call fcn.0043af30
add esp, 0xc
lea edx, [esp + 0x248]
push edx
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
mov esi, eax
neg esi
sbb esi, esi
xor ebp, ebp
push ebp
inc esi
call dword [sym.imp.ole32.dll_CoInitialize]
push ebp
push ebp
push ebp
push ebp
call dword [sym.imp.USER32.dll_DefWindowProcW]
lea eax, [esp + 0x1c]
push eax
mov dword [esp + 0x20], 8
mov dword [esp + 0x24], 0x404
call dword [sym.imp.COMCTL32.dll_InitCommonControlsEx]
mov dword [0x4d7540], 0x4c85f8
mov dword [0x4d7448], 0x4d74d0
mov ecx, dword [esp + 0x3e8]
mov dword [0x4d74d0], 0x84
push ecx
push ebp
push 0x4d74d0
mov dword [0x4d7534], 0x300
call fcn.004068f0
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push 0xc
mov dword [0x4d7554], eax
mov dword [0x4d7558], ebp
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x14], eax
cmp eax, ebp
mov dword [esp + 0x3e0], ebp
je 0x406510
mov ecx, eax
call fcn.004068e0
jmp 0x406512
xor eax, eax
cmp eax, ebp
mov dword [esp + 0x3e0], 0xffffffff
mov dword [0x4d7558], eax
je 0x40652c
mov dword [0x4d755c], ebp
mov ecx, 0x4d7450
call fcn.004016f0
call fcn.004068d0
test eax, eax
je 0x4065dc
mov ecx, 0x4d7450
call fcn.00402b10
test eax, eax
jne 0x4067b4
mov ecx, 0x4d7450
call fcn.00401320
mov ecx, eax
call fcn.00436dc0
mov edx, dword [0x4c8080]
mov esi, dword [eax + 4]
add eax, 4
mov dword [esp + 0x10], edx
push 0xb0
lea ecx, [esp + 0x14]
mov dword [esp + 0x3e4], 1
call fcn.004056a0
push 0x40
push esi
mov eax, dword [esp + 0x18]
push eax
push ebp
call dword [sym.imp.USER32.dll_MessageBoxW]
mov edx, dword [0x4c8084]
mov eax, dword [esp + 0x10]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x4067b4
add eax, 0xfffffff4
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x4067b4
mov edx, dword [esp + 0x10]
add edx, 0xfffffff4
push edx
call fcn.0043b3d0
add esp, 4
xor eax, eax
jmp 0x406892
mov ecx, 0x82
xor eax, eax
lea edi, [esp + 0x3e]
mov word [esp + 0x3c], bp
rep stosd dword es:[edi], eax
lea eax, [esp + 0x3c]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
push ebp
lea ecx, [esp + 0x40]
push 0x6400000
push ecx
call fcn.00407b50
add esp, 0xc
test eax, eax
jne 0x4067bb
push 0x28
mov ecx, 0x4d7450
call fcn.004033e0
lea edx, [esp + 0x3c]
lea eax, [esp + 0x10]
push edx
push eax
call fcn.00407bb0
add esp, 8
lea ecx, [esp + 0x14]
push 1
mov ebx, 2
push ecx
lea ecx, [esp + 0x18]
mov dword [esp + 0x3e8], ebx
call fcn.00406b20
mov esi, eax
mov eax, dword [esi]
mov ecx, dword [esp + 0x10]
cmp ecx, eax
mov byte [esp + 0x3e0], 3
je 0x4066a7
cmp dword [ecx - 0xc], ebp
jge 0x406679
mov edx, dword [0x4c8084]
add ecx, 0xfffffff4
cmp ecx, edx
jne 0x40667e
cmp dword [eax - 0xc], ebp
jge 0x40668e
mov edx, dword [eax - 8]
push eax
push edx
lea ecx, [esp + 0x18]
call fcn.00405ad0
jmp 0x4066a7
lea ecx, [esp + 0x10]
call fcn.00405e10
mov esi, dword [esi]
mov dword [esp + 0x10], esi
add esi, 0xfffffff4
push esi
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov eax, dword [esp + 0x14]
mov edx, dword [0x4c8084]
mov edi, dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
mov byte [esp + 0x3e0], bl
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x4066df
add eax, 0xfffffff4
push eax
call edi
test eax, eax
jg 0x4066df
mov edx, dword [esp + 0x14]
lea eax, [edx - 0xc]
push eax
call fcn.0043b3d0
add esp, 4
mov ecx, 0x4d7450
call fcn.00402b10
test eax, eax
jne 0x406789
mov eax, dword [0x4c8080]
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x10]
push 0x64
push ecx
lea edx, [esp + 0x20]
mov bl, 4
push 0xca
push edx
mov byte [esp + 0x3f0], bl
call fcn.00406c90
mov eax, dword [0x4c8080]
mov esi, dword [esp + 0x28]
add esp, 0x10
mov dword [esp + 0x14], eax
push 0x83
lea ecx, [esp + 0x18]
mov byte [esp + 0x3e4], 5
call fcn.004056a0
push 0x40
mov ecx, dword [esp + 0x18]
push ecx
push esi
push ebp
call dword [sym.imp.USER32.dll_MessageBoxW]
lea ecx, [esp + 0x14]
mov byte [esp + 0x3e0], bl
call fcn.00405a40
mov eax, dword [esp + 0x18]
mov ecx, dword [0x4c8084]
lea edx, [eax - 0xc]
cmp edx, ecx
je 0x406789
add eax, 0xfffffff4
push eax
call edi
test eax, eax
jg 0x406789
mov eax, dword [esp + 0x18]
add eax, 0xfffffff4
push eax
call fcn.0043b3d0
add esp, 4
mov eax, dword [esp + 0x10]
mov edx, dword [0x4c8084]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x4067b4
add eax, 0xfffffff4
push eax
call edi
test eax, eax
jg 0x4067b4
mov edx, dword [esp + 0x10]
add edx, 0xfffffff4
push edx
call fcn.0043b3d0
add esp, 4
xor eax, eax
jmp 0x406892
push ecx
mov ecx, 0x4d7450
mov eax, esp
mov dword [esp + 0x20], esp
push eax
call fcn.00403ff0
mov ecx, 0x4d7450
call fcn.004037a0
push 0x32
mov ecx, 0x4d7450
call fcn.004033e0
mov ecx, 0x4d7450
call fcn.00401350
test eax, eax
jne 0x406808
mov ecx, 0x4d7450
call fcn.00401960
call fcn.004068b0
or eax, 0xffffffff
jmp 0x406892
mov ecx, dword [esp + 0x3f4]
mov edx, dword [esp + 0x3f0]
push ecx
push edx
mov ecx, 0x4d7450
call fcn.00402d50
mov ebx, eax
call fcn.004068b0
mov ecx, 0x4d7450
call fcn.00404360
test eax, eax
jne 0x406843
push 0x40
mov ecx, 0x4d7450
call fcn.004033e0
mov ecx, 0x4d7450
call fcn.00401960
mov ecx, 0x4d74d0
call fcn.00406a50
mov edi, dword [0x4d7558]
cmp edi, ebp
je 0x406871
mov ecx, edi
call fcn.00406ae0
push edi
call fcn.0043b3d0
add esp, 4
push 0x4d74d0
call fcn.00406980
cmp esi, ebp
je 0x406885
call dword [sym.imp.WS2_32.dll_WSACleanup]
call fcn.00419aa0
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, ebx
mov ecx, dword [esp + 0x3d8]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x3d4
ret 0x10