Function at 0x40c270
Capabilities:
Read file on windows
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x144
mov eax, dword [0x4f6fc0]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x134], 0
mov dword [ebp - 0x144], 0
mov dword [ebp - 0x138], 0xffffffff
mov dword [ebp - 0x12c], 0
mov dword [ebp - 0x13c], 0
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x120], 0
mov al, byte [0x4f93ad]
mov byte [ebp - 0x114], al
push 0xfe
push 0
lea ecx, [ebp - 0x113]
push ecx
call fcn.004b6780
add esp, 0xc
mov dl, byte [0x4f93ae]
mov byte [ebp - 0x14], dl
xor eax, eax
mov dword [ebp - 0x13], eax
mov dword [ebp - 0xf], eax
mov dword [ebp - 0xb], eax
mov word [ebp - 7], ax
mov byte [ebp - 5], al
xor ecx, ecx
mov word [ebp - 0x128], cx
mov dword [ebp - 0x124], 0
cmp dword [0x54e958], 1
jne 0x40c359
push 0x4d79d4
push 0x4f93af
push 0x4d79f4
push 0x4d7a04
call fcn.00458fb0
add esp, 0x10
or eax, 0xffffffff
jmp 0x40c707
push 2
call fcn.00482440
add esp, 4
mov word [ebp - 0x128], ax
mov edx, dword [ebp + 8]
mov ax, word [ebp - 0x128]
mov word [edx + 0x5e], ax
push 0x4d7a24
push 0x5c
push 0x4f93d8
push 0x4d7a30
lea ecx, [ebp - 0x114]
push ecx
call fcn.004b6e08
add esp, 0x14
push 0
push 0x4d7a38
lea edx, [ebp - 0x114]
push edx
call fcn.00419d20
add esp, 0xc
mov dword [ebp - 0x118], eax
cmp dword [0x54e900], 1
jne 0x40c3c5
or eax, 0xffffffff
jmp 0x40c707
cmp dword [ebp - 0x118], 0
je 0x40c6df
mov eax, dword [ebp - 0x118]
push eax
call fcn.0045c6f0
add esp, 4
mov dword [ebp - 0x12c], eax
mov ecx, dword [ebp - 0x12c]
mov dword [ebp - 0x120], ecx
cmp dword [ebp - 0x120], 0x320
jl 0x40c423
mov edx, dword [ebp - 0x118]
push edx
call fcn.00419ca0
add esp, 4
mov dword [ebp - 0x118], 0
mov eax, dword [ebp - 0x120]
jmp 0x40c707
push 0x127c
call fcn.004b6c11
add esp, 4
mov dword [ebp - 0x11c], eax
cmp dword [ebp - 0x11c], 0
jne 0x40c44e
push str.ERROR:_Out_of_Memory_in_Remove_Class_Really_Delete
push 1
call fcn.004417b0
add esp, 8
cmp dword [ebp - 0x134], 0
jne 0x40c512
cmp dword [ebp - 0x12c], 0
je 0x40c512
mov eax, dword [ebp - 0x118]
push eax
call fcn.004b935a
add esp, 4
mov dword [ebp - 0x13c], eax
push 0x127c
push 0
mov ecx, dword [ebp - 0x11c]
push ecx
call fcn.004b6780
add esp, 0xc
mov edx, dword [ebp - 0x118]
push edx
push 1
push 0x2bc
mov eax, dword [ebp - 0x11c]
push eax
call fcn.004b8e47
add esp, 0x10
mov ecx, dword [ebp - 0x144]
add ecx, 1
mov dword [ebp - 0x144], ecx
mov edx, dword [ebp - 0x11c]
add edx, 0x52
push edx
mov eax, dword [ebp + 8]
add eax, 0x52
push eax
call fcn.004bab10
add esp, 8
test eax, eax
jne 0x40c4e8
mov dword [ebp - 0x140], 1
jmp 0x40c4f2
mov dword [ebp - 0x140], 0
mov ecx, dword [ebp - 0x140]
mov dword [ebp - 0x134], ecx
mov edx, dword [ebp - 0x12c]
sub edx, 1
mov dword [ebp - 0x12c], edx
jmp 0x40c44e
cmp dword [ebp - 0x134], 0
je 0x40c668
lea eax, [ebp - 0x14]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00431540
add esp, 8
mov edx, dword [ebp + 8]
add edx, 0x52
push edx
push 0x5c
lea eax, [ebp - 0x14]
push eax
push 0x4f93d8
push 0x4d7a70
lea ecx, [ebp - 0x114]
push ecx
call fcn.004b6e08
add esp, 0x18
lea edx, [ebp - 0x114]
push edx
call fcn.0049b9e0
add esp, 4
mov eax, dword [ebp - 0x120]
sub eax, 1
mov dword [ebp - 0x120], eax
mov ecx, dword [ebp - 0x120]
imul ecx, ecx, 0x2bc
add ecx, 6
mov dword [ebp - 0x130], ecx
push 0
mov edx, dword [ebp - 0x130]
push edx
mov eax, dword [ebp - 0x118]
push eax
call fcn.004b8f82
add esp, 0xc
mov ecx, dword [ebp - 0x118]
push ecx
push 1
push 0x2bc
mov edx, dword [ebp - 0x11c]
push edx
call fcn.004b8e47
add esp, 0x10
mov eax, dword [ebp - 0x120]
push eax
mov ecx, dword [ebp - 0x118]
push ecx
call fcn.00462090
add esp, 8
push 0
mov edx, dword [ebp - 0x13c]
push edx
mov eax, dword [ebp - 0x118]
push eax
call fcn.004b8f82
add esp, 0xc
mov ecx, dword [ebp - 0x118]
push ecx
push 1
push 0x2bc
mov edx, dword [ebp - 0x11c]
push edx
call fcn.004b9519
add esp, 0x10
mov eax, dword [ebp - 0x120]
imul eax, eax, 0x2bc
add eax, 6
mov dword [ebp - 0x130], eax
push 0
mov ecx, dword [ebp - 0x130]
push ecx
mov edx, dword [ebp - 0x118]
push edx
call fcn.004b8f82
add esp, 0xc
push 0x127c
push 0
mov eax, dword [ebp - 0x11c]
push eax
call fcn.004b6780
add esp, 0xc
mov ecx, dword [ebp - 0x118]
push ecx
push 1
push 0x2bc
mov edx, dword [ebp - 0x11c]
push edx
call fcn.004b9519
add esp, 0x10
mov eax, dword [ebp - 0x118]
push eax
call fcn.00419ca0
add esp, 4
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x124], 0
jmp 0x40c69c
mov ecx, dword [ebp - 0x124]
add ecx, 1
mov dword [ebp - 0x124], ecx
mov edx, dword [ebp - 0x124]
cmp edx, dword [ebp - 0x120]
jge 0x40c6bf
mov eax, dword [ebp - 0x124]
mov ecx, dword [ebp - 0x124]
mov dword [eax*4 + 0x18a0580], ecx
jmp 0x40c68d
push 0x18a0580
mov edx, dword [ebp - 0x120]
push edx
call fcn.00470d60
add esp, 8
mov eax, dword [ebp - 0x120]
mov dword [ebp - 0x138], eax
cmp dword [ebp - 0x11c], 0
je 0x40c701
mov ecx, dword [ebp - 0x11c]
push ecx
call fcn.004b6bd9
add esp, 4
mov dword [ebp - 0x11c], 0
mov eax, dword [ebp - 0x138]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004b6253
mov esp, ebp
pop ebp
ret