Function at 0x1400491a0
Capabilities:
Encrypt data using speck

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x2d8
movdqa xmmword [rsp + 0x2c0], xmm15
movdqa xmmword [rsp + 0x2b0], xmm14
movdqa xmmword [rsp + 0x2a0], xmm13
movdqa xmmword [rsp + 0x290], xmm12
movdqa xmmword [rsp + 0x280], xmm11
movdqa xmmword [rsp + 0x270], xmm10
movdqa xmmword [rsp + 0x260], xmm9
movaps xmmword [rsp + 0x250], xmm8
movdqa xmmword [rsp + 0x240], xmm7
movdqa xmmword [rsp + 0x230], xmm6
mov qword [rsp + 0x1b8], rcx
mov rax, qword [rsp + 0x348]
mov rcx, qword [rsp + 0x340]
mov qword [rsp + 0x1d0], r9
mov qword [rcx + 0x10], 0
mov dword [rsp + 0xe8], 0
mov qword [rsp + 0xe0], 0
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x1c0], rax
add r8, rdx
pxor xmm6, xmm6
movdqu xmmword [rsp + 0x20d], xmm6
mov byte [rsp + 0x21d], 0
movdqu xmmword [rsp + 0x220], xmm6
mov qword [rsp + 0x38], 0
lea r12, [rsp + 0x48]
mov dword [rsp + 0x48], 0
mov word [rsp + 0x4c], 0
mov byte [rsp + 0x50], 0
mov dword [rsp + 0x54], 0
mov byte [rsp + 0x58], 0
mov dword [rsp + 0x5c], 0
mov byte [rsp + 0x60], 0
mov dword [rsp + 0x64], 0
mov byte [rsp + 0x68], 0
mov dword [rsp + 0x6c], 0
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x78], r8
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x88], 0
mov rax, r9
shr rax, 0x20
mov byte [rsp + 0x9c], al
mov qword [rsp + 0x1a0], r9
mov dword [rsp + 0x98], r9d
movups xmm0, xmmword [rsp + 0x20a]
movups xmmword [rsp + 0x9d], xmm0
mov eax, dword [rsp + 0x21a]
mov dword [rsp + 0xad], eax
mov dword [rsp + 0xb8], 0
mov word [rsp + 0xbc], 0
movzx eax, word [rsp + 0x22e]
mov word [rsp + 0xce], ax
movdqu xmm0, xmmword [rsp + 0x21e]
movdqu xmmword [rsp + 0xbe], xmm0
mov dword [rsp + 0xd8], 0x110000
mov byte [rsp + 0xdc], 0
lea rsi, [0x141a0e59c]
lea r13, [0x141a1206c]
xor eax, eax
jmp 0x1400493a4
mov rax, qword [r14 + 8]
mov byte [rax + rbx], dil
inc rbx
mov qword [r14 + 0x10], rbx
mov rax, qword [rsp + 0x38]
cmp rax, 2
je 0x1400493e0
cmp rax, 1
jne 0x140049544
mov rax, qword [rsp + 0x40]
cmp dword [rsp + 0xb8], 0
je 0x140049408
cmp rax, qword [rsp + 0xd0]
jae 0x140049499
mov rcx, qword [rsp + 0xc8]
jmp 0x14004942b
mov rcx, qword [rsp + 0x40]
mov eax, dword [rsp + 0xb8]
test eax, eax
je 0x140049450
cmp rcx, qword [rsp + 0xd0]
jae 0x1400494a7
mov rdx, qword [rsp + 0xc8]
jmp 0x140049474
movzx edx, word [rsp + 0xbc]
cmp rdx, 4
ja case.0x1400497dd.1
lea rcx, [rsp + 0xc0]
cmp rax, rdx
jae 0x1400494b8
mov edi, dword [rcx + rax*4]
inc rax
mov qword [rsp + 0x38], 1
mov qword [rsp + 0x40], rax
cmp edi, 0x80
jb 0x14004a7ac
jmp 0x14004a60e
movzx r8d, word [rsp + 0xbc]
cmp r8, 5
jae case.0x1400497dd.1
lea rdx, [rsp + 0xc0]
cmp rcx, r8
jae 0x14004a76d
mov edi, dword [rdx + rcx*4]
inc rcx
mov qword [rsp + 0x38], 2
mov qword [rsp + 0x40], rcx
cmp edi, 0x80
jb 0x14004a7ac
jmp 0x14004a60e
mov qword [rsp + 0xd0], 0
jmp 0x1400494cd
mov qword [rsp + 0xd0], 0
jmp 0x14004a782
cmp word [rsp + 0xbc], 0
je 0x1400494cd
mov word [rsp + 0xbc], 0
mov qword [rsp + 0x38], 0
jmp 0x140049544
movzx edi, bx
imul r14d, edi, 0x6f75
shr r14d, 0x18
lea edx, [r14 + 0x1100]
mov rcx, r12
call fcn.14004d470
imul eax, r14d, 0x24c
sub ebx, eax
movzx eax, bx
imul edx, eax, 0x925
shr edx, 0x10
add edx, 0x1161
mov rcx, r12
call fcn.14004d470
mov eax, edi
shr eax, 2
imul eax, eax, 0x4925
shr eax, 0x11
lea ecx, [rax + rax*8]
lea ecx, [rcx + rcx*2]
add ecx, eax
sub di, cx
je 0x140049544
add edi, 0x11a7
movzx edx, di
mov rcx, r12
call fcn.14004d470
mov rdx, qword [rsp + 0xa8]
test rdx, rdx
jne 0x140049880
movzx ecx, byte [rsp + 0x98]
cmp cl, 2
je 0x140049a72
mov rdi, qword [rsp + 0x88]
mov r10, qword [rsp + 0x70]
mov r8, qword [rsp + 0x78]
mov rax, qword [rsp + 0x80]
movzx r9d, byte [rsp + 0x99]
mov r11, qword [rsp + 0x90]
test rdi, rdi
je 0x140049638
cmp rdi, r11
je 0x14004962c
lea rdx, [rdi + 1]
mov qword [rsp + 0x88], rdx
movzx edx, byte [rdi]
test dl, dl
jns 0x1400498cc
mov ebx, edx
and ebx, 0x1f
lea r15, [rdi + 2]
mov qword [rsp + 0x88], r15
movzx r15d, byte [rdi + 1]
and r15d, 0x3f
cmp dl, 0xdf
jbe 0x14004a018
lea rbp, [rdi + 3]
mov qword [rsp + 0x88], rbp
movzx ebp, byte [rdi + 2]
shl r15d, 6
and ebp, 0x3f
or ebp, r15d
cmp dl, 0xf0
jb 0x14004a025
lea rdx, [rdi + 4]
mov qword [rsp + 0x88], rdx
movzx edx, byte [rdi + 3]
and ebx, 7
shl ebx, 0x12
shl ebp, 6
and edx, 0x3f
or edx, ebp
or edx, ebx
cmp edx, 0x110000
jne case.0x1400497dd.0
mov qword [rsp + 0x88], 0
cmp r10, r8
je 0x140049a6a
lea rdx, [r10 + 1]
mov qword [rsp + 0x70], rdx
movzx edi, byte [r10]
test dil, dil
js 0x140049670
mov r10, rdx
mov edx, edi
lea edi, [rdx - 0x2d]
cmp edi, 2
jae 0x140049710
jmp 0x1400498cc
mov edx, edi
and edx, 0x1f
lea rbx, [r10 + 2]
mov qword [rsp + 0x70], rbx
movzx ebp, byte [r10 + 1]
and ebp, 0x3f
cmp dil, 0xdf
jbe 0x1400496d8
lea r15, [r10 + 3]
mov qword [rsp + 0x70], r15
movzx ebx, byte [r10 + 2]
shl ebp, 6
and ebx, 0x3f
or ebx, ebp
cmp dil, 0xf0
jb 0x1400496ed
lea rdi, [r10 + 4]
mov qword [rsp + 0x70], rdi
movzx ebp, byte [r10 + 3]
and edx, 7
shl edx, 0x12
shl ebx, 6
and ebp, 0x3f
or ebp, ebx
or ebp, edx
mov r10, rdi
mov edx, ebp
lea edi, [rdx - 0x2d]
cmp edi, 2
jae 0x140049710
jmp 0x1400498cc
shl edx, 6
or edx, ebp
mov r10, rbx
lea edi, [rdx - 0x2d]
cmp edi, 2
jae 0x140049710
jmp 0x1400498cc
shl edx, 0xc
or ebx, edx
mov r10, r15
mov edx, ebx
lea edi, [rdx - 0x2d]
cmp edi, 2
jb 0x1400498cc
nop word cs:[rax + rax]
cmp edx, 0x110000
je 0x140049a6a
lea edi, [rdx - 0x61]
cmp edi, 0x1a
jb 0x1400498cc
lea edi, [rdx - 0x30]
cmp edi, 0xa
jb 0x1400498cc
mov edi, 0x75a
xor ebx, ebx
mov r15d, 0x75a
nop word cs:[rax + rax]
shr rdi, 1
add rdi, rbx
mov ebp, dword [rsi + rdi*8]
cmp ebp, edx
je 0x140049786
lea r14, [rdi + 1]
cmp ebp, edx
cmova r15, rdi
cmovb rbx, r14
mov rdi, r15
sub rdi, rbx
ja 0x140049750
dec rbx
mov rdi, rbx
cmp rbx, 0x759
ja case.0x1400497dd.1
movzx ebp, word [rsi + rdi*8 + 4]
mov ebx, ebp
and ebx, 0x7fff
test bp, bp
js 0x1400497a6
movzx edi, word [rsi + rdi*8]
mov ebp, edx
sub bp, di
movzx ebx, bx
add ebx, ebp
movzx edi, bx
cmp edi, 0x1f73
jae case.0x1400497dd.1
movzx ebx, bx
movzx ebp, byte [r13 + rbx*4]
mov edi, 0
cmp ebp, 1
je case.default.0x1400497dd
mov r11d, ebp
lea rdi, [0x1402146a0]
movsxd r11, dword [rdi + r11*4]
add r11, rdi
jmp r11
mov ecx, dword [rsp + 0x48]
mov rax, qword [rsp + 0xa0]
test ecx, ecx
je 0x140049b10
mov r8, qword [rsp + 0x58]
mov r9, qword [rsp + 0x60]
jmp 0x140049b25
cmp edx, 0x110000
je 0x140049a6a
cmp byte [rsp + 0xb0], 0
je 0x14004998f
cmp edx, 0x80
jb 0x14004953c
lea ebx, [rdx - 0xac00]
cmp ebx, 0x2ba4
jb 0x1400494d8
imul ecx, edx, 0x9e3779b9
imul eax, edx, 0x31415926
xor ecx, eax
imul r8, rcx, 0xee4
shr r8, 0x20
lea r9, [0x141a8c2f4]
movzx r8d, word [r9 + r8*2]
add r8d, edx
imul r8d, r8d, 0x9e3779b9
xor r8d, eax
imul r8, r8, 0xee4
shr r8, 0x20
lea r9, [0x141a8e0bc]
mov rdi, qword [r9 + r8*8]
cmp edx, edi
jne 0x140049eaa
mov rax, rdi
shr rax, 0x20
movzx ecx, ax
cmp ecx, 0x1667
ja case.0x1400497dd.1
shr rdi, 0x30
movzx eax, ax
mov ecx, 0x1667
sub rcx, rax
cmp rcx, rdi
jb case.0x1400497dd.1
lea rcx, [0x141a957dc]
lea rbx, [rcx + rax*4]
test rdi, rdi
jne 0x140049f2b
jmp 0x140049544
cmp edx, 0x80
jb 0x14004953c
lea ebx, [rdx - 0xac00]
cmp ebx, 0x2ba4
jb 0x1400494d8
imul eax, edx, 0x9e3779b9
imul ecx, edx, 0x31415926
xor eax, ecx
imul rax, rax, 0x80d
shr rax, 0x20
lea r8, [0x141a83d38]
movzx eax, word [r8 + rax*2]
add eax, edx
imul eax, eax, 0x9e3779b9
xor eax, ecx
imul rax, rax, 0x80d
shr rax, 0x20
lea rcx, [0x141a84d54]
mov rdi, qword [rcx + rax*8]
cmp edx, edi
jne 0x14004953c
mov rax, rdi
shr rax, 0x20
movzx ecx, ax
cmp ecx, 0xd4e
ja case.0x1400497dd.1
shr rdi, 0x30
movzx eax, ax
mov ecx, 0xd4e
sub rcx, rax
cmp rcx, rdi
jb case.0x1400497dd.1
test rdi, rdi
je 0x140049544
lea rcx, [0x141a88dbc]
lea rbx, [rcx + rax*4]
shl edi, 2
xor r15d, r15d
nop word cs:[rax + rax]
mov edx, dword [rbx + r15]
mov rcx, r12
call fcn.14004d470
add r15, 4
cmp rdi, r15
jne 0x140049a50
jmp 0x140049544
mov byte [rsp + 0x98], 2
mov r8d, dword [rsp + 0x48]
test r8d, r8d
mov rcx, qword [rsp + 0x60]
movzx edx, word [rsp + 0x4c]
mov rax, rcx
cmove rax, rdx
test rax, rax
je 0x14004a670
mov rax, qword [rsp + 0xa8]
test r8d, r8d
je 0x140049aab
mov r8, qword [rsp + 0x58]
mov rdx, rcx
jmp 0x140049aba
lea r8, [rsp + 0x50]
cmp dx, 5
jae case.0x1400497dd.1
sub rdx, rax
jb case.0x1400497dd.1
lea rcx, [r8 + rax*8]
call fcn.140048a60
mov ecx, dword [rsp + 0x48]
test ecx, ecx
je 0x140049af3
mov rdx, qword [rsp + 0x60]
mov qword [rsp + 0xa8], rdx
mov rax, qword [rsp + 0xa0]
test ecx, ecx
jne 0x140049894
jmp 0x140049b10
movzx edx, word [rsp + 0x4c]
mov qword [rsp + 0xa8], rdx
mov rax, qword [rsp + 0xa0]
test ecx, ecx
jne 0x140049894
movzx r9d, word [rsp + 0x4c]
lea r8, [rsp + 0x50]
cmp r9, 5
jae case.0x1400497dd.1
cmp rax, r9
jae case.0x1400497dd.1
mov ebp, dword [r8 + rax*8 + 4]
inc rax
cmp rax, rdx
jne 0x140049bf0
test ecx, ecx
je 0x140049bfa
mov rax, qword [rsp + 0x60]
sub rax, rdx
je 0x140049c08
xor ecx, ecx
nop word [rax + rax]
mov rdx, qword [rsp + 0xa8]
add rdx, rcx
cmp dword [rsp + 0x48], 0
je 0x140049b90
mov r8, qword [rsp + 0x60]
cmp rdx, r8
jae case.0x1400497dd.1
mov r9, qword [rsp + 0x58]
jmp 0x140049bae
movzx r8d, word [rsp + 0x4c]
cmp r8, 5
jae case.0x1400497dd.1
lea r9, [rsp + 0x50]
cmp rdx, r8
jae case.0x1400497dd.1
cmp rcx, r8
jae case.0x1400497dd.1
movzx r8d, byte [r9 + rdx*8]
mov edx, dword [r9 + rdx*8 + 4]
mov byte [r9 + rcx*8], r8b
mov dword [r9 + rcx*8 + 4], edx
lea rdx, [rcx + 1]
mov rcx, rdx
cmp rax, rdx
jne 0x140049b60
mov ecx, dword [rsp + 0x48]
test ecx, ecx
jne 0x140049c0c
movzx ecx, word [rsp + 0x4c]
cmp rax, rcx
jae 0x140049c18
mov word [rsp + 0x4c], ax
jmp 0x140049c18
mov qword [rsp + 0xa0], rax
jmp 0x140049c1f
movzx eax, word [rsp + 0x4c]
sub rax, rdx
jne 0x140049b55
test ecx, ecx
je 0x140049bde
cmp qword [rsp + 0x60], rax
jb 0x140049c18
mov qword [rsp + 0x60], rax
movdqu xmmword [r12 + 0x58], xmm6
imul eax, ebp, 0x9e3779b9
imul ecx, ebp, 0x31415926
xor eax, ecx
imul rax, rax, 0x39a
shr rax, 0x20
lea rdx, [0x141a8035c]
movzx eax, word [rdx + rax*2]
add eax, ebp
imul eax, eax, 0x9e3779b9
xor eax, ecx
imul rax, rax, 0x39a
shr rax, 0x20
lea rcx, [0x141a80a90]
mov ebx, dword [rcx + rax*4]
mov eax, ebx
shr eax, 8
cmp eax, ebp
mov eax, 0
cmovne ebx, eax
mov edi, dword [rsp + 0xd8]
cmp edi, 0x110000
jne 0x140049ca0
test bl, bl
jne 0x14004a600
mov dword [rsp + 0xd8], ebp
jmp 0x140049544
cmp byte [rsp + 0xdc], 0
je 0x140049cf7
cmp byte [rsp + 0xdd], bl
jae 0x140049d37
lea eax, [rdi - 0x1100]
cmp eax, 0x13
jae 0x140049f5a
lea eax, [rbp - 0x1161]
cmp eax, 0x15
jae 0x140049fa4
imul eax, edi, 0x24c
lea ecx, [rbp + rbp*8]
lea ecx, [rcx + rcx*2]
add ecx, ebp
add eax, ecx
add eax, 0xffd7b964
mov dword [rsp + 0xd8], eax
jmp 0x140049544
lea eax, [rdi - 0x1100]
cmp eax, 0x13
jae 0x140049de9
lea eax, [rbp - 0x1161]
cmp eax, 0x15
jae 0x140049e33
imul eax, edi, 0x24c
lea ecx, [rbp + rbp*8]
lea ecx, [rcx + rcx*2]
add ecx, ebp
add eax, ecx
add eax, 0xffd7b964
mov dword [rsp + 0xd8], eax
jmp 0x140049544
test bl, bl
je 0x14004a73f
cmp dword [rsp + 0xb8], 0
jne 0x14004a419
movzx edi, word [rsp + 0xbc]
cmp rdi, 3
jbe 0x14004a593
lea edx, [rdi*8]
movzx eax, byte [0x141af8129]
xor ecx, ecx
call fcn.140146820
test rax, rax
je case.0x1400497dd.1
lea ecx, [rdi + rdi]
mov qword [rsp + 0x120], rcx
mov qword [rsp + 0x128], rax
mov qword [rsp + 0x130], 0
cmp edi, 4
jne case.0x1400497dd.1
xor r15d, r15d
nop dword [rax + rax]
mov rcx, qword [rsp + r15*4 + 0xc0]
mov qword [rsp + r15*4 + 0xc0], 0
mov qword [rax + r15*4], rcx
add r15, 2
cmp rdi, r15
jne 0x140049db0
jmp 0x14004a4d1
lea eax, [rdi - 0xac00]
cmp eax, 0x2ba3
ja 0x140049e33
lea ecx, [rbp - 0x11a8]
cmp ecx, 0x1a
ja 0x140049e33
movzx ecx, ax
shr ecx, 2
imul ecx, ecx, 0x4925
shr ecx, 0x11
lea edx, [rcx + rcx*8]
lea edx, [rdx + rdx*2]
add edx, ecx
sub eax, edx
test ax, ax
jne 0x140049e33
lea eax, [rdi + rbp]
add eax, 0xffffee59
mov dword [rsp + 0xd8], eax
jmp 0x140049544
mov eax, ebp
or eax, edi
cmp eax, 0x10000
jae 0x14004a031
mov ecx, edi
shl ecx, 0x10
or ecx, ebp
imul eax, ecx, 0x9e3779b9
imul edx, ecx, 0x31415926
xor eax, edx
imul rax, rax, 0x3a0
shr rax, 0x20
lea r8, [0x141a818f8]
movzx eax, word [r8 + rax*2]
add eax, ecx
imul eax, eax, 0x9e3779b9
xor eax, edx
imul rax, rax, 0x3a0
shr rax, 0x20
lea rdx, [0x141a82038]
cmp dword [rdx + rax*8], ecx
jne 0x14004a2e0
lea rcx, [0x141a82038]
mov eax, dword [rcx + rax*8 + 4]
mov dword [rsp + 0xd8], eax
jmp 0x140049544
imul rcx, rcx, 0x80d
shr rcx, 0x20
lea r8, [0x141a83d38]
movzx ecx, word [r8 + rcx*2]
add ecx, edx
imul ecx, ecx, 0x9e3779b9
xor ecx, eax
imul rax, rcx, 0x80d
shr rax, 0x20
lea rcx, [0x141a84d54]
mov rdi, qword [rcx + rax*8]
cmp edx, edi
jne 0x14004953c
mov rax, rdi
shr rax, 0x20
movzx ecx, ax
cmp ecx, 0xd4e
ja case.0x1400497dd.1
shr rdi, 0x30
movzx eax, ax
mov ecx, 0xd4e
sub rcx, rax
cmp rcx, rdi
jb case.0x1400497dd.1
lea rcx, [0x141a88dbc]
lea rbx, [rcx + rax*4]
test rdi, rdi
je 0x140049544
shl edi, 2
xor r15d, r15d
nop word cs:[rax + rax]
mov edx, dword [rbx + r15]
mov rcx, r12
call fcn.14004d470
add r15, 4
cmp rdi, r15
jne 0x140049f40
jmp 0x140049544
lea eax, [rdi - 0xac00]
cmp eax, 0x2ba3
ja 0x140049fa4
lea ecx, [rbp - 0x11a8]
cmp ecx, 0x1a
ja 0x140049fa4
movzx ecx, ax
shr ecx, 2
imul ecx, ecx, 0x4925
shr ecx, 0x11
lea edx, [rcx + rcx*8]
lea edx, [rdx + rdx*2]
add edx, ecx
sub eax, edx
test ax, ax
jne 0x140049fa4
lea eax, [rdi + rbp]
add eax, 0xffffee59
mov dword [rsp + 0xd8], eax
jmp 0x140049544
mov eax, ebp
or eax, edi
cmp eax, 0x10000
jae 0x14004a083
shl edi, 0x10
or edi, ebp
imul eax, edi, 0x9e3779b9
imul ecx, edi, 0x31415926
xor eax, ecx
imul rax, rax, 0x3a0
shr rax, 0x20
lea rdx, [0x141a818f8]
movzx eax, word [rdx + rax*2]
add eax, edi
imul eax, eax, 0x9e3779b9
xor eax, ecx
imul rax, rax, 0x3a0
shr rax, 0x20
lea rcx, [0x141a82038]
cmp dword [rcx + rax*8], edi
jne 0x14004a40f
lea rcx, [0x141a82038]
mov eax, dword [rcx + rax*8 + 4]
mov dword [rsp + 0xd8], eax
jmp 0x140049544
shl ebx, 6
or ebx, r15d
mov edx, ebx
jmp 0x1400498cc
shl ebx, 0xc
or ebp, ebx
mov edx, ebp
jmp 0x1400498cc
cmp edi, 0x11346
jg 0x14004a0d5
cmp edi, 0x110a4
jle 0x14004a161
cmp edi, 0x110a5
je 0x14004a296
cmp edi, 0x11131
je 0x14004a2bc
cmp edi, 0x11132
jne 0x14004a2e0
mov eax, 0x1112f
cmp ebp, 0x11127
je 0x140049d2b
jmp 0x14004a2e0
cmp edi, 0x11346
jg 0x14004a11b
cmp edi, 0x110a4
jle 0x14004a1dc
cmp edi, 0x110a5
je 0x14004a3c5
cmp edi, 0x11131
je 0x14004a3eb
cmp edi, 0x11132
jne 0x14004a40f
mov eax, 0x1112f
cmp ebp, 0x11127
je 0x140049ceb
jmp 0x14004a40f
cmp edi, 0x115b7
jle 0x14004a18f
cmp edi, 0x115b8
je 0x14004a2a9
cmp edi, 0x115b9
je 0x14004a2cf
cmp edi, 0x11935
jne 0x14004a2e0
mov eax, 0x11938
cmp ebp, 0x11930
je 0x140049d2b
jmp 0x14004a2e0
cmp edi, 0x115b7
jle 0x14004a20a
cmp edi, 0x115b8
je 0x14004a3d8
cmp edi, 0x115b9
je 0x14004a3fe
cmp edi, 0x11935
jne 0x14004a40f
mov eax, 0x11938
cmp ebp, 0x11930
je 0x140049ceb
jmp 0x14004a40f
cmp edi, 0x11099
je 0x14004a257
cmp edi, 0x1109b
jne 0x14004a2e0
mov eax, 0x1109c
cmp ebp, 0x110ba
je 0x140049d2b
jmp 0x14004a2e0
cmp edi, 0x11347
je 0x14004a26a
cmp edi, 0x114b9
jne 0x14004a2e0
cmp ebp, 0x114b0
je 0x14004a5c9
cmp ebp, 0x114ba
je 0x14004a5b8
cmp ebp, 0x114bd
jne 0x14004a2e0
mov eax, 0x114be
mov dword [rsp + 0xd8], eax
jmp 0x140049544
cmp edi, 0x11099
je 0x14004a386
cmp edi, 0x1109b
jne 0x14004a40f
mov eax, 0x1109c
cmp ebp, 0x110ba
je 0x140049ceb
jmp 0x14004a40f
cmp edi, 0x11347
je 0x14004a399
cmp edi, 0x114b9
jne 0x14004a40f
cmp ebp, 0x114b0
je 0x14004a5eb
cmp ebp, 0x114ba
je 0x14004a5da
cmp ebp, 0x114bd
jne 0x14004a40f
mov eax, 0x114be
mov dword [rsp + 0xd8], eax
jmp 0x140049544
mov eax, 0x1109a
cmp ebp, 0x110ba
je 0x140049d2b
jmp 0x14004a2e0
mov eax, 0x1134b
cmp ebp, 0x1133e
je 0x140049d2b
mov eax, 0x110000
cmp ebp, 0x11357
mov ecx, 0x1134c
cmove eax, ecx
je 0x140049d2b
jmp 0x14004a2e0
mov eax, 0x110ab
cmp ebp, 0x110ba
je 0x140049d2b
jmp 0x14004a2e0
mov eax, 0x115ba
cmp ebp, 0x115af
je 0x140049d2b
jmp 0x14004a2e0
mov eax, 0x1112e
cmp ebp, 0x11127
je 0x140049d2b
jmp 0x14004a2e0
mov eax, 0x115bb
cmp ebp, 0x115af
je 0x140049d2b
test bl, bl
je 0x14004a7e5
cmp dword [rsp + 0xb8], 0
jne 0x14004a419
movzx edi, word [rsp + 0xbc]
cmp rdi, 3
jbe 0x14004a593
lea edx, [rdi*8]
movzx eax, byte [0x141af8129]
xor ecx, ecx
call fcn.140146820
test rax, rax
je case.0x1400497dd.1
lea ecx, [rdi + rdi]
mov qword [rsp + 0x120], rcx
mov qword [rsp + 0x128], rax
mov qword [rsp + 0x130], 0
cmp edi, 4
jne case.0x1400497dd.1
xor r15d, r15d
nop word cs:[rax + rax]
mov rcx, qword [rsp + r15*4 + 0xc0]
mov qword [rsp + r15*4 + 0xc0], 0
mov qword [rax + r15*4], rcx
add r15, 2
cmp rdi, r15
jne 0x14004a360
jmp 0x14004a4d1
mov eax, 0x1109a
cmp ebp, 0x110ba
je 0x140049ceb
jmp 0x14004a40f
mov eax, 0x1134b
cmp ebp, 0x1133e
je 0x140049ceb
mov eax, 0x110000
cmp ebp, 0x11357
mov ecx, 0x1134c
cmove eax, ecx
je 0x140049ceb
jmp 0x14004a40f
mov eax, 0x110ab
cmp ebp, 0x110ba
je 0x140049ceb
jmp 0x14004a40f
mov eax, 0x115ba
cmp ebp, 0x115af
je 0x140049ceb
jmp 0x14004a40f
mov eax, 0x1112e
cmp ebp, 0x11127
je 0x140049ceb
jmp 0x14004a40f
mov eax, 0x115bb
cmp ebp, 0x115af
je 0x140049ceb
cmp dword [rsp + 0xb8], 0
je 0x14004a453
mov rdi, qword [rsp + 0xd0]
cmp rdi, qword [rsp + 0xc0]
jne 0x14004a438
lea rcx, [rsp + 0xc0]
call fcn.14001c6e0
mov rax, qword [rsp + 0xc8]
mov dword [rax + rdi*4], ebp
inc rdi
mov qword [rsp + 0xd0], rdi
jmp 0x14004a5a4
movzx edi, word [rsp + 0xbc]
cmp rdi, 3
jbe 0x14004a593
lea edx, [rdi*8]
movzx eax, byte [0x141af8129]
xor ecx, ecx
call fcn.140146820
test rax, rax
je case.0x1400497dd.1
lea ecx, [rdi + rdi]
mov qword [rsp + 0x120], rcx
mov qword [rsp + 0x128], rax
mov qword [rsp + 0x130], 0
cmp edi, 4
jne case.0x1400497dd.1
xor r15d, r15d
nop
mov rcx, qword [rsp + r15*4 + 0xc0]
mov qword [rsp + r15*4 + 0xc0], 0
mov qword [rax + r15*4], rcx
add r15, 2
cmp rdi, r15
jne 0x14004a4b0
mov word [rsp + 0xbc], 0
movups xmm0, xmmword [rsp + 0x120]
movaps xmmword [rsp + 0xf0], xmm0
mov qword [rsp + 0x100], r15
cmp r15, qword [rsp + 0xf0]
jne 0x14004a50a
lea rcx, [rsp + 0xf0]
call fcn.14001c6e0
mov rax, qword [rsp + 0xf8]
mov dword [rax + r15*4], ebp
inc r15
mov qword [rsp + 0x100], r15
lea rax, [rsp + 0x154]
mov qword [rax + 0x10], r15
movaps xmm0, xmmword [rsp + 0xf0]
movups xmmword [rax], xmm0
cmp dword [rsp + 0xb8], 0
je 0x14004a563
cmp qword [rsp + 0xc0], 0
je 0x14004a563
mov r8, qword [rsp + 0xc8]
mov rcx, qword [0x141af8068]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
mov dword [rsp + 0xb8], 1
movdqu xmm0, xmmword [rsp + 0x150]
movdqu xmm1, xmmword [rsp + 0x15c]
movdqu xmmword [r12 + 0x80], xmm1
movdqu xmmword [r12 + 0x74], xmm0
jmp 0x14004a5a4
mov dword [rsp + rdi*4 + 0xc0], ebp
inc edi
mov word [rsp + 0xbc], di
mov byte [rsp + 0xdc], 1
mov byte [rsp + 0xdd], bl
jmp 0x140049544
mov eax, 0x114bb
mov dword [rsp + 0xd8], eax
jmp 0x140049544
mov eax, 0x114bc
mov dword [rsp + 0xd8], eax
jmp 0x140049544
mov eax, 0x114bb
mov dword [rsp + 0xd8], eax
jmp 0x140049544
mov eax, 0x114bc
mov dword [rsp + 0xd8], eax
jmp 0x140049544
mov edi, ebp
cmp edi, 0x80
jb 0x14004a7ac
mov dword [rsp + 0x150], 0
mov eax, edi
cmp edi, 0x800
jae 0x14004a640
shr eax, 6
or al, 0xc0
mov byte [rsp + 0x150], al
mov ebp, 2
mov eax, 1
jmp 0x14004a6ec
cmp edi, 0x10000
jae 0x14004a6b6
shr eax, 0xc
or al, 0xe0
mov byte [rsp + 0x150], al
mov eax, edi
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x151], al
mov ebp, 3
mov eax, 2
jmp 0x14004a6ec
mov qword [rsp + 0x38], 2
mov qword [rsp + 0x40], 0
mov edi, dword [rsp + 0xd8]
mov eax, 2
cmp edi, 0x110000
je 0x1400493a4
mov dword [rsp + 0xd8], 0x110000
cmp edi, 0x80
jb 0x14004a7ac
jmp 0x14004a60e
shr eax, 0x12
or al, 0xf0
mov byte [rsp + 0x150], al
mov eax, edi
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x151], al
mov eax, edi
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x152], al
mov ebp, 4
mov eax, 3
and dil, 0x3f
or dil, 0x80
mov byte [rsp + rax + 0x150], dil
mov rdi, qword [rsp + 0x340]
mov rax, qword [rdi]
mov rbx, qword [rdi + 0x10]
sub rax, rbx
cmp rax, rbp
jb 0x14004a7ce
mov rcx, qword [rdi + 8]
add rcx, rbx
lea rdx, [rsp + 0x150]
mov r8, rbp
call sub.msvcrt.dll_memcpy
add rbx, rbp
mov qword [rdi + 0x10], rbx
mov rax, qword [rsp + 0x38]
jmp 0x1400493a4
mov dword [rsp + 0xd8], ebp
mov byte [rsp + 0xdc], 0
mov qword [rsp + 0x38], 1
mov qword [rsp + 0x40], 0
cmp edi, 0x80
jb 0x14004a7ac
jmp 0x14004a60e
cmp word [rsp + 0xbc], 0
je 0x14004a782
mov word [rsp + 0xbc], 0
mov edi, dword [rsp + 0xd8]
mov dword [rsp + 0xd8], 0x110000
cmp edi, 0x110000
je 0x14004a7f9
nop dword [rax]
cmp edi, 0x80
jae 0x14004a60e
mov r14, qword [rsp + 0x340]
mov rbx, qword [r14 + 0x10]
cmp rbx, qword [r14]
jne 0x140049390
mov rcx, r14
call fcn.14004e1c0
jmp 0x140049390
mov rcx, rdi
mov rdx, rbx
mov r8, rbp
call fcn.140106b90
mov rbx, qword [rdi + 0x10]
jmp 0x14004a717
mov dword [rsp + 0xd8], ebp
cmp edi, 0x80
jb 0x14004a7ac
jmp 0x14004a60e
cmp dword [rsp + 0x48], 0
je 0x14004a838
cmp qword [rsp + 0x50], 0
mov r12, qword [rsp + 0x348]
mov rsi, qword [rsp + 0x340]
je 0x14004a832
mov r8, qword [rsp + 0x58]
mov rcx, qword [0x141af8068]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
mov eax, dword [rsp + 0xb8]
test eax, eax
jne 0x14004a84c
jmp 0x14004a86d
mov r12, qword [rsp + 0x348]
mov rsi, qword [rsp + 0x340]
test eax, eax
je 0x14004a86d
cmp qword [rsp + 0xc0], 0
je 0x14004a86d
mov r8, qword [rsp + 0xc8]
mov rcx, qword [0x141af8068]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
mov qword [rsp + 0x120], 0
mov qword [rsp + 0x128], 8
mov qword [rsp + 0x130], 0
mov rax, qword [rsi + 8]
mov rcx, qword [rsi + 0x10]
mov qword [rsp + 0x150], 0
mov qword [rsp + 0x158], rcx
mov qword [rsp + 0x160], rax
mov qword [rsp + 0x168], rcx
mov qword [rsp + 0x170], 0
mov qword [rsp + 0x178], rcx
movabs rax, 0x2e0000002e
mov qword [rsp + 0x180], rax
mov byte [rsp + 0x188], 1
mov word [rsp + 0x190], 1
and qword [rsp + 0x1a0], 0xffffffffffff00ff
mov dil, 1
movdqa xmm6, xmmword [0x1402141a0]
movdqa xmm7, xmmword [0x1402141b0]
xorps xmm8, xmm8
movdqa xmm14, xmmword [0x140214210]
movdqa xmm15, xmmword [0x140214220]
movdqa xmm10, xmmword [0x140214240]
movdqa xmm11, xmmword [0x140214250]
movdqa xmm12, xmmword [0x140214260]
movdqa xmm13, xmmword [0x140214270]
movdqa xmm9, xmmword [0x140214280]
xor ebx, ebx
jmp 0x14004a980
mov rax, qword [rsp + 0x28]
test qword [rax], rcx
je 0x14004c526
mov byte [rsp + 0xe0], 1
mov bl, 1
xor edi, edi
mov r12, qword [rsp + 0x348]
nop dword [rax]
lea rcx, [rsp + 0x150]
call fcn.140186290
test rax, rax
je 0x14004c63e
mov rsi, rax
mov rbp, rdx
test dil, 1
jne 0x14004a9c6
mov rdi, qword [r12 + 0x10]
cmp rdi, qword [r12]
jne 0x14004a9b5
mov rcx, r12
call fcn.14004e1c0
mov rax, qword [r12 + 8]
mov byte [rax + rdi], 0x2e
inc rdi
mov qword [r12 + 0x10], rdi
cmp rbp, 4
jb 0x14004a9d8
cmp dword [rsi], 0x2d2d6e78
je 0x14004abb4
test bl, 1
jne 0x14004ab62
test rbp, rbp
lea r14, [0x141a7bf94]
je 0x14004ab60
mov rax, rsi
add rax, rbp
mov rcx, rsi
jmp 0x14004aa09
cmp rcx, rax
je 0x14004ab60
movzx edx, byte [rcx]
test dl, dl
js 0x14004aa30
inc rcx
lea r8d, [rdx - 0x21]
cmp r8d, 0x5e
jb 0x14004aa00
jmp 0x14004aad0
mov r8d, edx
and r8d, 0x1f
movzx r10d, byte [rcx + 1]
and r10d, 0x3f
cmp dl, 0xdf
jbe 0x14004aa93
movzx r9d, byte [rcx + 2]
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
cmp dl, 0xf0
jb 0x14004aab0
movzx edx, byte [rcx + 3]
and r8d, 7
shl r8d, 0x12
shl r9d, 6
and edx, 0x3f
or edx, r9d
or edx, r8d
cmp edx, 0x110000
je 0x14004ab60
add rcx, 4
lea r8d, [rdx - 0x21]
cmp r8d, 0x5e
jb 0x14004aa00
jmp 0x14004aad0
add rcx, 2
shl r8d, 6
or r8d, r10d
mov edx, r8d
lea r8d, [rdx - 0x21]
cmp r8d, 0x5e
jae 0x14004aad0
jmp 0x14004aa00
add rcx, 3
shl r8d, 0xc
or r9d, r8d
mov edx, r9d
lea r8d, [rdx - 0x21]
cmp r8d, 0x5e
jb 0x14004aa00
nop dword [rax]
mov r8d, 0x5a6
xor r10d, r10d
mov r9d, 0x5a6
jmp 0x14004ab03
cmp r11d, edx
cmova r9, r8
mov r8, r9
sub r8, r10
jbe 0x14004aa00
shr r8, 1
add r8, r10
lea rdi, [r8 + r8*2]
mov r11d, dword [r14 + rdi*4]
mov ebx, dword [r14 + rdi*4 + 4]
cmp ebx, edx
jb 0x14004ab1f
cmp r11d, edx
jbe 0x14004ab30
cmp ebx, edx
jae 0x14004aaf0
mov r10, r8
inc r10
mov r8, r9
jmp 0x14004aaf0
movzx edx, byte [r14 + rdi*4 + 8]
cmp edx, 0x11
ja 0x14004aa00
mov r8d, 0x20003
bt r8d, edx
jae 0x14004aa00
mov bl, 1
jmp 0x14004ab62
xor ebx, ebx
mov rcx, rsi
mov rdx, rbp
mov r8, qword [rsp + 0x1d0]
lea r9, [rsp + 0xe0]
call fcn.14004cee0
mov rax, qword [r12]
mov rdi, qword [r12 + 0x10]
sub rax, rdi
cmp rax, rbp
jb 0x14004b062
mov rcx, qword [r12 + 8]
add rcx, rdi
mov rdx, rsi
mov r8, rbp
call sub.msvcrt.dll_memcpy
add rbp, rdi
mov qword [r12 + 0x10], rbp
xor edi, edi
jmp 0x14004a980
lea rcx, [rsi + 4]
add rbp, 0xfffffffffffffffc
mov qword [rsp + 0x130], 0
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0x48], 0
mov qword [rsp + 0x50], rbp
mov byte [rsp + 0x60], 1
movabs rax, 0x2d0000002d
mov qword [rsp + 0x58], rax
lea rax, [rsi + 0xb]
and rax, 0xfffffffffffffff8
mov qword [rsp + 0x28], rcx
sub rax, rcx
mov rcx, rsi
add rcx, 3
mov r11, rbp
mov dword [rsp + 0x14c], ebx
jmp 0x14004ac2e
mov qword [rsp + 0x50], r11
cmp r11, rbp
ja 0x14004ad7d
mov r8, r11
sub r8, rax
and r8d, 0xf
cmp r11, rax
mov r9d, 0
mov rdx, r11
cmova rdx, rax
cmovae r9, r8
mov r8, r11
sub r8, r9
jb case.0x1400497dd.1
mov r9, qword [rsp + 0x28]
lea r10, [r9 + r8]
add r9, r11
sub r9, r10
mov rdi, r11
lea r10, [rcx + r11]
movabs r11, 0x8080808080808080
nop dword [rax + rax]
test r9, r9
je 0x14004aca0
dec r9
cmp byte [r10], 0x2d
lea r10, [r10 - 1]
jne 0x14004ac80
add r9, r8
mov r11, r9
jmp 0x14004ad04
mov r9, r8
cmp r8, rdx
jbe 0x14004acd6
lea r8, [r9 - 0x10]
movdqu xmm0, xmmword [rsi + r9 - 0xc]
movdqa xmm1, xmm0
pxor xmm1, xmm6
paddq xmm1, xmm7
pandn xmm0, xmm1
pshufd xmm1, xmm0, 0xee
por xmm1, xmm0
movq r10, xmm1
test r10, r11
je 0x14004aca0
cmp r9, rdi
ja case.0x1400497dd.1
mov r11, r9
nop word cs:[rax + rax]
sub r11, 1
jb 0x14004ad7d
cmp byte [rcx + r9], 0x2d
mov r9, r11
jne 0x14004acf0
cmp r11, rbp
jae 0x14004ac20
mov dl, 0x2d
mov r8, qword [rsp + 0x28]
cmp byte [r8 + r11], dl
jne 0x14004ac20
test r11, r11
je 0x14004ba13
cmp r11, rbp
jae 0x14004ad3c
mov rax, qword [rsp + 0x28]
cmp byte [rax + r11], 0xbf
jle case.0x1400497dd.1
lea rax, [r11 + 1]
cmp rax, rbp
jae 0x14004ba4c
mov rdx, qword [rsp + 0x28]
cmp byte [rdx + rax], 0xbf
movabs rcx, 0x8080808080808080
jle case.0x1400497dd.1
lea r14, [rdx + rax]
sub rbp, rax
cmp r11, 8
mov qword [rsp + 0x30], r11
jae 0x14004a95b
jmp 0x14004ba7c
mov r14, qword [rsp + 0x28]
xor eax, eax
mov qword [rsp + 0x30], rax
mov eax, 1
mov qword [rsp + 0x28], rax
add rbp, r14
mov dword [rsp + 0x118], pe_nt_image_headers64
mov r15d, 0x48
xor r12d, r12d
xor eax, eax
mov qword [rsp + 0x110], rax
xor esi, esi
mov r10, qword [rsp + 0x30]
mov r13d, r10d
cmp r14, rbp
je 0x14004b017
lea r9d, [r15 + 0x1a]
inc r14
mov r10d, r15d
neg r10d
mov r11d, 1
mov edi, 0x24
mov ecx, esi
movzx eax, byte [r14 - 1]
lea edx, [rax - 0x30]
cmp dl, 0xa
jb 0x14004ae10
nop
lea edx, [rax - 0x41]
cmp dl, 0x1a
jb 0x14004ae14
add al, 0x9f
mov edx, eax
cmp al, 0x19
jbe 0x14004ae14
jmp 0x14004a969
add al, 0xea
mov edx, eax
test r11d, r11d
je case.0x1400497dd.1
movzx r8d, dl
mov eax, ecx
not eax
xor edx, edx
div r11d
cmp eax, r8d
jb 0x14004a969
mov eax, r11d
imul eax, r8d
add ecx, eax
lea eax, [r10 + rdi]
cmp edi, r9d
mov edx, 0x1a
cmovae eax, edx
cmp edi, r15d
mov edx, 1
cmovbe eax, edx
cmp eax, r8d
ja 0x14004aea0
mov r8d, 0x24
sub r8d, eax
mov eax, r8d
mul r11d
jo 0x14004a969
cmp r14, rbp
je 0x14004a969
add edi, 0x24
imul r11d, r8d
inc r14
movzx eax, byte [r14 - 1]
lea edx, [rax - 0x30]
cmp dl, 0xa
jae 0x14004adf0
jmp 0x14004ae10
inc r13d
je case.0x1400497dd.1
mov eax, ecx
sub eax, esi
test esi, esi
mov r8d, 2
mov edx, 0x2bc
cmove r8d, edx
xor r15d, r15d
xor edx, edx
div r8d
mov r8d, eax
xor edx, edx
div r13d
add eax, r8d
cmp eax, 0x1c8
jb 0x14004af1a
xor r15d, r15d
mov r9d, 0xd41d41d5
nop word cs:[rax + rax]
mov edx, eax
imul rdx, r9
shr rdx, 0x20
mov r8d, eax
sub r8d, edx
shr r8d, 1
add r8d, edx
shr r8d, 5
add r15d, 0x24
cmp eax, 0x3e57
mov eax, r8d
ja 0x14004aef0
jmp 0x14004af1d
mov r8d, eax
lea eax, [r8*4]
lea eax, [rax + rax*8]
add r8d, 0x26
xor edx, edx
div r8w
mov ebx, eax
mov eax, ecx
xor edx, edx
div r13d
add dword [rsp + 0x118], eax
jb 0x14004a969
mov eax, dword [rsp + 0x118]
xor eax, 0xd800
add eax, 0xffef0000
cmp eax, 0xffef0800
jb 0x14004a969
mov esi, edx
mov rax, qword [rsp + 0x128]
mov edi, edx
cmp qword [rsp + 0x110], 0
je 0x14004afa0
xor ecx, ecx
jmp 0x14004af89
add rcx, 0x10
cmp r12, rcx
je 0x14004afa0
mov rdx, qword [rax + rcx]
cmp rdx, rdi
jb 0x14004af80
inc rdx
mov qword [rax + rcx], rdx
jmp 0x14004af80
mov rcx, qword [rsp + 0x110]
cmp rcx, qword [rsp + 0x120]
jne 0x14004afc7
lea rcx, [rsp + 0x120]
call fcn.140069050
mov rax, qword [rsp + 0x128]
movzx ecx, bx
add r15d, ecx
mov rdx, qword [rsp + 0x110]
mov rcx, rdx
shl rcx, 4
mov qword [rax + rcx], rdi
mov r8d, dword [rsp + 0x118]
mov dword [rax + rcx + 8], r8d
inc rdx
mov rax, rdx
mov qword [rsp + 0x110], rdx
mov qword [rsp + 0x130], rdx
inc esi
add r12, 0x10
mov r10, qword [rsp + 0x30]
cmp r14, rbp
jne 0x14004adc7
mov rax, qword [rsp + 0x128]
mov qword [rsp + 0x138], rax
mov r15, qword [rsp + 0x110]
cmp r15, 0x15
jae 0x14004b07a
cmp r15, 1
mov r12, qword [rsp + 0x348]
jbe 0x14004b6cd
mov r8d, 1
mov rcx, qword [rsp + 0x138]
mov rdx, r15
call fcn.1400489b0
jmp 0x14004b6c8
mov rcx, r12
mov rdx, rdi
mov r8, rbp
call fcn.140106b90
mov rdi, qword [r12 + 0x10]
jmp 0x14004ab92
lea rdx, [r15*8]
movabs rax, 0x7ffffffffffffff0
and rdx, rax
movzx eax, byte [0x141af8129]
xor ecx, ecx
call fcn.140146820
test rax, rax
mov r12, qword [rsp + 0x348]
je case.0x1400497dd.1
mov rdi, rax
movzx eax, byte [0x141af8129]
mov edx, 0x100
xor ecx, ecx
call fcn.140146820
test rax, rax
je case.0x1400497dd.1
mov rbp, rax
mov rax, qword [rsp + 0x138]
lea rcx, [rax + 0x20]
mov qword [rsp + 0x198], rcx
add rax, 0xfffffffffffffff0
mov qword [rsp + 0x1b0], rax
mov eax, 0x10
mov qword [rsp + 0x1a8], rax
xor esi, esi
xor r14d, r14d
mov qword [rsp + 0x140], rdi
jmp 0x14004b127
mov r14d, 1
mov rsi, qword [rsp + 0x1c8]
cmp rsi, r15
jae 0x14004b6a6
mov rax, r15
sub rax, rsi
mov r9, rsi
shl r9, 4
mov rcx, qword [rsp + 0x138]
add rcx, r9
cmp rax, 2
jae 0x14004b590
mov r8, rax
lea rax, [r8 + rsi]
mov rbx, rax
sub rbx, rsi
jb case.0x1400497dd.1
cmp rax, r15
ja case.0x1400497dd.1
jae 0x14004b1a7
cmp r8, 0xa
jae 0x14004b1a7
cmp rsi, 0xfffffffffffffff6
jae case.0x1400497dd.1
lea rdi, [rsi + 0xa]
cmp rdi, r15
cmovae rdi, r15
cmp rax, rsi
mov eax, 1
cmove r8, rax
mov rbx, rdi
sub rbx, rsi
mov rdx, rbx
call fcn.1400489b0
mov rax, rdi
mov rdi, qword [rsp + 0x140]
mov qword [rsp + 0x1c8], rax
cmp r14, qword [rsp + 0x1a8]
jne 0x14004b216
mov rdx, r14
shl rdx, 5
movzx eax, byte [0x141af8129]
xor ecx, ecx
call fcn.140146820
test rax, rax
je case.0x1400497dd.1
mov r13, r14
mov r14, rax
lea rax, [r13*2]
mov qword [rsp + 0x1a8], rax
mov r8, r13
shl r8, 4
mov rcx, r14
mov rdx, rbp
call sub.msvcrt.dll_memcpy
mov rcx, qword [0x141af8068]
xor edx, edx
mov r8, rbp
call sub.KERNEL32.dll_HeapFree
mov rbp, r14
mov r14, r13
mov rax, r14
shl rax, 4
mov qword [rbp + rax], rbx
mov qword [rbp + rax + 8], rsi
inc r14
mov rax, r14
cmp r14, 2
mov qword [rsp + 0x1d8], rbp
jae 0x14004b2d4
jmp 0x14004b116
mov rsi, r14
mov rdi, qword [rsp + 0x140]
mov rdx, rdi
mov rax, qword [rsp + 0x1d8]
mov r14, qword [rsp + 0x1e0]
add r14, rax
add r13, rax
sub rbx, rdx
mov rcx, rbp
mov rbp, rax
mov r8, rbx
call sub.msvcrt.dll_memcpy
mov rax, qword [rsp + 0x1e8]
add rax, rsi
mov qword [r13], rax
mov rax, qword [rsp + 0x1f0]
mov qword [r13 + 8], rax
lea rdx, [r14 + 0x10]
mov rax, qword [rsp + 0x1f8]
not rax
mov r8, qword [rsp + 0x118]
add r8, rax
shl r8, 4
mov rcx, r14
call sub.msvcrt.dll_memmove
mov rax, qword [rsp + 0x200]
cmp rax, 1
mov r15, qword [rsp + 0x110]
jbe 0x14004b110
mov r14, rax
lea r10, [rax - 1]
mov rcx, r10
shl rcx, 4
mov rax, qword [rbp + rcx]
mov rcx, qword [rbp + rcx + 8]
add rcx, rax
cmp rcx, r15
je 0x14004b350
mov rdx, r14
shl rdx, 4
mov r8, qword [rdx + rbp - 0x20]
cmp r8, rax
jbe 0x14004b350
cmp r14, 2
je 0x14004b690
lea r11, [r14 - 3]
mov rcx, r11
shl rcx, 4
mov rcx, qword [rbp + rcx]
lea r9, [r8 + rax]
cmp rcx, r9
jbe 0x14004b366
cmp r14, 3
jbe 0x14004b69b
add r8, rcx
cmp qword [rdx + rbp - 0x40], r8
jbe 0x14004b366
jmp 0x14004b116
cmp r14, 2
je 0x14004b36b
lea r11, [r14 - 3]
mov rcx, r11
shl rcx, 4
mov rcx, qword [rbp + rcx]
cmp rcx, rax
jb 0x14004b36f
lea r11, [r14 - 2]
cmp r11, r14
jae case.0x1400497dd.1
lea r13, [r11 + 1]
mov qword [rsp + 0x118], r14
cmp r13, r14
jae case.0x1400497dd.1
mov rdx, r11
shl rdx, 4
mov rax, qword [rbp + rdx + 8]
shl r13, 4
mov rcx, qword [rbp + r13]
mov rsi, qword [rbp + r13 + 8]
add rsi, rcx
mov rdi, rsi
sub rdi, rax
jb case.0x1400497dd.1
cmp rsi, r15
ja case.0x1400497dd.1
mov qword [rsp + 0x1e8], rcx
mov qword [rsp + 0x1f8], r11
mov qword [rsp + 0x200], r10
mov qword [rsp + 0x1e0], rdx
mov r14, qword [rbp + rdx]
mov qword [rsp + 0x1f0], rax
mov rbp, rax
shl rbp, 4
add rbp, qword [rsp + 0x138]
mov rbx, r14
shl rbx, 4
lea r15, [rbx + rbp]
shl rsi, 4
mov r12, rdi
sub r12, r14
cmp r12, r14
jae 0x14004b4c0
mov rbx, r12
shl rbx, 4
mov rdi, qword [rsp + 0x140]
mov rcx, rdi
mov rdx, r15
mov r8, rbx
call sub.msvcrt.dll_memcpy
add rbx, rdi
test r14, r14
jle 0x14004b560
test r12, r12
jle 0x14004b560
add rsi, qword [rsp + 0x1b0]
mov r12, qword [rsp + 0x348]
nop dword [rax + rax]
mov rax, r15
mov rcx, rbx
mov rdx, qword [rbx - 0x10]
mov r8, qword [r15 - 0x10]
cmp rdx, r8
mov r15d, 0
sbb r15, r15
cmp rdx, r8
mov ebx, 0
adc rbx, 0xffffffffffffffff
shl r15, 4
add r15, rax
shl rbx, 4
add rbx, rcx
cmp rdx, r8
mov rax, rbx
cmovb rax, r15
movdqu xmm0, xmmword [rax]
movdqu xmmword [rsi], xmm0
cmp r15, rbp
jbe 0x14004b4b4
add rsi, 0xfffffffffffffff0
cmp rbx, rdi
ja 0x14004b460
mov rsi, r14
mov rbp, r15
jmp 0x14004b24f
mov r12, qword [rsp + 0x140]
mov rcx, r12
mov rdx, rbp
mov r8, rbx
call sub.msvcrt.dll_memcpy
add rbx, r12
test r14, r14
jle 0x14004b568
cmp rdi, r14
mov r12, qword [rsp + 0x348]
jle 0x14004b244
add rsi, qword [rsp + 0x138]
mov rdi, qword [rsp + 0x140]
mov rdx, rdi
nop word cs:[rax + rax]
mov r8, rdx
mov rcx, qword [r15]
xor edx, edx
xor eax, eax
cmp rcx, qword [r8]
setae dl
setb cl
mov r9, r8
cmovb r9, r15
movdqu xmm0, xmmword [r9]
movdqu xmmword [rbp], xmm0
add rbp, 0x10
shl edx, 4
add rdx, r8
cmp rdx, rbx
jae 0x14004b550
mov al, cl
shl eax, 4
add r15, rax
cmp r15, rsi
jb 0x14004b510
mov rsi, r14
jmp 0x14004b252
mov rsi, r14
mov rbp, r15
jmp 0x14004b573
mov rsi, r14
mov rdi, qword [rsp + 0x140]
mov rdx, rdi
mov r12, qword [rsp + 0x348]
jmp 0x14004b252
mov r10, qword [rcx + 0x10]
cmp r10, qword [rcx]
jae 0x14004b650
mov edx, 2
cmp rax, 2
je 0x14004b5da
mov r8, r15
sub r8, rsi
add r9, qword [rsp + 0x198]
nop word cs:[rax + rax]
mov r11, r10
mov r10, qword [r9]
cmp r10, r11
jae 0x14004b5da
inc rdx
add r9, 0x10
cmp r8, rdx
jne 0x14004b5c0
mov rdx, rax
mov rax, rdx
add rax, rsi
jb case.0x1400497dd.1
cmp rax, r15
ja case.0x1400497dd.1
mov r8d, 1
cmp rdx, 2
jb 0x14004b150
mov r8, rax
mov rax, rdx
shr rax, 1
mov rbx, r8
shl r8, 4
add r8, qword [rsp + 0x1b0]
mov r9, rcx
nop word [rax + rax]
mov r10, qword [r9]
mov r11d, dword [r9 + 8]
movdqu xmm0, xmmword [r8]
movdqu xmmword [r9], xmm0
mov qword [r8], r10
mov dword [r8 + 8], r11d
add r9, 0x10
add r8, 0xfffffffffffffff0
dec rax
jne 0x14004b620
mov r8, rdx
mov rax, rbx
jmp 0x14004b150
mov r8d, 2
cmp rax, 2
je 0x14004b14c
mov rdx, r15
sub rdx, rsi
add r9, qword [rsp + 0x198]
nop
mov r11, r10
mov r10, qword [r9]
cmp r10, r11
jb 0x14004b14c
inc r8
add r9, 0x10
cmp rdx, r8
jne 0x14004b670
jmp 0x14004b149
mov r14d, 2
jmp 0x14004b116
mov r14d, 3
jmp 0x14004b116
mov rcx, qword [0x141af8068]
xor edx, edx
mov r8, rbp
call sub.KERNEL32.dll_HeapFree
mov rcx, qword [0x141af8068]
xor edx, edx
mov r8, rdi
call sub.KERNEL32.dll_HeapFree
mov r10, qword [rsp + 0x30]
lea r8, [r15 + r10]
mov rax, qword [r12]
mov rsi, qword [r12 + 0x10]
sub rax, rsi
cmp rax, r8
mov r13, qword [rsp + 0x28]
jb 0x14004c58b
mov qword [rsp + 0x118], rsi
add r10, r13
xor r14d, r14d
xor r15d, r15d
mov rbp, r10
cmp r14, qword [rsp + 0x110]
jb 0x14004b7df
nop dword [rax]
cmp r13, r10
je 0x14004b9cd
movzx r8d, byte [r13]
test r8b, r8b
js 0x14004b740
inc r13
movzx edi, r8b
inc r15
jmp 0x14004b8a6
movzx eax, r8b
and eax, 0x1f
movzx r9d, byte [r13 + 1]
and r9d, 0x3f
cmp r8b, 0xdf
jbe 0x14004b7a7
movzx edx, byte [r13 + 2]
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp r8b, 0xf0
jb 0x14004b7b0
movzx edi, byte [r13 + 3]
and eax, 7
shl eax, 0x12
shl edx, 6
and edi, 0x3f
or edi, edx
or edi, eax
cmp edi, 0x110000
je 0x14004b9cd
add r13, 4
mov rcx, r13
mov r13, rcx
cmp edi, 0x110000
jne 0x14004b89b
jmp 0x14004b9cd
add r13, 2
jmp 0x14004b893
add r13, 3
jmp 0x14004b8cc
mov rax, qword [r12 + 8]
mov byte [rax + rsi], dil
inc rsi
mov qword [r12 + 0x10], rsi
cmp r14, qword [rsp + 0x110]
jae 0x14004b710
mov rax, r14
shl rax, 4
add rax, qword [rsp + 0x138]
cmp qword [rax], r15
jne 0x14004b810
inc r14
mov edi, dword [rax + 8]
inc r15
cmp edi, 0x80
jb 0x14004b8a6
jmp 0x14004b8e0
mov rcx, r13
mov r13, r10
cmp rcx, r10
je 0x14004b810
movzx r8d, byte [rcx]
test r8b, r8b
jns 0x14004b881
movzx eax, r8b
and eax, 0x1f
movzx r9d, byte [rcx + 1]
and r9d, 0x3f
cmp r8b, 0xe0
jb 0x14004b88c
movzx edx, byte [rcx + 2]
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp r8b, 0xf0
jb 0x14004b8c5
movzx edi, byte [rcx + 3]
add rcx, 4
and eax, 7
shl eax, 0x12
shl edx, 6
and edi, 0x3f
or edi, edx
or edi, eax
mov r13, rcx
cmp edi, 0x110000
je 0x14004b810
mov r13, rcx
cmp edi, 0x110000
jne 0x14004b89b
jmp 0x14004b9cd
inc rcx
mov r13, rcx
jmp 0x14004b726
add rcx, 2
mov r13, rcx
shl eax, 6
or eax, r9d
mov edi, eax
inc r15
cmp edi, 0x80
jae 0x14004b8e0
mov rsi, qword [r12 + 0x10]
cmp rsi, qword [r12]
jne 0x14004b7c0
mov rcx, r12
call fcn.14004e1c0
mov r10, rbp
jmp 0x14004b7c0
add rcx, 3
mov r13, rcx
shl eax, 0xc
or eax, edx
mov edi, eax
inc r15
cmp edi, 0x80
jb 0x14004b8a6
nop
mov dword [rsp + 0x38], 0
mov eax, edi
cmp edi, 0x800
jae 0x14004b910
shr eax, 6
or al, 0xc0
mov byte [rsp + 0x38], al
mov esi, 2
mov eax, 1
jmp 0x14004b967
cmp edi, 0x10000
jae 0x14004b93a
shr eax, 0xc
or al, 0xe0
mov byte [rsp + 0x38], al
mov eax, edi
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x39], al
mov esi, 3
mov eax, 2
jmp 0x14004b967
shr eax, 0x12
or al, 0xf0
mov byte [rsp + 0x38], al
mov eax, edi
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x39], al
mov eax, edi
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x3a], al
mov esi, 4
mov eax, 3
and dil, 0x3f
or dil, 0x80
mov byte [rsp + rax + 0x38], dil
mov rax, qword [r12]
mov rbx, qword [r12 + 0x10]
sub rax, rbx
cmp rax, rsi
jb 0x14004b9b8
mov rcx, qword [r12 + 8]
add rcx, rbx
lea rdx, [rsp + 0x38]
mov r8, rsi
call sub.msvcrt.dll_memcpy
add rbx, rsi
mov qword [r12 + 0x10], rbx
mov r10, rbp
cmp r14, qword [rsp + 0x110]
jae 0x14004b710
jmp 0x14004b7df
mov rcx, r12
mov rdx, rbx
mov r8, rsi
call fcn.140106b90
mov rbx, qword [r12 + 0x10]
jmp 0x14004b985
mov rsi, qword [r12 + 8]
mov rax, qword [r12 + 0x10]
mov r15, qword [rsp + 0x118]
test r15, r15
je 0x14004b9fc
cmp rax, r15
mov ebx, dword [rsp + 0x14c]
jbe 0x14004ba24
cmp byte [rsi + r15], 0xbf
jg 0x14004ba2a
jmp case.0x1400497dd.1
mov ebx, dword [rsp + 0x14c]
mov rbp, rax
sub rbp, r15
test bl, 1
je 0x14004ba3c
jmp 0x14004bcf9
mov r14, qword [rsp + 0x28]
xor eax, eax
mov qword [rsp + 0x30], rax
jmp 0x14004ad93
jne case.0x1400497dd.1
add rsi, r15
mov rbp, rax
sub rbp, r15
test bl, 1
jne 0x14004bcf9
cmp rax, r15
jne 0x14004bb6c
xor ebx, ebx
jmp 0x14004bcf9
movabs rcx, 0x8080808080808080
mov rdx, qword [rsp + 0x28]
jne case.0x1400497dd.1
mov r14, rax
add r14, rdx
mov rax, rbp
sub rbp, rax
cmp r11, 8
mov qword [rsp + 0x30], r11
jae 0x14004a95b
mov rax, qword [rsp + 0x28]
cmp byte [rax + r11 - 1], 0
js 0x14004a969
mov rcx, qword [rsp + 0x30]
mov rax, rcx
dec rax
je 0x14004ad93
mov rax, qword [rsp + 0x28]
cmp byte [rax + rcx - 2], 0
js 0x14004a969
mov rcx, qword [rsp + 0x30]
mov rax, rcx
add rax, 0xfffffffffffffffe
je 0x14004ad93
mov rax, qword [rsp + 0x28]
cmp byte [rax + rcx - 3], 0
js 0x14004a969
mov rcx, qword [rsp + 0x30]
mov rax, rcx
add rax, 0xfffffffffffffffd
je 0x14004ad93
mov rax, qword [rsp + 0x28]
cmp byte [rax + rcx - 4], 0
js 0x14004a969
mov rcx, qword [rsp + 0x30]
mov rax, rcx
add rax, 0xfffffffffffffffc
je 0x14004ad93
mov rax, qword [rsp + 0x28]
cmp byte [rax + rcx - 5], 0
js 0x14004a969
mov rcx, qword [rsp + 0x30]
mov rax, rcx
add rax, 0xfffffffffffffffb
je 0x14004ad93
mov rax, qword [rsp + 0x28]
cmp byte [rax + rcx - 6], 0
js 0x14004a969
mov rcx, qword [rsp + 0x30]
mov rax, rcx
add rax, 0xfffffffffffffffa
je 0x14004ad93
mov rax, qword [rsp + 0x28]
cmp byte [rax + rcx - 7], 0
js 0x14004a969
mov rax, qword [rsp + 0x30]
add rax, 0xfffffffffffffff9
je 0x14004ad93
jmp 0x14004a969
lea rcx, [rsi + rbp]
mov rdx, rsi
jmp 0x14004bb89
cmp rdx, rcx
je 0x14004ba45
movzx r8d, byte [rdx]
test r8b, r8b
js 0x14004bbb0
inc rdx
lea r9d, [r8 - 0x21]
cmp r9d, 0x5e
jb 0x14004bb80
jmp 0x14004bc60
mov r9d, r8d
and r9d, 0x1f
movzx r11d, byte [rdx + 1]
and r11d, 0x3f
cmp r8b, 0xdf
jbe 0x14004bc18
movzx r10d, byte [rdx + 2]
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
cmp r8b, 0xf0
jb 0x14004bc35
movzx r8d, byte [rdx + 3]
and r9d, 7
shl r9d, 0x12
shl r10d, 6
and r8d, 0x3f
or r8d, r10d
or r8d, r9d
cmp r8d, 0x110000
je 0x14004ba45
add rdx, 4
lea r9d, [r8 - 0x21]
cmp r9d, 0x5e
jb 0x14004bb80
jmp 0x14004bc60
add rdx, 2
shl r9d, 6
or r9d, r11d
mov r8d, r9d
lea r9d, [r8 - 0x21]
cmp r9d, 0x5e
jae 0x14004bc60
jmp 0x14004bb80
add rdx, 3
shl r9d, 0xc
or r10d, r9d
mov r8d, r10d
lea r9d, [r8 - 0x21]
cmp r9d, 0x5e
jb 0x14004bb80
nop word cs:[rax + rax]
mov r9d, 0x5a6
xor r11d, r11d
mov r10d, 0x5a6
jmp 0x14004bc93
cmp edi, r8d
cmova r10, r9
mov r9, r10
sub r9, r11
jbe 0x14004bb80
shr r9, 1
add r9, r11
lea rbx, [r9 + r9*2]
lea r14, [0x141a7bf94]
mov edi, dword [r14 + rbx*4]
mov r14d, dword [r14 + rbx*4 + 4]
cmp r14d, r8d
jb 0x14004bcb7
cmp edi, r8d
jbe 0x14004bcd0
cmp r14d, r8d
jae 0x14004bc80
mov r11, r9
inc r11
mov r9, r10
jmp 0x14004bc80
lea r8, [0x141a7bf94]
movzx r8d, byte [r8 + rbx*4 + 8]
cmp r8d, 0x11
ja 0x14004bb80
mov r9d, 0x20003
bt r9d, r8d
jae 0x14004bb80
mov bl, 1
movq xmm0, qword [rsp + 0xe0]
movzx ecx, byte [rsp + 0xe9]
pshufd xmm1, xmm0, 0x55
por xmm1, xmm0
movdqa xmm0, xmm1
psrld xmm0, 0x10
por xmm0, xmm1
movdqa xmm1, xmm0
psrlw xmm1, 8
por xmm1, xmm0
movd edx, xmm1
or dl, byte [rsp + 0xe8]
or cl, byte [rsp + 0xea]
or cl, dl
xor edi, edi
or cl, byte [rsp + 0xeb]
jne 0x14004a980
cmp rax, r15
je 0x14004c60d
lea rdi, [rsi + rbp]
xor edx, edx
xor ecx, ecx
mov rax, rsi
movzx r8d, byte [rax]
test r8b, r8b
js 0x14004bd75
inc rax
jmp 0x14004be10
mov r9d, r8d
and r9d, 0x1f
movzx r11d, byte [rax + 1]
and r11d, 0x3f
cmp r8b, 0xe0
jb 0x14004bdcf
movzx r10d, byte [rax + 2]
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
cmp r8b, 0xf0
jb 0x14004bddf
movzx r8d, byte [rax + 3]
and r9d, 7
shl r9d, 0x12
shl r10d, 6
and r8d, 0x3f
or r8d, r10d
or r8d, r9d
cmp r8d, 0x110000
je 0x14004c38e
add rax, 4
jmp 0x14004bded
add rax, 2
shl r9d, 6
or r9d, r11d
mov r8d, r9d
jmp 0x14004bded
add rax, 3
shl r9d, 0xc
or r10d, r9d
mov r8d, r10d
cmp r8d, 0x7f
jbe 0x14004be10
jmp 0x14004be9f
inc rax
cmp r8d, 0x80
jae 0x14004be9d
cmp rax, rdi
je 0x14004c38e
movzx r8d, byte [rax]
test r8b, r8b
jns 0x14004be00
mov edx, r8d
and edx, 0x1f
movzx r10d, byte [rax + 1]
and r10d, 0x3f
cmp r8b, 0xdf
jbe 0x14004be79
movzx r9d, byte [rax + 2]
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
cmp r8b, 0xf0
jb 0x14004be8b
movzx r8d, byte [rax + 3]
and edx, 7
shl edx, 0x12
shl r9d, 6
and r8d, 0x3f
or r8d, r9d
or r8d, edx
cmp r8d, 0x110000
je 0x14004c38e
add rax, 4
jmp 0x14004be03
add rax, 2
shl edx, 6
or edx, r10d
mov r8d, edx
jmp 0x14004be03
add rax, 3
shl edx, 0xc
or r9d, edx
mov r8d, r9d
jmp 0x14004be03
xor edx, edx
mov r9d, edx
imul edx, r8d, 0x9e3779b9
imul r10d, r8d, 0x31415926
xor edx, r10d
imul rdx, rdx, 0x39a
shr rdx, 0x20
lea r11, [0x141a8035c]
movzx edx, word [r11 + rdx*2]
add edx, r8d
imul edx, edx, 0x9e3779b9
xor edx, r10d
imul rdx, rdx, 0x39a
shr rdx, 0x20
lea r10, [0x141a80a90]
mov edx, dword [r10 + rdx*4]
mov r10d, edx
shr r10d, 8
cmp r10d, r8d
mov r10d, 0
cmovne edx, r10d
cmp r9b, dl
jbe 0x14004bf0d
test dl, dl
jne case.0x14004c0d3.3907
lea r9d, [r8 - 0x340]
cmp r9d, 4
ja 0x14004bf24
cmp r9d, 2
jne case.0x14004c0d3.3907
mov r9b, 2
cmp r8d, 0xd56
jg 0x14004bf91
cmp r8d, 0x9de
jg 0x14004bfd7
cmp r8d, 0x93b
jg 0x14004c102
lea r10d, [r8 - 0x30f]
cmp r10d, 0x36
ja 0x14004bf6b
movabs r11, 0x48020000001005
bt r11, r10
jb 0x14004c380
lea r10d, [r8 - 0x374]
cmp r10d, 0x13
ja case.0x14004c0d3.3908
mov r11d, 0x80401
bt r11d, r10d
jb case.0x14004c0d3.3907
jmp case.0x14004c0d3.3908
cmp r8d, 0x11126
jg 0x14004c041
cmp r8d, 0x102d
jle 0x14004c08a
cmp r8d, 0x1f70
jg 0x14004c15a
cmp r8d, 0x102e
je 0x14004c380
cmp r8d, 0x1b35
je 0x14004c380
jmp case.0x14004c0d3.3908
cmp r8d, 0xbd6
jg 0x14004c0d6
cmp r8d, 0xbbd
jg 0x14004c1fd
lea r10d, [r8 - 0xb3e]
cmp r10d, 0x19
ja 0x14004c00e
mov r11d, 0x3000001
bt r11d, r10d
jb 0x14004c380
lea r10d, [r8 - 0xa33]
cmp r10d, 0x2b
ja 0x14004c02f
movabs r11, 0x80000000009
bt r11, r10
jb case.0x14004c0d3.3907
cmp r8d, 0x9df
jne case.0x14004c0d3.3908
jmp case.0x14004c0d3.3907
cmp r8d, 0x114af
jle 0x14004c12e
lea r10d, [r8 - 0x114b0]
cmp r10d, 0xd
ja 0x14004c06b
mov r11d, 0x2401
bt r11d, r10d
jb 0x14004c380
cmp r8d, 0x115af
je 0x14004c380
cmp r8d, 0x11930
je 0x14004c380
jmp case.0x14004c0d3.3908
lea r10d, [r8 - 0xdca]
cmp r10d, 0x15
ja 0x14004c0a7
mov r11d, 0x200021
bt r11d, r10d
jb 0x14004c380
cmp r8d, 0xd57
je 0x14004c380
lea r10d, [r8 - 0xf43]
cmp r10d, 0x76
ja case.0x14004c0d3.3908
lea r11, [0x140214290]
movsxd r10, dword [r11 + r10*4]
add r10, r11
jmp r10
cmp r8d, 0xcc1
jg 0x14004c1b7
cmp r8d, 0xbd7
je 0x14004c380
cmp r8d, 0xc56
je 0x14004c380
jmp case.0x14004c0d3.3908
cmp r8d, 0x93c
je 0x14004c380
cmp r8d, 0x9be
je 0x14004c380
cmp r8d, 0x9d7
je 0x14004c380
jmp case.0x14004c0d3.3908
cmp r8d, 0x11127
je 0x14004c380
cmp r8d, 0x1133e
je 0x14004c380
cmp r8d, 0x11357
je 0x14004c380
jmp case.0x14004c0d3.3908
cmp r8d, 0xfa0f
jle 0x14004c1d3
cmp r8d, 0x110ba
je 0x14004c380
lea r10d, [r8 - 0xfa10]
cmp r10d, 0x12
ja 0x14004c18d
mov r11d, 0x50005
bt r11d, r10d
jb case.0x14004c0d3.3907
lea r10d, [r8 - 0xfb1d]
cmp r10d, 0x21
ja case.0x14004c0d3.3908
movabs r11, 0x200000005
bt r11, r10
jb case.0x14004c0d3.3907
jmp case.0x14004c0d3.3908
cmp r8d, 0xcc2
je 0x14004c380
cmp r8d, 0xd3e
je 0x14004c380
jmp case.0x14004c0d3.3908
cmp r8d, 0x2125
jg 0x14004c20c
lea r10d, [r8 - 0x1f71]
cmp r10d, 0x8c
ja case.0x14004c0d3.3908
lea r11, [0x14021446c]
movsxd r10, dword [r11 + r10*4]
add r10, r11
jmp r10
cmp r8d, 0xbbe
je 0x14004c380
jmp case.0x14004c0d3.3908
lea r10d, [r8 - 0x2329]
cmp r10d, 2
jb case.0x14004c0d3.3907
cmp r8d, 0x2126
je case.0x14004c0d3.3907
cmp r8d, 0x2adc
je case.0x14004c0d3.3907
movd xmm1, r8d
pshufd xmm0, xmm1, 0
movdqa xmm2, xmm0
paddd xmm2, xmmword [0x1402141d0]
movdqa xmm3, xmm0
paddd xmm3, xmmword [0x1402141e0]
pxor xmm3, xmm14
pcmpgtd xmm3, xmmword [0x140214230]
pxor xmm2, xmm14
pcmpgtd xmm2, xmm10
packssdw xmm2, xmm3
packsswb xmm2, xmm2
pmovmskb r10d, xmm2
xor r10b, 0xff
jne case.0x14004c0d3.3907
pshufd xmm1, xmm1, 0x50
pand xmm1, xmmword [0x1402141c0]
pshufd xmm2, xmm1, 4
pcmpeqd xmm2, xmmword [0x1402141f0]
movdqa xmm3, xmm0
paddd xmm3, xmmword [0x140214200]
pxor xmm3, xmm14
movdqa xmm4, xmm15
pcmpgtd xmm4, xmm3
por xmm4, xmm2
movmskps r10d, xmm4
test r10b, r10b
jne case.0x14004c0d3.3907
lea r10d, [r8 - 0x1d1bb]
cmp r10d, 6
jb case.0x14004c0d3.3907
lea r10d, [r8 - 0x2f800]
cmp r10d, 0x21e
jb case.0x14004c0d3.3907
movd r10d, xmm1
cmp r10d, 0x2000
je case.0x14004c0d3.3907
cmp r10d, 0x212a
je case.0x14004c0d3.3907
cmp r10d, 0xfb40
je case.0x14004c0d3.3907
movdqa xmm1, xmm0
paddd xmm1, xmm11
paddd xmm0, xmm12
pxor xmm0, xmm14
pcmpgtd xmm0, xmm13
pxor xmm1, xmm14
pcmpgtd xmm1, xmm9
packssdw xmm0, xmm1
packsswb xmm0, xmm0
pmovmskb r11d, xmm0
xor r11b, 0xff
jne 0x14004c380
lea r11d, [r8 - 0x11a8]
cmp r11d, 0x1b
jb 0x14004c380
cmp r10d, 0x330
je 0x14004c380
add r8d, 0xffffcf67
cmp r8d, 2
movzx r9d, cl
mov ecx, 2
cmovb r9d, ecx
mov ecx, r9d
cmp rax, rdi
jne 0x14004bd64
jmp 0x14004c391
mov r9d, ecx
test r9b, r9b
je 0x14004c60d
movzx eax, r9b
cmp eax, 1
je case.0x14004c0d3.3907
mov r13d, ebx
lea rcx, [rsp + 0x80]
movups xmmword [rcx], xmm8
mov byte [rcx + 0x10], 0
lea rax, [rsp + 0xf2]
movups xmmword [rax], xmm8
mov qword [rsp + 0x38], 0
mov dword [rsp + 0x48], 0
mov word [rsp + 0x4c], 0
mov byte [rsp + 0x50], 0
mov dword [rsp + 0x54], 0
mov byte [rsp + 0x58], 0
mov dword [rsp + 0x5c], 0
mov byte [rsp + 0x60], 0
mov dword [rsp + 0x64], 0
mov byte [rsp + 0x68], 0
mov dword [rsp + 0x6c], 0
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x78], rdi
mov dword [rsp + 0x98], 0
mov word [rsp + 0x9c], 0
movzx eax, word [rsp + 0x100]
mov word [rcx + 0x2e], ax
movdqu xmm0, xmmword [rsp + 0xf0]
movdqu xmmword [rcx + 0x1e], xmm0
mov dword [rsp + 0xb8], 0x110000
mov byte [rsp + 0xbc], 0
mov rbx, rsi
nop word cs:[rax + rax]
cmp rbx, rdi
je 0x14004c5a5
movzx r14d, byte [rbx]
test r14b, r14b
js 0x14004c487
inc rbx
jmp 0x14004c500
mov eax, r14d
and eax, 0x1f
movzx edx, byte [rbx + 1]
and edx, 0x3f
cmp r14b, 0xdf
jbe 0x14004c4d7
movzx ecx, byte [rbx + 2]
shl edx, 6
and ecx, 0x3f
or ecx, edx
cmp r14b, 0xf0
jb 0x14004c4e5
movzx r14d, byte [rbx + 3]
and eax, 7
shl eax, 0x12
shl ecx, 6
and r14d, 0x3f
or r14d, ecx
or r14d, eax
cmp r14d, 0x110000
je 0x14004c5a5
add rbx, 4
jmp 0x14004c500
add rbx, 2
shl eax, 6
or eax, edx
mov r14d, eax
jmp 0x14004c500
add rbx, 3
shl eax, 0xc
or ecx, eax
mov r14d, ecx
nop word cs:[rax + rax]
lea rcx, [rsp + 0x38]
call fcn.14004d680
xor r15d, r15d
cmp eax, 0x110000
je 0x14004c5b8
cmp eax, r14d
je 0x14004c470
jmp 0x14004c5b8
mov r8, qword [rsp + 0x28]
lea rax, [r8 + 7]
and rax, 0xfffffffffffffff8
sub rax, r8
mov ecx, 8
cmove rax, rcx
mov rcx, qword [rsp + 0x30]
add rcx, 0xfffffffffffffff8
cmp rax, rcx
jae 0x14004c572
nop dword [rax]
movabs rdx, 0x8080808080808080
test qword [r8 + rax], rdx
jne 0x14004a969
add rax, 8
cmp rax, rcx
mov r8, qword [rsp + 0x28]
jb 0x14004c550
movabs rax, 0x8080808080808080
test qword [r8 + rcx], rax
jne 0x14004a969
jmp 0x14004ad93
mov rcx, r12
mov rdx, rsi
call fcn.140106b90
mov r13, qword [rsp + 0x28]
mov r10, qword [rsp + 0x30]
jmp 0x14004b6eb
lea rcx, [rsp + 0x38]
call fcn.14004d680
cmp eax, 0x110000
sete r15b
cmp dword [rsp + 0x48], 0
je 0x14004c5da
cmp qword [rsp + 0x50], 0
je 0x14004c5da
mov r8, qword [rsp + 0x58]
mov rcx, qword [0x141af8068]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
cmp dword [rsp + 0x98], 0
je 0x14004c605
cmp qword [rsp + 0xa0], 0
je 0x14004c605
mov r8, qword [rsp + 0xa8]
mov rcx, qword [0x141af8068]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
test r15b, r15b
mov ebx, r13d
je case.0x14004c0d3.3907
mov rcx, rsi
mov rdx, rbp
mov r8, qword [rsp + 0x1a0]
lea r9, [rsp + 0xe0]
call fcn.14004cee0
xor edi, edi
jmp 0x14004a980
mov byte [rsp + 0xe5], 1
xor edi, edi
jmp 0x14004a980
mov rcx, qword [r12 + 8]
mov rax, qword [r12 + 0x10]
mov rdx, qword [rsp + 0x1c0]
test rdx, rdx
je 0x14004c669
cmp rax, rdx
jbe 0x14004c672
cmp byte [rcx + rdx], 0xbf
lea r13, [0x141a7bf94]
jg 0x14004c67b
ud2
lea r13, [0x141a7bf94]
jmp 0x14004c67e
lea r13, [0x141a7bf94]
jne case.0x1400497dd.1
add rcx, rdx
sub rax, rdx
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 0
mov qword [rsp + 0x60], rax
movabs rax, 0x2e0000002e
mov qword [rsp + 0x68], rax
mov byte [rsp + 0x70], 1
mov word [rsp + 0x78], 1
lea rsi, [rsp + 0x38]
test bl, 1
jne 0x14004c6e2
nop dword [rax]
mov rcx, rsi
call fcn.140186290
test rax, rax
jne 0x14004c6d0
jmp 0x14004ce32
mov ebx, 0x260d9
mov ebp, 0x62f8
mov rcx, rsi
call fcn.140186290
test rax, rax
je 0x14004ce32
test rdx, rdx
je 0x14004c6ec
movzx r8d, byte [rax]
test r8b, r8b
js 0x14004c720
lea rcx, [rax + 1]
jmp 0x14004c7a0
mov r9d, r8d
and r9d, 0x1f
movzx r11d, byte [rax + 1]
and r11d, 0x3f
cmp r8b, 0xdf
jbe 0x14004c77a
movzx r10d, byte [rax + 2]
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
cmp r8b, 0xf0
jb 0x14004c78a
movzx r8d, byte [rax + 3]
and r9d, 7
shl r9d, 0x12
shl r10d, 6
and r8d, 0x3f
or r8d, r10d
or r8d, r9d
cmp r8d, 0x110000
je 0x14004c6ec
lea rcx, [rax + 4]
jmp 0x14004c7a0
lea rcx, [rax + 2]
shl r9d, 6
or r9d, r11d
mov r8d, r9d
jmp 0x14004c7a0
lea rcx, [rax + 3]
shl r9d, 0xc
or r10d, r9d
mov r8d, r10d
nop dword [rax + rax]
add rdx, rax
mov r9d, 0x5a6
xor r11d, r11d
mov r10d, 0x5a6
jmp 0x14004c7cf
cmp r14d, r8d
cmova r10, r9
mov r9, r10
sub r9, r11
jbe 0x14004c830
shr r9, 1
add r9, r11
lea r15, [r9 + r9*2]
mov r14d, dword [r13 + r15*4]
mov r12d, dword [r13 + r15*4 + 4]
cmp r12d, r8d
jb 0x14004c7ed
cmp r14d, r8d
jbe 0x14004c800
cmp r12d, r8d
jae 0x14004c7c0
mov r11, r9
inc r11
mov r9, r10
jmp 0x14004c7c0
movzx r8d, byte [r13 + r15*4 + 8]
test r8d, r8d
je 0x14004c974
cmp r8d, 0x11
je 0x14004c974
cmp r8d, 9
jne 0x14004ce2a
nop word cs:[rax + rax]
cmp rcx, rdx
je 0x14004c960
movzx r8d, byte [rcx]
test r8b, r8b
js 0x14004c850
inc rcx
jmp 0x14004c8d0
mov r9d, r8d
and r9d, 0x1f
movzx r11d, byte [rcx + 1]
and r11d, 0x3f
cmp r8b, 0xdf
jbe 0x14004c8aa
movzx r10d, byte [rcx + 2]
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
cmp r8b, 0xf0
jb 0x14004c8ba
movzx r8d, byte [rcx + 3]
and r9d, 7
shl r9d, 0x12
shl r10d, 6
and r8d, 0x3f
or r8d, r10d
or r8d, r9d
cmp r8d, 0x110000
je 0x14004c960
add rcx, 4
jmp 0x14004c8d0
add rcx, 2
shl r9d, 6
or r9d, r11d
mov r8d, r9d
jmp 0x14004c8d0
add rcx, 3
shl r9d, 0xc
or r10d, r9d
mov r8d, r10d
nop dword [rax + rax]
mov r9d, 0x5a6
xor r11d, r11d
mov r10d, 0x5a6
jmp 0x14004c903
cmp r14d, r8d
cmova r10, r9
mov r9, r10
sub r9, r11
jbe 0x14004c830
shr r9, 1
add r9, r11
lea r15, [r9 + r9*2]
mov r14d, dword [r13 + r15*4]
mov r12d, dword [r13 + r15*4 + 4]
cmp r12d, r8d
jb 0x14004c921
cmp r14d, r8d
jbe 0x14004c940
cmp r12d, r8d
jae 0x14004c8f0
mov r11, r9
inc r11
mov r9, r10
jmp 0x14004c8f0
movzx r8d, byte [r13 + r15*4 + 8]
cmp r8d, 0xe
ja 0x14004ce2a
bt ebp, r8d
jb 0x14004c830
jmp 0x14004ce2a
movzx ecx, byte [rdx - 1]
test cl, cl
js 0x14004cb5f
dec rdx
jmp 0x14004cbc3
cmp rcx, rdx
je 0x14004cac5
xor r8d, r8d
xor r9d, r9d
movzx r10d, byte [rcx]
test r10b, r10b
js 0x14004c991
inc rcx
jmp 0x14004ca10
mov r11d, r10d
and r11d, 0x1f
movzx r15d, byte [rcx + 1]
and r15d, 0x3f
cmp r10b, 0xdf
jbe 0x14004c9eb
movzx r14d, byte [rcx + 2]
shl r15d, 6
and r14d, 0x3f
or r14d, r15d
cmp r10b, 0xf0
jb 0x14004c9fb
movzx r10d, byte [rcx + 3]
and r11d, 7
shl r11d, 0x12
shl r14d, 6
and r10d, 0x3f
or r10d, r14d
or r10d, r11d
cmp r10d, 0x110000
je 0x14004cad9
add rcx, 4
jmp 0x14004ca10
add rcx, 2
shl r11d, 6
or r11d, r15d
mov r10d, r11d
jmp 0x14004ca10
add rcx, 3
shl r11d, 0xc
or r14d, r11d
mov r10d, r14d
nop dword [rax]
mov r11d, 0x5a6
xor r15d, r15d
mov r14d, 0x5a6
jmp 0x14004ca4a
lea r13, [0x141a7bf94]
cmp r12d, r10d
cmova r14, r11
mov r11, r14
sub r11, r15
jbe 0x14004ce2a
shr r11, 1
add r11, r15
mov rdi, r13
lea r13, [r11 + r11*2]
mov r12d, dword [rdi + r13*4]
mov edi, dword [rdi + r13*4 + 4]
cmp edi, r10d
jb 0x14004ca6a
cmp r12d, r10d
jbe 0x14004ca80
cmp edi, r10d
jae 0x14004ca30
mov r15, r11
inc r15
mov r11, r14
jmp 0x14004ca30
lea r11, [0x141a7bf94]
movzx r10d, byte [r11 + r13*4 + 8]
cmp r10d, 0x11
ja 0x14004ce2a
mov r13, r11
bt ebx, r10d
jae 0x14004caab
cmp rcx, rdx
jne 0x14004c983
jmp 0x14004cad9
cmp r10d, 1
je 0x14004cac0
cmp r10d, 5
jne 0x14004ce2a
mov r9b, 1
jmp 0x14004caa0
mov r8b, 1
jmp 0x14004caa0
mov cl, 1
movzx r8d, byte [rdx - 1]
test r8b, r8b
js 0x14004caf5
dec rdx
jmp 0x14004cd30
test r8b, 1
sete r8b
test r9b, 1
sete cl
or cl, r8b
movzx r8d, byte [rdx - 1]
test r8b, r8b
jns 0x14004cad1
movzx r9d, byte [rdx - 2]
cmp r9b, 0xc0
jge 0x14004cb25
movzx r10d, byte [rdx - 3]
cmp r10b, 0xc0
jge 0x14004cb2f
movzx r11d, byte [rdx - 4]
add rdx, 0xfffffffffffffffc
and r11d, 7
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
jmp 0x14004cb37
add rdx, 0xfffffffffffffffe
and r9d, 0x1f
jmp 0x14004cb42
add rdx, 0xfffffffffffffffd
and r10d, 0xf
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
shl r9d, 6
and r8d, 0x3f
or r8d, r9d
cmp r8d, 0x110000
jne 0x14004cd30
jmp 0x14004ce2a
movzx r8d, byte [rdx - 2]
cmp r8b, 0xc0
jge 0x14004cb90
movzx r9d, byte [rdx - 3]
cmp r9b, 0xc0
jge 0x14004cb9a
movzx r10d, byte [rdx - 4]
add rdx, 0xfffffffffffffffc
and r10d, 7
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
jmp 0x14004cba2
add rdx, 0xfffffffffffffffe
and r8d, 0x1f
jmp 0x14004cbad
add rdx, 0xfffffffffffffffd
and r9d, 0xf
shl r9d, 6
and r8d, 0x3f
or r8d, r9d
shl r8d, 6
and ecx, 0x3f
or ecx, r8d
cmp ecx, 0x110000
je 0x14004c6ec
mov r8d, 0x5a6
xor r10d, r10d
mov r9d, 0x5a6
jmp 0x14004cbef
cmp r11d, ecx
cmova r9, r8
mov r8, r9
sub r8, r10
jbe 0x14004cc60
shr r8, 1
add r8, r10
lea r14, [r8 + r8*2]
mov r11d, dword [r13 + r14*4]
mov r15d, dword [r13 + r14*4 + 4]
cmp r15d, ecx
jb 0x14004cc0d
cmp r11d, ecx
jbe 0x14004cc20
cmp r15d, ecx
jae 0x14004cbe0
mov r10, r8
inc r10
mov r8, r9
jmp 0x14004cbe0
cmp byte [r13 + r14*4 + 8], 0xd
jne 0x14004cc60
cmp rdx, rax
je 0x14004c6ec
movzx ecx, byte [rdx - 1]
test cl, cl
js 0x14004cb5f
dec rdx
cmp ecx, 0x110000
jne 0x14004cbc3
jmp 0x14004c6ec
mov eax, 0x5a6
xor r8d, r8d
mov edx, 0x5a6
jmp 0x14004cc83
cmp r9d, ecx
cmova rdx, rax
mov rax, rdx
sub rax, r8
jbe 0x14004c6ec
shr rax, 1
add rax, r8
lea r10, [rax + rax*2]
mov r9d, dword [r13 + r10*4]
mov r11d, dword [r13 + r10*4 + 4]
cmp r11d, ecx
jb 0x14004cca1
cmp r9d, ecx
jbe 0x14004ccb1
cmp r11d, ecx
jae 0x14004cc70
mov r8, rax
inc r8
mov rax, rdx
jmp 0x14004cc70
cmp byte [r13 + r10*4 + 8], 9
je 0x14004c6ec
mov eax, 0x5a6
xor r8d, r8d
mov edx, 0x5a6
jmp 0x14004cce3
cmp r9d, ecx
cmova rdx, rax
mov rax, rdx
sub rax, r8
jbe 0x14004ce2a
shr rax, 1
add rax, r8
lea r10, [rax + rax*2]
mov r9d, dword [r13 + r10*4]
mov r11d, dword [r13 + r10*4 + 4]
cmp r11d, ecx
jb 0x14004cd01
cmp r9d, ecx
jbe 0x14004cd11
cmp r11d, ecx
jae 0x14004ccd0
mov r8, rax
inc r8
mov rax, rdx
jmp 0x14004ccd0
cmp byte [r13 + r10*4 + 8], 5
je 0x14004c6ec
jmp 0x14004ce2a
mov r9d, 0x5a6
xor r11d, r11d
mov r10d, 0x5a6
jmp 0x14004cd5f
cmp r14d, r8d
cmova r10, r9
mov r9, r10
sub r9, r11
jbe 0x14004cdbe
shr r9, 1
add r9, r11
lea r15, [r9 + r9*2]
mov r14d, dword [r13 + r15*4]
mov edi, dword [r13 + r15*4 + 4]
cmp edi, r8d
jb 0x14004cd7d
cmp r14d, r8d
jbe 0x14004cd8d
cmp edi, r8d
jae 0x14004cd50
mov r11, r9
inc r11
mov r9, r10
jmp 0x14004cd50
cmp byte [r13 + r15*4 + 8], 0xd
jne 0x14004cdbe
cmp rdx, rax
je 0x14004ce2a
movzx r8d, byte [rdx - 1]
test r8b, r8b
js 0x14004caf5
dec rdx
cmp r8d, 0x110000
jne 0x14004cd30
jmp 0x14004ce2a
mov eax, 0x5a6
xor r9d, r9d
mov edx, 0x5a6
jmp 0x14004cddf
cmp r10d, r8d
cmova rdx, rax
mov rax, rdx
sub rax, r9
jbe 0x14004ce2a
shr rax, 1
add rax, r9
lea r11, [rax + rax*2]
mov r10d, dword [r13 + r11*4]
mov edi, dword [r13 + r11*4 + 4]
cmp edi, r8d
jb 0x14004cdfd
cmp r10d, r8d
jbe 0x14004ce0d
cmp edi, r8d
jae 0x14004cdd0
mov r9, rax
inc r9
mov rax, rdx
jmp 0x14004cdd0
movzx eax, byte [r13 + r11*4 + 8]
cmp eax, 0x11
ja 0x14004ce2a
mov edx, 0x20023
bt edx, eax
jae 0x14004ce2a
test cl, cl
jne 0x14004c6ec
mov byte [rsp + 0xe2], 1
mov eax, dword [rsp + 0xe8]
mov rcx, qword [rsp + 0x1b8]
mov dword [rcx + 8], eax
mov rax, qword [rsp + 0xe0]
mov qword [rcx], rax
cmp qword [rsp + 0x120], 0
je 0x14004ce70
mov r8, qword [rsp + 0x128]
mov rcx, qword [0x141af8068]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
movaps xmm6, xmmword [rsp + 0x230]
movaps xmm7, xmmword [rsp + 0x240]
movaps xmm8, xmmword [rsp + 0x250]
movaps xmm9, xmmword [rsp + 0x260]
movaps xmm10, xmmword [rsp + 0x270]
movaps xmm11, xmmword [rsp + 0x280]
movaps xmm12, xmmword [rsp + 0x290]
movaps xmm13, xmmword [rsp + 0x2a0]
movaps xmm14, xmmword [rsp + 0x2b0]
movaps xmm15, xmmword [rsp + 0x2c0]
add rsp, 0x2d8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret