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

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1048
call fcn.004e1e80
mov eax, dword [0x55154c]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, dword [ebp + 8]
lea eax, [ebp - 0x103c]
push edi
mov edi, dword [ebp + 0xc]
push 0x528ef0
push esi
push eax
call fcn.004f613a
add esp, 0xc
test eax, eax
je 0x4748aa
push 0x54af20
push str.....UTILencryptionencryptionBinaryFile.cpp
call fcn.004688c0
add esp, 8
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004e19a5
mov esp, ebp
pop ebp
ret
push 0x527d10
lea eax, [ebp - 0x1040]
push edi
push eax
call fcn.004f613a
add esp, 0xc
test eax, eax
je 0x4748e5
push 0x51c3c4
push str.....UTILencryptionencryptionBinaryFile.cpp
call fcn.004688c0
add esp, 8
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004e19a5
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x1034]
push eax
push esi
call fcn.004f603b
add esp, 8
cmp eax, 0xffffffff
jne 0x47491c
push 0x5182c8
push str.....UTILencryptionencryptionBinaryFile.cpp
call fcn.004688c0
add esp, 8
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004e19a5
mov esp, ebp
pop ebp
ret
push dword [ebp - 0x103c]
mov edi, dword [ebp - 0x1020]
lea eax, [ebp - 0x1044]
push 1
push 4
push eax
add edi, 0xfffffffc
call fcn.004f64cc
add esp, 0x10
cmp eax, 1
je 0x474965
push 0x5220d4
push str.....UTILencryptionencryptionBinaryFile.cpp
call fcn.004688c0
add esp, 8
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004e19a5
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x1036]
push eax
lea eax, [ebp - 0x1035]
push eax
push edi
push dword [ebp - 0x1044]
call fcn.00474c40
add esp, 0x10
test eax, eax
je 0x4749a8
push 0x51d168
push str.....UTILencryptionencryptionBinaryFile.cpp
call fcn.004688c0
add esp, 8
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004e19a5
mov esp, ebp
pop ebp
ret
mov ecx, edi
xor esi, esi
shr ecx, 0xc
mov eax, ecx
mov dword [ebp - 0x1048], ecx
shl eax, 0xc
push ebx
mov bh, byte [ebp - 0x1036]
sub edi, eax
mov bl, byte [ebp - 0x1035]
test ecx, ecx
je 0x474a3b
nop dword [eax]
push dword [ebp - 0x103c]
lea eax, [ebp - 0x1004]
push 1
push 0x1000
push eax
call fcn.004f64cc
add esp, 0x10
cmp eax, 1
jne 0x474aa6
xor eax, eax
nop word [eax + eax]
add bl, bh
xor byte [ebp + eax - 0x1004], bl
inc eax
cmp eax, 0x1000
jb 0x474a00
push dword [ebp - 0x1040]
lea eax, [ebp - 0x1004]
push 1
push 0x1000
push eax
call fcn.004f6a98
add esp, 0x10
cmp eax, 1
jne 0x474a83
inc esi
cmp esi, dword [ebp - 0x1048]
jb 0x4749d0
test edi, edi
je 0x474b1e
push dword [ebp - 0x103c]
lea eax, [ebp - 0x1004]
push 1
push edi
push eax
call fcn.004f64cc
add esp, 0x10
cmp eax, 1
je 0x474ac9
push 0x5157f0
push str.....UTILencryptionencryptionBinaryFile.cpp
call fcn.004688c0
add esp, 8
pop ebx
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004e19a5
mov esp, ebp
pop ebp
ret
push 0x518880
push str.....UTILencryptionencryptionBinaryFile.cpp
call fcn.004688c0
add esp, 8
pop ebx
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004e19a5
mov esp, ebp
pop ebp
ret
push 0x51ed88
push str.....UTILencryptionencryptionBinaryFile.cpp
call fcn.004688c0
add esp, 8
pop ebx
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004e19a5
mov esp, ebp
pop ebp
ret
xor eax, eax
test edi, edi
je 0x474ade
nop
add bl, bh
xor byte [ebp + eax - 0x1004], bl
inc eax
cmp eax, edi
jb 0x474ad0
push dword [ebp - 0x1040]
lea eax, [ebp - 0x1004]
push 1
push edi
push eax
call fcn.004f6a98
add esp, 0x10
cmp eax, 1
je 0x474b1e
push 0x5161d8
push str.....UTILencryptionencryptionBinaryFile.cpp
call fcn.004688c0
add esp, 8
pop ebx
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004e19a5
mov esp, ebp
pop ebp
ret
push dword [ebp - 0x103c]
call fcn.004f3f63
add esp, 4
test eax, eax
je 0x474b53
push 0x515a04
push str.....UTILencryptionencryptionBinaryFile.cpp
call fcn.004688c0
add esp, 8
pop ebx
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004e19a5
mov esp, ebp
pop ebp
ret
push dword [ebp - 0x1040]
call fcn.004f3f63
add esp, 4
test eax, eax
je 0x474b88
push 0x51b104
push str.....UTILencryptionencryptionBinaryFile.cpp
call fcn.004688c0
add esp, 8
pop ebx
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004e19a5
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
xor eax, eax
pop ebx
pop edi
xor ecx, ebp
pop esi
call fcn.004e19a5
mov esp, ebp
pop ebp
ret