Function at 0x41ee60
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x46da56
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.004369a9
push esi
push 1
lea eax, [ebp - 0x370]
push 4
push eax
call fcn.004369a9
add esp, 0x20
xor esi, esi
cmp dword [ebp - 0x368], ebx
jle 0x41ef88
mov edi, dword [ebp - 0x374]
push 0x30
lea eax, [ebp - 0x244]
push 0
push eax
call fcn.004255e0
push edi
push 1
lea eax, [ebp - 0x244]
push 0x30
push eax
call fcn.004369a9
lea eax, [ebp - 0x244]
push 0x30
push eax
call fcn.00423470
add esp, 0x24
lea eax, [ebp - 0x244]
lea ecx, [ebp - 0x388]
push eax
call fcn.0041f880
inc esi
cmp esi, dword [ebp - 0x368]
jl 0x41ef21
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 0x41f0bb
nop dword [eax]
push 0x10c
lea eax, [ebp - 0x350]
push 0
push eax
call fcn.004255e0
push dword [ebp - 0x374]
lea eax, [ebp - 0x350]
push 1
push 0x10c
push eax
call fcn.004369a9
lea eax, [ebp - 0x350]
push 0x10c
push eax
call fcn.00423470
lea eax, [ebp - 0x350]
add esp, 0x24
cmp eax, ebx
jae 0x41f04e
mov ecx, eax
mov eax, dword [ebp - 0x354]
cmp eax, ecx
ja 0x41f04e
sub ecx, eax
mov eax, 0x7a44c6b
imul ecx
sar edx, 3
mov esi, edx
shr esi, 0x1f
add esi, edx
cmp ebx, edi
jne 0x41f03a
push 1
lea ecx, [ebp - 0x360]
call fcn.0041f640
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 0x41f040
mov eax, dword [ebp - 0x354]
test ebx, ebx
je 0x41f090
imul esi, esi, 0x10c
add esi, eax
jmp 0x41f087
cmp ebx, edi
jne 0x41f07d
push 1
lea ecx, [ebp - 0x360]
call fcn.0041f640
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 0x41f096
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 0x41efa0
lea eax, [ebp - 0x214]
mov byte [ebp - 0x14], 0
push eax
call fcn.00404e40
add esp, 4
test eax, eax
jne 0x41f1ce
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 0x41f15a
sub edi, ecx
mov eax, 0x7a44c6b
imul edi
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 0xf4898d
jbe 0x41f116
call fcn.0042e588
imul eax, eax, 0x10c
cmp eax, 0x1000
jb 0x41f151
test cl, 0x1f
je 0x41f12d
call fcn.0042e588
mov eax, dword [ecx - 4]
cmp eax, ecx
jb 0x41f139
call fcn.0042e588
sub ecx, eax
cmp ecx, 4
jae 0x41f145
call fcn.0042e588
cmp ecx, 0x23
jbe 0x41f14f
call fcn.0042e588
mov ecx, eax
push ecx
call fcn.00423c22
add esp, 4
mov ecx, dword [ebp - 0x378]
test ecx, ecx
je 0x41f2d1
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 0x41f18d
call fcn.0042e588
lea eax, [eax + eax*2]
shl eax, 4
cmp eax, 0x1000
jb 0x41f1c8
test cl, 0x1f
je 0x41f1a4
call fcn.0042e588
mov eax, dword [ecx - 4]
cmp eax, ecx
jb 0x41f1b0
call fcn.0042e588
sub ecx, eax
cmp ecx, 4
jae 0x41f1bc
call fcn.0042e588
cmp ecx, 0x23
jbe 0x41f1c6
call fcn.0042e588
mov ecx, eax
push ecx
jmp 0x41f2c9
lea eax, [ebp - 0x360]
push eax
lea eax, [ebp - 0x388]
push eax
lea eax, [ebp - 0x214]
push eax
call fcn.0041f2f0
mov ebx, dword [ebp - 0x360]
add esp, 0xc
test ebx, ebx
je 0x41f25e
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 0x41f21a
call fcn.0042e588
imul eax, eax, 0x10c
cmp eax, 0x1000
jb 0x41f255
test bl, 0x1f
je 0x41f231
call fcn.0042e588
mov eax, dword [ebx - 4]
cmp eax, ebx
jb 0x41f23d
call fcn.0042e588
sub ebx, eax
cmp ebx, 4
jae 0x41f249
call fcn.0042e588
cmp ebx, 0x23
jbe 0x41f253
call fcn.0042e588
mov ebx, eax
push ebx
call fcn.00423c22
add esp, 4
mov ebx, dword [ebp - 0x388]
test ebx, ebx
je 0x41f2d1
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 0x41f28d
call fcn.0042e588
lea eax, [eax + eax*2]
shl eax, 4
cmp eax, 0x1000
jb 0x41f2c8
test bl, 0x1f
je 0x41f2a4
call fcn.0042e588
mov eax, dword [ebx - 4]
cmp eax, ebx
jb 0x41f2b0
call fcn.0042e588
sub ebx, eax
cmp ebx, 4
jae 0x41f2bc
call fcn.0042e588
cmp ebx, 0x23
jbe 0x41f2c6
call fcn.0042e588
mov ebx, eax
push ebx
call fcn.00423c22
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.00424024
mov esp, ebp
pop ebp
ret