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

Disassembly:
push 0xffffffffffffffff
push 0x4a9557
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x3c8
push ebp
push esi
push edi
mov ecx, 5
mov esi, str.www.360.cn
lea edi, [esp + 0x20]
rep movsd dword es:[edi], dword [esi]
lea eax, [esp + 0x20]
push eax
movsw word es:[edi], word [esi]
call dword [sym.imp.MSVCRT.dll_wcslen]
lea ecx, [esp + 0x24]
push eax
push ecx
call fcn.004399f0
add esp, 0xc
lea edx, [esp + 0x244]
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 + 0x18]
push eax
mov dword [esp + 0x1c], 8
mov dword [esp + 0x20], 0x404
call dword [sym.imp.COMCTL32.dll_InitCommonControlsEx]
push ebp
mov ecx, dword [esp + 0x3e8]
push ecx
push ebp
mov ecx, 0x4cf760
call fcn.00405670
cmp eax, ebp
jl 0x405333
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push 0xc
mov dword [0x4cf7e4], eax
mov dword [0x4cf7e8], ebp
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
cmp eax, ebp
je 0x405322
mov dword [eax], ebp
mov dword [eax + 4], ebp
mov dword [eax + 8], ebp
jmp 0x405324
xor eax, eax
cmp eax, ebp
mov dword [0x4cf7e8], eax
je 0x405333
mov dword [0x4cf7ec], ebp
mov ecx, 0x4cf6f0
call fcn.004018d0
call fcn.00405660
test eax, eax
je 0x4053b4
mov ecx, 0x4cf6f0
call fcn.00402c80
test eax, eax
jne 0x4053ad
mov ecx, 0x4cf6f0
call fcn.004012f0
mov ecx, eax
call fcn.00435b00
mov edx, dword [0x4c0080]
mov esi, dword [eax + 4]
add eax, 4
mov dword [esp + 0x18], edx
push 0xb0
lea ecx, [esp + 0x1c]
mov dword [esp + 0x3e0], ebp
call fcn.00404350
push 0x40
push esi
mov eax, dword [esp + 0x20]
push eax
push ebp
call dword [sym.imp.USER32.dll_MessageBoxW]
lea ecx, [esp + 0x18]
mov dword [esp + 0x3dc], 0xffffffff
call fcn.004046f0
xor eax, eax
jmp 0x40561c
mov ecx, 0x82
xor eax, eax
lea edi, [esp + 0x3a]
mov word [esp + 0x38], bp
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x38]
push ecx
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
push ebp
lea edx, [esp + 0x3c]
push 0x6400000
push edx
call fcn.00406d20
add esp, 0xc
test eax, eax
jne 0x405593
push 0x28
mov ecx, 0x4cf6f0
call fcn.00403550
lea eax, [esp + 0x38]
lea ecx, [esp + 0xc]
push eax
push ecx
call fcn.00406d80
add esp, 8
lea edx, [esp + 0x10]
push 1
push edx
lea ecx, [esp + 0x14]
mov dword [esp + 0x3e4], 1
call fcn.004058f0
mov esi, eax
mov eax, dword [esi]
mov ecx, dword [esp + 0xc]
cmp ecx, eax
mov byte [esp + 0x3dc], 2
je 0x40547e
cmp dword [ecx - 0xc], ebp
jge 0x405450
mov edx, dword [0x4c0084]
add ecx, 0xfffffff4
cmp ecx, edx
jne 0x405455
cmp dword [eax - 0xc], ebp
jge 0x405465
push eax
mov eax, dword [eax - 8]
push eax
lea ecx, [esp + 0x14]
call fcn.00404780
jmp 0x40547e
lea ecx, [esp + 0xc]
call fcn.00404ac0
mov esi, dword [esi]
mov dword [esp + 0xc], esi
add esi, 0xfffffff4
push esi
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov eax, dword [esp + 0x10]
mov edx, dword [0x4c0084]
mov edi, dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
mov byte [esp + 0x3dc], 1
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x4054b7
add eax, 0xfffffff4
push eax
call edi
test eax, eax
jg 0x4054b7
mov edx, dword [esp + 0x10]
lea eax, [edx - 0xc]
push eax
call fcn.0049c000
add esp, 4
mov ecx, 0x4cf6f0
call fcn.00402c80
test eax, eax
jne 0x405561
mov eax, dword [0x4c0080]
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0xc]
push 0x64
push ecx
lea edx, [esp + 0x1c]
push 0xca
push edx
mov byte [esp + 0x3ec], 3
call fcn.00405a60
mov eax, dword [0x4c0080]
mov esi, dword [esp + 0x24]
add esp, 0x10
mov dword [esp + 0x10], eax
push 0x83
lea ecx, [esp + 0x14]
mov byte [esp + 0x3e0], 4
call fcn.00404350
push 0x40
mov ecx, dword [esp + 0x14]
push ecx
push esi
push ebp
call dword [sym.imp.USER32.dll_MessageBoxW]
lea ecx, [esp + 0x10]
mov byte [esp + 0x3dc], 3
call fcn.004046f0
mov eax, dword [esp + 0x14]
mov ecx, dword [0x4c0084]
lea edx, [eax - 0xc]
cmp edx, ecx
je 0x405561
add eax, 0xfffffff4
push eax
call edi
test eax, eax
jg 0x405561
mov eax, dword [esp + 0x14]
add eax, 0xfffffff4
push eax
call fcn.0049c000
add esp, 4
mov eax, dword [esp + 0xc]
mov edx, dword [0x4c0084]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x40558c
add eax, 0xfffffff4
push eax
call edi
test eax, eax
jg 0x40558c
mov edx, dword [esp + 0xc]
add edx, 0xfffffff4
push edx
call fcn.0049c000
add esp, 4
xor eax, eax
jmp 0x40561c
mov ecx, 0x4cf6f0
call fcn.00401320
test eax, eax
jne 0x4055b5
mov ecx, 0x4cf6f0
call fcn.00401b40
call fcn.00405640
or eax, 0xffffffff
jmp 0x40561c
mov eax, dword [esp + 0x3f0]
mov ecx, dword [esp + 0x3ec]
push eax
push ecx
mov ecx, 0x4cf6f0
call fcn.00402ec0
mov edi, eax
call fcn.00405640
mov ecx, 0x4cf6f0
call fcn.00401b40
mov ecx, 0x4cf760
call fcn.00405810
mov ecx, dword [0x4cf7e8]
cmp ecx, ebp
je 0x4055fb
push 1
call fcn.004058a0
push 0x4cf760
call fcn.00405740
cmp esi, ebp
je 0x40560f
call dword [sym.imp.WS2_32.dll_WSACleanup]
call fcn.00418c70
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, edi
mov ecx, dword [esp + 0x3d4]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
add esp, 0x3d4
ret 0x10