Function at 0x425f90
Capabilities:
Read file on windows

Disassembly:
sub esp, 0x24
movsx eax, byte [0x4b1078]
mov edx, 0x4aa540
push ebx
push ebp
mov ebp, dword [0x4a9dac]
push esi
mov dword [esp + 0x18], eax
mov eax, dword [0x4b036c]
push edi
mov edi, ecx
mov dword [esp + 0x2c], eax
mov eax, dword [0x4880ec]
lea ecx, [edx + 1]
mov dword [esp + 0x14], ebp
mov esi, edi
mov dword [esp + 0x28], eax
lea ebx, [ebx]
mov al, byte [edx]
inc edx
test al, al
jne 0x425fd0
sub edx, ecx
lea eax, [edx + 1]
push eax
push 0
push dword [0x49184c]
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov ecx, 0x4aa540
mov dword [esp + 0x30], eax
mov edx, eax
sub edx, ecx
jmp 0x426000
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx - 1], al
test al, al
jne 0x426000
cmp dword [0x4a98dc], 0x80
mov byte [0x4aa540], al
jl 0x426028
mov ecx, 0xe9
call fcn.00412bb0
cmp dword [0x4afc4c], 0x2000
jl 0x42603e
mov ecx, 0x162
call fcn.00412bb0
cmp byte [edi], 0
je 0x426240
cmp dword [0x4afc48], 0
jne 0x426240
cmp dword [0x4a98f0], 0
je 0x42606b
mov edx, str.INCLUDEFILE
mov ecx, edi
call fcn.0040bd90
mov esi, eax
mov ecx, esi
call fcn.004472b0
mov ebx, eax
test ebx, ebx
je 0x426235
mov ecx, dword [0x49213c]
call fcn.00427230
mov ecx, edi
mov esi, eax
call fcn.0042b190
cmp dword [0x4a98f0], 0
mov dword [esi + 8], eax
je 0x4260c3
cmp byte [0x486cd3], 0
je 0x4260c3
push edi
push str.PROGRESS_tINCLUDES_t_s_n
call fcn.0040abc0
push 1
call fcn.0044ed5d
add esp, 0xc
push eax
call fcn.0044f0f1
add esp, 4
mov eax, dword [0x4afc4c]
mov ecx, dword [0x4a5328]
inc eax
inc dword [0x4a98dc]
mov esi, dword [sym.imp.KERNEL32.dll_SetFilePointer]
push 2
push 0
push 0
push ebx
mov dword [0x4afc4c], eax
mov dword [0x4880ec], edi
mov dword [esp + 0x34], ecx
mov dword [0x4a5328], eax
call esi
push 0
push 0
push 0
push ebx
mov ebp, eax
call esi
lea ecx, [ebp + 1]
push ecx
push 0
push dword [0x49184c]
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
push 0
mov esi, eax
lea eax, [esp + 0x24]
push eax
push ebp
push esi
push ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [0x4a98f0], 0
mov eax, dword [0x49b1e8]
mov dword [eax + 0x18], 1
mov dword [eax + 0x1c], 0
mov eax, dword [0x4b0c64]
mov dword [eax + 0x18], 0
mov dword [eax + 0x1c], 0
jne 0x42616f
push 0x4b19c0
push str.Including_source:__s_n
call fcn.00412ad0
add esp, 8
cmp dword [0x49b074], 0
mov eax, dword [0x4a98e0]
mov ebx, dword [0x4a9ec4]
mov dword [esp + 0x18], eax
mov eax, dword [0x49b20c]
mov byte [esi + ebp], 0
mov byte [0x4b0e40], 0
mov dword [esp + 0x20], eax
mov dword [0x4a9ec4], 0
je 0x4261af
call fcn.0043a4c0
call fcn.0043a5d0
push 1
push edi
mov edx, ebp
mov ecx, esi
call fcn.00425a90
mov eax, dword [esp + 0x20]
add esp, 8
mov dword [0x4a98e0], eax
mov eax, dword [esp + 0x1c]
mov byte [0x4b1078], al
mov eax, dword [esp + 0x20]
push esi
push 0
push dword [0x49184c]
mov dword [0x4a9ec4], ebx
mov dword [0x49b20c], eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
sub dword [0x4a98dc], 1
mov eax, dword [esp + 0x24]
mov ebp, dword [esp + 0x14]
mov dword [0x4a5328], eax
mov eax, dword [esp + 0x28]
mov dword [0x4880ec], eax
jne 0x426240
mov eax, dword [0x49b1e8]
mov dword [eax + 0x18], 0
mov dword [eax + 0x1c], 0
mov eax, dword [0x4b0c64]
mov dword [eax + 0x18], 1
mov dword [eax + 0x1c], 0
jmp 0x426240
push edi
push 0x5b
call fcn.00412c30
add esp, 8
mov eax, dword [esp + 0x2c]
mov esi, ebp
mov ebx, dword [0x4aa520]
mov dword [0x4b036c], eax
mov dword [0x4a9dac], ebp
lea ecx, [esi + 1]
lea ebx, [ebx]
mov al, byte [esi]
inc esi
test al, al
jne 0x426260
sub esi, ecx
inc esi
mov ecx, esi
call fcn.0042b0f0
push esi
mov edi, eax
push ebp
push edi
call fcn.0044a9b0
add esp, 0xc
mov dword [ebx + 0x18], edi
mov ecx, ebp
call fcn.00446fd0
mov ebx, eax
mov eax, dword [0x4b0200]
mov esi, ebx
mov dword [esp + 0x2c], eax
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x426298
sub esi, ecx
inc esi
mov ecx, esi
call fcn.0042b0f0
push esi
mov edi, eax
push ebx
push edi
call fcn.0044a9b0
mov eax, dword [esp + 0x38]
add esp, 0xc
mov ecx, ebp
mov dword [eax + 0x18], edi
call fcn.00446f70
mov ebp, dword [0x4aa314]
mov ebx, eax
mov esi, ebx
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x4262d1
sub esi, ecx
inc esi
mov ecx, esi
call fcn.0042b0f0
push esi
mov edi, eax
push ebx
push edi
call fcn.0044a9b0
mov ebx, dword [0x4b0e10]
mov esi, 0x49a800
add esp, 0xc
mov dword [ebp + 0x18], edi
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x426300
sub esi, ecx
inc esi
mov ecx, esi
call fcn.0042b0f0
push esi
mov edi, eax
push 0x49a800
push edi
call fcn.0044a9b0
mov esi, dword [esp + 0x3c]
mov edx, 0x4aa540
add esp, 0xc
mov dword [ebx + 0x18], edi
mov ecx, esi
sub edx, esi
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx - 1], al
test al, al
jne 0x426332
push esi
push 0
push dword [0x49184c]
call dword [sym.imp.KERNEL32.dll_HeapFree]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x24
ret