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

Disassembly:
sub esp, 0x84
push ebx
mov ebx, dword [esp + 0xa4]
push ebp
push esi
mov eax, dword [ebx]
push edi
mov dword [esp + 0x10], 0xc
mov esi, 0x47c7c0
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x423f34
test cl, cl
je 0x423f30
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x423f34
add eax, 2
add esi, 2
test cl, cl
jne 0x423f10
xor eax, eax
jmp 0x423f39
sbb eax, eax
sbb eax, 0xffffffff
xor ecx, ecx
test eax, eax
setne cl
test cl, cl
je 0x423fb1
mov eax, dword [0x47b1a8]
xor edi, edi
test eax, eax
jle 0x423f81
mov ebp, dword [sym.imp.MSVCRT.dll__stricmp]
mov esi, 0x47adb4
mov edx, dword [esi]
mov eax, dword [ebx]
push edx
push eax
call ebp
add esp, 8
test eax, eax
je 0x423f78
mov eax, dword [0x47b1a8]
inc edi
add esi, 8
cmp edi, eax
jl 0x423f5a
jmp 0x423f81
mov eax, dword [0x47b1a8]
mov dword [esp + 0x10], edi
cmp edi, eax
jl 0x423fb1
xor esi, esi
test eax, eax
jle 0x423fb1
mov edi, 0x47adb4
mov ecx, dword [edi]
push ecx
mov ecx, ebx
call sub.MFC42.DLL_CString::Find_1
test eax, eax
jge 0x423fad
mov eax, dword [0x47b1a8]
inc esi
add edi, 8
cmp esi, eax
jl 0x423f90
jmp 0x423fb1
mov dword [esp + 0x10], esi
mov edx, dword [esp + 0x98]
push 0x47b6c4
push edx
call dword [sym.imp.MSVCRT.dll_fopen]
mov ebp, eax
add esp, 8
test ebp, ebp
jne 0x423fd8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x84
ret
mov edi, dword [sym.imp.MSVCRT.dll_fseek]
push 2
push 0xffffffffffffff80
push ebp
call edi
add esp, 0xc
test eax, eax
push ebp
je 0x424003
call dword [sym.imp.MSVCRT.dll_fclose]
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x84
ret
push 1
lea eax, [esp + 0x1c]
push 0x80
push eax
call dword [sym.imp.MSVCRT.dll_fread]
add esp, 0x10
cmp eax, 1
je 0x424034
push ebp
call dword [sym.imp.MSVCRT.dll_fclose]
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x84
ret
push 3
lea ecx, [esp + 0x18]
push 0x47b6c0
push ecx
xor esi, esi
call dword [sym.imp.MSVCRT.dll_strncmp]
add esp, 0xc
test eax, eax
jne 0x424054
mov esi, 0x80
neg esi
push 2
push esi
push ebp
call edi
add esp, 0xc
test eax, eax
je 0x42407a
push ebp
call dword [sym.imp.MSVCRT.dll_fclose]
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x84
ret
mov esi, dword [sym.imp.MSVCRT.dll_strncpy]
mov ecx, 0x20
xor eax, eax
lea edi, [esp + 0x14]
push 3
lea edx, [esp + 0x18]
push 0x47b6c0
push edx
rep stosd dword es:[edi], eax
call esi
mov eax, dword [esp + 0xa8]
add esp, 0xc
lea edx, [esp + 0x17]
mov ecx, dword [eax]
push 0x1e
push ecx
push edx
call esi
mov eax, dword [esp + 0xac]
add esp, 0xc
lea edx, [esp + 0x35]
mov ecx, dword [eax]
push 0x1e
push ecx
push edx
call esi
mov eax, dword [esp + 0xb0]
add esp, 0xc
lea edx, [esp + 0x53]
mov ecx, dword [eax]
push 0x1e
push ecx
push edx
call esi
mov eax, dword [esp + 0xb4]
add esp, 0xc
lea edx, [esp + 0x71]
mov ecx, dword [eax]
push 4
push ecx
push edx
call esi
mov edi, dword [esp + 0xc0]
add esp, 0xc
fld dword [edi]
fcomp dword [0x45b0f8]
fnstsw ax
test ah, 0x40
jne 0x424142
mov eax, dword [esp + 0xac]
push 0x19
lea edx, [esp + 0x79]
mov ecx, dword [eax]
push ecx
push edx
call esi
fld dword [edi]
add esp, 0xc
lea eax, [esp + 0x8e]
sub esp, 8
fstp qword [esp]
push str._3.1f
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0x10
jmp 0x424158
mov ecx, dword [esp + 0xac]
push 0x1e
lea eax, [esp + 0x79]
mov edx, dword [ecx]
push edx
push eax
call esi
add esp, 0xc
mov cl, byte [esp + 0x10]
push ebp
push 1
lea edx, [esp + 0x1c]
push 0x80
push edx
mov byte [esp + 0xa3], cl
call dword [sym.imp.MSVCRT.dll_fwrite]
add esp, 0x10
mov esi, eax
push ebp
call dword [sym.imp.MSVCRT.dll_fclose]
add esp, 4
xor eax, eax
cmp esi, 1
pop edi
pop esi
pop ebp
pop ebx
sete al
add esp, 0x84
ret