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

Disassembly:
lea r12, [rsp - 0x568]
cmp r12, qword [r14 + 0x10]
jbe 0x579739
push rbp
mov rbp, rsp
sub rsp, 0x5e0
mov qword [rsp + 0x620], rax
mov qword [rsp + 0x628], rbx
mov qword [rsp + 0x650], r9
mov qword [rsp + 0x648], r8
mov qword [rsp + 0x640], rsi
mov qword [rsp + 0x638], rdi
mov qword [rsp + 0x150], rcx
mov qword [rsp + 0x2f8], rax
mov qword [rsp + 0x2f0], rbx
call fcn.00494fe0
mov rdx, qword [rsp + 0x640]
mov rsi, qword [rsp + 0x650]
nop word [rax + rax]
cmp rdx, rsi
jne 0x577263
movups xmm0, xmmword [rsp + 0x5f0]
movups xmmword [rsp], xmm0
movups xmm0, xmmword [rsp + 0x600]
movups xmmword [rsp + 0x10], xmm0
movups xmm0, xmmword [rsp + 0x610]
movups xmmword [rsp + 0x20], xmm0
mov rax, qword [rsp + 0x2f8]
mov rbx, qword [rsp + 0x2f0]
mov rcx, qword [rsp + 0x150]
call fcn.005797a0
test al, al
je 0x577216
xor eax, eax
xor ecx, ecx
jmp 0x57724f
lea rcx, [0x006c855a]
mov qword [rsp + 0x4a0], rcx
mov qword [rsp + 0x4a8], 0x12
mov rax, qword [rsp + 0x4a0]
mov ebx, 0x12
nop
call fcn.0040a940
mov rcx, rax
lea rax, [0x007424a0]
mov rbx, rax
mov rax, qword [rsp + 0x650]
add rsp, 0x5e0
pop rbp
ret
mov qword [rsp + 0x270], rbx
mov qword [rsp + 0xf0], rax
mov rcx, qword [rax + 0x98]
mov rax, rbx
call rcx
nop
cmp rax, 0x14
je 0x57728a
xor ecx, ecx
jmp 0x5772a9
mov rcx, qword [rsp + 0xf0]
mov rdx, qword [rcx + 0xd0]
mov rax, qword [rsp + 0x270]
call rdx
test rax, rax
sete cl
test cl, cl
je 0x5778cb
mov rax, qword [rsp + 0x638]
mov rbx, qword [rsp + 0x640]
mov rcx, qword [rsp + 0x648]
mov rdi, qword [rsp + 0x650]
call fcn.00576860
test r8, r8
jne 0x5778b9
mov qword [rsp + 0x98], rsi
lea r10, [rcx + rsi]
cmp rsi, r10
jg 0x577871
mov r11, qword [rsp + 0x640]
nop dword [rax]
cmp r11, r10
jl 0x577871
mov qword [rsp + 0x148], r10
test dil, dil
jne 0x577868
nop word [rax + rax]
test rax, rax
jne 0x57785f
mov rdx, qword [rsp + 0x648]
cmp rdx, r10
jb 0x579730
nop word [rax + rax]
cmp rsi, r10
ja 0x579725
sub rdx, rsi
mov r11, rdx
neg rdx
sar rdx, 0x3f
and rsi, rdx
lea rdx, [rbx - 2]
mov r12, qword [rsp + 0x638]
lea rax, [r12 + rsi]
cmp rdx, 0x1c
ja 0x577856
lea rbx, [0x00745d40]
jmp qword [rbx + rdx*8]
xor eax, eax
xor ecx, ecx
jmp 0x579500
xor eax, eax
xor ecx, ecx
jmp 0x579500
xor eax, eax
xor ecx, ecx
jmp 0x579500
lea rcx, [0x006c6f06]
mov qword [rsp + 0x490], rcx
mov qword [rsp + 0x498], 0xe
mov rax, qword [rsp + 0x490]
mov ebx, 0xe
call fcn.0040a940
lea rbx, [0x007424a0]
mov rcx, rax
mov rax, qword [rsp + 0x98]
add rsp, 0x5e0
pop rbp
ret
mov rax, rsi
mov rbx, r8
mov rcx, r9
add rsp, 0x5e0
pop rbp
ret
mov rax, qword [rsp + 0x638]
mov rbx, qword [rsp + 0x640]
mov rcx, qword [rsp + 0x648]
mov rdi, qword [rsp + 0x650]
call fcn.00576860
test r8, r8
jne 0x578e81
cmp byte [rsp + 0x5f1], 0
je 0x577c2a
mov qword [rsp + 0x148], rsi
movzx edx, byte [rsp + 0x5f2]
test rdx, rdx
mov edx, 2
mov r10d, 1
cmovne rdx, r10
mov r11, qword [rsp + 0x640]
cmp rsi, r11
je 0x577be2
mov qword [rsp + 0x2e8], r9
mov qword [rsp + 0x140], r8
cmp rax, rdx
jne 0x577b30
mov rdx, qword [rsp + 0x600]
nop dword [rax + rax]
cmp qword [rdx], rbx
jne 0x577b30
test rcx, rcx
je 0x577977
test dil, dil
je 0x577b30
mov rdx, qword [rsp + 0xf0]
nop
cmp qword [0x008a6b60], rdx
jne 0x577a42
mov byte [rsp + 0x7f], dil
mov qword [rsp + 0x138], rcx
mov qword [rsp + 0x130], rbx
mov qword [rsp + 0x128], rax
mov rcx, qword [0x008a6b68]
mov rax, rdx
mov rbx, qword [rsp + 0x270]
nop dword [rax]
call fcn.00405280
test al, al
je 0x577a05
mov rcx, qword [rsp + 0x138]
mov rbx, qword [rsp + 0x130]
mov rax, qword [rsp + 0x128]
movzx edi, byte [rsp + 0x7f]
mov rsi, qword [rsp + 0x148]
mov r8, qword [rsp + 0x140]
mov r9, qword [rsp + 0x2e8]
nop
jmp 0x577c2a
mov rdx, qword [rsp + 0x138]
test rdx, rdx
mov rdx, qword [rsp + 0xf0]
mov rsi, qword [rsp + 0x148]
mov r8, qword [rsp + 0x140]
mov r9, qword [rsp + 0x2e8]
mov r10d, 1
mov r11, qword [rsp + 0x640]
nop
jmp 0x577a45
test rcx, rcx
jg 0x577afa
cmp qword [0x008a6b40], rdx
jne 0x577a6f
mov rcx, qword [0x008a6b48]
mov rax, rdx
mov rbx, qword [rsp + 0x270]
call fcn.00405280
test al, al
jne 0x577ab7
lea rcx, [0x006d3d9e]
mov qword [rsp + 0x430], rcx
mov qword [rsp + 0x438], 0x2d
mov rax, qword [rsp + 0x430]
mov ebx, 0x2d
call fcn.0040a940
lea rbx, [0x00742660]
mov rcx, rax
mov rax, qword [rsp + 0x148]
add rsp, 0x5e0
pop rbp
ret
mov rax, qword [rsp + 0x2f8]
mov rbx, qword [rsp + 0x2f0]
mov rcx, qword [rsp + 0x150]
mov edi, 1
call fcn.00493e80
mov rax, qword [rsp + 0x148]
mov rbx, qword [rsp + 0x140]
mov rcx, qword [rsp + 0x2e8]
add rsp, 0x5e0
pop rbp
ret
mov rax, qword [rsp + 0x638]
mov rbx, r11
mov rcx, qword [rsp + 0x648]
mov rdi, rsi
call fcn.00576860
test r8, r8
je 0x577c2a
mov rax, rsi
mov rbx, r8
mov rcx, r9
add rsp, 0x5e0
pop rbp
ret
movups xmm0, xmmword [rsp + 0x5f0]
movups xmmword [rsp], xmm0
movups xmm0, xmmword [rsp + 0x600]
movups xmmword [rsp + 0x10], xmm0
movups xmm0, xmmword [rsp + 0x610]
movups xmmword [rsp + 0x20], xmm0
mov rax, qword [rsp + 0x2f8]
mov rbx, qword [rsp + 0x2f0]
mov rcx, qword [rsp + 0x150]
call fcn.005797a0
test al, al
je 0x577b91
mov rcx, qword [rsp + 0x650]
mov rdx, qword [rsp + 0x140]
mov rax, qword [rsp + 0x2e8]
jmp 0x577bcd
lea rcx, [0x006d121a]
mov qword [rsp + 0x420], rcx
mov qword [rsp + 0x428], 0x25
mov rax, qword [rsp + 0x420]
mov ebx, 0x25
call fcn.0040a940
mov rcx, qword [rsp + 0x148]
lea rdx, [0x00742660]
mov rbx, rdx
mov rdx, rax
mov rax, rcx
mov rcx, rdx
add rsp, 0x5e0
pop rbp
ret
lea rcx, [0x006cbb99]
mov qword [rsp + 0x440], rcx
mov qword [rsp + 0x448], 0x19
mov rax, qword [rsp + 0x440]
mov ebx, 0x19
call fcn.0040a940
lea rbx, [0x00742660]
mov rcx, rax
mov rax, qword [rsp + 0x148]
add rsp, 0x5e0
pop rbp
ret
mov qword [rsp + 0x2e8], r9
mov qword [rsp + 0x140], r8
mov qword [rsp + 0xb8], rcx
mov qword [rsp + 0xb0], rbx
mov qword [rsp + 0xc0], rax
mov byte [rsp + 0x7e], dil
mov qword [rsp + 0x90], rsi
mov rax, qword [rsp + 0xf0]
mov rbx, qword [rsp + 0x270]
call fcn.0057a180
test dil, dil
je 0x578de9
nop dword [rax]
cmp rbx, 0x13
jne 0x577d02
mov rsi, qword [rsp + 0xc0]
test rsi, rsi
jne 0x577ce2
mov rdi, qword [rsp + 0xb0]
nop dword [rax + rax]
cmp rdi, 0x14
jg 0x577cc0
cmp rdi, 0xc
je 0x577cd2
cmp rdi, 0x12
je 0x577cd2
cmp rdi, 0x14
je 0x577cd2
jmp 0x577cd7
cmp rdi, 0x16
je 0x577cd2
cmp rdi, 0x1b
je 0x577cd2
cmp rdi, 0x1e
jne 0x577cd7
mov rdx, rdi
jmp 0x577d15
mov rdx, rdi
mov edi, 0x13
nop
jmp 0x577d15
mov r8, qword [rsp + 0x608]
test r8, r8
mov edi, 0x13
cmovne rdi, r8
mov rdx, qword [rsp + 0xb0]
nop
jmp 0x577d15
mov rdx, qword [rsp + 0xb0]
mov rsi, qword [rsp + 0xc0]
mov rdi, rbx
cmp rdi, 0x17
jne 0x577d30
nop dword [rax + rax]
cmp rdx, 0x18
jne 0x577d30
test rsi, rsi
jne 0x577d30
mov edi, 0x18
movzx r8d, byte [rsp + 0x618]
movzx r9d, byte [rsp + 0x5f1]
test r8, r8
mov r8d, 0x11
cmovne rdi, r8
test r9b, r9b
je 0x577d62
mov ebx, eax
mov r8, rdi
mov r10d, 0
nop
jmp 0x577d9b
mov r8, qword [rsp + 0x600]
test r8, r8
je 0x577d8d
mov r8, qword [r8]
test r9b, r9b
mov ebx, eax
mov eax, 0
mov r10d, 2
mov r11, r8
mov r8, rdi
mov rdi, r11
jmp 0x577d9b
test r9b, r9b
mov ebx, eax
mov r8, rdi
mov r10d, 0
jne 0x577dcf
cmp byte [rsp + 0x5f2], 0
je 0x577dcc
mov r11, qword [rsp + 0x600]
test r11, r11
je 0x577dc7
mov rdi, qword [r11]
test r9b, r9b
mov eax, 0
mov r10d, 1
jmp 0x577dcf
test r9b, r9b
jmp 0x577dcf
test r9b, r9b
jne 0x577df3
cmp byte [rsp + 0x5f3], 0
je 0x577df3
mov r9, qword [rsp + 0x600]
test r9, r9
je 0x577df3
mov rdi, qword [r9]
xor eax, eax
mov r10d, 3
mov qword [rsp + 0xc8], rdi
test al, al
jne 0x577e12
nop
cmp rsi, r10
jne 0x578bd0
cmp rdi, rdx
jne 0x578bd0
test bl, bl
je 0x577e1e
movzx r9d, byte [rsp + 0x7e]
jmp 0x577e2d
movzx r9d, byte [rsp + 0x7e]
cmp cl, r9b
jne 0x578bd0
mov rdi, qword [rsp + 0xb8]
mov rax, qword [rsp + 0x90]
lea rcx, [rax + rdi]
cmp rax, rcx
jg 0x578b88
mov r10, qword [rsp + 0x640]
cmp r10, rcx
jl 0x578b88
mov r10, qword [rsp + 0x648]
cmp r10, rcx
jb 0x5794ef
cmp rax, rcx
ja 0x5794ea
mov qword [rsp + 0x148], r8
mov qword [rsp + 0x138], rcx
mov rax, qword [rsp + 0x2f8]
mov rbx, qword [rsp + 0x2f0]
mov rcx, qword [rsp + 0x150]
nop dword [rax]
call fcn.00490780
mov rdx, qword [rsp + 0x648]
mov rsi, qword [rsp + 0x90]
sub rdx, rsi
mov qword [rsp + 0x88], rdx
neg rdx
sar rdx, 0x3f
and rdx, rsi
mov qword [rsp + 0x130], rdx
mov rsi, qword [rsp + 0x638]
lea r9, [rsi + rdx]
mov qword [rsp + 0x178], r9
mov edi, 1
call fcn.004923a0
test rax, rax
je 0x57849b
mov qword [rsp + 0x2a0], rbx
mov edx, dword [rax + 0x10]
shr edx, 8
and edx, 0xf
lea rcx, [0x007451a0]
jmp qword [rcx + rdx*8]
mov rcx, qword [rsp + 0x150]
mov rdx, rcx
and edx, 0x1f
nop
nop
cmp rdx, 6
jbe 0x5788d1
cmp rdx, 0x17
je 0x5786d6
nop
cmp rdx, 0x18
jne 0x5786c5
mov rax, qword [rsp + 0x148]
cmp rax, 0x13
jg 0x5785aa
nop dword [rax]
cmp rax, 0xc
je 0x578534
cmp rax, 0x12
jne 0x578505
mov rdx, qword [rsp + 0xb8]
mov rbx, qword [rsp + 0x178]
xor eax, eax
nop
jmp 0x579474
cmp rax, 0x13
jne 0x578606
mov rax, qword [rsp + 0x178]
mov rbx, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x88]
call fcn.00576560
mov rdx, rdi
jmp 0x5793a6
mov rax, qword [rsp + 0x178]
mov rbx, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x88]
call fcn.0046f120
test al, al
je 0x578575
xor eax, eax
mov rbx, qword [rsp + 0x178]
mov rcx, qword [rsp + 0xb8]
call fcn.0044af60
xor ecx, ecx
xor edx, edx
jmp 0x5793a6
nop
lea rax, [0x006870a0]
nop dword [rax]
call fcn.0040d480
mov qword [rax + 8], 0x1a
lea rcx, [0x006cc369]
mov qword [rax], rcx
xor ebx, ebx
lea rcx, [0x00741740]
mov rdx, rax
xor eax, eax
jmp 0x5793a6
cmp rax, 0x16
jg 0x5785f3
cmp rax, 0x14
je 0x5785d3
cmp rax, 0x16
jne 0x578606
mov rdx, qword [rsp + 0xb8]
mov rbx, qword [rsp + 0x178]
xor eax, eax
jmp 0x579408
xor eax, eax
mov rbx, qword [rsp + 0x178]
mov rcx, qword [rsp + 0xb8]
call fcn.0044af60
xor ecx, ecx
xor edx, edx
jmp 0x5793a6
cmp rax, 0x1b
je 0x5786a5
nop dword [rax]
cmp rax, 0x1e
je 0x57867c
movups xmmword [rsp + 0x598], xmm15
call fcn.0040a8c0
lea rcx, [0x0066d380]
mov qword [rsp + 0x598], rcx
mov qword [rsp + 0x5a0], rax
lea rax, [0x006d187b]
mov ebx, 0x26
lea rcx, [rsp + 0x598]
mov edi, 1
mov rsi, rdi
call fcn.004c2a60
mov qword [rsp + 0x310], rax
mov qword [rsp + 0x318], rbx
mov rax, qword [rsp + 0x310]
call fcn.0040a940
lea rcx, [0x007424a0]
mov rdx, rax
xor ebx, ebx
xor eax, eax
jmp 0x5793a6
mov rax, qword [rsp + 0x178]
mov rbx, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x88]
call fcn.00576660
mov rdx, rdi
nop dword [rax]
jmp 0x5793a6
xor eax, eax
mov rbx, qword [rsp + 0x178]
mov rcx, qword [rsp + 0xb8]
call fcn.0044af60
xor ecx, ecx
xor edx, edx
jmp 0x5793a6
cmp rdx, 0x19
jne 0x578b16
xor eax, eax
jmp 0x578e9e
mov rcx, qword [rsp + 0xf0]
mov rdx, qword [rcx + 0x48]
mov rax, qword [rsp + 0x270]
call rdx
mov rcx, qword [rax + 0x98]
mov rax, rbx
call rcx
nop dword [rax + rax]
cmp rax, 8
jne 0x578826
mov rax, qword [rsp + 0xf0]
mov rbx, qword [rsp + 0x270]
mov rcx, qword [rsp + 0xb8]
mov rdi, rcx
call fcn.00495be0
mov rdi, rax
mov rsi, rbx
mov r8, rcx
mov rax, qword [rsp + 0x2f8]
mov rbx, qword [rsp + 0x2f0]
mov rcx, qword [rsp + 0x150]
call fcn.00493ce0
mov rdx, qword [rsp + 0x178]
mov qword [rsp + 0x340], rdx
mov rdx, qword [rsp + 0xb8]
mov qword [rsp + 0x348], rdx
mov rdx, qword [rsp + 0x88]
mov qword [rsp + 0x350], rdx
lea rdx, [0x0066b660]
mov qword [rsp + 0x2a8], rdx
lea rdx, [rsp + 0x340]
mov qword [rsp + 0x2b0], rdx
mov rdx, qword [rsp + 0x2a8]
test rdx, rdx
je 0x5787d5
movzx r9d, byte [rdx + 0x17]
mov r10d, r9d
and r9d, 0x1f
mov r11, r9
or r9, 0x80
nop
mov r12, qword [rsp + 0x2b0]
test r10b, 0x20
cmove r11, r9
jmp 0x5787dd
xor r11d, r11d
xor edx, edx
xor r12d, r12d
mov rax, qword [rsp + 0x2f8]
mov rbx, qword [rsp + 0x2f0]
mov rcx, qword [rsp + 0x150]
mov rdi, rdx
mov rsi, r12
mov r8, r11
nop
call fcn.00495700
mov rax, qword [rsp + 0x138]
mov rbx, qword [rsp + 0x140]
mov rcx, qword [rsp + 0x2e8]
add rsp, 0x5e0
pop rbp
ret
mov rcx, qword [rsp + 0xf0]
mov rdx, qword [rcx + 0x48]
mov rax, qword [rsp + 0x270]
call rdx
mov rcx, qword [rsp + 0x88]
mov rdi, qword [rsp + 0xf0]
mov rsi, qword [rsp + 0x270]
mov r8, rax
mov r9, rbx
mov rax, qword [rsp + 0x178]
mov rbx, qword [rsp + 0xb8]
call fcn.00576d20
test rdi, rdi
jne 0x5788ba
mov qword [rsp + 0xd8], rdi
mov qword [rsp + 0x258], rsi
mov rdi, rax
mov rsi, rbx
mov r8, rcx
mov rax, qword [rsp + 0x2f8]
mov rbx, qword [rsp + 0x2f0]
mov rcx, qword [rsp + 0x150]
call fcn.00493ce0
mov rsi, qword [rsp + 0x258]
mov rdi, qword [rsp + 0xd8]
mov rax, qword [rsp + 0x138]
mov rbx, rdi
mov rcx, rsi
add rsp, 0x5e0
pop rbp
ret
cmp rdx, 1
jne 0x578a00
nop
mov rdx, qword [rsp + 0xb8]
cmp rdx, 1
jne 0x578968
mov rdx, qword [rsp + 0x130]
mov rsi, qword [rsp + 0x638]
movzx edx, byte [rsi + rdx]
nop
test dl, dl
jne 0x57890f
xor eax, eax
xor edx, edx
xor ebx, ebx
jmp 0x5789a9
cmp dl, 0xff
jne 0x578925
xor eax, eax
mov edx, 1
xor ebx, ebx
nop dword [rax]
jmp 0x5789a9
lea rcx, [0x006c73f1]
mov qword [rsp + 0x368], rcx
mov qword [rsp + 0x370], 0xf
mov rax, qword [rsp + 0x368]
mov ebx, 0xf
call fcn.0040a940
mov rcx, qword [rsp + 0x150]
xor edx, edx
mov rbx, rax
lea rax, [0x007424a0]
jmp 0x5789a9
lea rcx, [0x006c73f1]
mov qword [rsp + 0x378], rcx
mov qword [rsp + 0x380], 0xf
mov rax, qword [rsp + 0x378]
mov ebx, 0xf
call fcn.0040a940
mov rcx, qword [rsp + 0x150]
xor edx, edx
mov rbx, rax
lea rax, [0x007424a0]
test rax, rax
jne 0x5789e5
mov qword [rsp + 0x278], rbx
mov qword [rsp + 0xf8], rax
mov rax, qword [rsp + 0x2f8]
mov rbx, qword [rsp + 0x2f0]
mov edi, edx
call fcn.00493e80
mov rax, qword [rsp + 0xf8]
mov rbx, qword [rsp + 0x278]
mov rcx, rbx
mov rbx, rax
mov rax, qword [rsp + 0x138]
add rsp, 0x5e0
pop rbp
ret
cmp rdx, 2
je 0x578a10
cmp rdx, 5
jb 0x578b16
mov rax, qword [rsp + 0x2f8]
mov rbx, qword [rsp + 0x2f0]
call fcn.00494fe0
mov rdx, qword [rax + 0xf0]
mov rax, rbx
call rdx
cmp rax, 4
jne 0x578a9f
mov rax, qword [rsp + 0x178]
mov rbx, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x88]
call fcn.005755a0
test rbx, rbx
jne 0x578b05
mov qword [rsp + 0x268], rcx
mov qword [rsp + 0xe8], rbx
movsxd rdi, eax
mov rax, qword [rsp + 0x2f8]
mov rbx, qword [rsp + 0x2f0]
mov rcx, qword [rsp + 0x150]
call fcn.00494540
mov rcx, qword [rsp + 0x268]
mov rbx, qword [rsp + 0xe8]
jmp 0x578b05
mov rax, qword [rsp + 0x178]
mov rbx, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x88]
call fcn.00575400
nop dword [rax]
test rbx, rbx
jne 0x578b05
mov qword [rsp + 0x260], rcx
mov qword [rsp + 0xe0], rbx
mov rbx, qword [rsp + 0x2f0]
mov rcx, qword [rsp + 0x150]
mov rdi, rax
mov rax, qword [rsp + 0x2f8]
call fcn.00494540
mov rcx, qword [rsp + 0x260]
mov rbx, qword [rsp + 0xe0]
mov rax, qword [rsp + 0x138]
add rsp, 0x5e0
pop rbp
ret
mov rax, qword [rsp + 0x2f8]
mov rbx, qword [rsp + 0x2f0]
call fcn.00494fe0
mov rdx, qword [rax + 0xf8]
mov rax, rbx
call rdx
mov ecx, 0xd
mov rdi, rax
mov rsi, rbx
xor eax, eax
lea rbx, [0x006c6a29]
call fcn.0044abe0
mov qword [rsp + 0x300], rax
mov qword [rsp + 0x308], rbx
mov rax, qword [rsp + 0x300]
call fcn.0040a940
lea rbx, [0x00742660]
mov rcx, rax
mov rax, qword [rsp + 0x138]
add rsp, 0x5e0
pop rbp
ret
lea rcx, [0x006c6f06]
mov qword [rsp + 0x3f0], rcx
mov qword [rsp + 0x3f8], 0xe
mov rax, qword [rsp + 0x3f0]
mov ebx, 0xe
call fcn.0040a940
lea rbx, [0x007424a0]
mov rcx, rax
mov rax, qword [rsp + 0x90]
add rsp, 0x5e0
pop rbp
ret
movups xmm0, xmmword [rsp + 0x5f0]
movups xmmword [rsp], xmm0
movups xmm0, xmmword [rsp + 0x600]
movups xmmword [rsp + 0x10], xmm0
movups xmm0, xmmword [rsp + 0x610]
movups xmmword [rsp + 0x20], xmm0
mov rax, qword [rsp + 0x2f8]
mov rbx, qword [rsp + 0x2f0]
mov rcx, qword [rsp + 0x150]
call fcn.005797a0
test al, al
je 0x578c34
mov rcx, qword [rsp + 0x650]
mov rdx, qword [rsp + 0x140]
mov rax, qword [rsp + 0x2e8]
jmp 0x578dd4
mov rcx, qword [rsp + 0xf0]
mov rcx, qword [rcx + 0xb8]
mov rax, qword [rsp + 0x270]
call rcx
mov qword [rsp + 0x2e8], rax
mov qword [rsp + 0x148], rbx
lea rdi, [rsp + 0x548]
lea rdi, [rdi - 0x30]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.004604d0
mov rbp, qword [rbp]
mov rax, qword [rsp + 0xc8]
call fcn.0040a8c0
lea rcx, [0x0066d380]
mov qword [rsp + 0x548], rcx
mov qword [rsp + 0x550], rax
mov rdx, qword [rsp + 0xc0]
mov qword [rsp + 0x158], rdx
mov rdx, qword [rsp + 0xb0]
mov qword [rsp + 0x160], rdx
mov rdx, qword [rsp + 0xb8]
mov qword [rsp + 0x168], rdx
movzx edx, byte [rsp + 0x7e]
mov byte [rsp + 0x170], dl
lea rax, [0x006a50e0]
lea rbx, [rsp + 0x158]
call fcn.0040a760
lea rcx, [0x006a50e0]
mov qword [rsp + 0x558], rcx
mov qword [rsp + 0x560], rax
lea rax, [0x006b2f80]
lea rbx, [rsp + 0x5f0]
call fcn.0040a6e0
lea rcx, [0x006b2f80]
mov qword [rsp + 0x568], rcx
mov qword [rsp + 0x570], rax
mov rax, qword [rsp + 0x2e8]
mov rbx, qword [rsp + 0x148]
call fcn.0040a940
lea rcx, [0x0066d140]
mov qword [rsp + 0x578], rcx
mov qword [rsp + 0x580], rax
mov rax, qword [rsp + 0x90]
call fcn.0040a8c0
lea rcx, [0x0066d380]
mov qword [rsp + 0x588], rcx
mov qword [rsp + 0x590], rax
lea rax, [0x006d1da6]
mov ebx, 0x27
lea rcx, [rsp + 0x548]
mov edi, 5
mov rsi, rdi
nop
call fcn.004c2a60
mov qword [rsp + 0x400], rax
mov qword [rsp + 0x408], rbx
mov rax, qword [rsp + 0x400]
nop dword [rax]
call fcn.0040a940
mov rcx, qword [rsp + 0x90]
lea rdx, [0x00742660]
mov rbx, rdx
mov rdx, rax
mov rax, rcx
mov rcx, rdx
add rsp, 0x5e0
pop rbp
ret
movups xmmword [rsp + 0x598], xmm15
mov rdx, qword [rsp + 0xf0]
test rdx, rdx
je 0x578e05
mov rax, qword [rdx + 8]
jmp 0x578e08
mov rax, rdx
mov qword [rsp + 0x598], rax
mov rdx, qword [rsp + 0x270]
mov qword [rsp + 0x5a0], rdx
lea rax, [0x006c8df5]
mov ebx, 0x13
lea rcx, [rsp + 0x598]
mov edi, 1
mov rsi, rdi
nop dword [rax]
call fcn.004c2a60
mov qword [rsp + 0x410], rax
mov qword [rsp + 0x418], rbx
mov rax, qword [rsp + 0x410]
nop dword [rax]
call fcn.0040a940
lea rbx, [0x00742660]
mov rcx, rax
mov rax, qword [rsp + 0x90]
add rsp, 0x5e0
pop rbp
nop
ret
mov rax, rsi
mov rbx, r8
mov rcx, r9
add rsp, 0x5e0
pop rbp
ret
mov rax, qword [rsp + 0xa8]
inc rax
mov qword [rsp + 0xa8], rax
mov rcx, qword [rsp + 0xf0]
mov rdx, qword [rcx + 0xc0]
mov rax, qword [rsp + 0x270]
call rdx
mov rbx, qword [rsp + 0xa8]
cmp rax, rbx
jle 0x578fae
mov rcx, qword [rsp + 0xf0]
mov rdx, qword [rcx + 0x50]
mov rax, qword [rsp + 0x270]
call rdx
mov rcx, qword [rsp]
mov qword [rsp + 0x4e0], rcx
lea rdi, [rsp + 0x4e8]
lea rsi, [rsp + 8]
nop
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.0046082c
mov rbp, qword [rbp]
mov rcx, qword [rsp + 0x4e0]
mov qword [rsp + 0x1f0], rcx
lea rdi, [rsp + 0x1f8]
lea rsi, [rsp + 0x4e8]
nop word [rax + rax]
nop dword [rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.0046082c
mov rbp, qword [rbp]
cmp qword [rsp + 0x208], 0
nop dword [rax]
je 0x578e93
lea rcx, [0x006cf7c7]
mov qword [rsp + 0x358], rcx
mov qword [rsp + 0x360], 0x21
mov rax, qword [rsp + 0x358]
mov ebx, 0x21
call fcn.0040a940
lea rbx, [0x00742660]
mov rcx, rax
mov rax, qword [rsp + 0x138]
add rsp, 0x5e0
pop rbp
ret
mov rcx, qword [rsp + 0xf0]
mov rdx, qword [rcx + 0xc0]
mov rax, qword [rsp + 0x270]
call rdx
test rax, rax
jg 0x578fd0
xor eax, eax
jmp 0x579045
mov rcx, qword [rsp + 0xf0]
mov rdx, qword [rcx + 0x50]
mov rax, qword [rsp + 0x270]
xor ebx, ebx
call rdx
mov rcx, qword [rsp]
mov qword [rsp + 0x4e0], rcx
lea rdi, [rsp + 0x4e8]
lea rsi, [rsp + 8]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.0046082c
mov rbp, qword [rbp]
mov rax, qword [rsp + 0x500]
nop dword [rax]
cmp qword [0x008a6b70], rax
je 0x57902d
xor eax, eax
jmp 0x579045
mov rbx, qword [rsp + 0x508]
mov rcx, qword [0x008a6b78]
nop dword [rax]
call fcn.00405280
test al, al
je 0x579158
mov rax, qword [rsp + 0x650]
mov rcx, qword [rsp + 0x138]
nop dword [rax]
cmp rax, rcx
ja 0x5793a1
mov rax, qword [rsp + 0x2f8]
mov rbx, qword [rsp + 0x2f0]
mov rcx, qword [rsp + 0x150]
xor edi, edi
call fcn.004920c0
mov qword [rsp + 0x2e0], rax
mov qword [rsp + 0x2d8], rbx
mov qword [rsp + 0x120], rcx
mov rdx, qword [rsp + 0x648]
mov rsi, qword [rsp + 0x650]
sub rdx, rsi
mov r8, qword [rsp + 0x138]
sub r8, rsi
mov r10, rdx
neg rdx
sar rdx, 0x3f
and rsi, rdx
mov rdx, qword [rsp + 0x638]
add rdx, rsi
mov rax, rdx
mov rbx, r8
mov rcx, r10
nop
call fcn.0040a9e0
nop
lea rdx, [0x0066f5a0]
mov qword [rsp + 0x2b8], rdx
mov qword [rsp + 0x2c0], rax
mov rdx, qword [rsp + 0x2b8]
test rdx, rdx
je 0x57912b
movzx r9d, byte [rdx + 0x17]
mov r10d, r9d
and r9d, 0x1f
mov r11, r9
or r9, 0x80
nop
test r10b, 0x20
cmove r11, r9
jmp 0x579132
xor r11d, r11d
xor edx, edx
xor eax, eax
mov rbx, qword [rsp + 0x2d8]
mov rcx, qword [rsp + 0x120]
mov rdi, rdx
mov rsi, rax
mov r8, r11
mov rax, qword [rsp + 0x2e0]
call fcn.00493ce0
xor eax, eax
xor ecx, ecx
mov rdx, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x2e8]
jmp 0x579185
mov rsi, qword [rsp + 0xa0]
inc rsi
mov rdx, rbx
mov rbx, rcx
mov rcx, rax
mov rax, rsi
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xd0], rcx
mov qword [rsp + 0x2e8], rbx
mov qword [rsp + 0x140], rdx
mov rsi, qword [rsp + 0xf0]
mov rdi, qword [rsi + 0xc0]
mov rax, qword [rsp + 0x270]
call rdi
mov rbx, qword [rsp + 0xa0]
cmp rax, rbx
jle 0x57937f
mov rcx, qword [rsp + 0xf0]
mov rdx, qword [rcx + 0x50]
mov rax, qword [rsp + 0x270]
call rdx
mov rcx, qword [rsp]
mov qword [rsp + 0x188], rcx
lea rdi, [rsp + 0x190]
lea rsi, [rsp + 8]
nop
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.0046082c
mov rbp, qword [rbp]
mov rdi, qword [rsp + 0xa0]
nop dword [rax + rax]
test rdi, rdi
jne 0x579258
mov rax, qword [rsp + 0x1a8]
cmp qword [0x008a6b70], rax
je 0x57923a
xor eax, eax
jmp 0x57925a
mov rbx, qword [rsp + 0x1b0]
mov rcx, qword [0x008a6b78]
call fcn.00405280
mov rdi, qword [rsp + 0xa0]
jmp 0x57925a
xor eax, eax
test al, al
je 0x57927b
mov rax, qword [rsp + 0xd0]
mov rbx, qword [rsp + 0x140]
mov rcx, qword [rsp + 0x2e8]
jmp 0x57916e
mov rax, qword [rsp + 0x2f8]
mov rbx, qword [rsp + 0x2f0]
mov rcx, qword [rsp + 0x150]
call fcn.004920c0
mov qword [rsp + 0x2e0], rax
mov qword [rsp + 0x2d8], rbx
mov qword [rsp + 0x120], rcx
mov rdx, qword [rsp + 0x1b8]
mov rsi, qword [rsp + 0x1c0]
mov edi, 4
mov rax, rdx
mov rbx, rsi
lea rcx, [0x006c4dae]
call fcn.0048d8c0
call fcn.00579c20
movups xmm0, xmmword [rsp]
movups xmmword [rsp + 0x4b0], xmm0
movups xmm0, xmmword [rsp + 0x10]
movups xmmword [rsp + 0x4c0], xmm0
movups xmm0, xmmword [rsp + 0x20]
movups xmmword [rsp + 0x4d0], xmm0
movups xmm0, xmmword [rsp + 0x4b0]
movups xmmword [rsp], xmm0
movups xmm0, xmmword [rsp + 0x4c0]
movups xmmword [rsp + 0x10], xmm0
movups xmm0, xmmword [rsp + 0x4d0]
movups xmmword [rsp + 0x20], xmm0
mov rax, qword [rsp + 0x2e0]
mov rbx, qword [rsp + 0x2d8]
mov rcx, qword [rsp + 0x120]
mov rdi, qword [rsp + 0x178]
mov rsi, qword [rsp + 0xb8]
mov r8, qword [rsp + 0x88]
mov r9, qword [rsp + 0xd0]
call fcn.00577140
test rbx, rbx
je 0x57916e
mov rax, qword [rsp + 0x138]
add rsp, 0x5e0
pop rbp
ret
mov rax, qword [rsp + 0x138]
mov rbx, qword [rsp + 0x140]
mov rcx, qword [rsp + 0x2e8]
add rsp, 0x5e0
pop rbp
nop
ret
call fcn.004602a0
test rcx, rcx
jne 0x5793ee
mov qword [rsp + 0x2e8], rdx
mov qword [rsp + 0x140], rcx
mov rcx, qword [rsp + 0x150]
mov rdi, rax
mov rsi, rbx
mov rax, qword [rsp + 0x2f8]
mov rbx, qword [rsp + 0x2f0]
call fcn.00494d60
mov rcx, qword [rsp + 0x140]
mov rdx, qword [rsp + 0x2e8]
mov rax, qword [rsp + 0x138]
mov rbx, rcx
mov rcx, rdx
add rsp, 0x5e0
pop rbp
ret
inc rax
cmp rax, rdx
jge 0x579452
movzx esi, byte [rax + rbx]
cmp sil, 0x80
jb 0x579405
lea rcx, [0x006d0ae2]
mov qword [rsp + 0x320], rcx
mov qword [rsp + 0x328], 0x24
mov rax, qword [rsp + 0x320]
mov ebx, 0x24
nop
call fcn.0040a940
xor ebx, ebx
lea rcx, [0x007424a0]
xor edx, edx
jmp 0x579463
xor eax, eax
mov rcx, rdx
call fcn.0044af60
xor ecx, ecx
mov rdx, rax
xor eax, eax
mov rsi, rdx
mov rdx, rax
mov rax, rsi
jmp 0x5793a6
inc rax
cmp rax, rdx
jge 0x5794c6
movzx esi, byte [rax + rbx]
lea edi, [rsi - 0x30]
cmp dil, 9
jbe 0x579471
cmp sil, 0x20
je 0x579471
lea rcx, [0x006d240c]
mov qword [rsp + 0x330], rcx
mov qword [rsp + 0x338], 0x28
mov rax, qword [rsp + 0x330]
mov ebx, 0x28
call fcn.0040a940
xor ebx, ebx
lea rcx, [0x007424a0]
xor edx, edx
jmp 0x5794d7
xor eax, eax
mov rcx, rdx
call fcn.0044af60
xor ecx, ecx
mov rdx, rax
xor eax, eax
mov rsi, rdx
mov rdx, rax
mov rax, rsi
jmp 0x5793a6
call fcn.004602a0
mov rdx, r10
call fcn.00460260
nop word [rax + rax]
test r8, r8
jne 0x5795c6
test rax, rax
je 0x5795b4
mov qword [rsp + 0x2e8], r9
mov qword [rsp + 0x140], r8
nop
mov qword [rsp + 0x2c8], rax
mov qword [rsp + 0x2d0], rcx
mov rdx, qword [rsp + 0x2c8]
nop dword [rax + rax]
test rdx, rdx
je 0x57956e
movzx r11d, byte [rdx + 0x17]
mov r12d, r11d
and r11d, 0x1f
mov r13, r11
or r11, 0x80
nop
mov r15, qword [rsp + 0x2d0]
test r12b, 0x20
cmove r13, r11
jmp 0x579576
xor r13d, r13d
xor edx, edx
xor r15d, r15d
mov rax, qword [rsp + 0x2f8]
mov rbx, qword [rsp + 0x2f0]
mov rcx, qword [rsp + 0x150]
mov rdi, rdx
mov rsi, r15
mov r8, r13
call fcn.00493ce0
mov r8, qword [rsp + 0x140]
mov r9, qword [rsp + 0x2e8]
mov r10, qword [rsp + 0x148]
mov rax, r10
mov rbx, r8
mov rcx, r9
add rsp, 0x5e0
pop rbp
ret
mov rax, r10
mov rbx, r8
mov rcx, r9
add rsp, 0x5e0
pop rbp
ret
mov rax, rsi
mov rcx, r10
call fcn.004602a0
mov rcx, r10
call fcn.00460260
nop
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x60], r8
mov qword [rsp + 0x68], r9
nop dword [rax]
call fcn.0045df00
mov rax, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
mov r8, qword [rsp + 0x60]
mov r9, qword [rsp + 0x68]
jmp fcn.00577140