Function at 0x41eec0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x46daa6
mov eax, dword fs:[0]
push eax
sub esp, 0x37c
mov eax, dword [0x485310]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebp + 8]
xor eax, eax
mov dword [ebp - 0x374], esi
mov dword [ebp - 0x378], eax
mov dword [ebp - 0x388], eax
mov dword [ebp - 0x37c], eax
mov dword [ebp - 0x380], eax
xor edi, edi
mov dword [ebp - 4], eax
mov dword [ebp - 0x354], eax
mov dword [ebp - 0x360], eax
mov dword [ebp - 0x364], edi
mov dword [ebp - 0x358], edi
push esi
push 1
xor ebx, ebx
mov byte [ebp - 4], 1
lea eax, [ebp - 0x368]
mov dword [ebp - 0x384], edi
push 4
push eax
mov dword [ebp - 0x35c], ebx
mov dword [ebp - 0x368], ebx
mov dword [ebp - 0x370], ebx
call fcn.004369f9
push esi
push 1
lea eax, [ebp - 0x370]
push 4
push eax
call fcn.004369f9
add esp, 0x20
xor esi, esi
cmp dword [ebp - 0x368], ebx
jle 0x41efe8
mov edi, dword [ebp - 0x374]
push 0x30
lea eax, [ebp - 0x244]
push 0
push eax
call fcn.00425630
push edi
push 1
lea eax, [ebp - 0x244]
push 0x30
push eax
call fcn.004369f9
lea eax, [ebp - 0x244]
push 0x30
push eax
call fcn.004234c0
add esp, 0x24
lea eax, [ebp - 0x244]
lea ecx, [ebp - 0x388]
push eax
call fcn.0041f8e0
inc esi
cmp esi, dword [ebp - 0x368]
jl 0x41ef81
mov eax, dword [ebp - 0x380]
xor edi, edi
mov dword [ebp - 0x37c], eax
mov eax, dword [ebp - 0x388]
mov dword [ebp - 0x378], eax
xor esi, esi
mov dword [ebp - 0x36c], esi
cmp dword [ebp - 0x370], ebx
jle 0x41f11b
nop dword [eax]
push 0x10c
lea eax, [ebp - 0x350]
push 0
push eax
call fcn.00425630
push dword [ebp - 0x374]
lea eax, [ebp - 0x350]
push 1
push 0x10c
push eax
call fcn.004369f9
lea eax, [ebp - 0x350]
push 0x10c
push eax
call fcn.004234c0
lea eax, [ebp - 0x350]
add esp, 0x24
cmp eax, ebx
jae 0x41f0ae
mov ecx, eax
mov eax, dword [ebp - 0x354]
cmp eax, ecx
ja 0x41f0ae
sub ecx, eax
mov eax, 0x7a44c6b
imul ecx
sar edx, 3
mov esi, edx
shr esi, 0x1f
add esi, edx
cmp ebx, edi
jne 0x41f09a
push 1
lea ecx, [ebp - 0x360]
call fcn.0041f6a0
mov eax, dword [ebp - 0x358]
mov ebx, dword [ebp - 0x35c]
mov dword [ebp - 0x364], eax
mov eax, dword [ebp - 0x360]
mov dword [ebp - 0x354], eax
jmp 0x41f0a0
mov eax, dword [ebp - 0x354]
test ebx, ebx
je 0x41f0f0
imul esi, esi, 0x10c
add esi, eax
jmp 0x41f0e7
cmp ebx, edi
jne 0x41f0dd
push 1
lea ecx, [ebp - 0x360]
call fcn.0041f6a0
mov eax, dword [ebp - 0x358]
mov ebx, dword [ebp - 0x35c]
mov dword [ebp - 0x364], eax
mov eax, dword [ebp - 0x360]
mov dword [ebp - 0x354], eax
test ebx, ebx
je 0x41f0f6
lea esi, [ebp - 0x350]
mov ecx, 0x43
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x36c]
mov edi, dword [ebp - 0x364]
inc esi
add ebx, 0x10c
mov dword [ebp - 0x36c], esi
mov dword [ebp - 0x35c], ebx
cmp esi, dword [ebp - 0x370]
jl 0x41f000
lea eax, [ebp - 0x214]
mov byte [ebp - 0x14], 0
push eax
call fcn.00404e40
add esp, 4
test eax, eax
jne 0x41f22e
push eax
push str.ERROR_
push str.Failed_to_save_the_file_
push dword [0x48f0a0]
call dword [sym.imp.USER32.dll_MessageBoxA]
mov ecx, dword [ebp - 0x354]
test ecx, ecx
je 0x41f1ba
sub edi, ecx
mov eax, 0x7a44c6b
imul edi
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 0xf4898d
jbe 0x41f176
call fcn.0042e5d8
imul eax, eax, 0x10c
cmp eax, 0x1000
jb 0x41f1b1
test cl, 0x1f
je 0x41f18d
call fcn.0042e5d8
mov eax, dword [ecx - 4]
cmp eax, ecx
jb 0x41f199
call fcn.0042e5d8
sub ecx, eax
cmp ecx, 4
jae 0x41f1a5
call fcn.0042e5d8
cmp ecx, 0x23
jbe 0x41f1af
call fcn.0042e5d8
mov ecx, eax
push ecx
call fcn.00423c72
add esp, 4
mov ecx, dword [ebp - 0x378]
test ecx, ecx
je 0x41f331
mov edx, dword [ebp - 0x37c]
mov eax, 0x2aaaaaab
sub edx, ecx
imul edx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 0x5555555
jbe 0x41f1ed
call fcn.0042e5d8
lea eax, [eax + eax*2]
shl eax, 4
cmp eax, 0x1000
jb 0x41f228
test cl, 0x1f
je 0x41f204
call fcn.0042e5d8
mov eax, dword [ecx - 4]
cmp eax, ecx
jb 0x41f210
call fcn.0042e5d8
sub ecx, eax
cmp ecx, 4
jae 0x41f21c
call fcn.0042e5d8
cmp ecx, 0x23
jbe 0x41f226
call fcn.0042e5d8
mov ecx, eax
push ecx
jmp 0x41f329
lea eax, [ebp - 0x360]
push eax
lea eax, [ebp - 0x388]
push eax
lea eax, [ebp - 0x214]
push eax
call fcn.0041f350
mov ebx, dword [ebp - 0x360]
add esp, 0xc
test ebx, ebx
je 0x41f2be
mov ecx, dword [ebp - 0x358]
mov eax, 0x7a44c6b
sub ecx, ebx
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 0xf4898d
jbe 0x41f27a
call fcn.0042e5d8
imul eax, eax, 0x10c
cmp eax, 0x1000
jb 0x41f2b5
test bl, 0x1f
je 0x41f291
call fcn.0042e5d8
mov eax, dword [ebx - 4]
cmp eax, ebx
jb 0x41f29d
call fcn.0042e5d8
sub ebx, eax
cmp ebx, 4
jae 0x41f2a9
call fcn.0042e5d8
cmp ebx, 0x23
jbe 0x41f2b3
call fcn.0042e5d8
mov ebx, eax
push ebx
call fcn.00423c72
add esp, 4
mov ebx, dword [ebp - 0x388]
test ebx, ebx
je 0x41f331
mov ecx, dword [ebp - 0x380]
mov eax, 0x2aaaaaab
sub ecx, ebx
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 0x5555555
jbe 0x41f2ed
call fcn.0042e5d8
lea eax, [eax + eax*2]
shl eax, 4
cmp eax, 0x1000
jb 0x41f328
test bl, 0x1f
je 0x41f304
call fcn.0042e5d8
mov eax, dword [ebx - 4]
cmp eax, ebx
jb 0x41f310
call fcn.0042e5d8
sub ebx, eax
cmp ebx, 4
jae 0x41f31c
call fcn.0042e5d8
cmp ebx, 0x23
jbe 0x41f326
call fcn.0042e5d8
mov ebx, eax
push ebx
call fcn.00423c72
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00424075
mov esp, ebp
pop ebp
ret