Function at 0x140009880
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x3d8
mov esi, r8d
mov r14, rcx
mov rax, qword [0x1400503c8]
xor rax, rsp
mov qword [rsp + 0x3d0], rax
add dword [rcx + 0xc4], r8d
adc dword [rcx + 0xc8], 0
adc dword [rcx + 0xcc], 0
adc dword [rcx + 0xd0], 0
mov rdi, rdx
movsxd rax, dword [rcx + 0xc0]
lea ecx, [rax + rsi]
test rax, rax
je 0x140009900
cmp ecx, 0x80
jge 0x140009900
movsxd r8, esi
lea rcx, [r14 + rax]
add rcx, 0x40
mov rdx, rdi
call fcn.1400138f0
add esi, dword [r14 + 0xc0]
jmp 0x14000a6b8
cmp ecx, 0x80
jl 0x14000a6a9
mov qword [rsp + 0xb0], r14
jmp 0x140009a1e
mov rsi, qword [rsp + 0xc8]
sub esi, dword [rsp + 0xb8]
add r13d, dword [rsp + 0x80]
adc ebp, dword [rsp + 0x88]
mov rax, qword [rsp + 0xb0]
mov dword [rax + 4], r13d
mov dword [rax], ebp
add edx, dword [rsp + 0x84]
mov dword [rax + 0xc], edx
mov r12d, dword [rsp + 0x34]
adc r12d, dword [rsp + 0x90]
mov dword [rax + 8], r12d
mov ecx, dword [rsp + 0x54]
add ecx, dword [rsp + 0x8c]
mov dword [rax + 0x14], ecx
mov ecx, dword [rsp + 0x44]
adc ecx, dword [rsp + 0x70]
mov dword [rax + 0x10], ecx
mov ecx, dword [rsp + 0x48]
add ecx, dword [rsp + 0x94]
mov dword [rax + 0x1c], ecx
adc r14d, dword [rsp + 0x9c]
mov dword [rax + 0x18], r14d
mov r14, rax
add edi, dword [rsp + 0x98]
adc r9d, dword [rsp + 0x74]
mov dword [rax + 0x24], edi
mov dword [rax + 0x20], r9d
mov eax, dword [rsp + 0x4c]
add eax, dword [rsp + 0xa0]
mov dword [r14 + 0x2c], eax
adc r10d, dword [rsp + 0xa8]
mov dword [r14 + 0x28], r10d
mov eax, dword [rsp + 0x58]
add eax, dword [rsp + 0xa4]
mov dword [r14 + 0x34], eax
adc r15d, dword [rsp + 0x78]
mov dword [r14 + 0x30], r15d
mov r11d, dword [rsp + 0x50]
add r11d, dword [rsp + 0xac]
mov dword [r14 + 0x3c], r11d
mov eax, dword [rsp + 0x5c]
adc eax, dword [rsp + 0x7c]
mov dword [r14 + 0x38], eax
mov dword [r14 + 0xc0], 0
xor eax, eax
cmp esi, 0x7f
mov rdi, qword [rsp + 0xc0]
jle 0x14000a6a9
mov qword [rsp + 0xc8], rsi
mov ecx, 0x80
sub ecx, eax
movsxd r8, ecx
cdqe
lea rcx, [r14 + rax]
add rcx, 0x40
mov rdx, rdi
call fcn.1400138f0
movsxd rax, dword [r14 + 0xc0]
mov ecx, 0x80
sub rcx, rax
mov qword [rsp + 0xb8], rcx
neg rax
add rdi, rax
add rdi, 0x80
mov qword [rsp + 0xc0], rdi
xor eax, eax
mov ecx, dword [r14 + rax*8 + 0x40]
mov edx, dword [r14 + rax*8 + 0x44]
bswap ecx
bswap edx
mov dword [rsp + rax*8 + 0xd0], ecx
mov dword [rsp + rax*8 + 0xd4], edx
add rax, 1
cmp rax, 0x10
jne 0x140009a70
movaps xmm0, xmmword [rsp + 0xd0]
movaps xmm1, xmmword [rsp + 0xe0]
movaps xmm2, xmmword [rsp + 0xf0]
movaps xmm3, xmmword [rsp + 0x100]
movaps xmmword [rsp + 0x150], xmm0
movaps xmm0, xmmword [rsp + 0x140]
movaps xmmword [rsp + 0x1c0], xmm0
movaps xmm0, xmmword [rsp + 0x130]
movaps xmmword [rsp + 0x1b0], xmm0
movaps xmm0, xmmword [rsp + 0x120]
movaps xmmword [rsp + 0x1a0], xmm0
movaps xmm0, xmmword [rsp + 0x110]
movaps xmmword [rsp + 0x190], xmm0
movaps xmmword [rsp + 0x180], xmm3
movaps xmmword [rsp + 0x170], xmm2
movaps xmmword [rsp + 0x160], xmm1
mov r9d, dword [rsp + 0x150]
mov r8d, dword [rsp + 0x154]
xor eax, eax
mov dword [rsp + 0x60], r9d
mov dword [rsp + 0x28], r8d
nop word cs:[rax + rax]
nop dword [rax]
mov esi, dword [rsp + rax*8 + 0x1c4]
mov ebp, dword [rsp + rax*8 + 0x1c0]
mov edx, ebp
shld edx, esi, 0xd
mov edi, esi
shld edi, ebp, 0xd
mov ebx, esi
shld ebx, ebp, 3
xor ebx, edx
mov edx, ebp
shld edx, esi, 3
xor edx, edi
shrd esi, ebp, 6
xor esi, ebx
shr ebp, 6
xor ebp, edx
add ebp, r9d
mov r9d, dword [rsp + rax*8 + 0x158]
mov r10d, dword [rsp + rax*8 + 0x15c]
mov ecx, r9d
shld ecx, r10d, 0x1f
mov edx, r10d
shld edx, r9d, 0x1f
mov edi, r9d
shld edi, r10d, 0x18
mov ebx, r10d
shld ebx, r9d, 0x18
xor edi, ecx
xor ebx, edx
mov ecx, r9d
shld ecx, r10d, 0x19
xor ecx, edi
mov edx, r9d
shr edx, 7
add ebp, dword [rsp + rax*8 + 0x198]
xor edx, ebx
add ecx, esi
adc ebp, edx
xor edx, edx
add ecx, dword [rsp + rax*8 + 0x19c]
setb dl
add ecx, r8d
adc edx, ebp
mov dword [rsp + rax*8 + 0x1d4], ecx
mov dword [rsp + rax*8 + 0x1d0], edx
add rax, 1
mov r8d, r10d
cmp rax, 0x40
jne 0x140009b40
mov r15d, dword [r14]
mov r13d, dword [r14 + 4]
mov r12d, dword [r14 + 8]
mov r8d, dword [r14 + 0xc]
mov eax, dword [r14 + 0x10]
mov dword [rsp + 0x70], eax
mov esi, dword [r14 + 0x14]
mov ebx, dword [r14 + 0x18]
mov eax, dword [r14 + 0x1c]
mov ecx, dword [r14 + 0x20]
mov dword [rsp + 0x74], ecx
mov edi, dword [r14 + 0x24]
mov r10d, dword [r14 + 0x28]
mov ebp, dword [r14 + 0x2c]
mov ecx, dword [r14 + 0x30]
mov dword [rsp + 0x78], ecx
mov ecx, dword [r14 + 0x34]
mov edx, dword [r14 + 0x38]
mov dword [rsp + 0x7c], edx
mov r11d, dword [r14 + 0x3c]
mov dword [rsp + 0x80], r13d
mov dword [rsp + 0x88], r15d
mov dword [rsp + 0x40], r15d
mov dword [rsp + 0x84], r8d
mov dword [rsp + 0x3c], r8d
mov dword [rsp + 0x90], r12d
mov dword [rsp + 0x34], r12d
mov dword [rsp + 0x8c], esi
mov dword [rsp + 0x54], esi
mov edx, dword [rsp + 0x70]
mov dword [rsp + 0x44], edx
mov dword [rsp + 0x94], eax
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x9c], ebx
mov r14d, ebx
mov dword [rsp + 0x98], edi
mov r9d, dword [rsp + 0x74]
mov dword [rsp + 0xa0], ebp
mov dword [rsp + 0x4c], ebp
mov dword [rsp + 0xa8], r10d
mov dword [rsp + 0xa4], ecx
mov edx, ecx
mov ecx, 0
mov r15d, dword [rsp + 0x78]
mov dword [rsp + 0xac], r11d
mov dword [rsp + 0x50], r11d
mov ebx, dword [rsp + 0x7c]
mov r12d, dword [rsp + 0x28]
nop word [rax + rax]
mov qword [rsp + 0x28], rcx
mov ebp, r9d
mov eax, edi
shld ebp, edi, 0x12
mov esi, r9d
shld esi, edi, 0xe
xor esi, ebp
shld edi, r9d, 0x12
mov ebp, eax
mov r11d, eax
shld r11d, r9d, 0xe
mov r8d, eax
shld r8d, r9d, 0x17
xor r11d, edi
xor r8d, esi
mov eax, r9d
shld eax, ebp, 0x17
xor eax, r11d
mov edi, ebp
mov dword [rsp + 0x68], ebp
not ebp
mov dword [rsp + 0x58], edx
and ebp, edx
mov esi, dword [rsp + 0x4c]
and esi, edi
or esi, ebp
mov ebp, r10d
and ebp, r9d
add ebp, dword [rsp + 0x60]
add ebp, eax
mov eax, r9d
not eax
and eax, r15d
add ebp, eax
add esi, r8d
adc ebp, ebx
lea r8, [0x140044700]
add esi, dword [r8 + rcx*8 + 4]
adc ebp, dword [r8 + rcx*8]
xor r8d, r8d
add esi, r12d
setb r8b
add esi, dword [rsp + 0x50]
adc r8d, ebp
mov edx, dword [rsp + 0x40]
mov ecx, edx
mov dword [rsp + 0x6c], r13d
shld ecx, r13d, 4
mov ebp, r13d
shld ebp, edx, 0x1e
xor ebp, ecx
mov ecx, r13d
shld ecx, edx, 4
mov edi, edx
shld edi, r13d, 0x1e
mov ebx, r13d
shld ebx, edx, 0x19
xor edi, ecx
xor ebx, ebp
mov ecx, edx
mov dword [rsp + 0x40], edx
shld ecx, r13d, 0x19
xor ecx, edi
mov eax, dword [rsp + 0x3c]
mov ebp, eax
and ebp, r13d
mov dword [rsp + 0x60], ebp
mov r11d, dword [rsp + 0x34]
mov r12d, r11d
mov dword [rsp + 0x34], r11d
and r12d, edx
mov dword [rsp + 0x38], r12d
mov edi, eax
xor edi, r13d
mov r13d, dword [rsp + 0x54]
and edi, r13d
xor edi, ebp
xor r11d, edx
and r11d, dword [rsp + 0x44]
xor r11d, r12d
add edi, ebx
adc r11d, ecx
mov ecx, dword [rsp + 0x48]
add ecx, esi
adc r14d, r8d
add edi, esi
adc r11d, r8d
mov eax, r14d
mov esi, ecx
shld eax, ecx, 0x12
shld ecx, r14d, 0x12
mov edx, r14d
shld edx, esi, 0xe
xor edx, eax
mov ebp, esi
shld ebp, r14d, 0xe
xor ebp, ecx
mov ecx, esi
shld ecx, r14d, 0x17
mov eax, r14d
shld eax, esi, 0x17
xor ecx, edx
xor eax, ebp
mov edx, esi
mov dword [rsp + 0x48], esi
not edx
and edx, dword [rsp + 0x4c]
mov r8d, dword [rsp + 0x68]
and esi, r8d
or esi, edx
mov edx, r14d
not edx
and edx, r10d
mov ebp, r14d
and ebp, r9d
xor ebx, ebx
add esi, ecx
setb bl
mov rcx, qword [rsp + 0x28]
lea r12, [0x140044700]
add r15d, dword [r12 + rcx*8 + 8]
mov rcx, qword [rsp + 0x28]
add r15d, dword [rsp + rcx*8 + 0x158]
add r15d, ebp
add r15d, edx
add r15d, eax
mov rax, qword [rsp + 0x28]
add esi, dword [r12 + rax*8 + 0xc]
adc r15d, ebx
xor eax, eax
mov rcx, qword [rsp + 0x28]
add esi, dword [rsp + rcx*8 + 0x15c]
setb al
add esi, dword [rsp + 0x58]
adc eax, r15d
mov ecx, r11d
shld ecx, edi, 4
mov edx, edi
shld edx, r11d, 0x1e
xor edx, ecx
mov ecx, edi
shld ecx, r11d, 4
mov ebp, r11d
shld ebp, edi, 0x1e
mov ebx, edi
shld ebx, r11d, 0x19
xor ebp, ecx
xor ebx, edx
mov ecx, r11d
shld ecx, edi, 0x19
xor ecx, ebp
mov dword [rsp + 0x50], edi
mov r12d, edi
and r12d, dword [rsp + 0x3c]
xor r12d, dword [rsp + 0x60]
mov edx, r11d
mov dword [rsp + 0x5c], r11d
mov r15d, r11d
and r15d, dword [rsp + 0x34]
xor r15d, dword [rsp + 0x38]
mov r11d, dword [rsp + 0x6c]
and edi, r11d
mov dword [rsp + 0x64], edi
and edx, dword [rsp + 0x40]
mov dword [rsp + 0x38], edx
xor r12d, edi
xor r15d, edx
add r12d, ebx
adc r15d, ecx
add r13d, esi
mov edi, dword [rsp + 0x44]
adc edi, eax
add r12d, esi
adc r15d, eax
mov eax, edi
shld eax, r13d, 0x12
mov ecx, r13d
shld ecx, edi, 0x12
mov edx, edi
shld edx, r13d, 0xe
xor edx, eax
mov ebp, r13d
shld ebp, edi, 0xe
xor ebp, ecx
mov ecx, r13d
shld ecx, edi, 0x17
mov eax, edi
mov dword [rsp + 0x44], edi
shld eax, r13d, 0x17
xor ecx, edx
xor eax, ebp
mov edx, r13d
mov dword [rsp + 0x54], r13d
not edx
and edx, r8d
mov esi, r13d
and esi, dword [rsp + 0x48]
or esi, edx
mov edx, edi
not edx
and edx, r9d
mov ebp, edi
and ebp, r14d
xor ebx, ebx
add esi, ecx
setb bl
mov rcx, qword [rsp + 0x28]
lea rdi, [0x140044700]
add r10d, dword [rdi + rcx*8 + 0x10]
mov rcx, qword [rsp + 0x28]
add r10d, dword [rsp + rcx*8 + 0x160]
add r10d, ebp
add r10d, edx
add r10d, eax
mov rax, qword [rsp + 0x28]
add esi, dword [rdi + rax*8 + 0x14]
adc r10d, ebx
xor eax, eax
mov rcx, qword [rsp + 0x28]
add esi, dword [rsp + rcx*8 + 0x164]
setb al
add esi, dword [rsp + 0x4c]
adc eax, r10d
mov r13d, r15d
mov ecx, r15d
shld ecx, r12d, 4
mov edx, r12d
shld edx, r15d, 0x1e
xor edx, ecx
mov ecx, r12d
shld ecx, r15d, 4
mov ebp, r15d
shld ebp, r12d, 0x1e
mov ebx, r12d
shld ebx, r15d, 0x19
xor ebp, ecx
xor ebx, edx
mov ecx, r15d
shld ecx, r12d, 0x19
xor ecx, ebp
mov dword [rsp + 0x58], r12d
mov r8d, r12d
and r8d, r11d
xor r8d, dword [rsp + 0x64]
mov r10d, r15d
and r10d, dword [rsp + 0x40]
xor r10d, dword [rsp + 0x38]
and r12d, dword [rsp + 0x50]
mov dword [rsp + 0x64], r12d
mov edx, r15d
mov r11d, dword [rsp + 0x5c]
and edx, r11d
mov dword [rsp + 0x38], edx
xor r8d, r12d
xor r10d, edx
add r8d, ebx
adc r10d, ecx
mov ecx, dword [rsp + 0x3c]
add ecx, esi
mov edi, dword [rsp + 0x34]
adc edi, eax
add r8d, esi
adc r10d, eax
mov eax, edi
mov esi, ecx
shld eax, ecx, 0x12
shld ecx, edi, 0x12
mov edx, edi
shld edx, esi, 0xe
xor edx, eax
mov ebp, esi
shld ebp, edi, 0xe
xor ebp, ecx
mov ecx, esi
shld ecx, edi, 0x17
mov eax, edi
mov ebx, edi
shld eax, esi, 0x17
xor ecx, edx
xor eax, ebp
mov edx, esi
mov dword [rsp + 0x3c], esi
not edx
and edx, dword [rsp + 0x48]
mov r12d, dword [rsp + 0x54]
and esi, r12d
or esi, edx
mov ebp, edi
mov dword [rsp + 0x34], edi
mov edx, edi
not edx
and edx, r14d
and ebp, dword [rsp + 0x44]
xor ebx, ebx
add esi, ecx
setb bl
mov rcx, qword [rsp + 0x28]
lea rdi, [0x140044700]
add r9d, dword [rdi + rcx*8 + 0x18]
mov rcx, qword [rsp + 0x28]
add r9d, dword [rsp + rcx*8 + 0x168]
add r9d, ebp
add r9d, edx
add r9d, eax
mov rax, qword [rsp + 0x28]
add esi, dword [rdi + rax*8 + 0x1c]
adc r9d, ebx
xor eax, eax
mov rcx, qword [rsp + 0x28]
add esi, dword [rsp + rcx*8 + 0x16c]
setb al
add esi, dword [rsp + 0x68]
adc eax, r9d
mov ebp, r10d
mov ecx, r8d
shld ebp, r8d, 4
mov edx, r8d
shld edx, r10d, 0x1e
xor edx, ebp
mov edi, r8d
shld edi, r10d, 4
mov ebp, r10d
shld ebp, r8d, 0x1e
mov ebx, r8d
shld ebx, r10d, 0x19
xor ebp, edi
xor ebx, edx
mov edx, r10d
shld edx, r8d, 0x19
xor edx, ebp
mov dword [rsp + 0x4c], r8d
mov r15d, r8d
and r15d, dword [rsp + 0x50]
xor r15d, dword [rsp + 0x64]
mov r9d, r10d
and r9d, r11d
xor r9d, dword [rsp + 0x38]
mov ebp, ecx
mov edi, dword [rsp + 0x58]
and ebp, edi
mov dword [rsp + 0x64], ebp
mov ecx, r10d
and ecx, r13d
mov dword [rsp + 0x38], ecx
mov r11d, r13d
mov dword [rsp + 0x60], r13d
xor r15d, ebp
xor r9d, ecx
add r15d, ebx
adc r9d, edx
mov r13d, dword [rsp + 0x6c]
add r13d, esi
mov r8d, dword [rsp + 0x40]
adc r8d, eax
add r15d, esi
adc r9d, eax
mov eax, r8d
shld eax, r13d, 0x12
mov ecx, r13d
shld ecx, r8d, 0x12
mov edx, r8d
shld edx, r13d, 0xe
xor edx, eax
mov ebp, r13d
shld ebp, r8d, 0xe
xor ebp, ecx
mov ecx, r13d
shld ecx, r8d, 0x17
mov eax, r8d
mov dword [rsp + 0x40], r8d
shld eax, r13d, 0x17
xor ecx, edx
xor eax, ebp
mov edx, r13d
mov esi, r13d
mov dword [rsp + 0x6c], r13d
not edx
and edx, r12d
and esi, dword [rsp + 0x3c]
or esi, edx
mov edx, r8d
not edx
and edx, dword [rsp + 0x44]
mov ebp, r8d
and ebp, dword [rsp + 0x34]
xor ebx, ebx
add esi, ecx
setb bl
mov rcx, qword [rsp + 0x28]
lea r8, [0x140044700]
add r14d, dword [r8 + rcx*8 + 0x20]
mov rcx, qword [rsp + 0x28]
add r14d, dword [rsp + rcx*8 + 0x170]
add r14d, ebp
add r14d, edx
add r14d, eax
mov rax, qword [rsp + 0x28]
add esi, dword [r8 + rax*8 + 0x24]
adc r14d, ebx
xor eax, eax
mov rcx, qword [rsp + 0x28]
add esi, dword [rsp + rcx*8 + 0x174]
setb al
add esi, dword [rsp + 0x48]
adc eax, r14d
mov ecx, r9d
shld ecx, r15d, 4
mov edx, r15d
shld edx, r9d, 0x1e
xor edx, ecx
mov ecx, r15d
shld ecx, r9d, 4
mov ebp, r9d
shld ebp, r15d, 0x1e
mov ebx, r15d
shld ebx, r9d, 0x19
xor ebp, ecx
xor ebx, edx
mov ecx, r9d
shld ecx, r15d, 0x19
xor ecx, ebp
mov dword [rsp + 0x68], r15d
mov r13d, r15d
and r13d, edi
xor r13d, dword [rsp + 0x64]
mov r14d, r9d
and r14d, r11d
xor r14d, dword [rsp + 0x38]
and r15d, dword [rsp + 0x4c]
mov edx, r9d
and edx, r10d
mov dword [rsp + 0x38], edx
xor r13d, r15d
xor r14d, edx
add r13d, ebx
adc r14d, ecx
mov r12d, dword [rsp + 0x50]
add r12d, esi
mov r11d, dword [rsp + 0x5c]
adc r11d, eax
add r13d, esi
adc r14d, eax
mov eax, r11d
mov esi, r12d
shld eax, r12d, 0x12
mov ecx, r11d
shld ecx, r12d, 0xe
xor ecx, eax
mov eax, r12d
shld eax, r11d, 0x12
mov edx, r12d
shld edx, r11d, 0xe
xor edx, eax
mov ebp, r12d
shld ebp, r11d, 0x17
xor ebp, ecx
mov eax, r11d
shld eax, r12d, 0x17
xor eax, edx
mov ecx, r12d
mov dword [rsp + 0x50], r12d
not ecx
and ecx, dword [rsp + 0x3c]
mov r12d, dword [rsp + 0x6c]
and esi, r12d
or esi, ecx
mov edx, r11d
mov dword [rsp + 0x5c], r11d
mov ecx, r11d
not ecx
and ecx, dword [rsp + 0x34]
and edx, dword [rsp + 0x40]
xor ebx, ebx
add esi, ebp
setb bl
mov rbp, qword [rsp + 0x28]
mov ebp, dword [rsp + rbp*8 + 0x178]
mov rdi, qword [rsp + 0x28]
add ebp, dword [r8 + rdi*8 + 0x28]
add ebp, dword [rsp + 0x44]
add ebp, edx
add ebp, ecx
add ebp, eax
mov rax, qword [rsp + 0x28]
add esi, dword [r8 + rax*8 + 0x2c]
adc ebp, ebx
xor r8d, r8d
mov rcx, qword [rsp + 0x28]
add esi, dword [rsp + rcx*8 + 0x17c]
setb r8b
add esi, dword [rsp + 0x54]
adc r8d, ebp
mov ebp, r14d
shld ebp, r13d, 4
mov edx, r13d
shld edx, r14d, 0x1e
xor edx, ebp
mov edi, r13d
shld edi, r14d, 4
mov ebp, r14d
shld ebp, r13d, 0x1e
mov ebx, r13d
shld ebx, r14d, 0x19
xor ebp, edi
xor ebx, edx
mov edx, r14d
shld edx, r13d, 0x19
xor edx, ebp
mov r11d, r12d
mov ecx, r13d
mov dword [rsp + 0x48], r13d
and r13d, dword [rsp + 0x4c]
xor r13d, r15d
mov r12d, r14d
and r12d, r10d
xor r12d, dword [rsp + 0x38]
mov r15d, dword [rsp + 0x68]
and ecx, r15d
mov dword [rsp + 0x38], ecx
mov eax, r14d
and eax, r9d
mov dword [rsp + 0x54], eax
xor r13d, ecx
xor r12d, eax
add r13d, ebx
adc r12d, edx
mov edi, dword [rsp + 0x58]
add edi, esi
mov eax, dword [rsp + 0x60]
adc eax, r8d
add r13d, esi
adc r12d, r8d
mov edx, eax
shld edx, edi, 0x12
mov ecx, eax
shld ecx, edi, 0xe
xor ecx, edx
mov ebp, edi
shld ebp, eax, 0x12
mov edx, edi
shld edx, eax, 0xe
xor edx, ebp
mov ebp, edi
shld ebp, eax, 0x17
xor ebp, ecx
mov ebx, eax
shld ebx, edi, 0x17
xor ebx, edx
mov ecx, edi
mov esi, edi
mov dword [rsp + 0x58], edi
not ecx
and ecx, r11d
and esi, dword [rsp + 0x50]
or esi, ecx
mov ecx, eax
not ecx
and ecx, dword [rsp + 0x40]
mov edx, eax
and edx, dword [rsp + 0x5c]
xor r8d, r8d
add esi, ebp
setb r8b
mov rbp, qword [rsp + 0x28]
mov ebp, dword [rsp + rbp*8 + 0x180]
mov r11, qword [rsp + 0x28]
lea rdi, [0x140044700]
add ebp, dword [rdi + r11*8 + 0x30]
mov r11d, r15d
mov r15d, eax
add ebp, dword [rsp + 0x34]
add ebp, edx
add ebp, ecx
add ebp, ebx
mov rax, qword [rsp + 0x28]
add esi, dword [rdi + rax*8 + 0x34]
adc ebp, r8d
xor eax, eax
mov rcx, qword [rsp + 0x28]
add esi, dword [rsp + rcx*8 + 0x184]
setb al
add esi, dword [rsp + 0x3c]
adc eax, ebp
mov ecx, r12d
shld ecx, r13d, 4
mov edx, r13d
shld edx, r12d, 0x1e
xor edx, ecx
mov ecx, r13d
shld ecx, r12d, 4
mov ebp, r12d
shld ebp, r13d, 0x1e
mov ebx, r13d
shld ebx, r12d, 0x19
xor ebp, ecx
xor ebx, edx
mov ecx, r12d
shld ecx, r13d, 0x19
xor ecx, ebp
mov edx, r13d
and edx, r11d
xor edx, dword [rsp + 0x38]
mov dword [rsp + 0x44], r12d
mov r8d, r12d
and r8d, r9d
xor r8d, dword [rsp + 0x54]
mov edi, r13d
and edi, dword [rsp + 0x48]
mov dword [rsp + 0x34], edi
mov ebp, r12d
and ebp, r14d
mov dword [rsp + 0x3c], ebp
xor edx, edi
xor r8d, ebp
add edx, ebx
adc r8d, ecx
mov ebx, dword [rsp + 0x4c]
add ebx, esi
adc r10d, eax
add edx, esi
adc r8d, eax
mov eax, r10d
shld eax, ebx, 0x12
mov ecx, r10d
shld ecx, ebx, 0xe
xor ecx, eax
mov eax, ebx
shld eax, r10d, 0x12
mov esi, ebx
shld esi, r10d, 0xe
mov ebp, ebx
shld ebp, r10d, 0x17
xor esi, eax
xor ebp, ecx
mov eax, r10d
shld eax, ebx, 0x17
xor eax, esi
mov ecx, ebx
not ecx
and ecx, dword [rsp + 0x50]
mov dword [rsp + 0x4c], ebx
mov esi, ebx
and esi, dword [rsp + 0x58]
or esi, ecx
mov ecx, r10d
not ecx
and ecx, dword [rsp + 0x5c]
mov ebx, r10d
and ebx, r15d
xor r11d, r11d
add esi, ebp
setb r11b
mov rbp, qword [rsp + 0x28]
mov ebp, dword [rsp + rbp*8 + 0x188]
mov rdi, qword [rsp + 0x28]
lea r12, [0x140044700]
add ebp, dword [r12 + rdi*8 + 0x38]
add ebp, dword [rsp + 0x40]
add ebp, ebx
add ebp, ecx
add ebp, eax
mov rax, qword [rsp + 0x28]
lea rcx, [0x140044700]
add esi, dword [rcx + rax*8 + 0x3c]
adc ebp, r11d
xor eax, eax
mov rcx, qword [rsp + 0x28]
add esi, dword [rsp + rcx*8 + 0x18c]
setb al
add esi, dword [rsp + 0x6c]
adc eax, ebp
mov ecx, r8d
shld ecx, edx, 4
mov ebx, edx
shld ebx, r8d, 0x1e
xor ebx, ecx
mov ecx, edx
shld ecx, r8d, 4
mov ebp, r8d
shld ebp, edx, 0x1e
xor ebp, ecx
mov ecx, edx
shld ecx, r8d, 0x19
xor ecx, ebx
mov ebx, r8d
shld ebx, edx, 0x19
xor ebx, ebp
mov dword [rsp + 0x54], r13d
xor r13d, dword [rsp + 0x48]
and r13d, edx
xor r13d, dword [rsp + 0x34]
mov ebp, dword [rsp + 0x44]
xor ebp, r14d
mov dword [rsp + 0x34], r8d
and ebp, r8d
xor ebp, dword [rsp + 0x3c]
add r13d, ecx
adc ebp, ebx
mov rcx, qword [rsp + 0x28]
mov edi, dword [rsp + 0x68]
add edi, esi
adc r9d, eax
add r13d, esi
adc ebp, eax
cmp rcx, 0x47
ja 0x140009920
mov dword [rsp + 0x40], ebp
mov dword [rsp + 0x3c], edx
mov edx, dword [rsp + 0x58]
mov eax, dword [rsp + rcx*8 + 0x190]
mov dword [rsp + 0x60], eax
mov r12d, dword [rsp + rcx*8 + 0x194]
add rcx, 8
mov ebx, dword [rsp + 0x5c]
jmp 0x140009cf0
movsxd r8, esi
lea rcx, [r14 + 0x40]
mov rdx, rdi
call fcn.1400138f0
mov dword [r14 + 0xc0], esi
mov rcx, qword [rsp + 0x3d0]
xor rcx, rsp
call fcn.140031ee0
nop
add rsp, 0x3d8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret