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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x43f2a5
sub esp, 0x40
mov dword [0xc83ee4], 1
mov dword [0xc83f04], 1
lea eax, [0x84035a]
mov dword [esp], eax
mov dword [esp + 4], 7
call fcn.00405c00
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
jmp 0x43f055
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x30]
test ecx, ecx
je 0x43f252
mov dword [esp + 0x20], ecx
mov dword [esp + 0x34], eax
mov dword [esp], eax
mov dword [esp + 4], ecx
lea edx, [0x83f39e]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
call fcn.00447b00
mov ecx, dword [esp + 0x10]
test ecx, ecx
jge 0x43f227
xor eax, eax
xor ecx, ecx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x30], eax
mov dword [esp + 0x20], edx
mov dword [esp + 0x18], ecx
mov ebx, dword [esp + 0x34]
mov dword [esp], ebx
mov dword [esp + 4], edx
lea ebp, [0x83f3a9]
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
call fcn.00447b00
mov ecx, dword [esp + 0x10]
test ecx, ecx
jl 0x43f04d
mov edx, dword [esp + 0x20]
cmp ecx, edx
ja 0x43f293
lea eax, [ecx + 1]
cmp eax, edx
ja 0x43f28c
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 0x43f1c3
mov ebp, dword [0xc6a54c]
mov esi, dword [0xc6a548]
test ebp, ebp
jle 0x43f04d
mov dword [esp + 0x28], ebp
xor edi, edi
jmp 0x43f133
add esi, 0xc
mov ebx, dword [esp + 0x14]
mov edi, edx
mov edx, dword [esp + 0x2c]
mov ebx, dword [esi + 8]
mov dword [esp + 0x3c], ebx
mov ebx, dword [esi + 4]
mov edx, dword [esi]
cmp ebx, ecx
je 0x43f14f
lea edx, [edi + 1]
cmp edx, ebp
jl 0x43f126
jmp 0x43f04d
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.00402420
movzx eax, byte [esp + 0xc]
test al, al
jne 0x43f186
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 0x43f143
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 4], ecx
call fcn.00447bd0
mov eax, dword [esp + 8]
movzx ecx, byte [esp + 0xc]
test cl, cl
je 0x43f1ad
mov ecx, dword [esp + 0x3c]
mov dword [ecx], eax
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 0x43f143
mov dword [esp], eax
lea edx, [0x8431c0]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00402420
movzx eax, byte [esp + 0xc]
test al, al
jne 0x43f1f7
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x14]
jmp 0x43f10a
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 4], eax
call fcn.00447bd0
mov eax, dword [esp + 8]
movzx ecx, byte [esp + 0xc]
test cl, cl
je 0x43f04d
mov dword [0xc211b4], eax
jmp 0x43f04d
mov edx, dword [esp + 0x20]
cmp ecx, edx
ja 0x43f29f
lea eax, [ecx + 1]
cmp eax, edx
ja 0x43f298
sub edx, eax
mov ebx, edx
neg edx
sar edx, 0x1f
and edx, eax
mov ebp, dword [esp + 0x34]
lea eax, [ebp + edx]
mov edx, ecx
mov ecx, ebx
jmp 0x43f097
lea eax, [0x841b1e]
mov dword [esp], eax
mov dword [esp + 4], 0xb
call fcn.00405c00
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0043f2b0
mov eax, dword [0xc211d0]
mov dword [0xc83b58], eax
add esp, 0x40
ret
mov ecx, edx
call fcn.00459e70
call fcn.00459e30
mov ecx, edx
call fcn.00459e70
call fcn.00459e30
nop
call fcn.00458550
jmp fcn.0043f000