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

Disassembly:
lea r12, [rsp - 0x1e0]
cmp r12, qword [r14 + 0x10]
jbe 0x6389fa
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.00638ca0
nop
test rdi, rdi
jne 0x6377d5
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 0x63737a
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 0x63735b
mov rsi, rdx
shl rdx, 1
shr rdx, 0x1f
movabs r8, 0xdd7b17f80
add rdx, r8
jmp 0x637361
mov rsi, rdx
mov rdx, rbx
test rdx, rdx
jne 0x637373
and esi, 0x3fffffff
test esi, esi
sete dl
jmp 0x637375
xor edx, edx
xor edx, 1
jmp 0x637380
xor edx, edx
nop dword [rax]
test dl, dl
je 0x637448
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 [0x008d6330]
mov r8, qword [0x008d6338]
mov r9, qword [0x008d6340]
movups xmmword [rsp + 0x228], xmm15
movups xmmword [rsp + 0x238], xmm15
movups xmmword [rsp + 0x248], xmm15
lea r10, [0x00638c40]
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.004352a0
nop dword [rax]
test eax, eax
jne 0x6377a0
mov rcx, qword [0x008d46b8]
mov rax, qword [rsp + 0x1c0]
lea rdx, [0x00744be8]
nop
cmp rax, rdx
jne 0x63747a
mov rbx, qword [rsp + 0x278]
call fcn.00403fe0
test al, al
jne 0x6375db
lea rax, [0x00677840]
mov ebx, 1
call fcn.00405660
mov qword [rsp + 0x1a0], rax
xor ebx, ebx
lea rax, [0x00677b80]
nop dword [rax]
call fcn.00405660
mov qword [rsp + 0x1a8], rax
movups xmmword [rsp + 0x208], xmm15
movups xmmword [rsp + 0x218], xmm15
lea rcx, [0x00638ba0]
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.004352a0
test eax, eax
jne 0x637766
lea rax, [0x006adec0]
call fcn.0040d960
lea rcx, [0x00638a60]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x1c0]
mov qword [rax + 8], rcx
cmp dword [0x0092b0b0], 0
jne 0x637554
mov rdx, qword [rsp + 0x278]
mov qword [rax + 0x10], rdx
jmp 0x637565
lea rdi, [rax + 0x10]
mov rdx, qword [rsp + 0x278]
call fcn.00465a20
mov rbx, qword [rsp + 0x280]
mov qword [rax + 0x18], rbx
cmp dword [0x0092b0b0], 0
jne 0x6375a2
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 0x6375d6
lea rdi, [rax + 0x20]
mov rsi, qword [rsp + 0x288]
call fcn.00465a60
lea rdi, [rax + 0x28]
mov r8, qword [rsp + 0x1a0]
nop
call fcn.00465a80
lea rdi, [rax + 0x30]
mov r8, qword [rsp + 0x1a8]
call fcn.00465a80
call fcn.00441a00
mov rcx, qword [rsp + 0x88]
lea rdx, [rcx + 6]
mov qword [rsp + 0x98], rdx
lea rax, [0x006796c0]
xor ebx, ebx
mov rcx, rdx
nop dword [rax + rax]
call fcn.0044a840
mov rdx, qword [rsp + 0x98]
cmp rdx, 1
jae 0x63762c
mov ebx, 1
xor ecx, ecx
mov rdi, rbx
lea rsi, [0x006796c0]
call fcn.0044a920
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 0x63772c
cmp qword [r8 + 0x48], 0
je 0x63772c
cmp r9, 0xff
jg 0x6376b7
mov qword [rsp + 0xc0], r9
mov qword [rsp + 0x1b8], r10
cmp rdx, 2
jae 0x6376a7
mov ebx, 2
mov rcx, rdx
mov edi, 1
lea rsi, [0x006796c0]
call fcn.0044a920
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 0x63898d
lea rax, [0x00690f40]
nop
call fcn.0040d960
mov qword [rax + 8], 0x1f
lea rcx, [0x006d4402]
mov qword [rax], rcx
movups xmmword [rsp + 0x1d0], xmm15
lea rcx, [0x00742c00]
mov qword [rsp + 0x1e0], rcx
mov qword [rsp + 0x1e8], rax
call fcn.004358c0
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 0x637756
mov ebx, 3
mov rcx, rdx
mov edi, 2
lea rsi, [0x006796c0]
call fcn.0044a920
mov r8, qword [rsp + 0x268]
mov rdx, rcx
mov word [rax + 1], 1
mov ecx, 3
jmp 0x637823
call fcn.004358c0
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.004358c0
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.004358c0
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 0x637d80
mov rdx, qword [rsp + 0x98]
nop dword [rax]
cmp rdx, 2
jb 0x638976
lea rax, [0x0068d2a0]
mov rbx, qword [rsp + 0x280]
call fcn.0040b120
mov rbx, qword [rsp + 0x288]
mov rcx, qword [rsp + 0x1b0]
mov edi, 2
mov rsi, qword [rsp + 0x98]
mov r8, rdi
nop
call fcn.00470440
mov qword [rsp + 0x1e0], rbx
mov qword [rsp + 0x1e8], rcx
test rbx, rbx
jne 0x637d49
mov rdx, qword [rsp + 0x90]
test rdx, rdx
jbe 0x63896c
mov rax, qword [rsp + 0x1b0]
movzx r8d, byte [rax]
nop dword [rax + rax]
cmp r8b, 5
jne 0x637c81
cmp rdx, 1
jbe 0x63895f
movzx edx, byte [rax + 1]
nop dword [rax + rax]
cmp rdx, 0xff
je 0x637c0d
mov r8, qword [rsp + 0x268]
cmp qword [r8 + 0x48], 0
nop word [rax + rax]
je 0x6379cc
mov qword [rsp + 0xb8], rdx
lea rax, [0x0068e280]
mov rbx, qword [rsp + 0x280]
nop dword [rax]
call fcn.0040b120
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 0x637bd8
mov rax, qword [rsp + 0x1b0]
mov r8, qword [rsp + 0x268]
mov rdx, qword [r8]
mov r8, qword [rsp + 0x98]
cmp r8, 3
jae 0x637a09
mov qword [rsp + 0xb0], rdx
mov ebx, 3
mov ecx, 2
mov rdi, rbx
lea rsi, [0x006796c0]
call fcn.0044a920
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.0050d9c0
test rax, rax
je 0x637a65
nop dword [rax]
cmp rbx, 4
je 0x637a57
cmp rbx, 0x10
jne 0x638918
xor ecx, ecx
jmp 0x63892a
mov rcx, rbx
mov rdx, rax
nop dword [rax]
jmp 0x638628
mov rbx, qword [rsp + 0x88]
cmp rbx, 0xff
jg 0x637b65
mov rcx, qword [rsp + 0x98]
cmp rcx, 4
jb 0x637a92
mov rax, qword [rsp + 0x1b0]
jmp 0x637ab8
mov rax, qword [rsp + 0x1b0]
mov ebx, 4
mov edi, 1
lea rsi, [0x006796c0]
call fcn.0044a920
mov rbx, qword [rsp + 0x88]
mov byte [rax + 3], 3
nop dword [rax]
cmp rcx, 5
jae 0x637ae4
mov ebx, 5
mov edi, 1
lea rsi, [0x006796c0]
call fcn.0044a920
mov rbx, qword [rsp + 0x88]
mov byte [rax + 4], bl
lea rdx, [rbx + 5]
cmp rcx, rdx
jae 0x637b10
mov rdi, rbx
lea rsi, [0x006796c0]
mov rbx, rdx
nop dword [rax]
call fcn.0044a920
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.00466740
mov rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x1b0]
mov rdx, qword [rsp + 0x90]
nop dword [rax]
jmp 0x637db5
lea rax, [0x00690f40]
call fcn.0040d960
mov qword [rax + 8], 0xd
lea rcx, [0x006cbc40]
mov qword [rax], rcx
movups xmmword [rsp + 0x1d0], xmm15
lea rcx, [0x00742c00]
mov qword [rsp + 0x1e0], rcx
mov qword [rsp + 0x1e8], rax
call fcn.004358c0
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.004358c0
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, [0x00690f40]
call fcn.0040d960
mov qword [rax + 8], 0x24
lea rcx, [0x006d671d]
mov qword [rax], rcx
movups xmmword [rsp + 0x1d0], xmm15
lea rcx, [0x00742c00]
mov qword [rsp + 0x1e0], rcx
mov qword [rsp + 0x1e8], rax
call fcn.004358c0
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.00480f20
mov ecx, 0x1c
mov rdi, rax
mov rsi, rbx
xor eax, eax
lea rbx, [0x006d2d29]
call fcn.0044e760
mov qword [rsp + 0x190], rax
mov qword [rsp + 0x70], rbx
lea rax, [0x00690f40]
nop dword [rax + rax]
call fcn.0040d960
mov rcx, qword [rsp + 0x70]
mov qword [rax + 8], rcx
cmp dword [0x0092b0b0], 0
jne 0x637ce4
mov rcx, qword [rsp + 0x190]
mov qword [rax], rcx
jmp 0x637cf4
mov rdi, rax
mov rcx, qword [rsp + 0x190]
call fcn.00465a00
movups xmmword [rsp + 0x1d0], xmm15
lea rcx, [0x00742c00]
mov qword [rsp + 0x1e0], rcx
mov qword [rsp + 0x1e8], rax
call fcn.004358c0
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.004358c0
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.004358c0
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 0x637de1
mov edi, 2
lea rsi, [0x006796c0]
mov rdx, rax
mov rax, rcx
mov rcx, rdx
call fcn.0044a920
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 0x6385a0
mov rdx, qword [rsp + 0x98]
cmp rdx, 4
jb 0x63861e
lea rax, [0x0068d2a0]
mov rbx, qword [rsp + 0x280]
call fcn.0040b120
mov rbx, qword [rsp + 0x288]
mov rcx, qword [rsp + 0x1b0]
mov edi, 4
mov rsi, qword [rsp + 0x98]
mov r8, rdi
call fcn.00470440
mov qword [rsp + 0x1e0], rbx
mov qword [rsp + 0x1e8], rcx
test rbx, rbx
jne 0x638569
mov rdx, qword [rsp + 0x90]
test rdx, rdx
jbe 0x638614
mov rsi, qword [rsp + 0x1b0]
movzx eax, byte [rsi]
cmp al, 5
jne 0x6384a9
cmp rdx, 1
jbe 0x638607
movzx eax, byte [rsi + 1]
nop
test rax, rax
jne 0x6383ec
cmp rdx, 2
jbe 0x6385fa
cmp byte [rsi + 2], 0
jne 0x638375
lea rax, [0x006a1d60]
call fcn.0040d960
mov rcx, qword [rsp + 0x90]
cmp rcx, 3
jbe 0x6385ed
mov qword [rsp + 0x1c8], rax
mov rdx, qword [rsp + 0x1b0]
movzx esi, byte [rdx + 3]
cmp sil, 1
je 0x638117
nop dword [rax]
cmp sil, 3
je 0x63806a
cmp sil, 4
jne 0x637fa8
lea rax, [0x006796c0]
mov ebx, 0x10
mov rcx, rbx
nop
call fcn.0044a840
mov rdi, qword [rsp + 0x1c8]
mov qword [rdi + 0x18], 0x10
mov qword [rdi + 0x20], 0x10
cmp dword [0x0092b0b0], 0
jne 0x637f8c
mov qword [rdi + 0x10], rax
jmp 0x637f9e
lea rsi, [rdi + 0x10]
mov rcx, rdi
mov rdi, rsi
call fcn.00465900
mov rdi, rcx
mov eax, 0x12
jmp 0x63816d
mov eax, esi
mov ebx, 0xa
call fcn.00480f20
mov ecx, 0x15
mov rdi, rax
mov rsi, rbx
xor eax, eax
lea rbx, [0x006cf4c4]
call fcn.0044e760
mov qword [rsp + 0x178], rax
mov qword [rsp + 0x58], rbx
lea rax, [0x00690f40]
call fcn.0040d960
mov rcx, qword [rsp + 0x58]
mov qword [rax + 8], rcx
cmp dword [0x0092b0b0], 0
jne 0x638005
mov rcx, qword [rsp + 0x178]
mov qword [rax], rcx
jmp 0x638015
mov rdi, rax
mov rcx, qword [rsp + 0x178]
call fcn.00465a00
movups xmmword [rsp + 0x1d0], xmm15
lea rcx, [0x00742c00]
mov qword [rsp + 0x1e0], rcx
mov qword [rsp + 0x1e8], rax
call fcn.004358c0
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, [0x0068d2a0]
mov rbx, qword [rsp + 0x280]
call fcn.0040b120
mov rbx, qword [rsp + 0x288]
mov rcx, qword [rsp + 0x1b0]
mov edi, 1
mov rsi, qword [rsp + 0x98]
mov r8, rdi
nop
call fcn.00470440
test rbx, rbx
jne 0x6380c9
mov rsi, qword [rsp + 0x1b0]
movzx edi, byte [rsi]
add rdi, 2
mov rax, rdi
mov rdi, qword [rsp + 0x1c8]
jmp 0x63816d
movups xmmword [rsp + 0x1d0], xmm15
mov qword [rsp + 0x1e0], rbx
mov qword [rsp + 0x1e8], rcx
call fcn.004358c0
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, [0x006796c0]
mov ebx, 4
mov rcx, rbx
call fcn.0044a840
mov rdi, qword [rsp + 0x1c8]
mov qword [rdi + 0x18], 4
mov qword [rdi + 0x20], 4
cmp dword [0x0092b0b0], 0
jne 0x638152
mov qword [rdi + 0x10], rax
jmp 0x638168
lea rsi, [rdi + 0x10]
mov rcx, rdi
mov rdi, rsi
nop dword [rax]
call fcn.00465900
mov rdi, rcx
mov eax, 6
mov qword [rsp + 0x80], rax
mov rdx, qword [rsp + 0x98]
nop dword [rax]
cmp rax, rdx
jg 0x638195
ja 0x6385e5
mov rcx, qword [rsp + 0x1b0]
jmp 0x6381b2
mov rbx, rax
mov rcx, rbx
lea rax, [0x006796c0]
call fcn.0044a840
mov rcx, rax
mov rdx, qword [rsp + 0x80]
mov qword [rsp + 0x1b0], rcx
mov qword [rsp + 0x98], rdx
lea rax, [0x0068d2a0]
mov rbx, qword [rsp + 0x280]
call fcn.0040b120
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.00470440
mov qword [rsp + 0x1e0], rbx
mov qword [rsp + 0x1e8], rcx
test rbx, rbx
jne 0x638340
mov rsi, qword [rsp + 0x1c8]
mov rax, qword [rsi + 0x10]
mov rcx, qword [rsi + 0x18]
test rax, rax
je 0x63826b
mov rdx, qword [rsp + 0x80]
cmp rdx, rcx
cmovl rcx, rdx
mov rbx, qword [rsp + 0x1b0]
cmp rbx, rax
je 0x6382cd
call fcn.00466740
mov rdx, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x1b0]
mov rsi, qword [rsp + 0x1c8]
jmp 0x6382cd
mov rcx, qword [rsp + 0x80]
lea rdi, [rcx - 2]
mov rdx, qword [rsp + 0x98]
nop
cmp rdx, rdi
jb 0x6385dd
xor eax, eax
mov rbx, qword [rsp + 0x1b0]
mov rcx, rdi
call fcn.0044eb00
mov rdi, qword [rsp + 0x1c8]
mov qword [rdi + 8], rbx
cmp dword [0x0092b0b0], 0
jne 0x6382b5
mov qword [rdi], rax
jmp 0x6382ba
call fcn.00465900
mov rdx, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x1b0]
mov rsi, rdi
lea rax, [rdx - 2]
cmp rdx, rax
jbe 0x6385d5
movzx eax, word [rdx + rbx - 2]
rol ax, 8
mov qword [rsi + 0x28], rax
lea rax, [0x00744328]
mov qword [rsp + 0x1d0], rax
mov qword [rsp + 0x1d8], rsi
movups xmmword [rsp + 0x1e0], xmm15
call fcn.004358c0
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.004358c0
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, [0x00690f40]
nop dword [rax]
call fcn.0040d960
mov qword [rax + 8], 0x17
lea rcx, [0x006d043d]
mov qword [rax], rcx
movups xmmword [rsp + 0x1d0], xmm15
lea rcx, [0x00742c00]
mov qword [rsp + 0x1e0], rcx
mov qword [rsp + 0x1e8], rax
call fcn.004358c0
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.00638e00
mov ecx, 0xe
mov rdi, rax
mov rsi, rbx
xor eax, eax
lea rbx, [0x006cc481]
call fcn.0044e760
mov qword [rsp + 0x180], rax
mov qword [rsp + 0x60], rbx
lea rax, [0x00690f40]
nop
call fcn.0040d960
mov rcx, qword [rsp + 0x60]
mov qword [rax + 8], rcx
cmp dword [0x0092b0b0], 0
jne 0x638444
mov rcx, qword [rsp + 0x180]
mov qword [rax], rcx
jmp 0x638454
mov rdi, rax
mov rcx, qword [rsp + 0x180]
call fcn.00465a00
movups xmmword [rsp + 0x1d0], xmm15
lea rcx, [0x00742c00]
mov qword [rsp + 0x1e0], rcx
mov qword [rsp + 0x1e8], rax
call fcn.004358c0
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.00480f20
mov ecx, 0x1c
mov rdi, rax
mov rsi, rbx
xor eax, eax
lea rbx, [0x006d2d29]
call fcn.0044e760
mov qword [rsp + 0x188], rax
mov qword [rsp + 0x68], rbx
lea rax, [0x00690f40]
call fcn.0040d960
mov rcx, qword [rsp + 0x68]
mov qword [rax + 8], rcx
cmp dword [0x0092b0b0], 0
jne 0x638504
mov rcx, qword [rsp + 0x188]
mov qword [rax], rcx
jmp 0x638514
mov rdi, rax
mov rcx, qword [rsp + 0x188]
call fcn.00465a00
movups xmmword [rsp + 0x1d0], xmm15
lea rcx, [0x00742c00]
mov qword [rsp + 0x1e0], rcx
mov qword [rsp + 0x1e8], rax
call fcn.004358c0
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.004358c0
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.004358c0
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.00465da0
mov rcx, rdi
call fcn.00465e20
mov rcx, rax
call fcn.00465e20
mov eax, 3
mov rcx, rax
call fcn.00465da0
mov eax, 2
mov rcx, rax
call fcn.00465da0
mov eax, 1
mov rcx, rax
call fcn.00465da0
xor eax, eax
mov rcx, rax
call fcn.00465da0
mov ecx, 4
call fcn.00465e20
test rax, rax
je 0x638706
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x170], rax
mov rcx, qword [rsp + 0x98]
cmp rcx, 4
jb 0x638656
mov rdx, qword [rsp + 0x1b0]
jmp 0x638684
mov rax, qword [rsp + 0x1b0]
mov ebx, 4
mov edi, 1
lea rsi, [0x006796c0]
call fcn.0044a920
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 0x6386b9
mov rax, rdx
mov rdi, rbx
lea rsi, [0x006796c0]
mov rbx, r8
call fcn.0044a920
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.00466740
mov rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x1b0]
jmp 0x638894
cmp rcx, 4
jne 0x6387b0
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 [0x008cb828]
cmp r11, 0x10
mov ecx, 0x10
cmovl rcx, r11
mov rbx, qword [0x008cb820]
lea rax, [rsp + 0xc8]
cmp rbx, rax
je 0x638782
mov byte [rsp + 0x47], r8b
mov byte [rsp + 0x46], r9b
mov byte [rsp + 0x45], r10b
mov byte [rsp + 0x44], dl
call fcn.00466740
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 0x6387c0
cmp rcx, 0x10
je 0x6387c0
xor ecx, ecx
xor edx, edx
nop word [rax + rax]
test rdx, rdx
je 0x6388a5
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x168], rdx
mov r8, qword [rsp + 0x98]
nop
cmp r8, 4
jb 0x6387f0
mov rax, qword [rsp + 0x1b0]
jmp 0x638821
mov rax, qword [rsp + 0x1b0]
mov ebx, 4
mov rcx, r8
mov edi, 1
lea rsi, [0x006796c0]
call fcn.0044a920
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 0x638855
mov rdi, rcx
lea rsi, [0x006796c0]
mov rcx, r8
nop dword [rax + rax]
call fcn.0044a920
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.00466740
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 0x637db5
lea rax, [0x00690f40]
call fcn.0040d960
mov qword [rax + 8], 0x14
lea rcx, [0x006ced54]
mov qword [rax], rcx
movups xmmword [rsp + 0x1d0], xmm15
lea rcx, [0x00742c00]
mov qword [rsp + 0x1e0], rcx
mov qword [rsp + 0x1e8], rax
call fcn.004358c0
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 0x638628
inc rcx
cmp rcx, 0xa
jge 0x63893a
movzx edx, byte [rax + rcx]
test dl, dl
je 0x638927
jmp 0x638918
cmp byte [rax + 0xa], 0xff
nop
jne 0x638918
cmp byte [rax + 0xb], 0xff
jne 0x638918
lea r8, [rax + 0xc]
mov rcx, rbx
mov rdx, rax
mov ebx, 4
mov rax, r8
jmp 0x638628
mov eax, 1
mov rcx, rax
call fcn.00465da0
xor eax, eax
mov rcx, rax
call fcn.00465da0
mov ecx, 2
nop dword [rax + rax]
call fcn.00465e20
mov byte [rbx + rax - 1], r11b
inc rcx
cmp rcx, r9
jge 0x6389f2
mov r11, qword [r10 + rcx*8]
inc rbx
cmp rdx, rbx
jae 0x638985
mov qword [rsp + 0xa8], rcx
mov qword [rsp + 0xa0], r11
mov rcx, rdx
mov edi, 1
lea rsi, [0x006796c0]
nop dword [rax]
call fcn.0044a920
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 0x638985
mov rcx, rbx
jmp 0x637823
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.00463740
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.00637260