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

Disassembly:
lea r12, [rsp - 0x1e0]
cmp r12, qword [r14 + 0x10]
jbe 0x62325a
sub rsp, 0x260
mov qword [rsp + 0x258], rbp
lea rbp, [rsp + 0x258]
mov qword [rsp + 0x270], rbx
mov qword [rsp + 0x290], r8
mov qword [rsp + 0x268], rax
mov qword [rsp + 0x280], rdi
mov qword [rsp + 0x1c0], rbx
mov qword [rsp + 0x278], rcx
mov qword [rsp + 0x288], rsi
movups xmmword [rsp + 0x1d0], xmm15
movups xmmword [rsp + 0x1e0], xmm15
mov rax, r8
mov rbx, r9
call fcn.00623500
nop
test rdi, rdi
jne 0x622035
mov qword [rsp + 0x78], rcx
mov qword [rsp + 0x88], rbx
mov qword [rsp + 0x198], rax
mov rcx, qword [rsp + 0x1c0]
mov rdx, qword [rcx + 0x18]
mov rax, qword [rsp + 0x278]
call rdx
test dil, dil
je 0x621bda
mov qword [rsp + 0x1f0], rax
mov qword [rsp + 0x1f8], rbx
mov qword [rsp + 0x200], rcx
mov rdx, qword [rsp + 0x1f0]
bt rdx, 0x3f
nop
jae 0x621bbb
mov rsi, rdx
shl rdx, 1
shr rdx, 0x1f
movabs r8, 0xdd7b17f80
add rdx, r8
jmp 0x621bc1
mov rsi, rdx
mov rdx, rbx
test rdx, rdx
jne 0x621bd3
and esi, 0x3fffffff
test esi, esi
sete dl
jmp 0x621bd5
xor edx, edx
xor edx, 1
jmp 0x621be0
xor edx, edx
nop dword [rax]
test dl, dl
je 0x621ca8
mov rdx, qword [rsp + 0x280]
mov rsi, qword [rdx + 0x38]
mov rdi, rcx
mov rcx, rbx
mov rbx, rax
mov rax, qword [rsp + 0x288]
call rsi
mov rdx, qword [rsp + 0x280]
test byte [rdx], al
mov rsi, qword [0x009b0080]
mov r8, qword [0x009b0088]
mov r9, qword [0x009b0090]
movups xmmword [rsp + 0x228], xmm15
movups xmmword [rsp + 0x238], xmm15
movups xmmword [rsp + 0x248], xmm15
lea r10, [0x006234a0]
mov qword [rsp + 0x228], r10
mov qword [rsp + 0x230], rdx
mov r10, qword [rsp + 0x288]
mov qword [rsp + 0x238], r10
mov qword [rsp + 0x240], rsi
mov qword [rsp + 0x248], r8
mov qword [rsp + 0x250], r9
lea rsi, [rsp + 0x228]
mov qword [rsp + 0x138], rsi
lea rax, [rsp + 0x120]
call fcn.00435400
nop dword [rax]
test eax, eax
jne 0x622000
mov rcx, qword [0x009ad278]
mov rax, qword [rsp + 0x1c0]
lea rdx, [0x007f3f90]
nop
cmp rax, rdx
jne 0x621cda
mov rbx, qword [rsp + 0x278]
call fcn.00403fe0
test al, al
jne 0x621e3b
lea rax, [0x006b9340]
mov ebx, 1
call fcn.00405660
mov qword [rsp + 0x1a0], rax
xor ebx, ebx
lea rax, [0x006b9600]
nop dword [rax]
call fcn.00405660
mov qword [rsp + 0x1a8], rax
movups xmmword [rsp + 0x208], xmm15
movups xmmword [rsp + 0x218], xmm15
lea rcx, [0x00623400]
mov qword [rsp + 0x208], rcx
mov qword [rsp + 0x210], rax
lea rcx, [rsp + 0x1e0]
mov qword [rsp + 0x218], rcx
mov rcx, qword [rsp + 0x1a0]
mov qword [rsp + 0x220], rcx
lea rdx, [rsp + 0x208]
mov qword [rsp + 0xf0], rdx
lea rax, [rsp + 0xd8]
call fcn.00435400
test eax, eax
jne 0x621fc6
lea rax, [0x006fb0e0]
call fcn.0040daa0
lea rcx, [0x006232c0]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x1c0]
mov qword [rax + 8], rcx
cmp dword [0x00a04ed0], 0
jne 0x621db4
mov rdx, qword [rsp + 0x278]
mov qword [rax + 0x10], rdx
jmp 0x621dc5
lea rdi, [rax + 0x10]
mov rdx, qword [rsp + 0x278]
call fcn.00465b40
mov rbx, qword [rsp + 0x280]
mov qword [rax + 0x18], rbx
cmp dword [0x00a04ed0], 0
jne 0x621e02
mov rsi, qword [rsp + 0x288]
mov qword [rax + 0x20], rsi
mov rdi, qword [rsp + 0x1a0]
mov qword [rax + 0x28], rdi
mov rdi, qword [rsp + 0x1a8]
mov qword [rax + 0x30], rdi
nop
jmp 0x621e36
lea rdi, [rax + 0x20]
mov rsi, qword [rsp + 0x288]
call fcn.00465b80
lea rdi, [rax + 0x28]
mov r8, qword [rsp + 0x1a0]
nop
call fcn.00465ba0
lea rdi, [rax + 0x30]
mov r8, qword [rsp + 0x1a8]
call fcn.00465ba0
call fcn.00441b00
mov rcx, qword [rsp + 0x88]
lea rdx, [rcx + 6]
mov qword [rsp + 0x98], rdx
lea rax, [0x006bb680]
xor ebx, ebx
mov rcx, rdx
nop dword [rax + rax]
call fcn.0044a940
mov rdx, qword [rsp + 0x98]
cmp rdx, 1
jae 0x621e8c
mov ebx, 1
xor ecx, ecx
mov rdi, rbx
lea rsi, [0x006bb680]
call fcn.0044aa20
mov rdx, rcx
mov byte [rax], 5
mov r8, qword [rsp + 0x268]
mov r9, qword [r8 + 0x38]
mov r10, qword [r8 + 0x30]
nop
test r9, r9
je 0x621f8c
cmp qword [r8 + 0x48], 0
je 0x621f8c
cmp r9, 0xff
jg 0x621f17
mov qword [rsp + 0xc0], r9
mov qword [rsp + 0x1b8], r10
cmp rdx, 2
jae 0x621f07
mov ebx, 2
mov rcx, rdx
mov edi, 1
lea rsi, [0x006bb680]
call fcn.0044aa20
mov r8, qword [rsp + 0x268]
mov r9, qword [rsp + 0xc0]
mov r10, qword [rsp + 0x1b8]
mov rdx, rcx
mov byte [rax + 1], r9b
xor ecx, ecx
mov ebx, 2
jmp 0x6231ed
lea rax, [0x006d8800]
nop
call fcn.0040daa0
mov qword [rax + 8], 0x1f
lea rcx, [0x00726aa0]
mov qword [rax], rcx
movups xmmword [rsp + 0x1d0], xmm15
lea rcx, [0x007f1c00]
mov qword [rsp + 0x1e0], rcx
mov qword [rsp + 0x1e8], rax
call fcn.00435a20
mov rcx, qword [rsp + 0x1e0]
mov rax, qword [rsp + 0x1d0]
mov rdi, qword [rsp + 0x1e8]
mov rbx, qword [rsp + 0x1d8]
mov rbp, qword [rsp + 0x258]
add rsp, 0x260
ret
cmp rdx, 3
jae 0x621fb6
mov ebx, 3
mov rcx, rdx
mov edi, 2
lea rsi, [0x006bb680]
call fcn.0044aa20
mov r8, qword [rsp + 0x268]
mov rdx, rcx
mov word [rax + 1], 1
mov ecx, 3
jmp 0x622083
call fcn.00435a20
mov rax, qword [rsp + 0x1d0]
mov rcx, qword [rsp + 0x1e0]
mov rbx, qword [rsp + 0x1d8]
mov rdi, qword [rsp + 0x1e8]
mov rbp, qword [rsp + 0x258]
add rsp, 0x260
ret
call fcn.00435a20
mov rax, qword [rsp + 0x1d0]
mov rcx, qword [rsp + 0x1e0]
mov rdi, qword [rsp + 0x1e8]
mov rbx, qword [rsp + 0x1d8]
mov rbp, qword [rsp + 0x258]
add rsp, 0x260
ret
movups xmmword [rsp + 0x1d0], xmm15
mov qword [rsp + 0x1e0], rdi
mov qword [rsp + 0x1e8], rsi
call fcn.00435a20
mov rcx, qword [rsp + 0x1e0]
mov rdi, qword [rsp + 0x1e8]
mov rbx, qword [rsp + 0x1d8]
mov rax, qword [rsp + 0x1d0]
mov rbp, qword [rsp + 0x258]
add rsp, 0x260
ret
mov qword [rsp + 0x90], rcx
mov qword [rsp + 0x1b0], rax
mov qword [rsp + 0x98], rdx
mov rsi, qword [rsp + 0x280]
mov r8, qword [rsi + 0x50]
mov rbx, rax
mov rdi, rdx
mov rax, qword [rsp + 0x288]
call r8
mov qword [rsp + 0x1e0], rbx
mov qword [rsp + 0x1e8], rcx
test rbx, rbx
jne 0x6225e0
mov rdx, qword [rsp + 0x98]
nop dword [rax]
cmp rdx, 2
jb 0x6231d6
lea rax, [0x006d3f00]
mov rbx, qword [rsp + 0x280]
call fcn.0040b260
mov rbx, qword [rsp + 0x288]
mov rcx, qword [rsp + 0x1b0]
mov edi, 2
mov rsi, qword [rsp + 0x98]
mov r8, rdi
nop
call fcn.00498520
mov qword [rsp + 0x1e0], rbx
mov qword [rsp + 0x1e8], rcx
test rbx, rbx
jne 0x6225a9
mov rdx, qword [rsp + 0x90]
test rdx, rdx
jbe 0x6231cc
mov rax, qword [rsp + 0x1b0]
movzx r8d, byte [rax]
nop dword [rax + rax]
cmp r8b, 5
jne 0x6224e1
cmp rdx, 1
jbe 0x6231bf
movzx edx, byte [rax + 1]
nop dword [rax + rax]
cmp rdx, 0xff
je 0x62246d
mov r8, qword [rsp + 0x268]
cmp qword [r8 + 0x48], 0
nop word [rax + rax]
je 0x62222c
mov qword [rsp + 0xb8], rdx
lea rax, [0x006d5240]
mov rbx, qword [rsp + 0x280]
nop dword [rax]
call fcn.0040b260
mov rcx, qword [rsp + 0x268]
mov rdx, qword [rcx + 0x48]
mov rsi, qword [rdx]
mov rbx, qword [rsp + 0x278]
mov rdi, qword [rsp + 0x288]
mov r8, rax
mov rax, qword [rsp + 0x1c0]
mov rcx, r8
mov r10, rsi
mov rsi, qword [rsp + 0xb8]
nop dword [rax]
call r10
mov qword [rsp + 0x1e0], rax
mov qword [rsp + 0x1e8], rbx
test rax, rax
jne 0x622438
mov rax, qword [rsp + 0x1b0]
mov r8, qword [rsp + 0x268]
mov rdx, qword [r8]
mov r8, qword [rsp + 0x98]
cmp r8, 3
jae 0x622269
mov qword [rsp + 0xb0], rdx
mov ebx, 3
mov ecx, 2
mov rdi, rbx
lea rsi, [0x006bb680]
call fcn.0044aa20
mov rdx, qword [rsp + 0xb0]
mov r8, rcx
mov qword [rsp + 0x1b0], rax
mov qword [rsp + 0x98], r8
mov byte [rax], 5
mov byte [rax + 1], dl
mov byte [rax + 2], 0
mov rbx, qword [rsp + 0x88]
mov rax, qword [rsp + 0x198]
call fcn.0056ab40
test rax, rax
je 0x6222c5
nop dword [rax]
cmp rbx, 4
je 0x6222b7
cmp rbx, 0x10
jne 0x623178
xor ecx, ecx
jmp 0x62318a
mov rcx, rbx
mov rdx, rax
nop dword [rax]
jmp 0x622e88
mov rbx, qword [rsp + 0x88]
cmp rbx, 0xff
jg 0x6223c5
mov rcx, qword [rsp + 0x98]
cmp rcx, 4
jb 0x6222f2
mov rax, qword [rsp + 0x1b0]
jmp 0x622318
mov rax, qword [rsp + 0x1b0]
mov ebx, 4
mov edi, 1
lea rsi, [0x006bb680]
call fcn.0044aa20
mov rbx, qword [rsp + 0x88]
mov byte [rax + 3], 3
nop dword [rax]
cmp rcx, 5
jae 0x622344
mov ebx, 5
mov edi, 1
lea rsi, [0x006bb680]
call fcn.0044aa20
mov rbx, qword [rsp + 0x88]
mov byte [rax + 4], bl
lea rdx, [rbx + 5]
cmp rcx, rdx
jae 0x622370
mov rdi, rbx
lea rsi, [0x006bb680]
mov rbx, rdx
nop dword [rax]
call fcn.0044aa20
mov rdx, rbx
mov rbx, qword [rsp + 0x88]
mov qword [rsp + 0x98], rcx
mov qword [rsp + 0x90], rdx
mov qword [rsp + 0x1b0], rax
lea rsi, [rax + 5]
mov rax, rsi
mov r8, rbx
mov rbx, qword [rsp + 0x198]
mov rcx, r8
nop dword [rax]
call fcn.00466860
mov rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x1b0]
mov rdx, qword [rsp + 0x90]
nop dword [rax]
jmp 0x622615
lea rax, [0x006d8800]
call fcn.0040daa0
mov qword [rax + 8], 0xd
lea rcx, [0x0071c9b8]
mov qword [rax], rcx
movups xmmword [rsp + 0x1d0], xmm15
lea rcx, [0x007f1c00]
mov qword [rsp + 0x1e0], rcx
mov qword [rsp + 0x1e8], rax
call fcn.00435a20
mov rax, qword [rsp + 0x1d0]
mov rcx, qword [rsp + 0x1e0]
mov rdi, qword [rsp + 0x1e8]
mov rbx, qword [rsp + 0x1d8]
mov rbp, qword [rsp + 0x258]
add rsp, 0x260
ret
call fcn.00435a20
mov rcx, qword [rsp + 0x1e0]
mov rax, qword [rsp + 0x1d0]
mov rbx, qword [rsp + 0x1d8]
mov rdi, qword [rsp + 0x1e8]
mov rbp, qword [rsp + 0x258]
add rsp, 0x260
ret
lea rax, [0x006d8800]
call fcn.0040daa0
mov qword [rax + 8], 0x24
lea rcx, [0x00729036]
mov qword [rax], rcx
movups xmmword [rsp + 0x1d0], xmm15
lea rcx, [0x007f1c00]
mov qword [rsp + 0x1e0], rcx
mov qword [rsp + 0x1e8], rax
call fcn.00435a20
mov rcx, qword [rsp + 0x1e0]
mov rax, qword [rsp + 0x1d0]
mov rbx, qword [rsp + 0x1d8]
mov rdi, qword [rsp + 0x1e8]
mov rbp, qword [rsp + 0x258]
add rsp, 0x260
nop
ret
mov eax, r8d
mov ebx, 0xa
call fcn.00479520
mov ecx, 0x1c
mov rdi, rax
mov rsi, rbx
xor eax, eax
lea rbx, [0x0072513c]
call fcn.0044e860
mov qword [rsp + 0x190], rax
mov qword [rsp + 0x70], rbx
lea rax, [0x006d8800]
nop dword [rax + rax]
call fcn.0040daa0
mov rcx, qword [rsp + 0x70]
mov qword [rax + 8], rcx
cmp dword [0x00a04ed0], 0
jne 0x622544
mov rcx, qword [rsp + 0x190]
mov qword [rax], rcx
jmp 0x622554
mov rdi, rax
mov rcx, qword [rsp + 0x190]
call fcn.00465b20
movups xmmword [rsp + 0x1d0], xmm15
lea rcx, [0x007f1c00]
mov qword [rsp + 0x1e0], rcx
mov qword [rsp + 0x1e8], rax
call fcn.00435a20
mov rcx, qword [rsp + 0x1e0]
mov rax, qword [rsp + 0x1d0]
mov rbx, qword [rsp + 0x1d8]
mov rdi, qword [rsp + 0x1e8]
mov rbp, qword [rsp + 0x258]
add rsp, 0x260
ret
call fcn.00435a20
mov rcx, qword [rsp + 0x1e0]
mov rax, qword [rsp + 0x1d0]
mov rdi, qword [rsp + 0x1e8]
mov rbx, qword [rsp + 0x1d8]
mov rbp, qword [rsp + 0x258]
add rsp, 0x260
ret
call fcn.00435a20
mov rcx, qword [rsp + 0x1e0]
mov rax, qword [rsp + 0x1d0]
mov rbx, qword [rsp + 0x1d8]
mov rdi, qword [rsp + 0x1e8]
mov rbp, qword [rsp + 0x258]
add rsp, 0x260
ret
lea rbx, [rdx + 2]
cmp rax, rbx
jae 0x622641
mov edi, 2
lea rsi, [0x006bb680]
mov rdx, rax
mov rax, rcx
mov rcx, rdx
call fcn.0044aa20
mov rdx, rcx
mov rcx, rax
mov rax, rdx
mov qword [rsp + 0x1b0], rcx
mov qword [rsp + 0x90], rbx
mov qword [rsp + 0x98], rax
mov rdx, qword [rsp + 0x78]
mov rsi, rdx
sar rdx, 8
mov byte [rbx + rcx - 2], dl
mov byte [rbx + rcx - 1], sil
mov rdx, qword [rsp + 0x280]
mov rsi, qword [rdx + 0x50]
mov rdi, rax
mov rax, qword [rsp + 0x288]
mov r8, rbx
mov rbx, rcx
mov rcx, r8
call rsi
mov qword [rsp + 0x1e0], rbx
mov qword [rsp + 0x1e8], rcx
test rbx, rbx
jne 0x622e00
mov rdx, qword [rsp + 0x98]
cmp rdx, 4
jb 0x622e7e
lea rax, [0x006d3f00]
mov rbx, qword [rsp + 0x280]
call fcn.0040b260
mov rbx, qword [rsp + 0x288]
mov rcx, qword [rsp + 0x1b0]
mov edi, 4
mov rsi, qword [rsp + 0x98]
mov r8, rdi
call fcn.00498520
mov qword [rsp + 0x1e0], rbx
mov qword [rsp + 0x1e8], rcx
test rbx, rbx
jne 0x622dc9
mov rdx, qword [rsp + 0x90]
test rdx, rdx
jbe 0x622e74
mov rsi, qword [rsp + 0x1b0]
movzx eax, byte [rsi]
cmp al, 5
jne 0x622d09
cmp rdx, 1
jbe 0x622e67
movzx eax, byte [rsi + 1]
nop
test rax, rax
jne 0x622c4c
cmp rdx, 2
jbe 0x622e5a
cmp byte [rsi + 2], 0
jne 0x622bd5
lea rax, [0x006eda40]
call fcn.0040daa0
mov rcx, qword [rsp + 0x90]
cmp rcx, 3
jbe 0x622e4d
mov qword [rsp + 0x1c8], rax
mov rdx, qword [rsp + 0x1b0]
movzx esi, byte [rdx + 3]
cmp sil, 1
je 0x622977
nop dword [rax]
cmp sil, 3
je 0x6228ca
cmp sil, 4
jne 0x622808
lea rax, [0x006bb680]
mov ebx, 0x10
mov rcx, rbx
nop
call fcn.0044a940
mov rdi, qword [rsp + 0x1c8]
mov qword [rdi + 0x18], 0x10
mov qword [rdi + 0x20], 0x10
cmp dword [0x00a04ed0], 0
jne 0x6227ec
mov qword [rdi + 0x10], rax
jmp 0x6227fe
lea rsi, [rdi + 0x10]
mov rcx, rdi
mov rdi, rsi
call fcn.00465a20
mov rdi, rcx
mov eax, 0x12
jmp 0x6229cd
mov eax, esi
mov ebx, 0xa
call fcn.00479520
mov ecx, 0x15
mov rdi, rax
mov rsi, rbx
xor eax, eax
lea rbx, [0x00721041]
call fcn.0044e860
mov qword [rsp + 0x178], rax
mov qword [rsp + 0x58], rbx
lea rax, [0x006d8800]
call fcn.0040daa0
mov rcx, qword [rsp + 0x58]
mov qword [rax + 8], rcx
cmp dword [0x00a04ed0], 0
jne 0x622865
mov rcx, qword [rsp + 0x178]
mov qword [rax], rcx
jmp 0x622875
mov rdi, rax
mov rcx, qword [rsp + 0x178]
call fcn.00465b20
movups xmmword [rsp + 0x1d0], xmm15
lea rcx, [0x007f1c00]
mov qword [rsp + 0x1e0], rcx
mov qword [rsp + 0x1e8], rax
call fcn.00435a20
mov rcx, qword [rsp + 0x1e0]
mov rax, qword [rsp + 0x1d0]
mov rdi, qword [rsp + 0x1e8]
mov rbx, qword [rsp + 0x1d8]
mov rbp, qword [rsp + 0x258]
add rsp, 0x260
ret
lea rax, [0x006d3f00]
mov rbx, qword [rsp + 0x280]
call fcn.0040b260
mov rbx, qword [rsp + 0x288]
mov rcx, qword [rsp + 0x1b0]
mov edi, 1
mov rsi, qword [rsp + 0x98]
mov r8, rdi
nop
call fcn.00498520
test rbx, rbx
jne 0x622929
mov rsi, qword [rsp + 0x1b0]
movzx edi, byte [rsi]
add rdi, 2
mov rax, rdi
mov rdi, qword [rsp + 0x1c8]
jmp 0x6229cd
movups xmmword [rsp + 0x1d0], xmm15
mov qword [rsp + 0x1e0], rbx
mov qword [rsp + 0x1e8], rcx
call fcn.00435a20
mov rcx, qword [rsp + 0x1e0]
mov rdi, qword [rsp + 0x1e8]
mov rbx, qword [rsp + 0x1d8]
mov rax, qword [rsp + 0x1d0]
mov rbp, qword [rsp + 0x258]
add rsp, 0x260
ret
lea rax, [0x006bb680]
mov ebx, 4
mov rcx, rbx
call fcn.0044a940
mov rdi, qword [rsp + 0x1c8]
mov qword [rdi + 0x18], 4
mov qword [rdi + 0x20], 4
cmp dword [0x00a04ed0], 0
jne 0x6229b2
mov qword [rdi + 0x10], rax
jmp 0x6229c8
lea rsi, [rdi + 0x10]
mov rcx, rdi
mov rdi, rsi
nop dword [rax]
call fcn.00465a20
mov rdi, rcx
mov eax, 6
mov qword [rsp + 0x80], rax
mov rdx, qword [rsp + 0x98]
nop dword [rax]
cmp rax, rdx
jg 0x6229f5
ja 0x622e45
mov rcx, qword [rsp + 0x1b0]
jmp 0x622a12
mov rbx, rax
mov rcx, rbx
lea rax, [0x006bb680]
call fcn.0044a940
mov rcx, rax
mov rdx, qword [rsp + 0x80]
mov qword [rsp + 0x1b0], rcx
mov qword [rsp + 0x98], rdx
lea rax, [0x006d3f00]
mov rbx, qword [rsp + 0x280]
call fcn.0040b260
mov rbx, qword [rsp + 0x288]
mov rcx, qword [rsp + 0x1b0]
mov rdi, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x98]
mov r8, rdi
call fcn.00498520
mov qword [rsp + 0x1e0], rbx
mov qword [rsp + 0x1e8], rcx
test rbx, rbx
jne 0x622ba0
mov rsi, qword [rsp + 0x1c8]
mov rax, qword [rsi + 0x10]
mov rcx, qword [rsi + 0x18]
test rax, rax
je 0x622acb
mov rdx, qword [rsp + 0x80]
cmp rdx, rcx
cmovl rcx, rdx
mov rbx, qword [rsp + 0x1b0]
cmp rbx, rax
je 0x622b2d
call fcn.00466860
mov rdx, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x1b0]
mov rsi, qword [rsp + 0x1c8]
jmp 0x622b2d
mov rcx, qword [rsp + 0x80]
lea rdi, [rcx - 2]
mov rdx, qword [rsp + 0x98]
nop
cmp rdx, rdi
jb 0x622e3d
xor eax, eax
mov rbx, qword [rsp + 0x1b0]
mov rcx, rdi
call fcn.0044ec00
mov rdi, qword [rsp + 0x1c8]
mov qword [rdi + 8], rbx
cmp dword [0x00a04ed0], 0
jne 0x622b15
mov qword [rdi], rax
jmp 0x622b1a
call fcn.00465a20
mov rdx, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x1b0]
mov rsi, rdi
lea rax, [rdx - 2]
cmp rdx, rax
jbe 0x622e35
movzx eax, word [rdx + rbx - 2]
rol ax, 8
mov qword [rsi + 0x28], rax
lea rax, [0x007f34a8]
mov qword [rsp + 0x1d0], rax
mov qword [rsp + 0x1d8], rsi
movups xmmword [rsp + 0x1e0], xmm15
call fcn.00435a20
mov rcx, qword [rsp + 0x1e0]
mov rdi, qword [rsp + 0x1e8]
mov rbx, qword [rsp + 0x1d8]
mov rax, qword [rsp + 0x1d0]
mov rbp, qword [rsp + 0x258]
add rsp, 0x260
ret
call fcn.00435a20
mov rcx, qword [rsp + 0x1e0]
mov rax, qword [rsp + 0x1d0]
mov rdi, qword [rsp + 0x1e8]
mov rbx, qword [rsp + 0x1d8]
mov rbp, qword [rsp + 0x258]
add rsp, 0x260
ret
lea rax, [0x006d8800]
nop dword [rax]
call fcn.0040daa0
mov qword [rax + 8], 0x17
lea rcx, [0x007221af]
mov qword [rax], rcx
movups xmmword [rsp + 0x1d0], xmm15
lea rcx, [0x007f1c00]
mov qword [rsp + 0x1e0], rcx
mov qword [rsp + 0x1e8], rax
call fcn.00435a20
mov rcx, qword [rsp + 0x1e0]
mov rax, qword [rsp + 0x1d0]
mov rdi, qword [rsp + 0x1e8]
mov rbx, qword [rsp + 0x1d8]
mov rbp, qword [rsp + 0x258]
add rsp, 0x260
ret
call fcn.00623660
mov ecx, 0xe
mov rdi, rax
mov rsi, rbx
xor eax, eax
lea rbx, [0x0071d41a]
call fcn.0044e860
mov qword [rsp + 0x180], rax
mov qword [rsp + 0x60], rbx
lea rax, [0x006d8800]
nop
call fcn.0040daa0
mov rcx, qword [rsp + 0x60]
mov qword [rax + 8], rcx
cmp dword [0x00a04ed0], 0
jne 0x622ca4
mov rcx, qword [rsp + 0x180]
mov qword [rax], rcx
jmp 0x622cb4
mov rdi, rax
mov rcx, qword [rsp + 0x180]
call fcn.00465b20
movups xmmword [rsp + 0x1d0], xmm15
lea rcx, [0x007f1c00]
mov qword [rsp + 0x1e0], rcx
mov qword [rsp + 0x1e8], rax
call fcn.00435a20
mov rax, qword [rsp + 0x1d0]
mov rcx, qword [rsp + 0x1e0]
mov rbx, qword [rsp + 0x1d8]
mov rdi, qword [rsp + 0x1e8]
mov rbp, qword [rsp + 0x258]
add rsp, 0x260
ret
mov ebx, 0xa
call fcn.00479520
mov ecx, 0x1c
mov rdi, rax
mov rsi, rbx
xor eax, eax
lea rbx, [0x0072513c]
call fcn.0044e860
mov qword [rsp + 0x188], rax
mov qword [rsp + 0x68], rbx
lea rax, [0x006d8800]
call fcn.0040daa0
mov rcx, qword [rsp + 0x68]
mov qword [rax + 8], rcx
cmp dword [0x00a04ed0], 0
jne 0x622d64
mov rcx, qword [rsp + 0x188]
mov qword [rax], rcx
jmp 0x622d74
mov rdi, rax
mov rcx, qword [rsp + 0x188]
call fcn.00465b20
movups xmmword [rsp + 0x1d0], xmm15
lea rcx, [0x007f1c00]
mov qword [rsp + 0x1e0], rcx
mov qword [rsp + 0x1e8], rax
call fcn.00435a20
mov rcx, qword [rsp + 0x1e0]
mov rax, qword [rsp + 0x1d0]
mov rdi, qword [rsp + 0x1e8]
mov rbx, qword [rsp + 0x1d8]
mov rbp, qword [rsp + 0x258]
add rsp, 0x260
ret
call fcn.00435a20
mov rax, qword [rsp + 0x1d0]
mov rcx, qword [rsp + 0x1e0]
mov rdi, qword [rsp + 0x1e8]
mov rbx, qword [rsp + 0x1d8]
mov rbp, qword [rsp + 0x258]
add rsp, 0x260
ret
call fcn.00435a20
mov rcx, qword [rsp + 0x1e0]
mov rax, qword [rsp + 0x1d0]
mov rdi, qword [rsp + 0x1e8]
mov rbx, qword [rsp + 0x1d8]
mov rbp, qword [rsp + 0x258]
add rsp, 0x260
ret
mov rcx, rdx
call fcn.00465ec0
mov rcx, rdi
call fcn.00465f40
mov rcx, rax
call fcn.00465f40
mov eax, 3
mov rcx, rax
call fcn.00465ec0
mov eax, 2
mov rcx, rax
call fcn.00465ec0
mov eax, 1
mov rcx, rax
call fcn.00465ec0
xor eax, eax
mov rcx, rax
call fcn.00465ec0
mov ecx, 4
call fcn.00465f40
test rax, rax
je 0x622f66
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x170], rax
mov rcx, qword [rsp + 0x98]
cmp rcx, 4
jb 0x622eb6
mov rdx, qword [rsp + 0x1b0]
jmp 0x622ee4
mov rax, qword [rsp + 0x1b0]
mov ebx, 4
mov edi, 1
lea rsi, [0x006bb680]
call fcn.0044aa20
mov rbx, qword [rsp + 0x50]
mov rdx, rax
mov rax, qword [rsp + 0x170]
mov byte [rdx + 3], 1
lea r8, [rbx + 4]
cmp rcx, r8
jae 0x622f19
mov rax, rdx
mov rdi, rbx
lea rsi, [0x006bb680]
mov rbx, r8
call fcn.0044aa20
mov rdx, rax
mov r8, rbx
mov rax, qword [rsp + 0x170]
mov rbx, qword [rsp + 0x50]
mov qword [rsp + 0x98], rcx
mov qword [rsp + 0x90], r8
mov qword [rsp + 0x1b0], rdx
lea rsi, [rdx + 4]
mov rdi, rax
mov rax, rsi
mov r9, rbx
mov rbx, rdi
mov rcx, r9
call fcn.00466860
mov rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x1b0]
jmp 0x6230f4
cmp rcx, 4
jne 0x623010
movzx r8d, byte [rdx]
movzx r9d, byte [rdx + 1]
movzx r10d, byte [rdx + 2]
movzx edx, byte [rdx + 3]
movups xmmword [rsp + 0xc8], xmm15
mov r11, qword [0x009a4058]
cmp r11, 0x10
mov ecx, 0x10
cmovl rcx, r11
mov rbx, qword [0x009a4050]
lea rax, [rsp + 0xc8]
cmp rbx, rax
je 0x622fe2
mov byte [rsp + 0x47], r8b
mov byte [rsp + 0x46], r9b
mov byte [rsp + 0x45], r10b
mov byte [rsp + 0x44], dl
call fcn.00466860
movzx edx, byte [rsp + 0x44]
movzx r8d, byte [rsp + 0x47]
movzx r9d, byte [rsp + 0x46]
movzx r10d, byte [rsp + 0x45]
mov byte [rsp + 0xd4], r8b
mov byte [rsp + 0xd5], r9b
mov byte [rsp + 0xd6], r10b
mov byte [rsp + 0xd7], dl
mov ecx, 0x10
lea rdx, [rsp + 0xc8]
jmp 0x623020
cmp rcx, 0x10
je 0x623020
xor ecx, ecx
xor edx, edx
nop word [rax + rax]
test rdx, rdx
je 0x623105
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x168], rdx
mov r8, qword [rsp + 0x98]
nop
cmp r8, 4
jb 0x623050
mov rax, qword [rsp + 0x1b0]
jmp 0x623081
mov rax, qword [rsp + 0x1b0]
mov ebx, 4
mov rcx, r8
mov edi, 1
lea rsi, [0x006bb680]
call fcn.0044aa20
mov rdx, qword [rsp + 0x168]
mov r8, rcx
mov rcx, qword [rsp + 0x48]
mov byte [rax + 3], 4
lea rbx, [rcx + 4]
cmp r8, rbx
jae 0x6230b5
mov rdi, rcx
lea rsi, [0x006bb680]
mov rcx, r8
nop dword [rax + rax]
call fcn.0044aa20
mov rdx, qword [rsp + 0x168]
mov r8, rcx
mov rcx, qword [rsp + 0x48]
mov qword [rsp + 0x98], r8
mov qword [rsp + 0x90], rbx
mov qword [rsp + 0x1b0], rax
lea rsi, [rax + 4]
mov rax, rsi
mov rbx, rdx
call fcn.00466860
mov rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x1b0]
mov rbx, rcx
mov rcx, rdx
mov rdx, rbx
nop dword [rax]
jmp 0x622615
lea rax, [0x006d8800]
call fcn.0040daa0
mov qword [rax + 8], 0x14
lea rcx, [0x0072072d]
mov qword [rax], rcx
movups xmmword [rsp + 0x1d0], xmm15
lea rcx, [0x007f1c00]
mov qword [rsp + 0x1e0], rcx
mov qword [rsp + 0x1e8], rax
call fcn.00435a20
mov rcx, qword [rsp + 0x1e0]
mov rax, qword [rsp + 0x1d0]
mov rdi, qword [rsp + 0x1e8]
mov rbx, qword [rsp + 0x1d8]
mov rbp, qword [rsp + 0x258]
add rsp, 0x260
ret
mov rcx, rbx
mov rdx, rax
xor ebx, ebx
xor eax, eax
jmp 0x622e88
inc rcx
cmp rcx, 0xa
jge 0x62319a
movzx edx, byte [rax + rcx]
test dl, dl
je 0x623187
jmp 0x623178
cmp byte [rax + 0xa], 0xff
nop
jne 0x623178
cmp byte [rax + 0xb], 0xff
jne 0x623178
lea r8, [rax + 0xc]
mov rcx, rbx
mov rdx, rax
mov ebx, 4
mov rax, r8
jmp 0x622e88
mov eax, 1
mov rcx, rax
call fcn.00465ec0
xor eax, eax
mov rcx, rax
call fcn.00465ec0
mov ecx, 2
nop dword [rax + rax]
call fcn.00465f40
mov byte [rbx + rax - 1], r11b
inc rcx
cmp rcx, r9
jge 0x623252
mov r11, qword [r10 + rcx*8]
inc rbx
cmp rdx, rbx
jae 0x6231e5
mov qword [rsp + 0xa8], rcx
mov qword [rsp + 0xa0], r11
mov rcx, rdx
mov edi, 1
lea rsi, [0x006bb680]
nop dword [rax]
call fcn.0044aa20
mov r8, qword [rsp + 0x268]
mov r9, qword [rsp + 0xc0]
mov r10, qword [rsp + 0x1b8]
mov r11, qword [rsp + 0xa0]
mov rdx, rcx
mov rcx, qword [rsp + 0xa8]
jmp 0x6231e5
mov rcx, rbx
jmp 0x622083
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x38], r9
nop dword [rax]
call fcn.00463860
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
mov r8, qword [rsp + 0x30]
mov r9, qword [rsp + 0x38]
jmp fcn.00621ac0