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

Disassembly:
push ecx
push ebx
mov ebx, ecx
push ebp
push esi
push edi
movzx ecx, byte [ebx + 2]
mov eax, ecx
sub eax, 0
je 0x433ad5
sub eax, 4
je 0x43397d
sub eax, 1
je 0x433808
push ecx
push str.unknown_command_in_EepromCommand_:__x_n
call fcn.0040e1d0
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret
cmp dword [0x4af47c], 0
je 0x43382f
push 0x4b0de0
push str._sSave_
push 0x2792610
call fcn.0040e260
add esp, 0xc
mov ecx, 0x2792610
jmp 0x433834
mov ecx, 0x4af588
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x433837
sub ecx, edx
mov edx, 0x4af160
lea esi, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x433848
sub edx, esi
lea eax, [ecx + 5]
add eax, edx
push eax
call fcn.0046b317
add esp, 4
mov ebp, eax
cmp dword [0x4af47c], 0
je 0x433888
push 0x4b0de0
push str._sSave_
push 0x2792610
call fcn.0040e260
add esp, 0xc
mov ecx, 0x2792610
jmp 0x43388d
mov ecx, 0x4af588
mov edx, ebp
sub edx, ecx
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx - 1], al
test al, al
jne 0x433891
mov edx, 0x4af160
mov esi, edx
mov al, byte [edx]
inc edx
test al, al
jne 0x4338a5
sub edx, esi
lea edi, [ebp - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4338b1
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [ebp - 1]
nop word [eax + eax]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x4338d0
mov eax, dword [str..eep]
mov dword [ecx], eax
mov al, byte [0x4a2e50]
push 0x4a2e54
push ebp
mov byte [ecx + 4], al
call fcn.0046b3d9
mov esi, eax
add esp, 8
test esi, esi
je 0x43391a
push esi
push 0x800
push 1
push 0xebb860
call fcn.004748bb
push esi
call fcn.0046b467
add esp, 0x14
jmp 0x43392e
push 0x800
push 0
push 0xebb860
call fcn.004682f0
add esp, 0xc
movzx ecx, byte [ebx + 3]
mov eax, dword [ebx + 4]
push 0x4a2e58
push ebp
mov dword [ecx*8 + 0xebb860], eax
mov eax, dword [ebx + 8]
mov dword [ecx*8 + 0xebb864], eax
call fcn.0046b3d9
mov esi, eax
push esi
push 0x800
push 1
push 0xebb860
call fcn.00474e4d
push esi
call fcn.0046b467
add esp, 0x1c
push ebp
call fcn.0046b2fc
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret
cmp dword [0x4af47c], 0
je 0x4339a4
push 0x4b0de0
push str._sSave_
push 0x2792610
call fcn.0040e260
add esp, 0xc
mov ecx, 0x2792610
jmp 0x4339a9
mov ecx, 0x4af588
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4339b0
sub ecx, edx
mov edx, 0x4af160
lea esi, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x4339c1
sub edx, esi
lea eax, [edx + 5]
add eax, ecx
push eax
call fcn.0046b317
add esp, 4
mov ebp, eax
cmp dword [0x4af47c], 0
je 0x433a01
push 0x4b0de0
push str._sSave_
push 0x2792610
call fcn.0040e260
add esp, 0xc
mov ecx, 0x2792610
jmp 0x433a06
mov ecx, 0x4af588
mov edx, ebp
sub edx, ecx
nop word [eax + eax]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx - 1], al
test al, al
jne 0x433a10
mov edx, 0x4af160
mov esi, edx
mov al, byte [edx]
inc edx
test al, al
jne 0x433a24
sub edx, esi
lea edi, [ebp - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x433a30
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [ebp - 1]
nop dword [eax]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x433a50
mov eax, dword [0x4a2e40]
mov dword [ecx], eax
mov al, byte [0x4a2e44]
push 0x4a2e48
push ebp
mov byte [ecx + 4], al
call fcn.0046b3d9
mov esi, eax
add esp, 8
test esi, esi
je 0x433a9a
push esi
push 0x800
push 1
push 0xebb860
call fcn.004748bb
push esi
call fcn.0046b467
add esp, 0x14
jmp 0x433aae
push 0x800
push 0
push 0xebb860
call fcn.004682f0
add esp, 0xc
push ebp
call fcn.0046b2fc
movzx ecx, byte [ebx + 3]
add esp, 4
mov eax, dword [ecx*8 + 0xebb860]
mov dword [ebx + 4], eax
mov eax, dword [ecx*8 + 0xebb864]
mov dword [ebx + 8], eax
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret
mov cl, byte [ebx + 1]
cmp cl, 3
je 0x433b17
or cl, 0x40
mov byte [ebx + 1], cl
and cl, 3
jbe 0x433aec
mov byte [ebx + 3], 0
cmp cl, 1
jbe 0x433b08
cmp dword [0x4af260], 0
mov eax, 0xc0
mov edx, 0x80
cmove eax, edx
mov byte [ebx + 4], al
cmp cl, 2
jbe 0x433b36
mov byte [ebx + 5], 0
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret
mov byte [ebx + 3], 0
mov eax, 0xc0
cmp dword [0x4af260], 0
mov ecx, 0x80
mov byte [ebx + 5], 0
cmove eax, ecx
mov byte [ebx + 4], al
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret