Function at 0x58a6c0
Capabilities:
Reference http user-agent string
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x58aa17
sub esp, 0x54
mov eax, dword [esp + 0x64]
cmp eax, 4
jne 0x58a9ad
mov ecx, dword [esp + 0x60]
cmp dword [ecx], 0x78696e75
jne 0x58a97a
mov edx, 1
mov ebx, dword [esp + 0x7c]
cmp ebx, 4
jne 0x58a93a
mov ebp, dword [esp + 0x78]
cmp dword [ebp], 0x6c616964
jne 0x58a8ad
mov dword [esp + 0x44], edx
mov ebx, dword [esp + 0x68]
test ebx, ebx
jne 0x58a887
xor ebp, ebp
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x58a87e
xor ebx, ebx
xor ebp, ebp
mov esi, dword [esp + 0x70]
test esi, esi
jne 0x58a848
xor edi, edi
xchg edi, eax
test al, al
xchg edi, eax
je 0x58a83b
xor esi, esi
xor edi, edi
test edi, edi
je 0x58a803
mov dword [esp + 0x74], esi
mov esi, dword [esp + 0x58]
mov dword [esp], esi
mov esi, dword [esp + 0x5c]
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], 0
mov byte [esp + 0x1c], 0
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], edi
mov eax, dword [esp + 0x74]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x30], eax
call fcn.00581820
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
test ecx, ecx
je 0x58a7e2
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], eax
add esp, 0x54
ret
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
add esp, 0x54
ret
cmp edx, 2
je 0x58a831
mov eax, dword [0xc70f24]
mov ecx, dword [0xc70f20]
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], eax
add esp, 0x54
ret
test ebx, ebx
jne 0x58a75d
jmp 0x58a808
mov esi, dword [esp + 0x74]
mov edi, dword [esp + 0x70]
jmp 0x58a755
mov dword [esp + 0x48], ebx
mov dword [esp + 0x50], ebp
mov eax, dword [esi + 0x1c]
mov ecx, dword [esp + 0x74]
mov dword [esp], ecx
call eax
movzx edi, byte [esp + 4]
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0x50]
mov esi, dword [esp + 0x70]
jmp 0x58a747
mov ebp, dword [esp + 0x6c]
jmp 0x58a739
mov eax, dword [ebx + 0x1c]
mov ecx, dword [esp + 0x6c]
mov dword [esp], ecx
call eax
movzx ebp, byte [esp + 4]
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x68]
jmp 0x58a72b
mov dword [esp], 0
lea eax, [0x84331e]
mov dword [esp + 4], eax
mov dword [esp + 8], 0xe
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.00446f30
mov eax, dword [esp + 0x18]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x4c], ecx
lea edx, [0x7e66a0]
mov dword [esp], edx
call fcn.0040ac80
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x40]
mov dword [edi + 4], eax
mov eax, dword [0xc83da0]
test eax, eax
jne 0x58a92f
mov eax, dword [esp + 0x4c]
mov dword [edi], eax
mov dword [esp + 0x84], 0
lea eax, [0x98a4f0]
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], edi
add esp, 0x54
ret
mov eax, dword [esp + 0x4c]
call fcn.00459d90
jmp 0x58a90c
cmp ebx, 6
jne 0x58a971
mov ebp, dword [esp + 0x78]
cmp dword [ebp], 0x7473696c
jne 0x58a8ad
cmp word [ebp + 4], 0x6e65
jne 0x58a8ad
mov esi, dword [esp + 0x74]
mov edi, dword [esp + 0x70]
mov ebp, dword [esp + 0x6c]
mov ebx, dword [esp + 0x68]
jmp 0x58a75d
mov ebp, dword [esp + 0x78]
jmp 0x58a8ad
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004084f0
mov eax, dword [esp + 8]
mov dword [esp + 0x84], 0
lea ecx, [0x98b470]
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], eax
add esp, 0x54
ret
cmp eax, 8
jne 0x58a9d1
mov ecx, dword [esp + 0x60]
cmp dword [ecx], 0x78696e75
jne 0x58a97a
cmp dword [ecx + 4], 0x6d617267
jne 0x58a97a
mov edx, 2
jmp 0x58a6fb
cmp eax, 0xa
je 0x58a9dc
mov ecx, dword [esp + 0x60]
jmp 0x58a97a
mov ecx, dword [esp + 0x60]
mov dword [esp], ecx
lea edx, [0x84187d]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.00402420
movzx eax, byte [esp + 0xc]
test al, al
je 0x58aa11
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x60]
mov edx, 5
jmp 0x58a6fb
mov eax, dword [esp + 0x64]
jmp 0x58a9d6
call fcn.00458550
jmp fcn.0058a6c0