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

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
lea rax, [rsp - 0x20]
cmp rax, qword [rcx + 0x10]
jbe 0x432a39
sub rsp, 0xa0
mov qword [rsp + 0x98], rbp
lea rbp, [rsp + 0x98]
lea rax, [rsp + 0x10]
mov qword [rsp + 0x90], rax
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
mov qword [rsp + 0x80], rcx
jmp 0x4323b1
xor edx, edx
div ecx
mov dword [rsp + 0x40], edx
mov r8, qword [rsp + 0x30]
mov r9, qword [rsp + 0x80]
mov ecx, dword [rsp + 0x38]
mov edx, dword [rsp + 0x3c]
cmp ecx, edx
je 0x431fae
mov eax, dword [0x00835758]
test eax, eax
jne 0x431f9e
mov eax, dword [rsp + 0x40]
mov rcx, qword [0x00834f68]
mov rdx, qword [0x00834f60]
cmp rax, rcx
jae 0x432a1d
mov rax, qword [rdx + rax*8]
mov qword [rsp + 8], rax
mov rax, qword [rsp + 0x88]
mov qword [rsp], rax
cmp r8, 2
mov rcx, qword [rsp + 0x90]
setg byte [rcx]
call fcn.004385d0
mov rax, qword [rsp + 0x18]
test rax, rax
jne 0x431f7e
inc dword [rsp + 0x38]
mov eax, dword [rsp + 0x40]
add eax, dword [rsp + 0x44]
mov ecx, dword [rsp + 0x3c]
test ecx, ecx
jne 0x431ee0
jmp 0x432a16
mov qword [rsp + 0xa8], rax
mov byte [rsp + 0xb0], 0
mov rbp, qword [rsp + 0x98]
add rsp, 0xa0
ret
mov rax, qword [rsp + 0x90]
mov rcx, r9
jmp 0x4323b1
lea rax, [r8 + 1]
mov rdx, r9
cmp rax, 4
jge 0x432069
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
mov rcx, qword [rcx + 0x30]
mov ebx, dword [rcx + 0xf0]
mov esi, dword [rcx + 0xf4]
mov dword [rcx + 0xf0], esi
mov edi, ebx
shl ebx, 0x11
xor ebx, edi
mov edi, esi
xor esi, ebx
shr ebx, 7
xor ebx, esi
mov esi, edi
shr edi, 0x10
xor edi, ebx
mov dword [rcx + 0xf4], edi
lea ecx, [rdi + rsi]
mov ebx, dword [0x00835060]
mov rsi, qword [0x00835068]
mov rdi, qword [0x00835070]
test ebx, ebx
je 0x432a32
mov r8, rax
mov eax, ecx
mov r9, rdx
xor edx, edx
div ebx
test edi, edi
je 0x432a2b
mov eax, ecx
mov ecx, edx
xor edx, edx
div edi
mov edx, edx
cmp rdx, rdi
jae 0x432a24
mov qword [rsp + 0x30], r8
mov edx, dword [rsi + rdx*4]
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x3c], ebx
mov dword [rsp + 0x40], ecx
mov dword [rsp + 0x44], edx
jmp 0x431ef5
mov rax, qword [rsp + 0x88]
jmp 0x43220d
mov rbx, qword [rsp + 0x30]
lea rcx, [rbx + 1]
mov rax, qword [rsp + 0x80]
movzx edx, byte [rsp + 0x27]
mov rbx, qword [rsp + 0x28]
cmp rcx, rbx
jge 0x43211a
mov qword [rsp + 0x30], rcx
mov rax, qword [rsp + 0x70]
mov rdx, qword [rax + rcx*8]
mov qword [rsp], rdx
call fcn.00438050
movzx eax, byte [rsp + 8]
test al, al
jne 0x432076
lea rax, [0x00835690]
mov qword [rsp], rax
call fcn.0040eda0
mov rax, qword [0x008356c8]
mov qword [rsp + 0x88], rax
test rax, rax
je 0x4320f9
mov rcx, qword [rax + 0x10]
mov qword [0x008356c8], rcx
mov ecx, 0xffffffff
lea rdx, [0x008356d0]
lock xadd dword [rdx], ecx
lea rax, [0x00835690]
mov qword [rsp], rax
call fcn.0040ef90
mov rax, qword [rsp + 0x88]
test rax, rax
jne 0x43263b
mov eax, dword [0x00850ab0]
test eax, eax
je 0x432373
mov rax, qword [0x00835c40]
test rax, rax
jne 0x432631
mov eax, dword [0x00835cc8]
mov ecx, dword [0x00835ccc]
cmp eax, ecx
jae 0x43262a
mov eax, 1
test al, al
je 0x432373
lea rax, [0x00835690]
mov qword [rsp], rax
call fcn.0040eda0
mov rax, qword [0x008356c8]
test rax, rax
je 0x43261e
mov rcx, qword [rax + 0x10]
mov qword [0x008356c8], rcx
mov ecx, 0xffffffff
lea rdx, [0x008356d0]
lock xadd dword [rdx], ecx
test rax, rax
je 0x4321a9
mov rcx, qword [rax + 0x1258]
test rcx, rcx
je 0x43260e
mov qword [rsp + 0x78], rax
lea rcx, [0x00835690]
mov qword [rsp], rcx
call fcn.0040ef90
mov rax, qword [rsp + 0x78]
test rax, rax
je 0x432373
mov qword [rsp], rax
call fcn.00436100
movzx eax, byte [rsp + 0x27]
test al, al
je 0x432366
mov rax, qword [rsp + 0x80]
mov rcx, qword [rax + 0x30]
mov byte [rcx + 0xe4], 1
mov ecx, 1
lea rdx, [0x008356d4]
lock xadd dword [rdx], ecx
mov rdx, rax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x48], rax
mov ecx, dword [0x00850ab0]
test ecx, ecx
je 0x43229a
test byte [rax], al
mov rcx, qword [rax + 0x1258]
test rcx, rcx
je 0x43229a
lea rcx, [rax + 0x1270]
test byte [rcx], al
mov rcx, qword [rax + 0x1270]
test rcx, rcx
je 0x4327a7
mov rcx, qword [rcx + 0x10]
test rcx, rcx
jne 0x4327a0
mov rcx, qword [rax + 0x1278]
mov rcx, qword [rcx + 0x10]
test rcx, rcx
sete cl
test cl, cl
je 0x432796
mov rcx, qword [0x00835c40]
test rcx, rcx
jne 0x43278c
mov ecx, dword [0x00835cc8]
mov ebx, dword [0x00835ccc]
cmp ecx, ebx
jae 0x432785
mov ecx, 1
test cl, cl
jne 0x432704
mov rax, qword [0x00834f68]
mov qword [rsp + 0x28], rax
mov rcx, qword [0x00834f60]
mov qword [rsp + 0x70], rcx
lea rdx, [0x00835690]
mov qword [rsp], rdx
call fcn.0040eda0
mov eax, dword [0x00835758]
test eax, eax
jne 0x4326df
mov rax, qword [rsp + 0x48]
test byte [rax], al
mov ecx, dword [rax + 0x22a0]
test ecx, ecx
jne 0x4326df
mov ecx, dword [0x008356e8]
test ecx, ecx
jne 0x43268f
call fcn.00436310
mov rax, qword [rsp]
mov rcx, qword [rsp + 0x48]
cmp rax, rcx
jne 0x4329fb
mov qword [rsp], rcx
call fcn.00437fb0
lea rax, [0x00835690]
mov qword [rsp], rax
call fcn.0040ef90
mov rax, qword [rsp + 0x80]
mov rcx, qword [rax + 0x30]
movzx edx, byte [rcx + 0xe4]
test dl, dl
je 0x43235b
mov byte [rcx + 0xe4], 0
mov ecx, 0xffffffff
lea rbx, [0x008356d4]
lock xadd dword [rbx], ecx
dec ecx
test ecx, ecx
jl 0x4329e0
mov byte [rsp + 0x27], dl
xor ecx, ecx
jmp 0x43208c
mov rax, qword [rsp + 0x80]
jmp 0x432205
mov eax, dword [0x00850ac4]
test eax, eax
je 0x43239c
mov eax, dword [0x00850ac8]
test eax, eax
jbe 0x43239c
xor eax, eax
lea rcx, [0x00835688]
xchg qword [rcx], rax
test rax, rax
jne 0x4324bc
call fcn.00431080
mov rax, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x80]
mov rdx, qword [rcx + 0x30]
mov rdx, qword [rdx + 0xa0]
mov ebx, dword [0x00835758]
test ebx, ebx
je 0x4323dd
call fcn.00431bd0
mov rax, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x80]
jmp 0x4323b1
mov qword [rsp + 0x88], rdx
test byte [rdx], al
mov ebx, dword [rdx + 0x22a0]
test ebx, ebx
jne 0x432988
movzx ebx, byte [0x00850a5a]
test bl, bl
je 0x43240f
movzx ebx, byte [0x00850a5b]
test bl, bl
jne 0x432948
mov rbx, qword [0x0082a6f0]
mov rbx, qword [rbx]
test rbx, rbx
jne 0x432929
mov qword [rsp], rdx
call fcn.004383d0
mov rax, qword [rsp + 8]
movzx ecx, byte [rsp + 0x10]
test rax, rax
jne 0x43290a
mov ecx, dword [0x008356e8]
test ecx, ecx
jne 0x432899
mov ecx, dword [0x00850ac4]
test ecx, ecx
je 0x432470
mov ecx, dword [0x00850ac8]
test ecx, ecx
jbe 0x432470
mov rcx, qword [0x00835688]
test rcx, rcx
jne 0x432807
mov ecx, dword [0x00850abc]
mov edx, dword [0x008356d0]
lea ebx, [rcx - 1]
cmp ebx, edx
je 0x4327f2
mov rdx, qword [rsp + 0x80]
mov rbx, qword [rdx + 0x30]
movzx ebx, byte [rbx + 0xe4]
test bl, bl
je 0x4327cd
mov rcx, qword [rdx + 0x30]
movzx ebx, byte [rcx + 0xe4]
test bl, bl
je 0x4327b1
xor eax, eax
jmp 0x431fb5
mov rax, qword [rsp + 0x80]
mov rdx, qword [rax + 0x30]
mov rbx, qword [rdx + 0xa0]
test rbx, rbx
jne 0x4329c5
movzx edx, byte [rdx + 0xe4]
test dl, dl
jne 0x4329aa
mov byte [rsp], 1
call fcn.00427440
mov rax, qword [rsp + 8]
mov qword [rsp + 0x50], rax
call fcn.00456740
mov rax, qword [rsp]
lea rcx, [0x00835688]
xchg qword [rcx], rax
mov rax, qword [rsp + 0x50]
test rax, rax
je 0x43239c
lea rax, [0x00835690]
mov qword [rsp], rax
call fcn.0040eda0
mov rax, qword [0x008356c8]
mov qword [rsp + 0x88], rax
test rax, rax
je 0x43255a
mov rcx, qword [rax + 0x10]
mov qword [0x008356c8], rcx
mov ecx, 0xffffffff
lea rdx, [0x008356d0]
lock xadd dword [rdx], ecx
lea rax, [0x00835690]
mov qword [rsp], rax
call fcn.0040ef90
mov rax, qword [rsp + 0x88]
test rax, rax
jne 0x43258a
mov rax, qword [rsp + 0x50]
mov qword [rsp], rax
call fcn.00432c10
jmp 0x43239c
mov qword [rsp], rax
call fcn.00436100
mov rax, qword [rsp + 0x50]
mov rcx, qword [rax + 0xb8]
mov qword [rsp], rcx
call fcn.00432c10
mov rax, qword [rsp + 0x50]
mov qword [rsp], rax
movabs rcx, 0x100000004
mov qword [rsp + 8], rcx
call fcn.0042ecf0
movzx eax, byte [0x00840930]
test al, al
jne 0x4325f5
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0xa8], rax
mov byte [rsp + 0xb0], 0
mov rbp, qword [rsp + 0x98]
add rsp, 0xa0
ret
mov rax, qword [rsp + 0x50]
mov qword [rsp], rax
mov qword [rsp + 8], 0
call fcn.00448db0
jmp 0x4325d0
mov qword [rsp], rax
call fcn.00437fb0
xor eax, eax
jmp 0x4321a9
lea rdx, [0x008356d0]
jmp 0x432197
xor eax, eax
jmp 0x432151
mov eax, 1
jmp 0x432151
mov qword [rsp], rax
call fcn.00436100
movzx eax, byte [rsp + 0x27]
test al, al
je 0x432685
mov rax, qword [rsp + 0x80]
mov rcx, qword [rax + 0x30]
mov byte [rcx + 0xe4], 1
mov ecx, 1
lea rdx, [0x008356d4]
lock xadd dword [rdx], ecx
mov rax, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x80]
jmp 0x4323b1
mov rax, qword [rsp + 0x80]
jmp 0x432670
mov qword [rsp], rax
mov dword [rsp + 8], 0
call fcn.00437e70
mov rax, qword [rsp + 0x10]
mov qword [rsp + 0x68], rax
lea rcx, [0x00835690]
mov qword [rsp], rcx
call fcn.0040ef90
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0xa8], rax
mov byte [rsp + 0xb0], 0
mov rbp, qword [rsp + 0x98]
add rsp, 0xa0
ret
lea rax, [0x00835690]
mov qword [rsp], rax
call fcn.0040ef90
mov rax, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x80]
jmp 0x4323b1
mov qword [rax + 0x1260], 2
mov rax, qword [rax + 0x1258]
mov qword [rsp + 0x88], rax
mov qword [rsp], rax
movabs rcx, 0x100000004
mov qword [rsp + 8], rcx
call fcn.0042ecf0
movzx eax, byte [0x00840930]
test al, al
jne 0x432769
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0xa8], rax
mov byte [rsp + 0xb0], 0
mov rbp, qword [rsp + 0x98]
add rsp, 0xa0
ret
mov rax, qword [rsp + 0x88]
mov qword [rsp], rax
mov qword [rsp + 8], 0
call fcn.00448db0
jmp 0x432741
xor ecx, ecx
jmp 0x432292
mov ecx, 1
jmp 0x432292
mov ecx, 1
jmp 0x432292
xor ecx, ecx
jmp 0x432261
mov ecx, 1
jmp 0x432261
mov byte [rcx + 0xe4], 1
mov ecx, 1
lea rbx, [0x008356d4]
lock xadd dword [rbx], ecx
jmp 0x4324b5
mov ebx, dword [0x008356d4]
mov esi, dword [0x008356d0]
shl ebx, 1
sub ecx, esi
cmp ebx, ecx
jb 0x4324a2
mov rax, qword [rsp + 0x88]
jmp 0x43220d
mov rdx, qword [rsp + 0x80]
mov rax, qword [rsp + 0x88]
jmp 0x43220d
mov byte [rsp], 0
call fcn.00427440
mov rax, qword [rsp + 8]
test rax, rax
je 0x432470
mov qword [rsp + 0x58], rax
mov rcx, qword [rax + 0xb8]
mov qword [rsp], rcx
call fcn.00432c10
mov rax, qword [rsp + 0x58]
mov qword [rsp], rax
movabs rcx, 0x100000004
mov qword [rsp + 8], rcx
call fcn.0042ecf0
movzx eax, byte [0x00840930]
test al, al
jne 0x432880
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0xa8], rax
mov byte [rsp + 0xb0], 0
mov rbp, qword [rsp + 0x98]
add rsp, 0xa0
ret
mov rax, qword [rsp + 0x58]
mov qword [rsp], rax
mov qword [rsp + 8], 0
call fcn.00448db0
jmp 0x43285b
lea rax, [0x00835690]
mov qword [rsp], rax
call fcn.0040eda0
mov rax, qword [rsp + 0x88]
mov qword [rsp], rax
mov dword [rsp + 8], 0
call fcn.00437e70
mov rax, qword [rsp + 0x10]
mov qword [rsp + 0x60], rax
lea rcx, [0x00835690]
mov qword [rsp], rcx
call fcn.0040ef90
mov rax, qword [rsp + 0x60]
test rax, rax
je 0x43244c
mov qword [rsp + 0xa8], rax
mov byte [rsp + 0xb0], 0
mov rbp, qword [rsp + 0x98]
add rsp, 0xa0
ret
mov qword [rsp + 0xa8], rax
mov byte [rsp + 0xb0], cl
mov rbp, qword [rsp + 0x98]
add rsp, 0xa0
ret
mov qword [rsp], rbx
mov qword [rsp + 8], 0
call fcn.00454050
mov rdx, qword [rsp + 0x88]
jmp 0x432422
call fcn.004157a0
mov rax, qword [rsp]
test rax, rax
jne 0x432973
mov rax, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x88]
jmp 0x43240f
mov qword [rsp + 8], 0
mov byte [rsp + 0x10], 1
call fcn.0042e170
jmp 0x432956
call fcn.00430370
mov rax, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x88]
jmp 0x4323f5
lea rax, [0x006b564e]
mov qword [rsp], rax
mov qword [rsp + 8], 0x23
call fcn.0042b3a0
ud2
lea rax, [0x006b2e23]
mov qword [rsp], rax
mov qword [rsp + 8], 0x1c
call fcn.0042b3a0
ud2
lea rax, [0x006b4b64]
mov qword [rsp], rax
mov qword [rsp + 8], 0x21
call fcn.0042b3a0
ud2
lea rax, [0x006b01cf]
mov qword [rsp], rax
mov qword [rsp + 8], 0x15
call fcn.0042b3a0
ud2
call fcn.00429c30
ud2
call fcn.00429b50
ud2
call fcn.00429b50
ud2
call fcn.00429c30
ud2
call fcn.00429c30
ud2
call fcn.00452950
jmp fcn.00431e80