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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4405c7
sub esp, 0x40
mov dword [0xc07444], 1
mov dword [0xc07464], 1
lea eax, [0x8adc9e]
mov dword [esp], eax
mov dword [esp + 4], 7
call fcn.00406790
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
jmp 0x440375
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x30]
test ecx, ecx
je 0x440574
mov dword [esp + 0x20], ecx
mov dword [esp + 0x34], eax
mov dword [esp], eax
mov dword [esp + 4], ecx
lea edx, [0x8acb7e]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
call fcn.00447da0
mov ecx, dword [esp + 0x10]
test ecx, ecx
jge 0x440547
xor eax, eax
xor ecx, ecx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x18], eax
mov dword [esp + 0x30], ecx
mov dword [esp + 0x20], edx
mov ebx, dword [esp + 0x34]
mov dword [esp], ebx
mov dword [esp + 4], edx
lea ebp, [0x8acb89]
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
call fcn.00447da0
mov ecx, dword [esp + 0x10]
test ecx, ecx
jl 0x44036d
mov edx, dword [esp + 0x20]
cmp ecx, edx
ja 0x4405b5
lea eax, [ecx + 1]
cmp eax, edx
ja 0x4405ae
mov dword [esp + 0x1c], ecx
sub edx, eax
mov dword [esp + 0x14], edx
mov ebx, edx
neg edx
sar edx, 0x1f
and edx, eax
mov eax, dword [esp + 0x34]
add edx, eax
mov dword [esp + 0x2c], edx
cmp ecx, 0xe
je 0x4404e3
mov ebp, dword [0x7eb07c]
mov esi, dword [0x7eb078]
test ebp, ebp
jle 0x44036d
mov dword [esp + 0x28], ebp
xor edi, edi
jmp 0x440453
add esi, 0xc
mov ebx, dword [esp + 0x14]
mov edi, edx
mov edx, dword [esp + 0x2c]
mov ebx, dword [esi + 4]
mov edx, dword [esi + 8]
mov dword [esp + 0x3c], edx
mov edx, dword [esi]
cmp ecx, ebx
je 0x44046f
lea edx, [edi + 1]
cmp ebp, edx
jg 0x440446
jmp 0x44036d
mov dword [esp + 0x38], esi
mov dword [esp + 0x24], edi
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.00403200
movzx eax, byte [esp + 0xc]
test al, al
jne 0x4404a6
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x28]
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x24]
jmp 0x440463
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 4], ecx
call fcn.00447e70
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 8]
test al, al
je 0x4404cd
mov eax, dword [esp + 0x3c]
mov dword [eax], ecx
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x28]
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x24]
jmp 0x440463
mov dword [esp], eax
lea edx, [0x8b11ae]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00403200
movzx eax, byte [esp + 0xc]
test al, al
jne 0x440517
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x14]
jmp 0x44042a
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 4], eax
call fcn.00447e70
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 8]
test al, al
je 0x44036d
mov dword [0x7a1138], ecx
jmp 0x44036d
mov edx, dword [esp + 0x20]
cmp ecx, edx
ja 0x4405c1
lea eax, [ecx + 1]
cmp eax, edx
ja 0x4405ba
sub edx, eax
mov ebx, edx
neg edx
sar edx, 0x1f
and edx, eax
mov ebp, dword [esp + 0x34]
lea esi, [ebp + edx]
mov eax, ebx
mov edx, ecx
mov ecx, esi
jmp 0x4403b7
lea eax, [0x8af7b0]
mov dword [esp], eax
mov dword [esp + 4], 0xb
call fcn.00406790
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00459450
mov eax, dword [0x7a1160]
mov dword [0xc07084], eax
add esp, 0x40
ret
mov ecx, edx
call fcn.0045d240
call fcn.0045d200
mov ecx, edx
call fcn.0045d240
call fcn.0045d200
nop
call fcn.0045bbc0
jmp fcn.00440320