Function at 0x4043f1
Capabilities:
Reference http user-agent string

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
mov dword [ebp - 4], 0
mov dword [ebp - 8], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x18], 0
jmp 0x404436
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
pushal
mov eax, 1
mov eax, 2
mov eax, 4
mov eax, 2
mov eax, 5
mov eax, 4
mov eax, 2
mov eax, 5
mov eax, 6
popal
fninit
mov dword [ebp - 0x1c], esp
push 0
mov eax, 0
call fcn.0044ab3b
cmp dword [ebp - 0x1c], esp
je 0x4044a1
push 0x52
push 0x40717af
push 6
call fcn.0044ab35
add esp, 0xc
cmp dword [0x7e2844], 0
je 0x4044c2
cmp dword [0x7e2848], 0
jne 0x4044c2
mov eax, 1
jmp 0x4044c7
mov eax, 0
test eax, eax
je 0x404515
push 0x80000301
push 0
push dword [0x7e2844]
push 1
mov ebx, 0x44c4d0
call fcn.0044ab2f
add esp, 0x10
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.00404cf9
mov dword [ebp - 0x20], eax
mov ebx, dword [ebp - 0x1c]
test ebx, ebx
je 0x40450d
push ebx
call fcn.0044ab29
add esp, 4
mov eax, dword [ebp - 0x20]
jmp 0x404ca3
push 0x80000301
push 0
push dword [0x7e284c]
push 0x80000301
push 0
push 1
push 2
mov ebx, 0x44af60
call fcn.0044ab2f
add esp, 0x1c
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 1
je 0x40455e
cmp dword [0x7e284c], 0xffffffff
je 0x40455e
xor eax, eax
jmp 0x404563
mov eax, 1
test eax, eax
je 0x4045b1
call fcn.00404250
mov dword [ebp - 0x1c], eax
push dword [ebp - 0x1c]
push dword [ebp - 4]
mov ecx, 2
call fcn.00401352
add esp, 8
mov dword [ebp - 0x20], eax
mov ebx, dword [ebp - 0x1c]
test ebx, ebx
je 0x404599
push ebx
call fcn.0044ab29
add esp, 4
mov eax, dword [ebp - 0x20]
push eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x4045ad
push ebx
call fcn.0044ab29
add esp, 4
pop eax
mov dword [ebp - 4], eax
push 0x80000301
push 0
push dword [0x7e284c]
push 0x80000301
push 0
push 2
push 2
mov ebx, 0x44af60
call fcn.0044ab2f
add esp, 0x1c
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 2
je 0x4045fa
cmp dword [0x7e284c], 0xffffffff
je 0x4045fa
xor eax, eax
jmp 0x4045ff
mov eax, 1
test eax, eax
je 0x40464d
call fcn.00404e8e
mov dword [ebp - 0x1c], eax
push dword [ebp - 0x1c]
push dword [ebp - 4]
mov ecx, 2
call fcn.00401352
add esp, 8
mov dword [ebp - 0x20], eax
mov ebx, dword [ebp - 0x1c]
test ebx, ebx
je 0x404635
push ebx
call fcn.0044ab29
add esp, 4
mov eax, dword [ebp - 0x20]
push eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x404649
push ebx
call fcn.0044ab29
add esp, 4
pop eax
mov dword [ebp - 4], eax
push 0x80000301
push 0
push dword [0x7e284c]
push 0x80000301
push 0
push 4
push 2
mov ebx, 0x44af60
call fcn.0044ab2f
add esp, 0x1c
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 4
je 0x404696
cmp dword [0x7e284c], 0xffffffff
je 0x404696
xor eax, eax
jmp 0x40469b
mov eax, 1
test eax, eax
je 0x4046e9
call fcn.0040431f
mov dword [ebp - 0x1c], eax
push dword [ebp - 0x1c]
push dword [ebp - 4]
mov ecx, 2
call fcn.00401352
add esp, 8
mov dword [ebp - 0x20], eax
mov ebx, dword [ebp - 0x1c]
test ebx, ebx
je 0x4046d1
push ebx
call fcn.0044ab29
add esp, 4
mov eax, dword [ebp - 0x20]
push eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x4046e5
push ebx
call fcn.0044ab29
add esp, 4
pop eax
mov dword [ebp - 4], eax
push 0x80000301
push 0
push dword [0x7e284c]
push 0x80000301
push 0
push 8
push 2
mov ebx, 0x44af60
call fcn.0044ab2f
add esp, 0x1c
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 8
je 0x404732
cmp dword [0x7e284c], 0xffffffff
je 0x404732
xor eax, eax
jmp 0x404737
mov eax, 1
test eax, eax
je 0x404785
call fcn.00403f34
mov dword [ebp - 0x1c], eax
push dword [ebp - 0x1c]
push dword [ebp - 4]
mov ecx, 2
call fcn.00401352
add esp, 8
mov dword [ebp - 0x20], eax
mov ebx, dword [ebp - 0x1c]
test ebx, ebx
je 0x40476d
push ebx
call fcn.0044ab29
add esp, 4
mov eax, dword [ebp - 0x20]
push eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x404781
push ebx
call fcn.0044ab29
add esp, 4
pop eax
mov dword [ebp - 4], eax
push 0x80000301
push 0
push dword [0x7e284c]
push 0x80000301
push 0
push 0x10
push 2
mov ebx, 0x44af60
call fcn.0044ab2f
add esp, 0x1c
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0x10
je 0x4047ce
cmp dword [0x7e284c], 0xffffffff
je 0x4047ce
xor eax, eax
jmp 0x4047d3
mov eax, 1
test eax, eax
je 0x40483b
call fcn.00405111
push 0x80000301
push 0
push eax
push 1
mov ebx, 0x44d140
call fcn.0044ab2f
add esp, 0x10
mov dword [ebp - 0x20], eax
push dword [ebp - 0x20]
push dword [ebp - 4]
mov ecx, 2
call fcn.00401352
add esp, 8
mov dword [ebp - 0x24], eax
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x404823
push ebx
call fcn.0044ab29
add esp, 4
mov eax, dword [ebp - 0x24]
push eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x404837
push ebx
call fcn.0044ab29
add esp, 4
pop eax
mov dword [ebp - 4], eax
push 0x80000301
push 0
push dword [0x7e284c]
push 0x80000301
push 0
push 0x20
push 2
mov ebx, 0x44af60
call fcn.0044ab2f
add esp, 0x1c
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0x20
je 0x404884
cmp dword [0x7e284c], 0xffffffff
je 0x404884
xor eax, eax
jmp 0x404889
mov eax, 1
test eax, eax
je 0x4048d7
call fcn.00405188
mov dword [ebp - 0x1c], eax
push dword [ebp - 0x1c]
push dword [ebp - 4]
mov ecx, 2
call fcn.00401352
add esp, 8
mov dword [ebp - 0x20], eax
mov ebx, dword [ebp - 0x1c]
test ebx, ebx
je 0x4048bf
push ebx
call fcn.0044ab29
add esp, 4
mov eax, dword [ebp - 0x20]
push eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x4048d3
push ebx
call fcn.0044ab29
add esp, 4
pop eax
mov dword [ebp - 4], eax
push 0x80000301
push 0
push dword [0x7e284c]
push 0x80000301
push 0
push 0x40
push 2
mov ebx, 0x44af60
call fcn.0044ab2f
add esp, 0x1c
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0x40
je 0x404920
cmp dword [0x7e284c], 0xffffffff
je 0x404920
xor eax, eax
jmp 0x404925
mov eax, 1
test eax, eax
je 0x404973
call fcn.00402b3c
mov dword [ebp - 0x1c], eax
push dword [ebp - 0x1c]
push dword [ebp - 4]
mov ecx, 2
call fcn.00401352
add esp, 8
mov dword [ebp - 0x20], eax
mov ebx, dword [ebp - 0x1c]
test ebx, ebx
je 0x40495b
push ebx
call fcn.0044ab29
add esp, 4
mov eax, dword [ebp - 0x20]
push eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x40496f
push ebx
call fcn.0044ab29
add esp, 4
pop eax
mov dword [ebp - 4], eax
push 0x80000301
push 0
push dword [0x7e284c]
push 0x80000301
push 0
push 0x80
push 2
mov ebx, 0x44af60
call fcn.0044ab2f
add esp, 0x1c
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0x80
je 0x4049bf
cmp dword [0x7e284c], 0xffffffff
je 0x4049bf
xor eax, eax
jmp 0x4049c4
mov eax, 1
test eax, eax
je 0x404a16
push 1
lea eax, [ebp - 0xc]
push eax
push 1
lea eax, [ebp - 8]
push eax
call fcn.004058c2
test eax, eax
je 0x404a16
push dword [ebp - 0xc]
push dword [ebp - 8]
push dword [ebp - 4]
mov ecx, 3
call fcn.00401352
add esp, 0xc
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
push eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x404a12
push ebx
call fcn.0044ab29
add esp, 4
pop eax
mov dword [ebp - 4], eax
push dword [0x7e2850]
push dword [ebp - 4]
mov ecx, 2
call fcn.00401352
add esp, 8
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
push eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x404a43
push ebx
call fcn.0044ab29
add esp, 4
pop eax
mov dword [ebp - 4], eax
push reloc.OLEAUT32.dll_SysReAllocStringLen
push 0
mov eax, dword [ebp - 4]
test eax, eax
jne 0x404a5a
mov eax, 0x52a5cf
push eax
push 1
mov ebx, 0x44b030
call fcn.0044ab2f
add esp, 0x10
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jne 0x404ae9
mov dword [ebp - 0x1c], esp
push 0x1388
push 0
push 0x10
push 0x52a6ff
push 0x52a70a
push 0
mov eax, 0xb
call fcn.0044ab3b
cmp dword [ebp - 0x1c], esp
je 0x404ac1
push 0x8d8
push 0x40717af
push 6
call fcn.0044ab35
add esp, 0xc
push 0
call fcn.0044ab59
add esp, 4
cmp dword [ebp - 0x10], 0
jne 0x404ae9
push 0
mov ebx, 0x44e260
call fcn.0044ab2f
add esp, 4
jmp 0x404acb
push reloc.OLEAUT32.dll_SysReAllocStringLen
push 0
mov eax, dword [ebp - 4]
test eax, eax
jne 0x404afc
mov eax, 0x52a5cf
push eax
push 1
mov ebx, 0x44c4d0
call fcn.0044ab2f
add esp, 0x10
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
push eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x404b26
push ebx
call fcn.0044ab29
add esp, 4
pop eax
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x14]
push eax
call fcn.004077be
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x404b4a
push ebx
call fcn.0044ab29
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
push eax
call fcn.00407855
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jne 0x404b7a
call fcn.00407950
mov dword [ebp - 0x1c], 0
push 0
push dword [ebp - 0x1c]
call fcn.00407e77
lea eax, [ebp - 0x18]
push eax
call fcn.00408019
mov dword [ebp - 0x1c], eax
push 0
push 0
push 0
push 0x80000301
push 0
push 3
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x404bab
mov eax, 0x52a65f
push eax
push 3
mov ebx, 0x44c700
call fcn.0044ab2f
add esp, 0x28
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x20], ecx
mov ebx, dword [ebp - 0x1c]
test ebx, ebx
je 0x404bd7
push ebx
call fcn.0044ab29
add esp, 4
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
cmp ecx, 0x80000101
jne 0x404bef
and eax, 0xff
jmp 0x404c44
cmp ecx, 0x80000201
jne 0x404bfa
cwde
jmp 0x404c44
cmp ecx, 0x80000301
je 0x404c44
cmp ecx, 0x80000401
je 0x404c44
mov dword [ebp - 0x30], eax
cmp ecx, 0x80000501
je 0x404c34
cmp ecx, 0x80000601
je 0x404c39
push 0xaa7
push 0x40717af
push 2
call fcn.0044ab35
add esp, 0xc
fld dword [ebp - 0x30]
jmp 0x404c3f
mov dword [ebp - 0x2c], edx
fld qword [ebp - 0x30]
call fcn.004013ae
mov dword [0x7e2844], eax
mov dword [0x7e2848], 0
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x404c6f
push eax
mov ebx, eax
call fcn.00401211
inc eax
push eax
call fcn.0044ab23
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
jmp 0x404ca3
push eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x404cb4
push ebx
call fcn.0044ab29
add esp, 4
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x404cc4
push ebx
call fcn.0044ab29
add esp, 4
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x404cd4
push ebx
call fcn.0044ab29
add esp, 4
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x404ce4
push ebx
call fcn.0044ab29
add esp, 4
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x404cf4
push ebx
call fcn.0044ab29
add esp, 4
pop eax
mov esp, ebp
pop ebp
ret