Function at 0x4e2d20
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xaec
mov eax, dword [0x5be9a0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push ebx
mov ebx, dword [ebp + 8]
mov edx, dword [ebx + 0xc]
mov dword [ebp - 0xacc], eax
mov eax, dword [ebx + 0x10]
push esi
mov dword [ebp - 0xa30], eax
mov eax, dword [ebx + 0x1c]
push edi
xor edi, edi
mov dword [ebp - 0xa14], ecx
mov dword [ebp - 0xa54], ebx
mov dword [ebp - 0xa24], edx
mov dword [ebp - 0xa64], edi
mov dword [ebp - 0xa0c], edi
mov dword [ebp - 0xa74], edi
mov dword [ebp - 0xa78], edi
mov dword [ebp - 0xaa8], edi
mov dword [ebp - 0xac8], edi
mov dword [ebp - 0xa98], edi
mov dword [ebp - 0xab4], edi
mov dword [ebp - 0xaa0], edi
cmp eax, 1
jbe 0x4e2db1
push eax
push str.commencing_Lanczos_iteration___u_threads__n
push ecx
call fcn.00410350
add esp, 0xc
jmp 0x4e2dbf
push str.commencing_Lanczos_iteration_n
push ecx
call fcn.00410350
add esp, 8
mov esi, dword [ebp - 0xa30]
add esi, esi
add esi, esi
add esi, esi
push esi
call fcn.004b7263
add esp, 4
mov dword [ebp - 0xa68], eax
push esi
cmp eax, edi
jne 0x4e2df3
push 0x5c0c50
call fcn.004b7f6d
add esp, 8
push 0xffffffffffffffff
call fcn.004b856d
call fcn.004b7263
add esp, 4
push esi
cmp eax, edi
jne 0x4e2e14
push 0x5c0c50
call fcn.004b7f6d
add esp, 8
push 0xffffffffffffffff
call fcn.004b856d
mov dword [ebp - 0xa44], eax
call fcn.004b7263
add esp, 4
push esi
cmp eax, edi
jne 0x4e2e3b
push 0x5c0c50
call fcn.004b7f6d
add esp, 8
push 0xffffffffffffffff
call fcn.004b856d
mov dword [ebp - 0xa40], eax
call fcn.004b7263
add esp, 4
push esi
cmp eax, edi
jne 0x4e2e62
push 0x5c0c50
call fcn.004b7f6d
add esp, 8
push 0xffffffffffffffff
call fcn.004b856d
mov dword [ebp - 0xa3c], eax
call fcn.004b7263
add esp, 4
push esi
cmp eax, edi
jne 0x4e2e89
push 0x5c0c50
call fcn.004b7f6d
add esp, 8
push 0xffffffffffffffff
call fcn.004b856d
mov dword [ebp - 0xa28], eax
call fcn.004b7263
add esp, 4
mov dword [ebp - 0xa2c], eax
push esi
cmp eax, edi
jne 0x4e2eb6
push 0x5c0c50
call fcn.004b7f6d
add esp, 8
push 0xffffffffffffffff
call fcn.004b856d
call fcn.004b7263
add esp, 4
mov dword [ebp - 0xa58], eax
cmp eax, edi
jne 0x4e2edd
push esi
push 0x5c0c50
call fcn.004b7f6d
add esp, 8
push 0xffffffffffffffff
call fcn.004b856d
push 0x200
call fcn.004b7263
add esp, 4
push 0x200
cmp eax, edi
jne 0x4e2f07
push 0x5c0c50
call fcn.004b7f6d
add esp, 8
push 0xffffffffffffffff
call fcn.004b856d
mov dword [ebp - 0xa88], eax
call fcn.004b7263
add esp, 4
push 0x200
cmp eax, edi
jne 0x4e2f32
push 0x5c0c50
call fcn.004b7f6d
add esp, 8
push 0xffffffffffffffff
call fcn.004b856d
mov dword [ebp - 0xa84], eax
call fcn.004b7263
add esp, 4
push 0x200
cmp eax, edi
jne 0x4e2f5d
push 0x5c0c50
call fcn.004b7f6d
add esp, 8
push 0xffffffffffffffff
call fcn.004b856d
mov dword [ebp - 0xa80], eax
call fcn.004b7263
add esp, 4
push 0x200
cmp eax, edi
jne 0x4e2f88
push 0x5c0c50
call fcn.004b7f6d
add esp, 8
push 0xffffffffffffffff
call fcn.004b856d
mov dword [ebp - 0xa20], eax
call fcn.004b7263
add esp, 4
push 0x200
cmp eax, edi
jne 0x4e2fb3
push 0x5c0c50
call fcn.004b7f6d
add esp, 8
push 0xffffffffffffffff
call fcn.004b856d
mov dword [ebp - 0xa1c], eax
call fcn.004b7263
add esp, 4
push 0x200
cmp eax, edi
jne 0x4e2fde
push 0x5c0c50
call fcn.004b7f6d
add esp, 8
push 0xffffffffffffffff
call fcn.004b856d
mov dword [ebp - 0xa38], eax
call fcn.004b7263
add esp, 4
push 0x200
cmp eax, edi
jne 0x4e3009
push 0x5c0c50
call fcn.004b7f6d
add esp, 8
push 0xffffffffffffffff
call fcn.004b856d
mov dword [ebp - 0xa34], eax
call fcn.004b7263
add esp, 4
push 0x200
cmp eax, edi
jne 0x4e3034
push 0x5c0c50
call fcn.004b7f6d
add esp, 8
push 0xffffffffffffffff
call fcn.004b856d
mov dword [ebp - 0xa94], eax
call fcn.004b7263
add esp, 4
push 0x200
cmp eax, edi
jne 0x4e305f
push 0x5c0c50
call fcn.004b7f6d
add esp, 8
push 0xffffffffffffffff
call fcn.004b856d
mov dword [ebp - 0xa90], eax
call fcn.004b7263
add esp, 4
push 0x200
cmp eax, edi
jne 0x4e308a
push 0x5c0c50
call fcn.004b7f6d
add esp, 8
push 0xffffffffffffffff
call fcn.004b856d
mov dword [ebp - 0xa8c], eax
call fcn.004b7263
add esp, 4
cmp eax, edi
jne 0x4e30b5
push 0x200
push 0x5c0c50
call fcn.004b7f6d
add esp, 8
push 0xffffffffffffffff
call fcn.004b856d
mov ecx, ebx
mov dword [ebp - 0xa9c], eax
call fcn.004d7d40
mov dword [ebp - 0xa4c], eax
fild dword [ebp - 0xa4c]
test eax, eax
jns 0x4e30d8
fadd qword [0x5b4428]
fmul qword [0x5b4730]
mov esi, dword [ebp - 0xa14]
sub esp, 8
fstp qword [esp]
push 0x5c0ea0
push esi
call fcn.00410350
mov ecx, dword [ebp - 0xacc]
add esp, 0x10
mov dword [ecx], edi
mov edx, dword [esi + 8]
lea eax, [ebp - 0xa7c]
lea ecx, [ebp - 0x808]
push eax
mov dword [ebp - 0xa64], edi
mov dword [ebp - 0xaa4], edi
push ecx
test edx, 0x2000
je 0x4e3190
mov ecx, dword [ebp - 0xa30]
lea edx, [ebp - 0xa64]
push edx
lea eax, [ebp - 0xa0c]
push eax
push ecx
lea edx, [ebp - 0xa88]
push edx
mov edx, dword [ebp - 0xa58]
lea eax, [ebp - 0xa38]
push eax
lea ecx, [ebp - 0xa20]
push ecx
mov ecx, dword [ebp - 0xa2c]
push edx
lea eax, [ebp - 0xa44]
push eax
push esi
lea edx, [ebp - 0xa94]
call fcn.004e1490
mov ecx, dword [ebp - 0xa0c]
mov edx, dword [ebp - 0xa64]
add esp, 0x2c
push ecx
push edx
push str.restarting_at_iteration__u__dim___u__n
push esi
call fcn.00410350
add esp, 0x10
jmp 0x4e31d6
mov edx, dword [ebx + 0xc]
push edx
lea eax, [ebp - 0xa88]
push eax
lea ecx, [ebp - 0xa38]
push ecx
lea edx, [ebp - 0xa20]
push edx
mov edx, dword [ebp - 0xa58]
lea eax, [ebp - 0xa44]
push eax
mov eax, dword [ebp - 0xa68]
lea ecx, [ebp - 0xa94]
push ecx
push edx
push eax
mov eax, dword [ebp - 0xa2c]
push ebx
mov ecx, esi
call fcn.004e29f0
add esp, 0x2c
xor edx, edx
xor esi, esi
xor eax, eax
mov dword [ebp - 0xa60], edx
mov dword [ebp - 0xa5c], esi
cmp dword [ebp - 0xa7c], edi
jbe 0x4e321c
mov ecx, dword [ebp + eax*4 - 0x708]
or edx, dword [ecx*8 + 0x520a68]
mov ecx, dword [ecx*8 + 0x520a6c]
inc eax
or esi, ecx
cmp eax, dword [ebp - 0xa7c]
jb 0x4e31f0
mov dword [ebp - 0xa5c], esi
mov dword [ebp - 0xa60], edx
mov ebx, dword [ebp - 0xa30]
mov esi, dword [ebp + 0x14]
push edi
call fcn.004b9392
add esp, 4
mov dword [ebp - 0xad8], eax
mov dword [ebp - 0xad4], edx
cmp ebx, 0xea60
jbe 0x4e32d8
mov edx, dword [ebp - 0xa14]
mov eax, dword [edx + 8]
test al, 3
je 0x4e32d8
cmp ebx, 0xf4240
jbe 0x4e3280
mov ecx, dword [ebp - 0xa0c]
mov eax, 0xc8
mov dword [ebp - 0xa78], eax
add eax, ecx
mov dword [ebp - 0xa74], ecx
mov dword [ebp - 0xac8], eax
jmp 0x4e32de
cmp ebx, 0x7a120
jbe 0x4e32a9
mov ecx, dword [ebp - 0xa0c]
mov eax, 0x1f4
mov dword [ebp - 0xa78], eax
add eax, ecx
mov dword [ebp - 0xa74], ecx
mov dword [ebp - 0xac8], eax
jmp 0x4e32de
mov ecx, 0x186a0
cmp ecx, ebx
mov ecx, dword [ebp - 0xa0c]
sbb eax, eax
and eax, 0xffffe890
add eax, 0x1f40
mov dword [ebp - 0xa78], eax
add eax, ecx
mov dword [ebp - 0xa74], ecx
mov dword [ebp - 0xac8], eax
jmp 0x4e32de
mov ecx, dword [ebp - 0xa0c]
cmp esi, edi
je 0x4e3320
add ecx, 0x190
xor edx, edx
mov eax, ecx
div esi
mov dword [ebp - 0xaa8], 0x2710
inc eax
imul eax, esi
mov dword [ebp - 0xaa0], eax
mov eax, 0xd1b71759
mul ecx
shr edx, 0xd
inc edx
imul edx, edx, 0x2710
mov dword [ebp - 0xab4], edx
lea esp, [esp]
mov edi, dword [ebp - 0xa54]
inc dword [ebp - 0xa64]
cmp dword [edi + 0x24], 0
mov ebx, dword [ebp - 0xa44]
je 0x4e3363
mov esi, dword [ebp - 0xa68]
push ebx
mov eax, edi
call fcn.004d8030
mov esi, dword [ebp - 0xa28]
mov edx, dword [ebp - 0xa68]
add esp, 4
push esi
push edx
mov eax, edi
call fcn.004d7f20
add esp, 8
jmp 0x4e338b
mov eax, dword [ebp - 0xa68]
push eax
push ebx
push edi
call fcn.004d89a0
mov esi, dword [ebp - 0xa28]
mov ecx, dword [ebp - 0xa68]
add esp, 0xc
push esi
push ecx
push edi
call fcn.004d8850
add esp, 0xc
mov edx, dword [ebp - 0xa24]
mov eax, dword [ebp - 0xa20]
push edx
push eax
push edi
mov edx, esi
mov ecx, ebx
call fcn.004d6ee0
mov ecx, dword [ebp - 0xa24]
mov edx, dword [ebp - 0xa38]
add esp, 0xc
push ecx
push edx
push edi
mov edx, esi
mov ecx, esi
call fcn.004d6ee0
mov eax, dword [ebp - 0xa20]
add esp, 0xc
xor ecx, ecx
add eax, 0x10
lea esp, [esp]
mov edx, dword [eax - 0x10]
or edx, dword [eax - 0xc]
jne 0x4e3407
mov edx, dword [eax - 8]
or edx, dword [eax - 4]
jne 0x4e33fc
mov edx, dword [eax]
or edx, dword [eax + 4]
jne 0x4e33ff
mov edx, dword [eax + 8]
or edx, dword [eax + 0xc]
jne 0x4e3404
add ecx, 4
add eax, 0x20
cmp ecx, 0x40
jb 0x4e33d0
jmp 0x4e3407
inc ecx
jmp 0x4e3407
add ecx, 2
jmp 0x4e3407
add ecx, 3
cmp ecx, 0x40
je 0x4e4012
mov eax, dword [ebp - 0xa7c]
mov edx, dword [ebp - 0xa20]
push eax
mov eax, dword [ebp - 0xa14]
lea ecx, [ebp - 0x708]
push ecx
push edx
mov edx, dword [ebp - 0xa88]
push eax
lea ecx, [ebp - 0x808]
call fcn.004e2170
add esp, 0x10
mov dword [ebp - 0xaa4], eax
test eax, eax
je 0x4e4012
mov edx, dword [ebp - 0xaa4]
xor edi, edi
xor ebx, ebx
xor eax, eax
mov dword [ebp - 0xa6c], edi
test edx, edx
je 0x4e3492
jmp 0x4e3470
mov ecx, dword [ebp + eax*4 - 0x808]
or ebx, dword [ecx*8 + 0x520a68]
mov ecx, dword [ecx*8 + 0x520a6c]
inc eax
or edi, ecx
cmp eax, edx
jb 0x4e3470
mov dword [ebp - 0xa6c], edi
mov eax, dword [ebp - 0xa54]
mov ecx, dword [eax + 4]
mov esi, dword [ebp - 0xa0c]
sub ecx, 0x40
cmp esi, ecx
jae 0x4e34c3
mov eax, ebx
or eax, dword [ebp - 0xa60]
mov ecx, edi
or ecx, dword [ebp - 0xa5c]
and eax, ecx
cmp eax, 0xffffffff
jne 0x4e4154
add esi, edx
mov edx, ebx
and edx, edi
mov dword [ebp - 0xa0c], esi
mov esi, dword [ebp - 0xa28]
cmp edx, 0xffffffff
je 0x4e34f2
mov ecx, dword [ebp - 0xa24]
xor eax, eax
test ecx, ecx
je 0x4e34f2
and dword [esi + eax*8], ebx
and dword [esi + eax*8 + 4], edi
inc eax
cmp eax, ecx
jb 0x4e34e6
mov eax, dword [ebp - 0xa64]
cmp eax, 4
jae 0x4e3525
mov eax, dword [ebp - 0xa24]
mov ecx, dword [ebp - 0xa94]
mov edx, dword [ebp - 0xa54]
push eax
push ecx
mov ecx, dword [ebp - 0xa44]
push edx
mov edx, dword [ebp - 0xa58]
call fcn.004d6ee0
jmp 0x4e3543
jne 0x4e3546
mov eax, dword [ebp - 0xa24]
mov edx, dword [ebp - 0xa58]
lea ecx, [eax*8]
push ecx
push 0
push edx
call fcn.004bd240
add esp, 0xc
cmp dword [ebp - 0xaa8], 0
je 0x4e3607
mov eax, dword [ebp - 0xa0c]
cmp eax, dword [ebp - 0xab4]
jae 0x4e3581
mov ecx, dword [ebp - 0xa14]
mov edx, dword [ecx + 8]
test dl, 4
jne 0x4e3581
mov eax, dword [ebp - 0xaa0]
cmp dword [ebp - 0xa0c], eax
jb 0x4e3607
mov ecx, dword [ebp - 0xa24]
mov eax, dword [ebp - 0xa54]
push ecx
mov ecx, dword [ebp - 0xa58]
lea edx, [ebp - 0x408]
push edx
push eax
mov edx, esi
call fcn.004d6ee0
add esp, 0xc
xor eax, eax
jmp 0x4e35b0
mov ecx, dword [ebp + eax*8 - 0x408]
or ecx, dword [ebp + eax*8 - 0x404]
jne 0x4e4178
inc eax
cmp eax, 0x40
jb 0x4e35b0
mov eax, dword [ebp - 0xa0c]
mov ecx, dword [ebp - 0xaa8]
add eax, 0x190
xor edx, edx
div ecx
mov edx, dword [ebp - 0xa24]
inc eax
imul eax, ecx
mov ecx, dword [ebp - 0xa58]
mov dword [ebp - 0xab4], eax
lea eax, [edx*8]
push eax
push esi
push ecx
call fcn.004bd390
add esp, 0xc
mov esi, dword [ebp - 0xa38]
mov edx, dword [ebp - 0xa20]
lea ecx, [esi + 0x18]
sub esi, edx
lea eax, [edx + 8]
neg edx
mov dword [ebp - 0xac4], esi
lea esi, [ebp + edx - 0x408]
mov dword [ebp - 0xab0], esi
lea esi, [ebp + edx - 0x400]
lea edx, [ebp + edx - 0x3f8]
mov dword [ebp - 0xa10], 0
mov dword [ebp - 0xabc], esi
mov dword [ebp - 0xa4c], edx
jmp 0x4e3666
mov edi, dword [ebp - 0xa6c]
mov edx, dword [ecx - 0x14]
mov esi, dword [ecx - 0x18]
and edx, edi
xor edx, dword [eax - 4]
and esi, ebx
xor esi, dword [eax - 8]
mov dword [ebp - 0xaac], edx
mov edx, dword [ebp - 0xa10]
mov dword [ebp + edx*8 - 0x408], esi
mov esi, dword [ebp - 0xaac]
mov dword [ebp + edx*8 - 0x404], esi
mov edx, dword [ebp - 0xac4]
mov edi, dword [edx + eax + 4]
and edi, dword [ebp - 0xa6c]
mov esi, dword [edx + eax]
xor edi, dword [eax + 4]
mov edx, dword [ebp - 0xab0]
and esi, ebx
xor esi, dword [eax]
mov dword [eax + edx + 4], edi
mov edi, dword [ecx - 4]
and edi, dword [ebp - 0xa6c]
mov dword [eax + edx], esi
xor edi, dword [eax + 0xc]
mov esi, dword [ecx - 8]
mov edx, dword [ebp - 0xabc]
and esi, ebx
xor esi, dword [eax + 8]
mov dword [eax + edx + 4], edi
mov edi, dword [ecx + 4]
and edi, dword [ebp - 0xa6c]
mov dword [eax + edx], esi
mov esi, dword [ecx]
xor edi, dword [eax + 0x14]
mov edx, dword [ebp - 0xa4c]
and esi, ebx
xor esi, dword [eax + 0x10]
mov dword [eax + edx + 4], edi
mov dword [eax + edx], esi
mov edx, dword [ebp - 0xa10]
add edx, 4
add eax, 0x20
add ecx, 0x20
mov dword [ebp - 0xa10], edx
cmp edx, 0x40
jb 0x4e3660
lea eax, [ebp - 0x408]
mov ecx, eax
push eax
push ecx
mov ecx, dword [ebp - 0xa88]
call fcn.004e1cc0
add esp, 8
xor eax, eax
jmp 0x4e3740
mov edx, dword [eax + 0x520a68]
xor dword [ebp + eax - 0x408], edx
mov ecx, dword [eax + 0x520a6c]
xor dword [ebp + eax - 0x404], ecx
mov edx, dword [eax + 0x520a70]
mov ecx, dword [eax + 0x520a74]
xor dword [ebp + eax - 0x400], edx
xor dword [ebp + eax - 0x3fc], ecx
mov edx, dword [eax + 0x520a78]
mov ecx, dword [eax + 0x520a7c]
xor dword [ebp + eax - 0x3f8], edx
xor dword [ebp + eax - 0x3f4], ecx
mov edx, dword [eax + 0x520a80]
mov ecx, dword [eax + 0x520a84]
xor dword [ebp + eax - 0x3f0], edx
xor dword [ebp + eax - 0x3ec], ecx
add eax, 0x20
cmp eax, 0x200
jb 0x4e3740
mov edx, dword [ebp - 0xa24]
mov ecx, dword [ebp - 0xa54]
mov edi, dword [ebp - 0xa28]
push edx
lea eax, [ebp - 0x408]
push eax
push ecx
mov ecx, dword [ebp - 0xa44]
mov edx, edi
call fcn.004d7950
lea edx, [ebp - 0x408]
add esp, 0xc
push edx
mov eax, edx
push eax
call fcn.004e1b40
mov esi, dword [ebp - 0xa9c]
mov ecx, dword [ebp - 0xa94]
push esi
push ecx
lea ecx, [ebp - 0x408]
call fcn.004e1cc0
mov eax, dword [ebp - 0xa20]
mov ecx, dword [ebp - 0xa84]
lea edx, [ebp - 0x608]
push edx
push eax
call fcn.004e1cc0
mov ecx, dword [ebp - 0xa6c]
add esp, 0x18
xor eax, eax
lea esp, [esp]
and dword [ebp + eax*8 - 0x608], ebx
and dword [ebp + eax*8 - 0x604], ecx
inc eax
cmp eax, 0x40
jb 0x4e3830
mov ecx, dword [ebp - 0xa24]
mov eax, dword [ebp - 0xa54]
push ecx
mov ecx, dword [ebp - 0xa40]
lea edx, [ebp - 0x608]
push edx
push eax
mov edx, edi
call fcn.004d7950
lea ecx, [ebp - 0x608]
add esp, 0xc
push ecx
mov edx, ecx
push edx
call fcn.004e1b40
mov ecx, dword [ebp - 0xa90]
lea eax, [ebp - 0x608]
push eax
push ecx
mov ecx, eax
call fcn.004e1cc0
mov edx, esi
add esp, 0x10
xor ecx, ecx
neg edx
lea eax, [esi + 0x10]
mov dword [ebp - 0xaac], edx
lea esi, [ebp + edx - 0x608]
lea edx, [ebp + edx - 0x600]
lea ecx, [ecx]
mov edi, dword [ebp + ecx*8 - 0x608]
xor dword [eax - 0x10], edi
mov edi, dword [ebp + ecx*8 - 0x604]
xor dword [eax - 0xc], edi
mov edi, dword [ebp + ecx*8 - 0x600]
xor dword [eax - 8], edi
mov edi, dword [ebp + ecx*8 - 0x5fc]
xor dword [eax - 4], edi
mov edi, dword [esi + eax]
xor dword [eax], edi
mov edi, dword [esi + eax + 4]
xor dword [eax + 4], edi
mov edi, dword [edx + eax]
xor dword [eax + 8], edi
mov edi, dword [edx + eax + 4]
xor dword [eax + 0xc], edi
add ecx, 4
add eax, 0x20
cmp ecx, 0x40
jb 0x4e38b0
mov edx, dword [ebp - 0xa60]
and edx, dword [ebp - 0xa5c]
cmp edx, 0xffffffff
je 0x4e3bb0
mov ecx, dword [ebp - 0xa84]
mov esi, dword [ebp - 0xa1c]
lea eax, [ebp - 0x208]
push eax
push ecx
mov ecx, esi
call fcn.004e1cc0
add esp, 8
xor eax, eax
mov edx, dword [eax + 0x520a68]
xor dword [ebp + eax - 0x208], edx
mov ecx, dword [eax + 0x520a6c]
xor dword [ebp + eax - 0x204], ecx
mov edx, dword [eax + 0x520a70]
mov ecx, dword [eax + 0x520a74]
xor dword [ebp + eax - 0x200], edx
xor dword [ebp + eax - 0x1fc], ecx
mov edx, dword [eax + 0x520a78]
mov ecx, dword [eax + 0x520a7c]
xor dword [ebp + eax - 0x1f8], edx
xor dword [ebp + eax - 0x1f4], ecx
mov edx, dword [eax + 0x520a80]
mov ecx, dword [eax + 0x520a84]
xor dword [ebp + eax - 0x1f0], edx
xor dword [ebp + eax - 0x1ec], ecx
add eax, 0x20
cmp eax, 0x200
jb 0x4e3931
mov ecx, dword [ebp - 0xa80]
lea edx, [ebp - 0x208]
push edx
mov eax, edx
push eax
call fcn.004e1cc0
mov edx, dword [ebp - 0xa34]
lea ecx, [edx + 0x18]
sub edx, esi
mov dword [ebp - 0xa4c], edx
mov edx, esi
add esp, 8
neg edx
lea eax, [esi + 8]
lea esi, [ebp + edx - 0xa08]
mov dword [ebp - 0xabc], esi
lea esi, [ebp + edx - 0xa00]
lea edx, [ebp + edx - 0x9f8]
mov dword [ebp - 0xa10], 0
mov dword [ebp - 0xab0], esi
mov dword [ebp - 0xac4], edx
mov edi, dword [ecx - 0x14]
and edi, dword [ebp - 0xa5c]
mov esi, dword [ecx - 0x18]
and esi, dword [ebp - 0xa60]
xor edi, dword [eax - 4]
xor esi, dword [eax - 8]
and edi, dword [ebp - 0xa6c]
mov edx, dword [ebp - 0xa10]
mov dword [ebp + edx*8 - 0xa04], edi
and esi, ebx
mov dword [ebp + edx*8 - 0xa08], esi
mov edx, dword [ebp - 0xa4c]
mov edi, dword [edx + eax + 4]
and edi, dword [ebp - 0xa5c]
mov esi, dword [edx + eax]
and esi, dword [ebp - 0xa60]
xor edi, dword [eax + 4]
xor esi, dword [eax]
and edi, dword [ebp - 0xa6c]
mov edx, dword [ebp - 0xabc]
mov dword [eax + edx + 4], edi
mov edi, dword [ecx - 4]
and edi, dword [ebp - 0xa5c]
and esi, ebx
xor edi, dword [eax + 0xc]
mov dword [eax + edx], esi
mov esi, dword [ecx - 8]
and esi, dword [ebp - 0xa60]
and edi, dword [ebp - 0xa6c]
xor esi, dword [eax + 8]
mov edx, dword [ebp - 0xab0]
mov dword [eax + edx + 4], edi
mov edi, dword [ecx + 4]
and edi, dword [ebp - 0xa5c]
and esi, ebx
xor edi, dword [eax + 0x14]
mov dword [eax + edx], esi
mov esi, dword [ecx]
and esi, dword [ebp - 0xa60]
and edi, dword [ebp - 0xa6c]
xor esi, dword [eax + 0x10]
mov edx, dword [ebp - 0xac4]
and esi, ebx
mov dword [eax + edx], esi
mov dword [eax + edx + 4], edi
mov edx, dword [ebp - 0xa10]
add edx, 4
add eax, 0x20
add ecx, 0x20
mov dword [ebp - 0xa10], edx
cmp edx, 0x40
jb 0x4e3a04
lea eax, [ebp - 0x208]
push eax
lea ecx, [ebp - 0xa08]
push ecx
mov ecx, eax
call fcn.004e1cc0
mov edx, dword [ebp - 0xa24]
mov ecx, dword [ebp - 0xa54]
push edx
mov edx, dword [ebp - 0xa28]
lea eax, [ebp - 0x208]
push eax
push ecx
mov ecx, dword [ebp - 0xa3c]
call fcn.004d7950
lea edx, [ebp - 0x208]
add esp, 0x14
push edx
mov eax, edx
push eax
call fcn.004e1b40
mov edx, dword [ebp - 0xa8c]
lea ecx, [ebp - 0x208]
push ecx
push edx
call fcn.004e1cc0
mov esi, dword [ebp - 0xaac]
mov eax, dword [ebp - 0xa9c]
add esp, 0x10
xor ecx, ecx
lea edx, [ebp + esi - 0x208]
add eax, 0x10
lea esi, [ebp + esi - 0x200]
mov edi, dword [ebp + ecx*8 - 0x208]
xor dword [eax - 0x10], edi
mov edi, dword [ebp + ecx*8 - 0x204]
xor dword [eax - 0xc], edi
mov edi, dword [ebp + ecx*8 - 0x200]
xor dword [eax - 8], edi
mov edi, dword [ebp + ecx*8 - 0x1fc]
xor dword [eax - 4], edi
mov edi, dword [edx + eax]
xor dword [eax], edi
mov edi, dword [edx + eax + 4]
xor dword [eax + 4], edi
mov edi, dword [esi + eax]
xor dword [eax + 8], edi
mov edi, dword [esi + eax + 4]
xor dword [eax + 0xc], edi
add ecx, 4
add eax, 0x20
cmp ecx, 0x40
jb 0x4e3b64
mov ecx, dword [ebp - 0xa94]
mov edi, dword [ebp - 0xa88]
lea eax, [ebp - 0x408]
push eax
push ecx
mov ecx, edi
call fcn.004e1cc0
mov edx, dword [ebp - 0xa24]
mov ecx, dword [ebp - 0xa54]
mov esi, dword [ebp - 0xa44]
push edx
mov edx, dword [ebp - 0xa2c]
lea eax, [ebp - 0x408]
push eax
push ecx
mov ecx, esi
call fcn.004d7950
mov eax, dword [ebp - 0xa3c]
mov ecx, dword [ebp - 0xa28]
mov edx, dword [ebp - 0xa40]
mov dword [ebp - 0xa28], eax
mov eax, dword [ebp - 0xa80]
mov dword [ebp - 0xa44], ecx
mov ecx, dword [ebp - 0xa90]
mov dword [ebp - 0xa3c], edx
mov edx, dword [ebp - 0xa84]
mov dword [ebp - 0xa88], eax
mov eax, dword [ebp - 0xa8c]
mov dword [ebp - 0xa8c], ecx
mov ecx, dword [ebp - 0xa9c]
mov dword [ebp - 0xa80], edx
mov edx, dword [ebp - 0xa94]
mov dword [ebp - 0xa9c], eax
mov eax, dword [ebp - 0xa1c]
mov dword [ebp - 0xa90], edx
mov edx, dword [ebp - 0xa20]
mov dword [ebp - 0xa94], ecx
mov ecx, dword [ebp - 0xa38]
mov dword [ebp - 0xa20], eax
mov eax, dword [ebp - 0xa34]
mov dword [ebp - 0xa40], esi
mov dword [ebp - 0xa84], edi
mov dword [ebp - 0xa34], ecx
mov dword [ebp - 0xa1c], edx
mov edx, dword [ebp - 0xa6c]
mov dword [ebp - 0xa38], eax
mov eax, dword [ebp - 0xaa4]
add esp, 0x14
cmp dword [ebp - 0xa78], 0
mov ecx, 0x40
lea esi, [ebp - 0x808]
lea edi, [ebp - 0x708]
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0xa60], ebx
mov dword [ebp - 0xa5c], edx
mov dword [ebp - 0xa7c], eax
je 0x4e3e81
mov ecx, dword [ebp - 0xa0c]
cmp ecx, dword [ebp - 0xac8]
jb 0x4e3e81
push 0
call fcn.004b9392
mov edi, dword [ebp - 0xa0c]
add esp, 4
sub eax, dword [ebp - 0xad8]
sbb edx, dword [ebp - 0xad4]
mov dword [ebp - 0xae8], eax
mov dword [ebp - 0xae4], edx
mov edx, dword [ebp - 0xa30]
fild qword [ebp - 0xae8]
sub edx, edi
mov dword [ebp - 0xa4c], edx
fild dword [ebp - 0xa4c]
jns 0x4e3d38
fadd qword [0x5b4428]
mov eax, edi
fmulp st(1)
sub eax, dword [ebp - 0xa74]
mov dword [ebp - 0xa4c], eax
fild dword [ebp - 0xa4c]
jns 0x4e3d56
fadd qword [0x5b4428]
fdivp st(1)
fnstcw word [ebp - 0xa0e]
movzx eax, word [ebp - 0xa0e]
or eax, 0xc00
mov dword [ebp - 0xa4c], eax
mov eax, 0x91a2b3c5
fldcw word [ebp - 0xa4c]
fistp qword [ebp - 0xa50]
mov ecx, dword [ebp - 0xa50]
mul ecx
fldcw word [ebp - 0xa0e]
mov esi, edx
shr esi, 0xb
mov edx, esi
imul edx, edx, 0xe10
sub ecx, edx
mov eax, 0x88888889
mul ecx
mov eax, dword [ebp - 0xa30]
mov ecx, eax
mov ebx, edx
shr ebx, 5
mov dword [ebp - 0xa4c], ecx
fild dword [ebp - 0xa4c]
test ecx, ecx
jns 0x4e3dc8
fadd qword [0x5b4428]
mov edx, edi
fst qword [ebp - 0xac0]
push ebx
mov dword [ebp - 0xa4c], edx
fild dword [ebp - 0xa4c]
push esi
test edx, edx
jns 0x4e3de8
fadd qword [0x5b4428]
fmul qword [0x5b45c8]
sub esp, 8
fdivrp st(1)
fstp qword [esp]
push eax
push edi
push str.linear_algebra_completed__u_of__u_dimensions___1.1f____ETA__dh_2dm______r
call fcn.004b7416
add eax, 0x40
push eax
call fcn.004b80fd
mov eax, dword [ebp - 0xa98]
inc eax
add esp, 0x20
mov dword [ebp - 0xa98], eax
cmp eax, 6
jne 0x4e3e5e
mov eax, dword [ebp - 0xa0c]
fild dword [ebp - 0xa0c]
push ebx
push esi
test eax, eax
jns 0x4e3e38
fadd qword [0x5b4428]
fmul qword [0x5b45c8]
mov ecx, dword [ebp - 0xa14]
sub esp, 8
fdiv qword [ebp - 0xac0]
fstp qword [esp]
push str.linear_algebra_at__1.1f____ETA__dh_2dm_n
push ecx
call fcn.00410350
add esp, 0x18
mov eax, dword [ebp - 0xa78]
add eax, dword [ebp - 0xa0c]
mov dword [ebp - 0xac8], eax
call fcn.004b7416
add eax, 0x40
push eax
call fcn.004b7c36
add esp, 4
cmp dword [ebp + 0x14], 0
je 0x4e3320
mov ecx, dword [ebp - 0xaa0]
mov esi, dword [ebp + 0x14]
cmp dword [ebp - 0xa0c], ecx
jb 0x4e3f81
cmp esi, 0x7d0
jne 0x4e3f81
push 0
call fcn.004b9392
mov ecx, dword [ebp - 0xa0c]
add esp, 4
sub eax, dword [ebp - 0xad8]
sbb edx, dword [ebp - 0xad4]
sub ecx, dword [ebp - 0xa74]
mov dword [ebp - 0xae0], eax
mov dword [ebp - 0xadc], edx
fild qword [ebp - 0xae0]
mov dword [ebp - 0xa4c], ecx
fild dword [ebp - 0xa4c]
jns 0x4e3ef4
fadd qword [0x5b4428]
fld qword [0x5b4820]
fdivrp st(2)
fnstcw word [ebp - 0xa0e]
fmulp st(1)
movzx eax, word [ebp - 0xa0e]
or eax, 0xc00
mov dword [ebp - 0xa4c], eax
fldcw word [ebp - 0xa4c]
fistp qword [ebp - 0xa50]
mov esi, dword [ebp - 0xa50]
fldcw word [ebp - 0xa0e]
cmp esi, 0x7d1
ja 0x4e3f3b
mov esi, 0x7d1
mov ecx, dword [ebp - 0xaa8]
xor edx, edx
mov eax, esi
div ecx
sub ecx, edx
mov edx, dword [ebp - 0xa14]
add esi, ecx
push esi
push str.checkpointing_every__u_dimensions_n
push edx
mov dword [ebp + 0x14], esi
call fcn.00410350
mov eax, dword [ebp - 0xa0c]
add eax, 0x190
xor edx, edx
div esi
add esp, 0xc
inc eax
imul eax, esi
mov dword [ebp - 0xaa0], eax
jmp 0x4e3320
mov edi, dword [ebp - 0xa14]
mov eax, dword [edi + 8]
test al, 4
mov eax, dword [ebp - 0xa0c]
jne 0x4e3f98
cmp eax, ecx
jb 0x4e4006
mov ecx, dword [ebp - 0xa7c]
push ecx
mov ecx, dword [ebp - 0xa64]
lea edx, [ebp - 0x808]
push edx
mov edx, dword [ebp - 0xa30]
push ecx
push eax
push edx
lea eax, [ebp - 0xa88]
push eax
lea ecx, [ebp - 0xa38]
push ecx
mov ecx, dword [ebp - 0xa2c]
lea edx, [ebp - 0xa20]
push edx
mov edx, dword [ebp - 0xa58]
lea eax, [ebp - 0xa94]
push eax
push ecx
push edi
lea ecx, [ebp - 0xa44]
call fcn.004e1780
mov eax, dword [ebp - 0xa0c]
add eax, 0x190
xor edx, edx
div esi
add esp, 0x2c
inc eax
imul eax, esi
mov dword [ebp - 0xaa0], eax
mov edx, dword [edi + 8]
test dl, 4
je 0x4e3320
cmp dword [ebp - 0xa78], 0
je 0x4e4031
push 0x5c1018
call fcn.004b7416
add eax, 0x40
push eax
call fcn.004b80fd
add esp, 8
mov edx, dword [ebp - 0xa0c]
mov eax, dword [ebp - 0xa64]
mov edi, dword [ebp - 0xa14]
push edx
push eax
push str.lanczos_halted_after__u_iterations__dim___u__n
push edi
call fcn.00410350
mov ecx, dword [ebp - 0xa28]
push ecx
call fcn.004b7229
mov edx, dword [ebp - 0xa58]
add esp, 0x14
push edx
call fcn.004b7229
mov eax, dword [ebp - 0xa20]
add esp, 4
push eax
call fcn.004b7229
mov ecx, dword [ebp - 0xa1c]
add esp, 4
push ecx
call fcn.004b7229
mov edx, dword [ebp - 0xa38]
add esp, 4
push edx
call fcn.004b7229
mov eax, dword [ebp - 0xa34]
add esp, 4
push eax
call fcn.004b7229
mov ecx, dword [ebp - 0xa88]
add esp, 4
push ecx
call fcn.004b7229
mov edx, dword [ebp - 0xa84]
add esp, 4
push edx
call fcn.004b7229
mov eax, dword [ebp - 0xa80]
add esp, 4
push eax
call fcn.004b7229
mov ecx, dword [ebp - 0xa9c]
add esp, 4
push ecx
call fcn.004b7229
mov edx, dword [ebp - 0xa94]
add esp, 4
push edx
call fcn.004b7229
mov eax, dword [ebp - 0xa90]
add esp, 4
push eax
call fcn.004b7229
mov ecx, dword [ebp - 0xa8c]
add esp, 4
push ecx
call fcn.004b7229
mov esi, dword [ebp - 0xaa4]
add esp, 4
test esi, esi
je 0x4e43e1
mov edx, dword [edi + 8]
test dl, 4
jne 0x4e43e1
mov edi, dword [ebp - 0xa54]
cmp dword [edi + 0x24], 0
mov ebx, dword [ebp - 0xa40]
je 0x4e419d
mov eax, dword [ebp - 0xa2c]
push eax
mov esi, ebx
mov eax, edi
call fcn.004d8030
add esp, 4
jmp 0x4e41ae
mov eax, dword [ebp - 0xa14]
push esi
push str.lanczos_error__dim___u_:_not_all_columns_used_n
push eax
call fcn.00410350
add esp, 0xc
mov dword [ebp - 0xaa4], 0
jmp 0x4e4012
mov ecx, dword [ebp - 0xa14]
push str.error:_corrupt_state__please_restart_from_checkpoint_n
push ecx
call fcn.00410350
push str._nerror:_corrupt_state__please_restart_from_checkpoint_n
call fcn.004b7f6d
add esp, 0xc
push 0xffffffffffffffff
call fcn.004b856d
mov ecx, dword [ebp - 0xa2c]
push ebx
push ecx
push edi
call fcn.004d89a0
add esp, 0xc
cmp dword [edi + 0x24], 0
mov esi, dword [ebp - 0xa3c]
je 0x4e41cd
mov edx, dword [ebp - 0xa44]
push edx
mov eax, edi
call fcn.004d8030
add esp, 4
jmp 0x4e41de
mov eax, dword [ebp - 0xa44]
push esi
push eax
push edi
call fcn.004d89a0
add esp, 0xc
mov ecx, dword [edi + 4]
cmp ecx, dword [edi + 0x10]
jae 0x4e4215
mov edx, esi
lea eax, [ebx + ecx*8]
sub edx, ebx
lea ecx, [ecx]
mov dword [edx + eax], 0
mov dword [edx + eax + 4], 0
mov dword [eax], 0
mov dword [eax + 4], 0
inc ecx
add eax, 8
cmp ecx, dword [edi + 0x10]
jb 0x4e41f0
xor edx, edx
cmp dword [ebp + 0x10], edx
je 0x4e432d
mov eax, 0x520a68
sub eax, ebx
sub esi, ebx
mov ecx, ebx
mov dword [ebp - 0xa4c], eax
mov dword [ebp - 0xabc], esi
mov dword [ebp - 0xa74], 0x30
mov eax, dword [ebp - 0xa4c]
mov esi, dword [eax + ecx]
mov eax, dword [eax + ecx + 4]
mov dword [ebp - 0xa38], edx
mov dword [ebp - 0xa34], edx
mov dword [ebp - 0xa20], edx
mov dword [ebp - 0xa1c], edx
mov dword [ebp - 0xa70], esi
mov dword [ebp - 0xa6c], eax
cmp dword [ebp - 0xa30], edx
jbe 0x4e42e8
mov eax, dword [ebp - 0xa2c]
mov esi, dword [ebp + 0x10]
mov ebx, dword [ebp - 0xa44]
mov edx, dword [ebp - 0xa30]
sub esi, eax
sub ebx, eax
mov dword [ebp - 0xa98], edx
lea esp, [esp]
mov edx, dword [esi + eax]
mov edi, dword [esi + eax + 4]
and edx, dword [ebp - 0xa70]
and edi, dword [ebp - 0xa6c]
or edx, edi
je 0x4e42db
mov edx, dword [eax]
xor dword [ebp - 0xa38], edx
mov edx, dword [eax + 4]
xor dword [ebp - 0xa34], edx
mov edx, dword [ebx + eax]
xor dword [ebp - 0xa20], edx
mov edx, dword [ebx + eax + 4]
xor dword [ebp - 0xa1c], edx
add eax, 8
dec dword [ebp - 0xa98]
jne 0x4e42a0
xor edx, edx
mov eax, dword [ebp - 0xa38]
xor dword [ecx], eax
mov eax, dword [ebp - 0xa34]
xor dword [ecx + 4], eax
mov esi, dword [ebp - 0xa20]
mov eax, dword [ebp - 0xabc]
xor dword [ecx + eax], esi
mov esi, dword [ebp - 0xa1c]
xor dword [ecx + eax + 4], esi
add ecx, 8
dec dword [ebp - 0xa74]
jne 0x4e4241
mov esi, dword [ebp - 0xa3c]
mov ebx, dword [ebp - 0xa40]
mov ecx, dword [ebp - 0xa44]
mov edx, dword [ebp - 0xa2c]
mov eax, dword [ebp - 0xa30]
push esi
push ebx
push ecx
push edx
push eax
call fcn.004e1e70
mov ecx, dword [ebp - 0xa68]
mov edi, dword [ebp - 0xacc]
add esp, 0x14
push ecx
mov dword [edi], eax
call fcn.004b7229
mov edx, dword [ebp - 0xa44]
add esp, 4
push edx
call fcn.004b7229
add esp, 4
push ebx
call fcn.004b7229
add esp, 4
push esi
call fcn.004b7229
mov eax, dword [edi]
add esp, 4
test eax, eax
jne 0x4e43b5
mov eax, dword [ebp - 0xa14]
push str.lanczos_error:_only_trivial_dependencies_found_n
push eax
call fcn.00410350
mov eax, dword [ebp - 0xa2c]
add esp, 8
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004bc40c
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0xa14]
push eax
push str.recovered__u_nontrivial_dependencies_n
push ecx
call fcn.00410350
mov eax, dword [ebp - 0xa2c]
add esp, 0xc
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004bc40c
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp - 0xa2c]
push edx
call fcn.004b7229
mov eax, dword [ebp - 0xa68]
add esp, 4
push eax
call fcn.004b7229
mov ecx, dword [ebp - 0xa44]
add esp, 4
push ecx
call fcn.004b7229
mov edx, dword [ebp - 0xa40]
add esp, 4
push edx
call fcn.004b7229
mov eax, dword [ebp - 0xa3c]
add esp, 4
push eax
call fcn.004b7229
add esp, 4
test esi, esi
jne 0x4e443e
push str.linear_algebra_failed__retrying..._n
push edi
call fcn.00410350
add esp, 8
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
xor eax, eax
pop ebx
call fcn.004bc40c
mov esp, ebp
pop ebp
ret