Function at 0x42c680
Capabilities:
Encode data using xor
Read file on windows
Write file on windows

Disassembly:
mov ecx, dword [0xe3b850]
sub esp, 8
mov eax, ecx
and eax, 0xff000000
push ebx
push esi
push edi
cmp eax, 0xb4000000
ja 0x42c727
je 0x42c716
cmp eax, 0x4b000000
je 0x42c704
cmp eax, 0x78000000
je 0x42c6df
cmp eax, 0xa5000000
jne 0x42c73c
movzx eax, cx
shl eax, 7
mov dword [0x24b1aac], eax
mov dword [0x24d1ab0], 0xc20000
mov dword [0x24d1ab4], 0x11118004
pop edi
pop esi
pop ebx
add esp, 8
ret
mov dword [0x24d1abc], 1
mov dword [0x24d1ab0], 0xc20000
mov dword [0x24d1ab4], 0x11118008
pop edi
pop esi
pop ebx
add esp, 8
ret
movzx eax, cx
shl eax, 7
mov dword [0x24b1aac], eax
pop edi
pop esi
pop ebx
add esp, 8
ret
mov dword [0x24d1abc], 2
pop edi
pop esi
pop ebx
add esp, 8
ret
cmp eax, 0xd2000000
je 0x42c79b
cmp eax, 0xe1000000
je 0x42c776
cmp eax, 0xf0000000
je 0x42c751
push ecx
push str.unknown_flashram_command:_x_n
call fcn.0040e1d0
add esp, 8
pop edi
pop esi
pop ebx
add esp, 8
ret
mov dword [0x24d1abc], 3
mov dword [0x24d1ab0], 0xf0000000
mov dword [0x24d1ab4], 0x11118004
pop edi
pop esi
pop ebx
add esp, 8
ret
mov dword [0x24d1abc], 4
mov dword [0x24d1ab0], 0xc20000
mov dword [0x24d1ab4], 0x11118001
pop edi
pop esi
pop ebx
add esp, 8
ret
mov eax, dword [0x24d1abc]
cmp eax, 4
ja case.0x42c7a9.3
jmp dword [eax*4 + 0x42ca34]
call fcn.00419740
mov edx, eax
lea eax, [edx + 1]
nop word [eax + eax]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x42c7c0
mov ecx, 0x4af160
sub edx, eax
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42c7d1
sub ecx, esi
lea eax, [edx + 5]
add eax, ecx
push eax
call fcn.0046b317
add esp, 4
mov ebx, eax
call fcn.00419740
mov edx, ebx
sub edx, eax
mov cl, byte [eax]
lea eax, [eax + 1]
mov byte [edx + eax - 1], cl
test cl, cl
jne 0x42c7f3
mov edx, 0x4af160
mov esi, edx
mov al, byte [edx]
inc edx
test al, al
jne 0x42c807
sub edx, esi
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x42c813
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, [ebx - 1]
nop dword [eax]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x42c830
mov eax, dword [0x4a2c84]
mov dword [ecx], eax
mov al, byte [0x4a2c88]
push 0x4a2c8c
push ebx
mov byte [ecx + 4], al
call fcn.0046b3d9
mov esi, eax
add esp, 8
test esi, esi
je 0x42c87a
push esi
push 0x20000
push 1
push 0x24b1ab0
call fcn.004748bb
push esi
call fcn.0046b467
add esp, 0x14
jmp 0x42c891
push 0x20000
push 0xff
push 0x24b1ab0
call fcn.004682f0
add esp, 0xc
mov ecx, dword [0x24b1aac]
lea edx, [ecx + 0x80]
cmp ecx, edx
jae 0x42c8b2
mov eax, ecx
inc ecx
xor eax, 3
mov byte [eax + 0x24b1ab0], 0xff
cmp ecx, edx
jb 0x42c8a1
push 0x4a2c90
push ebx
call fcn.0046b3d9
mov esi, eax
push esi
push 0x20000
push 1
push 0x24b1ab0
call fcn.00474e4d
push esi
call fcn.0046b467
add esp, 0x1c
push ebx
call fcn.0046b2fc
add esp, 4
mov dword [0x24d1abc], 0
pop edi
pop esi
pop ebx
add esp, 8
ret
call fcn.00419740
mov edx, eax
lea eax, [edx + 1]
nop
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x42c900
mov ecx, 0x4af160
sub edx, eax
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42c911
sub ecx, esi
lea eax, [edx + 5]
add eax, ecx
push eax
call fcn.0046b317
add esp, 4
mov ebx, eax
call fcn.00419740
mov edx, ebx
sub edx, eax
mov cl, byte [eax]
lea eax, [eax + 1]
mov byte [edx + eax - 1], cl
test cl, cl
jne 0x42c933
mov edx, 0x4af160
mov esi, edx
mov al, byte [edx]
inc edx
test al, al
jne 0x42c947
sub edx, esi
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x42c953
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, [ebx - 1]
nop dword [eax]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x42c970
mov eax, dword [0x4a2c94]
mov dword [ecx], eax
mov al, byte [0x4a2c98]
push 0x4a2c9c
push ebx
mov byte [ecx + 4], al
call fcn.0046b3d9
mov esi, eax
add esp, 8
test esi, esi
je 0x42c9ba
push esi
push 0x20000
push 1
push 0x24b1ab0
call fcn.004748bb
push esi
call fcn.0046b467
add esp, 0x14
jmp 0x42c9d1
push 0x20000
push 0xff
push 0x24b1ab0
call fcn.004682f0
add esp, 0xc
mov edi, dword [0x24d1ab8]
mov esi, 0x80
mov edx, dword [0x24b1aac]
sub edi, edx
lea eax, [edi + edx]
mov ecx, edx
xor eax, 3
xor ecx, 3
inc edx
mov al, byte [eax + 0x4bb7b0]
mov byte [ecx + 0x24b1ab0], al
sub esi, 1
jne 0x42c9e4
push 0x4a2ca0
jmp 0x42c8b7
push eax
push str.unknown_flashram_command_with_mode:_x_n
call fcn.0040e1d0
add esp, 8
mov dword [0x17dc9c0], 1
pop edi
pop esi
mov dword [0x24d1abc], 0
pop ebx
add esp, 8
ret