Function at 0x140056d80
Capabilities:
Access peb ldr_data
Encode data using xor
Get ntdll base address
Hash data using fnv
Resolve function by fnv-1a hash
Resolve function by parsing pe exports

Disassembly:
mov rax, rsp
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x108]
sub rsp, 0x1c8
movaps xmmword [rax - 0x58], xmm6
movaps xmmword [rax - 0x68], xmm7
movaps xmmword [rax - 0x78], xmm8
movaps xmmword [rax - 0x88], xmm9
movaps xmmword [rax - 0x98], xmm10
movaps xmmword [rax - 0xa8], xmm11
xorps xmm0, xmm0
movups xmmword [rbp + 0x40], xmm0
lea rcx, [rbp + 0x108]
movabs rdx, 0xff00ff00ff00ff00
mov qword [rbp + 0x48], rdx
mov qword [rbp + 0x50], rcx
mov rax, qword [rcx]
xor rax, rdx
mov qword [rbp + 0x40], rax
xor esi, esi
mov qword [rcx], rsi
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x140056e86
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140056e86
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
mov r8d, 0x811c9dc5
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140056e81
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x140056e60
cmp r8d, 0x53b2070f
je 0x140056e8b
test r9d, r9d
jne 0x140056e40
mov rax, qword [rax]
jmp 0x140056e10
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov edx, dword [rcx + rax*4]
add rdx, r10
movsd xmm0, qword [str._ERJ_n_b]
movsd qword [rsp + 0x48], xmm0
movzx ecx, word [0x1400c8a60]
mov word [rsp + 0x50], cx
movzx eax, byte [0x1400c8a62]
mov byte [rsp + 0x48], 0x75
xor byte [rsp + 0x49], 0x36
xor byte [rsp + 0x4a], 0x37
xor byte [rsp + 0x4b], 0x38
xor byte [rsp + 0x4c], 0x39
xor byte [rsp + 0x4d], 0x3a
xor byte [rsp + 0x4e], 0x3b
xor byte [rsp + 0x4f], 0x3c
xor cl, 0x3d
mov byte [rsp + 0x50], cl
xor byte [rsp + 0x51], 0x3e
xor al, 0x3f
mov byte [rsp + 0x52], al
lea rcx, [rsp + 0x48]
call rdx
mov r15, rax
mov qword [rbp + 0x110], rax
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
nop
mov r10, qword [rcx + 0x30]
movsxd rdx, dword [r10 + 0x3c]
mov edi, dword [rdx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x140056f96
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140056f96
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rax, [rbx + r9*4]
mov edx, dword [rax + r10]
add rdx, r10
mov r8d, 0x811c9dc5
movzx eax, byte [rdx]
inc rdx
test al, al
je 0x140056f91
nop
movsx eax, al
xor eax, r8d
imul r8d, eax, 0x1000193
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
test al, al
jne 0x140056f70
cmp r8d, 0x53b2070f
je 0x140056f9b
test r9d, r9d
jne 0x140056f50
mov rcx, qword [rcx]
jmp 0x140056f20
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov r11d, dword [rcx + rax*4]
add r11, r10
movsd xmm0, qword [str.SEVV_b]
movsd qword [rbp - 0x68], xmm0
mov eax, dword [0x1400c8a70]
mov dword [rbp - 0x60], eax
movzx eax, byte [0x1400c8a74]
mov byte [rbp - 0x5c], al
mov r8d, esi
movdqa xmm8, xmmword [0x1400c9700]
movdqa xmm11, xmmword [0x1400c96e0]
movdqa xmm7, xmmword [0x1400c7530]
movdqa xmm10, xmmword [0x1400c9710]
movdqa xmm9, xmmword [0x1400c96f0]
movdqa xmm6, xmmword [0x1400c97b0]
mov r14d, dword [reloc.WS2_32.dll_accept]
cmp r14d, 2
jl 0x1400570e1
movdqa xmm1, xmm7
punpckldq xmm1, xmm7
pmuldq xmm1, xmm6
movdqa xmm0, xmm7
punpckhdq xmm0, xmm7
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
movdqa xmm1, xmm7
psubd xmm1, xmm0
andps xmm1, xmm8
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm10
movd xmm0, dword [str.SEVV_b]
xorps xmm1, xmm0
movd dword [rbp - 0x68], xmm1
movdqa xmm1, xmm11
punpckldq xmm1, xmm11
pmuldq xmm1, xmm6
movdqa xmm0, xmm11
punpckhdq xmm0, xmm11
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
movdqa xmm1, xmm11
psubd xmm1, xmm0
andps xmm1, xmm8
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm10
movd xmm0, dword [rbp - 0x64]
xorps xmm1, xmm0
movd dword [rbp - 0x64], xmm1
mov r8d, 8
movsxd rax, r8d
lea r9, [rbp - 0x68]
add r9, rax
nop dword [rax + rax]
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x35
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0xd
jl 0x1400570f0
lea rcx, [rbp - 0x68]
call r11
mov r12, rax
mov qword [rbp + 0x30], rax
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
nop
mov r10, qword [rcx + 0x30]
movsxd rdx, dword [r10 + 0x3c]
mov edi, dword [rdx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x1400571b6
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1400571b6
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rax, [rbx + r9*4]
mov edx, dword [rax + r10]
add rdx, r10
mov r8d, 0x811c9dc5
movzx eax, byte [rdx]
inc rdx
test al, al
je 0x1400571b1
nop
movsx eax, al
xor eax, r8d
imul r8d, eax, 0x1000193
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
test al, al
jne 0x140057190
cmp r8d, 0x53b2070f
je 0x1400571bb
test r9d, r9d
jne 0x140057170
mov rcx, qword [rcx]
jmp 0x140057140
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov edx, dword [rcx + rax*4]
add rdx, r10
movsd xmm0, qword [0x1400c8a78]
movsd qword [rsp + 0x58], xmm0
movzx ecx, word [0x1400c8a80]
mov word [rsp + 0x60], cx
movzx eax, byte [0x1400c8a82]
mov byte [rsp + 0x58], 0x77
xor byte [rsp + 0x59], 0x36
xor byte [rsp + 0x5a], 0x37
xor byte [rsp + 0x5b], 0x38
xor byte [rsp + 0x5c], 0x39
xor byte [rsp + 0x5d], 0x3a
xor byte [rsp + 0x5e], 0x3b
xor byte [rsp + 0x5f], 0x3c
xor cl, 0x3d
mov byte [rsp + 0x60], cl
xor byte [rsp + 0x61], 0x3e
xor al, 0x3f
mov byte [rsp + 0x62], al
lea rcx, [rsp + 0x58]
call rdx
mov qword [rbp + 0x118], rax
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
nop dword [rax]
mov r10, qword [rcx + 0x30]
movsxd rdx, dword [r10 + 0x3c]
mov edi, dword [rdx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x1400572c6
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1400572c6
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rax, [rbx + r9*4]
mov edx, dword [rax + r10]
add rdx, r10
mov r8d, 0x811c9dc5
movzx eax, byte [rdx]
inc rdx
test al, al
je 0x1400572c1
nop
movsx eax, al
xor eax, r8d
imul r8d, eax, 0x1000193
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
test al, al
jne 0x1400572a0
cmp r8d, 0x53b2070f
je 0x1400572cb
test r9d, r9d
jne 0x140057280
mov rcx, qword [rcx]
jmp 0x140057250
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov edx, dword [rcx + rax*4]
add rdx, r10
movsd xmm0, qword [str.QAZYIS]
movsd qword [rsp + 0x68], xmm0
movzx ecx, word [0x1400c8a90]
mov word [rsp + 0x70], cx
movzx eax, byte [0x1400c8a92]
mov byte [rsp + 0x68], 0x64
xor byte [rsp + 0x69], 0x36
xor byte [rsp + 0x6a], 0x37
xor byte [rsp + 0x6b], 0x38
xor byte [rsp + 0x6c], 0x39
xor byte [rsp + 0x6d], 0x3a
xor byte [rsp + 0x6e], 0x3b
xor byte [rsp + 0x6f], 0x3c
xor cl, 0x3d
mov byte [rsp + 0x70], cl
xor byte [rsp + 0x71], 0x3e
xor al, 0x3f
mov byte [rsp + 0x72], al
lea rcx, [rsp + 0x68]
call rdx
mov r13, rax
mov qword [rbp + 0x38], rax
cmp qword [rbp + 0x118], 0
je 0x14005ac79
test r15, r15
je 0x14005ac79
test rax, rax
je 0x14005ac79
test r12, r12
je 0x14005ac79
mov rcx, qword gs:[0x60]
mov rax, qword [rcx + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x140057406
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140057406
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
mov r8d, 0x811c9dc5
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140057401
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x1400573e0
cmp r8d, 0xf8f45725
je 0x14005740b
test r9d, r9d
jne 0x1400573c0
mov rax, qword [rax]
jmp 0x140057390
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov r11d, dword [rcx + rax*4]
add r11, r10
movups xmm0, xmmword [0x1400c8a98]
movups xmmword [rsp + 0x30], xmm0
mov eax, dword [0x1400c8aa8]
mov dword [rsp + 0x40], eax
movzx eax, word [0x1400c8aac]
mov word [rsp + 0x44], ax
movzx eax, byte [0x1400c8aae]
mov byte [rsp + 0x46], al
mov r8d, esi
cmp r14d, 2
jl 0x14005755b
movdqa xmmword [rsp + 0x20], xmm10
lea rcx, [rsp + 0x34]
mov edx, dword [rsp + 0x20]
nop dword [rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm7
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm2, xmm0
andps xmm2, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r8 + 4]
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm7
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm2, xmm0
andps xmm2, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x10
jl 0x140057470
cmp r8d, 0x17
jge 0x1400575a0
movsxd rax, r8d
lea r9, [rsp + 0x30]
add r9, rax
nop word [rax + rax]
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x35
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x17
jl 0x140057570
lea rdx, [rsp + 0x30]
mov rcx, qword [rbp + 0x118]
call r11
mov qword [rbp - 8], rax
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
nop dword [rax]
nop dword [rax + rax]
mov r10, qword [rcx + 0x30]
movsxd rdx, dword [r10 + 0x3c]
mov edi, dword [rdx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x140057646
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140057646
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rax, [r10 + r9*4]
mov edx, dword [rax + rbx]
add rdx, r10
mov r8d, 0x811c9dc5
movzx eax, byte [rdx]
inc rdx
test al, al
je 0x140057641
nop dword [rax]
movsx eax, al
xor eax, r8d
imul r8d, eax, 0x1000193
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
test al, al
jne 0x140057620
cmp r8d, 0xf8f45725
je 0x14005764b
test r9d, r9d
jne 0x140057600
mov rcx, qword [rcx]
jmp 0x1400575d0
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov r11d, dword [rcx + rax*4]
add r11, r10
movsd xmm0, qword [str.rSCLHHSOnP3A]
movsd qword [rsp + 0x20], xmm0
mov eax, dword [0x1400c8ab8]
mov dword [rsp + 0x28], eax
movzx eax, byte [0x1400c8abc]
mov byte [rsp + 0x2c], al
mov r8d, esi
cmp r14d, 2
jl 0x140057767
movdqa xmm1, xmm7
punpckldq xmm1, xmm7
pmuldq xmm1, xmm6
movdqa xmm0, xmm7
punpckhdq xmm0, xmm7
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
movdqa xmm1, xmm7
psubd xmm1, xmm0
andps xmm1, xmm8
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd eax, xmm10
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [str.rSCLHHSOnP3A]
xorps xmm1, xmm0
movd dword [rsp + 0x20], xmm1
movdqa xmm1, xmm11
punpckldq xmm1, xmm11
pmuldq xmm1, xmm6
movdqa xmm0, xmm11
punpckhdq xmm0, xmm11
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
movdqa xmm2, xmm11
psubd xmm2, xmm0
andps xmm2, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x24]
xorps xmm2, xmm1
movd dword [rsp + 0x24], xmm2
mov r8d, 8
movsxd rax, r8d
lea r9, [rsp + 0x20]
add r9, rax
nop dword [rax]
nop word [rax + rax]
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x35
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0xd
jl 0x140057780
lea rdx, [rsp + 0x20]
mov rcx, r15
call r11
mov qword [rbp + 0x120], rax
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
nop dword [rax]
nop word [rax + rax]
mov r10, qword [rcx + 0x30]
movsxd rdx, dword [r10 + 0x3c]
mov edi, dword [rdx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x140057856
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140057856
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rax, [r10 + r9*4]
mov edx, dword [rax + rbx]
add rdx, r10
mov r8d, 0x811c9dc5
movzx eax, byte [rdx]
inc rdx
test al, al
je 0x140057851
nop dword [rax]
movsx eax, al
xor eax, r8d
imul r8d, eax, 0x1000193
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
test al, al
jne 0x140057830
cmp r8d, 0xf8f45725
je 0x14005785b
test r9d, r9d
jne 0x140057810
mov rcx, qword [rcx]
jmp 0x1400577e0
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov r11d, dword [rcx + rax*4]
add r11, r10
movups xmm0, xmmword [str.fSCtXCNXZh___3]
movups xmmword [rsp + 0x78], xmm0
movsd xmm0, qword [0x1400c8ad0]
movsd qword [rbp - 0x78], xmm0
movzx eax, word [0x1400c8ad8]
mov word [rbp - 0x70], ax
movzx eax, byte [reloc.WLDAP32.dll_Ordinal_79]
mov byte [rbp - 0x6e], al
mov r8d, esi
cmp r14d, 2
jl 0x1400579ab
movdqa xmmword [rsp + 0x20], xmm10
lea rcx, [rsp + 0x7c]
mov edx, dword [rsp + 0x20]
nop
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm7
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm2, xmm0
andps xmm2, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r8 + 4]
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm7
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm2, xmm0
andps xmm2, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x18
jl 0x1400578c0
cmp r8d, 0x1b
jge 0x1400579f0
movsxd rax, r8d
lea r9, [rsp + 0x78]
add r9, rax
nop word [rax + rax]
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x35
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x1b
jl 0x1400579c0
lea rdx, [rsp + 0x78]
mov rcx, r15
call r11
mov qword [rbp + 0x128], rax
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
nop dword [rax]
nop word [rax + rax]
mov r10, qword [rcx + 0x30]
movsxd rdx, dword [r10 + 0x3c]
mov edi, dword [rdx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x140057a96
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140057a96
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rax, [r10 + r9*4]
mov edx, dword [rax + rbx]
add rdx, r10
mov r8d, 0x811c9dc5
movzx eax, byte [rdx]
inc rdx
test al, al
je 0x140057a91
nop dword [rax]
movsx eax, al
xor eax, r8d
imul r8d, eax, 0x1000193
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
test al, al
jne 0x140057a70
cmp r8d, 0xf8f45725
je 0x140057a9b
test r9d, r9d
jne 0x140057a50
mov rcx, qword [rcx]
jmp 0x140057a20
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov r11d, dword [rcx + rax*4]
add r11, r10
movups xmm0, xmmword [str.qAZANRYxM___n1_]
movups xmmword [rsp + 0x78], xmm0
movsd xmm0, qword [0x1400c8af0]
movsd qword [rbp - 0x78], xmm0
mov eax, dword [0x1400c8af8]
mov dword [rbp - 0x70], eax
movzx eax, byte [0x1400c8afc]
mov byte [rbp - 0x6c], al
mov r8d, esi
cmp r14d, 2
jl 0x140057beb
movdqa xmmword [rsp + 0x20], xmm10
lea rcx, [rsp + 0x7c]
mov edx, dword [rsp + 0x20]
nop dword [rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm7
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm2, xmm0
andps xmm2, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r8 + 4]
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm7
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm2, xmm0
andps xmm2, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x18
jl 0x140057b00
cmp r8d, 0x1d
jge 0x140057c30
movsxd rax, r8d
lea r9, [rsp + 0x78]
add r9, rax
nop word [rax + rax]
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x35
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x1d
jl 0x140057c00
lea rdx, [rsp + 0x78]
mov rcx, r13
call r11
mov qword [rbp - 0x58], rax
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
mov r10, qword [rcx + 0x30]
movsxd rdx, dword [r10 + 0x3c]
mov edi, dword [rdx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x140057cc6
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140057cc6
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rax, [r10 + r9*4]
mov edx, dword [rax + rbx]
add rdx, r10
mov r8d, 0x811c9dc5
movzx eax, byte [rdx]
inc rdx
test al, al
je 0x140057cc1
nop dword [rax]
movsx eax, al
xor eax, r8d
imul r8d, eax, 0x1000193
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
test al, al
jne 0x140057ca0
cmp r8d, 0xf8f45725
je 0x140057ccb
test r9d, r9d
jne 0x140057c80
mov rcx, qword [rcx]
jmp 0x140057c50
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov r11d, dword [rcx + rax*4]
add r11, r10
movsd xmm0, qword [str.qSQoPT_SJnM__]
movsd qword [rsp + 0x20], xmm0
mov eax, dword [0x1400c8b08]
mov dword [rsp + 0x28], eax
movzx eax, word [0x1400c8b0c]
mov word [rsp + 0x2c], ax
movzx eax, byte [0x1400c8b0e]
mov byte [rsp + 0x2e], al
mov r8d, esi
cmp r14d, 2
jl 0x140057df3
movdqa xmm1, xmm7
punpckldq xmm1, xmm7
pmuldq xmm1, xmm6
movdqa xmm0, xmm7
punpckhdq xmm0, xmm7
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
movdqa xmm1, xmm7
psubd xmm1, xmm0
andps xmm1, xmm8
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd eax, xmm10
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [str.qSQoPT_SJnM__]
xorps xmm1, xmm0
movd dword [rsp + 0x20], xmm1
movdqa xmm1, xmm11
punpckldq xmm1, xmm11
pmuldq xmm1, xmm6
movdqa xmm0, xmm11
punpckhdq xmm0, xmm11
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
movdqa xmm2, xmm11
psubd xmm2, xmm0
andps xmm2, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x24]
xorps xmm2, xmm1
movd dword [rsp + 0x24], xmm2
mov r8d, 8
movsxd rax, r8d
lea r9, [rsp + 0x20]
add r9, rax
nop
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x35
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0xf
jl 0x140057e00
lea rdx, [rsp + 0x20]
mov rcx, r15
call r11
mov qword [rbp - 0x50], rax
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
mov r10, qword [rcx + 0x30]
movsxd rdx, dword [r10 + 0x3c]
mov edi, dword [rdx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x140057ec6
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140057ec6
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rax, [r10 + r9*4]
mov edx, dword [rax + rbx]
add rdx, r10
mov r8d, 0x811c9dc5
movzx eax, byte [rdx]
inc rdx
test al, al
je 0x140057ec1
nop dword [rax]
movsx eax, al
xor eax, r8d
imul r8d, eax, 0x1000193
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
test al, al
jne 0x140057ea0
cmp r8d, 0xf8f45725
je 0x140057ecb
test r9d, r9d
jne 0x140057e80
mov rcx, qword [rcx]
jmp 0x140057e50
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov r11d, dword [rcx + rax*4]
add r11, r10
movups xmm0, xmmword [str.vDRYM_lUSZP7]
movups xmmword [rsp + 0x30], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x140058040
cmp r14d, 2
jl 0x140058005
mov edx, esi
movdqa xmmword [rsp + 0x20], xmm10
lea rcx, [rsp + 0x34]
mov r8d, dword [rsp + 0x20]
nop dword [rax]
movd xmm2, edx
pshufd xmm2, xmm2, 0
paddd xmm2, xmm7
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm2, xmm0
andps xmm2, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [rdx + 4]
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm7
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm2, xmm0
andps xmm2, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add edx, 8
lea rcx, [rcx + 8]
cmp edx, 0x10
jl 0x140057f20
jmp 0x140058040
lea r9, [rsp + 0x30]
mov r8d, esi
nop dword [rax]
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x35
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x10
jl 0x140058010
lea rdx, [rsp + 0x30]
mov rcx, r15
call r11
mov qword [rbp - 0x48], rax
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
mov r10, qword [rcx + 0x30]
movsxd rdx, dword [r10 + 0x3c]
mov edi, dword [rdx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x1400580d6
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1400580d6
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rax, [rbx + r9*4]
mov edx, dword [rax + r10]
add rdx, r10
mov r8d, 0x811c9dc5
movzx eax, byte [rdx]
inc rdx
test al, al
je 0x1400580d1
nop
movsx eax, al
xor eax, r8d
imul r8d, eax, 0x1000193
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
test al, al
jne 0x1400580b0
cmp r8d, 0xf8f45725
je 0x1400580db
test r9d, r9d
jne 0x140058090
mov rcx, qword [rcx]
jmp 0x140058060
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov r11d, dword [rcx + rax*4]
add r11, r10
movsd xmm0, qword [0x1400c8b20]
movsd qword [rsp + 0x20], xmm0
mov eax, dword [0x1400c8b28]
mov dword [rsp + 0x28], eax
movzx eax, word [0x1400c8b2c]
mov word [rsp + 0x2c], ax
movzx eax, byte [0x1400c8b2e]
mov byte [rsp + 0x2e], al
mov r8d, esi
cmp r14d, 2
jl 0x140058203
movdqa xmm1, xmm7
punpckldq xmm1, xmm7
pmuldq xmm1, xmm6
movdqa xmm0, xmm7
punpckhdq xmm0, xmm7
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
movdqa xmm1, xmm7
psubd xmm1, xmm0
andps xmm1, xmm8
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd eax, xmm10
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x1400c8b20]
xorps xmm1, xmm0
movd dword [rsp + 0x20], xmm1
movdqa xmm1, xmm11
punpckldq xmm1, xmm11
pmuldq xmm1, xmm6
movdqa xmm0, xmm11
punpckhdq xmm0, xmm11
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
movdqa xmm2, xmm11
psubd xmm2, xmm0
andps xmm2, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x24]
xorps xmm2, xmm1
movd dword [rsp + 0x24], xmm2
mov r8d, 8
movsxd rax, r8d
lea r9, [rsp + 0x20]
add r9, rax
nop
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x35
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0xf
jl 0x140058210
lea rdx, [rsp + 0x20]
mov rcx, r15
call r11
mov qword [rbp - 0x40], rax
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
mov r10, qword [rcx + 0x30]
movsxd rdx, dword [r10 + 0x3c]
mov edi, dword [rdx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x1400582d6
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1400582d6
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rax, [rbx + r9*4]
mov edx, dword [rax + r10]
add rdx, r10
mov r8d, 0x811c9dc5
movzx eax, byte [rdx]
inc rdx
test al, al
je 0x1400582d1
nop
movsx eax, al
xor eax, r8d
imul r8d, eax, 0x1000193
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
test al, al
jne 0x1400582b0
cmp r8d, 0xf8f45725
je 0x1400582db
test r9d, r9d
jne 0x140058290
mov rcx, qword [rcx]
jmp 0x140058260
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov r11d, dword [rcx + rax*4]
add r11, r10
movsd xmm0, qword [str.rSCoPT_SJrP.]
movsd qword [rsp + 0x20], xmm0
mov eax, dword [0x1400c8b38]
mov dword [rsp + 0x28], eax
movzx eax, word [0x1400c8b3c]
mov word [rsp + 0x2c], ax
movzx eax, byte [0x1400c8b3e]
mov byte [rsp + 0x2e], al
mov r8d, esi
cmp r14d, 2
jl 0x140058403
movdqa xmm1, xmm7
punpckldq xmm1, xmm7
pmuldq xmm1, xmm6
movdqa xmm0, xmm7
punpckhdq xmm0, xmm7
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
movdqa xmm1, xmm7
psubd xmm1, xmm0
andps xmm1, xmm8
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd eax, xmm10
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [str.rSCoPT_SJrP.]
xorps xmm1, xmm0
movd dword [rsp + 0x20], xmm1
movdqa xmm1, xmm11
punpckldq xmm1, xmm11
pmuldq xmm1, xmm6
movdqa xmm0, xmm11
punpckhdq xmm0, xmm11
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
movdqa xmm2, xmm11
psubd xmm2, xmm0
andps xmm2, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x24]
xorps xmm2, xmm1
movd dword [rsp + 0x24], xmm2
mov r8d, 8
movsxd rax, r8d
lea r9, [rsp + 0x20]
add r9, rax
nop
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x35
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0xf
jl 0x140058410
lea rdx, [rsp + 0x20]
mov rcx, r15
call r11
mov qword [rbp - 0x38], rax
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
mov r10, qword [rcx + 0x30]
movsxd rdx, dword [r10 + 0x3c]
mov edi, dword [rdx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x1400584d6
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1400584d6
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rax, [rbx + r9*4]
mov edx, dword [rax + r10]
add rdx, r10
mov r8d, 0x811c9dc5
movzx eax, byte [rdx]
inc rdx
test al, al
je 0x1400584d1
nop
movsx eax, al
xor eax, r8d
imul r8d, eax, 0x1000193
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
test al, al
jne 0x1400584b0
cmp r8d, 0xf8f45725
je 0x1400584db
test r9d, r9d
jne 0x140058490
mov rcx, qword [rcx]
jmp 0x140058460
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov r11d, dword [rcx + rax*4]
add r11, r10
movups xmm0, xmmword [str.gSPQJNNR32_a_]
movups xmmword [rsp + 0x30], xmm0
movzx eax, byte [0x1400c8b50]
mov byte [rsp + 0x40], al
mov r8d, esi
cmp r14d, 2
jl 0x14005861b
movdqa xmmword [rsp + 0x20], xmm10
lea rcx, [rsp + 0x34]
mov edx, dword [rsp + 0x20]
nop word [rax + rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm7
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm2, xmm0
andps xmm2, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r8 + 4]
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm7
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm2, xmm0
andps xmm2, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x10
jl 0x140058530
cmp r8d, 0x11
jge 0x140058660
movsxd rax, r8d
lea r9, [rsp + 0x30]
add r9, rax
nop word [rax + rax]
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x35
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x11
jl 0x140058630
lea rdx, [rsp + 0x30]
mov rcx, r15
call r11
mov qword [rbp - 0x30], rax
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
mov r10, qword [rcx + 0x30]
movsxd rdx, dword [r10 + 0x3c]
mov edi, dword [rdx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x1400586f6
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1400586f6
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rax, [rbx + r9*4]
mov edx, dword [rax + r10]
add rdx, r10
mov r8d, 0x811c9dc5
movzx eax, byte [rdx]
inc rdx
test al, al
je 0x1400586f1
nop
movsx eax, al
xor eax, r8d
imul r8d, eax, 0x1000193
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
test al, al
jne 0x1400586d0
cmp r8d, 0xf8f45725
je 0x1400586fb
test r9d, r9d
jne 0x1400586b0
mov rcx, qword [rcx]
jmp 0x140058680
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov r11d, dword [rcx + rax*4]
add r11, r10
movups xmm0, xmmword [str.rSCk_IOYPsZ43_7E]
movups xmmword [rsp + 0x30], xmm0
movzx eax, byte [0x1400c8b68]
mov byte [rsp + 0x40], al
mov r8d, esi
cmp r14d, 2
jl 0x14005883b
movdqa xmmword [rsp + 0x20], xmm10
lea rcx, [rsp + 0x34]
mov edx, dword [rsp + 0x20]
nop word [rax + rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm7
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm2, xmm0
andps xmm2, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r8 + 4]
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm7
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm2, xmm0
andps xmm2, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x10
jl 0x140058750
cmp r8d, 0x11
jge 0x140058880
movsxd rax, r8d
lea r9, [rsp + 0x30]
add r9, rax
nop word [rax + rax]
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x35
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x11
jl 0x140058850
lea rdx, [rsp + 0x30]
mov rcx, r15
call r11
mov qword [rbp - 0x28], rax
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
mov r10, qword [rcx + 0x30]
movsxd rdx, dword [r10 + 0x3c]
mov edi, dword [rdx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x140058916
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140058916
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rax, [rbx + r9*4]
mov edx, dword [rax + r10]
add rdx, r10
mov r8d, 0x811c9dc5
movzx eax, byte [rdx]
inc rdx
test al, al
je 0x140058911
nop
movsx eax, al
xor eax, r8d
imul r8d, eax, 0x1000193
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
test al, al
jne 0x1400588f0
cmp r8d, 0xf8f45725
je 0x14005891b
test r9d, r9d
jne 0x1400588d0
mov rcx, qword [rcx]
jmp 0x1400588a0
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov r11d, dword [rcx + rax*4]
add r11, r10
movsd xmm0, qword [str.s_Y_nSUXRI_]
movsd qword [rsp + 0x20], xmm0
mov eax, dword [0x1400c8b78]
mov dword [rsp + 0x28], eax
cmp byte [0x1400c8b7b], 0
je 0x140058a80
mov r8d, esi
cmp r14d, 2
jl 0x140058a39
movdqa xmm1, xmm7
punpckldq xmm1, xmm7
pmuldq xmm1, xmm6
movdqa xmm0, xmm7
punpckhdq xmm0, xmm7
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
movdqa xmm1, xmm7
psubd xmm1, xmm0
andps xmm1, xmm8
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd eax, xmm10
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [str.s_Y_nSUXRI_]
xorps xmm1, xmm0
movd dword [rsp + 0x20], xmm1
movdqa xmm1, xmm11
punpckldq xmm1, xmm11
pmuldq xmm1, xmm6
movdqa xmm0, xmm11
punpckhdq xmm0, xmm11
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
movdqa xmm2, xmm11
psubd xmm2, xmm0
andps xmm2, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x24]
xorps xmm2, xmm1
movd dword [rsp + 0x24], xmm2
mov r8d, 8
movsxd rax, r8d
lea r9, [rsp + 0x20]
add r9, rax
nop dword [rax]
nop dword [rax + rax]
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x35
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0xc
jl 0x140058a50
lea rdx, [rsp + 0x20]
mov rcx, r15
call r11
mov qword [rbp - 0x20], rax
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
mov r10, qword [rcx + 0x30]
movsxd rdx, dword [r10 + 0x3c]
mov edi, dword [rdx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x140058b16
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140058b16
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rax, [rbx + r9*4]
mov edx, dword [rax + r10]
add rdx, r10
mov r8d, 0x811c9dc5
movzx eax, byte [rdx]
inc rdx
test al, al
je 0x140058b11
nop
movsx eax, al
xor eax, r8d
imul r8d, eax, 0x1000193
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
test al, al
jne 0x140058af0
cmp r8d, 0xf8f45725
je 0x140058b1b
test r9d, r9d
jne 0x140058ad0
mov rcx, qword [rcx]
jmp 0x140058aa0
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov r11d, dword [rcx + rax*4]
add r11, r10
movups xmm0, xmmword [str.rSCyJCU_v_F]
movups xmmword [rsp + 0x30], xmm0
movzx eax, byte [0x1400c8b90]
mov byte [rsp + 0x40], al
mov r8d, esi
cmp r14d, 2
jl 0x140058c5b
movdqa xmmword [rsp + 0x20], xmm10
lea rcx, [rsp + 0x34]
mov edx, dword [rsp + 0x20]
nop word [rax + rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm7
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm2, xmm0
andps xmm2, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r8 + 4]
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm7
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm2, xmm0
andps xmm2, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x10
jl 0x140058b70
cmp r8d, 0x11
jge 0x140058ca0
movsxd rax, r8d
lea r9, [rsp + 0x30]
add r9, rax
nop word [rax + rax]
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x35
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x11
jl 0x140058c70
lea rdx, [rsp + 0x30]
mov rcx, r15
call r11
mov qword [rbp - 0x18], rax
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
mov r10, qword [rcx + 0x30]
movsxd rdx, dword [r10 + 0x3c]
mov edi, dword [rdx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x140058d36
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140058d36
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rax, [rbx + r9*4]
mov edx, dword [rax + r10]
add rdx, r10
mov r8d, 0x811c9dc5
movzx eax, byte [rdx]
inc rdx
test al, al
je 0x140058d31
nop
movsx eax, al
xor eax, r8d
imul r8d, eax, 0x1000193
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
test al, al
jne 0x140058d10
cmp r8d, 0xf8f45725
je 0x140058d3b
test r9d, r9d
jne 0x140058cf0
mov rcx, qword [rcx]
jmp 0x140058cc0
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov r11d, dword [rcx + rax*4]
add r11, r10
movups xmm0, xmmword [str.rSCVH_OQJ._]
movups xmmword [rsp + 0x30], xmm0
mov eax, dword [0x1400c8ba8]
mov dword [rsp + 0x40], eax
cmp byte [0x1400c8bab], 0
je 0x140058ed0
mov r8d, esi
cmp r14d, 2
jl 0x140058e8b
movdqa xmmword [rsp + 0x20], xmm10
lea rcx, [rsp + 0x34]
mov edx, dword [rsp + 0x20]
nop dword [rax]
nop word [rax + rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm7
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm2, xmm0
andps xmm2, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r8 + 4]
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm7
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm2, xmm0
andps xmm2, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x10
jl 0x140058da0
cmp r8d, 0x14
jge 0x140058ed0
movsxd rax, r8d
lea r9, [rsp + 0x30]
add r9, rax
nop word [rax + rax]
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x35
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x14
jl 0x140058ea0
lea rdx, [rsp + 0x30]
mov rcx, r15
call r11
mov qword [rbp - 0x10], rax
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
mov r10, qword [rcx + 0x30]
movsxd rdx, dword [r10 + 0x3c]
mov edi, dword [rdx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x140058f66
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140058f66
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rax, [r10 + r9*4]
mov edx, dword [rax + rbx]
add rdx, r10
mov r8d, 0x811c9dc5
movzx eax, byte [rdx]
inc rdx
test al, al
je 0x140058f61
nop dword [rax]
movsx eax, al
xor eax, r8d
imul r8d, eax, 0x1000193
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
test al, al
jne 0x140058f40
cmp r8d, 0xf8f45725
je 0x140058f6b
test r9d, r9d
jne 0x140058f20
mov rcx, qword [rcx]
jmp 0x140058ef0
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov r8d, dword [rcx + rax*4]
add r8, r10
movsd xmm0, qword [str.xYA_nSUXRI_]
movsd qword [rsp + 0x30], xmm0
movzx ecx, word [0x1400c8bb8]
mov word [rsp + 0x38], cx
movzx eax, byte [0x1400c8bba]
mov byte [rsp + 0x30], Ordinal_79
xor byte [rsp + 0x31], 0x36
xor byte [rsp + 0x32], 0x37
xor byte [rsp + 0x33], 0x38
xor byte [rsp + 0x34], 0x39
xor byte [rsp + 0x35], 0x3a
xor byte [rsp + 0x36], 0x3b
xor byte [rsp + 0x37], 0x3c
xor cl, 0x3d
mov byte [rsp + 0x38], cl
xor byte [rsp + 0x39], 0x3e
xor al, 0x3f
mov byte [rsp + 0x3a], al
lea rdx, [rsp + 0x30]
mov rcx, r15
call r8
mov qword [rbp], rax
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
nop
mov r10, qword [rcx + 0x30]
movsxd rdx, dword [r10 + 0x3c]
mov edi, dword [rdx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x140059076
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140059076
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rax, [r10 + r9*4]
mov edx, dword [rax + rbx]
add rdx, r10
mov r8d, 0x811c9dc5
movzx eax, byte [rdx]
inc rdx
test al, al
je 0x140059071
nop dword [rax]
movsx eax, al
xor eax, r8d
imul r8d, eax, 0x1000193
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
test al, al
jne 0x140059050
cmp r8d, 0xf8f45725
je 0x14005907b
test r9d, r9d
jne 0x140059030
mov rcx, qword [rcx]
jmp 0x140059000
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov r11d, dword [rcx + rax*4]
add r11, r10
movsd xmm0, qword [str.eSRSt_HOYZ]
movsd qword [rsp + 0x20], xmm0
mov eax, dword [0x1400c8bc8]
mov dword [rsp + 0x28], eax
movzx eax, byte [0x1400c8bcc]
mov byte [rsp + 0x2c], al
mov r8d, esi
cmp r14d, 2
jl 0x140059197
movdqa xmm1, xmm7
punpckldq xmm1, xmm7
pmuldq xmm1, xmm6
movdqa xmm0, xmm7
punpckhdq xmm0, xmm7
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
movdqa xmm1, xmm7
psubd xmm1, xmm0
andps xmm1, xmm8
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd eax, xmm10
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [str.eSRSt_HOYZ]
xorps xmm1, xmm0
movd dword [rsp + 0x20], xmm1
movdqa xmm1, xmm11
punpckldq xmm1, xmm11
pmuldq xmm1, xmm6
movdqa xmm0, xmm11
punpckhdq xmm0, xmm11
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
movdqa xmm2, xmm11
psubd xmm2, xmm0
andps xmm2, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x24]
xorps xmm2, xmm1
movd dword [rsp + 0x24], xmm2
mov r8d, 8
movsxd rax, r8d
lea r9, [rsp + 0x20]
add r9, rax
nop dword [rax]
nop word [rax + rax]
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x35
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0xd
jl 0x1400591b0
lea rdx, [rsp + 0x20]
mov rcx, r15
call r11
mov qword [rbp + 8], rax
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
mov r10, qword [rcx + 0x30]
movsxd rdx, dword [r10 + 0x3c]
mov edi, dword [rdx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x140059276
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140059276
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rax, [r10 + r9*4]
mov edx, dword [rax + rbx]
add rdx, r10
mov r8d, 0x811c9dc5
movzx eax, byte [rdx]
inc rdx
test al, al
je 0x140059271
mov rcx, qword [rcx]
jmp 0x140059200
mov rax, qword [rbp + 0x40]
movabs rcx, 0xff00ff00ff00ff00
xor rax, rcx
lea rcx, [rbp + 0x108]
mov qword [rcx], rax
lea r11, [rsp + 0x1c8]
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
movaps xmm8, xmmword [r11 - 0x38]
movaps xmm9, xmmword [r11 - 0x48]
movaps xmm10, xmmword [r11 - 0x58]
movaps xmm11, xmmword [r11 - 0x68]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret