Function at 0x1401b2394
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov r11, rsp
mov qword [r11 + 0x18], r8
mov qword [r11 + 0x10], rdx
mov qword [r11 + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x18
mov r10d, dword [rcx + 4]
lea rax, [r8*8]
add qword [rcx + 0xa0], rax
mov r13, rcx
mov r12d, dword [rcx]
mov dword [rsp + 0x78], r12d
cmp r10d, 4
jae 0x1401b2428
mov eax, 4
mov r9d, r8d
sub eax, r10d
mov ecx, eax
cmp r8, rcx
cmovae r9d, eax
add r10d, r9d
test r9d, r9d
je 0x1401b241a
mov eax, r9d
sub r8, rax
mov qword [r11 + 0x18], r8
movzx eax, byte [rdx]
inc rdx
shl r12d, 8
or r12d, eax
add r9d, 0xffffffff
jne 0x1401b23fd
mov qword [rsp + 0x68], rdx
mov dword [rsp + 0x78], r12d
test r8, r8
jne 0x1401b2428
mov dword [r13 + 4], r10d
jmp 0x1401b3fd0
mov ecx, dword [r13 + 8]
lea r14, [0x140000000]
mov eax, ecx
test ecx, ecx
je 0x1401b2450
sub eax, 1
je 0x1401b2db6
cmp eax, 1
je 0x1401b36b7
jmp 0x1401b3fad
mov rdi, qword [rsp + 0x60]
mov eax, dword [r13 + 0xc]
xor dword [r13 + 0x64], eax
mov eax, dword [r13 + 0x6c]
xor dword [r13 + 0x10], eax
mov eax, dword [rdi + 0x84]
mov ecx, dword [rdi + 0x18]
mov r11d, ecx
xor r11d, dword [rdi + 0x98]
xor dword [rdi + 0x50], ecx
mov edx, dword [rdi + 0x14]
mov r10d, edx
xor r10d, dword [rdi + 0x94]
mov r8d, dword [r13 + 0x10]
mov r9d, r8d
xor r9d, dword [rdi + 0x90]
xor dword [rdi + 0x48], r8d
lea r8, [0x140000000]
xor dword [rdi + 0x4c], edx
mov dword [rsp], eax
mov dword [rdi + 0x94], r10d
mov dword [rdi + 0x90], r9d
movzx eax, byte [rdi + 0x92]
mov dword [rdi + 0x98], r11d
mov dword [r13 + 0xc], r12d
mov r13d, dword [r13 + 0x78]
mov r14d, dword [r14 + rax*4 + 0x36c480]
mov eax, r9d
xor dword [rdi + 0x1c], r13d
mov ebp, r14d
shr rax, 0x18
xor ebp, dword [r8 + rax*4 + 0x36c080]
movzx eax, byte [rdi + 0x91]
mov r15d, dword [r8 + rax*4 + 0x36c880]
xor ebp, r15d
movzx eax, r9b
mov r9, qword [rsp + 0x60]
mov ebx, dword [r8 + rax*4 + 0x36cc80]
mov eax, r10d
shr rax, 0x18
xor ebp, ebx
mov esi, dword [r8 + rax*4 + 0x36c080]
movzx eax, byte [rdi + 0x96]
mov edi, esi
xor edi, dword [r8 + rax*4 + 0x36c480]
movzx eax, byte [r9 + 0x95]
mov eax, dword [r8 + rax*4 + 0x36c880]
xor edi, eax
xor r15d, eax
movzx eax, r10b
mov eax, dword [r8 + rax*4 + 0x36cc80]
xor ebx, eax
xor edi, eax
mov eax, r11d
shr rax, 0x18
mov r10d, dword [r8 + rax*4 + 0x36c080]
xor esi, r10d
movzx eax, byte [r9 + 0x9a]
mov ecx, dword [r8 + rax*4 + 0x36c480]
xor r14d, ecx
movzx eax, byte [r9 + 0x99]
xor ecx, dword [r8 + rax*4 + 0x36c880]
movzx eax, r11b
xor r10d, ecx
lea r11, [0x140000000]
mov eax, dword [r8 + rax*4 + 0x36cc80]
xor r10d, eax
xor ebx, eax
mov eax, r12d
shr rax, 0x18
mov r8d, dword [r8 + rax*4 + 0x36c080]
xor esi, r8d
movzx eax, byte [r9 + 0xe]
mov eax, dword [r11 + rax*4 + 0x36c480]
xor r8d, eax
xor r14d, eax
movzx eax, byte [r9 + 0xd]
mov ecx, dword [r11 + rax*4 + 0x36c880]
xor r15d, ecx
movzx eax, r12b
xor ecx, dword [r11 + rax*4 + 0x36cc80]
xor r8d, ecx
mov edx, 0xff0000
mov r11d, r14d
mov eax, ebx
xor eax, r8d
shl r11d, 8
movzx r12d, al
xor r11d, r10d
and r11d, edx
mov eax, r14d
xor eax, edi
mov ecx, 0xff00
and eax, edx
or r12d, eax
mov eax, r15d
xor eax, r10d
and eax, 0xff00
or r12d, eax
mov eax, esi
xor eax, ebp
and eax, 0xff000000
or r12d, eax
mov eax, ebx
shr eax, 0x18
xor eax, ebp
mov dword [r9 + 0x90], r12d
movzx eax, al
or r11d, eax
mov eax, r15d
shl eax, 8
xor eax, r8d
and eax, ecx
or r11d, eax
mov eax, esi
shl eax, 8
xor eax, edi
and eax, 0xff000000
or r11d, eax
mov eax, ebx
shr eax, 0x10
xor eax, edi
mov dword [r9 + 0x94], r11d
movzx eax, al
mov r9d, r14d
shl r9d, 0x10
xor r9d, r8d
shr r14d, 8
and r9d, edx
shr ebx, 8
or r9d, eax
xor ebx, r10d
mov eax, esi
movzx edx, bl
shl eax, 0x10
xor r14d, ebp
xor eax, r10d
shl esi, 0x18
and eax, 0xff000000
xor esi, r8d
or r9d, eax
and r14d, 0xff0000
mov eax, r15d
or edx, r14d
shr eax, 0x10
and esi, 0xff000000
shr r15d, 8
xor eax, ebp
and eax, ecx
xor r15d, edi
mov rcx, qword [rsp + 0x60]
or r9d, eax
mov rdi, rcx
or edx, esi
and r15d, 0xff00
mov r8d, r9d
or edx, r15d
mov dword [rcx + 0x98], r9d
mov dword [rcx + 0xc], edx
mov ecx, r11d
xor ecx, dword [rsp]
mov dword [rdi + 0x84], ecx
xor r8d, dword [rdi + 0x88]
mov r10d, edx
xor r10d, dword [rdi + 0x8c]
movzx eax, byte [rdi + 0x86]
xor dword [rdi + 0x44], edx
xor dword [rdi + 0x3c], r11d
lea r11, [0x140000000]
xor dword [rdi + 0x40], r9d
mov r14d, dword [r11 + rax*4 + 0x36c480]
mov eax, ecx
mov r9, qword [rsp + 0x60]
mov ebp, r14d
shr rax, 0x18
mov dword [rdi + 0x88], r8d
mov dword [rdi + 0x8c], r10d
xor ebp, dword [r11 + rax*4 + 0x36c080]
movzx eax, byte [rdi + 0x85]
mov r15d, dword [r11 + rax*4 + 0x36c880]
xor ebp, r15d
movzx eax, cl
mov ebx, dword [r11 + rax*4 + 0x36cc80]
mov eax, r8d
shr rax, 0x18
xor ebp, ebx
mov esi, dword [r11 + rax*4 + 0x36c080]
movzx eax, byte [rdi + 0x8a]
mov edi, esi
xor edi, dword [r11 + rax*4 + 0x36c480]
movzx eax, byte [r9 + 0x89]
mov eax, dword [r11 + rax*4 + 0x36c880]
xor edi, eax
xor r15d, eax
movzx eax, r8b
mov eax, dword [r11 + rax*4 + 0x36cc80]
xor ebx, eax
xor edi, eax
mov eax, r10d
shr rax, 0x18
mov edx, dword [r11 + rax*4 + 0x36c080]
xor esi, edx
movzx eax, byte [r9 + 0x8e]
mov ecx, dword [r11 + rax*4 + 0x36c480]
xor r14d, ecx
movzx eax, byte [r9 + 0x8d]
xor ecx, dword [r11 + rax*4 + 0x36c880]
xor edx, ecx
movzx eax, r10b
mov r10d, 0xff0000
mov eax, dword [r11 + rax*4 + 0x36cc80]
xor edx, eax
xor ebx, eax
mov eax, r12d
shr rax, 0x18
mov r8d, dword [r11 + rax*4 + 0x36c080]
xor esi, r8d
movzx eax, byte [r9 + 0x92]
mov eax, dword [r11 + rax*4 + 0x36c480]
xor r8d, eax
xor r14d, eax
movzx eax, byte [r9 + 0x91]
mov ecx, dword [r11 + rax*4 + 0x36c880]
xor r15d, ecx
movzx eax, r12b
xor ecx, dword [r11 + rax*4 + 0x36cc80]
mov eax, ebx
xor r8d, ecx
xor eax, r8d
movzx r12d, al
mov eax, r14d
xor eax, edi
and eax, r10d
or r12d, eax
mov eax, r15d
xor eax, edx
and eax, 0xff00
or r12d, eax
mov eax, esi
xor eax, ebp
and eax, 0xff000000
or r12d, eax
mov dword [r9 + 0x84], r12d
mov r11d, r14d
mov eax, ebx
shr eax, 0x18
mov ecx, 0xff00
xor eax, ebp
shl r11d, 8
movzx eax, al
xor r11d, edx
and r11d, r10d
or r11d, eax
mov eax, r15d
shl eax, 8
xor eax, r8d
and eax, ecx
or r11d, eax
mov eax, esi
shl eax, 8
xor eax, edi
and eax, 0xff000000
or r11d, eax
mov eax, ebx
shr eax, 0x10
xor eax, edi
mov dword [r9 + 0x88], r11d
movzx eax, al
mov r9d, r14d
shl r9d, 0x10
xor r9d, r8d
shr r14d, 8
and r9d, r10d
shr ebx, 8
or r9d, eax
xor ebx, edx
mov eax, esi
xor r14d, ebp
shl eax, 0x10
and r14d, r10d
xor eax, edx
shl esi, 0x18
and eax, 0xff000000
movzx edx, bl
or r9d, eax
xor esi, r8d
mov eax, r15d
or edx, r14d
shr eax, 0x10
and esi, 0xff000000
xor eax, ebp
shr r15d, 8
and eax, ecx
xor r15d, edi
mov rcx, qword [rsp + 0x60]
or r9d, eax
and r15d, 0xff00
or edx, esi
or edx, r15d
mov r8d, r9d
mov r10d, edx
mov dword [rcx + 0x8c], r9d
mov dword [rcx + 0x90], edx
mov ecx, r11d
xor ecx, r13d
mov r13, qword [rsp + 0x60]
xor dword [r13 + 0x34], r9d
lea r9, [0x140000000]
xor r8d, dword [r13 + 0x7c]
xor r10d, dword [r13 + 0x80]
xor dword [r13 + 0x30], r11d
xor dword [r13 + 0x38], edx
mov dword [r13 + 0x78], ecx
movzx eax, byte [r13 + 0x7a]
mov dword [r13 + 0x7c], r8d
mov dword [r13 + 0x80], r10d
mov r14d, dword [r9 + rax*4 + 0x36c480]
mov eax, ecx
shr rax, 0x18
mov ebp, r14d
xor ebp, dword [r9 + rax*4 + 0x36c080]
movzx eax, byte [r13 + 0x79]
mov r15d, dword [r9 + rax*4 + 0x36c880]
xor ebp, r15d
movzx eax, cl
mov ebx, dword [r9 + rax*4 + 0x36cc80]
xor ebp, ebx
mov eax, r8d
shr rax, 0x18
mov esi, dword [r9 + rax*4 + 0x36c080]
mov edi, esi
movzx eax, byte [r13 + 0x7e]
xor edi, dword [r9 + rax*4 + 0x36c480]
movzx eax, byte [r13 + 0x7d]
mov eax, dword [r9 + rax*4 + 0x36c880]
xor edi, eax
xor r15d, eax
movzx eax, r8b
mov eax, dword [r9 + rax*4 + 0x36cc80]
xor ebx, eax
xor edi, eax
mov eax, r10d
shr rax, 0x18
mov edx, dword [r9 + rax*4 + 0x36c080]
xor esi, edx
movzx eax, byte [r13 + 0x82]
mov ecx, dword [r9 + rax*4 + 0x36c480]
xor r14d, ecx
movzx eax, byte [r13 + 0x81]
xor ecx, dword [r9 + rax*4 + 0x36c880]
xor edx, ecx
movzx eax, r10b
mov r10d, 0xff0000
mov eax, dword [r9 + rax*4 + 0x36cc80]
xor edx, eax
xor ebx, eax
mov eax, r12d
shr rax, 0x18
mov r8d, dword [r9 + rax*4 + 0x36c080]
xor esi, r8d
movzx eax, byte [r13 + 0x86]
mov eax, dword [r9 + rax*4 + 0x36c480]
xor r8d, eax
xor r14d, eax
movzx eax, byte [r13 + 0x85]
mov r11d, r14d
shl r11d, 8
xor r11d, edx
mov ecx, dword [r9 + rax*4 + 0x36c880]
and r11d, r10d
movzx eax, r12b
xor r15d, ecx
xor ecx, dword [r9 + rax*4 + 0x36cc80]
mov eax, ebx
xor r8d, ecx
mov r9d, 0xff000000
xor eax, r8d
mov ecx, 0xff00
movzx r12d, al
mov eax, r14d
xor eax, edi
and eax, r10d
or r12d, eax
mov eax, r15d
xor eax, edx
and eax, 0xff00
or r12d, eax
mov eax, esi
xor eax, ebp
and eax, r9d
or r12d, eax
mov eax, ebx
shr eax, 0x18
xor eax, ebp
mov dword [r13 + 0x78], r12d
movzx eax, al
or r11d, eax
mov eax, r15d
shl eax, 8
xor eax, r8d
and eax, ecx
or r11d, eax
mov eax, esi
shl eax, 8
xor eax, edi
and eax, r9d
mov r9d, r14d
or r11d, eax
shl r9d, 0x10
xor dword [r13 + 0x24], r11d
xor r9d, r8d
and r9d, r10d
shr r14d, 8
mov eax, ebx
mov dword [r13 + 0x7c], r11d
shr eax, 0x10
xor r14d, ebp
xor eax, edi
shr ebx, 8
movzx eax, al
xor ebx, edx
or r9d, eax
and r14d, r10d
mov eax, esi
shl esi, 0x18
shl eax, 0x10
xor esi, r8d
xor eax, edx
and esi, 0xff000000
and eax, 0xff000000
movzx edx, bl
or r9d, eax
or edx, r14d
lea r14, [0x140000000]
mov eax, r15d
shr eax, 0x10
or edx, esi
xor eax, ebp
shr r15d, 8
and eax, ecx
xor r15d, edi
or r9d, eax
and r15d, ecx
mov ecx, dword [r13 + 0x6c]
or edx, r15d
mov eax, dword [rsp]
xor ecx, r11d
xor eax, dword [r13 + 0x28]
mov r8d, r9d
xor r8d, dword [r13 + 0x70]
xor eax, r9d
mov dword [r13 + 0x28], eax
mov r10d, edx
xor r10d, dword [r13 + 0x74]
mov dword [r13 + 0x6c], ecx
movzx eax, byte [r13 + 0x6e]
mov dword [r13 + 0x70], r8d
mov dword [r13 + 0x84], edx
xor edx, dword [r13 + 0x2c]
mov esi, dword [r14 + rax*4 + 0x36c480]
mov eax, ecx
xor edx, dword [rsp + 0x78]
mov edi, esi
shr rax, 0x18
mov dword [r13 + 0x80], r9d
mov dword [r13 + 0x74], r10d
mov dword [r13 + 0x2c], edx
xor edi, dword [r14 + rax*4 + 0x36c080]
movzx eax, byte [r13 + 0x6d]
mov ebp, dword [r14 + rax*4 + 0x36c880]
xor edi, ebp
movzx eax, cl
mov r9d, dword [r14 + rax*4 + 0x36cc80]
mov eax, r8d
shr rax, 0x18
xor edi, r9d
mov ebx, dword [r14 + rax*4 + 0x36c080]
mov r11d, ebx
movzx eax, byte [r13 + 0x72]
xor r11d, dword [r14 + rax*4 + 0x36c480]
movzx eax, byte [r13 + 0x71]
mov eax, dword [r14 + rax*4 + 0x36c880]
xor r11d, eax
xor ebp, eax
movzx eax, r8b
mov eax, dword [r14 + rax*4 + 0x36cc80]
xor r9d, eax
xor r11d, eax
mov eax, r10d
mov r15d, 0xff00
shr rax, 0x18
mov r8d, dword [r14 + rax*4 + 0x36c080]
xor ebx, r8d
movzx eax, byte [r13 + 0x76]
mov ecx, dword [r14 + rax*4 + 0x36c480]
xor esi, ecx
movzx eax, byte [r13 + 0x75]
xor ecx, dword [r14 + rax*4 + 0x36c880]
xor r8d, ecx
movzx eax, r10b
mov r10d, 0xff0000
mov eax, dword [r14 + rax*4 + 0x36cc80]
xor r8d, eax
xor r9d, eax
mov eax, r12d
shr rax, 0x18
mov edx, dword [r14 + rax*4 + 0x36c080]
xor ebx, edx
movzx eax, byte [r13 + 0x7a]
mov eax, dword [r14 + rax*4 + 0x36c480]
xor esi, eax
xor edx, eax
movzx eax, byte [r13 + 0x79]
mov ecx, dword [r14 + rax*4 + 0x36c880]
xor ebp, ecx
movzx eax, r12b
mov r12d, 0xff000000
xor ecx, dword [r14 + rax*4 + 0x36cc80]
mov eax, r9d
xor edx, ecx
xor eax, edx
movzx ecx, al
mov eax, esi
xor eax, r11d
and eax, r10d
or ecx, eax
mov eax, ebp
xor eax, r8d
and eax, r15d
or ecx, eax
mov eax, ebx
xor eax, edi
and eax, r12d
or ecx, eax
mov eax, r9d
shr eax, 0x18
xor eax, edi
mov dword [r13 + 0x6c], ecx
movzx eax, al
mov ecx, esi
shl ecx, 8
xor ecx, r8d
and ecx, r10d
or ecx, eax
mov eax, ebp
shl eax, 8
xor eax, edx
and eax, r15d
or ecx, eax
mov eax, ebx
shl eax, 8
xor eax, r11d
and eax, r12d
or ecx, eax
mov eax, r9d
mov dword [r13 + 0x70], ecx
mov ecx, esi
shr eax, 0x10
shl ecx, 0x10
xor eax, r11d
movzx eax, al
xor ecx, edx
and ecx, r10d
or ecx, eax
mov eax, ebx
shl eax, 0x10
xor eax, r8d
and eax, r12d
shr esi, 8
or ecx, eax
shl ebx, 0x18
mov eax, ebp
shr r9d, 8
shr eax, 0x10
xor r9d, r8d
mov r8, qword [rsp + 0x70]
xor eax, edi
and eax, r15d
shr ebp, 8
or ecx, eax
xor esi, edi
and esi, r10d
movzx eax, r9b
or eax, esi
mov dword [r13 + 0x74], ecx
xor ebx, edx
xor ebp, r11d
and ebx, r12d
and ebp, r15d
or eax, ebx
or eax, ebp
mov dword [r13 + 0x78], eax
cmp r8, 4
jbe 0x1401b3fa3
mov rax, qword [rsp + 0x68]
mov r12d, dword [rax]
add rax, 4
sub r8, 4
mov qword [rsp + 0x68], rax
bswap r12d
mov qword [rsp + 0x70], r8
mov dword [rsp + 0x78], r12d
mov rdi, qword [rsp + 0x60]
mov eax, dword [r13 + 0x6c]
xor dword [r13 + 0x34], eax
mov eax, dword [r13 + 0x3c]
xor dword [r13 + 0x70], eax
mov eax, dword [rdi + 0x54]
mov ecx, dword [rdi + 0x78]
mov r11d, ecx
xor r11d, dword [rdi + 0x68]
xor dword [rdi + 0x20], ecx
mov edx, dword [rdi + 0x74]
mov r10d, edx
xor r10d, dword [rdi + 0x64]
mov r8d, dword [r13 + 0x70]
mov r9d, r8d
xor r9d, dword [rdi + 0x60]
xor dword [rdi + 0x18], r8d
lea r8, [0x140000000]
xor dword [rdi + 0x1c], edx
mov dword [rsp], eax
mov dword [rdi + 0x64], r10d
mov dword [rdi + 0x60], r9d
movzx eax, byte [rdi + 0x62]
mov dword [rdi + 0x68], r11d
mov dword [r13 + 0x6c], r12d
mov r13d, dword [r13 + 0x48]
mov r14d, dword [r14 + rax*4 + 0x36c480]
mov eax, r9d
xor dword [rdi + 0x7c], r13d
mov ebp, r14d
shr rax, 0x18
xor ebp, dword [r8 + rax*4 + 0x36c080]
movzx eax, byte [rdi + 0x61]
mov r15d, dword [r8 + rax*4 + 0x36c880]
xor ebp, r15d
movzx eax, r9b
mov r9, qword [rsp + 0x60]
mov ebx, dword [r8 + rax*4 + 0x36cc80]
mov eax, r10d
shr rax, 0x18
xor ebp, ebx
mov esi, dword [r8 + rax*4 + 0x36c080]
movzx eax, byte [rdi + 0x66]
mov edi, esi
xor edi, dword [r8 + rax*4 + 0x36c480]
movzx eax, byte [r9 + 0x65]
mov eax, dword [r8 + rax*4 + 0x36c880]
xor edi, eax
xor r15d, eax
movzx eax, r10b
mov eax, dword [r8 + rax*4 + 0x36cc80]
xor ebx, eax
xor edi, eax
mov eax, r11d
shr rax, 0x18
mov r10d, dword [r8 + rax*4 + 0x36c080]
xor esi, r10d
movzx eax, byte [r9 + 0x6a]
mov ecx, dword [r8 + rax*4 + 0x36c480]
xor r14d, ecx
movzx eax, byte [r9 + 0x69]
xor ecx, dword [r8 + rax*4 + 0x36c880]
movzx eax, r11b
xor r10d, ecx
lea r11, [0x140000000]
mov eax, dword [r8 + rax*4 + 0x36cc80]
xor r10d, eax
xor ebx, eax
mov eax, r12d
shr rax, 0x18
mov r8d, dword [r8 + rax*4 + 0x36c080]
xor esi, r8d
movzx eax, byte [r9 + 0x6e]
mov eax, dword [r11 + rax*4 + 0x36c480]
xor r8d, eax
xor r14d, eax
movzx eax, byte [r9 + 0x6d]
mov ecx, dword [r11 + rax*4 + 0x36c880]
xor r15d, ecx
movzx eax, r12b
xor ecx, dword [r11 + rax*4 + 0x36cc80]
xor r8d, ecx
mov edx, 0xff0000
mov r11d, r14d
mov eax, ebx
xor eax, r8d
shl r11d, 8
movzx r12d, al
xor r11d, r10d
and r11d, edx
mov eax, r14d
xor eax, edi
mov ecx, 0xff00
and eax, edx
or r12d, eax
mov eax, r15d
xor eax, r10d
and eax, 0xff00
or r12d, eax
mov eax, esi
xor eax, ebp
and eax, 0xff000000
or r12d, eax
mov eax, ebx
shr eax, 0x18
xor eax, ebp
mov dword [r9 + 0x60], r12d
movzx eax, al
or r11d, eax
mov eax, r15d
shl eax, 8
xor eax, r8d
and eax, ecx
or r11d, eax
mov eax, esi
shl eax, 8
xor eax, edi
and eax, 0xff000000
or r11d, eax
mov eax, ebx
shr eax, 0x10
xor eax, edi
mov dword [r9 + 0x64], r11d
movzx eax, al
mov r9d, r14d
shl r9d, 0x10
xor r9d, r8d
shr r14d, 8
and r9d, edx
shr ebx, 8
or r9d, eax
xor ebx, r10d
mov eax, esi
movzx edx, bl
shl eax, 0x10
xor r14d, ebp
xor eax, r10d
shl esi, 0x18
and eax, 0xff000000
xor esi, r8d
or r9d, eax
and r14d, 0xff0000
mov eax, r15d
or edx, r14d
shr eax, 0x10
and esi, 0xff000000
shr r15d, 8
xor eax, ebp
and eax, ecx
xor r15d, edi
mov rcx, qword [rsp + 0x60]
or r9d, eax
mov rdi, rcx
or edx, esi
and r15d, 0xff00
mov r8d, r9d
or edx, r15d
mov dword [rcx + 0x68], r9d
mov dword [rcx + 0x6c], edx
mov ecx, r11d
xor ecx, dword [rsp]
mov dword [rdi + 0x54], ecx
xor r8d, dword [rdi + 0x58]
mov r10d, edx
xor r10d, dword [rdi + 0x5c]
movzx eax, byte [rdi + 0x56]
xor dword [rdi + 0x14], edx
xor dword [rdi + 0xc], r11d
lea r11, [0x140000000]
xor dword [rdi + 0x10], r9d
mov r14d, dword [r11 + rax*4 + 0x36c480]
mov eax, ecx
mov r9, qword [rsp + 0x60]
mov ebp, r14d
shr rax, 0x18
mov dword [rdi + 0x58], r8d
mov dword [rdi + 0x5c], r10d
xor ebp, dword [r11 + rax*4 + 0x36c080]
movzx eax, byte [rdi + 0x55]
mov r15d, dword [r11 + rax*4 + 0x36c880]
xor ebp, r15d
movzx eax, cl
mov ebx, dword [r11 + rax*4 + 0x36cc80]
mov eax, r8d
shr rax, 0x18
xor ebp, ebx
mov esi, dword [r11 + rax*4 + 0x36c080]
movzx eax, byte [rdi + 0x5a]
mov edi, esi
xor edi, dword [r11 + rax*4 + 0x36c480]
movzx eax, byte [r9 + 0x59]
mov eax, dword [r11 + rax*4 + 0x36c880]
xor edi, eax
xor r15d, eax
movzx eax, r8b
mov eax, dword [r11 + rax*4 + 0x36cc80]
xor ebx, eax
xor edi, eax
mov eax, r10d
shr rax, 0x18
mov edx, dword [r11 + rax*4 + 0x36c080]
xor esi, edx
movzx eax, byte [r9 + 0x5e]
mov ecx, dword [r11 + rax*4 + 0x36c480]
xor r14d, ecx
movzx eax, byte [r9 + 0x5d]
xor ecx, dword [r11 + rax*4 + 0x36c880]
xor edx, ecx
movzx eax, r10b
mov r10d, 0xff0000
mov eax, dword [r11 + rax*4 + 0x36cc80]
xor edx, eax
xor ebx, eax
mov eax, r12d
shr rax, 0x18
mov r8d, dword [r11 + rax*4 + 0x36c080]
xor esi, r8d
movzx eax, byte [r9 + 0x62]
mov eax, dword [r11 + rax*4 + 0x36c480]
xor r8d, eax
xor r14d, eax
movzx eax, byte [r9 + 0x61]
mov ecx, dword [r11 + rax*4 + 0x36c880]
xor r15d, ecx
movzx eax, r12b
xor ecx, dword [r11 + rax*4 + 0x36cc80]
mov eax, ebx
xor r8d, ecx
xor eax, r8d
movzx r12d, al
mov eax, r14d
xor eax, edi
and eax, r10d
or r12d, eax
mov eax, r15d
xor eax, edx
and eax, 0xff00
or r12d, eax
mov eax, esi
xor eax, ebp
and eax, 0xff000000
or r12d, eax
mov dword [r9 + 0x54], r12d
mov r11d, r14d
mov eax, ebx
shr eax, 0x18
mov ecx, 0xff00
xor eax, ebp
shl r11d, 8
movzx eax, al
xor r11d, edx
and r11d, r10d
or r11d, eax
mov eax, r15d
shl eax, 8
xor eax, r8d
and eax, ecx
or r11d, eax
mov eax, esi
shl eax, 8
xor eax, edi
and eax, 0xff000000
or r11d, eax
mov eax, ebx
shr eax, 0x10
xor eax, edi
mov dword [r9 + 0x58], r11d
movzx eax, al
mov r9d, r14d
shl r9d, 0x10
xor r9d, r8d
shr r14d, 8
and r9d, r10d
shr ebx, 8
or r9d, eax
xor ebx, edx
mov eax, esi
xor r14d, ebp
shl eax, 0x10
and r14d, r10d
xor eax, edx
shl esi, 0x18
and eax, 0xff000000
movzx edx, bl
or r9d, eax
xor esi, r8d
mov eax, r15d
or edx, r14d
shr eax, 0x10
and esi, 0xff000000
xor eax, ebp
shr r15d, 8
and eax, ecx
xor r15d, edi
mov rcx, qword [rsp + 0x60]
or r9d, eax
and r15d, 0xff00
or edx, esi
or edx, r15d
mov r8d, r9d
mov r10d, edx
mov dword [rcx + 0x5c], r9d
mov dword [rcx + 0x60], edx
mov ecx, r11d
xor ecx, r13d
mov r13, qword [rsp + 0x60]
xor dword [r13 + 0x94], r9d
lea r9, [0x140000000]
xor r8d, dword [r13 + 0x4c]
xor r10d, dword [r13 + 0x50]
xor dword [r13 + 0x90], r11d
xor dword [r13 + 0x98], edx
mov dword [r13 + 0x48], ecx
movzx eax, byte [r13 + 0x4a]
mov dword [r13 + 0x4c], r8d
mov dword [r13 + 0x50], r10d
mov r14d, dword [r9 + rax*4 + 0x36c480]
mov eax, ecx
shr rax, 0x18
mov ebp, r14d
xor ebp, dword [r9 + rax*4 + 0x36c080]
movzx eax, byte [r13 + 0x49]
mov r15d, dword [r9 + rax*4 + 0x36c880]
xor ebp, r15d
movzx eax, cl
mov ebx, dword [r9 + rax*4 + 0x36cc80]
xor ebp, ebx
mov eax, r8d
shr rax, 0x18
mov esi, dword [r9 + rax*4 + 0x36c080]
mov edi, esi
movzx eax, byte [r13 + 0x4e]
xor edi, dword [r9 + rax*4 + 0x36c480]
movzx eax, byte [r13 + 0x4d]
mov eax, dword [r9 + rax*4 + 0x36c880]
xor edi, eax
xor r15d, eax
movzx eax, r8b
mov eax, dword [r9 + rax*4 + 0x36cc80]
xor ebx, eax
xor edi, eax
mov eax, r10d
shr rax, 0x18
mov edx, dword [r9 + rax*4 + 0x36c080]
xor esi, edx
movzx eax, byte [r13 + 0x52]
mov ecx, dword [r9 + rax*4 + 0x36c480]
xor r14d, ecx
movzx eax, byte [r13 + 0x51]
xor ecx, dword [r9 + rax*4 + 0x36c880]
xor edx, ecx
movzx eax, r10b
mov r10d, 0xff0000
mov eax, dword [r9 + rax*4 + 0x36cc80]
xor edx, eax
xor ebx, eax
mov eax, r12d
shr rax, 0x18
mov r8d, dword [r9 + rax*4 + 0x36c080]
xor esi, r8d
movzx eax, byte [r13 + 0x56]
mov eax, dword [r9 + rax*4 + 0x36c480]
xor r8d, eax
xor r14d, eax
movzx eax, byte [r13 + 0x55]
mov r11d, r14d
shl r11d, 8
xor r11d, edx
mov ecx, dword [r9 + rax*4 + 0x36c880]
and r11d, r10d
movzx eax, r12b
xor r15d, ecx
xor ecx, dword [r9 + rax*4 + 0x36cc80]
mov eax, ebx
xor r8d, ecx
mov r9d, 0xff000000
xor eax, r8d
mov ecx, 0xff00
movzx r12d, al
mov eax, r14d
xor eax, edi
and eax, r10d
or r12d, eax
mov eax, r15d
xor eax, edx
and eax, 0xff00
or r12d, eax
mov eax, esi
xor eax, ebp
and eax, r9d
or r12d, eax
mov eax, ebx
shr eax, 0x18
xor eax, ebp
mov dword [r13 + 0x48], r12d
movzx eax, al
or r11d, eax
mov eax, r15d
shl eax, 8
xor eax, r8d
and eax, ecx
or r11d, eax
mov eax, esi
shl eax, 8
xor eax, edi
and eax, r9d
mov r9d, r14d
or r11d, eax
shl r9d, 0x10
xor dword [r13 + 0x84], r11d
xor r9d, r8d
and r9d, r10d
shr r14d, 8
mov eax, ebx
mov dword [r13 + 0x4c], r11d
shr eax, 0x10
xor r14d, ebp
xor eax, edi
shr ebx, 8
movzx eax, al
xor ebx, edx
or r9d, eax
and r14d, r10d
mov eax, esi
shl esi, 0x18
shl eax, 0x10
xor esi, r8d
xor eax, edx
and esi, 0xff000000
and eax, 0xff000000
movzx edx, bl
or r9d, eax
or edx, r14d
lea r14, [0x140000000]
mov eax, r15d
shr eax, 0x10
or edx, esi
xor eax, ebp
shr r15d, 8
and eax, ecx
xor r15d, edi
or r9d, eax
and r15d, ecx
mov ecx, r11d
mov dword [r13 + 0x50], r9d
xor ecx, dword [r13 + 0x3c]
mov r8d, r9d
xor r9d, dword [r13 + 0x88]
or edx, r15d
xor r8d, dword [r13 + 0x40]
mov r10d, edx
xor r9d, dword [rsp]
xor r10d, dword [r13 + 0x44]
mov dword [r13 + 0x3c], ecx
movzx eax, byte [r13 + 0x3e]
mov dword [r13 + 0x40], r8d
mov dword [r13 + 0x54], edx
xor edx, dword [r13 + 0x8c]
mov esi, dword [r14 + rax*4 + 0x36c480]
mov eax, ecx
xor edx, dword [rsp + 0x78]
mov edi, esi
shr rax, 0x18
mov dword [r13 + 0x88], r9d
mov dword [r13 + 0x44], r10d
mov dword [r13 + 0x8c], edx
xor edi, dword [r14 + rax*4 + 0x36c080]
movzx eax, byte [r13 + 0x3d]
mov ebp, dword [r14 + rax*4 + 0x36c880]
xor edi, ebp
movzx eax, cl
mov r9d, dword [r14 + rax*4 + 0x36cc80]
mov eax, r8d
shr rax, 0x18
xor edi, r9d
mov ebx, dword [r14 + rax*4 + 0x36c080]
mov r11d, ebx
movzx eax, byte [r13 + 0x42]
xor r11d, dword [r14 + rax*4 + 0x36c480]
movzx eax, byte [r13 + 0x41]
mov eax, dword [r14 + rax*4 + 0x36c880]
xor r11d, eax
xor ebp, eax
movzx eax, r8b
mov eax, dword [r14 + rax*4 + 0x36cc80]
xor r11d, eax
xor r9d, eax
mov r15d, 0xff00
mov eax, r10d
shr rax, 0x18
mov r8d, dword [r14 + rax*4 + 0x36c080]
xor ebx, r8d
movzx eax, byte [r13 + 0x46]
mov ecx, dword [r14 + rax*4 + 0x36c480]
xor esi, ecx
movzx eax, byte [r13 + 0x45]
xor ecx, dword [r14 + rax*4 + 0x36c880]
xor r8d, ecx
movzx eax, r10b
mov r10d, 0xff0000
mov eax, dword [r14 + rax*4 + 0x36cc80]
xor r8d, eax
xor r9d, eax
mov eax, r12d
shr rax, 0x18
mov edx, dword [r14 + rax*4 + 0x36c080]
xor ebx, edx
movzx eax, byte [r13 + 0x4a]
mov eax, dword [r14 + rax*4 + 0x36c480]
xor esi, eax
xor edx, eax
movzx eax, byte [r13 + 0x49]
mov ecx, dword [r14 + rax*4 + 0x36c880]
xor ebp, ecx
movzx eax, r12b
mov r12d, 0xff000000
xor ecx, dword [r14 + rax*4 + 0x36cc80]
mov eax, r9d
xor edx, ecx
xor eax, edx
movzx ecx, al
mov eax, esi
xor eax, r11d
and eax, r10d
or ecx, eax
mov eax, ebp
xor eax, r8d
and eax, r15d
or ecx, eax
mov eax, ebx
xor eax, edi
and eax, r12d
or ecx, eax
mov eax, r9d
shr eax, 0x18
xor eax, edi
mov dword [r13 + 0x3c], ecx
movzx eax, al
mov ecx, esi
shl ecx, 8
xor ecx, r8d
and ecx, r10d
or ecx, eax
mov eax, ebp
shl eax, 8
xor eax, edx
and eax, r15d
or ecx, eax
mov eax, ebx
shl eax, 8
xor eax, r11d
and eax, r12d
or ecx, eax
mov eax, r9d
shr eax, 0x10
mov dword [r13 + 0x40], ecx
xor eax, r11d
movzx eax, al
mov ecx, esi
shl ecx, 0x10
xor ecx, edx
and ecx, r10d
or ecx, eax
mov eax, ebx
shl eax, 0x10
xor eax, r8d
and eax, r12d
or ecx, eax
shr esi, 8
mov eax, ebp
shl ebx, 0x18
shr eax, 0x10
xor esi, edi
xor eax, edi
shr ebp, 8
and eax, r15d
shr r9d, 8
or ecx, eax
xor r9d, r8d
mov r8, qword [rsp + 0x70]
and esi, r10d
xor ebx, edx
movzx eax, r9b
or eax, esi
mov dword [r13 + 0x44], ecx
and ebx, r12d
xor ebp, r11d
or eax, ebx
and ebp, r15d
or eax, ebp
mov dword [r13 + 0x48], eax
cmp r8, 4
jbe 0x1401b3f9c
mov rax, qword [rsp + 0x68]
mov r12d, dword [rax]
add rax, 4
sub r8, 4
mov qword [rsp + 0x68], rax
bswap r12d
mov qword [rsp + 0x70], r8
mov dword [rsp + 0x78], r12d
mov rdi, qword [rsp + 0x60]
mov eax, dword [r13 + 0x3c]
xor dword [r13 + 0x94], eax
mov eax, dword [r13 + 0xc]
xor dword [r13 + 0x40], eax
mov eax, dword [rdi + 0x24]
mov ecx, dword [rdi + 0x48]
mov r11d, ecx
xor r11d, dword [rdi + 0x38]
xor dword [rdi + 0x80], ecx
mov edx, dword [rdi + 0x44]
mov r10d, edx
xor r10d, dword [rdi + 0x34]
mov r8d, dword [r13 + 0x40]
mov r9d, r8d
xor r9d, dword [rdi + 0x30]
xor dword [rdi + 0x78], r8d
lea r8, [0x140000000]
xor dword [rdi + 0x7c], edx
mov dword [rsp], eax
mov dword [rdi + 0x34], r10d
mov dword [rdi + 0x30], r9d
movzx eax, byte [rdi + 0x32]
mov dword [rdi + 0x38], r11d
mov dword [r13 + 0x3c], r12d
mov r13d, dword [r13 + 0x18]
mov r14d, dword [r14 + rax*4 + 0x36c480]
mov eax, r9d
xor dword [rdi + 0x4c], r13d
mov ebp, r14d
shr rax, 0x18
xor ebp, dword [r8 + rax*4 + 0x36c080]
movzx eax, byte [rdi + 0x31]
mov r15d, dword [r8 + rax*4 + 0x36c880]
xor ebp, r15d
movzx eax, r9b
mov r9, qword [rsp + 0x60]
mov ebx, dword [r8 + rax*4 + 0x36cc80]
mov eax, r10d
shr rax, 0x18
xor ebp, ebx
mov esi, dword [r8 + rax*4 + 0x36c080]
movzx eax, byte [rdi + 0x36]
mov edi, esi
xor edi, dword [r8 + rax*4 + 0x36c480]
movzx eax, byte [r9 + 0x35]
mov eax, dword [r8 + rax*4 + 0x36c880]
xor edi, eax
xor r15d, eax
movzx eax, r10b
mov eax, dword [r8 + rax*4 + 0x36cc80]
xor ebx, eax
xor edi, eax
mov eax, r11d
shr rax, 0x18
mov r10d, dword [r8 + rax*4 + 0x36c080]
xor esi, r10d
movzx eax, byte [r9 + 0x3a]
mov ecx, dword [r8 + rax*4 + 0x36c480]
xor r14d, ecx
movzx eax, byte [r9 + 0x39]
xor ecx, dword [r8 + rax*4 + 0x36c880]
movzx eax, r11b
xor r10d, ecx
lea r11, [0x140000000]
mov eax, dword [r8 + rax*4 + 0x36cc80]
xor r10d, eax
xor ebx, eax
mov eax, r12d
shr rax, 0x18
mov r8d, dword [r8 + rax*4 + 0x36c080]
xor esi, r8d
movzx eax, byte [r9 + 0x3e]
mov eax, dword [r11 + rax*4 + 0x36c480]
xor r8d, eax
xor r14d, eax
movzx eax, byte [r9 + 0x3d]
mov ecx, dword [r11 + rax*4 + 0x36c880]
xor r15d, ecx
movzx eax, r12b
xor ecx, dword [r11 + rax*4 + 0x36cc80]
xor r8d, ecx
mov edx, 0xff0000
mov r11d, r14d
mov eax, ebx
xor eax, r8d
shl r11d, 8
movzx r12d, al
xor r11d, r10d
and r11d, edx
mov eax, r14d
xor eax, edi
mov ecx, 0xff00
and eax, edx
or r12d, eax
mov eax, r15d
xor eax, r10d
and eax, 0xff00
or r12d, eax
mov eax, esi
xor eax, ebp
and eax, 0xff000000
or r12d, eax
mov eax, ebx
shr eax, 0x18
xor eax, ebp
mov dword [r9 + 0x30], r12d
movzx eax, al
or r11d, eax
mov eax, r15d
shl eax, 8
xor eax, r8d
and eax, ecx
or r11d, eax
mov eax, esi
shl eax, 8
xor eax, edi
and eax, 0xff000000
or r11d, eax
mov eax, ebx
shr eax, 0x10
xor eax, edi
mov dword [r9 + 0x34], r11d
movzx eax, al
mov r9d, r14d
shl r9d, 0x10
xor r9d, r8d
shr r14d, 8
and r9d, edx
shr ebx, 8
or r9d, eax
xor ebx, r10d
mov eax, esi
movzx edx, bl
shl eax, 0x10
xor r14d, ebp
xor eax, r10d
shl esi, 0x18
and eax, 0xff000000
xor esi, r8d
or r9d, eax
and r14d, 0xff0000
mov eax, r15d
or edx, r14d
shr eax, 0x10
and esi, 0xff000000
shr r15d, 8
xor eax, ebp
and eax, ecx
xor r15d, edi
mov rcx, qword [rsp + 0x60]
or r9d, eax
mov rdi, rcx
or edx, esi
and r15d, 0xff00
mov r8d, r9d
or edx, r15d
mov dword [rcx + 0x38], r9d
mov dword [rcx + 0x3c], edx
mov ecx, dword [rsp]
xor ecx, r11d
mov dword [rdi + 0x24], ecx
xor r8d, dword [rdi + 0x28]
mov r10d, edx
xor dword [rdi + 0x6c], r11d
xor dword [rdi + 0x70], r9d
xor r10d, dword [rdi + 0x2c]
movzx eax, byte [rdi + 0x26]
xor dword [rdi + 0x74], edx
lea rdx, [0x140000000]
mov dword [rdi + 0x28], r8d
mov dword [rdi + 0x2c], r10d
mov r14d, dword [rdx + rax*4 + 0x36c480]
mov eax, ecx
shr rax, 0x18
mov esi, r14d
xor esi, dword [rdx + rax*4 + 0x36c080]
movzx eax, byte [rdi + 0x25]
mov ebp, dword [rdx + rax*4 + 0x36c880]
xor esi, ebp
movzx eax, cl
mov rcx, qword [rsp + 0x60]
mov ebx, dword [rdx + rax*4 + 0x36cc80]
xor esi, ebx
mov eax, r8d
shr rax, 0x18
mov r15d, dword [rdx + rax*4 + 0x36c080]
movzx eax, byte [rdi + 0x2a]
mov edi, r15d
xor edi, dword [rdx + rax*4 + 0x36c480]
movzx eax, byte [rcx + 0x29]
mov eax, dword [rdx + rax*4 + 0x36c880]
xor edi, eax
xor ebp, eax
movzx eax, r8b
mov r8, rcx
mov eax, dword [rdx + rax*4 + 0x36cc80]
xor ebx, eax
xor edi, eax
mov eax, r10d
shr rax, 0x18
mov r11d, dword [rdx + rax*4 + 0x36c080]
xor r15d, r11d
movzx eax, byte [rcx + 0x2e]
mov ecx, dword [rdx + rax*4 + 0x36c480]
xor r14d, ecx
movzx eax, byte [r8 + 0x2d]
xor r11d, dword [rdx + rax*4 + 0x36c880]
xor r11d, ecx
movzx eax, r10b
mov eax, dword [rdx + rax*4 + 0x36cc80]
xor r11d, eax
xor ebx, eax
mov eax, r12d
shr rax, 0x18
mov r9d, dword [rdx + rax*4 + 0x36c080]
xor r15d, r9d
movzx eax, byte [r8 + 0x32]
mov eax, dword [rdx + rax*4 + 0x36c480]
xor r9d, eax
xor r14d, eax
movzx eax, byte [r8 + 0x31]
mov ecx, dword [rdx + rax*4 + 0x36c880]
xor ebp, ecx
movzx eax, r12b
mov r12d, r15d
xor r12d, esi
and r12d, 0xff000000
xor r9d, dword [rdx + rax*4 + 0x36cc80]
xor r9d, ecx
mov eax, r9d
xor eax, ebx
movzx ecx, al
mov eax, edi
xor eax, r14d
or r12d, ecx
mov ecx, 0xff0000
and eax, ecx
or r12d, eax
mov eax, r11d
xor eax, ebp
and eax, 0xff00
or r12d, eax
mov r10d, r15d
mov dword [r8 + 0x24], r12d
mov eax, r14d
shl r10d, 8
shl eax, 8
xor r10d, edi
xor eax, r11d
and r10d, 0xff000000
and eax, ecx
mov edx, 0xff00
or r10d, eax
mov eax, ebx
shr eax, 0x18
xor eax, esi
movzx eax, al
or r10d, eax
mov eax, ebp
shl eax, 8
xor eax, r9d
and eax, edx
or r10d, eax
mov eax, r14d
shl eax, 0x10
xor r13d, r10d
xor eax, r9d
mov dword [r8 + 0x28], r10d
and eax, ecx
shr r14d, 8
mov rcx, qword [rsp + 0x60]
mov r8d, r15d
shl r8d, 0x10
xor r14d, esi
xor r8d, r11d
shl r15d, 0x18
xor r15d, r9d
and r8d, 0xff000000
or r8d, eax
and r15d, 0xff000000
mov eax, ebx
and r14d, 0xff0000
shr eax, 0x10
xor eax, edi
shr ebx, 8
movzx eax, al
xor ebx, r11d
or r8d, eax
lea r11, [0x140000000]
mov eax, ebp
shr ebp, 8
shr eax, 0x10
xor ebp, edi
xor eax, esi
and ebp, edx
and eax, edx
or r8d, eax
movzx eax, bl
or r15d, eax
mov dword [rcx + 0x2c], r8d
or r15d, r14d
mov edx, r8d
or r15d, ebp
mov dword [rcx + 0x30], r15d
mov r9d, r15d
mov ecx, r13d
mov r13, qword [rsp + 0x60]
xor edx, dword [r13 + 0x1c]
xor r9d, dword [r13 + 0x20]
xor dword [r13 + 0x60], r10d
xor dword [r13 + 0x64], r8d
xor dword [r13 + 0x68], r15d
mov dword [r13 + 0x18], ecx
movzx eax, byte [r13 + 0x1a]
mov dword [r13 + 0x1c], edx
mov dword [r13 + 0x20], r9d
mov ebp, dword [r11 + rax*4 + 0x36c480]
mov eax, ecx
shr rax, 0x18
mov esi, ebp
xor esi, dword [r11 + rax*4 + 0x36c080]
movzx eax, byte [r13 + 0x19]
mov r14d, dword [r11 + rax*4 + 0x36c880]
movzx eax, cl
xor esi, r14d
mov r10d, dword [r11 + rax*4 + 0x36cc80]
xor esi, r10d
mov eax, edx
shr rax, 0x18
mov edi, dword [r11 + rax*4 + 0x36c080]
mov ebx, edi
movzx eax, byte [r13 + 0x1e]
xor ebx, dword [r11 + rax*4 + 0x36c480]
movzx eax, byte [r13 + 0x1d]
mov eax, dword [r11 + rax*4 + 0x36c880]
xor ebx, eax
xor r14d, eax
movzx eax, dl
mov eax, dword [r11 + rax*4 + 0x36cc80]
xor r10d, eax
xor ebx, eax
mov eax, r9d
shr rax, 0x18
mov edx, dword [r11 + rax*4 + 0x36c080]
xor edi, edx
movzx eax, byte [r13 + 0x22]
mov ecx, dword [r11 + rax*4 + 0x36c480]
xor ebp, ecx
movzx eax, byte [r13 + 0x21]
xor ecx, dword [r11 + rax*4 + 0x36c880]
xor edx, ecx
movzx eax, r9b
mov r9d, 0xff000000
mov eax, dword [r11 + rax*4 + 0x36cc80]
xor edx, eax
xor r10d, eax
mov eax, r12d
shr rax, 0x18
mov r8d, dword [r11 + rax*4 + 0x36c080]
xor edi, r8d
movzx eax, byte [r13 + 0x26]
mov eax, dword [r11 + rax*4 + 0x36c480]
xor r8d, eax
xor ebp, eax
movzx eax, byte [r13 + 0x25]
mov ecx, dword [r11 + rax*4 + 0x36c880]
xor r14d, ecx
movzx eax, r12b
mov r12d, 0xff0000
xor ecx, dword [r11 + rax*4 + 0x36cc80]
mov eax, r10d
xor r8d, ecx
mov r11d, ebp
xor eax, r8d
shl r11d, 8
movzx r15d, al
xor r11d, edx
and r11d, r12d
mov eax, ebp
xor eax, ebx
mov ecx, 0xff00
and eax, r12d
or r15d, eax
mov eax, r14d
xor eax, edx
and eax, 0xff00
or r15d, eax
mov eax, edi
xor eax, esi
and eax, r9d
or r15d, eax
mov eax, r10d
shr eax, 0x18
xor eax, esi
mov dword [r13 + 0x18], r15d
movzx eax, al
or r11d, eax
mov eax, r14d
shl eax, 8
xor eax, r8d
and eax, ecx
or r11d, eax
mov eax, edi
shl eax, 8
xor eax, ebx
and eax, r9d
mov r9d, ebp
or r11d, eax
shl r9d, 0x10
xor dword [r13 + 0x54], r11d
xor r9d, r8d
mov eax, r10d
shr ebp, 8
shr eax, 0x10
and r9d, r12d
xor eax, ebx
shr r10d, 8
movzx eax, al
xor r10d, edx
or r9d, eax
mov dword [r13 + 0x1c], r11d
mov eax, edi
xor ebp, esi
shl eax, 0x10
and ebp, r12d
xor eax, edx
shl edi, 0x18
and eax, 0xff000000
movzx edx, r10b
or r9d, eax
xor edi, r8d
mov eax, r14d
or edx, ebp
shr eax, 0x10
and edi, 0xff000000
xor eax, esi
shr r14d, 8
and eax, ecx
or edx, edi
or r9d, eax
xor r14d, ebx
and r14d, ecx
mov dword [r13 + 0x20], r9d
mov ecx, dword [r13 + 0xc]
or edx, r14d
xor ecx, r11d
mov dword [r13 + 0x24], edx
lea r14, [0x140000000]
mov dword [r13 + 0xc], ecx
movzx eax, byte [r13 + 0xe]
mov r8d, r9d
xor r8d, dword [r13 + 0x10]
mov r10d, edx
xor r9d, dword [rsp]
xor dword [r13 + 0x58], r9d
mov esi, dword [r14 + rax*4 + 0x36c480]
mov eax, ecx
xor edx, dword [rsp + 0x78]
mov edi, esi
xor r10d, dword [r13 + 0x14]
xor dword [r13 + 0x5c], edx
shr rax, 0x18
mov dword [r13 + 0x10], r8d
mov dword [r13 + 0x14], r10d
xor edi, dword [r14 + rax*4 + 0x36c080]
movzx eax, byte [r13 + 0xd]
mov ebp, dword [r14 + rax*4 + 0x36c880]
xor edi, ebp
movzx eax, cl
mov r9d, dword [r14 + rax*4 + 0x36cc80]
mov eax, r8d
shr rax, 0x18
xor edi, r9d
mov ebx, dword [r14 + rax*4 + 0x36c080]
mov r11d, ebx
movzx eax, byte [r13 + 0x12]
xor r11d, dword [r14 + rax*4 + 0x36c480]
movzx eax, byte [r13 + 0x11]
mov eax, dword [r14 + rax*4 + 0x36c880]
xor r11d, eax
xor ebp, eax
movzx eax, r8b
mov eax, dword [r14 + rax*4 + 0x36cc80]
xor r11d, eax
xor r9d, eax
mov eax, r10d
shr rax, 0x18
mov r8d, dword [r14 + rax*4 + 0x36c080]
xor ebx, r8d
movzx eax, byte [r13 + 0x16]
mov ecx, dword [r14 + rax*4 + 0x36c480]
xor esi, ecx
movzx eax, byte [r13 + 0x15]
xor ecx, dword [r14 + rax*4 + 0x36c880]
xor r8d, ecx
movzx eax, r10b
mov r10d, 0xff00
mov eax, dword [r14 + rax*4 + 0x36cc80]
xor r8d, eax
xor r9d, eax
mov eax, r15d
shr rax, 0x18
mov edx, dword [r14 + rax*4 + 0x36c080]
xor ebx, edx
movzx eax, byte [r13 + 0x1a]
mov eax, dword [r14 + rax*4 + 0x36c480]
xor esi, eax
xor edx, eax
movzx eax, byte [r13 + 0x19]
mov ecx, dword [r14 + rax*4 + 0x36c880]
xor ebp, ecx
movzx eax, r15b
mov r15d, 0xff000000
xor ecx, dword [r14 + rax*4 + 0x36cc80]
mov eax, r9d
xor edx, ecx
xor eax, edx
movzx ecx, al
mov eax, esi
xor eax, r11d
and eax, r12d
or ecx, eax
mov eax, ebp
xor eax, r8d
and eax, r10d
or ecx, eax
mov eax, ebx
xor eax, edi
and eax, r15d
or ecx, eax
mov eax, r9d
shr eax, 0x18
xor eax, edi
mov dword [r13 + 0xc], ecx
movzx eax, al
mov ecx, esi
shl ecx, 8
xor ecx, r8d
and ecx, r12d
or ecx, eax
mov eax, ebp
shl eax, 8
xor eax, edx
and eax, r10d
or ecx, eax
mov eax, ebx
shl eax, 8
xor eax, r11d
and eax, r15d
or ecx, eax
mov eax, r9d
shr eax, 0x10
xor eax, r11d
mov dword [r13 + 0x10], ecx
movzx eax, al
mov ecx, esi
shl ecx, 0x10
xor ecx, edx
and ecx, r12d
or ecx, eax
mov eax, ebx
shl eax, 0x10
xor eax, r8d
and eax, r15d
or ecx, eax
mov eax, ebp
shr eax, 0x10
xor eax, edi
shr esi, 8
and eax, r10d
shl ebx, 0x18
or ecx, eax
shr ebp, 8
shr r9d, 8
xor esi, edi
xor r9d, r8d
mov dword [r13 + 0x14], ecx
mov r8, qword [rsp + 0x70]
and esi, r12d
xor ebx, edx
movzx eax, r9b
or eax, esi
and ebx, r15d
xor ebp, r11d
or eax, ebx
and ebp, r10d
or eax, ebp
mov dword [r13 + 0x18], eax
cmp r8, 4
jbe 0x1401b3f98
mov rax, qword [rsp + 0x68]
mov r12d, dword [rax]
add rax, 4
sub r8, 4
mov qword [rsp + 0x68], rax
bswap r12d
mov qword [rsp + 0x70], r8
mov dword [rsp + 0x78], r12d
jmp 0x1401b2450
xor ecx, ecx
jmp 0x1401b3fa8
mov ecx, 2
jmp 0x1401b3fa8
mov ecx, 1
mov rdx, qword [rsp + 0x68]
xor r12d, r12d
mov dword [r13 + 4], r8d
test r8, r8
je 0x1401b3fcc
movzx eax, byte [rdx]
inc rdx
shl r12d, 8
or r12d, eax
sub r8, 1
jne 0x1401b3fb9
mov dword [r13 + 8], ecx
mov dword [r13], r12d
add rsp, 0x18
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret