Function at 0x475384
Capabilities:
Check if file exists
Write file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1018
call fcn.0046cf20
mov eax, dword [0x676314]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov edi, dword [ebp + 0xc]
xor ebx, ebx
push ebx
mov dword [ebp - 0x1008], eax
call fcn.004869db
mov dword [ebp - 0x1018], eax
lea eax, [ebp - 0x1018]
push eax
mov dword [ebp - 0x1014], edx
call fcn.0048f74e
pop ecx
pop ecx
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov ecx, dword [esi + 0x10]
push edi
push eax
push dword [esi]
mov eax, dword [esi + 0x14]
inc ecx
push dword [esi + 4]
add eax, 0x76c
push dword [esi + 8]
push dword [esi + 0xc]
push ecx
push eax
lea eax, [ebp - 0x1004]
push str.__d__d__d__d__d__d___d_:_s
push eax
call fcn.004532e2
add esp, 0x28
call fcn.0047344b
test al, al
je 0x47541c
fdiv dword [edx - 0x5dbb46ef]
jmp 0x73ea6c14
push dword [ebp - 0x1008]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
xor ecx, ecx
inc ecx
test eax, eax
cmovne ebx, ecx
mov dword [ebp - 0x100c], ebx
call fcn.00473925
test al, al
je 0x47545a
inc dword [eax + eax*8 - 0x2c54e48c]
dec ecx
mov dword [ebx], edx
add ch, 0x30
xchg ebx, eax
cdq
stosd dword es:[edi], eax
ror dword [ecx - 0x77], cl
adc eax, dword [edx - 0x666ccf3b]
mov dh, 0xa6
jmp 0x47543a
call fcn.004732f2
test al, al
je 0x47547b
mov word [esi + ecx*8 + 0xd], fs
cmp edi, dword [eax + 0x48]
pop es
dec edx
add ebp, dword [esi]
out 0xe, eax
loop 0x47549d
push es
xchg ebx, ebp
sub byte [edi + 0x7cab6a24], ah
call fcn.004739af
test al, al
je 0x475498
xchg edi, eax
sub dword [esi - 0x4e], 3
in al, 0x2d
mov esi, 0xef659948
push esi
rol esi, 1
and al, 0x53
push 0x5ed734
push dword [ebp - 0x1008]
call fcn.00490289
mov dword [ebp - 0x1010], eax
pop ecx
pop ecx
test eax, eax
je 0x4755ae
cmp dword [ebp - 0x100c], 0
jne 0x4754df
push eax
push 2
lea eax, [ebp - 0x100c]
mov dword [ebp - 0x100c], 0xfeff
push 1
push eax
call fcn.0049169b
add esp, 0x10
call fcn.00473856
test al, al
je 0x475507
sub eax, 0xf240e5fa
mov cl, 0x49
mov edi, 0x3fb9bfbe
loop 0x4754f2
mov ecx, 0xe9fce23f
out dx, al
sub eax, 0x2d96ca41
jne 0x47555c
jmp 0xca8882e9
mov edx, dword [edi - 0x6183e098]
mov edx, 0xde2be825
invalid
call fcn.00473337
test al, al
je 0x47552c
stosb byte es:[edi], al
aas
leave
mov ebp, edi
cmc
mov ebp, 0x21d286d4
add dword [edi], esi
mov dword [esi + ecx*4], esp
out 0xc9, eax
mov edi, 0x38b1a46f
sbb al, 0x3c
add al, byte [ebp - 0x216f18]
inc dword [eax + eax*8 + 0x46f51674]
call fcn.004733c1
test al, al
je 0x47554b
cmc
inc esi
cdq
arpl word [edi - 0x4094a127], bx
test byte [edx], bh
inc edi
push esp
invalid
lea eax, [ebp - 0x1004]
push eax
call fcn.00491757
mov esi, dword [ebp - 0x1010]
add eax, eax
push esi
push eax
lea eax, [ebp - 0x1004]
push 1
push eax
call fcn.0049169b
push esi
push 2
lea eax, [ebp - 0x1008]
mov dword [ebp - 0x1008], 0xd
push 1
push eax
call fcn.0049169b
push esi
push 2
lea eax, [ebp - 0x1008]
mov dword [ebp - 0x1008], 0xa
push 1
push eax
call fcn.0049169b
push esi
call fcn.00490087
add esp, 0x38
inc dword [ebx]
rcl byte [esi + 0x50], 0x8d
test esp, edi
out dx, eax
invalid
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0046ce06
mov esp, ebp
pop ebp
ret