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

Disassembly:
push rbx
push rbp
push rsi
push r14
sub rsp, 0x118
mov rsi, qword [rcx + 0x40]
mov eax, 0x40
sub rax, rsi
mov rbp, r8
mov r14, rdx
mov rbx, rcx
cmp r8, rax
jae 0x1401cef24
add rcx, rsi
call fcn.140361cf0
lea rax, [rsi + rbp]
mov qword [rbx + 0x40], rax
add rsp, 0x118
pop r14
pop rsi
pop rbp
pop rbx
ret
mov eax, dword [rcx + 0x4c]
mov edx, dword [rbx + 0x54]
mov r8d, dword [rbx + 0x58]
mov r9d, dword [rbx + 0x5c]
mov r10d, dword [rbx + 0x60]
mov r11d, dword [rbx + 0x64]
mov qword [rsp + 0x110], rdi
mov edi, dword [rbx + 0x68]
mov qword [rsp + 0x108], r12
mov qword [rsp + 0x100], r13
mov r13d, dword [rcx + 0x48]
mov ecx, dword [rcx + 0x50]
mov qword [rsp + 0xf8], r15
mov r15d, dword [rbx + 0x6c]
mov dword [rsp + 0xb4], r15d
mov r15d, dword [rbx + 0x70]
mov dword [rsp + 0xb8], r15d
mov r15d, dword [rbx + 0x74]
mov dword [rsp + 0x58], r15d
mov r15d, dword [rbx + 0x78]
mov dword [rsp + 0x48], r15d
mov r15d, dword [rbx + 0x7c]
mov dword [rsp + 0xc4], r15d
mov r15d, dword [rbx + 0x80]
mov dword [rsp + 0xc8], r15d
mov r15d, dword [rbx + 0x84]
mov dword [rsp + 0xcc], r15d
mov r15d, dword [rbx + 0x88]
mov dword [rsp + 0xd0], r15d
mov r15d, dword [rbx + 0x8c]
mov dword [rsp + 0xd4], r15d
mov r15d, dword [rbx + 0x90]
mov dword [rsp + 0x34], r15d
mov r15d, dword [rbx + 0x94]
mov dword [rsp + 0x30], r15d
mov r15d, dword [rbx + 0x98]
mov dword [rsp + 0x2c], r15d
mov r15d, dword [rbx + 0x9c]
mov dword [rsp + 0x28], r15d
mov r15d, dword [rbx + 0xa0]
mov dword [rsp + 0x24], r15d
mov r15d, dword [rbx + 0xa4]
mov dword [rsp + 0x20], r15d
mov r15d, dword [rbx + 0xa8]
mov dword [rsp + 0xd8], r15d
mov r15d, dword [rbx + 0xac]
mov dword [rsp + 0xdc], r15d
mov r15d, dword [rbx + 0xb0]
mov dword [rsp + 0xe0], r15d
mov r15d, dword [rbx + 0xb4]
mov dword [rsp + 0xe4], r15d
mov r15d, dword [rbx + 0xb8]
mov dword [rsp + 0x6c], r15d
mov r15d, dword [rbx + 0xbc]
mov dword [rsp + 0x70], r15d
mov r15d, dword [rbx + 0xc0]
mov dword [rsp + 0x74], r15d
mov r15d, dword [rbx + 0xc4]
mov dword [rsp + 0x5c], r15d
mov r15d, dword [rbx + 0xc8]
mov dword [rsp + 0x60], r15d
mov r15d, dword [rbx + 0xcc]
mov dword [rsp + 0x64], r15d
mov r15d, dword [rbx + 0xd0]
mov dword [rsp + 0x68], r15d
mov r15d, dword [rbx + 0xd4]
mov dword [rsp + 0x78], r15d
mov r15d, dword [rbx + 0xd8]
mov dword [rsp + 0x7c], r15d
mov r15d, dword [rbx + 0xdc]
mov dword [rsp + 0x98], r15d
mov r15d, dword [rbx + 0xe0]
mov dword [rsp + 0x9c], r13d
mov dword [rsp + 0xa0], eax
mov dword [rsp + 0x50], ecx
mov dword [rsp + 0x40], edx
mov dword [rsp + 0x38], r8d
mov dword [rsp + 0xa4], r9d
mov dword [rsp + 0xa8], r10d
mov dword [rsp + 0xac], r11d
mov dword [rsp + 0xb0], edi
mov r12d, dword [rbx + 0xfc]
mov dword [rsp + 0x80], r15d
mov r15d, dword [rbx + 0xe4]
mov dword [rsp + 0x90], r15d
mov r15d, dword [rbx + 0xe8]
mov dword [rsp + 0x84], r15d
mov r15d, dword [rbx + 0xec]
mov dword [rsp + 0x88], r15d
mov r15d, dword [rbx + 0xf0]
mov dword [rsp + 0x8c], r15d
mov r15d, dword [rbx + 0xf4]
mov dword [rsp + 0x94], r15d
mov r15d, dword [rbx + 0xf8]
mov dword [rsp + 0xbc], r15d
mov dword [rsp + 0xc0], r12d
test rbp, rbp
je 0x1401d00c5
mov eax, 0x40
lea rcx, [rsi + rbx]
sub rax, rsi
mov rdi, rbp
cmp rax, rbp
mov rdx, r14
cmovbe rdi, rax
mov r8, rdi
call fcn.140361cf0
add r14, rdi
sub rbp, rdi
add rsi, rdi
mov qword [rsp + 0x148], r14
mov qword [rsp + 0x150], rbp
cmp rsi, 0x40
jne 0x1401d0081
mov r14d, dword [rsp + 0x24]
mov eax, dword [rbx + 0x2c]
add eax, dword [rsp + 0x20]
mov r11d, dword [rsp + 0x30]
add r11d, dword [rbx + 0x1c]
mov r8d, dword [rbx + 0x18]
add r8d, dword [rsp + 0x34]
add r14d, dword [rbx + 0x28]
mov r12d, dword [rbx + 0x24]
add r12d, dword [rsp + 0x28]
mov ebp, dword [rbx + 0x34]
add ebp, dword [rsp + 0xdc]
mov edx, dword [rsp + 0xc4]
add edx, dword [rbx + 4]
mov r15d, dword [rbx + 0x20]
add r15d, dword [rsp + 0x2c]
mov edi, dword [rbx + 0xc]
ror eax, 0xf
mov dword [rsp + 0x20], eax
mov eax, dword [rbx + 0x30]
add eax, dword [rsp + 0xd8]
ror eax, 0xf
mov dword [rsp + 0x24], eax
mov eax, dword [rbx + 0x38]
add eax, dword [rsp + 0xe0]
ror eax, 0xf
mov dword [rsp + 0x140], eax
mov eax, dword [rbx + 0x3c]
add eax, dword [rsp + 0xe4]
ror eax, 0xf
mov dword [rsp + 0x158], eax
mov eax, dword [rsp + 0x58]
rol eax, 0xf
ror r8d, 0xf
ror ebp, 0xf
mov dword [rsp + 0x54], r8d
lea ecx, [rax + rax*4]
mov dword [rsp + 0x3c], ebp
xor ecx, dword [rsp + 0xc0]
mov eax, r8d
xor ecx, dword [rsp + 0x7c]
not eax
xor ecx, dword [rsp + 0x9c]
mov r8d, dword [rsp + 0x48]
add r8d, dword [rbx]
ror r8d, 0xf
lea esi, [rcx + rcx*2]
ror r12d, 0xf
and eax, r12d
ror r11d, 0xf
xor esi, eax
ror r14d, 0xf
xor esi, dword [rbx]
xor esi, ebp
rol r8d, 1
ror edx, 0xf
xor r8d, esi
ror r15d, 0xf
mov eax, esi
rol eax, 0xf
not r8d
rol edx, 1
mov dword [rsp + 0x44], r11d
mov dword [rsp + 0x2c], r15d
lea ecx, [rax + rax*4]
mov dword [rsp + 0x4c], r12d
xor ecx, dword [rsp + 0xbc]
mov eax, r11d
xor ecx, dword [rsp + 0x78]
not eax
xor ecx, dword [rsp + 0xa0]
and eax, r14d
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x30], r8d
lea ebp, [rcx + rcx*2]
xor ebp, eax
xor ebp, dword [rbx + 4]
xor ebp, dword [rsp + 0x140]
xor edx, ebp
not edx
mov dword [rsp + 0x34], edx
mov r11d, dword [rsp + 0xc8]
mov eax, ebp
add r11d, dword [rbx + 8]
mov r9d, dword [rsp + 0xd0]
add r9d, dword [rbx + 0x10]
mov r10d, dword [rsp + 0xd4]
add r10d, dword [rbx + 0x14]
rol eax, 0xf
ror r11d, 0xf
ror r9d, 0xf
ror r10d, 0xf
lea ecx, [rax + rax*4]
rol r11d, 1
xor ecx, dword [rsp + 0x68]
mov eax, r15d
xor ecx, dword [rsp + 0x50]
not eax
and eax, dword [rsp + 0x20]
rol r9d, 1
rol r10d, 1
lea r14d, [rcx + rcx*2]
xor r14d, eax
xor r14d, dword [rbx + 8]
xor r14d, dword [rsp + 0x158]
mov eax, r14d
xor r11d, r14d
rol eax, 0xf
not r11d
mov dword [rsp + 0x48], r11d
lea ecx, [rax + rax*4]
mov eax, r12d
xor ecx, dword [rsp + 0x64]
not eax
and eax, dword [rsp + 0x24]
xor ecx, dword [rsp + 0x40]
lea r15d, [rcx + rcx*2]
xor r15d, eax
xor r15d, edi
add edi, dword [rsp + 0xcc]
xor r15d, r8d
ror edi, 0xf
rol edi, 1
mov eax, r15d
rol eax, 0xf
xor edi, r15d
not edi
mov dword [rsp + 0x40], edi
lea ecx, [rax + rax*4]
mov eax, dword [rsp + 0x28]
xor ecx, dword [rsp + 0x60]
not eax
and eax, dword [rsp + 0x3c]
xor ecx, dword [rsp + 0x38]
lea r12d, [rcx + rcx*2]
xor r12d, eax
xor r12d, dword [rbx + 0x10]
xor r12d, edx
mov eax, r12d
xor r9d, r12d
rol eax, 0xf
not r9d
mov dword [rsp + 0x38], r9d
lea ecx, [rax + rax*4]
mov eax, dword [rsp + 0x20]
xor ecx, dword [rsp + 0x5c]
not eax
xor ecx, dword [rsp + 0xa4]
and eax, dword [rsp + 0x140]
lea r13d, [rcx + rcx*2]
xor r13d, eax
xor r13d, dword [rbx + 0x14]
xor r13d, r11d
xor r10d, r13d
mov eax, r13d
rol eax, 0xf
not r10d
mov dword [rsp + 0x50], r10d
lea ecx, [rax + rax*4]
xor ecx, dword [rsp + 0x74]
xor ecx, dword [rsp + 0xa8]
lea edx, [rcx + rcx*2]
mov eax, dword [rsp + 0x24]
not eax
and eax, dword [rsp + 0x158]
xor edx, eax
mov eax, dword [rsp + 0x54]
rol eax, 1
xor edx, dword [rbx + 0x18]
xor edx, edi
xor eax, edx
not eax
mov dword [rsp + 0x54], eax
mov eax, edx
rol eax, 0xf
lea ecx, [rax + rax*4]
mov eax, dword [rsp + 0x3c]
xor ecx, dword [rsp + 0x70]
not eax
and eax, dword [rsp + 0x30]
xor ecx, dword [rsp + 0xac]
lea r8d, [rcx + rcx*2]
xor r8d, eax
mov eax, dword [rsp + 0x44]
xor r8d, dword [rbx + 0x1c]
rol eax, 1
xor r8d, r9d
xor eax, r8d
not eax
mov dword [rsp + 0x44], eax
mov eax, r8d
rol eax, 0xf
lea ecx, [rax + rax*4]
mov eax, dword [rsp + 0x140]
xor ecx, dword [rsp + 0x6c]
not eax
and eax, dword [rsp + 0x34]
xor ecx, dword [rsp + 0xb0]
lea r9d, [rcx + rcx*2]
xor r9d, eax
mov eax, dword [rsp + 0x2c]
xor r9d, dword [rbx + 0x20]
rol eax, 1
xor r9d, r10d
xor eax, r9d
not eax
mov dword [rsp + 0x2c], eax
mov eax, r9d
rol eax, 0xf
lea ecx, [rax + rax*4]
mov eax, dword [rsp + 0x158]
xor ecx, dword [rsp + 0x94]
not eax
xor ecx, dword [rsp + 0xb4]
and eax, r11d
lea r10d, [rcx + rcx*2]
xor r10d, eax
mov eax, dword [rsp + 0x4c]
xor r10d, dword [rbx + 0x24]
xor r10d, dword [rsp + 0x54]
rol eax, 1
xor eax, r10d
not eax
mov dword [rsp + 0x4c], eax
mov eax, r10d
rol eax, 0xf
lea ecx, [rax + rax*4]
mov eax, dword [rsp + 0x30]
xor ecx, dword [rsp + 0x8c]
not eax
xor ecx, dword [rsp + 0xb8]
and eax, edi
lea r11d, [rcx + rcx*2]
xor r11d, eax
mov eax, dword [rsp + 0x28]
xor r11d, dword [rbx + 0x28]
xor r11d, dword [rsp + 0x44]
rol eax, 1
xor eax, r11d
not eax
mov dword [rsp + 0x28], eax
mov eax, r11d
rol eax, 0xf
lea ecx, [rax + rax*4]
mov eax, dword [rsp + 0x34]
xor ecx, dword [rsp + 0x88]
not eax
and eax, dword [rsp + 0x38]
xor ecx, dword [rsp + 0x58]
lea edi, [rcx + rcx*2]
xor edi, eax
mov eax, dword [rsp + 0x20]
rol eax, 1
xor edi, dword [rbx + 0x2c]
xor edi, dword [rsp + 0x2c]
xor eax, edi
not eax
mov dword [rsp + 0x20], eax
mov eax, edi
rol eax, 0xf
lea ecx, [rax + rax*4]
mov eax, dword [rsp + 0x48]
xor ecx, dword [rsp + 0x84]
not eax
and eax, dword [rsp + 0x50]
xor ecx, esi
lea esi, [rcx + rcx*2]
xor esi, eax
mov eax, dword [rsp + 0x24]
xor esi, dword [rbx + 0x30]
xor esi, dword [rsp + 0x4c]
rol eax, 1
xor eax, esi
not eax
mov dword [rsp + 0x24], eax
mov eax, esi
rol eax, 0xf
lea ecx, [rax + rax*4]
mov eax, dword [rsp + 0x40]
xor ecx, dword [rsp + 0x90]
not eax
and eax, dword [rsp + 0x54]
xor ecx, ebp
lea ebp, [rcx + rcx*2]
xor ebp, eax
mov eax, dword [rsp + 0x3c]
xor ebp, dword [rbx + 0x34]
xor ebp, dword [rsp + 0x28]
rol eax, 1
xor eax, ebp
not eax
mov dword [rsp + 0x3c], eax
mov eax, ebp
rol eax, 0xf
lea ecx, [rax + rax*4]
mov eax, dword [rsp + 0x38]
xor ecx, dword [rsp + 0x80]
not eax
and eax, dword [rsp + 0x44]
xor ecx, r14d
lea r14d, [rcx + rcx*2]
xor r14d, eax
mov eax, dword [rsp + 0x140]
xor r14d, dword [rbx + 0x38]
xor r14d, dword [rsp + 0x20]
rol eax, 1
xor eax, r14d
not eax
mov dword [rsp + 0x140], eax
mov eax, r14d
rol eax, 0xf
lea ecx, [rax + rax*4]
mov eax, dword [rsp + 0x50]
xor ecx, dword [rsp + 0x98]
not eax
and eax, dword [rsp + 0x2c]
xor ecx, r15d
lea r15d, [rcx + rcx*2]
xor r15d, eax
mov eax, dword [rsp + 0x158]
xor r15d, dword [rbx + 0x3c]
xor r15d, dword [rsp + 0x24]
rol eax, 1
xor eax, r15d
not eax
mov dword [rsp + 0x158], eax
mov eax, r15d
rol eax, 0xf
lea ecx, [rax + rax*4]
mov eax, dword [rsp + 0x54]
xor ecx, dword [rsp + 0x7c]
not eax
and eax, dword [rsp + 0x4c]
xor ecx, r12d
lea r12d, [rcx + rcx*2]
xor r12d, eax
mov eax, dword [rsp + 0x30]
rol eax, 1
xor r12d, dword [rbx]
xor r12d, dword [rsp + 0x3c]
xor eax, r12d
not eax
mov dword [rsp + 0x30], eax
mov eax, r12d
rol eax, 0xf
lea ecx, [rax + rax*4]
mov eax, dword [rsp + 0x44]
xor ecx, dword [rsp + 0x78]
not eax
and eax, dword [rsp + 0x28]
xor ecx, r13d
lea r13d, [rcx + rcx*2]
xor r13d, eax
mov eax, dword [rsp + 0x34]
xor r13d, dword [rbx + 4]
xor r13d, dword [rsp + 0x140]
rol eax, 1
xor eax, r13d
not eax
mov dword [rsp + 0x34], eax
mov eax, r13d
rol eax, 0xf
lea ecx, [rax + rax*4]
mov eax, dword [rsp + 0x2c]
xor ecx, dword [rsp + 0x68]
not eax
and eax, dword [rsp + 0x20]
xor ecx, edx
lea edx, [rcx + rcx*2]
xor edx, eax
mov eax, dword [rsp + 0x48]
xor edx, dword [rbx + 8]
xor edx, dword [rsp + 0x158]
rol eax, 1
xor eax, edx
not eax
mov dword [rsp + 0x48], eax
mov eax, edx
rol eax, 0xf
lea ecx, [rax + rax*4]
mov eax, dword [rsp + 0x4c]
xor ecx, dword [rsp + 0x64]
not eax
and eax, dword [rsp + 0x24]
xor ecx, r8d
lea r8d, [rcx + rcx*2]
xor r8d, eax
mov eax, dword [rsp + 0x40]
xor r8d, dword [rbx + 0xc]
xor r8d, dword [rsp + 0x30]
rol eax, 1
xor eax, r8d
not eax
mov dword [rsp + 0x40], eax
mov eax, r8d
rol eax, 0xf
lea ecx, [rax + rax*4]
mov eax, dword [rsp + 0x28]
xor ecx, dword [rsp + 0x60]
not eax
and eax, dword [rsp + 0x3c]
xor ecx, r9d
lea r9d, [rcx + rcx*2]
xor r9d, eax
xor r9d, dword [rbx + 0x10]
xor r9d, dword [rsp + 0x34]
mov eax, dword [rsp + 0x38]
rol eax, 1
xor eax, r9d
not eax
mov dword [rsp + 0x38], eax
mov eax, r9d
rol eax, 0xf
lea ecx, [rax + rax*4]
mov eax, dword [rsp + 0x20]
xor ecx, dword [rsp + 0x5c]
not eax
and eax, dword [rsp + 0x140]
xor ecx, r10d
lea r10d, [rcx + rcx*2]
xor r10d, eax
mov eax, dword [rsp + 0x50]
xor r10d, dword [rbx + 0x14]
xor r10d, dword [rsp + 0x48]
rol eax, 1
xor eax, r10d
not eax
mov dword [rsp + 0x50], eax
mov eax, r10d
rol eax, 0xf
lea ecx, [rax + rax*4]
mov eax, dword [rsp + 0x24]
xor ecx, dword [rsp + 0x74]
not eax
and eax, dword [rsp + 0x158]
xor ecx, r11d
lea r11d, [rcx + rcx*2]
xor r11d, eax
mov eax, dword [rsp + 0x54]
xor r11d, dword [rbx + 0x18]
xor r11d, dword [rsp + 0x40]
rol eax, 1
xor eax, r11d
not eax
mov dword [rsp + 0x54], eax
mov eax, r11d
rol eax, 0xf
lea ecx, [rax + rax*4]
mov eax, dword [rsp + 0x3c]
xor ecx, dword [rsp + 0x70]
not eax
and eax, dword [rsp + 0x30]
xor ecx, edi
lea edi, [rcx + rcx*2]
xor edi, eax
mov eax, dword [rsp + 0x44]
xor edi, dword [rbx + 0x1c]
xor edi, dword [rsp + 0x38]
rol eax, 1
xor eax, edi
not eax
mov dword [rsp + 0x44], eax
mov eax, edi
rol eax, 0xf
lea ecx, [rax + rax*4]
mov eax, dword [rsp + 0x140]
xor ecx, dword [rsp + 0x6c]
not eax
and eax, dword [rsp + 0x34]
xor ecx, esi
lea esi, [rcx + rcx*2]
xor esi, eax
mov eax, dword [rsp + 0x2c]
xor esi, dword [rbx + 0x20]
xor esi, dword [rsp + 0x50]
rol eax, 1
xor eax, esi
not eax
mov dword [rsp + 0x2c], eax
mov eax, esi
rol eax, 0xf
lea ecx, [rax + rax*4]
mov eax, dword [rsp + 0x158]
xor ecx, dword [rsp + 0x94]
xor ecx, ebp
lea ebp, [rcx + rcx*2]
not eax
and eax, dword [rsp + 0x48]
xor ebp, eax
mov eax, dword [rsp + 0x4c]
rol eax, 1
xor ebp, dword [rbx + 0x24]
xor ebp, dword [rsp + 0x54]
xor eax, ebp
not eax
mov dword [rsp + 0x4c], eax
mov eax, ebp
rol eax, 0xf
lea ecx, [rax + rax*4]
mov eax, dword [rsp + 0x30]
xor ecx, dword [rsp + 0x8c]
not eax
and eax, dword [rsp + 0x40]
xor ecx, r14d
lea r14d, [rcx + rcx*2]
xor r14d, eax
mov eax, dword [rsp + 0x28]
xor r14d, dword [rbx + 0x28]
xor r14d, dword [rsp + 0x44]
rol eax, 1
xor eax, r14d
not eax
mov dword [rsp + 0x28], eax
mov eax, r14d
rol eax, 0xf
lea ecx, [rax + rax*4]
mov eax, dword [rsp + 0x34]
xor ecx, dword [rsp + 0x88]
not eax
and eax, dword [rsp + 0x38]
xor ecx, r15d
lea r15d, [rcx + rcx*2]
xor r15d, eax
mov eax, dword [rsp + 0x20]
xor r15d, dword [rbx + 0x2c]
xor r15d, dword [rsp + 0x2c]
rol eax, 1
xor eax, r15d
not eax
mov dword [rsp + 0x20], eax
mov eax, r15d
rol eax, 0xf
lea ecx, [rax + rax*4]
mov eax, dword [rsp + 0x48]
xor ecx, dword [rsp + 0x84]
not eax
and eax, dword [rsp + 0x50]
xor ecx, r12d
lea r12d, [rcx + rcx*2]
xor r12d, eax
mov eax, dword [rsp + 0x24]
xor r12d, dword [rbx + 0x30]
xor r12d, dword [rsp + 0x4c]
rol eax, 1
xor eax, r12d
not eax
mov dword [rsp + 0x24], eax
mov eax, r12d
rol eax, 0xf
lea ecx, [rax + rax*4]
mov eax, dword [rsp + 0x40]
xor ecx, dword [rsp + 0x90]
not eax
and eax, dword [rsp + 0x54]
xor ecx, r13d
lea r13d, [rcx + rcx*2]
xor r13d, eax
mov eax, dword [rsp + 0x3c]
xor r13d, dword [rbx + 0x34]
xor r13d, dword [rsp + 0x28]
rol eax, 1
xor eax, r13d
not eax
mov dword [rsp + 0x3c], eax
mov eax, r13d
rol eax, 0xf
lea ecx, [rax + rax*4]
xor ecx, dword [rsp + 0x80]
mov eax, dword [rsp + 0x38]
xor ecx, edx
not eax
and eax, dword [rsp + 0x44]
lea edx, [rcx + rcx*2]
xor edx, eax
mov eax, dword [rsp + 0x140]
rol eax, 1
xor edx, dword [rbx + 0x38]
xor edx, dword [rsp + 0x20]
xor eax, edx
not eax
mov dword [rsp + 0x140], eax
mov eax, edx
rol eax, 0xf
lea ecx, [rax + rax*4]
mov eax, dword [rsp + 0x50]
xor ecx, dword [rsp + 0x98]
not eax
and eax, dword [rsp + 0x2c]
xor ecx, r8d
lea r8d, [rcx + rcx*2]
xor r8d, eax
mov eax, dword [rsp + 0x158]
xor r8d, dword [rbx + 0x3c]
xor r8d, dword [rsp + 0x24]
rol eax, 1
xor eax, r8d
not eax
mov dword [rsp + 0x158], eax
mov eax, r8d
rol eax, 0xf
lea ecx, [rax + rax*4]
mov eax, dword [rsp + 0x54]
xor ecx, dword [rsp + 0x7c]
not eax
and eax, dword [rsp + 0x4c]
xor ecx, r9d
lea r9d, [rcx + rcx*2]
xor r9d, eax
mov eax, dword [rsp + 0x30]
xor r9d, dword [rbx]
xor r9d, dword [rsp + 0x3c]
rol eax, 1
xor eax, r9d
not eax
mov dword [rsp + 0x30], eax
mov eax, r9d
rol eax, 0xf
lea ecx, [rax + rax*4]
mov eax, dword [rsp + 0x44]
xor ecx, dword [rsp + 0x78]
not eax
and eax, dword [rsp + 0x28]
xor ecx, r10d
lea r10d, [rcx + rcx*2]
xor r10d, eax
mov eax, dword [rsp + 0x34]
xor r10d, dword [rbx + 4]
xor r10d, dword [rsp + 0x140]
rol eax, 1
xor eax, r10d
not eax
mov dword [rsp + 0x34], eax
mov eax, r10d
rol eax, 0xf
lea ecx, [rax + rax*4]
mov eax, dword [rsp + 0x2c]
xor ecx, dword [rsp + 0x68]
not eax
and eax, dword [rsp + 0x20]
xor ecx, r11d
lea r11d, [rcx + rcx*2]
xor r11d, eax
mov eax, dword [rsp + 0x48]
xor r11d, dword [rbx + 8]
xor r11d, dword [rsp + 0x158]
rol eax, 1
xor eax, r11d
not eax
mov dword [rsp + 0x48], eax
mov eax, r11d
rol eax, 0xf
lea ecx, [rax + rax*4]
mov eax, dword [rsp + 0x4c]
xor ecx, dword [rsp + 0x64]
not eax
and eax, dword [rsp + 0x24]
xor ecx, edi
lea edi, [rcx + rcx*2]
xor edi, eax
mov eax, dword [rsp + 0x40]
xor edi, dword [rbx + 0xc]
xor edi, dword [rsp + 0x30]
rol eax, 1
xor eax, edi
not eax
mov dword [rsp + 0x40], eax
mov eax, edi
rol eax, 0xf
lea ecx, [rax + rax*4]
mov eax, dword [rsp + 0x28]
xor ecx, dword [rsp + 0x60]
not eax
and eax, dword [rsp + 0x3c]
xor ecx, esi
mov esi, dword [rsp + 0x50]
rol esi, 1
lea ecx, [rcx + rcx*2]
xor ecx, eax
mov eax, dword [rsp + 0x38]
xor ecx, dword [rbx + 0x10]
xor ecx, dword [rsp + 0x34]
rol eax, 1
xor eax, ecx
mov dword [rsp + 0x9c], ecx
not eax
mov dword [rsp + 0x38], eax
mov eax, ecx
rol eax, 0xf
lea ecx, [rax + rax*4]
mov eax, dword [rsp + 0x20]
xor ecx, dword [rsp + 0x5c]
not eax
and eax, dword [rsp + 0x140]
xor ecx, ebp
lea ecx, [rcx + rcx*2]
xor ecx, eax
xor ecx, dword [rbx + 0x14]
xor ecx, dword [rsp + 0x48]
xor esi, ecx
mov dword [rsp + 0xa0], ecx
mov eax, ecx
not esi
rol eax, 0xf
lea ecx, [rax + rax*4]
mov eax, dword [rsp + 0x24]
xor ecx, dword [rsp + 0x74]
not eax
and eax, dword [rsp + 0x158]
xor ecx, r14d
mov r14d, dword [rsp + 0x40]
lea ecx, [rcx + rcx*2]
xor ecx, eax
mov eax, dword [rsp + 0x54]
xor ecx, dword [rbx + 0x18]
xor ecx, r14d
rol eax, 1
xor eax, ecx
mov dword [rsp + 0x50], ecx
not eax
mov dword [rsp + 0x54], eax
mov eax, ecx
rol eax, 0xf
lea ecx, [rax + rax*4]
mov eax, dword [rsp + 0x3c]
xor ecx, dword [rsp + 0x70]
not eax
xor ecx, r15d
and eax, dword [rsp + 0x30]
lea ecx, [rcx + rcx*2]
xor ecx, eax
mov ebp, dword [rsp + 0x38]
xor ecx, dword [rbx + 0x1c]
mov eax, dword [rsp + 0x44]
xor ecx, ebp
rol eax, 1
xor eax, ecx
mov r15d, dword [rsp + 0x48]
not eax
mov dword [rsp + 0x40], ecx
mov dword [rsp + 0x44], eax
mov eax, ecx
rol eax, 0xf
lea ecx, [rax + rax*4]
mov eax, dword [rsp + 0x140]
xor ecx, dword [rsp + 0x6c]
not eax
and eax, dword [rsp + 0x34]
xor ecx, r12d
lea ecx, [rcx + rcx*2]
xor ecx, eax
mov eax, dword [rsp + 0x2c]
xor ecx, dword [rbx + 0x20]
rol eax, 1
xor ecx, esi
xor eax, ecx
mov dword [rsp + 0x38], ecx
not eax
mov dword [rsp + 0x2c], eax
mov eax, ecx
rol eax, 0xf
lea ecx, [rax + rax*4]
mov eax, dword [rsp + 0x158]
xor ecx, dword [rsp + 0x94]
not eax
and eax, r15d
xor ecx, r13d
mov r13d, dword [rsp + 0x54]
lea ecx, [rcx + rcx*2]
xor ecx, eax
mov eax, dword [rsp + 0x4c]
xor ecx, dword [rbx + 0x24]
xor ecx, r13d
rol eax, 1
xor eax, ecx
mov dword [rsp + 0xa4], ecx
not eax
mov dword [rsp + 0x4c], eax
mov eax, ecx
rol eax, 0xf
lea ecx, [rax + rax*4]
mov eax, dword [rsp + 0x30]
xor ecx, dword [rsp + 0x8c]
not eax
xor ecx, edx
and eax, r14d
lea ecx, [rcx + rcx*2]
xor ecx, eax
mov eax, dword [rsp + 0x28]
xor ecx, dword [rbx + 0x28]
xor ecx, dword [rsp + 0x44]
rol eax, 1
xor eax, ecx
mov dword [rsp + 0xa8], ecx
not eax
mov dword [rsp + 0x28], eax
mov eax, ecx
rol eax, 0xf
lea ecx, [rax + rax*4]
mov eax, dword [rsp + 0x34]
xor ecx, dword [rsp + 0x88]
not eax
xor ecx, r8d
and eax, ebp
lea ecx, [rcx + rcx*2]
xor ecx, eax
mov eax, dword [rsp + 0x20]
xor ecx, dword [rbx + 0x2c]
xor ecx, dword [rsp + 0x2c]
mov dword [rsp + 0xac], ecx
rol eax, 1
xor eax, ecx
mov r8d, dword [rsp + 0x44]
not eax
mov edx, dword [rsp + 0x98]
mov dword [rsp + 0x20], eax
mov eax, ecx
rol eax, 0xf
lea ecx, [rax + rax*4]
mov eax, r15d
xor ecx, dword [rsp + 0x84]
not eax
and eax, esi
xor ecx, r9d
lea ecx, [rcx + rcx*2]
xor ecx, eax
mov eax, dword [rsp + 0x24]
xor ecx, dword [rbx + 0x30]
xor ecx, dword [rsp + 0x4c]
rol eax, 1
xor eax, ecx
mov dword [rsp + 0xb0], ecx
not eax
mov dword [rsp + 0x24], eax
mov eax, ecx
rol eax, 0xf
lea ecx, [rax + rax*4]
mov eax, r14d
xor ecx, dword [rsp + 0x90]
not eax
and eax, r13d
xor ecx, r10d
mov r10d, dword [rsp + 0x28]
lea ecx, [rcx + rcx*2]
xor ecx, eax
mov eax, dword [rsp + 0x3c]
xor ecx, dword [rbx + 0x34]
rol eax, 1
xor ecx, r10d
xor eax, ecx
mov dword [rsp + 0xb4], ecx
not eax
mov dword [rsp + 0x3c], eax
mov eax, ecx
rol eax, 0xf
lea ecx, [rax + rax*4]
mov eax, ebp
xor ecx, dword [rsp + 0x80]
not eax
and eax, r8d
xor ecx, r11d
mov r11d, dword [rsp + 0x20]
lea ecx, [rcx + rcx*2]
xor ecx, eax
mov eax, dword [rsp + 0x140]
xor ecx, dword [rbx + 0x38]
rol eax, 1
xor ecx, r11d
xor eax, ecx
mov dword [rsp + 0xb8], ecx
not eax
mov dword [rsp + 0x140], eax
mov eax, ecx
rol eax, 0xf
lea ecx, [rax + rax*4]
mov eax, esi
not eax
xor ecx, edx
xor ecx, edi
lea edi, [rcx + rcx*2]
mov ecx, dword [rsp + 0x2c]
and eax, ecx
xor edi, eax
mov eax, dword [rsp + 0x158]
xor edi, dword [rbx + 0x3c]
mov dword [rsp + 0x58], edi
mov edi, dword [rsp + 0x24]
xor dword [rsp + 0x58], edi
rol eax, 1
xor eax, dword [rsp + 0x58]
not eax
mov dword [rsp + 0x158], eax
mov eax, dword [rsp + 0x80]
add eax, dword [rsp + 0x8c]
add eax, dword [rsp + 0x68]
add dword [rsp + 0x58], eax
mov eax, dword [rsp + 0x88]
add eax, edx
mov r12d, dword [rsp + 0x34]
add eax, dword [rsp + 0x64]
add dword [rsp + 0xb8], eax
mov eax, dword [rsp + 0x7c]
add eax, dword [rsp + 0x84]
add eax, dword [rsp + 0x60]
add dword [rsp + 0xb4], eax
mov eax, dword [rsp + 0x78]
add eax, dword [rsp + 0x90]
add eax, dword [rsp + 0x5c]
add dword [rsp + 0xb0], eax
mov eax, dword [rsp + 0x68]
add eax, dword [rsp + 0x80]
add eax, dword [rsp + 0x74]
add dword [rsp + 0xac], eax
mov eax, dword [rsp + 0x64]
add eax, edx
mov edx, dword [rsp + 0x30]
add eax, dword [rsp + 0x70]
add dword [rsp + 0xa8], eax
mov eax, dword [rsp + 0x60]
add eax, dword [rsp + 0x7c]
add eax, dword [rsp + 0x6c]
add dword [rsp + 0xa4], eax
mov eax, dword [rsp + 0x78]
add eax, dword [rsp + 0x94]
add eax, dword [rsp + 0x5c]
add dword [rsp + 0x38], eax
mov eax, dword [rsp + 0x68]
add eax, dword [rsp + 0x8c]
add eax, dword [rsp + 0x74]
add dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x64]
add eax, dword [rsp + 0x88]
add eax, dword [rsp + 0x70]
add dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x60]
add eax, dword [rsp + 0x84]
add eax, dword [rsp + 0x6c]
add dword [rsp + 0xa0], eax
mov eax, dword [rsp + 0x90]
add eax, dword [rsp + 0x94]
add eax, dword [rsp + 0x5c]
add dword [rsp + 0x9c], eax
mov eax, dword [rsp + 0x6c]
sub eax, dword [rbx]
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x70]
sub eax, dword [rbx + 4]
mov dword [rsp + 0xc4], eax
mov eax, dword [rsp + 0x74]
sub eax, dword [rbx + 8]
mov dword [rsp + 0xc8], eax
mov eax, dword [rsp + 0x5c]
sub eax, dword [rbx + 0xc]
mov dword [rsp + 0xcc], eax
mov eax, dword [rsp + 0x60]
sub eax, dword [rbx + 0x10]
mov dword [rsp + 0xd0], eax
mov eax, dword [rsp + 0x64]
sub eax, dword [rbx + 0x14]
mov dword [rsp + 0xd4], eax
mov eax, dword [rsp + 0x68]
sub eax, dword [rbx + 0x18]
mov dword [rsp + 0x34], eax
mov eax, dword [rsp + 0x78]
sub eax, dword [rbx + 0x1c]
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x6c], edx
mov dword [rsp + 0x70], r12d
mov dword [rsp + 0x74], r15d
mov dword [rsp + 0x5c], r14d
mov dword [rsp + 0x60], ebp
mov dword [rsp + 0x64], esi
mov dword [rsp + 0x68], r13d
mov eax, dword [rsp + 0x7c]
sub eax, dword [rbx + 0x20]
mov r12d, dword [rsp + 0xc0]
mov r9d, dword [rsp + 0x4c]
mov r15d, dword [rsp + 0xbc]
mov dword [rsp + 0x7c], ecx
mov ecx, dword [rsp + 0x90]
sub ecx, dword [rbx + 0x2c]
mov dword [rsp + 0x20], ecx
mov ecx, dword [rsp + 0x84]
sub ecx, dword [rbx + 0x30]
mov dword [rsp + 0x2c], eax
mov eax, dword [rsp + 0x98]
sub eax, dword [rbx + 0x24]
mov dword [rsp + 0xd8], ecx
mov ecx, dword [rsp + 0x88]
sub ecx, dword [rbx + 0x34]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x80]
sub eax, dword [rbx + 0x28]
mov dword [rsp + 0xdc], ecx
mov ecx, dword [rsp + 0x8c]
sub ecx, dword [rbx + 0x38]
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x3c]
mov dword [rsp + 0xe0], ecx
mov ecx, dword [rsp + 0x94]
sub ecx, dword [rbx + 0x3c]
mov dword [rsp + 0x88], eax
add r12d, 1
mov eax, dword [rsp + 0x140]
mov dword [rsp + 0x8c], eax
mov eax, dword [rsp + 0x158]
mov dword [rsp + 0xc0], r12d
mov dword [rsp + 0x78], r8d
mov dword [rsp + 0x98], r9d
mov dword [rsp + 0x80], r10d
mov dword [rsp + 0x90], r11d
mov dword [rsp + 0x84], edi
mov dword [rsp + 0xe4], ecx
mov dword [rsp + 0x94], eax
jne 0x1401d006f
inc r15d
mov dword [rsp + 0xbc], r15d
mov rbp, qword [rsp + 0x150]
xor esi, esi
mov r14, qword [rsp + 0x148]
test rbp, rbp
jne 0x1401cf191
mov r13d, dword [rsp + 0x9c]
mov eax, dword [rsp + 0xa0]
mov ecx, dword [rsp + 0x50]
mov edx, dword [rsp + 0x40]
mov r8d, dword [rsp + 0x38]
mov r9d, dword [rsp + 0xa4]
mov r10d, dword [rsp + 0xa8]
mov r11d, dword [rsp + 0xac]
mov edi, dword [rsp + 0xb0]
mov dword [rbx + 0x4c], eax
mov eax, dword [rsp + 0xb4]
mov dword [rbx + 0x6c], eax
mov eax, dword [rsp + 0xb8]
mov dword [rbx + 0x70], eax
mov eax, dword [rsp + 0x58]
mov dword [rbx + 0x74], eax
mov eax, dword [rsp + 0x48]
mov dword [rbx + 0x78], eax
mov eax, dword [rsp + 0xc4]
mov dword [rbx + 0x7c], eax
mov eax, dword [rsp + 0xc8]
mov dword [rbx + 0x80], eax
mov eax, dword [rsp + 0xcc]
mov dword [rbx + 0x84], eax
mov eax, dword [rsp + 0xd0]
mov dword [rbx + 0x88], eax
mov eax, dword [rsp + 0x30]
mov dword [rbx + 0x94], eax
mov eax, dword [rsp + 0x2c]
mov dword [rbx + 0x98], eax
mov eax, dword [rsp + 0x28]
mov dword [rbx + 0x9c], eax
mov eax, dword [rsp + 0x24]
mov dword [rbx + 0xa0], eax
mov eax, dword [rsp + 0x6c]
mov dword [rbx + 0xb8], eax
mov eax, dword [rsp + 0x70]
mov dword [rbx + 0xbc], eax
mov eax, dword [rsp + 0x74]
mov dword [rbx + 0xc0], eax
mov eax, dword [rsp + 0x5c]
mov dword [rbx + 0xc4], eax
mov eax, dword [rsp + 0x60]
mov dword [rbx + 0xc8], eax
mov eax, dword [rsp + 0x64]
mov dword [rbx + 0xcc], eax
mov eax, dword [rsp + 0x68]
mov dword [rbx + 0xd0], eax
mov eax, dword [rsp + 0x78]
mov dword [rbx + 0xd4], eax
mov eax, dword [rsp + 0x7c]
mov dword [rbx + 0xd8], eax
mov eax, dword [rsp + 0x98]
mov dword [rbx + 0xdc], eax
mov eax, dword [rsp + 0x80]
mov dword [rbx + 0x50], ecx
mov ecx, dword [rsp + 0xd4]
mov dword [rbx + 0xe0], eax
mov eax, dword [rsp + 0x90]
mov dword [rbx + 0x8c], ecx
mov ecx, dword [rsp + 0x20]
mov dword [rbx + 0xe4], eax
mov eax, dword [rsp + 0x84]
mov dword [rbx + 0xa4], ecx
mov ecx, dword [rsp + 0xd8]
mov dword [rbx + 0xe8], eax
mov eax, dword [rsp + 0x88]
mov dword [rbx + 0xa8], ecx
mov ecx, dword [rsp + 0xdc]
mov dword [rbx + 0xec], eax
mov eax, dword [rsp + 0x8c]
mov dword [rbx + 0xac], ecx
mov ecx, dword [rsp + 0xe0]
mov dword [rbx + 0xf0], eax
mov eax, dword [rsp + 0x94]
mov dword [rbx + 0x64], r11d
mov r11d, dword [rsp + 0x34]
mov dword [rbx + 0xb0], ecx
mov ecx, dword [rsp + 0xe4]
mov dword [rbx + 0xf4], eax
mov dword [rbx + 0x48], r13d
mov dword [rbx + 0x54], edx
mov dword [rbx + 0x58], r8d
mov dword [rbx + 0x5c], r9d
mov dword [rbx + 0x60], r10d
mov dword [rbx + 0x68], edi
mov dword [rbx + 0x90], r11d
mov dword [rbx + 0xb4], ecx
mov dword [rbx + 0xfc], r12d
mov dword [rbx + 0xf8], r15d
mov qword [rbx + 0x40], rsi
mov r15, qword [rsp + 0xf8]
mov r13, qword [rsp + 0x100]
mov r12, qword [rsp + 0x108]
mov rdi, qword [rsp + 0x110]
add rsp, 0x118
pop r14
pop rsi
pop rbp
pop rbx
ret