Function at 0x52c420
Capabilities:
Check for software breakpoints

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
mov eax, 0x1ed8
call fcn.004741ee
sub rsp, rax
movaps xmmword [rsp + 0x1ec0], xmm9
movaps xmmword [rsp + 0x1eb0], xmm8
movaps xmmword [rsp + 0x1ea0], xmm7
movaps xmmword [rsp + 0x1e90], xmm6
mov r13, rdx
mov rbx, rcx
lea rbp, [rcx + 0x1a8]
lea r14, [rcx + 0x1c9]
lea r12, [rcx + 0x178]
xorps xmm6, xmm6
movss xmm7, dword [0x006ba470]
lea rax, [rcx + 0xd0]
mov qword [rsp + 0x2f8], rax
lea rax, [rcx + 0x150]
mov qword [rsp + 0x148], rax
lea rax, [rcx + 0x18]
mov qword [rsp + 0x2f0], rax
lea rdi, [rsp + 0x1220]
lea rax, [rcx + 8]
mov qword [rsp + 0x238], rax
lea r15, [rsp + 0x3c0]
mov qword [rsp + 0xf0], rax
mov qword [rsp + 0xf8], rax
mov qword [rsp + 0x100], rcx
cmp byte [rbx + 0x1d8], 0
jne 0x52f2e8
mov rax, qword [rbx + 0x70]
mov rcx, qword [rbx + 0x88]
test rax, rax
jne 0x52c53f
cmp rcx, 2
je 0x52c53f
cmp dword [r12], 2
je 0x52c51c
mov rcx, r12
mov rdx, r13
call fcn.00543799
test al, al
jne 0x52c709
mov byte [rbx + 0x1d8], 1
mov qword [rbx + 0x70], 4
mov qword [rbx + 0x88], 5
mov byte [rbx + 0xca], 2
jmp 0x52c4df
mov dl, byte [rbx + 0x1c8]
mov byte [rbx + 0x1c8], 3
cmp dl, 3
je 0x52f2f1
movdqu xmm0, xmmword [rbp]
movups xmm1, xmmword [rbp + 0x10]
movaps xmmword [rsp + 0x80], xmm1
movdqa xmmword [rsp + 0x70], xmm0
mov byte [rsp + 0x90], dl
mov ecx, dword [r14]
mov edx, dword [r14 + 3]
lea r8, [rsp + 0x91]
mov dword [r8 + 3], edx
mov dword [r8], ecx
dec rax
cmp rax, 2
jae 0x52c654
mov rsi, qword [rsp + 0x78]
lea rcx, [rsi + 0x18]
mov rdx, qword [r13]
call fcn.00486b7a
mov rax, qword [rsi + 0x10]
test rax, rax
je 0x52c5da
cmp rax, 2
jne 0x52f3b0
cmp byte [rsp + 0x90], 2
je 0x52c5da
mov rax, qword [rsp + 0x80]
mov rax, qword [rax + 0x38]
test rax, rax
js 0x52c663
call fcn.0049adee
mov rsi, rax
cmp dword [rbx + 0x70], 1
jne 0x52c5f0
mov qword [rbx + 0x70], 2
mov rcx, r15
mov rdx, rbx
mov r8, r13
call fcn.0054204b
test byte [rsp + 0x3c0], 1
je 0x52c62f
cmp qword [rsp + 0x3c8], 0
je 0x52c622
lea rcx, [rsp + 0x3c8]
call fcn.00487df7
jmp 0x52c62f
lea rcx, [rsp + 0x3d0]
call fcn.005379db
mov rax, qword [rbx + 0x70]
test rax, rax
je 0x52c64c
cmp eax, 3
je 0x52c64c
mov qword [rbx + 0x70], 4
mov byte [rbx + 0xca], 2
mov rcx, rsi
call fcn.0051ff2f
lea rcx, [rsp + 0x70]
call fcn.00522bde
jmp 0x52c4df
lea rcx, [rsp + 0x80]
mov rdx, r13
call fcn.0049b96e
test al, al
jne 0x52f3ba
lea rcx, [rsp + 0x1210]
mov rdx, rbx
mov r8, r13
call fcn.0054204b
mov rax, qword [rsp + 0x1210]
test rax, rax
je 0x52c654
cmp eax, 1
jne 0x52f3ba
cmp qword [rsp + 0x1218], 0
je 0x52e9b6
mov rcx, r15
lea rdx, [rsp + 0x80]
lea r8, [rsp + 0x1218]
call fcn.0049ba03
cmp byte [rsp + 0x3e0], 2
jne 0x52e9ff
mov rcx, rbp
call fcn.00522b59
mov rax, qword [rsp + 0x90]
mov qword [rbp + 0x20], rax
movdqa xmm0, xmmword [rsp + 0x70]
movaps xmm1, xmmword [rsp + 0x80]
movups xmmword [rbp + 0x10], xmm1
movdqu xmmword [rbp], xmm0
jmp 0x52c4df
mov al, byte [rbx + 0xc1]
mov byte [rsp + 0x65], al
mov eax, dword [rbx + 0xc2]
mov dword [rsp + 0x5c], eax
mov al, byte [rbx + 0xc6]
mov byte [rsp + 0x66], al
mov al, byte [rbx + 0xc8]
mov byte [rsp + 0x67], al
mov qword [rsp + 0x110], r13
mov qword [rsp + 0x1c0], rbp
mov qword [rsp + 0xe0], r14
mov qword [rsp + 0x50], r12
mov rsi, qword [rbx + 0x158]
test rsi, rsi
je 0x52e51b
mov qword [rsp + 0x398], 2
and qword [rsp + 0x3b8], 0
mov rax, qword [rsp + 0x148]
mov r13, qword [rax]
mov qword [rsp + 0x70], r13
mov qword [rsp + 0x78], rsi
xor r14d, r14d
mov qword [rsp + 0x80], r14
lea rcx, [rsp + 0x70]
call fcn.00498d66
test al, 1
je 0x52e522
cmp dl, 0xd
jne 0x52c7d9
lea rax, [r14 + 1]
mov qword [rsp + 0x80], rax
cmp rsi, rax
jbe 0x52e522
mov al, byte [r13 + r14 + 1]
add r14, 2
mov qword [rsp + 0x80], r14
cmp al, 0xa
je 0x52c793
jmp 0x52e541
movzx eax, dl
cmp eax, 0xa
jne 0x52c7e6
inc r14
jmp 0x52c78b
lea rcx, [rsp + 0x70]
call fcn.00498d3e
mov rdi, qword [rsp + 0x78]
mov rax, qword [rsp + 0x80]
cmp rax, 0xfffffffffffffff7
ja 0x52c8de
lea rdx, [rax + 8]
cmp rdx, rdi
ja 0x52c8de
mov r8, qword [rsp + 0x70]
movq xmm0, qword [r8 + rax]
movdqa xmmword [rsp + 0x1e0], xmm0
mov r9b, byte [rsp + 0x1e6]
mov r10b, byte [rsp + 0x1e5]
mov r11b, byte [rsp + 0x1e4]
mov bpl, byte [rsp + 0x1e3]
mov r14b, byte [rsp + 0x1e2]
mov r12b, byte [rsp + 0x1e0]
mov r15b, byte [rsp + 0x1e1]
mov qword [rsp + 0x80], rdx
cmp r12b, 0x48
jne 0x52d949
cmp r15b, 0x54
jne 0x52d949
cmp r14b, 0x54
jne 0x52d949
cmp bpl, 0x50
jne 0x52d949
cmp r11b, 0x2f
lea r15, [rsp + 0x78]
jne 0x52d94e
cmp r10b, 0x31
mov ecx, 6
jne 0x52c9d0
cmp r9b, 0x2e
jne 0x52c9d0
pextrw r9d, xmm0, 3
shr r9d, 8
cmp r9b, 0x30
je 0x52d797
cmp r9d, 0x31
jne 0x52c9d0
mov r9b, 2
jmp 0x52d79a
cmp rdi, rax
jbe 0x52e522
mov rdx, qword [rsp + 0x70]
mov r9b, byte [rdx + rax]
lea r8, [rax + 1]
mov qword [rsp + 0x80], r8
mov ecx, 6
cmp r9b, 0x48
jne 0x52c9cb
cmp rdi, r8
jbe 0x52e522
mov r9b, byte [rdx + rax + 1]
lea r8, [rax + 2]
mov qword [rsp + 0x80], r8
cmp r9b, 0x54
jne 0x52c9cb
cmp rdi, r8
jbe 0x52e522
mov r9b, byte [rdx + rax + 2]
lea r8, [rax + 3]
mov qword [rsp + 0x80], r8
cmp r9b, 0x54
jne 0x52c9cb
cmp rdi, r8
jbe 0x52e522
mov r9b, byte [rdx + rax + 3]
lea r8, [rax + 4]
mov qword [rsp + 0x80], r8
cmp r9b, 0x50
jne 0x52c9cb
cmp rdi, r8
jbe 0x52e522
mov r9b, byte [rdx + rax + 4]
lea r8, [rax + 5]
mov qword [rsp + 0x80], r8
cmp r9b, 0x2f
jne 0x52c9cb
cmp rdi, r8
jbe 0x52e522
mov r8b, byte [rdx + rax + 5]
add rax, 6
mov qword [rsp + 0x80], rax
cmp r8b, 0x31
jne 0x52c9cb
cmp rdi, rax
jbe 0x52e522
cmp byte [rdx + rax], 0x2e
mov eax, 0
cmove rcx, rax
je 0x52e522
lea r15, [rsp + 0x78]
mov rax, qword [rsp + 0x38]
cmp cl, 6
lea r13, [rsp + 0x260]
mov qword [rsp + 0x38], rax
jne 0x52e546
cmp byte [rsp + 0x67], 0
mov r12, qword [rsp + 0x50]
je 0x52e54b
xor esi, esi
mov ax, 0xc8
mov qword [rsp + 0x200], rax
xor eax, eax
xor ecx, ecx
mov qword [rsp + 0x1c8], rcx
xor ebp, ebp
mov qword [rsp + 0x2c0], rax
mov rax, qword [rsp + 0x160]
lea rcx, [rsp + 0x2c8]
mov qword [rcx + 0x10], rax
movdqa xmm0, xmmword [rsp + 0x150]
movdqu xmmword [rcx], xmm0
lea rcx, [rsp + 0x378]
mov rdx, qword [rsp + 0x148]
mov r8, rsi
call fcn.0046fd13
cmp byte [rsp + 0x5c], 0
je 0x52cad4
cmp rbp, 0x65
jae 0x52f48a
mov rax, rbp
shl rax, 5
add rax, rsp
add rax, 0x1210
mov rcx, qword [rsp + 0x378]
mov rdx, qword [rsp + 0x380]
lea r8, [rsp + 0x1210]
cmp r8, rax
je 0x52cad4
mov r9, qword [r8 + 0x10]
mov r10, qword [r8 + 0x18]
cmp r9, r10
ja 0x52f48a
cmp r10, rdx
ja 0x52f48a
add r8, 0x20
cmp r10, r9
je 0x52ca91
movzx r11d, byte [rcx + r9]
cmp r11d, 0xd
je 0x52caca
cmp r11d, 0xa
jne 0x52cacf
mov byte [rcx + r9], 0x20
inc r9
jmp 0x52cab4
lea rcx, [rsp + 0x320]
lea rdx, [rsp + 0x378]
call fcn.0048bf77
mov rax, qword [rbx + 0x10]
mov qword [rbx + 0x10], 3
cmp rax, 3
jne 0x52cb05
mov rcx, r13
call fcn.00493f32
jmp 0x52cb25
mov qword [rsp + 0x260], rax
mov ecx, 0xb
lea rdi, [rsp + 0x268]
mov rsi, qword [rsp + 0x2f0]
rep movsq qword [rdi], qword [rsi]
cmp byte [rsp + 0x1c8], 2
sete byte [rsp + 0x108]
cmp byte [rsp + 0x66], 0
je 0x52cb8b
mov edx, 2
xor ecx, ecx
call fcn.0057c1d0
lea rcx, [rsp + 0x158]
movups xmmword [rcx + 0x28], xmm6
movups xmmword [rcx + 0x40], xmm6
mov qword [rsp + 0x168], rax
and qword [rsp + 0x170], 0
mov eax, 8
mov qword [rsp + 0x178], rax
mov qword [rsp + 0x190], rax
and word [rsp + 0x1a8], 0
xor eax, eax
jmp 0x52cb90
mov eax, 3
mov qword [rsp + 0x150], rax
mov r14, qword [rsp + 0x298]
mov rax, r14
add rax, rbp
jb 0x52f48a
mov r12, qword [rsp + 0x280]
cmp rax, r12
jbe 0x52cdc7
lea rcx, [rax - 1]
bsr rcx, rcx
not ecx
mov r13, 0xffffffffffffffff
shr r13, cl
inc r13
cmp rax, 2
mov eax, 1
cmovb r13, rax
cmp r13, 0x8001
jae 0x52f48a
test r13, r13
lea r15, [rsp + 0x3c0]
je 0x52f48a
test r14, r14
je 0x52cd31
mov rdi, qword [rsp + 0x278]
movzx eax, word [rsp + 0x2b8]
mov qword [rsp + 0x48], r12
lea r12, [r12*4]
mov rcx, r12
xor esi, esi
mov qword [rsp + 0xd8], rbp
test rcx, rcx
je 0x52cc59
cmp word [rdi + rsi*4], 0xffff
je 0x52cc50
movzx edx, word [rdi + rsi*4 + 2]
and edx, eax
mov r8d, esi
sub r8d, edx
test r8d, eax
je 0x52cc5b
add rcx, 0xfffffffffffffffc
inc rsi
jmp 0x52cc32
xor esi, esi
mov rcx, r15
mov rdx, r13
call fcn.00493c53
mov rcx, r15
call fcn.00493be2
mov qword [rsp + 0x278], rax
mov qword [rsp + 0x280], rdx
dec r13d
mov word [rsp + 0x2b8], r13w
cmp rsi, qword [rsp + 0x48]
ja 0x52f48a
mov rbp, rdx
lea rax, [rdi + rsi*4]
shl rsi, 2
sub r12, rsi
lea r13, [rsp + 0x260]
test r12, r12
je 0x52cccd
lea r15, [rax + 4]
movzx edx, word [rax]
movzx r8d, word [rax + 2]
mov rcx, r13
call fcn.0048b39a
add r12, 0xfffffffffffffffc
mov rax, r15
jmp 0x52ccab
mov rax, rdi
mov r12, qword [rsp + 0x48]
test rsi, rsi
je 0x52ccf7
lea r15, [rax + 4]
movzx edx, word [rax]
movzx r8d, word [rax + 2]
mov rcx, r13
call fcn.0048b39a
add rsi, 0xfffffffffffffffc
mov rax, r15
jmp 0x52ccd5
mov rax, rbp
shr rax, 2
add rax, r14
sub rbp, rax
lea rcx, [rsp + 0x288]
mov rdx, rbp
call fcn.00488357
mov rcx, rdi
mov rdx, r12
call fcn.00499150
lea r15, [rsp + 0x78]
mov rbp, qword [rsp + 0xd8]
jmp 0x52cdc7
lea eax, [r13 - 1]
mov word [rsp + 0x2b8], ax
mov rcx, r15
mov rdx, r13
call fcn.00493c53
mov rcx, r15
call fcn.00493be2
mov rdi, rax
mov rsi, rbp
mov rbp, rdx
mov rcx, qword [rsp + 0x278]
mov rdx, r12
call fcn.00499150
mov qword [rsp + 0x278], rdi
mov qword [rsp + 0x280], rbp
mov rbp, rsi
lea r15, [rsp + 0x78]
mov rax, r13
shr rax, 2
sub r13, rax
mov rcx, r13
call fcn.00493d6d
mov rsi, rax
mov rdi, rdx
lea rcx, [rsp + 0x288]
call fcn.0048b1f0
mov qword [rsp + 0x288], rsi
mov qword [rsp + 0x290], rdi
and qword [rsp + 0x298], 0
lea r13, [rsp + 0x260]
cmp rbp, 0x65
jae 0x52f48a
shl rbp, 5
lea rax, [rsp + rbp]
add rax, 0x1210
mov qword [rsp + 0x140], rax
lea rbp, [rsp + 0x1210]
mov r12, qword [rsp + 0x50]
cmp rbp, qword [rsp + 0x140]
je 0x52d675
mov rdx, qword [rbp]
mov rax, qword [rbp + 8]
mov r8, rax
sub r8, rdx
jb 0x52f48a
cmp rax, qword [rsp + 0x330]
ja 0x52f48a
add rdx, qword [rsp + 0x328]
lea rax, [0x007012a4]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x300]
lea r9, [rsp + 0x3c0]
call fcn.00494ad0
movzx eax, byte [rsp + 0x310]
cmp eax, 3
je 0x52e6f1
mov rsi, qword [rsp + 0x300]
mov rdi, qword [rsp + 0x308]
test eax, eax
je 0x52ce87
cmp eax, 2
jne 0x52cec6
and qword [rsp + 0x78], 0
mov byte [rsp + 0x80], sil
jmp 0x52cee6
lea r12, [rsp + 0x300]
mov rcx, r12
mov rdx, rdi
call fcn.004974db
xor r14d, r14d
cmp rdi, r14
je 0x52ced6
movzx eax, byte [rsi + r14]
lea rcx, [0x007012a4]
mov dl, byte [rax + rcx]
test dl, dl
je 0x52e57d
mov rcx, r12
call fcn.00494ab1
inc r14
jmp 0x52ce9d
mov rcx, r15
mov rdx, rsi
mov r8, rdi
call fcn.0046f4f2
jmp 0x52cee6
mov rcx, r15
mov rdx, r12
call fcn.0048bf77
mov r12, qword [rsp + 0x50]
movups xmm0, xmmword [r15]
movups xmm1, xmmword [r15 + 0x10]
movaps xmmword [rsp + 0x240], xmm0
movaps xmmword [rsp + 0x250], xmm1
mov r8, qword [rbp + 0x10]
mov r9, qword [rbp + 0x18]
lea rcx, [rsp + 0x70]
lea rdx, [rsp + 0x320]
call fcn.0046f683
movups xmm0, xmmword [rsp + 0x70]
movups xmm1, xmmword [rsp + 0x80]
movaps xmmword [rsp + 0x3c0], xmm0
movaps xmmword [rsp + 0x3d0], xmm1
mov rdi, qword [rsp + 0x3c0]
and qword [rsp + 0x3c0], 0
test rdi, rdi
je 0x52f48a
mov r14, qword [rsp + 0x3c8]
mov rsi, qword [rsp + 0x3d0]
mov rax, qword [rsp + 0x3d8]
mov qword [rsp + 0x218], rax
lea rcx, [rsp + 0x3c0]
call fcn.00538cb5
cmp qword [rsp + 0x240], 0
mov qword [rsp + 0xe8], rsi
jne 0x52cfd2
cmp byte [rsp + 0x248], 0x14
jne 0x52cfd2
test byte [rsp + 0x108], 1
jne 0x52cfb1
mov rcx, r14
mov rdx, rsi
call fcn.0049dd15
jmp 0x52cfcb
mov r9d, 5
mov rcx, r14
mov rdx, rsi
lea r8, [0x00723553]
call fcn.0049dd27
xor al, 1
mov byte [rsp + 0x108], al
mov rsi, qword [rsp + 0x150]
cmp rsi, 3
je 0x52d4b6
mov qword [rsp + 0x1d0], r14
mov r8, qword [rbp]
mov r9, qword [rbp + 8]
lea rcx, [rsp + 0x70]
lea rdx, [rsp + 0x320]
call fcn.0046f683
mov r14, qword [rsp + 0x188]
cmp esi, 1
mov qword [rsp + 0x68], rbp
mov qword [rsp + 0x1d8], rdi
jne 0x52d02c
test r14, r14
js 0x52d06e
cvtsi2ss xmm0, r14
jmp 0x52d086
mov rsi, qword [rsp + 0x170]
mov rax, rsi
shr rax, 2
mov rcx, rsi
sub rcx, rax
cmp r14, rcx
jne 0x52d12a
test r14, r14
lea rdi, [rsp + 0x3c0]
je 0x52d547
add rsi, rsi
lea rcx, [rsp + 0x150]
mov rdx, rsi
jmp 0x52d125
mov rax, r14
shr rax, 1
mov ecx, r14d
and ecx, 1
or rcx, rax
cvtsi2ss xmm0, rcx
addss xmm0, xmm0
mov rbp, qword [rsp + 0x170]
test rbp, rbp
js 0x52d09a
cvtsi2ss xmm1, rbp
jmp 0x52d0b1
mov rax, rbp
shr rax, 1
mov ecx, ebp
and ecx, 1
or rcx, rax
cvtsi2ss xmm1, rcx
addss xmm1, xmm1
divss xmm0, xmm1
ucomiss xmm0, xmm7
jae 0x52d10e
lea rcx, [0x00575351]
call fcn.004c18eb
mov qword [rsp + 0x150], 2
mov qword [rsp + 0x158], rax
mov qword [rsp + 0x160], rdx
mov r13, qword [rsp + 0x168]
lea rax, [rbp*4]
mov rcx, r13
test rax, rax
je 0x52d328
mov dword [rcx], 0xffff
add rcx, 4
add rax, 0xfffffffffffffffc
jmp 0x52d0f5
and qword [rsp + 0x150], 0
add rbp, rbp
lea rcx, [rsp + 0x150]
mov rdx, rbp
call fcn.00499856
lea rcx, [rsp + 0x150]
lea rdx, [rsp + 0x240]
call fcn.004995f6
mov ebp, eax
movzx r15d, word [rsp + 0x1a8]
mov eax, r15d
and eax, ebp
mov rdi, qword [rsp + 0x168]
mov r12, qword [rsp + 0x170]
mov rcx, qword [rsp + 0x188]
mov qword [rsp + 0x48], rcx
mov rcx, qword [rsp + 0x178]
mov qword [rsp + 0xd8], rcx
xor r14d, r14d
mov rsi, rax
mov eax, 0
cmp rsi, r12
jae 0x52d17f
movzx r13d, word [rdi + rsi*4]
cmp r13, 0xffff
je 0x52d207
movzx eax, word [rdi + rsi*4 + 2]
mov ecx, r15d
and ecx, eax
mov edx, esi
sub edx, ecx
and edx, r15d
cmp rdx, r14
jb 0x52d278
mov ebx, ebp
cmp ax, bp
jne 0x52d1ef
cmp qword [rsp + 0x48], r13
jbe 0x52f48a
imul rbp, r13, 0x60
mov rax, qword [rsp + 0xd8]
lea rcx, [rax + rbp]
add rcx, 0x38
lea rdx, [rsp + 0x240]
call fcn.0048b516
test al, al
jne 0x52d3dd
inc r14
inc rsi
mov rax, rsi
mov ebp, ebx
mov rbx, qword [rsp + 0x100]
jmp 0x52d17f
lea rdi, [rsp + 0x3c0]
mov rcx, rdi
lea rdx, [rsp + 0x240]
call fcn.004975c6
lea rcx, [rsp + 0x150]
mov edx, ebp
mov r8, rdi
lea r9, [rsp + 0x70]
call fcn.00499e77
cmp rsi, qword [rsp + 0x170]
lea r15, [rsp + 0x78]
lea r13, [rsp + 0x260]
mov ecx, ebp
mov rbp, qword [rsp + 0x68]
jae 0x52f48a
mov rax, qword [rsp + 0x168]
mov rdx, qword [rsp + 0x48]
mov word [rax + rsi*4], dx
mov word [rax + rsi*4 + 2], cx
mov r12, qword [rsp + 0x50]
jmp 0x52d4a6
mov rdi, qword [rsp + 0x150]
lea r15, [rsp + 0x3c0]
mov rcx, r15
lea rdx, [rsp + 0x240]
call fcn.004975c6
lea rcx, [rsp + 0x150]
mov edx, ebp
mov r8, r15
lea r9, [rsp + 0x70]
call fcn.00499e77
mov rcx, qword [rsp + 0x168]
mov rdx, qword [rsp + 0x170]
mov word [rsp + 0x20], bp
mov r8, rsi
mov r9, qword [rsp + 0x48]
call fcn.0048b348
mov rcx, qword [rsp + 0x150]
test rcx, rcx
mov rdx, rcx
mov r8d, 1
cmove rdx, r8
cmp rax, 0x7f
cmova rcx, rdx
cmp rdi, 2
cmove rdx, rcx
cmp r14, 0x200
cmovb rdx, rcx
mov qword [rsp + 0x150], rdx
mov r12, qword [rsp + 0x50]
lea r15, [rsp + 0x78]
lea r13, [rsp + 0x260]
mov rbp, qword [rsp + 0x68]
jmp 0x52d4a6
mov rdi, qword [rsp + 0x178]
imul rax, r14, 0x60
add rax, rdi
mov qword [rsp + 0x48], rax
movzx r12d, word [rsp + 0x1a8]
xor esi, esi
cmp rdi, qword [rsp + 0x48]
je 0x52d12a
lea r14, [rdi + 0x60]
lea r15, [rsi + 1]
lea rdx, [rdi + 0x38]
lea rcx, [rsp + 0x150]
call fcn.0048ad84
movzx ecx, ax
mov edx, r12d
and edx, ecx
mov word [rdi + 0x58], cx
xor ecx, ecx
mov r8, rdx
mov edx, 0
cmp r8, rbp
jae 0x52d379
cmp word [r13 + r8*4], 0xffff
je 0x52d3b1
movzx edx, word [r13 + r8*4 + 2]
and edx, r12d
mov r9d, r8d
sub r9d, edx
and r9d, r12d
cmp r9, rcx
jb 0x52d3bf
inc rcx
inc r8
mov rdx, r8
jmp 0x52d379
mov word [r13 + r8*4], si
mov word [r13 + r8*4 + 2], ax
jmp 0x52d3d2
mov word [rsp + 0x20], ax
mov rcx, r13
mov rdx, rbp
mov r9d, esi
call fcn.0048b348
mov rdi, r14
mov rsi, r15
jmp 0x52d347
mov rax, qword [rsp + 0xd8]
lea rsi, [rax + rbp]
cmp qword [rax + rbp], 0
je 0x52d5d6
mov r14, qword [rsi + 0x10]
mov rdi, qword [rsp + 0x1a0]
movups xmm0, xmmword [rsp + 0x70]
movups xmm1, xmmword [rsp + 0x80]
lea rax, [rsp + 0x3c8]
movups xmmword [rax + 0x28], xmm1
movups xmmword [rax + 0x18], xmm0
mov qword [rsp + 0x3c0], 1
mov qword [rsp + 0x3c8], r14
and qword [rsp + 0x3d0], 0
mov qword [rsp + 0x3d8], r13
lea rcx, [rsp + 0x190]
lea rdx, [rsp + 0x3c0]
call fcn.00499ef6
cmp qword [rsp + 0x1a0], r14
lea r15, [rsp + 0x78]
mov rbp, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x100]
jbe 0x52f48a
mov rax, qword [rsp + 0x190]
shl r14, 6
mov ecx, 1
mov qword [rax + r14 + 0x10], rcx
mov qword [rax + r14 + 0x18], rdi
mov qword [rsi], rcx
mov qword [rsi + 0x10], rdi
mov r12, qword [rsp + 0x50]
lea r13, [rsp + 0x260]
mov rdi, qword [rsp + 0x1d8]
mov r14, qword [rsp + 0x1d0]
add rbp, 0x20
movdqa xmm0, xmmword [rsp + 0x240]
movaps xmm1, xmmword [rsp + 0x250]
movaps xmmword [rsp + 0x80], xmm1
movdqa xmmword [rsp + 0x70], xmm0
mov qword [rsp + 0x3c0], rdi
mov qword [rsp + 0x3c8], r14
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 0x3d0], rax
mov rax, qword [rsp + 0x218]
mov qword [rsp + 0x3d8], rax
mov byte [rsp + 0x3e0], 0
mov eax, dword [rsp + 0x300]
mov ecx, dword [rsp + 0x303]
lea rdx, [rsp + 0x3c8]
mov dword [rdx + 0x1c], ecx
mov dword [rdx + 0x19], eax
mov rcx, r13
lea rdx, [rsp + 0x70]
lea r8, [rsp + 0x3c0]
call fcn.0048b5b3
jmp 0x52cdf4
mov word [rsp + 0x1a8], 7
mov edx, 8
mov rcx, rdi
call fcn.00493c53
mov rcx, rdi
call fcn.00493be2
mov r13, rax
mov rbp, rdx
mov rcx, qword [rsp + 0x168]
mov rdx, rsi
call fcn.00499150
mov qword [rsp + 0x168], r13
mov qword [rsp + 0x170], rbp
mov ecx, 8
mov edx, 0x240
call fcn.00564ede
test rax, rax
je 0x52f48a
mov rsi, rax
lea rcx, [rsp + 0x178]
call fcn.00499167
mov qword [rsp + 0x178], rsi
mov qword [rsp + 0x180], 6
and qword [rsp + 0x188], 0
jmp 0x52d12a
mov rdi, qword [rsp + 0x1a0]
movups xmm0, xmmword [rsp + 0x70]
movups xmm1, xmmword [rsp + 0x80]
lea rax, [rsp + 0x3c8]
movups xmmword [rax + 0x28], xmm1
movups xmmword [rax + 0x18], xmm0
and qword [rsp + 0x3c0], 0
mov qword [rsp + 0x3c8], r13
and qword [rsp + 0x3d0], 0
mov qword [rsp + 0x3d8], r13
lea rcx, [rsp + 0x190]
lea rdx, [rsp + 0x3c0]
call fcn.00499ef6
mov qword [rsi], 1
mov qword [rsi + 8], rdi
mov qword [rsi + 0x10], rdi
mov r12, qword [rsp + 0x50]
lea r15, [rsp + 0x78]
lea r13, [rsp + 0x260]
mov rbp, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x1d8]
mov r14, qword [rsp + 0x1d0]
mov rbx, qword [rsp + 0x100]
jmp 0x52d4b6
mov rax, qword [rsp + 0x150]
mov rcx, rax
mov qword [rsp + 0x48], rax
cmp rax, 3
mov qword [rsp + 0x68], rbp
je 0x52d93e
mov ecx, 0x20
mov edx, 8
call fcn.0057c1d0
mov r15, rax
movups xmm0, xmmword [0x00775880]
movups xmmword [rax], xmm0
movdqu xmm0, xmmword [0x00775890]
movdqu xmmword [rax + 0x10], xmm0
xor ecx, ecx
call fcn.00537bad
mov ecx, 0x60
mov edx, 8
call fcn.0057c1d0
mov ecx, 0xc
mov rdi, rax
lea rsi, [rsp + 0x150]
rep movsq qword [rdi], qword [rsi]
lea rcx, [0x00701df8]
mov qword [rsp + 0x20], rcx
mov rcx, r15
movabs rdx, 0xb868800c574adec9
movabs r8, 0x92be66a88ca6ef69
mov r9, rax
call fcn.00493568
test rax, rax
je 0x52e05d
mov r13, rax
mov rsi, rdx
mov rcx, rax
call qword [rdx + 0x18]
movabs rcx, 0x92be66a88ca6ef69
xor rdx, rcx
movabs rcx, 0xb868800c574adec9
xor rax, rcx
or rax, rdx
jne 0x52e052
mov ecx, 0xc
lea r14, [rsp + 0x3c0]
mov rdi, r14
mov rsi, r13
rep movsq qword [rdi], qword [rsi]
mov edx, 8
mov rcx, r13
call fcn.00414d20
mov ecx, 0xc
lea rdi, [rsp + 0x70]
mov rsi, r14
rep movsq qword [rdi], qword [rsi]
cmp qword [rsp + 0x70], 3
je 0x52e05d
lea rcx, [rsp + 0x70]
call fcn.0049e237
jmp 0x52e05d
mov r9b, 1
mov qword [rsp + 0x1c8], r9
cmp rdi, rdx
jbe 0x52e522
mov dl, byte [r8 + rax + 8]
add rax, 9
mov qword [rsp + 0x80], rax
cmp dl, 0x20
jne 0x52c9d0
lea rcx, [rsp + 0x70]
call fcn.00498d3e
test dword [rsp + 0x5c], 0xff0000
je 0x52d7eb
lea rcx, [rsp + 0x70]
call fcn.00498d02
test al, al
jne 0x52e522
mov r10, qword [rsp + 0x78]
mov rax, qword [rsp + 0x80]
cmp r10, rax
jbe 0x52e522
mov rdx, qword [rsp + 0x70]
mov bpl, byte [rdx + rax]
add bpl, 0xd0
mov ecx, 3
cmp bpl, 9
ja 0x52e546
lea r8, [rax + 1]
cmp r10, r8
jbe 0x52e522
mov r14b, byte [rdx + rax + 1]
add r14b, 0xd0
cmp r14b, 9
ja 0x52e546
lea r8, [rax + 2]
cmp r10, r8
jbe 0x52e522
mov dil, byte [rdx + rax + 2]
add dil, 0xd0
cmp dil, 0xa
jae 0x52e546
lea r8, [rax + 3]
cmp r10, r8
jbe 0x52e522
movzx r8d, byte [rdx + rax + 3]
lea r9, [rax + 4]
mov qword [rsp + 0x80], r9
cmp r8d, 0xa
je 0x52d97f
cmp r8d, 0xd
je 0x52d95d
cmp r8d, 0x20
jne 0x52e546
test dword [rsp + 0x5c], 0xff0000
je 0x52d8b6
lea rcx, [rsp + 0x70]
call fcn.00498d02
test al, al
jne 0x52e522
lea rcx, [rsp + 0x70]
call fcn.00498d3e
mov ecx, 3
mov r10, qword [rsp + 0x70]
mov rax, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x80]
xor r11d, r11d
mov r8, rdx
mov qword [rsp + 0x48], rdx
cmp rax, rdx
jbe 0x52e522
mov rdx, qword [rsp + 0x48]
movzx r8d, byte [r10 + rdx]
inc rdx
cmp r8d, 9
je 0x52d92b
cmp r8d, 0x20
je 0x52d92b
cmp r8d, 0xa
je 0x52e2c4
cmp r8d, 0xd
je 0x52e30d
test r8b, r8b
js 0x52d92b
lea r9d, [r8 - 0x21]
cmp r9b, 0x5d
ja 0x52e546
test r8b, r8b
movzx r11d, r11b
mov r8d, 1
cmovs r11d, r8d
jmp 0x52d8da
xor r15d, r15d
mov r13b, 1
jmp 0x52e060
lea r15, [rsp + 0x78]
mov rax, qword [rsp + 0x38]
mov ecx, 6
jmp 0x52c9d5
cmp r10, r9
jbe 0x52e522
mov dl, byte [rdx + rax + 4]
add rax, 5
mov qword [rsp + 0x80], rax
cmp dl, 0xa
jne 0x52e546
lea rcx, [rsp + 0x70]
call fcn.00498d3e
lea rax, [0x00799ab8]
mov qword [rsp + 0x68], rax
xor eax, eax
mov qword [rsp + 0x48], rax
movzx eax, bpl
imul eax, eax, 0x64
movzx ecx, r14b
imul ecx, ecx, 0xa
add ecx, eax
movzx eax, dil
add eax, ecx
mov qword [rsp + 0x200], rax
sub rsi, qword [rsp + 0x78]
xor r9d, r9d
xor r15d, r15d
mov qword [rsp + 0xd8], r9
shl r9, 5
mov qword [rsp + 0x140], r9
lea rax, [rsp + r9]
add rax, 0x3c0
mov qword [rsp + 0x218], rax
mov qword [rsp + 0xe8], r15
mov rcx, qword [rsp + 0x78]
mov r14, qword [rsp + 0x80]
cmp rcx, r14
jbe 0x52e522
mov rax, qword [rsp + 0x70]
mov r12, rax
movzx eax, byte [rax + r14]
lea rbp, [r14 + 1]
mov qword [rsp + 0x80], rbp
cmp eax, 0xa
je 0x52e36f
cmp eax, 0xd
je 0x52e385
lea rdx, [0x007143c0]
cmp byte [rax + rdx], 0
je 0x52dbd5
mov rdx, r14
not rdx
add rdx, rcx
lea r8, [r12 + r14]
add r8, 2
mov r10, r14
inc r14
cmp rcx, r14
jbe 0x52e522
mov rax, r8
movzx r9d, byte [r12 + r10 + 1]
dec rdx
inc r8
lea r11, [0x007143c0]
cmp byte [r9 + r11], 0
jne 0x52da56
lea r11, [r10 + 2]
add qword [rsp + 0xe8], r11
lea rdx, [r12 + r11]
mov r8, rcx
and qword [rsp + 0x80], 0
sub r8, r11
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x78], r8
cmp r9b, 0x3a
je 0x52db1c
cmp byte [rsp + 0x65], 0
je 0x52de8f
sub r10, rcx
lea rcx, [r12 + r14]
inc rcx
xor ebp, ebp
cmp r9b, 0x20
je 0x52dadc
movzx r11d, r9b
cmp r11d, 9
jne 0x52de91
lea r9, [r10 + rbp]
add r9, 2
test r9, r9
je 0x52e522
mov r9b, byte [rcx + rbp]
inc rbp
mov qword [rsp + 0x80], rbp
cmp r9b, 0x3a
jne 0x52dac8
add rbp, qword [rsp + 0xe8]
lea rcx, [rsp + 0x70]
call fcn.00498d3e
mov qword [rsp + 0xe8], rbp
mov rdi, qword [rsp + 0x70]
mov r8, qword [rsp + 0x78]
mov r15, qword [rsp + 0x80]
cmp r8, r15
jbe 0x52e522
movzx eax, byte [rdi + r15]
lea rbp, [r15 + 1]
mov qword [rsp + 0x80], rbp
cmp rax, 0x20
je 0x52db02
cmp eax, 9
je 0x52db02
lea rcx, [0x00701cd4]
cmp byte [rax + rcx], 0
jne 0x52dc24
cmp eax, 0xa
je 0x52db95
cmp eax, 0xd
jne 0x52deeb
cmp r8, rbp
jbe 0x52e522
mov al, byte [rdi + r15 + 1]
add r15, 2
mov qword [rsp + 0x80], r15
cmp al, 0xa
je 0x52db98
jmp 0x52e4e1
mov r15, rbp
cmp byte [rsp + 0x5c], 0
je 0x52dfa3
lea rcx, [rsp + 0x70]
mov rbp, r8
call fcn.00498d66
test al, 1
je 0x52e522
mov r8, rbp
cmp dl, 9
je 0x52db2e
movzx eax, dl
cmp eax, 0x20
je 0x52db2e
jmp 0x52dfa3
cmp dword [rsp + 0x5c], 0x1000000
lea r15, [rsp + 0x78]
jb 0x52e2b1
test al, al
je 0x52e2b1
movzx eax, al
cmp eax, 0xa
je 0x52de78
cmp eax, 0xd
je 0x52de58
cmp rcx, rbp
jbe 0x52e522
mov al, byte [r12 + rbp]
inc rbp
mov qword [rsp + 0x80], rbp
lea r15, [rsp + 0x78]
jmp 0x52dbe8
mov rax, qword [0x007e00a8]
test rax, rax
jne 0x52dc61
mov cl, 0xf
call fcn.004177c2
mov ebp, eax
mov cl, 0xb
call fcn.004177c2
movzx eax, al
lea rcx, [rax - 1]
or rcx, 1
lea rdx, [rax + 2]
test bpl, bpl
cmovne rcx, rdx
mov qword [0x007e00a8], rcx
cmovne rax, rdx
cmp rax, 3
je 0x52dc7c
cmp rax, 2
je 0x52dc9d
cmp rax, 1
lea r15, [0x00701cd4]
je 0x52dc91
jmp 0x52dcae
lea rcx, [rsp + 0x70]
call fcn.00498e21
test al, al
lea r15, [0x00701cd4]
je 0x52dcae
lea rcx, [rsp + 0x70]
call fcn.00498d9b
jmp 0x52dcae
lea rcx, [rsp + 0x70]
call fcn.00498e21
lea r15, [0x00701cd4]
mov rdi, qword [rsp + 0x70]
mov r9, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x80]
cmp rbp, 0xfffffffffffffff7
ja 0x52dd70
lea rcx, [rbp + 8]
cmp rcx, r9
ja 0x52dd70
movq xmm0, qword [rdi + rbp]
movdqa xmmword [rsp + 0x340], xmm0
movzx eax, byte [rsp + 0x340]
cmp byte [rax + r15], 0
je 0x52dd9c
movd edx, xmm0
mov eax, edx
shr eax, 8
movzx r8d, al
cmp byte [r8 + r15], 0
je 0x52dda1
mov eax, edx
shr eax, 0x10
movzx r8d, al
cmp byte [r8 + r15], 0
je 0x52dda7
shr edx, 0x18
cmp byte [rdx + r15], 0
je 0x52ddad
pextrw eax, xmm0, 2
movzx edx, al
cmp byte [rdx + r15], 0
je 0x52ddb8
shr eax, 8
cmp byte [rax + r15], 0
je 0x52ddbe
pextrw eax, xmm0, 3
movzx edx, al
cmp byte [rdx + r15], 0
je 0x52ddc4
shr eax, 8
cmp byte [rax + r15], 0
je 0x52ddcb
mov qword [rsp + 0x80], rcx
mov rbp, rcx
jmp 0x52dcc0
cmp r9, rbp
jbe 0x52e522
movzx eax, byte [rdi + rbp]
inc rbp
mov qword [rsp + 0x80], rbp
lea r15, [0x00701cd4]
cmp byte [rax + r15], 0
jne 0x52dcc0
jmp 0x52ddd6
inc rbp
jmp 0x52ddc8
add rbp, 2
jmp 0x52ddc8
add rbp, 3
jmp 0x52ddc8
add rbp, 4
mov rcx, rbp
mov eax, edx
jmp 0x52ddcb
add rbp, 5
jmp 0x52ddc8
add rbp, 6
jmp 0x52ddc8
add rbp, 7
mov rcx, rbp
mov qword [rsp + 0x80], rcx
mov rbp, rcx
mov rcx, 0xffffffffffffffff
cmp al, 0xa
je 0x52de13
movzx ecx, al
cmp ecx, 0xd
jne 0x52df5d
cmp r9, rbp
jbe 0x52e522
mov al, byte [rdi + rbp]
inc rbp
mov qword [rsp + 0x80], rbp
mov rcx, 0xfffffffffffffffe
cmp al, 0xa
jne 0x52e4e1
mov qword [rsp + 0x108], rcx
cmp byte [rsp + 0x5c], 0
je 0x52e023
lea rcx, [rsp + 0x70]
mov r15, r9
call fcn.00498d66
test al, 1
je 0x52e522
cmp dl, 9
je 0x52dc24
mov r9, r15
movzx eax, dl
cmp eax, 0x20
je 0x52dc24
jmp 0x52e023
cmp rcx, rbp
jbe 0x52e522
mov al, byte [r12 + rbp]
inc rbp
mov qword [rsp + 0x80], rbp
cmp al, 0xa
jne 0x52e503
add qword [rsp + 0xe8], rbp
lea rcx, [rsp + 0x70]
call fcn.00498d3e
jmp 0x52d9f3
xor ebp, ebp
cmp dword [rsp + 0x5c], 0x1000000
jb 0x52e503
add rax, rbp
lea r15, [rsp + 0x78]
test r9b, r9b
je 0x52e2b1
movzx ecx, r9b
cmp ecx, 0xa
je 0x52de78
cmp ecx, 0xd
je 0x52deda
cmp r8, rbp
jbe 0x52e522
mov r9b, byte [rax]
inc rbp
mov qword [rsp + 0x80], rbp
inc rax
jmp 0x52dea2
cmp r8, rbp
jbe 0x52e522
mov al, byte [rdx + rbp]
jmp 0x52de65
cmp dword [rsp + 0x5c], 0x1000000
jb 0x52e4e1
test al, al
je 0x52e4e1
movzx eax, al
cmp eax, 0xa
je 0x52df46
cmp eax, 0xd
je 0x52df27
cmp r8, rbp
jbe 0x52e522
mov al, byte [rdi + rbp]
inc rbp
mov qword [rsp + 0x80], rbp
jmp 0x52def9
cmp r8, rbp
jbe 0x52e522
mov al, byte [rdi + rbp]
inc rbp
mov qword [rsp + 0x80], rbp
cmp al, 0xa
jne 0x52e4e1
lea rcx, [rsp + 0x70]
call fcn.00498d3e
add qword [rsp + 0xe8], rbp
jmp 0x52d9f3
cmp dword [rsp + 0x5c], 0x1000000
jb 0x52e4e1
test al, al
je 0x52e4e1
movzx eax, al
cmp eax, 0xa
je 0x52df46
cmp eax, 0xd
je 0x52df99
cmp r9, rbp
jbe 0x52e522
mov al, byte [rdi + rbp]
inc rbp
mov qword [rsp + 0x80], rbp
jmp 0x52df6b
cmp r9, rbp
ja 0x52df30
jmp 0x52e522
lea rcx, [rsp + 0x70]
call fcn.00498d3e
mov rdi, rax
xor r10d, r10d
mov r9, qword [rsp + 0xd8]
cmp r9, 0x64
movabs r8, 0x100002600
je 0x52e993
add r15, qword [rsp + 0xe8]
inc r9
mov rdx, r10
test rdx, rdx
je 0x52e004
mov rax, rdx
movzx ecx, byte [rdi + rdx - 1]
cmp rcx, 0x20
ja 0x52dffa
lea rdx, [rax - 1]
bt r8, rcx
jb 0x52dfdd
cmp rax, r10
jbe 0x52e007
jmp 0x52f48a
mov rax, r10
mov rcx, qword [rsp + 0x218]
mov qword [rcx], r12
mov qword [rcx + 8], r14
mov qword [rcx + 0x10], rdi
mov qword [rcx + 0x18], rax
jmp 0x52d9c5
mov r10, qword [rsp + 0x108]
add r10, rbp
mov rax, rdi
add rax, rbp
and qword [rsp + 0x80], 0
sub r9, rbp
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], r9
mov r15, rbp
jmp 0x52dfb3
mov rcx, r13
mov rdx, rsi
call fcn.0054d561
xor r13d, r13d
mov rbp, qword [rsp + 0x2c0]
test rbp, rbp
je 0x52e1a2
movups xmm0, xmmword [rsp + 0x2c0]
movups xmm1, xmmword [rsp + 0x2d0]
movaps xmmword [rsp + 0x360], xmm1
movaps xmmword [rsp + 0x350], xmm0
test r15, r15
jne 0x52e0c4
mov ecx, 0x20
mov edx, 8
call fcn.0057c1d0
mov r15, rax
movups xmm0, xmmword [0x00775880]
movups xmmword [rax], xmm0
movups xmm0, xmmword [0x00775890]
movups xmmword [rax + 0x10], xmm0
xor ecx, ecx
call fcn.00537bad
mov ecx, 0x20
mov edx, 8
call fcn.0057c1d0
movdqa xmm0, xmmword [rsp + 0x350]
movaps xmm1, xmmword [rsp + 0x360]
movdqu xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm1
lea rcx, [0x00701dd8]
mov qword [rsp + 0x20], rcx
mov rcx, r15
movabs rdx, 0x33bcf300561a951c
movabs r8, 0xb4383b297366b355
mov r9, rax
call fcn.00493568
test rax, rax
je 0x52e1b8
mov rsi, rax
mov rdi, rdx
mov rcx, rax
call qword [rdx + 0x18]
movabs rcx, 0xb4383b297366b355
xor rdx, rcx
movabs rcx, 0x33bcf300561a951c
xor rax, rcx
or rax, rdx
jne 0x52e1ad
movups xmm0, xmmword [rsi]
movups xmm1, xmmword [rsi + 0x10]
movaps xmmword [rsp + 0x3d0], xmm1
movaps xmmword [rsp + 0x3c0], xmm0
mov edx, 8
mov rcx, rsi
call fcn.00414d20
movdqa xmm0, xmmword [rsp + 0x3c0]
movaps xmm1, xmmword [rsp + 0x3d0]
movaps xmmword [rsp + 0x80], xmm1
movdqa xmmword [rsp + 0x70], xmm0
cmp qword [rsp + 0x70], 0
je 0x52e1b8
lea rcx, [rsp + 0x70]
call fcn.0049d49b
jmp 0x52e1b8
mov al, 1
mov dword [rsp + 0xd8], eax
jmp 0x52e1c3
mov rcx, rsi
mov rdx, rdi
call fcn.0054d561
mov dword [rsp + 0xd8], 0
mov ecx, 0xc
lea rdi, [rsp + 0x3c0]
lea rsi, [rsp + 0x260]
rep movsq qword [rdi], qword [rsi]
mov rax, qword [rsp + 0x1c8]
mov byte [rsp + 0x42a], al
mov rcx, qword [rsp + 0x200]
mov word [rsp + 0x428], cx
mov qword [rsp + 0x420], r15
cmp cx, 0x64
mov r14, qword [rsp + 0xe0]
je 0x52e23f
movzx eax, cx
cmp eax, 0x65
je 0x52e744
cmp eax, 0xcc
je 0x52e753
cmp eax, 0x130
je 0x52e753
lea eax, [rcx - 0x66]
cmp ax, 0x62
jae 0x52e715
cmp qword [rbx + 0x158], 0
je 0x52e6fb
lea rcx, [rsp + 0x3c0]
call fcn.0049e3c0
cmp dword [rsp + 0x48], 3
jne 0x52e27b
mov rax, qword [rsp + 0x150]
cmp eax, 3
je 0x52e27b
lea rcx, [rsp + 0x150]
call fcn.0049e237
lea rcx, [rsp + 0x320]
call fcn.0049d49b
test rbp, rbp
jne 0x52e2a5
cmp qword [rsp + 0x2c0], 0
je 0x52e2a5
lea rcx, [rsp + 0x2c0]
call fcn.0049d49b
mov rsi, qword [rbx + 0x158]
jmp 0x52c773
mov rax, qword [rsp + 0x38]
and rax, 0xffffffffffffff00
mov rcx, rax
jmp 0x52c9d5
mov r9, r10
lea r8, [r10 + rdx]
and qword [rsp + 0x80], 0
sub rax, rdx
mov qword [rsp + 0x70], r8
mov qword [rsp + 0x78], rax
test r11b, 1
lea rax, [0x00799ab8]
cmovne r9, rax
mov qword [rsp + 0x68], r9
mov eax, 0
mov rcx, qword [rsp + 0x48]
cmovne rcx, rax
mov qword [rsp + 0x48], rcx
jmp 0x52d99c
cmp rax, rdx
jbe 0x52e522
cmp byte [r10 + rdx], 0xa
jne 0x52e546
mov r9, qword [rsp + 0x48]
lea rdx, [r9 + 2]
lea r8, [r10 + r9]
add r8, 2
and qword [rsp + 0x80], 0
sub rax, rdx
mov qword [rsp + 0x70], r8
mov qword [rsp + 0x78], rax
test r11b, 1
lea rax, [0x00799ab8]
cmovne r10, rax
mov qword [rsp + 0x68], r10
mov eax, 0
cmovne r9, rax
mov qword [rsp + 0x48], r9
jmp 0x52d99c
add rbp, qword [rsp + 0xe8]
mov rax, rbp
and rax, 0xffffffffffffff00
mov r14, rbp
jmp 0x52e3b8
cmp rcx, rbp
jbe 0x52e522
mov al, byte [r12 + r14 + 1]
add r14, 2
mov qword [rsp + 0x80], r14
cmp al, 0xa
jne 0x52e4f2
add r14, qword [rsp + 0xe8]
mov rax, r14
and rax, 0xffffffffffffff00
movzx ecx, r14b
or rcx, rax
mov qword [rsp + 0x38], rcx
mov rcx, qword [rsp + 0x200]
lea eax, [rcx - 0x3e8]
mov ebp, 4
cmp ax, 0xfc7c
jb 0x52e9a7
call fcn.004940fb
test rax, rax
mov r14, qword [rsp + 0xe0]
mov r12, qword [rsp + 0x50]
lea r15, [rsp + 0x3c0]
je 0x52e421
mov r9, rdx
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x48]
mov r8, rax
call fcn.00401e05
test al, al
je 0x52e421
and qword [rsp + 0x70], 0
jmp 0x52e435
lea rcx, [rsp + 0x70]
mov rdx, qword [rsp + 0x68]
mov r8, qword [rsp + 0x48]
call fcn.0046f4f2
mov r10, qword [rsp + 0x140]
add rsi, qword [rsp + 0x38]
xor eax, eax
cmp r10, rax
je 0x52e4a8
mov rcx, qword [rsp + rax + 0x3c8]
cmp rcx, 0xffff
ja 0x52e863
mov rdx, qword [rsp + rax + 0x3c0]
mov r8, qword [rsp + rax + 0x3d0]
sub rdx, r13
add rcx, rdx
sub r8, r13
mov r9, qword [rsp + rax + 0x3d8]
add r9, r8
mov qword [rsp + rax + 0x1210], rdx
mov qword [rsp + rax + 0x1218], rcx
mov qword [rsp + rax + 0x1220], r8
mov qword [rsp + rax + 0x1228], r9
add rax, 0x20
jmp 0x52e444
mov rax, qword [rsp + 0x70]
lea r15, [rsp + 0x78]
movdqu xmm0, xmmword [r15]
movdqa xmmword [rsp + 0x150], xmm0
mov rcx, qword [r15 + 0x10]
mov qword [rsp + 0x160], rcx
lea r13, [rsp + 0x260]
mov rbp, qword [rsp + 0xd8]
jmp 0x52ca17
mov rax, qword [rsp + 0x38]
and rax, 0xffffffffffffff00
or rax, 1
jmp 0x52e50e
mov rax, qword [rsp + 0x38]
and rax, 0xffffffffffffff00
or rax, 2
jmp 0x52e50e
mov rax, qword [rsp + 0x38]
and rax, 0xffffffffffffff00
mov rcx, rax
lea r15, [rsp + 0x78]
jmp 0x52c9d5
xor eax, eax
jmp 0x52e693
mov ebp, 3
mov r14, qword [rsp + 0xe0]
mov r12, qword [rsp + 0x50]
lea r15, [rsp + 0x3c0]
jmp 0x52e619
mov ecx, 2
mov r12, qword [rsp + 0x50]
lea r15, [rsp + 0x3c0]
shl ecx, 3
movabs rax, 0x409000a000000
shr rax, cl
mov qword [rsp + 0xf0], rax
mov ebp, 4
mov r14, qword [rsp + 0xe0]
jmp 0x52e619
mov qword [rsp + 0x68], rbp
mov rcx, r12
call fcn.0046ff34
mov r12, qword [rsp + 0x50]
mov r13b, 1
mov al, 0xb
mov qword [rsp + 0xf0], rax
mov ebp, 4
mov sil, 1
mov r14, qword [rsp + 0xe0]
lea r15, [rsp + 0x3c0]
test r13b, r13b
je 0x52e5d3
mov rax, qword [rsp + 0x150]
cmp eax, 3
je 0x52e5d3
lea rcx, [rsp + 0x150]
call fcn.0049e237
mov rax, qword [rsp + 0x68]
cmp rax, qword [rsp + 0x140]
lea rcx, [rsp + 0x260]
je 0x52e5ef
call fcn.0049e3f7
lea rcx, [rsp + 0x320]
call fcn.0049d49b
test sil, sil
je 0x52e619
cmp qword [rsp + 0x2c0], 0
je 0x52e619
lea rcx, [rsp + 0x2c0]
call fcn.0049d49b
lea rsi, [rsp + 0x398]
mov rcx, rsi
call fcn.00524146
mov rcx, rsi
call fcn.0048c00f
cmp rbp, 4
je 0x52eabc
mov r8d, 0x5a
lea rcx, [rsp + 0x11b6]
lea rdx, [rsp + 0x115c]
call sub.ntdll.dll_memcpy
mov eax, dword [rsp + 0x130]
mov dword [rsp + 0x138], eax
mov al, byte [rsp + 0x134]
mov byte [rsp + 0x13c], al
cmp rbp, 3
jne 0x52eaea
mov rax, qword [rbx + 0x158]
mov r13, qword [rsp + 0x110]
lea rdi, [rsp + 0x1220]
xor ecx, ecx
cmp byte [rbx + 0xd0], 0
sete cl
cmp rax, qword [rbx + rcx*8 + 0xd8]
jae 0x52ea67
mov rcx, r15
mov rdx, qword [rsp + 0x2f8]
mov r8, r13
call fcn.00553261
mov rax, qword [rsp + 0x3c0]
cmp rax, 2
je 0x52ea6d
mov rcx, qword [rsp + 0x3c8]
test rax, rax
jne 0x52ea7c
test rcx, rcx
jne 0x52c74e
jmp 0x52eab5
mov qword [rsp + 0x68], rbp
jmp 0x52e58f
mov ebp, 3
lea r15, [rsp + 0x3c0]
mov rcx, r15
call fcn.0049e3c0
jmp 0x52e804
movzx eax, byte [rbx + 0xa0]
cmp rax, 0xb
je 0x52e810
cmp eax, 5
je 0x52e753
cmp eax, 7
jne 0x52e810
add ecx, 0xffffff38
cmp cx, 0x64
jae 0x52e810
mov dil, 1
xor eax, eax
mov qword [rsp + 0xd0], rax
jmp 0x52e75f
xor eax, eax
mov qword [rsp + 0xd0], rax
xor edi, edi
lea rdx, [rsp + 0x3d0]
mov rbp, qword [rsp + 0x3c0]
mov al, byte [rsp + 0x3c8]
mov qword [rsp + 0xf0], rax
movzx eax, byte [rsp + 0x3cf]
shl eax, 0x10
movzx ecx, word [rsp + 0x3cd]
or ecx, eax
shl rcx, 0x20
mov eax, dword [rsp + 0x3c9]
or rax, rcx
mov qword [rsp + 0x2e0], rax
mov r8d, 0x5a
lea rcx, [rsp + 0x115c]
call sub.ntdll.dll_memcpy
mov al, byte [rsp + 0x42a]
mov byte [rsp + 0x63], al
lea rcx, [rsp + 0x3c8]
mov eax, dword [rcx + 0x63]
mov dword [rsp + 0x130], eax
mov al, byte [rcx + 0x67]
mov byte [rsp + 0x134], al
mov qword [rsp + 0xf8], rdi
mov eax, edi
xor al, 1
mov cl, byte [rsp + 0x108]
and cl, al
mov byte [rsp + 0x62], cl
lea r15, [rsp + 0x3c0]
mov esi, dword [rsp + 0xd8]
jmp 0x52e5b4
movups xmm8, xmmword [0x00702a58]
movaps xmmword [rsp + 0x80], xmm8
movups xmm9, xmmword [0x00702a48]
movaps xmmword [rsp + 0x70], xmm9
lea rcx, [rsp + 0x3c0]
lea rdx, [rsp + 0x70]
call fcn.0048b3fd
test al, al
je 0x52e87c
cmp byte [rsp + 0x42a], 1
jne 0x52e8b3
mov ebp, 4
mov al, 2
mov qword [rsp + 0xf0], rax
jmp 0x52e700
lea rcx, [rsp + 0x70]
call fcn.0049d958
mov al, 9
mov qword [rsp + 0xf0], rax
jmp 0x52e619
lea rsi, [rsp + 0x3d0]
lea rdi, [rsp + 0x3c0]
mov rcx, rdi
call fcn.0049df3f
cmp rax, 1
jne 0x52e900
cmp rdx, 0xfffffffffffffffe
jae 0x52e937
xor edi, edi
mov qword [rsp + 0xd0], rdx
jmp 0x52e976
movaps xmmword [rsp + 0x80], xmm8
movaps xmmword [rsp + 0x70], xmm9
lea rdi, [rsp + 0x300]
mov rcx, rdi
lea rdx, [rsp + 0x3c0]
lea rsi, [rsp + 0x70]
mov r8, rsi
call fcn.0049a6bd
mov rcx, rsi
mov rdx, rdi
call fcn.0049ac1a
mov rcx, rsi
call fcn.0049e28b
movzx eax, al
not rax
jmp 0x52e755
movups xmm0, xmmword [0x0076f090]
movaps xmmword [rsp + 0x80], xmm0
movdqu xmm0, xmmword [0x0076f080]
movdqa xmmword [rsp + 0x70], xmm0
mov rcx, rdi
lea rdx, [rsp + 0x70]
call fcn.0048b3fd
test al, al
je 0x52e968
mov ebp, 4
mov al, 1
jmp 0x52e93e
mov ebp, 4
mov al, 9
mov qword [rsp + 0xf0], rax
mov r14, qword [rsp + 0xe0]
mov r12, qword [rsp + 0x50]
lea r15, [rsp + 0x3c0]
mov rbx, qword [rsp + 0x100]
jmp 0x52e708
mov qword [rsp + 0xd0], 0xffffffffffffffff
xor edi, edi
mov r14, qword [rsp + 0xe0]
mov r12, qword [rsp + 0x50]
mov rdx, rsi
mov rbx, qword [rsp + 0x100]
jmp 0x52e767
mov eax, 5
mov qword [rsp + 0x38], rax
mov ecx, 5
jmp 0x52e546
mov al, 0xa
mov qword [rsp + 0xf0], rax
jmp 0x52e527
mov rsi, qword [rsp + 0x1220]
mov cl, 8
call fcn.0049ad23
mov rdi, rax
mov rcx, rax
mov rdx, rsi
call fcn.0049ad86
mov rcx, qword [rsp + 0x80]
mov dl, byte [rsp + 0x90]
mov r8, rdi
lea r15, [rsp + 0x3c0]
lea rdi, [rsp + 0x1220]
call fcn.0049cb52
jmp 0x52c654
mov rax, qword [rsp + 0x3c0]
test rax, rax
je 0x52f48a
lea rdx, [rsp + 0x3c8]
mov rcx, qword [rdx + 0x10]
lea r8, [rsp + 0x158]
mov qword [r8 + 0x10], rcx
movdqu xmm0, xmmword [rdx]
movdqu xmmword [r8], xmm0
mov qword [rsp + 0x150], rax
mov rax, qword [rbx + 0x70]
dec rax
cmp rax, 2
jae 0x52ea55
mov qword [rbx + 0x70], 4
mov byte [rbx + 0xca], 2
lea rcx, [rsp + 0x150]
call fcn.00487df7
jmp 0x52c654
xor ecx, ecx
mov dl, 9
jmp 0x52eac6
mov ebp, 4
mov rcx, qword [rsp + 0x210]
jmp 0x52ea89
call fcn.0049adcf
mov rcx, rax
mov ebp, 3
mov r8b, byte [rsp + 0x37]
mov r9b, byte [rsp + 0x36]
mov r10b, byte [rsp + 0x35]
mov r11, qword [rsp + 0x1b8]
mov rax, qword [rsp + 0xd0]
mov rdx, qword [rsp + 0xf8]
jmp 0x52eb63
call fcn.0049adc1
jmp 0x52eacb
xor ecx, ecx
mov rdx, qword [rsp + 0xf0]
call fcn.0049ad23
mov rcx, rax
mov r8b, byte [rsp + 0x37]
mov r9b, byte [rsp + 0x36]
mov r10b, byte [rsp + 0x35]
mov r11, qword [rsp + 0x1b8]
jmp 0x52eb87
movzx eax, byte [rsp + 0xf0]
mov rsi, qword [rsp + 0x2e0]
shl rsi, 8
or rsi, rax
mov r8d, 0x5a
lea rcx, [rsp + 0x1100]
lea rdx, [rsp + 0x11b6]
call sub.ntdll.dll_memcpy
mov rcx, rsi
mov eax, dword [rsp + 0x138]
mov dword [rsp + 0x128], eax
mov al, byte [rsp + 0x13c]
mov byte [rsp + 0x12c], al
mov rdx, qword [rsp + 0xf8]
mov r8d, edx
mov r9b, byte [rsp + 0x62]
mov rax, qword [rsp + 0xd0]
mov r11, rax
mov r10b, byte [rsp + 0x63]
lea rdi, [rsp + 0x1220]
cmp rbp, 4
je 0x52ebfe
cmp rbp, 3
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xf8], rdx
jne 0x52ec08
mov qword [rsp + 0x1210], rcx
mov sil, byte [rbx + 0xca]
mov qword [rbx + 0x70], 4
mov byte [rbx + 0xca], 2
mov rax, qword [rbx + 0x158]
test rax, rax
mov byte [rsp + 0x37], r8b
mov byte [rsp + 0x36], r9b
mov byte [rsp + 0x35], r10b
mov r15, r11
mov rdi, rcx
je 0x52ecfc
mov rcx, qword [rsp + 0x148]
mov rcx, qword [rcx]
xor edx, edx
cmp rax, rdx
je 0x52ebf6
movzx r8d, byte [rcx + rdx]
cmp r8d, 0xd
je 0x52ebf1
cmp r8d, 0xa
jne 0x52ecd1
inc rdx
jmp 0x52ebd7
mov rdx, rax
jmp 0x52ecda
mov ebp, 5
jmp 0x52ee93
mov qword [rsp + 0x210], rcx
mov ecx, 0x5a
lea rdi, [rsp + 0x10a0]
lea rsi, [rsp + 0x1100]
rep movsb byte [rdi], byte [rsi]
mov al, byte [rsp + 0x12c]
mov byte [rsp + 0x124], al
mov eax, dword [rsp + 0x128]
mov dword [rsp + 0x120], eax
mov byte [rbx + 0xc8], 0
cmp byte [rbx + 0xca], 2
jne 0x52ec58
test r9b, r9b
jne 0x52ec69
cmp r9b, 1
mov eax, 0
adc al, 1
mov byte [rbx + 0xca], al
mov byte [rbx + 0xcb], r10b
test r8b, r8b
setne r13b
cmp r11, 0xfffffffffffffffe
mov rdx, qword [rsp + 0x2e8]
je 0x52ede9
cmp r11, 0xffffffffffffffff
je 0x52edef
test r11, r11
jne 0x52edf3
mov qword [rbx + 0x70], 3
mov rcx, rbx
mov rdx, qword [rsp + 0x110]
mov esi, r8d
mov edi, r9d
mov r12d, r10d
mov r15, r11
call fcn.00540dea
mov r11, r15
mov r10d, r12d
mov r9d, edi
mov r8d, esi
jmp 0x52ee16
cmp rax, rdx
jb 0x52f48a
mov rcx, qword [rsp + 0x148]
call fcn.0046fc30
mov r8b, byte [rsp + 0x37]
mov r9b, byte [rsp + 0x36]
mov r10b, byte [rsp + 0x35]
mov r11, r15
mov rcx, rdi
cmp byte [rcx + 0x30], 0
je 0x52ed4f
test sil, sil
jne 0x52ed4f
cmp qword [rbx + 0x158], 0
jne 0x52ed4f
mov qword [rbx + 0x88], 5
mov byte [rbx + 0xca], 2
lea rcx, [rsp + 0x1210]
call fcn.00537cda
mov rcx, rdi
mov r11, r15
mov r10b, byte [rsp + 0x35]
mov r9b, byte [rsp + 0x36]
mov r8b, byte [rsp + 0x37]
mov ebp, 4
jmp 0x52ee73
mov qword [rsp + 0x3c0], rcx
cmp dword [rbx + 0x88], 2
mov rsi, rcx
jne 0x52edd7
cmp qword [rbx + 0x158], 0x17
mov rsi, rcx
jbe 0x52edd7
mov rax, qword [rsp + 0x148]
mov rcx, qword [rax]
mov r8d, 0x18
lea rdx, str.PRI__HTTP_2.0_r_n_r_nSM_r_n_r_n
call sub.ntdll.dll_memcmp
mov rcx, rdi
mov r11, r15
mov r10b, byte [rsp + 0x35]
mov r9b, byte [rsp + 0x36]
mov r8b, byte [rsp + 0x37]
mov rsi, rdi
test eax, eax
jne 0x52edd7
xor ecx, ecx
mov dl, 5
call fcn.0049ad23
mov rsi, rax
lea rcx, [rsp + 0x3c0]
call fcn.00537cda
mov rcx, rdi
mov r11, r15
mov r10b, byte [rsp + 0x35]
mov r9b, byte [rsp + 0x36]
mov r8b, byte [rsp + 0x37]
mov qword [rsp + 0x208], rsi
mov ebp, 3
jmp 0x52ee73
mov al, 1
xor edx, edx
jmp 0x52edf8
mov al, 2
jmp 0x52edf8
xor eax, eax
mov rdx, r11
mov qword [rbx + 0x70], 2
mov byte [rbx + 0x78], al
mov byte [rbx + 0x79], 0
mov qword [rsp + 0x2e8], rdx
mov qword [rbx + 0x80], rdx
add r13b, r13b
mov byte [rsp + 0x47], r13b
mov ecx, 0x5a
lea rdi, [rsp + 0x1040]
lea rsi, [rsp + 0x10a0]
rep movsb byte [rdi], byte [rsi]
mov al, byte [rsp + 0x124]
mov byte [rsp + 0x11c], al
mov eax, dword [rsp + 0x120]
mov dword [rsp + 0x118], eax
mov byte [rsp + 0x64], r10b
mov qword [rsp + 0x230], r11
mov rcx, qword [rsp + 0x210]
mov qword [rsp + 0x208], rcx
mov r12, qword [rsp + 0x50]
lea rdi, [rsp + 0x1220]
lea r15, [rsp + 0x3c0]
mov rax, qword [rsp + 0xd0]
mov rdx, qword [rsp + 0xf8]
cmp rbp, 3
mov byte [rsp + 0x37], r8b
mov byte [rsp + 0x36], r9b
mov byte [rsp + 0x35], r10b
mov qword [rsp + 0x1b8], r11
mov qword [rsp + 0x210], rcx
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xf8], rdx
je 0x52f0d8
cmp rbp, 4
je 0x52f109
cmp rbp, 5
je 0x52f3e5
mov qword [rsp + 0x1210], rbp
mov rax, qword [rsp + 0x208]
mov qword [rsp + 0x1218], rax
mov ecx, 0x5a
lea rsi, [rsp + 0x1040]
rep movsb byte [rdi], byte [rsi]
mov al, byte [rsp + 0x64]
mov byte [rsp + 0x127a], al
mov al, byte [rsp + 0x11c]
lea rcx, [rsp + 0x1218]
mov byte [rcx + 0x67], al
mov eax, dword [rsp + 0x118]
mov dword [rcx + 0x63], eax
cmp qword [rsp + 0x230], 0
je 0x52f148
and qword [rsp + 0x3c0], 0
mov rcx, r15
call fcn.0049bb7f
mov rsi, rax
xor ecx, ecx
call fcn.0049bb5a
mov rdi, rax
mov ecx, 0x60
mov edx, 8
call fcn.0057c1d0
mov rcx, rax
mov r14d, 1
mov qword [rax], r14
mov qword [rax + 8], r14
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov qword [rax + 0x28], rdi
and qword [rax + 0x30], 0
movabs rax, 0x8000000000000000
mov qword [rcx + 0x38], rax
mov qword [rcx + 0x40], r14
and qword [rcx + 0x58], 0
movups xmmword [rcx + 0x48], xmm6
mov qword [rsp + 0x1f8], rcx
lock inc qword [rcx]
mov r13, qword [rsp + 0x110]
jle 0x52f48a
and qword [rsp + 0x3d0], 0
xor edi, edi
mov byte [rsp + 0x3e0], dil
and qword [rsp + 0x3c0], 0
mov byte [rsp + 0x3c8], dil
mov rcx, r15
call fcn.0049be17
mov rsi, rax
mov ecx, 0xb0
mov edx, 8
call fcn.0049d306
mov qword [rax], r14
mov qword [rax + 8], r14
mov qword [rax + 0x10], 3
mov byte [rax + 0x70], dil
and qword [rax + 0x78], 0
mov byte [rax + 0x88], dil
and qword [rax + 0x90], 0
mov byte [rax + 0xa0], dil
mov byte [rax + 0xa8], dil
lock inc qword [rax]
mov rbp, qword [rsp + 0x1c0]
mov r15d, 1
jle 0x52f48a
mov r14, rax
mov al, byte [rsp + 0x47]
and al, 1
movzx eax, al
mov edi, 2
sub rdi, rax
mov ecx, 0x30
mov edx, 8
call fcn.0049d306
mov qword [rax], r15
mov qword [rax + 8], r15
mov qword [rax + 0x10], rdi
and qword [rax + 0x28], 0
movups xmmword [rax + 0x18], xmm6
lock inc qword [rax]
jle 0x52f48a
mov r12, rax
mov rcx, rbp
call fcn.00522b59
mov qword [rbx + 0x1a8], r14
mov qword [rbx + 0x1b0], r12
mov rax, qword [rsp + 0x1f8]
mov qword [rbx + 0x1b8], rax
mov qword [rbx + 0x1c0], rsi
mov byte [rbx + 0x1c8], 0
mov edx, 1
mov r8, qword [rsp + 0x230]
jmp 0x52f175
mov rax, qword [rsp + 0x208]
mov qword [rsp + 0x3c8], rax
mov qword [rsp + 0x3c0], 3
mov rcx, r12
mov rdx, r15
call fcn.0052018a
test rax, rax
je 0x52f112
jmp 0x52f2e0
cmp dword [rbx + 0x88], 5
jne 0x52f133
mov byte [rbx + 0x1d8], 1
mov qword [rbx + 0x70], 4
mov qword [rbx + 0x88], 5
mov byte [rbx + 0xca], 2
mov r13, qword [rsp + 0x110]
mov rbp, qword [rsp + 0x1c0]
jmp 0x52c4df
xor edx, edx
xor r8d, r8d
mov r13, qword [rsp + 0x110]
mov rbp, qword [rsp + 0x1c0]
mov rax, qword [rsp + 0x1f8]
mov r14, qword [rsp + 0x228]
mov r12, qword [rsp + 0x220]
test byte [rsp + 0x47], 2
mov qword [rsp + 0x228], r14
mov qword [rsp + 0x220], r12
je 0x52f263
mov qword [rsp + 0xd8], r8
mov qword [rsp + 0x48], rdx
mov r15, rax
lea rcx, [rsp + 0x3c0]
call fcn.0049dc0a
mov rsi, qword [rsp + 0x3c0]
mov r14, qword [rsp + 0x3c8]
mov rdi, qword [rsp + 0x3d0]
cmp qword [rbx], 0
je 0x52f1f8
mov r12, qword [rsp + 0x238]
mov rcx, qword [r12]
call fcn.0049d949
mov rax, qword [r12]
test rax, rax
je 0x52f1f8
lock dec qword [rax]
jne 0x52f1f8
mov rcx, qword [rsp + 0x238]
call fcn.0049a893
mov qword [rbx], 1
mov qword [rbx + 8], rsi
lea rcx, [rsp + 0x1270]
mov rdx, r14
mov r8, rdi
call fcn.00540a4d
mov qword [rsp + 0x3c0], rax
mov qword [rsp + 0x3c8], rdx
test rax, 0xfffffffffffffffd
je 0x52f243
mov rcx, rdx
call fcn.0052292d
lea rcx, [rsp + 0x3c8]
call fcn.00522c54
mov rax, r15
mov r14, qword [rsp + 0x228]
mov r12, qword [rsp + 0x220]
mov rdx, qword [rsp + 0x48]
mov r8, qword [rsp + 0xd8]
mov ecx, 0xe
lea r15, [rsp + 0x3c0]
mov rdi, r15
lea rsi, [rsp + 0x1210]
rep movsq qword [rdi], qword [rsi]
mov qword [rsp + 0x430], rdx
mov qword [rsp + 0x438], r8
mov qword [rsp + 0x1f8], rax
mov qword [rsp + 0x440], rax
mov qword [rsp + 0x448], r12
mov qword [rsp + 0x450], r14
and qword [rsp + 0x458], 0
mov r12, qword [rsp + 0x50]
mov rcx, r12
mov rdx, r15
call fcn.0052018a
test rax, rax
mov r14, qword [rsp + 0xe0]
lea rdi, [rsp + 0x1220]
je 0x52c4df
mov rdx, rax
jmp 0x52f464
xor esi, esi
xor edx, edx
jmp 0x52f3ea
mov esi, 1
cmp eax, 4
je 0x52f3ea
test rax, rax
jne 0x52f327
cmp rcx, 2
jne 0x52f327
cmp qword [rbx + 0x158], 0
je 0x52f423
xor esi, esi
call fcn.0049adc8
mov rdx, rax
jmp 0x52f3ea
cmp byte [rbx + 0xc0], 0
jne 0x52f3ea
cmp qword [rbx + 0x158], 0
jne 0x52f3ea
lea rdi, [rsp + 0x3c0]
mov rcx, rdi
mov rdx, rbx
mov r8, r13
call fcn.00541fdc
cmp dword [rdi], 2
je 0x52f3ea
lea rsi, [rsp + 0x1210]
lea rdx, [rsp + 0x3c0]
mov rcx, rsi
call fcn.00542b39
cmp qword [rsi], 0
jne 0x52f45c
xor edx, edx
cmp qword [rsp + 0x1218], 0
mov esi, 0
jne 0x52f3ea
mov qword [rbx + 0x70], 4
mov byte [rbx + 0xca], 2
xor esi, esi
call fcn.0049adc1
jmp 0x52f31f
cmp rax, 1
jne 0x52f48a
mov rcx, rbp
call fcn.00522b59
mov rax, qword [rsp + 0x90]
mov qword [rbp + 0x20], rax
movdqa xmm0, xmmword [rsp + 0x70]
movaps xmm1, xmmword [rsp + 0x80]
movups xmmword [rbp + 0x10], xmm1
movdqu xmmword [rbp], xmm0
mov esi, 1
mov rax, rsi
movaps xmm6, xmmword [rsp + 0x1e90]
movaps xmm7, xmmword [rsp + 0x1ea0]
movaps xmm8, xmmword [rsp + 0x1eb0]
movaps xmm9, xmmword [rsp + 0x1ec0]
add rsp, 0x1ed8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rdi, [rsp + 0x3c0]
mov rcx, rdi
mov rdx, rbx
mov r8, r13
call fcn.00541fdc
cmp dword [rdi], 2
je 0x52f3ea
lea rsi, [rsp + 0x1210]
lea rdx, [rsp + 0x3c0]
mov rcx, rsi
call fcn.00542b39
cmp qword [rsi], 0
je 0x52f468
mov rdx, qword [rsp + 0x1218]
xor esi, esi
jmp 0x52f3ea
cmp qword [rsp + 0x1218], 0
jne 0x52f318
cmp byte [rbx + 0xca], 0
je 0x52f48e
call fcn.0049adc1
mov rdx, rax
jmp 0x52f490
ud2
xor edx, edx
mov qword [rbx + 0x70], 4
mov byte [rbx + 0xca], 2
jmp 0x52f464