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

Disassembly:
lea r12, [rsp - 0x80]
cmp r12, qword [r14 + 0x10]
jbe 0x4253b7
sub rsp, 0x100
mov qword [rsp + 0xf8], rbp
lea rbp, [rsp + 0xf8]
mov rcx, qword [r14 + 0x30]
cmp dword [rcx + 0xd8], 0
jne 0x424929
cmp dword [rcx + 0xc0], 0
jne 0x424929
mov rdx, r14
nop
cmp qword [rcx], rdx
jne 0x4253a5
mov byte [rsp + 0x110], bl
mov rcx, qword [rax]
test bl, bl
jne 0x42493e
mov qword [rax], 0
mov qword [rsp + 0x40], rcx
test byte [rcx], al
mov edx, dword [0x0080a370]
mov dword [rsp + 0x28], edx
lea rax, [rcx + 0x63]
mov qword [rsp + 0xb0], rax
nop dword [rax + rax]
call fcn.00426800
mov byte [rsp + 0x20], al
cmp al, 1
jne 0x42539b
mov ecx, dword [rsp + 0x28]
lea edx, [rcx - 1]
mov rsi, qword [rsp + 0x40]
nop dword [rax]
cmp dword [rsi + 0x58], edx
jne 0x425315
mov dword [rsp + 0x2c], edx
cmp byte [0x007ea170], 0
je 0x4249aa
mov rax, qword [rsi + 0x20]
shl rax, 0xd
nop
call fcn.00454240
mov rsi, qword [rsp + 0x40]
mov rbx, qword [rsi + 0x20]
lea rax, [0x0080a398]
call fcn.00401d00
mov rax, qword [rsp + 0x40]
movzx ecx, byte [rax + 0x62]
mov byte [rsp + 0x21], cl
mov rdx, qword [rax + 0x68]
mov qword [rsp + 0x38], rdx
mov rsi, qword [rax + 0x80]
mov qword [rsp + 0x98], rsi
nop
call fcn.00429600
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0xc0], rbx
lea rax, [rsp + 0xb8]
nop dword [rax]
call fcn.00429620
test al, al
je 0x424b45
mov rcx, qword [rsp + 0xc0]
movzx eax, word [rcx + 8]
mov rcx, qword [rsp + 0x38]
nop
test rcx, rcx
je 0x425310
xor edx, edx
div rcx
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x40]
call fcn.00426820
mov qword [rsp + 0x90], rax
mov rbx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x40]
call fcn.00414b00
mov qword [rsp + 0xa8], rax
mov byte [rsp + 0x23], bl
mov qword [rsp + 0x88], rcx
call fcn.00414b80
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x38]
imul rcx, rdx
mov rbx, qword [rsp + 0x90]
add rcx, rbx
mov qword [rsp + 0x50], rcx
test al, al
je 0x424ad7
mov rbx, qword [rsp + 0xc0]
cmp byte [rbx + 0xa], 3
jne 0x424ac5
lea rax, [rsp + 0xb8]
call fcn.00429660
mov byte [rax + 0x11], 1
mov rbx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x38]
call fcn.00429680
nop dword [rax]
jmp 0x4249f5
lea rax, [rsp + 0xb8]
call fcn.00429640
jmp 0x4249f5
mov rax, qword [rsp + 0x40]
nop dword [rax]
call fcn.00426820
mov rcx, qword [rsp + 0x50]
sub rcx, rax
mov rdx, qword [rsp + 0x38]
add rcx, rdx
mov qword [rsp + 0x70], rcx
mov rbx, qword [rsp + 0xc0]
jmp 0x42524a
mov rax, qword [rsp + 0xa8]
movzx ebx, byte [rsp + 0x23]
mov rcx, qword [rsp + 0x88]
nop dword [rax]
call fcn.00414bc0
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x38]
mov eax, 1
jmp 0x424b3c
xor eax, eax
jmp 0x424b3c
xor eax, eax
mov byte [rsp + 0x22], al
jmp 0x425274
mov rcx, qword [rsp + 0x98]
test rcx, rcx
je 0x424b6e
mov rax, qword [rsp + 0x40]
cmp qword [rax + 0x80], 0
nop
jne 0x424b73
call fcn.00428fa0
mov rax, qword [rsp + 0x40]
jmp 0x424b73
mov rax, qword [rsp + 0x40]
cmp dword [0x00838644], 0
jne 0x424b85
cmp dword [0x00838604], 0
je 0x424bcb
call fcn.00414b60
mov qword [rsp + 0xc8], rax
mov byte [rsp + 0xd0], bl
mov qword [rsp + 0xd8], rcx
mov rax, qword [rsp + 0x40]
xor ebx, ebx
call fcn.00414820
mov qword [rsp + 0xe0], rax
mov byte [rsp + 0xe8], bl
mov qword [rsp + 0xf0], rcx
xor eax, eax
jmp 0x425154
mov rbx, qword [rax + 0x30]
cmp qword [rax + 0x38], rbx
jbe 0x424c60
mov qword [rsp + 0x90], rbx
mov rcx, qword [rax + 0x50]
shr rbx, 3
mov qword [rsp + 0x88], rbx
mov rax, rcx
call fcn.00429780
mov qword [rsp + 0xa8], rax
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rcx + 0x48]
mov rbx, qword [rsp + 0x88]
mov rax, rdx
call fcn.00429780
mov rcx, qword [rsp + 0xa8]
movzx ecx, byte [rcx]
movzx edx, byte [rax]
not edx
and ecx, edx
mov rdx, qword [rsp + 0x90]
and edx, 7
mov eax, ecx
mov rcx, rdx
shr al, cl
nop
test al, al
je 0x424c4e
mov rax, qword [rsp + 0x40]
call fcn.004253e0
mov rcx, qword [rsp + 0x88]
inc rcx
jmp 0x4250b7
call fcn.00415d00
mov qword [rsp + 0x80], rax
mov rcx, qword [rsp + 0x40]
movzx edx, word [rcx + 0x60]
mov ebx, edx
sub edx, eax
mov word [rsp + 0x24], dx
nop
cmp ax, bx
ja 0x425005
mov word [rcx + 0x60], ax
mov qword [rcx + 0x30], 0
cmp byte [0x007ea170], 0
je 0x424ccf
mov rcx, qword [r14 + 0x30]
mov rax, qword [rcx + 0xa0]
call fcn.00445fe0
test byte [rax], al
movzx ecx, word [rsp + 0x24]
movzx edx, cx
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rbx + 0x68]
imul rsi, rdx
add qword [rax + 0x11e8], rsi
mov rcx, rbx
mov rdx, qword [rcx + 0x50]
mov qword [rcx + 0x48], rdx
mov rax, qword [rcx + 0x38]
nop dword [rax + rax]
call fcn.00429860
mov rcx, qword [rsp + 0x40]
mov qword [rcx + 0x50], rax
mov rax, rcx
xor ebx, ebx
call fcn.00414860
mov rax, qword [rsp + 0xb0]
call fcn.00426800
mov byte [rsp + 0x1f], al
cmp al, 1
jne 0x424ffb
mov rcx, qword [rsp + 0x40]
mov edx, dword [rcx + 0x58]
mov esi, dword [rsp + 0x2c]
nop dword [rax]
cmp edx, esi
jne 0x424f72
mov esi, dword [rsp + 0x28]
lea edi, [rsi + 1]
cmp edx, edi
je 0x424f61
lea edi, [rsi + 3]
nop word [rax + rax]
cmp edx, edi
je 0x424f61
xchg dword [rcx + 0x58], esi
movzx eax, byte [rsp + 0x21]
call fcn.00426a60
test al, al
je 0x424e81
movzx ecx, word [rsp + 0x24]
test cx, cx
ja 0x424d73
movzx ecx, byte [rsp + 0x110]
test cl, cl
jmp 0x424dd6
mov rcx, qword [rsp + 0x40]
mov byte [rcx + 0x64], 1
lea rax, [0x0083de48]
call fcn.004303e0
mov qword [rsp + 0xa0], rax
movzx eax, byte [rsp + 0x21]
call fcn.00426a60
mov rcx, qword [rsp + 0xa0]
test byte [rcx], al
movsx rdx, al
lea rcx, [rcx + rdx*8]
lea rcx, [rcx + 0x278]
movzx edx, word [rsp + 0x24]
movzx edx, dx
lock xadd qword [rcx], rdx
lea rax, [0x0083de48]
call fcn.004304c0
movzx ecx, byte [rsp + 0x110]
test cl, cl
jne 0x424f4f
mov rcx, qword [rsp + 0x80]
test cx, cx
je 0x424e5a
movzx ecx, cx
mov rdx, qword [rsp + 0x40]
cmp qword [rdx + 0x38], rcx
jne 0x424e2a
movzx ecx, byte [rsp + 0x21]
lea rcx, [rcx + rcx*2]
shl rcx, 6
lea rdx, [0x0080a678]
lea rax, [rcx + rdx]
mov ebx, dword [rsp + 0x28]
call fcn.00418600
mov rbx, qword [rsp + 0x40]
nop dword [rax]
call fcn.0042fb60
jmp 0x424f4f
movzx ecx, byte [rsp + 0x21]
lea rcx, [rcx + rcx*2]
shl rcx, 6
lea rdx, [0x0080a678]
lea rax, [rcx + rdx]
mov ebx, dword [rsp + 0x28]
call fcn.004185c0
mov rbx, qword [rsp + 0x40]
call fcn.0042fb60
jmp 0x424f4f
lea rax, [0x007fa240]
mov rbx, qword [rsp + 0x40]
call fcn.004285c0
mov eax, 1
mov rbp, qword [rsp + 0xf8]
add rsp, 0x100
nop
ret
movzx ecx, byte [rsp + 0x110]
test cl, cl
jne 0x424f4f
movzx ecx, word [rsp + 0x24]
test cx, cx
je 0x424f22
cmp dword [0x00838608], 0
jle 0x424ec7
mov rax, qword [rsp + 0x40]
mov qword [rax + 0x70], 0
call fcn.00426820
mov rbx, qword [rsp + 0x38]
nop
call fcn.00419480
jmp 0x424ed8
lea rax, [0x007fa240]
mov rbx, qword [rsp + 0x40]
call fcn.004285c0
lea rax, [0x0083de48]
nop
call fcn.004303e0
mov ecx, 1
lock xadd qword [rax + 0x270], rcx
mov rcx, qword [rsp + 0x38]
lock xadd qword [rax + 0x268], rcx
lea rax, [0x0083de48]
call fcn.004304c0
mov eax, 1
mov rbp, qword [rsp + 0xf8]
add rsp, 0x100
ret
movzx ecx, byte [rsp + 0x21]
lea rcx, [rcx + rcx*2]
shl rcx, 6
lea rdx, [0x0080a678]
lea rax, [rcx + rdx]
mov ebx, dword [rsp + 0x28]
nop
call fcn.00418600
mov rbx, qword [rsp + 0x40]
call fcn.0042fb60
xor eax, eax
mov rbp, qword [rsp + 0xf8]
add rsp, 0x100
ret
lea rax, [0x00648bbb]
mov ebx, 0x11
call fcn.00436d80
mov eax, dword [rcx + 0x58]
mov qword [rsp + 0x98], rax
nop dword [rax]
call fcn.00438460
lea rax, [0x006499d2]
mov ebx, 0x13
call fcn.00438d00
movzx eax, byte [rsp + 0x1f]
movzx eax, al
nop
call fcn.00438a40
lea rax, [0x00645afa]
mov ebx, 0xa
call fcn.00438d00
mov rax, qword [rsp + 0x98]
nop
call fcn.00438a40
lea rax, [0x00647e73]
mov ebx, 0x10
call fcn.00438d00
mov eax, dword [rsp + 0x28]
call fcn.00438a40
nop
call fcn.004386a0
call fcn.004384e0
lea rax, [0x00653097]
mov ebx, 0x27
call fcn.00436d80
mov rcx, qword [rsp + 0x40]
jmp 0x424f72
mov word [rsp + 0x26], bx
mov rax, qword [rcx + 0x38]
mov qword [rsp + 0x90], rax
call fcn.00438460
lea rax, [0x00648583]
mov ebx, 0x10
call fcn.00438d00
mov rax, qword [rsp + 0x90]
call fcn.00438a40
lea rax, [0x00645207]
mov ebx, 8
call fcn.00438d00
mov rax, qword [rsp + 0x80]
movzx eax, ax
call fcn.00438a40
lea rax, [0x0064a4d8]
mov ebx, 0x15
call fcn.00438d00
movzx eax, word [rsp + 0x26]
call fcn.00438a40
lea rax, [0x00645217]
mov ebx, 8
call fcn.00438d00
movzx eax, word [rsp + 0x24]
movzx eax, ax
call fcn.00438a40
call fcn.004386a0
call fcn.004384e0
lea rax, [0x006505c1]
mov ebx, 0x20
call fcn.00436d80
mov rdx, qword [rsp + 0x60]
lea rcx, [rdx + 1]
mov qword [rsp + 0x60], rcx
mov rdx, qword [rsp + 0x40]
mov rax, qword [rdx + 0x38]
mov ebx, 8
call fcn.0044dc00
mov rbx, qword [rsp + 0x60]
cmp rax, rbx
jbe 0x425127
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx + 0x50]
call fcn.00429780
mov qword [rsp + 0xa8], rax
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rcx + 0x48]
mov rbx, qword [rsp + 0x60]
mov rax, rdx
call fcn.00429780
mov rcx, qword [rsp + 0xa8]
movzx ecx, byte [rcx]
movzx edx, byte [rax]
not edx
test cl, dl
je 0x4250ae
mov rax, qword [rsp + 0x40]
nop
call fcn.004253e0
jmp 0x4250ae
mov rax, qword [rsp + 0x40]
jmp 0x424c60
lea rax, [rsp + 0xc8]
call fcn.00414be0
lea rax, [rsp + 0xe0]
call fcn.00414be0
mov rcx, qword [rsp + 0x68]
lea rax, [rcx + 1]
mov rdx, qword [rsp + 0x40]
nop dword [rax]
cmp qword [rdx + 0x38], rax
jbe 0x42523f
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0xc8]
movzx ebx, byte [rsp + 0xd0]
mov rcx, qword [rsp + 0xd8]
call fcn.00414b80
test al, al
je 0x425199
mov rax, qword [rsp + 0x40]
xor ecx, ecx
jmp 0x4251cf
mov rcx, qword [rsp + 0xf0]
mov rax, qword [rsp + 0x40]
cmp qword [rax + 0x30], rcx
jbe 0x4251b3
mov ecx, 1
jmp 0x4251cf
mov rax, qword [rsp + 0xe0]
movzx ebx, byte [rsp + 0xe8]
call fcn.00414b80
mov ecx, eax
mov rax, qword [rsp + 0x40]
test cl, cl
je 0x425131
call fcn.00426820
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rcx + 0x68]
mov rbx, qword [rsp + 0x68]
imul rdx, rbx
add rax, rdx
cmp dword [0x00838644], 0
je 0x425218
mov qword [rsp + 0x30], rax
mov rbx, qword [rsp + 0x38]
call fcn.0042e880
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x68]
cmp dword [0x00838604], 0
nop
je 0x425131
mov rbx, qword [rsp + 0x38]
call fcn.00425860
mov rcx, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x68]
jmp 0x425131
mov rax, rdx
jmp 0x424bcb
mov rbx, qword [rbx]
test rbx, rbx
je 0x424b3a
movzx esi, word [rbx + 8]
nop word [rax + rax]
cmp rsi, rcx
jae 0x424b36
cmp byte [rbx + 0xa], 1
jne 0x425247
jmp 0x424b07
lea rax, [rsp + 0xb8]
nop dword [rax]
call fcn.00429620
test al, al
je 0x4249f5
mov rcx, qword [rsp + 0xc0]
movzx edx, word [rcx + 8]
mov rbx, qword [rsp + 0x70]
nop
cmp rdx, rbx
jae 0x4249f5
mov qword [rsp + 0x78], rcx
mov rax, qword [rsp + 0x40]
call fcn.00426820
mov rcx, qword [rsp + 0x78]
movzx edx, word [rcx + 8]
add rdx, rax
mov qword [rsp + 0x48], rdx
cmp byte [rcx + 0xa], 1
je 0x4252d8
movzx ebx, byte [rsp + 0x22]
test bl, bl
jne 0x4252fe
lea rax, [rsp + 0xb8]
call fcn.00429660
mov rbx, qword [rsp + 0x48]
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x38]
call fcn.00429680
jmp 0x425274
lea rax, [rsp + 0xb8]
call fcn.00429640
jmp 0x425274
call fcn.004356e0
mov eax, dword [rsi + 0x58]
mov qword [rsp + 0x98], rax
call fcn.00438460
lea rax, [0x006499d2]
mov ebx, 0x13
call fcn.00438d00
movzx eax, byte [rsp + 0x20]
movzx eax, al
nop
call fcn.00438a40
lea rax, [0x00645afa]
mov ebx, 0xa
call fcn.00438d00
mov rax, qword [rsp + 0x98]
nop
call fcn.00438a40
lea rax, [0x00647e73]
mov ebx, 0x10
call fcn.00438d00
mov eax, dword [rsp + 0x28]
call fcn.00438a40
nop
call fcn.004386a0
call fcn.004384e0
lea rax, [0x0064dd78]
mov ebx, 0x1b
call fcn.00436d80
mov rsi, qword [rsp + 0x40]
jmp 0x425315
lea rax, [0x0064e63a]
mov ebx, 0x1c
call fcn.00436d80
nop
mov qword [rsp + 8], rax
mov byte [rsp + 0x10], bl
call fcn.0045f280
mov rax, qword [rsp + 8]
movzx ebx, byte [rsp + 0x10]
jmp fcn.004248e0