Function at 0x405940
Capabilities:
Contain obfuscated stackstrings
Read data from internet
Receive data
Send data
Send http request

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x41b798
mov eax, dword fs:[0]
push eax
sub esp, 0x500
mov eax, dword [0x4220c0]
xor eax, ebp
mov dword [ebp - 0x18], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x504], ecx
mov byte [ebp - 0x11], 0
lea ecx, [ebp - 0x34]
call fcn.004047e0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x50]
call fcn.004047e0
mov byte [ebp - 4], 1
lea eax, [ebp - 0x50]
push eax
lea ecx, [ebp - 0x34]
push ecx
lea edx, [ebp - 0x10]
push edx
lea eax, [ebp - 0x54]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004055c0
movzx edx, al
test edx, edx
je 0x405d55
mov dword [ebp - 0x58], 1
mov eax, dword [ebp - 0x54]
push eax
call fcn.004064a0
movzx ecx, al
test ecx, ecx
je 0x4059e4
mov ecx, dword [ebp - 0x504]
call fcn.00406360
movzx edx, al
test edx, edx
jne 0x4059e4
mov dword [ebp - 0x58], 0
mov eax, dword [ebp - 0x58]
push eax
mov ecx, dword [ebp - 0x10]
push ecx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x4e0], esp
lea edx, [ebp - 0x34]
push edx
call fcn.004047a0
mov dword [ebp - 0x508], eax
mov ecx, dword [ebp - 0x504]
call fcn.004054e0
mov eax, dword [ebp - 0x504]
movzx ecx, byte [eax + 0x1c]
test ecx, ecx
je 0x405d4a
mov dword [ebp - 0x60], 0
cmp dword [ebp - 0x54], 1
jne 0x405a4e
mov dword [ebp - 0x60], 0x800000
mov edx, dword [ebp - 0x60]
or edx, 0x1000
mov dword [ebp - 0x60], edx
mov eax, dword [ebp - 0x60]
or eax, 0x2000
mov dword [ebp - 0x60], eax
mov ecx, dword [ebp + 0x10]
push ecx
lea edx, [ebp - 0x4fc]
push edx
call fcn.004058c0
mov dword [ebp - 0x50c], eax
push 0
mov eax, dword [ebp - 0x60]
push eax
push 0
push 0
push str.HTTP_1.0
lea ecx, [ebp - 0x50]
call fcn.00404760
push eax
mov ecx, dword [ebp - 0x50c]
call fcn.00404760
push eax
mov ecx, dword [ebp - 0x504]
mov edx, dword [ecx + 0x24]
push edx
call dword [sym.imp.WININET.dll_HttpOpenRequestA]
mov dword [ebp - 0x5c], eax
lea ecx, [ebp - 0x4fc]
call fcn.00404830
cmp dword [ebp - 0x5c], 0
je 0x405d40
cmp dword [ebp - 0x54], 1
jne 0x405b00
mov dword [ebp - 0x48c], 4
lea eax, [ebp - 0x48c]
push eax
lea ecx, [ebp - 0x490]
push ecx
push 0x1f
mov edx, dword [ebp - 0x5c]
push edx
call dword [sym.imp.WININET.dll_InternetQueryOptionA]
mov eax, dword [ebp - 0x490]
or eax, 0x100
mov dword [ebp - 0x490], eax
push 4
lea ecx, [ebp - 0x490]
push ecx
push 0x1f
mov edx, dword [ebp - 0x5c]
push edx
call dword [sym.imp.WININET.dll_InternetSetOptionA]
cmp dword [ebp + 0x10], 1
jne 0x405cad
mov byte [ebp - 0x4c5], 0x6f
mov byte [ebp - 0x4c2], 0x78
mov byte [ebp - 0x4ce], 0x61
mov byte [ebp - 0x4d8], 0x65
mov byte [ebp - 0x4d4], 0x54
mov byte [ebp - 0x4db], 0x6f
mov byte [ebp - 0x4b9], 0x6d
mov byte [ebp - 0x4b4], 0x65
mov byte [ebp - 0x4b2], 0x63
mov byte [ebp - 0x4d3], 0x79
mov byte [ebp - 0x4c4], 0x6e
mov byte [ebp - 0x4bc], 0x66
mov byte [ebp - 0x4bf], 0x77
mov byte [ebp - 0x4bd], 0x2d
mov byte [ebp - 0x4b3], 0x6e
mov byte [ebp - 0x4af], 0x65
mov byte [ebp - 0x4d1], 0x65
mov byte [ebp - 0x4cb], 0x6c
mov byte [ebp - 0x4d9], 0x74
mov byte [ebp - 0x4b1], 0x6f
mov byte [ebp - 0x4b8], 0x2d
mov byte [ebp - 0x4cf], 0x20
mov byte [ebp - 0x4b0], 0x64
mov byte [ebp - 0x4d6], 0x74
mov byte [ebp - 0x4d7], 0x6e
mov byte [ebp - 0x4c8], 0x61
mov byte [ebp - 0x4be], 0x77
mov byte [ebp - 0x4bb], 0x6f
mov byte [ebp - 0x4c0], 0x77
mov byte [ebp - 0x4da], 0x6e
mov byte [ebp - 0x4c7], 0x74
mov byte [ebp - 0x4c9], 0x63
mov byte [ebp - 0x4ca], 0x69
mov byte [ebp - 0x4b5], 0x6c
mov byte [ebp - 0x4c1], 0x2d
mov byte [ebp - 0x4ad], 0
mov byte [ebp - 0x4b6], 0x72
mov byte [ebp - 0x4d5], 0x2d
mov byte [ebp - 0x4ae], 0x64
mov byte [ebp - 0x4dc], 0x43
mov byte [ebp - 0x4cc], 0x70
mov byte [ebp - 0x4ba], 0x72
mov byte [ebp - 0x4d0], 0x3a
mov byte [ebp - 0x4c3], 0x2f
mov byte [ebp - 0x4d2], 0x70
mov byte [ebp - 0x4cd], 0x70
mov byte [ebp - 0x4c6], 0x69
mov byte [ebp - 0x4b7], 0x75
lea eax, [ebp - 0x4dc]
push eax
lea ecx, [ebp - 0x4ac]
call fcn.004050f0
mov ecx, dword [ebp + 0x14]
call fcn.004048b0
push eax
mov ecx, dword [ebp + 0x14]
call fcn.00404760
push eax
lea ecx, [ebp - 0x4ac]
call fcn.004048b0
push eax
lea ecx, [ebp - 0x4ac]
call fcn.00404760
push eax
mov ecx, dword [ebp - 0x5c]
push ecx
call dword [sym.imp.WININET.dll_HttpSendRequestA]
lea ecx, [ebp - 0x4ac]
call fcn.00404830
jmp 0x405cc5
cmp dword [ebp + 0x10], 0
jne 0x405cc5
push 0
push 0
push 0
push 0
mov edx, dword [ebp - 0x5c]
push edx
call dword [sym.imp.WININET.dll_HttpSendRequestA]
lea ecx, [ebp - 0x7c]
call fcn.004047e0
mov byte [ebp - 4], 2
mov dword [ebp - 0x488], 0
lea eax, [ebp - 0x488]
push eax
push 0x400
lea ecx, [ebp - 0x484]
push ecx
mov edx, dword [ebp - 0x5c]
push edx
call dword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x405d24
cmp dword [ebp - 0x488], 0
je 0x405d24
mov eax, dword [ebp - 0x488]
mov byte [ebp + eax - 0x484], 0
lea ecx, [ebp - 0x484]
push ecx
lea ecx, [ebp - 0x7c]
call fcn.00406a80
jmp 0x405cdb
lea edx, [ebp - 0x7c]
push edx
mov ecx, dword [ebp + 0xc]
call fcn.00403720
mov byte [ebp - 0x11], 1
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x7c]
call fcn.00404830
mov eax, dword [ebp - 0x5c]
push eax
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov ecx, dword [ebp - 0x504]
call fcn.00405570
mov cl, byte [ebp - 0x11]
mov byte [ebp - 0x4fd], cl
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x50]
call fcn.00404830
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x34]
call fcn.00404830
mov al, byte [ebp - 0x4fd]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x18]
xor ecx, ebp
call fcn.0040bfa4
mov esp, ebp
pop ebp
ret 0x10