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

Disassembly:
lea r12, [rsp - 0x70]
cmp r12, qword [r14 + 0x10]
jbe 0x43deeb
sub rsp, 0xf0
mov qword [rsp + 0xe8], rbp
lea rbp, [rsp + 0xe8]
mov qword [rsp + 0xd8], r14
jmp 0x43d5b5
call fcn.0043cae0
mov rcx, qword [rsp + 0xd8]
mov rdx, qword [rcx + 0x30]
mov rax, qword [rdx + 0xa0]
call fcn.00445fe0
cmp dword [0x007e2c40], 0
je 0x43d5dd
call fcn.0043d340
jmp 0x43d5b5
mov qword [rsp + 0xd0], rax
test byte [rax], al
cmp dword [rax + 0x2270], 0
je 0x43d5fd
call fcn.0043bea0
mov rax, qword [rsp + 0xd0]
xor ebx, ebx
nop
call fcn.0043eec0
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x50], rbx
cmp byte [0x00837f7a], 0
je 0x43d642
cmp byte [0x00837f7b], 0
nop
je 0x43d642
call fcn.00419800
test rax, rax
je 0x43d638
xor ebx, ebx
mov ecx, 1
call fcn.0043a7e0
mov rax, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x50]
mov rcx, qword [0x007d4130]
mov rcx, qword [rcx]
test rcx, rcx
je 0x43d679
mov qword [rsp], rcx
mov qword [rsp + 8], 0
nop
call fcn.004610a0
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
mov rax, qword [rsp + 0xd0]
call fcn.00444600
test rax, rax
jne 0x43de96
cmp dword [0x007e2bd0], 0
je 0x43d6d9
lea rax, [0x007e2b78]
nop
call fcn.0040b060
mov rax, qword [rsp + 0xd0]
xor ebx, ebx
call fcn.00443d20
mov qword [rsp + 0xc0], rax
lea rax, [0x007e2b78]
call fcn.0040b280
mov rax, qword [rsp + 0xc0]
test rax, rax
jne 0x43de84
call fcn.00430c00
nop
test al, al
je 0x43d702
mov ecx, dword [0x00837fdc]
test ecx, ecx
jbe 0x43d6fd
mov rcx, qword [0x007e2b68]
test rcx, rcx
setne cl
jmp 0x43d704
xor ecx, ecx
nop
jmp 0x43d704
xor ecx, ecx
test cl, cl
je 0x43d728
xor eax, eax
call fcn.004318a0
mov qword [rsp + 0x68], rax
lea rax, [rsp + 0x68]
call fcn.00444d40
nop
test al, al
je 0x43de1f
mov rcx, qword [rsp + 0xd8]
mov rdx, qword [rcx + 0x30]
mov esi, dword [0x00837fd0]
cmp byte [rdx + 0xe4], 0
je 0x43d74a
mov edx, 1
jmp 0x43d760
mov edx, dword [0x007e2bbc]
mov edi, dword [0x007e2bb8]
shl edx, 1
sub esi, edi
cmp edx, esi
setb dl
nop
test dl, dl
je 0x43d7c9
mov rdx, qword [rcx + 0x30]
cmp byte [rdx + 0xe4], 0
jne 0x43d788
mov byte [rdx + 0xe4], 1
mov edx, 1
lea rbx, [0x007e2bbc]
lock xadd dword [rbx], edx
mov rax, qword [rsp + 0x58]
call fcn.0043dfe0
test rax, rax
jne 0x43dc2a
nop dword [rax + rax]
test sil, sil
jne 0x43d5b5
test rdi, rdi
je 0x43d7bf
mov rdx, qword [rsp + 0x50]
test rdx, rdx
je 0x43d7d3
cmp rdi, rdx
jl 0x43d7d3
jmp 0x43d7c4
mov rdx, qword [rsp + 0x50]
mov rdi, rdx
jmp 0x43d7d3
mov rcx, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x50]
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x58], rcx
cmp dword [0x00837fc4], 0
jne 0x43d7ea
xor eax, eax
jmp 0x43d801
mov rax, qword [rsp + 0xd0]
call fcn.0041c520
mov rcx, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x50]
test al, al
je 0x43d824
lea rax, [0x008380f0]
call fcn.0040aec0
test rax, rax
jne 0x43ddb7
mov rcx, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x50]
mov rax, rcx
mov rbx, rdi
call fcn.0040b940
test rax, rax
jne 0x43dd6c
nop dword [rax + rax]
test bl, bl
jne 0x43d5b5
mov rcx, qword [0x007e0880]
mov qword [rsp + 0xc8], rcx
mov rdx, qword [0x007e0888]
mov qword [rsp + 0x80], rdx
mov rbx, qword [0x007e0890]
mov qword [rsp + 0x88], rbx
mov rsi, qword [0x007e08e0]
mov qword [rsp + 0x98], rsi
mov rdi, qword [0x007e08e8]
mov qword [rsp + 0x70], rdi
mov r8, qword [0x007e08f0]
mov qword [rsp + 0x78], r8
mov r9, qword [0x007e0920]
mov qword [rsp + 0x90], r9
mov r10, qword [0x007e0928]
mov qword [rsp + 0x40], r10
mov r11, qword [0x007e0930]
mov qword [rsp + 0x48], r11
lea rax, [0x007e2b78]
call fcn.0040b060
cmp dword [0x007e2c40], 0
jne 0x43d8e9
mov rax, qword [rsp + 0xd0]
cmp dword [rax + 0x2270], 0
je 0x43d8fa
lea rax, [0x007e2b78]
call fcn.0040b280
jmp 0x43d5b5
cmp dword [0x007e2bd0], 0
jne 0x43dd37
call fcn.004421a0
mov rcx, qword [rsp + 0xd0]
cmp rax, rcx
jne 0x43ded9
mov rax, rcx
call fcn.00443fc0
lea rax, [0x007e2b78]
call fcn.0040b280
mov rcx, qword [rsp + 0xd8]
mov rdx, qword [rcx + 0x30]
movzx ebx, byte [rdx + 0xe4]
mov byte [rsp + 0x3f], bl
test bl, bl
je 0x43da1f
mov byte [rdx + 0xe4], 0
mov edx, 0xffffffff
lea r9, [0x007e2bbc]
lock xadd dword [r9], edx
dec edx
test edx, edx
jl 0x43dec8
mov rax, qword [rsp + 0xc8]
mov rbx, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x88]
mov rdi, qword [rsp + 0x98]
mov rsi, qword [rsp + 0x70]
mov r8, qword [rsp + 0x78]
nop dword [rax]
call fcn.0043e300
test rax, rax
je 0x43d9d7
call fcn.00441fe0
mov rcx, qword [rsp + 0xd8]
mov rdx, qword [rcx + 0x30]
mov byte [rdx + 0xe4], 1
mov edx, 1
lea rbx, [0x007e2bbc]
lock xadd dword [rbx], edx
jmp 0x43d5b5
call fcn.0043e580
nop dword [rax]
test rax, rax
jne 0x43dc3a
mov rax, qword [rsp + 0xc8]
mov rbx, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x88]
mov rdi, qword [rsp + 0x90]
mov rsi, qword [rsp + 0x40]
mov r8, qword [rsp + 0x48]
mov r9, qword [rsp + 0x50]
call fcn.0043e440
jmp 0x43da24
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x50], rax
call fcn.00430c00
test al, al
je 0x43da66
mov ecx, dword [0x00837fdc]
test ecx, ecx
jbe 0x43da43
mov rcx, qword [rsp + 0x50]
jmp 0x43da4d
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x43da62
xor edx, edx
lea rsi, [0x007e2b68]
xchg qword [rsi], rdx
test rdx, rdx
setne dl
nop
jmp 0x43da6d
xor edx, edx
jmp 0x43da6d
mov rcx, qword [rsp + 0x50]
xor edx, edx
test dl, dl
je 0x43dbea
lea rdx, [0x007e2b70]
mov rsi, rcx
xchg qword [rdx], rcx
mov rcx, qword [rsp + 0xd8]
mov rdi, qword [rcx + 0x30]
cmp qword [rdi + 0xa0], 0
jne 0x43deb7
cmp byte [rdi + 0xe4], 0
jne 0x43dea6
test rsi, rsi
je 0x43dae5
mov rbx, qword [rsp + 0x58]
test rbx, rbx
jne 0x43dad4
call fcn.00452f40
mov rcx, qword [rsp + 0xd8]
lea rdx, [0x007e2b70]
mov rsi, qword [rsp + 0x50]
mov rbx, rax
sub rsi, rbx
test rsi, rsi
mov ebx, 0
cmovl rsi, rbx
jmp 0x43daee
xor ebx, ebx
mov rsi, 0xffffffffffffffff
cmp qword [0x008380c8], 0
cmovne rsi, rbx
mov rax, rsi
nop dword [rax]
call fcn.004318a0
mov qword [rsp + 0x60], rax
xor ecx, ecx
lea rdx, [0x007e2b70]
xchg qword [rdx], rcx
call fcn.00452f40
lea rcx, [0x007e2b68]
xchg qword [rcx], rax
cmp qword [0x008380c8], 0
jne 0x43db33
xor eax, eax
jmp 0x43db40
lea rax, [rsp + 0x60]
call fcn.00444d40
nop dword [rax]
test al, al
je 0x43db4e
call fcn.0043cae0
jmp 0x43d5b5
lea rax, [0x007e2b78]
call fcn.0040b060
call fcn.004440a0
mov qword [rsp + 0xd0], rax
lea rax, [0x007e2b78]
call fcn.0040b280
mov rax, qword [rsp + 0xd0]
nop dword [rax + rax]
test rax, rax
je 0x43dbda
call fcn.00441fe0
lea rax, [rsp + 0x60]
call fcn.00444d40
test al, al
je 0x43dcce
movzx ecx, byte [rsp + 0x3f]
test cl, cl
je 0x43dbcd
mov rcx, qword [rsp + 0xd8]
mov rdx, qword [rcx + 0x30]
mov byte [rdx + 0xe4], 1
mov edx, 1
lea rbx, [0x007e2bbc]
lock xadd dword [rbx], edx
jmp 0x43d5b5
mov rcx, qword [rsp + 0xd8]
jmp 0x43d5b5
lea rax, [rsp + 0x60]
nop
call fcn.0043e800
jmp 0x43d5b0
test rcx, rcx
jne 0x43dbf3
xor eax, eax
jmp 0x43dc00
call fcn.00430c00
mov rcx, qword [rsp + 0x50]
nop dword [rax]
test al, al
je 0x43d5b0
mov rax, qword [0x007e2b70]
test rax, rax
je 0x43dc20
cmp rax, rcx
jle 0x43d5b0
nop dword [rax]
call fcn.004317a0
jmp 0x43d5b0
mov rbp, qword [rsp + 0xe8]
add rsp, 0xf0
ret
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xe0], rbx
call fcn.00441fe0
mov rcx, qword [rsp + 0xd8]
mov rcx, qword [rcx + 0x30]
mov byte [rcx + 0xe4], 1
mov ecx, 1
lea rdx, [0x007e2bbc]
lock xadd dword [rdx], ecx
mov rcx, qword [rsp + 0xd0]
mov qword [rcx + 0x1228], 3
mov rax, qword [rsp + 0xe0]
mov ebx, 4
mov ecx, 1
call fcn.0043ac40
cmp byte [0x007ea170], 0
je 0x43dcb4
mov rax, qword [rsp + 0xe0]
xor ebx, ebx
call fcn.00454800
mov rax, qword [rsp + 0xe0]
xor ebx, ebx
mov rbp, qword [rsp + 0xe8]
add rsp, 0xf0
ret
lea rax, [rsp + 0x60]
call fcn.00444e60
mov qword [rsp + 0xa0], rax
lea rax, [rsp + 0x60]
call fcn.0043e800
mov rax, qword [rsp + 0xa0]
mov ebx, 4
mov ecx, 1
nop dword [rax]
call fcn.0043ac40
cmp byte [0x007ea170], 0
je 0x43dd1d
mov rax, qword [rsp + 0xa0]
xor ebx, ebx
call fcn.00454800
mov rax, qword [rsp + 0xa0]
xor ebx, ebx
mov rbp, qword [rsp + 0xe8]
add rsp, 0xf0
ret
xor ebx, ebx
call fcn.00443d20
mov qword [rsp + 0xa8], rax
lea rax, [0x007e2b78]
call fcn.0040b280
mov rax, qword [rsp + 0xa8]
xor ebx, ebx
mov rbp, qword [rsp + 0xe8]
add rsp, 0xf0
ret
mov qword [rsp + 0xe0], rax
mov ebx, 4
mov ecx, 1
nop
call fcn.0043ac40
cmp byte [0x007ea170], 0
je 0x43dd9d
mov rax, qword [rsp + 0xe0]
xor ebx, ebx
call fcn.00454800
mov rax, qword [rsp + 0xe0]
xor ebx, ebx
mov rbp, qword [rsp + 0xe8]
add rsp, 0xf0
ret
mov rcx, qword [rsp + 0xd0]
mov qword [rcx + 0x1228], 3
mov rax, qword [rax + 0x10]
call fcn.00445f60
mov qword [rsp + 0xb0], rax
mov ebx, 4
mov ecx, 1
call fcn.0043ac40
cmp byte [0x007ea170], 0
je 0x43de05
mov rax, qword [rsp + 0xb0]
xor ebx, ebx
nop dword [rax]
call fcn.00454800
mov rax, qword [rsp + 0xb0]
xor ebx, ebx
mov rbp, qword [rsp + 0xe8]
add rsp, 0xf0
ret
lea rax, [rsp + 0x68]
call fcn.00444e60
mov qword [rsp + 0xb8], rax
lea rax, [rsp + 0x68]
call fcn.0043e800
mov rax, qword [rsp + 0xb8]
mov ebx, 4
mov ecx, 1
call fcn.0043ac40
cmp byte [0x007ea170], 0
je 0x43de6a
mov rax, qword [rsp + 0xb8]
xor ebx, ebx
call fcn.00454800
mov rax, qword [rsp + 0xb8]
xor ebx, ebx
mov rbp, qword [rsp + 0xe8]
add rsp, 0xf0
ret
xor ebx, ebx
mov rbp, qword [rsp + 0xe8]
add rsp, 0xf0
ret
mov rbp, qword [rsp + 0xe8]
add rsp, 0xf0
ret
lea rax, [0x0065186f]
mov ebx, 0x23
call fcn.00436d80
lea rax, [0x0064e426]
mov ebx, 0x1c
call fcn.00436d80
lea rax, [0x006509f6]
mov ebx, 0x21
call fcn.00436d80
lea rax, [0x0064a9af]
mov ebx, 0x15
call fcn.00436d80
nop
call fcn.0045f280
jmp fcn.0043d580