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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
mov dword [ebp - 4], 0
mov dword [ebp - 8], 0
push 0xc
call fcn.004c5294
add esp, 4
mov dword [ebp - 0xc], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov dword [ebx], 0x8e3fe5
push ebx
add ebx, 4
push ebx
push 8
call fcn.004c5294
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
pop ebx
pop ebx
push ebx
mov eax, esp
push eax
call fcn.0045a41e
pop ebx
mov dword [ebp - 0x10], 0
push 0xc
call fcn.004c5294
add esp, 4
mov dword [ebp - 0x14], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov dword [ebx], 0x8e4041
push ebx
add ebx, 4
push ebx
push 8
call fcn.004c5294
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
pop ebx
add ebx, 4
push ebx
push 8
call fcn.004c5294
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
pop ebx
pop ebx
push ebx
mov eax, esp
push eax
call fcn.0045a463
pop ebx
push 0x10
call fcn.004c5294
add esp, 4
mov dword [ebp - 0x18], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0
mov eax, 3
mov dword [ebx], eax
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0
mov eax, 0x8e3ded
push eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x459cfc
push ebx
call fcn.004c52a6
add esp, 4
pop eax
mov dword [ebp - 4], eax
push reloc.OLEAUT32.dll_SysReAllocString
push 0
push 1
mov ebx, 6
call fcn.00442f1e
push VariantClear
push 0
mov ebx, dword [ebp + 8]
mov eax, dword [ebx]
test eax, eax
jne 0x459d2b
mov eax, 0x57361f
push eax
push VariantClear
push 0
push 0x8e3e37
push VariantClear
push 0
mov eax, dword [ebp - 4]
test eax, eax
jne 0x459d4b
mov eax, 0x57361f
push eax
push 6
mov ebx, 0x4c6860
call fcn.004c52ac
add esp, 0x4c
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
push eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x459d75
push ebx
call fcn.004c52a6
add esp, 4
pop eax
mov dword [ebp - 4], eax
push reloc.OLEAUT32.dll_SysReAllocString
push 0
push 1
mov ebx, 6
call fcn.00442f1e
push VariantClear
push 0
mov eax, dword [0x16b5b30]
test eax, eax
jne 0x459da4
mov eax, 0x57361f
push eax
push VariantClear
push 0
push 0x8e3e3c
push VariantClear
push 0
mov eax, dword [ebp - 4]
test eax, eax
jne 0x459dc4
mov eax, 0x57361f
push eax
push 6
mov ebx, 0x4c6860
call fcn.004c52ac
add esp, 0x4c
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
push eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x459dee
push ebx
call fcn.004c52a6
add esp, 4
pop eax
mov dword [ebp - 4], eax
push reloc.OLEAUT32.dll_SysReAllocString
push 0
push 1
mov ebx, 6
call fcn.00442f1e
push VariantClear
push 0
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebx]
test eax, eax
jne 0x459e1d
mov eax, 0x57361f
push eax
push VariantClear
push 0
push 0x8e3e41
push VariantClear
push 0
mov eax, dword [ebp - 4]
test eax, eax
jne 0x459e3d
mov eax, 0x57361f
push eax
push 6
mov ebx, 0x4c6860
call fcn.004c52ac
add esp, 0x4c
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
push eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x459e67
push ebx
call fcn.004c52a6
add esp, 4
pop eax
mov dword [ebp - 4], eax
push VariantClear
push 0
mov eax, dword [ebp - 4]
test eax, eax
jne 0x459e7e
mov eax, 0x57361f
push eax
push 1
mov ebx, 0x4c6be0
call fcn.004c52ac
add esp, 0x10
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x459ea8
push ebx
call fcn.004c52a6
add esp, 4
pop eax
mov dword [ebp - 8], eax
mov dword [ebp - 0x24], 0
push 0
push dword [ebp - 0x24]
push 1
push 1
mov eax, 0x8e3e48
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x28]
push eax
push 0x16b5b28
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x1c]
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x459eea
push ebx
call fcn.004c52a6
add esp, 4
mov eax, 0x8583d8
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x24]
push eax
mov eax, 0x8583dc
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x28]
push eax
push 0x16b5b28
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x2c]
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x459f21
push ebx
call fcn.004c52a6
add esp, 4
mov ebx, dword [ebp - 0x24]
test ebx, ebx
je 0x459f31
push ebx
call fcn.004c52a6
add esp, 4
mov eax, 0x85835b
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x24]
push eax
mov eax, 0x8583fb
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x28]
push eax
push 0x16b5b28
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x2c]
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x459f68
push ebx
call fcn.004c52a6
add esp, 4
mov ebx, dword [ebp - 0x24]
test ebx, ebx
je 0x459f78
push ebx
call fcn.004c52a6
add esp, 4
mov eax, 0x858403
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x24]
push eax
mov eax, 0x858409
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x28]
push eax
push 0x16b5b28
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x2c]
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x459faf
push ebx
call fcn.004c52a6
add esp, 4
mov ebx, dword [ebp - 0x24]
test ebx, ebx
je 0x459fbf
push ebx
call fcn.004c52a6
add esp, 4
mov eax, 0x858419
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x24]
push eax
mov eax, 0x858430
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x28]
push eax
push 0x16b5b28
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x2c]
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x459ff6
push ebx
call fcn.004c52a6
add esp, 4
mov ebx, dword [ebp - 0x24]
test ebx, ebx
je 0x45a006
push ebx
call fcn.004c52a6
add esp, 4
mov eax, 0x858437
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x24]
push eax
mov eax, 0x858478
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x28]
push eax
push 0x16b5b28
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x2c]
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x45a03d
push ebx
call fcn.004c52a6
add esp, 4
mov ebx, dword [ebp - 0x24]
test ebx, ebx
je 0x45a04d
push ebx
call fcn.004c52a6
add esp, 4
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 8]
test eax, eax
jne 0x45a060
mov eax, 0x573617
push eax
push 1
mov ebx, 0x4c5950
call fcn.004c52ac
add esp, 0x10
push 0x80000301
push 0
push eax
push 1
mov ebx, 0x4c71f0
call fcn.004c52ac
add esp, 0x10
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x28]
push eax
mov eax, 0x8e3e90
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x2c]
push eax
push 0x16b5b28
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x2c]
mov ebx, dword [ebp - 0x2c]
test ebx, ebx
je 0x45a0bf
push ebx
call fcn.004c52a6
add esp, 4
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x45a0cf
push ebx
call fcn.004c52a6
add esp, 4
push 1
lea eax, [ebp - 8]
push eax
push 0x16b5b28
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x48]
push 0x16b5b28
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x4c]
mov dword [ebp - 0x24], eax
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x24]
test eax, eax
jne 0x45a109
mov eax, 0x573617
push eax
push 1
mov ebx, 0x4c71f0
call fcn.004c52ac
add esp, 0x10
mov dword [ebp - 0x28], eax
mov ebx, dword [ebp - 0x24]
test ebx, ebx
je 0x45a12f
push ebx
call fcn.004c52a6
add esp, 4
mov eax, dword [ebp - 0x28]
push eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x45a143
push ebx
call fcn.004c52a6
add esp, 4
pop eax
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0xc]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0xc]
mov eax, 0x8e3e9f
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0xc]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x2c]
mov dword [ebp - 0x28], eax
mov ebx, dword [ebp - 0x24]
test ebx, ebx
je 0x45a186
push ebx
call fcn.004c52a6
add esp, 4
lea eax, [ebp - 0x28]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x10]
mov dword [ebp - 0x2c], eax
mov ebx, dword [ebp - 0x28]
push ebx
mov eax, dword [ebx]
call dword [eax]
call fcn.004c52a6
add esp, 4
mov eax, dword [ebp - 0x2c]
push eax
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x45a1bb
push ebx
call fcn.004c52a6
add esp, 4
pop eax
mov dword [ebp - 0x10], eax
push 0x8e3eaa
push dword [ebp - 0x10]
call fcn.004012ba
add esp, 8
cmp eax, 0
je 0x45a2f0
mov eax, 0x8e3eae
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x14]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x14]
mov ebx, dword [ebp - 0x24]
test ebx, ebx
je 0x45a202
push ebx
call fcn.004c52a6
add esp, 4
push 0x8e3fa4
push dword [ebp - 0x10]
push 0x8e3fa7
mov ecx, 3
call fcn.0043c4cc
add esp, 0xc
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x14]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x24]
mov dword [ebp - 0x28], eax
mov ebx, dword [ebp - 0x24]
test ebx, ebx
je 0x45a244
push ebx
call fcn.004c52a6
add esp, 4
mov eax, dword [ebp - 0x28]
push eax
mov ebx, dword [ebp - 0x18]
push ebx
push 0x10031
push 0
push ebx
push 1
mov ebx, 0x4c8320
call fcn.004c52ac
add esp, 0x10
call fcn.004c52a6
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
push 0
push 0
push 0
push 0x10031
push 0
push dword [ebp - 0x18]
push 2
mov ebx, 0x4c83d0
call fcn.004c52ac
add esp, 0x1c
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
push eax
mov ebx, dword [ebp - 0x1c]
test ebx, ebx
je 0x45a2a8
push ebx
call fcn.004c52a6
add esp, 4
pop eax
mov dword [ebp - 0x1c], eax
push 0x57361f
push dword [ebp - 0x1c]
call fcn.004012ba
add esp, 8
cmp eax, 0
jne 0x45a2cf
mov eax, 0x8e3fb6
jmp 0x45a383
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x45a2eb
push eax
mov ebx, eax
call fcn.004016e1
inc eax
push eax
call fcn.004c5294
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
jmp 0x45a383
mov eax, 0x8e3fbf
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0xc]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x2c]
mov dword [ebp - 0x28], eax
mov ebx, dword [ebp - 0x24]
test ebx, ebx
je 0x45a31d
push ebx
call fcn.004c52a6
add esp, 4
lea eax, [ebp - 0x28]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x10]
mov dword [ebp - 0x2c], eax
mov ebx, dword [ebp - 0x28]
push ebx
mov eax, dword [ebx]
call dword [eax]
call fcn.004c52a6
add esp, 4
mov eax, dword [ebp - 0x2c]
push eax
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x45a352
push ebx
call fcn.004c52a6
add esp, 4
pop eax
mov dword [ebp - 0x20], eax
push 0x8e3fc6
push dword [ebp - 0x20]
call fcn.004012ba
add esp, 8
cmp eax, 0
jne 0x45a379
mov eax, 0x8e3fcb
jmp 0x45a383
mov eax, 0x8e3fd8
jmp 0x45a383
push eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x45a394
push ebx
call fcn.004c52a6
add esp, 4
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x45a3a4
push ebx
call fcn.004c52a6
add esp, 4
mov ebx, dword [ebp - 0xc]
push ebx
mov eax, dword [ebx]
call dword [eax]
call fcn.004c52a6
add esp, 4
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x45a3c4
push ebx
call fcn.004c52a6
add esp, 4
mov ebx, dword [ebp - 0x14]
push ebx
mov eax, dword [ebx]
call dword [eax]
call fcn.004c52a6
add esp, 4
mov ebx, dword [ebp - 0x18]
push ebx
push 0x10031
push 0
push ebx
push 1
mov ebx, 0x4c8320
call fcn.004c52ac
add esp, 0x10
call fcn.004c52a6
add esp, 4
mov ebx, dword [ebp - 0x1c]
test ebx, ebx
je 0x45a407
push ebx
call fcn.004c52a6
add esp, 4
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x45a417
push ebx
call fcn.004c52a6
add esp, 4
pop eax
mov esp, ebp
pop ebp
ret 8