Function at 0x415550
Capabilities:
Initialize winsock library
Resolve dns

Disassembly:
push 0xffffffffffffffff
push 0x475b31
mov eax, dword fs:[0]
push eax
sub esp, 0x4e4
mov eax, dword [0x4a7534]
xor eax, esp
mov dword [esp + 0x4e0], eax
push esi
push edi
mov eax, dword [0x4a7534]
xor eax, esp
push eax
lea eax, [esp + 0x4f0]
mov dword fs:[0], eax
mov esi, dword [0x4ac768]
lea eax, [esp + 0x154]
push eax
push 0x202
call sub.WS2_32.dll_WSAStartup
push 0xffffffffffffffff
call sub.IMM32.dll_ImmDisableIME
call fcn.00414c40
test al, al
jne 0x4155f6
push 0x43
call dword [sym.imp.USER32.dll_GetSystemMetrics]
test eax, eax
jne 0x4155f6
lea ecx, [esp + 0x14]
call fcn.0046bf10
lea ecx, [esp + 0x14]
push ecx
mov dword [esp + 0x4fc], 0
call fcn.00415400
add esp, 4
test al, al
jne 0x4155fd
push 0
lea ecx, [esp + 0x18]
call fcn.0046d100
lea ecx, [esp + 0x14]
call fcn.0046beb0
xor al, al
jmp 0x415907
call fcn.0041fc30
mov esi, 0x4ade90
call fcn.00402320
lea edx, [esp + 0x13]
push edx
lea eax, [esp + 0x18]
push eax
mov byte [esp + 0x1b], 1
call fcn.00465a70
mov ecx, eax
call fcn.00465db0
test al, al
jne 0x415634
lea ecx, [esp + 0x14]
call fcn.0046c290
cmp byte [esp + 0x13], 0
jne 0x415668
test byte [0x4ac7c0], 4
jne 0x415658
push 0
push 0x482c68
push 0x485690
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
lea ecx, [esp + 0x14]
call fcn.0046beb0
xor al, al
jmp 0x415907
call fcn.00414d90
test al, al
je 0x4155ed
mov ecx, 0x12
mov esi, str.5E7CCEC5_2A10_4717_A11E_97E922791046
lea edi, [esp + 0x2e4]
rep movsd dword es:[edi], dword [esi]
push 0x1be
lea ecx, [esp + 0x332]
push 0
push ecx
movsw word es:[edi], word [esi]
call fcn.004498f0
lea edx, [esp + 0x2f0]
add esp, 0xc
push edx
call fcn.0041e000
add esp, 4
cmp dword [0x4ac7c0], 4
sete cl
test cl, cl
je 0x4156e7
cmp byte [eax + 4], 0
je 0x4156fe
push 0x48570c
mov esi, 0x4ade90
call fcn.004024c0
add esp, 4
lea ecx, [esp + 0x14]
call fcn.0046beb0
xor al, al
jmp 0x415907
cmp byte [eax + 4], 0
je 0x4156fe
push 0
push 0x485734
push 0x48570c
jmp 0x415650
call fcn.0041e670
mov edi, 6
cmp dword [0x4ac7c0], edi
je 0x415745
mov eax, 0x4af67c
mov esi, 0x4ae690
call fcn.004284f0
push 0
mov esi, eax
call fcn.004476fc
sub eax, esi
add esp, 4
cmp eax, 0x15180
jl 0x4157af
push 1
push 0x4aef10
push 0x4ae690
call fcn.00429670
call fcn.00415270
mov ecx, dword [0x4ac7c0]
cmp ecx, 4
jne 0x41576b
call fcn.004153c0
test al, al
jne 0x4155ed
mov ecx, dword [0x4ac7c0]
cmp ecx, 4
sete al
test al, al
jne 0x41583b
cmp ecx, edi
je 0x41583b
push 5
call fcn.00415330
add esp, 4
cmp dword [0x4ac7c0], 2
je 0x41583b
call fcn.004153c0
test al, al
je 0x4157ee
push 0
push 0x48384c
push 0x485748
jmp 0x415650
mov eax, 0x4aef10
mov esi, 0x4ae690
call fcn.004284f0
cmp eax, 4
ja 0x4157cc
add eax, 1
push eax
jmp 0x415736
cmp dword [0x4ac7c0], 4
sete al
test al, al
je 0x415745
lea ecx, [esp + 0x14]
call fcn.0046beb0
xor al, al
jmp 0x415907
push 0x110
lea eax, [esp + 0x44]
push 0
push eax
mov dword [esp + 0x48], 0x114
call fcn.004498f0
add esp, 0xc
call fcn.0041a660
test al, al
jne 0x41583b
lea ecx, [esp + 0x3c]
push ecx
call fcn.00467e60
add esp, 4
test al, al
je 0x41583b
cmp dword [esp + 0x40], edi
jae 0x41583b
push 0
push 0x48384c
push 0x485768
jmp 0x415650
lea ecx, [esp + 0x1c]
call fcn.00468ff0
push str.YYID
lea ecx, [esp + 0x20]
call fcn.00469520
lea esi, [esp + 0x2c]
call fcn.0041de50
mov ecx, esi
mov byte [esp + 0x4f8], 5
call fcn.00468ae0
push str._path___expiresThu__07_Mar_13_09:14:07_GMT__domain.sogou.com
push eax
lea ecx, [esp + 0x24]
call fcn.00469230
mov ecx, eax
call fcn.00469230
lea ecx, [esp + 0x1c]
call fcn.00468ae0
mov esi, eax
mov edi, str.http:__sogou.com
call fcn.0041cce0
push str.YYID
lea ecx, [esp + 0x20]
call fcn.00469520
lea ecx, [esp + 0x2c]
call fcn.00468ae0
push str._path___expiresThu__07_Mar_13_09:14:07_GMT__domain.sohu.com
push eax
lea ecx, [esp + 0x24]
call fcn.00469230
mov ecx, eax
call fcn.00469230
lea ecx, [esp + 0x1c]
call fcn.00468ae0
mov esi, eax
mov edi, str.http:__sohu.com
call fcn.0041cce0
cmp dword [0x4ac7c0], 4
jne 0x4158ea
push str.www.sogou.com
call sub.WS2_32.dll_gethostbyname
lea ecx, [esp + 0x2c]
call fcn.00468c30
lea ecx, [esp + 0x1c]
call fcn.00468c30
lea ecx, [esp + 0x14]
call fcn.0046beb0
mov al, 1
mov ecx, dword [esp + 0x4f0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [esp + 0x4e0]
xor ecx, esp
call fcn.0044610a
add esp, 0x4f0
ret