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

Disassembly:
add rsp, 0xffffffffffffff80
mov qword [rsp + 0x78], rbp
lea rbp, [rsp + 0x78]
mov rdx, qword [rsp + 0x88]
mov rbx, qword [rdx + 8]
mov rsi, qword [rsp + 0x98]
cmp rsi, rbx
jae 0x4053c7
sub rbx, rsi
mov rdi, qword [rsp + 0xa0]
cmp rdi, rbx
cmova rdi, rbx
movzx ebx, byte [rdx + 0x17]
test bl, 0x40
je 0x405399
mov rbx, qword [0x007cc490]
test rbx, rbx
je 0x40538f
mov r8, qword [rbx]
mov rbx, qword [rbx + 8]
mov r9, qword [rsp + 0x90]
xor eax, eax
jmp 0x4050b3
inc rax
mov r9, r13
cmp rax, rbx
jge 0x405169
mov r10, qword [r8 + rax*8]
mov r11, qword [r10 + 0xd0]
mov r12, qword [r10 + 0xd8]
mov r13, r9
cmp r11, r9
ja 0x4050db
cmp r12, r9
ja 0x40512f
mov r11, qword [r10 + 0xe0]
mov r12, qword [r10 + 0xe8]
cmp r9, r11
jb 0x4050ad
cmp r9, r12
jae 0x4050ad
mov rax, r11
sub r11, r9
mov rcx, qword [r10 + 0x1f8]
lea rdx, [r11 + r13]
mov qword [rsp], rdx
mov qword [rsp + 8], rcx
sub r9, rax
lea rax, [r9 + rsi]
mov qword [rsp + 0x10], rax
mov qword [rsp + 0x18], rdi
nop
call fcn.00405400
mov rbp, qword [rsp + 0x78]
sub rsp, 0xffffffffffffff80
ret
mov rax, r11
sub r11, r9
mov rcx, qword [r10 + 0x1e8]
lea rdx, [r11 + r13]
mov qword [rsp], rdx
mov qword [rsp + 8], rcx
sub r9, rax
lea rax, [r9 + rsi]
mov qword [rsp + 0x10], rax
mov qword [rsp + 0x18], rdi
call fcn.00405400
mov rbp, qword [rsp + 0x78]
sub rsp, 0xffffffffffffff80
ret
mov rbx, r9
nop
movabs r8, 0x800000000000
lea rax, [r8 + r9]
mov r10, rax
shr rax, 0x2a
cmp rax, 0x40
jae 0x4053f4
lea r11, [0x007f2f78]
mov r12, qword [r11 + rax*8]
shr r10, 0x16
and r10, 0xfffff
mov r10, qword [r12 + r10*8]
shr r9, 0xd
and r9, 0x1ff
mov r9, qword [r10 + r9*8 + 0x20000]
test byte [r12], al
test byte [r10], al
mov r9b, byte [r9 + 0x63]
cmp r9b, 2
je 0x40533d
mov rdx, rbx
nop
lea rax, [r8 + rbx]
mov r8, rax
shr rax, 0x2a
nop dword [rax]
cmp rax, 0x40
jae 0x4053ea
mov rax, qword [r11 + rax*8]
test byte [rax], al
shr r8, 0x16
mov rcx, r8
and r8, 0xfffff
mov rax, qword [rax + r8*8]
test rax, rax
je 0x40532f
mov r9, rbx
shr rbx, 5
and rbx, 0x1ffff
add rbx, rax
shr r9, 3
and r9, 3
add rax, 0x1ffff
mov qword [rsp + 0xa0], rdi
xor r8d, r8d
jmp 0x40523b
add r8, 8
lea r10, [rdi + rsi]
nop
cmp r8, r10
jae 0x405325
mov qword [rsp + 0x38], r8
movzx r10d, byte [rbx]
cmp rsi, r8
ja 0x40525d
bt r10d, r9d
jb 0x4052c5
nop dword [rax]
cmp r9d, 3
jae 0x40526b
inc r9d
jmp 0x405237
cmp rbx, rax
je 0x405278
inc rbx
xor r9d, r9d
jmp 0x405237
mov qword [rsp], rbx
mov dword [rsp + 8], r9d
mov dword [rsp + 0xc], ecx
mov qword [rsp + 0x10], rax
call fcn.00415ce0
mov rbx, qword [rsp + 0x18]
mov r9d, dword [rsp + 0x20]
mov ecx, dword [rsp + 0x24]
mov rax, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x90]
mov rsi, qword [rsp + 0x98]
mov rdi, qword [rsp + 0xa0]
mov r8, qword [rsp + 0x38]
nop
jmp 0x405237
mov dword [rsp + 0x34], ecx
mov dword [rsp + 0x30], r9d
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x40], rax
mov rax, qword [rdx + r8]
mov qword [rsp], rax
call fcn.00404cc0
cmp byte [rsp + 8], 0
jne 0x4053d1
mov rax, qword [rsp + 0x40]
mov ecx, dword [rsp + 0x34]
mov rdx, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x98]
mov rdi, qword [rsp + 0xa0]
mov r8, qword [rsp + 0x38]
mov r9d, dword [rsp + 0x30]
jmp 0x40525d
mov rbp, qword [rsp + 0x78]
sub rsp, 0xffffffffffffff80
ret
xor ecx, ecx
xor r9d, r9d
xor eax, eax
xor ebx, ebx
jmp 0x40522a
mov qword [rsp + 0x50], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
movups xmmword [rsp + 0x68], xmm0
lea rax, [0x00461200]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x70], rdi
lea rax, [rsp + 0x50]
mov qword [rsp], rax
nop dword [rax]
call fcn.0046aa80
mov rbp, qword [rsp + 0x78]
sub rsp, 0xffffffffffffff80
ret
xor ebx, ebx
xor r8d, r8d
jmp 0x4050a1
mov rax, qword [rdx + 0x20]
mov rcx, qword [rsp + 0x90]
mov qword [rsp], rcx
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
call fcn.00405400
mov rbp, qword [rsp + 0x78]
sub rsp, 0xffffffffffffff80
ret
mov rbp, qword [rsp + 0x78]
sub rsp, 0xffffffffffffff80
ret
lea rax, [0x00664ad8]
mov qword [rsp], rax
mov qword [rsp + 8], 0x24
call fcn.00439220
mov ecx, 0x40
call fcn.0046cde0
mov ecx, 0x40
call fcn.0046cde0
nop
int3