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

Disassembly:
mov ecx, dword [0x99504c]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x43e7bd
sub esp, 0x3c
movzx eax, byte [0x9795a4]
test al, al
je 0x43e54f
movzx eax, byte [esp + 0x40]
mov byte [esp], al
call fcn.00459c40
mov eax, dword [0x99504c]
mov eax, dword fs:[eax]
mov eax, dword [eax]
mov ecx, dword [eax + 0x18]
mov ecx, dword [ecx + 0x7c]
test ecx, ecx
jg 0x43e7a6
mov dword [esp + 0x30], eax
nop
nop
lea eax, [0x970238]
mov dword [esp], eax
call fcn.0040a350
mov eax, dword [0x994fe4]
mov dword [0x9702b8], eax
nop
nop
lea eax, [0x9702b4]
mov dword [esp], eax
mov byte [esp + 4], 1
call fcn.00402e10
call fcn.00447780
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 0x18]
mov eax, dword [eax + 0x58]
mov dword [eax + 4], 3
dec dword [0x9702b8]
mov eax, dword [0x96ebd0]
mov dword [esp + 0x38], eax
mov ecx, dword [0x96ebd4]
mov dword [esp + 0x28], ecx
xor edx, edx
jmp 0x43e5d2
inc edx
cmp edx, ecx
jge 0x43e666
mov dword [esp + 0x24], edx
mov ebx, dword [eax + edx*4]
mov dword [esp + 0x2c], ebx
cmp dword [ebx + 4], 2
je 0x43e5ef
xor ebp, ebp
jmp 0x43e621
lea eax, [ebx + 4]
mov dword [esp], eax
mov dword [esp + 4], 2
mov dword [esp + 8], 3
call fcn.00402b50
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x2c]
mov ebp, eax
mov eax, dword [esp + 0x38]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x43e5d1
movzx ebp, byte [0x9795a4]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x43e658
mov dword [esp], ebx
call fcn.0045a440
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call fcn.00459b90
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x2c]
inc dword [ebx + 0x10]
dec dword [0x9702b8]
jmp 0x43e5d1
nop
call fcn.00469c50
mov eax, dword [esp + 4]
mov dword [esp + 0x18], eax
mov ecx, dword [esp]
mov dword [esp + 0x14], ecx
jmp 0x43e692
mov dword [eax + 4], 3
dec dword [0x9702b8]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.004488c0
mov eax, dword [esp + 8]
test eax, eax
jne 0x43e67d
mov eax, dword [0x9702b8]
mov dword [esp + 0x20], eax
nop
nop
lea ecx, [0x970238]
mov dword [esp], ecx
call fcn.0040a550
mov eax, dword [esp + 0x20]
test eax, eax
jle 0x43e701
jmp 0x43e6cf
call fcn.00447780
lea eax, [0x9702bc]
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0x186a0
call fcn.0040aaa0
movzx eax, byte [esp + 0xc]
test al, al
je 0x43e6ca
nop
mov dword [0x9702bc], 0
mov eax, dword [0x9702b8]
test eax, eax
jne 0x43e71f
mov eax, dword [0x96ebd0]
mov ecx, dword [0x96ebd4]
xor edx, edx
xor ebx, ebx
xor ebp, ebp
jmp 0x43e786
mov eax, 0x29
lea ecx, [0x74adf0]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x34], ecx
lea edx, [0x994f10]
mov dword [esp], edx
call fcn.00402aa0
movzx eax, byte [esp + 4]
test al, al
je 0x43e769
nop
nop
lea eax, [0x994fac]
mov dword [esp], eax
call fcn.0040a350
nop
nop
lea eax, [0x994fac]
mov dword [esp], eax
call fcn.0040a350
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x43e775
add esp, 0x3c
ret
mov ecx, dword [esp + 0x34]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00439230
inc edx
cmp edx, ecx
jge 0x43e7a0
mov esi, dword [eax + edx*4]
cmp dword [esi + 4], 3
je 0x43e785
mov ebx, 0x2e
lea ebp, [0x74ca9d]
jmp 0x43e785
mov eax, ebx
mov ecx, ebp
jmp 0x43e72a
lea eax, [0x743cbb]
mov dword [esp], eax
mov dword [esp + 4], 0x1b
call fcn.00439230
nop
call fcn.00467a60
jmp fcn.0043e520