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

Disassembly:
lea r12, [rsp - 0x1c8]
cmp r12, qword [r14 + 0x10]
jbe 0x53b05f
sub rsp, 0x248
mov qword [rsp + 0x240], rbp
lea rbp, [rsp + 0x240]
mov qword [rsp + 0x258], rbx
mov qword [rsp + 0x260], rcx
mov qword [rsp + 0x250], rax
mov qword [rsp + 0xf0], rdi
mov qword [rsp + 0x1c0], rcx
mov qword [rsp + 0x1b8], rbx
mov rax, rbx
mov rbx, rcx
mov rcx, rdi
xor edi, edi
call fcn.005387a0
test rax, rax
jne 0x539b50
test rcx, rcx
je 0x5396a7
mov rax, qword [rsp + 0x1b8]
mov rbx, qword [rsp + 0x1c0]
mov rcx, qword [rsp + 0xf0]
call fcn.004974a0
mov qword [rsp + 0x1b0], rax
mov qword [rsp + 0x1a8], rbx
lea rax, [0x00a84900]
call fcn.0040e6a0
mov qword [rax + 8], 6
lea rdx, [0x00abce4a]
mov qword [rax], rdx
mov rdx, qword [rsp + 0x1b0]
mov qword [rax + 0x10], rdx
cmp dword [0x011546d0], 0
jne 0x539629
mov rdx, qword [rsp + 0x1a8]
mov qword [rax + 0x18], rdx
jmp 0x53963a
lea rdi, [rax + 0x18]
mov rdx, qword [rsp + 0x1a8]
call fcn.004657e0
mov rdx, qword [rsp + 0x250]
mov rsi, qword [rdx + 0x18]
mov qword [rax + 0x20], rsi
cmp qword [rdx + 0x70], 0
jne 0x53968b
lea rbx, [0x00dbe5a0]
mov rcx, rax
mov rax, rdx
nop
call fcn.00537fe0
mov rdx, qword [rsp + 0x250]
mov qword [rdx + 0x70], rax
cmp dword [0x011546d0], 0
jne 0x539682
mov qword [rdx + 0x78], rbx
nop
jmp 0x53968b
lea rdi, [rdx + 0x78]
call fcn.00465800
mov rax, rdx
call fcn.00538120
xor eax, eax
xor ebx, ebx
mov rbp, qword [rsp + 0x240]
add rsp, 0x248
ret
mov qword [rsp + 0xf0], r9
mov qword [rsp + 0x1c0], r8
mov qword [rsp + 0x1b8], rsi
mov rax, rsi
mov rbx, r8
mov rcx, r9
call fcn.004974a0
mov qword [rsp + 0x1b0], rax
mov qword [rsp + 0x100], rbx
nop
mov rcx, qword [rsp + 0xf0]
mov rdx, rcx
and rcx, 0x1f
mov qword [rsp + 0xe8], rcx
cmp rcx, 0x14
je 0x5396ff
xor esi, esi
jmp 0x539740
mov rax, qword [rsp + 0x1b8]
mov rbx, qword [rsp + 0x1c0]
mov rcx, rdx
call fcn.00494a80
test rax, rax
sete dl
mov rax, qword [rsp + 0x1b0]
mov rcx, qword [rsp + 0xe8]
mov rbx, qword [rsp + 0x100]
mov esi, edx
mov rdx, qword [rsp + 0xf0]
nop
test sil, sil
jne 0x539a87
cmp rcx, 0x15
je 0x53982e
cmp rcx, 0x19
jne 0x539773
call fcn.00545d20
mov rdx, qword [rsp + 0xf0]
mov rsi, qword [rsp + 0x1c0]
jmp 0x53993b
lea rax, [0x00a84900]
call fcn.0040e6a0
mov qword [rax + 8], 6
lea rcx, [0x00abce4a]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x1b0]
mov qword [rax + 0x10], rcx
cmp dword [0x011546d0], 0
jne 0x5397b4
mov rdx, qword [rsp + 0x100]
mov qword [rax + 0x18], rdx
jmp 0x5397c5
lea rdi, [rax + 0x18]
mov rdx, qword [rsp + 0x100]
call fcn.004657e0
mov rdx, qword [rsp + 0x250]
mov rsi, qword [rdx + 0x18]
mov qword [rax + 0x20], rsi
cmp qword [rdx + 0x70], 0
jne 0x539812
lea rbx, [0x00dbe5a0]
mov rcx, rax
mov rax, rdx
call fcn.00537fe0
mov rdx, qword [rsp + 0x250]
mov qword [rdx + 0x70], rax
cmp dword [0x011546d0], 0
jne 0x539809
mov qword [rdx + 0x78], rbx
jmp 0x539812
lea rdi, [rdx + 0x78]
call fcn.00465800
mov rax, rdx
call fcn.00538120
xor eax, eax
xor ebx, ebx
mov rbp, qword [rsp + 0x240]
add rsp, 0x248
ret
mov rcx, qword [rax + 0x90]
mov rax, rbx
call rcx
mov rcx, qword [rax + 0x98]
mov rax, rbx
call rcx
lea rcx, [rax - 2]
cmp rcx, 0xa
jbe 0x5398a8
cmp rax, 0x18
je 0x5398a8
mov rcx, qword [rsp + 0x1b0]
mov rdx, qword [rcx + 0x90]
mov rax, qword [rsp + 0x100]
call rdx
lea rcx, [0x00dd54b0]
cmp rax, rcx
jne 0x53b04b
mov rax, rbx
call fcn.00489440
mov rbx, qword [0x010fd070]
mov rcx, qword [0x010fd078]
call fcn.00489720
nop word [rax + rax]
test al, al
je 0x5399c7
mov rdx, qword [rsp + 0xf0]
bt edx, 9
jae 0x5398c2
mov rsi, qword [rsp + 0x1c0]
nop
jmp 0x539935
bt edx, 7
jae 0x5398d5
mov rsi, qword [rsp + 0x1c0]
mov r8, qword [rsi]
jmp 0x5398e0
mov rsi, qword [rsp + 0x1c0]
mov r8, rsi
test r8, r8
jne 0x539935
mov rax, qword [rsp + 0x1b0]
mov rbx, qword [rsp + 0x100]
xor ecx, ecx
call fcn.004982e0
mov rdi, rax
mov rsi, rbx
mov r8, rcx
mov rax, qword [rsp + 0x1b8]
mov rbx, qword [rsp + 0x1c0]
mov rcx, qword [rsp + 0xf0]
nop dword [rax]
call fcn.004959c0
mov rdx, qword [rsp + 0xf0]
mov rsi, qword [rsp + 0x1c0]
xor eax, eax
xor ebx, ebx
xor edi, edi
mov qword [rsp + 0x218], 0
lea rcx, [rsp + 0x220]
movups xmmword [rcx], xmm15
lea rcx, [rsp + 0x230]
movups xmmword [rcx], xmm15
mov rcx, qword [rsp + 0x250]
mov r8, qword [rcx + 0x68]
test r8, r8
je 0x539995
mov r9, qword [r8]
mov qword [rsp + 0x218], r9
movups xmm0, xmmword [r8 + 8]
movups xmmword [rsp + 0x220], xmm0
movups xmm0, xmmword [r8 + 0x18]
movups xmmword [rsp + 0x230], xmm0
mov qword [rsp + 0xb8], rbx
mov qword [rsp + 0x150], rax
mov qword [rsp + 0x148], rdi
lea r8, [rcx + 0x68]
mov qword [rsp + 0x1a0], r8
xor r9d, r9d
xor r10d, r10d
xor r11d, r11d
jmp 0x539c0e
lea rax, [0x00a84900]
call fcn.0040e6a0
mov qword [rax + 8], 6
lea rcx, [0x00abce4a]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x1b0]
mov qword [rax + 0x10], rcx
cmp dword [0x011546d0], 0
jne 0x539a08
mov rdx, qword [rsp + 0x100]
mov qword [rax + 0x18], rdx
jmp 0x539a19
lea rdi, [rax + 0x18]
mov rdx, qword [rsp + 0x100]
call fcn.004657e0
mov rdx, qword [rsp + 0x250]
mov rsi, qword [rdx + 0x18]
mov qword [rax + 0x20], rsi
cmp qword [rdx + 0x70], 0
jne 0x539a6b
lea rbx, [0x00dbe5a0]
mov rcx, rax
mov rax, rdx
nop dword [rax]
call fcn.00537fe0
mov rdx, qword [rsp + 0x250]
mov qword [rdx + 0x70], rax
cmp dword [0x011546d0], 0
jne 0x539a62
mov qword [rdx + 0x78], rbx
nop
jmp 0x539a6b
lea rdi, [rdx + 0x78]
call fcn.00465800
mov rax, rdx
call fcn.00538120
xor eax, eax
xor ebx, ebx
mov rbp, qword [rsp + 0x240]
add rsp, 0x248
ret
mov rax, qword [rsp + 0x250]
call fcn.0053d500
nop
cmp byte [0x010fe060], 0
je 0x539acc
lea rdx, [0x00a0e680]
mov qword [0x010fe068], rdx
cmp dword [0x011546d0], 0
jne 0x539abe
mov qword [0x010fe070], rax
jmp 0x539ad3
lea rdi, [0x010fe070]
call fcn.004656c0
jmp 0x539ad3
lea rdx, [0x00a0e680]
mov qword [rsp + 0x1e8], rdx
mov qword [rsp + 0x1f0], rax
mov rdx, qword [rsp + 0x1e8]
test rdx, rdx
je 0x539b0f
movzx r9d, byte [rdx + 0x17]
mov r10d, r9d
and r9d, 0x1f
mov r11, r9
bts r9, 7
test r10b, 0x20
cmove r11, r9
nop
jmp 0x539b16
xor r11d, r11d
xor edx, edx
xor eax, eax
mov rbx, qword [rsp + 0x1c0]
mov rcx, qword [rsp + 0xf0]
mov rdi, rdx
mov rsi, rax
mov r8, r11
mov rax, qword [rsp + 0x1b8]
call fcn.004959c0
xor eax, eax
xor ebx, ebx
mov rbp, qword [rsp + 0x240]
add rsp, 0x248
ret
mov qword [rsp + 0xf8], rbx
mov qword [rsp + 0x50], rax
nop
mov rax, qword [rsp + 0x250]
mov rcx, qword [rax + 0x18]
mov qword [rsp + 0xe0], rcx
call fcn.00538120
mov rcx, qword [rsp + 0x250]
mov rdx, qword [rcx + 0x10]
mov rbx, qword [rcx]
mov rcx, qword [rcx + 0x18]
cmp rdx, rcx
jb 0x539bee
mov rsi, qword [rsp + 0xe0]
lea rax, [rsi - 1]
nop dword [rax + rax]
cmp rcx, rax
jb 0x539be9
mov r8, qword [rsp + 0x50]
mov r8, qword [r8 + 0x18]
sub rdx, rsi
lea rdi, [rdx + 1]
mov rdx, rdi
neg rdi
sar rdi, 0x3f
and rax, rdi
sub rcx, rsi
add rbx, rax
inc rcx
mov rax, qword [rsp + 0xf8]
mov rdi, rdx
call r8
mov rbp, qword [rsp + 0x240]
add rsp, 0x248
ret
call fcn.00465c20
call fcn.00465be0
mov rcx, rdx
mov r9, qword [rsp + 0x80]
mov r10, qword [rsp + 0x128]
mov r11, qword [rsp + 0x130]
mov qword [rsp + 0x130], r11
mov qword [rsp + 0x128], r10
mov qword [rsp + 0x80], r9
mov rax, rcx
mov ebx, 9
call fcn.005382a0
mov rax, qword [rsp + 0x250]
mov rcx, qword [rax + 0x20]
nop
cmp rcx, 5
je 0x53a9b8
cmp rcx, 1
jne 0x53b038
nop
mov rcx, qword [rax + 0x18]
mov qword [rsp + 0xe0], rcx
call fcn.005383a0
mov rcx, qword [rsp + 0x250]
mov rdx, qword [rcx + 0x10]
mov rbx, qword [rcx]
mov rsi, qword [rcx + 0x18]
lea rdi, [rsi - 1]
nop dword [rax]
cmp rdx, rdi
jb 0x53b030
mov r8, qword [rsp + 0xe0]
lea rax, [r8 - 1]
cmp rdi, rax
jb 0x53b028
sub rsi, r8
mov qword [rsp + 0x98], rsi
sub rdx, r8
lea rcx, [rdx + 1]
mov qword [rsp + 0xa0], rcx
mov rdx, rcx
neg rcx
sar rcx, 0x3f
and rax, rcx
add rax, rbx
mov qword [rsp + 0x140], rax
mov rbx, rsi
mov rcx, rdx
call fcn.0053da00
nop dword [rax + rax]
test dil, dil
je 0x53b015
mov qword [rsp + 0x138], rax
mov qword [rsp + 0x90], rcx
mov qword [rsp + 0x88], rbx
mov rdx, qword [rsp + 0xe8]
cmp rdx, 0x15
jne 0x539d9a
mov rcx, qword [rsp + 0x1b0]
mov rdx, qword [rcx + 0x48]
mov rax, qword [rsp + 0x100]
call rdx
mov rcx, qword [rsp + 0x80]
test rcx, rcx
je 0x539d7f
call fcn.004983c0
mov rdi, rax
mov rsi, rbx
mov r8, rcx
mov rax, qword [rsp + 0x128]
mov rbx, qword [rsp + 0x130]
mov rcx, qword [rsp + 0x80]
nop dword [rax]
call fcn.004959c0
mov rcx, qword [rsp + 0x80]
mov rax, qword [rsp + 0x128]
mov rbx, qword [rsp + 0x130]
jmp 0x539d8a
nop
call fcn.004984c0
call fcn.00492860
xor edx, edx
mov rsi, rcx
mov rdi, rax
mov r8, rbx
jmp 0x539f4d
mov rcx, rax
mov rdi, rbx
lea rax, [0x00a0e5c0]
mov rbx, qword [rsp + 0x148]
call fcn.004139c0
mov rax, qword [rax]
test bl, bl
je 0x539de2
mov rcx, qword [rsp + 0xb8]
cmp rcx, rax
jbe 0x53b010
lea rdx, [rax + rax*8]
shl rdx, 4
mov r8, qword [rsp + 0x150]
add rdx, r8
nop
jmp 0x539e02
xor eax, eax
jmp 0x53a9d8
mov r9, qword [rsp + 0x150]
xor r10d, r10d
mov rcx, qword [rsp + 0xb8]
mov r8, r9
mov rdx, r10
test rdx, rdx
je 0x539e5d
mov qword [rsp + 0x158], rdx
movzx r10d, byte [rdx + 0x81]
mov byte [rsp + 0x4f], r10b
mov r11, qword [rdx + 0x58]
mov qword [rsp + 0x198], r11
mov r12, qword [rdx + 0x60]
mov qword [rsp + 0xd8], r12
mov rsi, qword [rsp + 0x1b8]
mov r13, qword [rsp + 0x1c0]
mov r9, qword [rsp + 0xf0]
mov rax, r9
mov rbx, r13
mov rdi, rsi
xor r15d, r15d
jmp 0x53abef
mov rax, qword [rsp + 0x250]
cmp byte [rax + 0x81], 0
je 0x539f24
movups xmmword [rsp + 0x208], xmm15
mov rax, qword [rsp + 0x138]
mov rbx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x90]
call fcn.0040bce0
lea rdx, [0x009d9fe0]
mov qword [rsp + 0x208], rdx
mov qword [rsp + 0x210], rax
lea rax, [0x00ac72bc]
mov ebx, 0x16
lea rcx, [rsp + 0x208]
mov edi, 1
mov rsi, rdi
call fcn.004e6800
mov rdx, qword [rsp + 0x250]
cmp qword [rdx + 0x70], 0
jne 0x539f11
mov rcx, rbx
mov rbx, rax
mov rax, rdx
call fcn.00537fe0
mov rdx, qword [rsp + 0x250]
mov qword [rdx + 0x70], rax
cmp dword [0x011546d0], 0
jne 0x539f08
mov qword [rdx + 0x78], rbx
jmp 0x539f11
lea rdi, [rdx + 0x78]
call fcn.00465800
mov rax, rdx
mov rcx, qword [rsp + 0xb8]
mov r8, qword [rsp + 0x150]
xor edx, edx
xor ebx, ebx
xor esi, esi
xor edi, edi
mov rcx, qword [rsp + 0x80]
mov rax, qword [rsp + 0x128]
mov r8, rdi
mov rdi, rsi
mov rsi, rbx
mov rbx, qword [rsp + 0x130]
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0x130], rbx
mov qword [rsp + 0x128], rax
mov qword [rsp + 0x58], rsi
mov byte [rsp + 0x4f], dl
mov qword [rsp + 0x110], r8
mov qword [rsp + 0x108], rdi
mov r9, qword [rsp + 0x250]
cmp qword [r9 + 0x20], 9
jne 0x539fd4
mov rax, r9
mov ebx, 9
call fcn.005382a0
mov rax, qword [rsp + 0x128]
mov rcx, qword [rsp + 0x80]
movzx edx, byte [rsp + 0x4f]
mov rbx, qword [rsp + 0x130]
mov rsi, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x108]
mov r8, qword [rsp + 0x110]
mov r9, qword [rsp + 0x250]
cmp qword [r9 + 0x20], 3
jne 0x53ab65
mov rax, r9
mov ebx, 9
call fcn.005382a0
movzx ecx, byte [rsp + 0x4f]
test cl, cl
je 0x53a1bf
mov rax, qword [rsp + 0x250]
call fcn.005386e0
test rax, rax
je 0x53a15f
cmp dword [rax + 0x10], 0xe0ff5cb4
jne 0x53a087
lea rdx, [0x009e4c00]
nop
cmp rax, rdx
jne 0x53a087
mov rcx, qword [rbx + 8]
mov rbx, qword [rbx]
xor eax, eax
call fcn.0044f000
mov rdi, rcx
mov rsi, qword [rsp + 0x108]
mov r8, qword [rsp + 0x110]
mov r9, qword [rsp + 0x58]
mov r10d, 1
mov rcx, rbx
mov rbx, rax
mov rax, qword [rsp + 0x250]
nop
call fcn.0053b240
test rax, rax
jne 0x53aa5e
mov rsi, qword [rsp + 0xe8]
cmp rsi, 0x15
mov rdx, qword [rsp + 0x250]
jmp 0x53a202
mov rax, qword [rsp + 0x108]
mov rbx, qword [rsp + 0x110]
mov rcx, qword [rsp + 0x58]
nop dword [rax]
call fcn.004974a0
movups xmmword [rsp + 0x208], xmm15
test rax, rax
je 0x53a0b7
mov rax, qword [rax + 8]
mov qword [rsp + 0x208], rax
mov qword [rsp + 0x210], rbx
lea rax, [0x00ae04d2]
mov ebx, 0x53
lea rcx, [rsp + 0x208]
mov edi, 1
mov rsi, rdi
call fcn.004e6800
mov rdx, qword [rsp + 0x250]
cmp qword [rdx + 0x70], 0
je 0x53a108
mov rsi, qword [rsp + 0xe8]
cmp rsi, 0x15
jmp 0x53a202
mov rcx, rbx
mov rbx, rax
mov rax, rdx
call fcn.00537fe0
mov rdx, qword [rsp + 0x250]
mov qword [rdx + 0x70], rax
cmp dword [0x011546d0], 0
jne 0x53a145
mov qword [rdx + 0x78], rbx
mov rsi, qword [rsp + 0xe8]
cmp rsi, 0x15
nop dword [rax + rax]
jmp 0x53a202
lea rdi, [rdx + 0x78]
call fcn.00465800
mov rsi, qword [rsp + 0xe8]
cmp rsi, 0x15
jmp 0x53a202
mov rbx, qword [0x009782f0]
mov rcx, qword [0x009782f8]
mov rdi, qword [0x00978300]
mov rax, qword [rsp + 0x250]
mov rsi, qword [rsp + 0x108]
mov r8, qword [rsp + 0x110]
mov r9, qword [rsp + 0x58]
xor r10d, r10d
call fcn.0053b240
nop dword [rax]
test rax, rax
jne 0x53aa6e
mov rsi, qword [rsp + 0xe8]
cmp rsi, 0x15
mov rdx, qword [rsp + 0x250]
jmp 0x53a202
mov rax, qword [rsp + 0x250]
mov rbx, qword [rsp + 0x108]
mov rcx, qword [rsp + 0x110]
mov rdi, qword [rsp + 0x58]
nop dword [rax]
call fcn.00538540
test rax, rax
jne 0x53aa8e
mov rsi, qword [rsp + 0xe8]
cmp rsi, 0x15
mov rdx, qword [rsp + 0x250]
jne 0x53a92a
mov rcx, qword [rsp + 0x1b0]
mov rdx, qword [rcx + 0x90]
mov rax, qword [rsp + 0x100]
nop
call rdx
lea rcx, [0x00dd54b0]
cmp rax, rcx
jne 0x53ab4e
mov qword [rsp + 0x1a8], rbx
mov qword [rsp + 0x190], rax
mov rax, rbx
call fcn.00489440
mov rbx, qword [0x010fd070]
mov rcx, qword [0x010fd078]
call fcn.00489720
nop dword [rax]
test al, al
jne 0x53a845
mov rcx, qword [rsp + 0x190]
mov rdx, qword [rcx + 0x98]
mov rax, qword [rsp + 0x1a8]
nop
call rdx
cmp rax, 0x18
jne 0x53a35b
mov rax, qword [rsp + 0x138]
mov rbx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x90]
call fcn.0040bce0
nop
cmp byte [0x010fe060], 0
je 0x53a2e2
lea rdx, [0x009d9fe0]
mov qword [0x010fe068], rdx
cmp dword [0x011546d0], 0
jne 0x53a2d3
mov qword [0x010fe070], rax
jmp 0x53a2e9
lea rdi, [0x010fe070]
call fcn.004656c0
nop
jmp 0x53a2e9
lea rdx, [0x009d9fe0]
mov qword [rsp + 0x1f8], rdx
mov qword [rsp + 0x200], rax
mov r8, qword [rsp + 0x1f8]
test r8, r8
je 0x53a325
movzx r9d, byte [r8 + 0x17]
mov r10d, r9d
and r9d, 0x1f
mov r11, r9
bts r9, 7
test r10b, 0x20
cmove r11, r9
nop
jmp 0x53a32d
xor r11d, r11d
xor r8d, r8d
xor eax, eax
mov rbx, rax
mov rcx, r11
mov rdi, qword [rsp + 0x190]
mov rsi, qword [rsp + 0x1a8]
mov rax, r8
call fcn.004988a0
mov rdx, rax
mov rax, qword [rsp + 0x250]
jmp 0x53a8d7
mov rcx, qword [rsp + 0x190]
mov rdx, qword [rcx + 0x98]
mov rax, qword [rsp + 0x1a8]
call rdx
lea rcx, [rax - 2]
nop dword [rax + rax]
cmp rcx, 4
jbe 0x53a5e5
lea rdx, [rax - 7]
cmp rdx, 5
ja 0x53ab3b
xor eax, eax
mov rbx, qword [rsp + 0x138]
mov rcx, qword [rsp + 0x88]
call fcn.0044ee60
mov qword [rsp + 0x118], rax
mov qword [rsp + 0x68], rbx
mov ecx, 0xa
mov edi, 0x40
call fcn.004726e0
test rbx, rbx
je 0x53a3d7
mov edx, 1
jmp 0x53a440
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x190]
mov rbx, qword [rsp + 0x1a8]
call fcn.004983c0
nop
and rcx, 0x1f
lea rdx, [rcx - 7]
nop word [rax + rax]
cmp rdx, 5
ja 0x53aafa
mov rcx, qword [rax]
shl rcx, 3
lea rdx, [rcx - 0x40]
neg rdx
cmp rdx, 0x40
sbb rdx, rdx
neg rcx
mov rax, qword [rsp + 0x70]
mov rbx, rax
shl rax, cl
and rax, rdx
shr rax, cl
and rax, rdx
cmp rbx, rax
setne dl
mov rax, rbx
nop
test dl, dl
je 0x53a52c
lea rax, [0x00a84900]
call fcn.0040e6a0
mov qword [rsp + 0x188], rax
lea rbx, [0x00abd3a7]
mov ecx, 7
mov rdi, qword [rsp + 0x118]
mov rsi, qword [rsp + 0x68]
xor eax, eax
call fcn.0044eaa0
mov rcx, qword [rsp + 0x188]
mov qword [rcx + 8], rbx
cmp dword [0x011546d0], 0
jne 0x53a496
mov qword [rcx], rax
jmp 0x53a49e
mov rdi, rcx
call fcn.004656c0
mov r12, qword [rsp + 0x190]
mov qword [rcx + 0x10], r12
cmp dword [0x011546d0], 0
jne 0x53a4c2
mov r12, qword [rsp + 0x1a8]
mov qword [rcx + 0x18], r12
nop
jmp 0x53a4d3
lea rdi, [rcx + 0x18]
mov rax, qword [rsp + 0x1a8]
call fcn.004656c0
mov r12, qword [rsp + 0xe0]
mov qword [rcx + 0x20], r12
mov rax, qword [rsp + 0x250]
cmp qword [rax + 0x70], 0
jne 0x53a521
lea rbx, [0x00dbe5a0]
call fcn.00537fe0
mov rdx, qword [rsp + 0x250]
mov qword [rdx + 0x70], rax
cmp dword [0x011546d0], 0
jne 0x53a515
mov qword [rdx + 0x78], rbx
jmp 0x53a51e
lea rdi, [rdx + 0x78]
call fcn.00465800
mov rax, rdx
xor ecx, ecx
xor edx, edx
xor ebx, ebx
jmp 0x53a8d7
call fcn.0040bbc0
nop
cmp byte [0x010fe060], 0
je 0x53a569
lea rdx, [0x009e4dc0]
mov qword [0x010fe068], rdx
cmp dword [0x011546d0], 0
jne 0x53a55b
mov qword [0x010fe070], rax
jmp 0x53a570
lea rdi, [0x010fe070]
call fcn.004656c0
jmp 0x53a570
lea rdx, [0x009e4dc0]
mov qword [rsp + 0x1c8], rdx
mov qword [rsp + 0x1d0], rax
mov r8, qword [rsp + 0x1c8]
test r8, r8
je 0x53a5ac
movzx r9d, byte [r8 + 0x17]
mov r10d, r9d
and r9d, 0x1f
mov r11, r9
bts r9, 7
test r10b, 0x20
cmove r11, r9
nop
jmp 0x53a5b4
xor r11d, r11d
xor r8d, r8d
xor eax, eax
mov rbx, rax
mov rcx, r11
mov rdi, qword [rsp + 0x190]
mov rsi, qword [rsp + 0x1a8]
mov rax, r8
call fcn.004988a0
mov rdx, rax
mov rax, qword [rsp + 0x250]
nop dword [rax]
jmp 0x53a8d7
xor eax, eax
mov rbx, qword [rsp + 0x138]
mov rcx, qword [rsp + 0x88]
call fcn.0044ee60
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x60], rbx
mov ecx, 0xa
mov edi, 0x40
call fcn.00472d00
test rbx, rbx
je 0x53a624
mov edx, 1
jmp 0x53a68f
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x190]
mov rbx, qword [rsp + 0x1a8]
call fcn.004983c0
nop
and rcx, 0x1f
lea rdx, [rcx - 2]
cmp rdx, 4
ja 0x53aab9
mov rcx, qword [rax]
shl rcx, 3
lea rdx, [rcx - 0x40]
neg rdx
cmp rdx, 0x40
sbb rbx, rbx
sbb rsi, rsi
neg rcx
mov rax, qword [rsp + 0x78]
mov rdi, rax
shl rax, cl
and rax, rbx
not rsi
or rdx, rsi
mov rcx, rdx
sar rax, cl
cmp rdi, rax
setne dl
mov rax, rdi
test dl, dl
je 0x53a785
lea rax, [0x00a84900]
nop
call fcn.0040e6a0
mov qword [rsp + 0x188], rax
lea rbx, [0x00abd3a7]
mov ecx, 7
mov rdi, qword [rsp + 0x120]
mov rsi, qword [rsp + 0x60]
xor eax, eax
call fcn.0044eaa0
mov rcx, qword [rsp + 0x188]
mov qword [rcx + 8], rbx
cmp dword [0x011546d0], 0
jne 0x53a6e7
mov qword [rcx], rax
jmp 0x53a6ef
mov rdi, rcx
call fcn.004656c0
mov r12, qword [rsp + 0x190]
mov qword [rcx + 0x10], r12
cmp dword [0x011546d0], 0
jne 0x53a712
mov r12, qword [rsp + 0x1a8]
mov qword [rcx + 0x18], r12
jmp 0x53a725
lea rdi, [rcx + 0x18]
mov rax, qword [rsp + 0x1a8]
nop
call fcn.004656c0
mov r12, qword [rsp + 0xe0]
mov qword [rcx + 0x20], r12
mov rax, qword [rsp + 0x250]
cmp qword [rax + 0x70], 0
nop
jne 0x53a775
lea rbx, [0x00dbe5a0]
call fcn.00537fe0
mov rdx, qword [rsp + 0x250]
mov qword [rdx + 0x70], rax
cmp dword [0x011546d0], 0
jne 0x53a769
mov qword [rdx + 0x78], rbx
jmp 0x53a772
lea rdi, [rdx + 0x78]
call fcn.00465800
mov rax, rdx
xor ecx, ecx
xor edx, edx
xor ebx, ebx
nop dword [rax + rax]
jmp 0x53a8d7
call fcn.0040bbc0
nop
cmp byte [0x010fe060], 0
je 0x53a7c7
lea rdx, [0x009e4400]
mov qword [0x010fe068], rdx
cmp dword [0x011546d0], 0
jne 0x53a7b4
mov qword [0x010fe070], rax
jmp 0x53a7ce
lea rdi, [0x010fe070]
nop dword [rax + rax]
call fcn.004656c0
jmp 0x53a7ce
lea rdx, [0x009e4400]
mov qword [rsp + 0x1d8], rdx
mov qword [rsp + 0x1e0], rax
mov r8, qword [rsp + 0x1d8]
test r8, r8
je 0x53a80a
movzx r9d, byte [r8 + 0x17]
mov r10d, r9d
and r9d, 0x1f
mov r11, r9
bts r9, 7
test r10b, 0x20
cmove r11, r9
nop
jmp 0x53a812
xor r11d, r11d
xor r8d, r8d
xor eax, eax
mov rbx, rax
mov rcx, r11
mov rdi, qword [rsp + 0x190]
mov rsi, qword [rsp + 0x1a8]
mov rax, r8
call fcn.004988a0
mov rdx, rax
mov rax, qword [rsp + 0x250]
nop dword [rax + rax]
jmp 0x53a8d7
mov rax, qword [rsp + 0x190]
mov rbx, qword [rsp + 0x1a8]
call fcn.004984c0
mov qword [rsp + 0x180], rax
mov qword [rsp + 0x178], rbx
mov qword [rsp + 0xd0], rcx
mov rdi, qword [rsp + 0xa0]
mov rsi, rax
mov r8, rbx
mov r9, rcx
mov r10d, 1
mov rax, qword [rsp + 0x250]
mov rbx, qword [rsp + 0x140]
mov rcx, qword [rsp + 0x98]
call fcn.0053b240
test rax, rax
jne 0x53aa7e
mov rax, qword [rsp + 0x180]
mov rbx, qword [rsp + 0x178]
mov rcx, qword [rsp + 0xd0]
call fcn.00492860
mov rdx, rax
mov rax, qword [rsp + 0x250]
test rcx, rcx
je 0x53a91f
mov rax, qword [rsp + 0x1b8]
mov rdi, rdx
mov rsi, rbx
mov r8, rcx
mov r9, qword [rsp + 0x108]
mov r10, qword [rsp + 0x110]
mov r11, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x1c0]
mov rcx, qword [rsp + 0xf0]
call fcn.00496580
mov rax, qword [rsp + 0x250]
mov rdx, rax
mov rsi, qword [rsp + 0xe8]
cmp qword [rdx + 0x20], 9
jne 0x53a94e
mov rax, rdx
mov ebx, 9
call fcn.005382a0
mov rdx, qword [rsp + 0x250]
mov rsi, qword [rsp + 0xe8]
mov r8, qword [rdx + 0x68]
test r8, r8
je 0x53a99f
mov r9, qword [r8 + 0x20]
mov rcx, qword [rsp + 0x230]
cmp rcx, r9
ja 0x53aab1
mov qword [r8 + 0x18], rcx
mov rcx, qword [rdx + 0x68]
mov r8, qword [rsp + 0x220]
mov r9, qword [rsp + 0x218]
mov qword [rcx], r9
cmp dword [0x011546d0], 0
jne 0x53a996
mov qword [rcx + 8], r8
jmp 0x53a99f
lea rdi, [rcx + 8]
call fcn.00465840
mov rcx, qword [rdx + 0x20]
cmp rcx, 5
je 0x53a9b8
cmp rcx, 4
je 0x539bf3
jmp 0x53aa9e
xor eax, eax
xor ebx, ebx
mov rbp, qword [rsp + 0x240]
add rsp, 0x248
ret
mov r10, qword [rsp + 0xb0]
lea rax, [r10 + 1]
mov r9, qword [rsp + 0xb8]
cmp rax, r9
jge 0x539de9
mov qword [rsp + 0xb0], rax
lea r9, [rax + rax*8]
shl r9, 4
mov qword [rsp + 0xd8], r9
mov r10, qword [rsp + 0x150]
mov rdx, qword [r10 + r9 + 0x28]
mov r11, qword [rdx]
mov r12, qword [r10 + r9 + 0x10]
mov rbx, qword [r10 + r9 + 0x18]
mov rcx, qword [r10 + r9 + 0x20]
mov rdi, qword [rsp + 0x138]
mov rsi, qword [rsp + 0x88]
mov r8, qword [rsp + 0x90]
mov rax, r12
call r11
mov r9, qword [rsp + 0x150]
mov r10, qword [rsp + 0xd8]
add r10, r9
test al, al
je 0x53a9cc
jmp 0x539df4
mov rbp, qword [rsp + 0x240]
add rsp, 0x248
ret
mov rbp, qword [rsp + 0x240]
add rsp, 0x248
ret
mov rbp, qword [rsp + 0x240]
add rsp, 0x248
ret
mov rbp, qword [rsp + 0x240]
add rsp, 0x248
ret
lea rax, [0x009e4c00]
lea rbx, [0x00db4740]
call fcn.004373c0
mov rdx, r9
call fcn.00465be0
mov qword [rsp + 0xf0], rcx
lea rax, [0x00a4e0e0]
call fcn.0040e6a0
mov qword [rax + 8], 0x19
lea rcx, [0x00aca2df]
mov qword [rax], rcx
mov rcx, qword [rsp + 0xf0]
mov qword [rax + 0x10], rcx
mov rbx, rax
lea rax, [0x00a093a0]
call fcn.004373c0
mov qword [rsp + 0xf0], rcx
lea rax, [0x00a4e0e0]
call fcn.0040e6a0
mov qword [rax + 8], 0x1a
lea rcx, [0x00acb4bc]
mov qword [rax], rcx
mov rcx, qword [rsp + 0xf0]
mov qword [rax + 0x10], rcx
mov rbx, rax
lea rax, [0x00a093a0]
call fcn.004373c0
lea rax, [0x009e4c00]
lea rbx, [0x00db4770]
call fcn.004373c0
lea rbx, [0x00aaeb40]
lea rcx, [0x00a9e6e0]
nop dword [rax]
call fcn.0040b940
lea rax, [0x009e4c00]
lea rbx, [0x00db4740]
call fcn.004373c0
mov rax, rsi
mov rbx, r13
mov rcx, r9
mov rdi, r8
call fcn.00492a00
mov rdx, qword [rsp + 0xc8]
lea r15, [rdx + 1]
mov rdx, qword [rsp + 0xd8]
mov rsi, qword [rsp + 0x198]
mov rdx, qword [rsp + 0x158]
mov rdi, qword [rsp + 0x1b8]
mov r8, qword [rsp + 0x150]
movzx r10d, byte [rsp + 0x4f]
mov r11, rsi
mov r12, qword [rsp + 0xd8]
mov r9, rcx
mov r13, rbx
mov rsi, rax
mov rax, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0xb8]
mov rbx, qword [rsp + 0x1c0]
cmp r15, r12
jge 0x53adf6
mov qword [rsp + 0xc8], r15
mov qword [rsp + 0xc0], r9
mov r8, qword [r11 + r15*8]
nop
and r9, 0x1f
cmp r9, 0x16
jne 0x53ad0b
mov qword [rsp + 0xa8], r8
mov r9, qword [rsp + 0xc0]
bt r9d, 9
jb 0x53ace7
mov qword [rsp + 0x170], r13
bt r9d, 7
jae 0x53ac54
mov rdi, qword [r13]
mov r13, rdi
mov rdi, qword [rsp + 0x1b8]
test r13, r13
jne 0x53acdf
mov r13, r9
and r9, 0x160
cmp r9, 0x100
jne 0x53ad18
mov qword [rsp + 0x168], rsi
mov rax, rsi
mov rbx, qword [rsp + 0x170]
mov rcx, r13
call fcn.004974a0
mov rdx, qword [rax + 0x48]
mov rax, rbx
call rdx
call fcn.004984c0
mov rdi, rax
mov rsi, rbx
mov r8, rcx
mov rax, qword [rsp + 0x168]
mov rbx, qword [rsp + 0x170]
mov rcx, qword [rsp + 0xc0]
nop
call fcn.004959c0
mov rsi, qword [rsp + 0x168]
mov r9, qword [rsp + 0xc0]
mov r13, qword [rsp + 0x170]
jmp 0x53ace7
mov r13, qword [rsp + 0x170]
mov rax, rsi
mov rbx, r13
mov rcx, r9
call fcn.00492860
mov r8, qword [rsp + 0xa8]
mov r9, rcx
mov rsi, rax
mov r13, rbx
jmp 0x53ab78
mov r9, qword [rsp + 0xc0]
jmp 0x53ab78
mov rax, rsi
mov rbx, qword [rsp + 0x170]
mov rcx, r13
call fcn.004974a0
mov rdx, qword [rax + 0x48]
mov rax, rbx
call rdx
movups xmmword [rsp + 0x208], xmm15
nop dword [rax]
test rax, rax
je 0x53ad49
mov rax, qword [rax + 8]
mov qword [rsp + 0x208], rax
mov qword [rsp + 0x210], rbx
lea rax, [0x00add98d]
mov ebx, 0x3a
lea rcx, [rsp + 0x208]
mov edi, 1
mov rsi, rdi
call fcn.004e6800
mov rdx, qword [rsp + 0x250]
cmp qword [rdx + 0x70], 0
jne 0x53adbb
mov rcx, rbx
mov rbx, rax
mov rax, rdx
call fcn.00537fe0
mov rdx, qword [rsp + 0x250]
mov qword [rdx + 0x70], rax
cmp dword [0x011546d0], 0
jne 0x53adb2
mov qword [rdx + 0x78], rbx
jmp 0x53adbb
lea rdi, [rdx + 0x78]
call fcn.00465800
mov rax, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0x158]
mov rbx, qword [rsp + 0x1c0]
mov rdi, qword [rsp + 0x1b8]
mov r8, qword [rsp + 0x150]
xor r10d, r10d
xor r9d, r9d
xor esi, esi
xor r13d, r13d
mov qword [rsp + 0x58], r9
mov qword [rsp + 0x110], r13
mov qword [rsp + 0x108], rsi
mov byte [rsp + 0x4f], r10b
mov r11, qword [rsp + 0x250]
cmp qword [r11 + 0x68], 0
nop dword [rax]
jne 0x53aeb1
lea rax, [0x00a47240]
call fcn.0040e6a0
cmp dword [0x011546d0], 0
jne 0x53ae49
mov rdx, qword [rsp + 0x250]
mov qword [rdx + 0x68], rax
jmp 0x53ae5e
mov rdi, qword [rsp + 0x1a0]
call fcn.004656c0
mov rdx, qword [rsp + 0x250]
mov rax, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0x158]
mov rbx, qword [rsp + 0x1c0]
mov rsi, qword [rsp + 0x108]
mov rdi, qword [rsp + 0x1b8]
mov r8, qword [rsp + 0x150]
mov r9, qword [rsp + 0x58]
movzx r10d, byte [rsp + 0x4f]
mov r11, qword [rsp + 0x250]
mov r13, qword [rsp + 0x110]
mov r12, qword [r11 + 0x68]
mov r15, qword [r12 + 0x18]
mov r8, qword [r12 + 0x20]
lea r9, [r15 + 1]
mov r10, qword [r12 + 0x10]
mov r13, qword [rdx]
mov rdx, qword [rdx + 8]
cmp r8, r9
jae 0x53af75
mov qword [rsp + 0xd8], rdx
mov qword [rsp + 0x1a8], r13
mov qword [rsp + 0x160], r12
lea rax, [0x009e4c00]
mov rbx, r10
mov rcx, r15
mov rdi, r8
mov rsi, r9
call fcn.0044b060
mov rdx, qword [rsp + 0x160]
mov qword [rdx + 0x20], rcx
cmp dword [0x011546d0], 0
jne 0x53af23
mov qword [rdx + 0x10], rax
jmp 0x53af2c
lea rdi, [rdx + 0x10]
call fcn.004656c0
mov rcx, qword [rsp + 0xb8]
mov rsi, qword [rsp + 0x108]
mov rdi, qword [rsp + 0x1b8]
mov r11, qword [rsp + 0x250]
mov r12, rdx
mov r13, qword [rsp + 0x1a8]
mov r10, rax
mov r15, rbx
mov rax, qword [rsp + 0xf0]
mov rdx, qword [rsp + 0xd8]
mov rbx, qword [rsp + 0x1c0]
lea r8, [r15 + 1]
mov qword [r12 + 0x18], r8
shl r15, 4
mov qword [r10 + r15 + 8], rdx
lea rdx, [r10 + r15]
cmp dword [0x011546d0], 0
jne 0x53af9a
mov qword [r10 + r15], r13
jmp 0x53afab
mov r8, rdi
mov rdi, rdx
mov r9, r13
call fcn.00465860
mov rdi, r8
mov rdx, qword [r11 + 0x68]
mov r8, qword [rsp + 0x1b0]
mov qword [rdx], r8
cmp dword [0x011546d0], 0
jne 0x53afd1
mov r9, qword [rsp + 0x100]
mov qword [rdx + 8], r9
jmp 0x53afee
add rdx, 8
mov r9, rdi
mov rdi, rdx
mov r10, r9
mov r9, qword [rsp + 0x100]
call fcn.00465860
mov rdi, r10
mov rax, r11
mov r8, qword [rsp + 0x150]
movzx edx, byte [rsp + 0x4f]
mov rbx, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x110]
jmp 0x539f2c
call fcn.00465b60
lea rax, [0x009e4c00]
lea rbx, [0x00db4740]
call fcn.004373c0
mov rcx, rdi
call fcn.00465c20
mov rcx, rdi
call fcn.00465be0
lea rax, [0x009e4c00]
lea rbx, [0x00db4740]
call fcn.004373c0
lea rbx, [0x00aaeb40]
lea rcx, [0x00a9e6e0]
call fcn.0040b940
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
call fcn.00463440
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
jmp fcn.00539540