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

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0x120
mov rax, qword [0x1400a7328]
xor rax, rsp
mov qword [rsp + 0x110], rax
mov r14d, dword [rcx]
mov r15, r9
mov ebp, dword [rcx + 4]
mov r9, rdx
mov esi, dword [rcx + 8]
mov edi, dword [rcx + 0xc]
mov ebx, dword [rcx + 0x10]
mov r11d, dword [rcx + 0x14]
mov r10d, dword [rcx + 0x18]
mov eax, dword [rcx + 0x1c]
mov qword [rsp + 0x70], r8
mov qword [rsp + 0xc0], rdx
mov qword [rsp + 0xb0], rcx
test r8, r8
je 0x14004ae9b
lea rdx, [rsp + 0xd8]
mov qword [rsp + 0x158], r12
mov rcx, r9
mov qword [rsp + 0x160], r13
sub rcx, rdx
mov dword [rsp + 0x58], r14d
mov dword [rsp + 0x3c], ebp
mov dword [rsp + 0x40], esi
mov dword [rsp + 0x44], edi
lea rdx, [rcx + 4]
mov dword [rsp + 0x48], ebx
mov qword [rsp + 0x78], rdx
lea rdx, [rcx + 8]
mov qword [rsp + 0x80], rdx
lea rdx, [rcx + 0xc]
mov qword [rsp + 0x88], rdx
lea rdx, [rcx + 0x10]
mov qword [rsp + 0x90], rdx
lea rdx, [rcx + 0x14]
mov qword [rsp + 0x98], rdx
lea rdx, [rcx + 0x18]
add rcx, 0x1c
mov qword [rsp + 0xa0], rdx
mov qword [rsp + 0xa8], rcx
mov dword [rsp + 0x4c], r11d
mov dword [rsp + 0x50], r10d
mov dword [rsp + 0x54], eax
nop word [rax + rax]
movzx ecx, byte [r15 + 1]
movzx edx, byte [r15]
movzx r12d, byte [r15 + 4]
movzx r13d, byte [r15 + 8]
movzx r8d, byte [r15 + 0x10]
shl edx, 8
or edx, ecx
shl r12d, 8
movzx ecx, byte [r15 + 2]
shl edx, 8
or edx, ecx
shl r13d, 8
movzx ecx, byte [r15 + 3]
shl edx, 8
or edx, ecx
shl r8d, 8
movzx ecx, byte [r15 + 5]
or r12d, ecx
mov dword [rsp + 0x28], edx
movzx ecx, byte [r15 + 6]
mov dword [rsp + 0xd0], edx
movzx edx, byte [r15 + 0xc]
shl edx, 8
shl r12d, 8
or r12d, ecx
movzx ecx, byte [r15 + 7]
shl r12d, 8
or r12d, ecx
movzx ecx, byte [r15 + 9]
or r13d, ecx
mov dword [rsp + 0x64], r12d
movzx ecx, byte [r15 + 0xa]
shl r13d, 8
or r13d, ecx
mov dword [rsp + 0xd4], r12d
movzx ecx, byte [r15 + 0xb]
shl r13d, 8
or r13d, ecx
movzx ecx, byte [r15 + 0xd]
or edx, ecx
mov dword [rsp + 0x5c], r13d
movzx ecx, byte [r15 + 0xe]
shl edx, 8
or edx, ecx
mov dword [rsp + 0xd8], r13d
movzx ecx, byte [r15 + 0xf]
shl edx, 8
or edx, ecx
movzx ecx, byte [r15 + 0x11]
or r8d, ecx
mov dword [rsp + 0x60], edx
movzx ecx, byte [r15 + 0x12]
mov dword [rsp + 0xdc], edx
movzx edx, byte [r15 + 0x14]
shl edx, 8
shl r8d, 8
or r8d, ecx
movzx ecx, byte [r15 + 0x13]
shl r8d, 8
or r8d, ecx
movzx ecx, byte [r15 + 0x15]
or edx, ecx
mov dword [rsp + 0x38], r8d
movzx ecx, byte [r15 + 0x16]
shl edx, 8
or edx, ecx
mov dword [rsp + 0xe0], r8d
movzx ecx, byte [r15 + 0x17]
shl edx, 8
or edx, ecx
movzx ecx, byte [r15 + 0x19]
mov dword [rsp + 0x10], edx
mov dword [rsp + 0xe4], edx
movzx edx, byte [r15 + 0x18]
shl edx, 8
or edx, ecx
movzx ecx, byte [r15 + 0x1a]
shl edx, 8
or edx, ecx
movzx ecx, byte [r15 + 0x1b]
shl edx, 8
or edx, ecx
movzx ecx, byte [r15 + 0x1d]
mov dword [rsp + 0x18], edx
mov dword [rsp + 0xe8], edx
movzx edx, byte [r15 + 0x1c]
shl edx, 8
or edx, ecx
movzx ecx, byte [r15 + 0x1e]
shl edx, 8
or edx, ecx
movzx ecx, byte [r15 + 0x1f]
shl edx, 8
or edx, ecx
movzx ecx, byte [r15 + 0x21]
mov dword [rsp + 0x34], edx
mov dword [rsp + 0xec], edx
movzx edx, byte [r15 + 0x20]
shl edx, 8
or edx, ecx
movzx ecx, byte [r15 + 0x22]
shl edx, 8
or edx, ecx
movzx ecx, byte [r15 + 0x23]
shl edx, 8
or edx, ecx
movzx ecx, byte [r15 + 0x25]
mov dword [rsp + 0x30], edx
mov dword [rsp + 0xf0], edx
movzx edx, byte [r15 + 0x24]
shl edx, 8
or edx, ecx
movzx ecx, byte [r15 + 0x26]
shl edx, 8
or edx, ecx
movzx ecx, byte [r15 + 0x27]
shl edx, 8
or edx, ecx
movzx ecx, byte [r15 + 0x29]
mov dword [rsp + 8], edx
mov dword [rsp + 0xf4], edx
movzx edx, byte [r15 + 0x28]
shl edx, 8
or edx, ecx
movzx ecx, byte [r15 + 0x2a]
shl edx, 8
or edx, ecx
movzx ecx, byte [r15 + 0x2b]
shl edx, 8
or edx, ecx
movzx ecx, byte [r15 + 0x2d]
mov dword [rsp + 0xc], edx
mov dword [rsp + 0xf8], edx
movzx edx, byte [r15 + 0x2c]
shl edx, 8
or edx, ecx
movzx ecx, byte [r15 + 0x2e]
shl edx, 8
or edx, ecx
movzx ecx, byte [r15 + 0x2f]
shl edx, 8
or edx, ecx
movzx ecx, byte [r15 + 0x31]
mov dword [rsp + 0x14], edx
mov dword [rsp + 0xfc], edx
movzx edx, byte [r15 + 0x30]
shl edx, 8
or edx, ecx
movzx ecx, byte [r15 + 0x32]
shl edx, 8
or edx, ecx
movzx ecx, byte [r15 + 0x33]
shl edx, 8
or edx, ecx
movzx ecx, byte [r15 + 0x35]
mov dword [rsp + 0x1c], edx
mov dword [rsp + 0x100], edx
movzx edx, byte [r15 + 0x34]
shl edx, 8
or edx, ecx
movzx ecx, byte [r15 + 0x36]
shl edx, 8
or edx, ecx
mov r13, r9
movzx ecx, byte [r15 + 0x37]
lea r9, [rsp + 0xd8]
shl edx, 8
mov r12d, 2
or edx, ecx
movzx ecx, byte [r15 + 0x39]
mov dword [rsp + 0x24], edx
mov dword [rsp + 0x104], edx
movzx edx, byte [r15 + 0x38]
shl edx, 8
or edx, ecx
movzx ecx, byte [r15 + 0x3a]
shl edx, 8
or edx, ecx
movzx ecx, byte [r15 + 0x3b]
shl edx, 8
or edx, ecx
movzx ecx, byte [r15 + 0x3d]
mov dword [rsp + 0x20], edx
mov dword [rsp + 0x108], edx
movzx edx, byte [r15 + 0x3c]
shl edx, 8
or edx, ecx
movzx ecx, byte [r15 + 0x3e]
shl edx, 8
or edx, ecx
movzx ecx, byte [r15 + 0x3f]
shl edx, 8
or edx, ecx
add r15, 0x40
mov dword [rsp + 0x2c], edx
mov qword [rsp + 0xb8], r15
mov dword [rsp + 0x10c], edx
nop dword [rax]
nop dword [rax + rax]
mov ecx, ebx
mov edx, ebx
ror ecx, 0xb
mov r8d, r14d
ror edx, 0x19
xor edx, ecx
ror r8d, 0x16
mov ecx, ebx
ror ecx, 6
xor edx, ecx
mov ecx, r10d
xor ecx, r11d
and ecx, ebx
xor ecx, r10d
add edx, ecx
mov ecx, r14d
add edx, dword [r9 - 8]
add edx, dword [r13]
ror ecx, 0xd
add eax, edx
xor r8d, ecx
add edi, eax
mov ecx, r14d
mov edx, ebp
ror ecx, 2
xor edx, r14d
xor r8d, ecx
and edx, esi
mov ecx, ebp
and ecx, r14d
xor edx, ecx
mov ecx, edi
ror ecx, 0xb
add eax, edx
add eax, r8d
mov edx, edi
ror edx, 0x19
mov r8d, eax
xor edx, ecx
ror r8d, 0x16
mov ecx, edi
ror ecx, 6
xor edx, ecx
mov ecx, r11d
xor ecx, ebx
and ecx, edi
xor ecx, r11d
add edx, ecx
mov rcx, qword [rsp + 0x78]
add edx, dword [rcx + r9]
mov ecx, eax
add edx, dword [r9 - 4]
ror ecx, 0xd
add r10d, edx
xor r8d, ecx
add esi, r10d
mov ecx, eax
mov edx, eax
ror ecx, 2
xor edx, r14d
xor r8d, ecx
and edx, ebp
mov ecx, eax
and ecx, r14d
xor edx, ecx
mov ecx, esi
ror ecx, 0xb
add r10d, edx
mov edx, esi
add r10d, r8d
ror edx, 0x19
xor edx, ecx
mov ecx, esi
ror ecx, 6
xor edx, ecx
mov ecx, ebx
xor ecx, edi
and ecx, esi
xor ecx, ebx
add edx, ecx
mov rcx, qword [rsp + 0x80]
add edx, dword [rcx + r9]
mov r8d, r10d
add edx, dword [r9]
mov ecx, r10d
ror ecx, 0xd
add r11d, edx
ror r8d, 0x16
add ebp, r11d
xor r8d, ecx
mov edx, eax
xor edx, r10d
mov ecx, r10d
ror ecx, 2
and edx, r14d
xor r8d, ecx
mov ecx, eax
and ecx, r10d
xor edx, ecx
mov ecx, ebp
ror ecx, 0xb
add r11d, edx
add r11d, r8d
mov edx, ebp
ror edx, 0x19
mov r8d, r11d
xor edx, ecx
ror r8d, 0x16
mov ecx, ebp
ror ecx, 6
xor edx, ecx
mov ecx, edi
xor ecx, esi
and ecx, ebp
xor ecx, edi
add edx, ecx
mov rcx, qword [rsp + 0x88]
add edx, dword [rcx + r9]
mov ecx, r11d
add edx, dword [r9 + 4]
ror ecx, 0xd
add ebx, edx
xor r8d, ecx
add r14d, ebx
mov ecx, r11d
mov edx, r10d
ror ecx, 2
xor edx, r11d
xor r8d, ecx
and edx, eax
mov ecx, r10d
and ecx, r11d
xor edx, ecx
mov ecx, r14d
ror ecx, 0xb
add ebx, edx
add ebx, r8d
mov edx, r14d
ror edx, 0x19
mov r8d, ebx
xor edx, ecx
ror r8d, 0x16
mov ecx, r14d
ror ecx, 6
xor edx, ecx
mov ecx, esi
xor ecx, ebp
and ecx, r14d
xor ecx, esi
add edx, ecx
mov rcx, qword [rsp + 0x90]
add edx, dword [rcx + r9]
mov ecx, ebx
add edx, dword [r9 + 8]
ror ecx, 0xd
add edi, edx
xor r8d, ecx
add eax, edi
mov ecx, ebx
mov edx, r11d
ror ecx, 2
xor r8d, ecx
xor edx, ebx
mov ecx, r11d
and ecx, ebx
and edx, r10d
xor edx, ecx
mov ecx, eax
ror ecx, 0xb
add edi, edx
add edi, r8d
mov edx, eax
ror edx, 0x19
mov r8d, edi
xor edx, ecx
ror r8d, 0x16
mov ecx, eax
ror ecx, 6
xor edx, ecx
mov ecx, ebp
xor ecx, r14d
and ecx, eax
xor ecx, ebp
add edx, ecx
mov rcx, qword [rsp + 0x98]
add edx, dword [rcx + r9]
mov ecx, edi
add edx, dword [r9 + 0xc]
ror ecx, 0xd
add esi, edx
xor r8d, ecx
add r10d, esi
mov ecx, edi
mov edx, ebx
ror ecx, 2
xor edx, edi
xor r8d, ecx
and edx, r11d
mov ecx, ebx
and ecx, edi
xor edx, ecx
mov ecx, r10d
ror ecx, 0xb
add esi, edx
add esi, r8d
mov edx, r10d
ror edx, 0x19
mov r8d, esi
xor edx, ecx
ror r8d, 0x16
mov ecx, r10d
ror ecx, 6
xor edx, ecx
mov ecx, eax
xor ecx, r14d
and ecx, r10d
xor ecx, r14d
add edx, ecx
mov rcx, qword [rsp + 0xa0]
add edx, dword [rcx + r9]
mov ecx, esi
add edx, dword [r9 + 0x10]
add ebp, edx
ror ecx, 0xd
xor r8d, ecx
add r11d, ebp
mov ecx, esi
mov edx, edi
ror ecx, 2
xor edx, esi
xor r8d, ecx
and edx, ebx
mov ecx, edi
and ecx, esi
xor edx, ecx
mov ecx, r11d
add ebp, edx
ror ecx, 0xb
mov edx, r11d
add ebp, r8d
ror edx, 0x19
xor edx, ecx
mov ecx, r11d
ror ecx, 6
lea r9, [r9 + 0x20]
xor edx, ecx
mov r8d, ebp
ror r8d, 0x16
mov ecx, eax
xor ecx, r10d
add r13, 0x20
and ecx, r11d
xor ecx, eax
add edx, ecx
mov rcx, qword [rsp + 0xa8]
add edx, dword [rcx + r9 - 0x20]
mov ecx, ebp
add edx, dword [r9 - 0xc]
add r14d, edx
ror ecx, 0xd
xor r8d, ecx
add ebx, r14d
mov ecx, ebp
mov edx, esi
ror ecx, 2
xor edx, ebp
xor r8d, ecx
and edx, edi
mov ecx, esi
and ecx, ebp
xor edx, ecx
add r14d, edx
add r14d, r8d
sub r12, 1
jne 0x14004a120
mov r12d, dword [rsp + 0x64]
mov r15d, dword [rsp + 0x60]
mov r9d, dword [rsp + 0x20]
mov qword [rsp], r13
mov r13d, dword [rsp + 0x5c]
mov qword [rsp + 0x68], 3
nop word [rax + rax]
mov ecx, r9d
mov r8d, r9d
ror ecx, 0x11
mov edx, r10d
ror r8d, 0x13
xor edx, r11d
xor r8d, ecx
and edx, ebx
mov ecx, r9d
xor edx, r10d
shr ecx, 0xa
mov r9d, r12d
xor r8d, ecx
ror r9d, 0x12
mov ecx, r12d
ror ecx, 7
xor r9d, ecx
mov ecx, r12d
shr ecx, 3
xor r9d, ecx
mov ecx, dword [rsp + 0x28]
add ecx, r8d
mov r8d, ebx
add r9d, ecx
ror r8d, 0x19
add r9d, dword [rsp + 8]
mov ecx, ebx
ror ecx, 0xb
xor r8d, ecx
mov dword [rsp + 0x28], r9d
mov ecx, ebx
ror ecx, 6
xor ecx, r8d
mov r8d, r14d
add ecx, r9d
ror r8d, 0x16
add edx, ecx
mov r9d, ebp
mov rcx, qword [rsp]
xor r9d, r14d
and r9d, esi
add edx, dword [rcx]
mov ecx, r14d
add eax, edx
ror ecx, 0xd
xor r8d, ecx
add edi, eax
mov ecx, r14d
ror ecx, 2
xor r8d, ecx
mov ecx, ebp
and ecx, r14d
xor r9d, ecx
mov ecx, dword [rsp + 0x2c]
add r9d, eax
mov edx, ecx
mov eax, ecx
ror edx, 0x13
ror eax, 0x11
add r9d, r8d
xor edx, eax
mov eax, ecx
shr eax, 0xa
mov ecx, r13d
xor edx, eax
ror ecx, 0x12
mov eax, r13d
ror eax, 7
xor ecx, eax
mov eax, r13d
shr eax, 3
xor ecx, eax
mov eax, dword [rsp + 0xc]
add eax, edx
add ecx, eax
mov eax, edi
add r12d, ecx
ror eax, 0xb
mov ecx, edi
ror ecx, 0x19
xor ecx, eax
mov r8d, dword [rsp + 0x28]
mov eax, edi
ror eax, 6
mov edx, r9d
xor ecx, eax
ror edx, 0x16
mov eax, r11d
xor eax, ebx
and eax, edi
xor eax, r11d
add ecx, eax
mov rax, qword [rsp]
add ecx, dword [rax + 4]
mov eax, r9d
ror eax, 0xd
add ecx, r12d
xor edx, eax
add r10d, ecx
add esi, r10d
mov eax, r9d
ror eax, 2
mov ecx, r9d
xor edx, eax
xor ecx, r14d
and ecx, ebp
mov eax, r9d
and eax, r14d
xor ecx, eax
mov eax, r15d
ror eax, 7
add r10d, ecx
add r10d, edx
mov ecx, r8d
ror ecx, 0x13
mov edx, r15d
ror edx, 0x12
xor edx, eax
mov eax, r15d
shr eax, 3
xor edx, eax
mov eax, r8d
ror eax, 0x11
xor ecx, eax
mov eax, r8d
shr eax, 0xa
xor ecx, eax
mov eax, dword [rsp + 0x14]
add eax, edx
mov edx, r10d
add ecx, eax
ror edx, 0x16
add r13d, ecx
mov eax, esi
ror eax, 0xb
mov ecx, esi
ror ecx, 0x19
xor ecx, eax
mov eax, esi
ror eax, 6
xor ecx, eax
mov eax, ebx
xor eax, edi
and eax, esi
xor eax, ebx
add ecx, eax
mov rax, qword [rsp]
add ecx, dword [rax + 8]
mov eax, r10d
ror eax, 0xd
add ecx, r13d
xor edx, eax
add r11d, ecx
mov eax, r10d
mov ecx, r9d
ror eax, 2
xor ecx, r10d
xor edx, eax
add ebp, r11d
mov eax, r9d
and ecx, r14d
and eax, r10d
xor ecx, eax
mov r8d, dword [rsp + 0x38]
add r11d, ecx
mov eax, r8d
ror eax, 7
add r11d, edx
mov edx, r8d
mov ecx, r12d
ror ecx, 0x13
ror edx, 0x12
xor edx, eax
mov eax, r8d
shr eax, 3
xor edx, eax
mov eax, r12d
ror eax, 0x11
xor ecx, eax
mov eax, r12d
shr eax, 0xa
xor ecx, eax
mov eax, dword [rsp + 0x1c]
add eax, edx
mov edx, r11d
add ecx, eax
ror edx, 0x16
add r15d, ecx
mov eax, ebp
ror eax, 0xb
mov ecx, ebp
ror ecx, 0x19
xor ecx, eax
mov eax, ebp
ror eax, 6
xor ecx, eax
mov eax, edi
xor eax, esi
and eax, ebp
xor eax, edi
add ecx, eax
mov rax, qword [rsp]
add ecx, dword [rax + 0xc]
mov eax, r11d
ror eax, 0xd
add ecx, r15d
xor edx, eax
add ebx, ecx
add r14d, ebx
mov eax, r11d
ror eax, 2
mov ecx, r10d
xor edx, eax
xor ecx, r11d
and ecx, r9d
mov eax, r10d
and eax, r11d
xor ecx, eax
mov eax, r13d
ror eax, 0x11
add ebx, ecx
add ebx, edx
mov edx, r13d
ror edx, 0x13
xor edx, eax
mov eax, r13d
shr eax, 0xa
xor edx, eax
mov eax, dword [rsp + 0x10]
mov ecx, eax
ror eax, 7
ror ecx, 0x12
xor ecx, eax
mov eax, dword [rsp + 0x10]
shr eax, 3
xor ecx, eax
mov eax, dword [rsp + 0x24]
add eax, edx
add ecx, eax
add r8d, ecx
mov ecx, r14d
ror ecx, 0x19
mov dword [rsp + 0x38], r8d
mov eax, r14d
mov edx, ebx
ror eax, 0xb
xor ecx, eax
ror edx, 0x16
mov eax, r14d
ror eax, 6
xor ecx, eax
mov eax, esi
xor eax, ebp
and eax, r14d
xor eax, esi
add ecx, eax
mov rax, qword [rsp]
add ecx, dword [rax + 0x10]
mov eax, ebx
ror eax, 0xd
add ecx, r8d
xor edx, eax
add edi, ecx
add r9d, edi
mov eax, ebx
ror eax, 2
mov ecx, r11d
xor edx, eax
xor ecx, ebx
and ecx, r10d
mov eax, r11d
and eax, ebx
xor ecx, eax
mov eax, r15d
ror eax, 0x11
add edi, ecx
add edi, edx
mov edx, r15d
ror edx, 0x13
xor edx, eax
mov eax, r15d
shr eax, 0xa
xor edx, eax
mov eax, dword [rsp + 0x18]
add edx, dword [rsp + 0x10]
mov ecx, eax
ror eax, 7
ror ecx, 0x12
xor ecx, eax
mov eax, dword [rsp + 0x18]
shr eax, 3
xor ecx, eax
mov eax, r9d
add edx, ecx
ror eax, 0xb
add edx, dword [rsp + 0x20]
mov ecx, r9d
ror ecx, 0x19
xor ecx, eax
mov dword [rsp + 0x10], edx
mov eax, r9d
ror eax, 6
xor ecx, eax
mov eax, ebp
xor eax, r14d
and eax, r9d
xor eax, ebp
add ecx, eax
mov rax, qword [rsp]
add ecx, dword [rax + 0x14]
mov eax, edi
add ecx, edx
ror eax, 0xd
add esi, ecx
mov edx, edi
ror edx, 0x16
mov ecx, ebx
xor edx, eax
add r10d, esi
mov eax, edi
xor ecx, edi
ror eax, 2
xor edx, eax
and ecx, r11d
mov eax, ebx
and eax, edi
xor ecx, eax
add esi, ecx
mov ecx, dword [rsp + 0x34]
mov eax, ecx
add esi, edx
ror eax, 7
mov edx, ecx
ror edx, 0x12
xor edx, eax
mov eax, ecx
shr eax, 3
mov ecx, r8d
xor edx, eax
ror ecx, 0x13
add edx, dword [rsp + 0x18]
mov eax, r8d
ror eax, 0x11
xor ecx, eax
mov eax, r8d
mov r8d, dword [rsp + 0x30]
shr eax, 0xa
xor ecx, eax
mov eax, r10d
add edx, ecx
ror eax, 0xb
add edx, dword [rsp + 0x2c]
mov ecx, r10d
ror ecx, 0x19
xor ecx, eax
mov dword [rsp + 0x18], edx
mov eax, r10d
ror eax, 6
xor ecx, eax
mov eax, r9d
xor eax, r14d
and eax, r10d
xor eax, r14d
add ecx, eax
mov rax, qword [rsp]
add ecx, dword [rax + 0x18]
mov eax, esi
add ecx, edx
ror eax, 0xd
add ebp, ecx
mov edx, esi
ror edx, 0x16
add r11d, ebp
xor edx, eax
mov ecx, edi
xor ecx, esi
mov eax, esi
ror eax, 2
and ecx, ebx
xor edx, eax
mov eax, edi
and eax, esi
xor ecx, eax
add ebp, ecx
mov ecx, dword [rsp + 0x10]
mov eax, ecx
add ebp, edx
ror eax, 0x11
mov edx, ecx
ror edx, 0x13
xor edx, eax
mov eax, ecx
shr eax, 0xa
mov ecx, r8d
xor edx, eax
ror ecx, 0x12
mov eax, r8d
ror eax, 7
xor ecx, eax
mov eax, r8d
shr eax, 3
xor ecx, eax
mov eax, dword [rsp + 0x28]
add eax, edx
add ecx, eax
mov r8d, dword [rsp + 0x34]
mov eax, r11d
ror eax, 0xb
add r8d, ecx
mov ecx, r11d
mov dword [rsp + 0x34], r8d
ror ecx, 0x19
mov edx, ebp
xor ecx, eax
ror edx, 0x16
mov eax, r11d
ror eax, 6
xor ecx, eax
mov eax, r9d
xor eax, r10d
and eax, r11d
xor eax, r9d
add ecx, eax
mov rax, qword [rsp]
add ecx, dword [rax + 0x1c]
mov eax, ebp
ror eax, 0xd
add ecx, r8d
xor edx, eax
add r14d, ecx
add ebx, r14d
mov eax, ebp
ror eax, 2
mov ecx, esi
xor edx, eax
xor ecx, ebp
and ecx, edi
mov eax, esi
and eax, ebp
xor ecx, eax
add r14d, ecx
mov ecx, dword [rsp + 0x18]
mov eax, ecx
add r14d, edx
ror eax, 0x11
mov edx, ecx
ror edx, 0x13
xor edx, eax
mov eax, ecx
shr eax, 0xa
xor edx, eax
mov eax, dword [rsp + 8]
mov ecx, eax
ror eax, 7
ror ecx, 0x12
xor ecx, eax
mov eax, dword [rsp + 8]
shr eax, 3
xor ecx, eax
lea eax, [r12 + rdx]
mov edx, dword [rsp + 0x30]
add ecx, eax
add edx, ecx
mov eax, ebx
ror eax, 0xb
mov ecx, ebx
ror ecx, 0x19
xor ecx, eax
mov dword [rsp + 0x30], edx
mov eax, ebx
ror eax, 6
xor ecx, eax
mov eax, r10d
xor eax, r11d
and eax, ebx
xor eax, r10d
add ecx, eax
mov rax, qword [rsp]
add ecx, dword [rax + 0x20]
mov eax, r14d
add ecx, edx
mov edx, r14d
add r9d, ecx
ror edx, 0x16
add edi, r9d
ror eax, 0xd
xor edx, eax
ror r8d, 0x13
mov ecx, ebp
mov eax, r14d
xor ecx, r14d
ror eax, 2
and ecx, esi
xor edx, eax
mov eax, ebp
and eax, r14d
xor eax, ecx
add eax, r9d
mov r9d, dword [rsp + 0x34]
add eax, edx
mov ecx, r9d
ror ecx, 0x11
xor r8d, ecx
mov ecx, r9d
shr ecx, 0xa
xor r8d, ecx
mov ecx, dword [rsp + 0xc]
mov edx, ecx
ror ecx, 7
ror edx, 0x12
xor edx, ecx
mov ecx, dword [rsp + 0xc]
shr ecx, 3
xor edx, ecx
lea ecx, [r8 + r13]
add edx, ecx
mov r8d, dword [rsp + 8]
add r8d, edx
mov ecx, edi
ror ecx, 0xb
mov edx, edi
ror edx, 0x19
xor edx, ecx
mov dword [rsp + 8], r8d
mov ecx, edi
ror ecx, 6
xor edx, ecx
mov ecx, r11d
xor ecx, ebx
and ecx, edi
xor ecx, r11d
add edx, ecx
mov rcx, qword [rsp]
add edx, dword [rcx + 0x24]
mov ecx, eax
add edx, r8d
ror ecx, 0xd
add r10d, edx
mov r8d, eax
ror r8d, 0x16
add esi, r10d
xor r8d, ecx
mov edx, eax
xor edx, r14d
mov ecx, eax
ror ecx, 2
and edx, ebp
xor r8d, ecx
mov ecx, eax
and ecx, r14d
xor edx, ecx
add r10d, edx
mov edx, dword [rsp + 0x30]
add r10d, r8d
mov ecx, edx
ror ecx, 0x11
mov r8d, edx
ror r8d, 0x13
xor r8d, ecx
mov ecx, edx
shr ecx, 0xa
xor r8d, ecx
mov ecx, dword [rsp + 0x14]
mov edx, ecx
ror ecx, 7
ror edx, 0x12
xor edx, ecx
mov ecx, dword [rsp + 0x14]
shr ecx, 3
xor edx, ecx
lea ecx, [r15 + r8]
add edx, ecx
mov r8d, dword [rsp + 0xc]
add r8d, edx
mov ecx, esi
ror ecx, 0xb
mov edx, esi
ror edx, 0x19
xor edx, ecx
mov dword [rsp + 0xc], r8d
mov ecx, esi
ror ecx, 6
xor edx, ecx
mov ecx, ebx
xor ecx, edi
and ecx, esi
xor ecx, ebx
add edx, ecx
mov rcx, qword [rsp]
add edx, dword [rcx + 0x28]
mov ecx, r10d
add edx, r8d
ror ecx, 0xd
add r11d, edx
mov r8d, r10d
ror r8d, 0x16
add ebp, r11d
xor r8d, ecx
mov edx, eax
xor edx, r10d
mov ecx, r10d
ror ecx, 2
and edx, r14d
xor r8d, ecx
mov ecx, eax
and ecx, r10d
xor edx, ecx
add r11d, edx
mov edx, dword [rsp + 8]
mov ecx, edx
add r11d, r8d
ror ecx, 0x11
mov r8d, edx
ror r8d, 0x13
xor r8d, ecx
mov ecx, edx
shr ecx, 0xa
xor r8d, ecx
mov ecx, dword [rsp + 0x1c]
mov edx, ecx
ror ecx, 7
ror edx, 0x12
xor edx, ecx
mov ecx, dword [rsp + 0x1c]
shr ecx, 3
xor edx, ecx
mov ecx, dword [rsp + 0x14]
add ecx, r8d
mov r8d, dword [rsp + 0x38]
add edx, ecx
mov ecx, ebp
ror ecx, 0xb
add r8d, edx
mov edx, ebp
mov dword [rsp + 0x14], r8d
ror edx, 0x19
xor edx, ecx
mov ecx, ebp
ror ecx, 6
xor edx, ecx
mov ecx, edi
xor ecx, esi
and ecx, ebp
xor ecx, edi
add edx, ecx
mov rcx, qword [rsp]
add edx, dword [rcx + 0x2c]
add edx, r8d
add ebx, edx
mov ecx, r11d
ror ecx, 0xd
add r14d, ebx
mov r8d, r11d
mov edx, r10d
xor edx, r11d
ror r8d, 0x16
xor r8d, ecx
and edx, eax
mov ecx, r11d
ror ecx, 2
xor r8d, ecx
mov ecx, r10d
and ecx, r11d
xor edx, ecx
add ebx, edx
mov edx, dword [rsp + 0xc]
add ebx, r8d
mov ecx, edx
ror ecx, 0x11
mov r8d, edx
ror r8d, 0x13
xor r8d, ecx
mov ecx, edx
shr ecx, 0xa
xor r8d, ecx
mov ecx, dword [rsp + 0x24]
add r8d, dword [rsp + 0x1c]
mov edx, ecx
ror ecx, 7
ror edx, 0x12
xor edx, ecx
mov ecx, dword [rsp + 0x24]
shr ecx, 3
xor edx, ecx
mov ecx, r14d
add r8d, edx
ror ecx, 0xb
add r8d, dword [rsp + 0x10]
mov edx, r14d
ror edx, 0x19
xor edx, ecx
mov dword [rsp + 0x1c], r8d
mov ecx, r14d
ror ecx, 6
xor edx, ecx
mov ecx, esi
xor ecx, ebp
and ecx, r14d
xor ecx, esi
add edx, ecx
mov rcx, qword [rsp]
add edx, dword [rcx + 0x30]
mov ecx, ebx
add edx, r8d
ror ecx, 0xd
add edi, edx
mov r8d, ebx
ror r8d, 0x16
add eax, edi
xor r8d, ecx
mov edx, r11d
xor edx, ebx
mov ecx, ebx
ror ecx, 2
and edx, r10d
xor r8d, ecx
mov ecx, r11d
and ecx, ebx
xor edx, ecx
add edi, edx
mov edx, dword [rsp + 0x14]
add edi, r8d
mov ecx, edx
ror ecx, 0x11
mov r8d, edx
ror r8d, 0x13
xor r8d, ecx
mov ecx, edx
shr ecx, 0xa
xor r8d, ecx
mov ecx, dword [rsp + 0x20]
add r8d, dword [rsp + 0x24]
mov edx, ecx
ror ecx, 7
ror edx, 0x12
xor edx, ecx
mov ecx, dword [rsp + 0x20]
shr ecx, 3
xor edx, ecx
mov ecx, eax
add r8d, edx
ror ecx, 0xb
add r8d, dword [rsp + 0x18]
mov edx, eax
ror edx, 0x19
xor edx, ecx
mov dword [rsp + 0x24], r8d
mov ecx, eax
ror ecx, 6
xor edx, ecx
mov ecx, ebp
xor ecx, r14d
and ecx, eax
xor ecx, ebp
add edx, ecx
mov rcx, qword [rsp]
add edx, dword [rcx + 0x34]
mov ecx, edi
add edx, r8d
ror ecx, 0xd
add esi, edx
mov r8d, edi
ror r8d, 0x16
add r10d, esi
xor r8d, ecx
mov edx, ebx
xor edx, edi
mov ecx, edi
ror ecx, 2
and edx, r11d
xor r8d, ecx
mov ecx, ebx
and ecx, edi
xor edx, ecx
add esi, edx
mov edx, dword [rsp + 0x1c]
mov ecx, edx
add esi, r8d
ror ecx, 0x11
mov r8d, edx
ror r8d, 0x13
xor r8d, ecx
mov ecx, edx
shr ecx, 0xa
xor r8d, ecx
mov ecx, dword [rsp + 0x2c]
mov edx, ecx
ror ecx, 7
ror edx, 0x12
xor edx, ecx
mov ecx, dword [rsp + 0x2c]
shr ecx, 3
xor edx, ecx
lea ecx, [r9 + r8]
mov r9d, dword [rsp + 0x20]
add edx, ecx
add r9d, edx
mov ecx, r10d
ror ecx, 0xb
mov edx, r10d
ror edx, 0x19
xor edx, ecx
mov dword [rsp + 0x20], r9d
mov ecx, r10d
ror ecx, 6
xor edx, ecx
mov ecx, eax
xor ecx, r14d
and ecx, r10d
xor ecx, r14d
add edx, ecx
mov r8d, esi
mov rcx, qword [rsp]
ror r8d, 0x16
add edx, dword [rcx + 0x38]
mov ecx, esi
ror ecx, 0xd
add edx, r9d
xor r8d, ecx
add ebp, edx
add r11d, ebp
mov ecx, esi
ror ecx, 2
mov edx, edi
xor r8d, ecx
xor edx, esi
and edx, ebx
mov ecx, edi
and ecx, esi
xor edx, ecx
add ebp, edx
mov edx, dword [rsp + 0x24]
mov ecx, edx
add ebp, r8d
ror ecx, 0x11
mov r8d, edx
ror r8d, 0x13
xor r8d, ecx
mov ecx, edx
shr ecx, 0xa
xor r8d, ecx
mov ecx, dword [rsp + 0x28]
mov edx, ecx
ror ecx, 7
ror edx, 0x12
xor edx, ecx
mov ecx, dword [rsp + 0x28]
shr ecx, 3
xor edx, ecx
mov ecx, dword [rsp + 0x30]
add ecx, r8d
mov r8d, dword [rsp + 0x2c]
add edx, ecx
mov ecx, r11d
add r8d, edx
ror ecx, 0xb
mov dword [rsp + 0x2c], r8d
mov edx, r11d
ror edx, 0x19
xor edx, ecx
mov ecx, r11d
ror ecx, 6
xor edx, ecx
mov ecx, eax
xor ecx, r10d
and ecx, r11d
xor ecx, eax
add edx, ecx
mov rcx, qword [rsp]
add qword [rsp], 0x40
add edx, dword [rcx + 0x3c]
mov ecx, ebp
add edx, r8d
ror ecx, 0xd
add r14d, edx
mov r8d, ebp
ror r8d, 0x16
add ebx, r14d
xor r8d, ecx
mov edx, esi
xor edx, ebp
mov ecx, ebp
ror ecx, 2
and edx, edi
xor r8d, ecx
mov ecx, esi
and ecx, ebp
xor edx, ecx
add r14d, edx
add r14d, r8d
sub qword [rsp + 0x68], 1
jne 0x14004a450
mov rcx, qword [rsp + 0xb0]
add r14d, dword [rsp + 0x58]
add ebp, dword [rsp + 0x3c]
add esi, dword [rsp + 0x40]
add edi, dword [rsp + 0x44]
add ebx, dword [rsp + 0x48]
add r11d, dword [rsp + 0x4c]
add r10d, dword [rsp + 0x50]
add eax, dword [rsp + 0x54]
sub qword [rsp + 0x70], 1
mov r15, qword [rsp + 0xb8]
mov r9, qword [rsp + 0xc0]
mov dword [rcx], r14d
mov dword [rcx + 4], ebp
mov dword [rcx + 8], esi
mov dword [rcx + 0xc], edi
mov dword [rcx + 0x10], ebx
mov dword [rcx + 0x14], r11d
mov dword [rcx + 0x18], r10d
mov dword [rcx + 0x1c], eax
mov dword [rsp + 0x58], r14d
mov dword [rsp + 0x3c], ebp
mov dword [rsp + 0x40], esi
mov dword [rsp + 0x44], edi
mov dword [rsp + 0x48], ebx
mov dword [rsp + 0x4c], r11d
mov dword [rsp + 0x50], r10d
mov dword [rsp + 0x54], eax
jne 0x140049e00
mov r13, qword [rsp + 0x160]
mov r12, qword [rsp + 0x158]
mov rax, r15
mov rcx, qword [rsp + 0x110]
xor rcx, rsp
call fcn.14004afd0
mov rbx, qword [rsp + 0x168]
add rsp, 0x120
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret