Function at 0x1400104d0
Capabilities:
Authenticate hmac
Encode data using base64
Encode data using xor
Parse pe header

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0x38
mov r9, r8
mov r10, rcx
mov r11d, edx
mov dword [r9 + 0x204], 0x21
movzx ebx, byte [r10 + 3]
movzx edi, byte [r10 + 2]
shl ebx, 0x18
shl edi, 0x10
movzx esi, byte [r10 + 1]
or ebx, edi
shl esi, 8
or ebx, esi
movzx r8d, byte [r10]
or ebx, r8d
mov dword [r9], ebx
movzx edi, byte [r10 + 7]
movzx ecx, byte [r10 + 6]
shl edi, 0x18
shl ecx, 0x10
movzx eax, byte [r10 + 5]
or edi, ecx
shl eax, 8
or edi, eax
movzx edx, byte [r10 + 4]
or edi, edx
mov dword [r9 + 4], edi
movzx r8d, byte [r10 + 0xb]
movzx r12d, byte [r10 + 0xa]
shl r8d, 0x18
shl r12d, 0x10
movzx r13d, byte [r10 + 9]
or r8d, r12d
shl r13d, 8
mov r12d, 8
or r8d, r13d
mov r13d, r11d
shr r13d, 2
cmp r13d, 8
movzx r14d, byte [r10 + 8]
cmova r12d, r13d
or r8d, r14d
mov dword [r9 + 8], r8d
movzx esi, byte [r10 + 0xf]
movzx ecx, byte [r10 + 0xe]
shl esi, 0x18
shl ecx, 0x10
movzx eax, byte [r10 + 0xd]
or esi, ecx
shl eax, 8
lea ecx, [r12 + 6]
or esi, eax
lea eax, [r12*8 + 0x37]
movzx edx, byte [r10 + 0xc]
or esi, edx
xor edx, edx
div r13d
mov dword [r9 + 0xc], esi
mov edx, eax
cmp r11d, 0x10
je 0x14001125a
cmp r11d, 0x18
jne 0x140011055
mov dword [r9 + 0x200], ecx
movzx ecx, byte [r10 + 0x13]
movzx eax, byte [r10 + 0x12]
shl ecx, 0x18
shl eax, 0x10
movzx r11d, byte [r10 + 0x11]
or ecx, eax
shl r11d, 8
or ecx, r11d
movzx r12d, byte [r10 + 0x10]
or ecx, r12d
mov dword [r9 + 0x10], ecx
movzx eax, byte [r10 + 0x17]
movzx r13d, byte [r10 + 0x16]
shl eax, 0x18
shl r13d, 0x10
movzx r14d, byte [r10 + 0x15]
or eax, r13d
shl r14d, 8
or eax, r14d
movzx r10d, byte [r10 + 0x14]
or eax, r10d
mov dword [r9 + 0x14], eax
test edx, edx
jbe 0x140011b07
mov r12d, edx
xor r10d, r10d
shr r12d, 4
xor r13d, r13d
mov r14d, 1
xor r11d, r11d
test r12d, r12d
jbe 0x140010f9d
mov qword [rsp + 0x20], r15
mov qword [rsp + 0x28], rbp
lea rbp, [0x140002000]
mov r15d, eax
shr r15d, 8
movzx r14d, r15b
mov r15d, eax
shr r15d, 0x10
movzx r15d, r15b
mov r14d, dword [rbp + r14*4 + 0x2b920]
xor r14d, dword [rbp + r15*4 + 0x2bd20]
mov r15d, eax
shr r15d, 0x18
xor r14d, dword [rbp + r15*4 + 0x2c120]
movzx r15d, al
xor r14d, dword [rbp + r15*4 + 0x2c520]
lea r15d, [r11 + 7]
xor r14d, dword [rbp + r13*4 + 0x2a6a0]
xor ebx, r14d
lea r14d, [r11 + 6]
xor edi, ebx
xor r8d, edi
xor esi, r8d
xor ecx, esi
mov dword [r9 + r14*4], ebx
lea r14d, [r11 + 8]
xor eax, ecx
mov dword [r9 + r15*4], edi
lea r15d, [r11 + 9]
mov dword [r9 + r14*4], r8d
lea r14d, [r11 + 0xa]
mov dword [r9 + r15*4], esi
lea r15d, [r11 + 0xb]
mov dword [r9 + r14*4], ecx
mov r14d, eax
shr r14d, 8
movzx r14d, r14b
mov dword [r9 + r15*4], eax
mov r15d, dword [rbp + r14*4 + 0x2b920]
mov r14d, eax
shr r14d, 0x10
movzx r14d, r14b
xor r15d, dword [rbp + r14*4 + 0x2bd20]
mov r14d, eax
shr r14d, 0x18
xor r15d, dword [rbp + r14*4 + 0x2c120]
movzx r14d, al
xor r15d, dword [rbp + r14*4 + 0x2c520]
lea r14d, [r13 + 1]
xor r15d, dword [rbp + r14*4 + 0x2a6a0]
lea r14d, [r11 + 0xd]
xor ebx, r15d
lea r15d, [r11 + 0xc]
xor edi, ebx
xor r8d, edi
xor esi, r8d
xor ecx, esi
mov dword [r9 + r15*4], ebx
lea r15d, [r11 + 0xe]
xor eax, ecx
mov dword [r9 + r14*4], edi
lea r14d, [r11 + 0xf]
mov dword [r9 + r15*4], r8d
lea r15d, [r11 + 0x10]
mov dword [r9 + r14*4], esi
lea r14d, [r11 + 0x11]
mov dword [r9 + r15*4], ecx
mov r15d, eax
shr r15d, 8
mov dword [r9 + r14*4], eax
movzx r14d, r15b
mov r15d, eax
shr r15d, 0x10
movzx r15d, r15b
mov r14d, dword [rbp + r14*4 + 0x2b920]
xor r14d, dword [rbp + r15*4 + 0x2bd20]
mov r15d, eax
shr r15d, 0x18
xor r14d, dword [rbp + r15*4 + 0x2c120]
movzx r15d, al
xor r14d, dword [rbp + r15*4 + 0x2c520]
lea r15d, [r13 + 2]
xor r14d, dword [rbp + r15*4 + 0x2a6a0]
lea r15d, [r11 + 0x13]
xor ebx, r14d
lea r14d, [r11 + 0x12]
xor edi, ebx
xor r8d, edi
xor esi, r8d
xor ecx, esi
mov dword [r9 + r14*4], ebx
lea r14d, [r11 + 0x14]
xor eax, ecx
nop
mov dword [r9 + r15*4], edi
lea r15d, [r11 + 0x15]
mov dword [r9 + r14*4], r8d
lea r14d, [r11 + 0x16]
mov dword [r9 + r15*4], esi
lea r15d, [r11 + 0x17]
mov dword [r9 + r14*4], ecx
mov r14d, eax
shr r14d, 8
movzx r14d, r14b
mov dword [r9 + r15*4], eax
mov r15d, dword [rbp + r14*4 + 0x2b920]
mov r14d, eax
shr r14d, 0x10
movzx r14d, r14b
xor r15d, dword [rbp + r14*4 + 0x2bd20]
mov r14d, eax
shr r14d, 0x18
xor r15d, dword [rbp + r14*4 + 0x2c120]
movzx r14d, al
xor r15d, dword [rbp + r14*4 + 0x2c520]
lea r14d, [r13 + 3]
xor r15d, dword [rbp + r14*4 + 0x2a6a0]
lea r14d, [r11 + 0x19]
xor ebx, r15d
lea r15d, [r11 + 0x18]
xor edi, ebx
xor r8d, edi
xor esi, r8d
xor ecx, esi
nop
mov dword [r9 + r15*4], ebx
lea r15d, [r11 + 0x1a]
xor eax, ecx
mov dword [r9 + r14*4], edi
lea r14d, [r11 + 0x1b]
mov dword [r9 + r15*4], r8d
lea r15d, [r11 + 0x1c]
mov dword [r9 + r14*4], esi
lea r14d, [r11 + 0x1d]
mov dword [r9 + r15*4], ecx
mov r15d, eax
shr r15d, 8
mov dword [r9 + r14*4], eax
movzx r14d, r15b
mov r15d, eax
shr r15d, 0x10
movzx r15d, r15b
mov r14d, dword [rbp + r14*4 + 0x2b920]
xor r14d, dword [rbp + r15*4 + 0x2bd20]
mov r15d, eax
shr r15d, 0x18
xor r14d, dword [rbp + r15*4 + 0x2c120]
movzx r15d, al
xor r14d, dword [rbp + r15*4 + 0x2c520]
lea r15d, [r13 + 4]
xor r14d, dword [rbp + r15*4 + 0x2a6a0]
lea r15d, [r11 + 0x1f]
xor ebx, r14d
lea r14d, [r11 + 0x1e]
xor edi, ebx
xor r8d, edi
xor esi, r8d
xor ecx, esi
nop dword [rax]
mov dword [r9 + r14*4], ebx
lea r14d, [r11 + 0x20]
xor eax, ecx
mov dword [r9 + r15*4], edi
lea r15d, [r11 + 0x21]
mov dword [r9 + r14*4], r8d
lea r14d, [r11 + 0x22]
mov dword [r9 + r15*4], esi
lea r15d, [r11 + 0x23]
mov dword [r9 + r14*4], ecx
mov r14d, eax
shr r14d, 8
movzx r14d, r14b
mov dword [r9 + r15*4], eax
mov r15d, dword [rbp + r14*4 + 0x2b920]
mov r14d, eax
shr r14d, 0x10
movzx r14d, r14b
xor r15d, dword [rbp + r14*4 + 0x2bd20]
mov r14d, eax
shr r14d, 0x18
xor r15d, dword [rbp + r14*4 + 0x2c120]
movzx r14d, al
xor r15d, dword [rbp + r14*4 + 0x2c520]
lea r14d, [r13 + 5]
xor r15d, dword [rbp + r14*4 + 0x2a6a0]
lea r14d, [r11 + 0x25]
xor ebx, r15d
lea r15d, [r11 + 0x24]
xor edi, ebx
xor r8d, edi
xor esi, r8d
xor ecx, esi
mov dword [r9 + r15*4], ebx
lea r15d, [r11 + 0x26]
xor eax, ecx
mov dword [r9 + r14*4], edi
lea r14d, [r11 + 0x27]
mov dword [r9 + r15*4], r8d
lea r15d, [r11 + 0x28]
mov dword [r9 + r14*4], esi
lea r14d, [r11 + 0x29]
mov dword [r9 + r15*4], ecx
mov r15d, eax
shr r15d, 8
mov dword [r9 + r14*4], eax
movzx r14d, r15b
mov r15d, eax
shr r15d, 0x10
movzx r15d, r15b
mov r14d, dword [rbp + r14*4 + 0x2b920]
xor r14d, dword [rbp + r15*4 + 0x2bd20]
mov r15d, eax
shr r15d, 0x18
xor r14d, dword [rbp + r15*4 + 0x2c120]
movzx r15d, al
xor r14d, dword [rbp + r15*4 + 0x2c520]
lea r15d, [r13 + 6]
xor r14d, dword [rbp + r15*4 + 0x2a6a0]
lea r15d, [r11 + 0x2b]
xor ebx, r14d
lea r14d, [r11 + 0x2a]
xor edi, ebx
xor r8d, edi
xor esi, r8d
xor ecx, esi
mov dword [r9 + r14*4], ebx
lea r14d, [r11 + 0x2c]
xor eax, ecx
nop dword [rax]
mov dword [r9 + r15*4], edi
lea r15d, [r11 + 0x2d]
mov dword [r9 + r14*4], r8d
lea r14d, [r11 + 0x2e]
mov dword [r9 + r15*4], esi
lea r15d, [r11 + 0x2f]
mov dword [r9 + r14*4], ecx
mov r14d, eax
shr r14d, 8
movzx r14d, r14b
mov dword [r9 + r15*4], eax
nop dword [rax]
mov r15d, dword [rbp + r14*4 + 0x2b920]
mov r14d, eax
shr r14d, 0x10
movzx r14d, r14b
xor r15d, dword [rbp + r14*4 + 0x2bd20]
mov r14d, eax
shr r14d, 0x18
xor r15d, dword [rbp + r14*4 + 0x2c120]
movzx r14d, al
xor r15d, dword [rbp + r14*4 + 0x2c520]
lea r14d, [r13 + 7]
xor r15d, dword [rbp + r14*4 + 0x2a6a0]
lea r14d, [r11 + 0x31]
xor ebx, r15d
lea r15d, [r11 + 0x30]
xor edi, ebx
xor r8d, edi
xor esi, r8d
xor ecx, esi
mov dword [r9 + r15*4], ebx
lea r15d, [r11 + 0x32]
xor eax, ecx
mov dword [r9 + r14*4], edi
lea r14d, [r11 + 0x33]
mov dword [r9 + r15*4], r8d
lea r15d, [r11 + 0x34]
mov dword [r9 + r14*4], esi
lea r14d, [r11 + 0x35]
mov dword [r9 + r15*4], ecx
mov r15d, eax
shr r15d, 8
mov dword [r9 + r14*4], eax
movzx r14d, r15b
mov r15d, eax
shr r15d, 0x10
movzx r15d, r15b
mov r14d, dword [rbp + r14*4 + 0x2b920]
nop
xor r14d, dword [rbp + r15*4 + 0x2bd20]
mov r15d, eax
shr r15d, 0x18
xor r14d, dword [rbp + r15*4 + 0x2c120]
movzx r15d, al
xor r14d, dword [rbp + r15*4 + 0x2c520]
lea r15d, [r13 + 8]
xor r14d, dword [rbp + r15*4 + 0x2a6a0]
lea r15d, [r11 + 0x37]
xor ebx, r14d
lea r14d, [r11 + 0x36]
xor edi, ebx
xor r8d, edi
xor esi, r8d
xor ecx, esi
mov dword [r9 + r14*4], ebx
lea r14d, [r11 + 0x38]
mov dword [r9 + r15*4], edi
lea r15d, [r11 + 0x39]
xor eax, ecx
mov dword [r9 + r14*4], r8d
lea r14d, [r11 + 0x3a]
nop
mov dword [r9 + r15*4], esi
lea r15d, [r11 + 0x3b]
nop
mov dword [r9 + r14*4], ecx
mov r14d, eax
nop dword [rax]
mov dword [r9 + r15*4], eax
mov r15d, eax
shr r14d, 8
movzx r14d, r14b
shr r15d, 0x10
movzx r15d, r15b
nop dword [rax]
mov r14d, dword [rbp + r14*4 + 0x2b920]
nop
xor r14d, dword [rbp + r15*4 + 0x2bd20]
mov r15d, eax
shr r15d, 0x18
nop dword [rax]
xor r14d, dword [rbp + r15*4 + 0x2c120]
movzx r15d, al
nop
mov r15d, dword [rbp + r15*4 + 0x2c520]
xor r14d, r15d
lea r15d, [r13 + 9]
inc r10d
xor r14d, dword [rbp + r15*4 + 0x2a6a0]
lea r15d, [r11 + 0x3d]
xor ebx, r14d
lea r14d, [r11 + 0x3c]
xor edi, ebx
xor r8d, edi
xor esi, r8d
xor ecx, esi
mov dword [r9 + r14*4], ebx
lea r14d, [r11 + 0x3e]
mov dword [r9 + r15*4], edi
lea r15d, [r11 + 0x3f]
xor eax, ecx
mov dword [r9 + r14*4], r8d
lea r14d, [r11 + 0x40]
mov dword [r9 + r15*4], esi
lea r15d, [r11 + 0x41]
mov dword [r9 + r14*4], ecx
mov r14d, eax
nop
mov dword [r9 + r15*4], eax
mov r15d, eax
shr r14d, 8
movzx r14d, r14b
shr r15d, 0x10
movzx r15d, r15b
mov r14d, dword [rbp + r14*4 + 0x2b920]
nop
xor r14d, dword [rbp + r15*4 + 0x2bd20]
mov r15d, eax
shr r15d, 0x18
nop
xor r14d, dword [rbp + r15*4 + 0x2c120]
movzx r15d, al
xor r14d, dword [rbp + r15*4 + 0x2c520]
lea r15d, [r13 + 0xa]
xor r14d, dword [rbp + r15*4 + 0x2a6a0]
lea r15d, [r11 + 0x43]
xor ebx, r14d
lea r14d, [r11 + 0x42]
xor edi, ebx
xor r8d, edi
xor esi, r8d
xor ecx, esi
mov dword [r9 + r14*4], ebx
lea r14d, [r11 + 0x44]
xor eax, ecx
nop
mov dword [r9 + r15*4], edi
lea r15d, [r11 + 0x45]
nop dword [rax]
mov dword [r9 + r14*4], r8d
lea r14d, [r11 + 0x46]
nop
mov dword [r9 + r15*4], esi
lea r15d, [r11 + 0x47]
mov dword [r9 + r14*4], ecx
mov r14d, eax
shr r14d, 8
movzx r14d, r14b
mov dword [r9 + r15*4], eax
mov r15d, dword [rbp + r14*4 + 0x2b920]
mov r14d, eax
shr r14d, 0x10
movzx r14d, r14b
xor r15d, dword [rbp + r14*4 + 0x2bd20]
mov r14d, eax
shr r14d, 0x18
xor r15d, dword [rbp + r14*4 + 0x2c120]
movzx r14d, al
xor r15d, dword [rbp + r14*4 + 0x2c520]
lea r14d, [r13 + 0xb]
nop dword [rax]
xor r15d, dword [rbp + r14*4 + 0x2a6a0]
lea r14d, [r11 + 0x49]
xor ebx, r15d
lea r15d, [r11 + 0x48]
xor edi, ebx
xor r8d, edi
xor esi, r8d
xor ecx, esi
mov dword [r9 + r15*4], ebx
lea r15d, [r11 + 0x4a]
xor eax, ecx
mov dword [r9 + r14*4], edi
lea r14d, [r11 + 0x4b]
mov dword [r9 + r15*4], r8d
lea r15d, [r11 + 0x4c]
mov dword [r9 + r14*4], esi
lea r14d, [r11 + 0x4d]
mov dword [r9 + r15*4], ecx
mov r15d, eax
shr r15d, 8
mov dword [r9 + r14*4], eax
movzx r14d, r15b
mov r15d, eax
shr r15d, 0x10
movzx r15d, r15b
nop
mov r14d, dword [rbp + r14*4 + 0x2b920]
xor r14d, dword [rbp + r15*4 + 0x2bd20]
mov r15d, eax
shr r15d, 0x18
xor r14d, dword [rbp + r15*4 + 0x2c120]
movzx r15d, al
nop
xor r14d, dword [rbp + r15*4 + 0x2c520]
lea r15d, [r13 + 0xc]
xor r14d, dword [rbp + r15*4 + 0x2a6a0]
lea r15d, [r11 + 0x4f]
xor ebx, r14d
lea r14d, [r11 + 0x4e]
xor edi, ebx
xor r8d, edi
xor esi, r8d
xor ecx, esi
mov dword [r9 + r14*4], ebx
lea r14d, [r11 + 0x50]
xor eax, ecx
mov dword [r9 + r15*4], edi
lea r15d, [r11 + 0x51]
mov dword [r9 + r14*4], r8d
lea r14d, [r11 + 0x52]
mov dword [r9 + r15*4], esi
lea r15d, [r11 + 0x53]
mov dword [r9 + r14*4], ecx
mov r14d, eax
shr r14d, 8
movzx r14d, r14b
mov dword [r9 + r15*4], eax
mov r15d, dword [rbp + r14*4 + 0x2b920]
mov r14d, eax
shr r14d, 0x10
movzx r14d, r14b
xor r15d, dword [rbp + r14*4 + 0x2bd20]
mov r14d, eax
shr r14d, 0x18
xor r15d, dword [rbp + r14*4 + 0x2c120]
movzx r14d, al
xor r15d, dword [rbp + r14*4 + 0x2c520]
lea r14d, [r13 + 0xd]
xor r15d, dword [rbp + r14*4 + 0x2a6a0]
lea r14d, [r11 + 0x55]
xor ebx, r15d
lea r15d, [r11 + 0x54]
xor edi, ebx
xor r8d, edi
xor esi, r8d
xor ecx, esi
nop dword [rax]
mov dword [r9 + r15*4], ebx
lea r15d, [r11 + 0x56]
xor eax, ecx
nop
mov dword [r9 + r14*4], edi
lea r14d, [r11 + 0x57]
mov dword [r9 + r15*4], r8d
lea r15d, [r11 + 0x58]
mov dword [r9 + r14*4], esi
lea r14d, [r11 + 0x59]
nop
mov dword [r9 + r15*4], ecx
mov r15d, eax
shr r15d, 8
nop
mov dword [r9 + r14*4], eax
movzx r14d, r15b
mov r15d, eax
shr r15d, 0x10
movzx r15d, r15b
nop
mov r14d, dword [rbp + r14*4 + 0x2b920]
nop dword [rax]
xor r14d, dword [rbp + r15*4 + 0x2bd20]
mov r15d, eax
shr r15d, 0x18
nop dword [rax]
xor r14d, dword [rbp + r15*4 + 0x2c120]
movzx r15d, al
xor r14d, dword [rbp + r15*4 + 0x2c520]
lea r15d, [r13 + 0xe]
nop
xor r14d, dword [rbp + r15*4 + 0x2a6a0]
lea r15d, [r11 + 0x5b]
xor ebx, r14d
lea r14d, [r11 + 0x5a]
xor edi, ebx
xor r8d, edi
xor esi, r8d
xor ecx, esi
mov dword [r9 + r14*4], ebx
lea r14d, [r11 + 0x5c]
xor eax, ecx
nop dword [rax]
mov dword [r9 + r15*4], edi
lea r15d, [r11 + 0x5d]
mov dword [r9 + r14*4], r8d
lea r14d, [r11 + 0x5e]
nop dword [rax]
mov dword [r9 + r15*4], esi
lea r15d, [r11 + 0x5f]
mov dword [r9 + r14*4], ecx
mov r14d, eax
shr r14d, 8
movzx r14d, r14b
nop dword [rax]
mov dword [r9 + r15*4], eax
mov r15d, dword [rbp + r14*4 + 0x2b920]
mov r14d, eax
shr r14d, 0x10
movzx r14d, r14b
xor r15d, dword [rbp + r14*4 + 0x2bd20]
mov r14d, eax
shr r14d, 0x18
nop dword [rax]
xor r15d, dword [rbp + r14*4 + 0x2c120]
movzx r14d, al
xor r15d, dword [rbp + r14*4 + 0x2c520]
lea r14d, [r13 + 0xf]
add r13d, 0x10
xor r15d, dword [rbp + r14*4 + 0x2a6a0]
lea r14d, [r11 + 0x60]
xor ebx, r15d
lea r15d, [r11 + 0x61]
xor edi, ebx
xor r8d, edi
xor esi, r8d
xor ecx, esi
nop
mov dword [r9 + r15*4], edi
lea r15d, [r11 + 0x62]
xor eax, ecx
mov dword [r9 + r14*4], ebx
mov dword [r9 + r15*4], r8d
lea r15d, [r11 + 0x63]
mov dword [r9 + r15*4], esi
lea r15d, [r11 + 0x64]
add r11d, 0x65
cmp r10d, r12d
mov dword [r9 + r15*4], ecx
mov dword [r9 + r11*4], eax
mov r11d, r14d
jb 0x140010664
shl r10d, 4
mov r15, qword [rsp + 0x20]
mov rbp, qword [rsp + 0x28]
lea r14d, [r10 + 1]
lea r10d, [r14 - 1]
lea r14d, [r14 + r14*2 - 3]
add r14d, r14d
cmp r10d, edx
jae 0x140011b07
lea r13, [0x140002000]
mov r11d, eax
shr r11d, 8
movzx r11d, r11b
mov r12d, dword [r13 + r11*4 + 0x2b920]
mov r11d, eax
shr r11d, 0x10
movzx r11d, r11b
xor r12d, dword [r13 + r11*4 + 0x2bd20]
mov r11d, eax
shr r11d, 0x18
xor r12d, dword [r13 + r11*4 + 0x2c120]
movzx r11d, al
xor r12d, dword [r13 + r11*4 + 0x2c520]
lea r11d, [r14 + 6]
xor r12d, dword [r13 + r10*4 + 0x2a6a0]
inc r10d
xor ebx, r12d
lea r12d, [r14 + 7]
xor edi, ebx
xor r8d, edi
xor esi, r8d
xor ecx, esi
mov dword [r9 + r12*4], edi
lea r12d, [r14 + 8]
xor eax, ecx
mov dword [r9 + r11*4], ebx
mov dword [r9 + r12*4], r8d
lea r12d, [r14 + 9]
mov dword [r9 + r12*4], esi
lea r12d, [r14 + 0xa]
add r14d, 0xb
cmp r10d, edx
mov dword [r9 + r12*4], ecx
mov dword [r9 + r14*4], eax
mov r14d, r11d
jb 0x140010fb9
jmp 0x140011b07
cmp r11d, 0x20
jne 0x14001123f
mov dword [r9 + 0x200], ecx
movzx r13d, byte [r10 + 0x13]
movzx r12d, byte [r10 + 0x12]
shl r13d, 0x18
shl r12d, 0x10
movzx r11d, byte [r10 + 0x11]
or r13d, r12d
shl r11d, 8
or r13d, r11d
movzx ecx, byte [r10 + 0x10]
or r13d, ecx
mov dword [r9 + 0x10], r13d
movzx r12d, byte [r10 + 0x17]
movzx eax, byte [r10 + 0x16]
shl r12d, 0x18
shl eax, 0x10
movzx r14d, byte [r10 + 0x15]
or r12d, eax
shl r14d, 8
or r12d, r14d
movzx r11d, byte [r10 + 0x14]
or r12d, r11d
mov dword [r9 + 0x14], r12d
movzx r11d, byte [r10 + 0x1b]
movzx ecx, byte [r10 + 0x1a]
shl r11d, 0x18
shl ecx, 0x10
movzx eax, byte [r10 + 0x19]
or r11d, ecx
shl eax, 8
or r11d, eax
movzx r14d, byte [r10 + 0x18]
or r11d, r14d
mov dword [r9 + 0x18], r11d
movzx ecx, byte [r10 + 0x1f]
movzx eax, byte [r10 + 0x1e]
shl ecx, 0x18
shl eax, 0x10
movzx r14d, byte [r10 + 0x1d]
or ecx, eax
shl r14d, 8
xor eax, eax
or ecx, r14d
movzx r10d, byte [r10 + 0x1c]
or ecx, r10d
mov dword [r9 + 0x1c], ecx
test edx, edx
jbe 0x140011b07
mov qword [rsp + 0x20], r15
lea r15, [0x140002000]
mov r10d, ecx
shr r10d, 8
movzx r10d, r10b
mov r14d, dword [r15 + r10*4 + 0x2b920]
mov r10d, ecx
shr r10d, 0x10
movzx r10d, r10b
xor r14d, dword [r15 + r10*4 + 0x2bd20]
mov r10d, ecx
shr r10d, 0x18
xor r14d, dword [r15 + r10*4 + 0x2c120]
movzx r10d, cl
xor r14d, dword [r15 + r10*4 + 0x2c520]
lea r10d, [rax*8 + 9]
xor r14d, dword [r15 + rax*4 + 0x2a6a0]
xor ebx, r14d
lea r14d, [rax*8 + 8]
xor edi, ebx
xor r8d, edi
xor esi, r8d
mov dword [r9 + r14*4], ebx
lea r14d, [rax*8 + 0xa]
mov dword [r9 + r10*4], edi
lea r10d, [rax*8 + 0xb]
mov dword [r9 + r14*4], r8d
movzx r14d, sil
mov dword [r9 + r10*4], esi
mov r10d, dword [r15 + r14*4 + 0x2b920]
mov r14d, esi
shr r14d, 8
movzx r14d, r14b
xor r10d, dword [r15 + r14*4 + 0x2bd20]
mov r14d, esi
shr r14d, 0x10
movzx r14d, r14b
xor r10d, dword [r15 + r14*4 + 0x2c120]
mov r14d, esi
shr r14d, 0x18
xor r10d, dword [r15 + r14*4 + 0x2c520]
lea r14d, [rax*8 + 0xd]
xor r13d, r10d
lea r10d, [rax*8 + 0xc]
xor r12d, r13d
xor r11d, r12d
xor ecx, r11d
mov dword [r9 + r10*4], r13d
lea r10d, [rax*8 + 0xe]
mov dword [r9 + r14*4], r12d
lea r14d, [rax*8 + 0xf]
inc eax
cmp eax, edx
mov dword [r9 + r10*4], r11d
mov dword [r9 + r14*4], ecx
jb 0x14001112a
mov r15, qword [rsp + 0x20]
jmp 0x140011b07
mov dword [r9 + 0x200], 0
xor eax, eax
add rsp, 0x38
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov dword [r9 + 0x200], ecx
test edx, edx
jbe 0x140011b07
mov r11d, edx
xor r10d, r10d
shr r11d, 4
xor eax, eax
mov r12d, 1
xor ecx, ecx
test r11d, r11d
jbe 0x140011a65
lea r12, [0x140002000]
mov r13d, esi
shr r13d, 8
movzx r14d, r13b
mov r13d, esi
shr r13d, 0x10
movzx r13d, r13b
mov r14d, dword [r12 + r14*4 + 0x2b920]
xor r14d, dword [r12 + r13*4 + 0x2bd20]
mov r13d, esi
shr r13d, 0x18
xor r14d, dword [r12 + r13*4 + 0x2c120]
movzx r13d, sil
xor r14d, dword [r12 + r13*4 + 0x2c520]
lea r13d, [rcx + 5]
xor r14d, dword [r12 + rax*4 + 0x2a6a0]
xor ebx, r14d
lea r14d, [rcx + 4]
xor edi, ebx
xor r8d, edi
xor esi, r8d
mov dword [r9 + r14*4], ebx
lea r14d, [rcx + 6]
mov dword [r9 + r13*4], edi
lea r13d, [rcx + 7]
mov dword [r9 + r14*4], r8d
mov r14d, esi
shr r14d, 8
mov dword [r9 + r13*4], esi
movzx r13d, r14b
mov r14d, esi
shr r14d, 0x10
movzx r14d, r14b
mov r13d, dword [r12 + r13*4 + 0x2b920]
xor r13d, dword [r12 + r14*4 + 0x2bd20]
mov r14d, esi
shr r14d, 0x18
xor r13d, dword [r12 + r14*4 + 0x2c120]
movzx r14d, sil
xor r13d, dword [r12 + r14*4 + 0x2c520]
lea r14d, [rax + 1]
xor r13d, dword [r12 + r14*4 + 0x2a6a0]
lea r14d, [rcx + 9]
xor ebx, r13d
lea r13d, [rcx + 8]
xor edi, ebx
xor r8d, edi
xor esi, r8d
mov dword [r9 + r13*4], ebx
lea r13d, [rcx + 0xa]
mov dword [r9 + r14*4], edi
lea r14d, [rcx + 0xb]
mov dword [r9 + r13*4], r8d
mov r13d, esi
shr r13d, 8
movzx r13d, r13b
mov dword [r9 + r14*4], esi
mov r14d, dword [r12 + r13*4 + 0x2b920]
mov r13d, esi
shr r13d, 0x10
movzx r13d, r13b
xor r14d, dword [r12 + r13*4 + 0x2bd20]
mov r13d, esi
shr r13d, 0x18
xor r14d, dword [r12 + r13*4 + 0x2c120]
movzx r13d, sil
xor r14d, dword [r12 + r13*4 + 0x2c520]
lea r13d, [rax + 2]
xor r14d, dword [r12 + r13*4 + 0x2a6a0]
lea r13d, [rcx + 0xd]
xor ebx, r14d
lea r14d, [rcx + 0xc]
xor edi, ebx
xor r8d, edi
xor esi, r8d
mov dword [r9 + r14*4], ebx
lea r14d, [rcx + 0xe]
mov dword [r9 + r13*4], edi
lea r13d, [rcx + 0xf]
nop dword [rax]
mov dword [r9 + r14*4], r8d
mov r14d, esi
shr r14d, 8
mov dword [r9 + r13*4], esi
movzx r13d, r14b
mov r14d, esi
shr r14d, 0x10
movzx r14d, r14b
mov r13d, dword [r12 + r13*4 + 0x2b920]
xor r13d, dword [r12 + r14*4 + 0x2bd20]
mov r14d, esi
shr r14d, 0x18
xor r13d, dword [r12 + r14*4 + 0x2c120]
movzx r14d, sil
xor r13d, dword [r12 + r14*4 + 0x2c520]
lea r14d, [rax + 3]
xor r13d, dword [r12 + r14*4 + 0x2a6a0]
lea r14d, [rcx + 0x11]
xor ebx, r13d
lea r13d, [rcx + 0x10]
xor edi, ebx
xor r8d, edi
xor esi, r8d
mov dword [r9 + r13*4], ebx
lea r13d, [rcx + 0x12]
mov dword [r9 + r14*4], edi
lea r14d, [rcx + 0x13]
mov dword [r9 + r13*4], r8d
mov r13d, esi
shr r13d, 8
movzx r13d, r13b
mov dword [r9 + r14*4], esi
mov r14d, dword [r12 + r13*4 + 0x2b920]
mov r13d, esi
shr r13d, 0x10
movzx r13d, r13b
xor r14d, dword [r12 + r13*4 + 0x2bd20]
mov r13d, esi
shr r13d, 0x18
xor r14d, dword [r12 + r13*4 + 0x2c120]
movzx r13d, sil
xor r14d, dword [r12 + r13*4 + 0x2c520]
lea r13d, [rax + 4]
xor r14d, dword [r12 + r13*4 + 0x2a6a0]
lea r13d, [rcx + 0x15]
xor ebx, r14d
lea r14d, [rcx + 0x14]
xor edi, ebx
xor r8d, edi
xor esi, r8d
mov dword [r9 + r14*4], ebx
lea r14d, [rcx + 0x16]
mov dword [r9 + r13*4], edi
lea r13d, [rcx + 0x17]
mov dword [r9 + r14*4], r8d
mov r14d, esi
shr r14d, 8
mov dword [r9 + r13*4], esi
movzx r13d, r14b
mov r14d, esi
shr r14d, 0x10
movzx r14d, r14b
mov r13d, dword [r12 + r13*4 + 0x2b920]
xor r13d, dword [r12 + r14*4 + 0x2bd20]
mov r14d, esi
shr r14d, 0x18
xor r13d, dword [r12 + r14*4 + 0x2c120]
movzx r14d, sil
xor r13d, dword [r12 + r14*4 + 0x2c520]
lea r14d, [rax + 5]
xor r13d, dword [r12 + r14*4 + 0x2a6a0]
lea r14d, [rcx + 0x19]
xor ebx, r13d
lea r13d, [rcx + 0x18]
xor edi, ebx
xor r8d, edi
xor esi, r8d
mov dword [r9 + r13*4], ebx
lea r13d, [rcx + 0x1a]
mov dword [r9 + r14*4], edi
lea r14d, [rcx + 0x1b]
nop dword [rax]
mov dword [r9 + r13*4], r8d
mov r13d, esi
shr r13d, 8
movzx r13d, r13b
mov dword [r9 + r14*4], esi
mov r14d, dword [r12 + r13*4 + 0x2b920]
mov r13d, esi
shr r13d, 0x10
movzx r13d, r13b
xor r14d, dword [r12 + r13*4 + 0x2bd20]
mov r13d, esi
shr r13d, 0x18
xor r14d, dword [r12 + r13*4 + 0x2c120]
movzx r13d, sil
xor r14d, dword [r12 + r13*4 + 0x2c520]
lea r13d, [rax + 6]
xor r14d, dword [r12 + r13*4 + 0x2a6a0]
lea r13d, [rcx + 0x1d]
xor ebx, r14d
lea r14d, [rcx + 0x1c]
xor edi, ebx
xor r8d, edi
xor esi, r8d
mov dword [r9 + r14*4], ebx
lea r14d, [rcx + 0x1e]
mov dword [r9 + r13*4], edi
lea r13d, [rcx + 0x1f]
mov dword [r9 + r14*4], r8d
mov r14d, esi
shr r14d, 8
mov dword [r9 + r13*4], esi
movzx r13d, r14b
mov r14d, esi
shr r14d, 0x10
movzx r14d, r14b
mov r13d, dword [r12 + r13*4 + 0x2b920]
xor r13d, dword [r12 + r14*4 + 0x2bd20]
mov r14d, esi
shr r14d, 0x18
nop
xor r13d, dword [r12 + r14*4 + 0x2c120]
movzx r14d, sil
nop
xor r13d, dword [r12 + r14*4 + 0x2c520]
lea r14d, [rax + 7]
nop dword [rax]
xor r13d, dword [r12 + r14*4 + 0x2a6a0]
lea r14d, [rcx + 0x21]
xor ebx, r13d
lea r13d, [rcx + 0x20]
xor edi, ebx
xor r8d, edi
xor esi, r8d
mov dword [r9 + r13*4], ebx
lea r13d, [rcx + 0x22]
mov dword [r9 + r14*4], edi
lea r14d, [rcx + 0x23]
mov dword [r9 + r13*4], r8d
mov r13d, esi
shr r13d, 8
movzx r13d, r13b
nop dword [rax]
mov dword [r9 + r14*4], esi
mov r14d, dword [r12 + r13*4 + 0x2b920]
mov r13d, esi
shr r13d, 0x10
movzx r13d, r13b
xor r14d, dword [r12 + r13*4 + 0x2bd20]
mov r13d, esi
shr r13d, 0x18
xor r14d, dword [r12 + r13*4 + 0x2c120]
movzx r13d, sil
xor r14d, dword [r12 + r13*4 + 0x2c520]
lea r13d, [rax + 8]
xor r14d, dword [r12 + r13*4 + 0x2a6a0]
lea r13d, [rcx + 0x25]
xor ebx, r14d
lea r14d, [rcx + 0x24]
xor edi, ebx
xor r8d, edi
xor esi, r8d
mov dword [r9 + r14*4], ebx
lea r14d, [rcx + 0x26]
mov dword [r9 + r13*4], edi
lea r13d, [rcx + 0x27]
mov dword [r9 + r14*4], r8d
mov r14d, esi
shr r14d, 8
mov dword [r9 + r13*4], esi
movzx r13d, r14b
mov r14d, esi
shr r14d, 0x10
movzx r14d, r14b
mov r13d, dword [r12 + r13*4 + 0x2b920]
xor r13d, dword [r12 + r14*4 + 0x2bd20]
mov r14d, esi
shr r14d, 0x18
xor r13d, dword [r12 + r14*4 + 0x2c120]
movzx r14d, sil
xor r13d, dword [r12 + r14*4 + 0x2c520]
lea r14d, [rax + 9]
xor r13d, dword [r12 + r14*4 + 0x2a6a0]
lea r14d, [rcx + 0x29]
xor ebx, r13d
lea r13d, [rcx + 0x28]
xor edi, ebx
xor r8d, edi
xor esi, r8d
mov dword [r9 + r13*4], ebx
lea r13d, [rcx + 0x2a]
mov dword [r9 + r14*4], edi
lea r14d, [rcx + 0x2b]
mov dword [r9 + r13*4], r8d
mov r13d, esi
shr r13d, 8
movzx r13d, r13b
mov dword [r9 + r14*4], esi
mov r14d, dword [r12 + r13*4 + 0x2b920]
mov r13d, esi
shr r13d, 0x10
movzx r13d, r13b
nop
xor r14d, dword [r12 + r13*4 + 0x2bd20]
mov r13d, esi
shr r13d, 0x18
nop dword [rax]
xor r14d, dword [r12 + r13*4 + 0x2c120]
movzx r13d, sil
xor r14d, dword [r12 + r13*4 + 0x2c520]
lea r13d, [rax + 0xa]
xor r14d, dword [r12 + r13*4 + 0x2a6a0]
lea r13d, [rcx + 0x2d]
xor ebx, r14d
lea r14d, [rcx + 0x2c]
xor edi, ebx
xor r8d, edi
xor esi, r8d
mov dword [r9 + r14*4], ebx
lea r14d, [rcx + 0x2e]
mov dword [r9 + r13*4], edi
lea r13d, [rcx + 0x2f]
mov dword [r9 + r14*4], r8d
mov r14d, esi
shr r14d, 8
nop dword [rax]
mov dword [r9 + r13*4], esi
movzx r13d, r14b
mov r14d, esi
shr r14d, 0x10
movzx r14d, r14b
mov r13d, dword [r12 + r13*4 + 0x2b920]
nop dword [rax]
xor r13d, dword [r12 + r14*4 + 0x2bd20]
mov r14d, esi
shr r14d, 0x18
nop dword [rax]
xor r13d, dword [r12 + r14*4 + 0x2c120]
movzx r14d, sil
xor r13d, dword [r12 + r14*4 + 0x2c520]
lea r14d, [rax + 0xb]
xor r13d, dword [r12 + r14*4 + 0x2a6a0]
xor ebx, r13d
xor edi, ebx
lea r14d, [rcx + 0x30]
lea r13d, [rcx + 0x31]
xor r8d, edi
xor esi, r8d
inc r10d
mov dword [r9 + r14*4], ebx
lea r14d, [rcx + 0x32]
nop
mov dword [r9 + r13*4], edi
lea r13d, [rcx + 0x33]
mov dword [r9 + r14*4], r8d
mov r14d, esi
shr r14d, 8
mov dword [r9 + r13*4], esi
movzx r13d, r14b
mov r14d, esi
shr r14d, 0x10
movzx r14d, r14b
nop dword [rax]
mov r13d, dword [r12 + r13*4 + 0x2b920]
xor r13d, dword [r12 + r14*4 + 0x2bd20]
mov r14d, esi
shr r14d, 0x18
xor r13d, dword [r12 + r14*4 + 0x2c120]
movzx r14d, sil
xor r13d, dword [r12 + r14*4 + 0x2c520]
lea r14d, [rax + 0xc]
xor r13d, dword [r12 + r14*4 + 0x2a6a0]
lea r14d, [rcx + 0x35]
xor ebx, r13d
lea r13d, [rcx + 0x34]
xor edi, ebx
xor r8d, edi
xor esi, r8d
mov dword [r9 + r13*4], ebx
lea r13d, [rcx + 0x36]
mov dword [r9 + r14*4], edi
lea r14d, [rcx + 0x37]
nop dword [rax]
mov dword [r9 + r13*4], r8d
mov r13d, esi
shr r13d, 8
movzx r13d, r13b
mov dword [r9 + r14*4], esi
mov r14d, dword [r12 + r13*4 + 0x2b920]
mov r13d, esi
shr r13d, 0x10
movzx r13d, r13b
xor r14d, dword [r12 + r13*4 + 0x2bd20]
mov r13d, esi
shr r13d, 0x18
nop dword [rax]
xor r14d, dword [r12 + r13*4 + 0x2c120]
movzx r13d, sil
xor r14d, dword [r12 + r13*4 + 0x2c520]
lea r13d, [rax + 0xd]
xor r14d, dword [r12 + r13*4 + 0x2a6a0]
lea r13d, [rcx + 0x39]
xor ebx, r14d
lea r14d, [rcx + 0x38]
xor edi, ebx
xor r8d, edi
xor esi, r8d
nop
mov dword [r9 + r14*4], ebx
lea r14d, [rcx + 0x3a]
mov dword [r9 + r13*4], edi
lea r13d, [rcx + 0x3b]
mov dword [r9 + r14*4], r8d
mov r14d, esi
shr r14d, 8
mov dword [r9 + r13*4], esi
movzx r13d, r14b
mov r14d, esi
shr r14d, 0x10
movzx r14d, r14b
mov r13d, dword [r12 + r13*4 + 0x2b920]
nop dword [rax]
xor r13d, dword [r12 + r14*4 + 0x2bd20]
mov r14d, esi
shr r14d, 0x18
nop
xor r13d, dword [r12 + r14*4 + 0x2c120]
movzx r14d, sil
nop dword [rax]
xor r13d, dword [r12 + r14*4 + 0x2c520]
lea r14d, [rax + 0xe]
xor r13d, dword [r12 + r14*4 + 0x2a6a0]
lea r14d, [rcx + 0x3d]
xor ebx, r13d
lea r13d, [rcx + 0x3c]
xor edi, ebx
xor r8d, edi
xor esi, r8d
mov dword [r9 + r13*4], ebx
lea r13d, [rcx + 0x3e]
mov dword [r9 + r14*4], edi
lea r14d, [rcx + 0x3f]
nop dword [rax]
mov dword [r9 + r13*4], r8d
mov r13d, esi
shr r13d, 8
movzx r13d, r13b
mov dword [r9 + r14*4], esi
nop dword [rax]
mov r14d, dword [r12 + r13*4 + 0x2b920]
mov r13d, esi
shr r13d, 0x10
movzx r13d, r13b
xor r14d, dword [r12 + r13*4 + 0x2bd20]
mov r13d, esi
shr r13d, 0x18
nop dword [rax]
xor r14d, dword [r12 + r13*4 + 0x2c120]
movzx r13d, sil
nop
xor r14d, dword [r12 + r13*4 + 0x2c520]
lea r13d, [rax + 0xf]
add eax, 0x10
xor r14d, dword [r12 + r13*4 + 0x2a6a0]
lea r13d, [rcx + 0x40]
xor ebx, r14d
lea r14d, [rcx + 0x41]
xor edi, ebx
xor r8d, edi
xor esi, r8d
mov dword [r9 + r14*4], edi
lea r14d, [rcx + 0x42]
add ecx, 0x43
cmp r10d, r11d
nop dword [rax]
mov dword [r9 + r13*4], ebx
mov dword [r9 + r14*4], r8d
nop
mov dword [r9 + rcx*4], esi
mov ecx, r13d
jb 0x14001128d
shl r10d, 4
lea r12d, [r10 + 1]
dec r12d
cmp r12d, edx
jae 0x140011b07
lea rcx, [0x140002000]
mov r10d, esi
mov r13d, esi
shr r10d, 8
movzx r11d, r10b
mov r10d, esi
shr r13d, 0x10
movzx r14d, r13b
shr r10d, 0x18
mov eax, dword [rcx + r11*4 + 0x2b920]
movzx r11d, sil
xor eax, dword [rcx + r14*4 + 0x2bd20]
lea r13d, [r12*4 + 5]
xor eax, dword [rcx + r10*4 + 0x2c120]
lea r14d, [r12*4 + 6]
xor eax, dword [rcx + r11*4 + 0x2c520]
xor eax, dword [rcx + r12*4 + 0x2a6a0]
xor ebx, eax
lea eax, [r12*4 + 4]
xor edi, ebx
xor r8d, edi
xor esi, r8d
mov dword [r9 + rax*4], ebx
lea eax, [r12*4 + 7]
inc r12d
mov dword [r9 + r13*4], edi
cmp r12d, edx
mov dword [r9 + r14*4], r8d
mov dword [r9 + rax*4], esi
jb 0x140011a78
mov eax, 1
add rsp, 0x38
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret