Function at 0x40c550
Capabilities:
Write file on windows

Disassembly:
jmp 0x40c550
mov eax, 0x1030
call fcn.0041be90
mov eax, dword [0x44e1b4]
xor eax, esp
mov dword [esp + 0x102c], eax
mov eax, dword [esp + 0x103c]
push esi
mov esi, dword [esp + 0x1038]
push 0x400
lea ecx, [esp + 0x22c]
push 0
push ecx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], esi
call fcn.0041be10
push 0x400
lea edx, [esp + 0x638]
push 0
push edx
call fcn.0041be10
push 0x400
lea eax, [esp + 0xc4c]
push 0
push eax
call fcn.0041be10
push 0x200
lea ecx, [esp + 0x50]
push 0
push ecx
call fcn.0041be10
add esp, 0x30
test esi, esi
jne 0x40c66d
lea edx, [esp + 8]
push edx
push str.setup.ini
call fcn.004010e1
add esp, 8
test eax, eax
mov dword [esp + 4], eax
jne 0x40c65e
mov ecx, dword [0x486304]
push 0x100
lea eax, [esp + 0x22c]
push eax
push 0x452
push ecx
call dword [sym.imp.USER32.dll_LoadStringW]
push str.setup.ini
lea edx, [esp + 0x22c]
push edx
lea eax, [esp + 0x630]
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
push esi
lea ecx, [esp + 0x638]
push ecx
push esi
call fcn.004010be
add esp, 0x18
lea eax, [esi + 1]
pop esi
mov ecx, dword [esp + 0x102c]
xor ecx, esp
call fcn.0041bdf4
add esp, 0x1030
ret
mov eax, dword [esp + 8]
test eax, eax
je 0x40c66d
mov dword [esp + 0x103c], eax
mov edx, dword [esp + 0x103c]
mov eax, dword [esp + 4]
push ebp
push edi
push str.RelAppliName
push edx
push eax
call fcn.0040120d
add esp, 0xc
test eax, eax
je 0x40c832
mov ebp, dword [sym.imp.USER32.dll_wsprintfW]
jmp 0x40c6a0
push 0x200
lea ecx, [esp + 0x34]
push ecx
push eax
call fcn.004011fe
push 0x400
lea edx, [esp + 0xc48]
push edx
push eax
call fcn.004011fe
push str.FALSE
mov esi, eax
lea eax, [esp + 0x38]
push 0xa
push eax
call fcn.0041c22f
push 0x14
lea ecx, [esp + 0x44]
push ecx
push esi
call fcn.004011fe
mov edi, eax
add esp, 0x30
test edi, edi
jne 0x40c702
push str.FALSE
lea edx, [esp + 0x20]
push 0xa
push edx
mov edi, esi
call fcn.0041c22f
add esp, 0xc
lea eax, [esp + 0xc38]
push eax
call fcn.004011c7
add esp, 4
test eax, eax
je 0x40c7ac
mov ecx, str.FALSE
lea eax, [esp + 0x1c]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x40c749
test dx, dx
je 0x40c745
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x40c749
add eax, 4
add ecx, 4
test dx, dx
jne 0x40c723
xor eax, eax
jmp 0x40c74e
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x40c84f
cmp dword [0x450c54], 0
jne 0x40c7ac
mov edx, dword [0x486304]
push 0x100
lea ecx, [esp + 0x234]
push ecx
push 0x467
push edx
call dword [sym.imp.USER32.dll_LoadStringW]
lea eax, [esp + 0x30]
push eax
mov ecx, eax
push ecx
lea edx, [esp + 0x238]
push edx
lea eax, [esp + 0x63c]
push eax
call ebp
push 0
lea ecx, [esp + 0x644]
push ecx
push 0
call fcn.004010be
add esp, 0x1c
push 0xa
push 0xd
lea edx, [esp + 0xc40]
push edx
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0xa40]
push str.RelAppliName__s____s__1c_1c
push ecx
mov dword [esp + 0x2c], 0
call ebp
add esp, 0x18
push 0
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0xa38]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov edx, dword [esp + 0x20]
add eax, eax
push eax
lea ecx, [esp + 0xa3c]
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x40c8a4
mov ecx, dword [esp + 0x1044]
mov eax, edi
sub eax, dword [esp + 0xc]
push str.RelAppliName
sar eax, 1
sub ecx, eax
push ecx
push edi
call fcn.0040120d
add esp, 0xc
test eax, eax
jne 0x40c6a0
pop edi
pop ebp
mov eax, 1
pop esi
mov ecx, dword [esp + 0x102c]
xor ecx, esp
call fcn.0041bdf4
add esp, 0x1030
ret
cmp dword [0x450c54], 0
jne 0x40c8a4
mov eax, dword [0x486304]
push 0x100
lea edx, [esp + 0x234]
push edx
push 0x463
push eax
call dword [sym.imp.USER32.dll_LoadStringW]
lea ecx, [esp + 0x30]
push ecx
mov edx, ecx
push edx
lea eax, [esp + 0x238]
push eax
lea ecx, [esp + 0x63c]
push ecx
call ebp
push 0
lea edx, [esp + 0x644]
push edx
push 0
call fcn.004010be
add esp, 0x1c
mov ecx, dword [esp + 0x1038]
pop edi
pop ebp
pop esi
xor ecx, esp
xor eax, eax
call fcn.0041bdf4
add esp, 0x1030
ret