Function at 0x407500
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x435758
mov eax, dword fs:[0]
push eax
mov eax, 0x2ea4
call fcn.00424010
mov eax, dword [0x441400]
xor eax, ebp
mov dword [ebp - 0x18], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
lea ecx, [ebp - 0x1e94]
call fcn.00415aa0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x1264]
call fcn.0040a6b0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x10]
call fcn.00403600
mov byte [ebp - 4], 2
push 0
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x1264]
call fcn.0040a6d0
test eax, eax
jne 0x40758b
mov ecx, dword [ebp + 8]
push ecx
push 0x437c6c
lea edx, [ebp - 0x10]
push edx
call fcn.0040cae0
add esp, 0xc
jmp 0x407789
lea ecx, [ebp - 0x1e94]
call fcn.004162c0
test eax, eax
jne 0x40759f
jmp 0x407789
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x1264]
call fcn.0040acb0
push eax
lea ecx, [ebp - 0x1e94]
call fcn.00416390
test eax, eax
jne 0x4075c7
jmp 0x407789
push 0
push 0
push 0xffffffffffffffff
lea ecx, [ebp - 0x1264]
call fcn.0040acd0
push eax
lea ecx, [ebp - 0x1e94]
call fcn.00415b20
test eax, eax
jne 0x4075ed
jmp 0x407789
lea ecx, [ebp - 0x1e94]
call fcn.00416050
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x2eb0], eax
mov ecx, dword [ebp - 0x2eb0]
sub ecx, 0xc8
mov dword [ebp - 0x2eb0], ecx
cmp dword [ebp - 0x2eb0], 0x69
ja case.0x40762c.7
mov edx, dword [ebp - 0x2eb0]
movzx eax, byte [edx + 0x407848]
jmp dword [eax*4 + 0x407840]
jmp 0x407653
mov ecx, dword [ebp - 0x14]
push ecx
mov edx, dword [ebp + 8]
push edx
push str._s:_d
lea eax, [ebp - 0x10]
push eax
call fcn.0040cae0
add esp, 0x10
jmp 0x407789
push 0
push 0x80
push 2
call fcn.004018a0
mov ecx, eax
call fcn.00402ba0
push eax
push 1
push 0x40000000
mov ecx, dword [ebp + 0xc]
push ecx
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x2ea0], eax
cmp dword [ebp - 0x2ea0], 0xffffffff
jne 0x4076aa
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov edx, dword [ebp + 0xc]
push edx
push 0x437c84
lea eax, [ebp - 0x10]
push eax
call fcn.0040cae0
add esp, 0x10
jmp 0x407789
mov dword [ebp - 0x1e98], 0
mov dword [ebp - 0x2ea4], 0
push 0x1000
lea ecx, [ebp - 0x2e9c]
push ecx
lea ecx, [ebp - 0x1e94]
call fcn.004165c0
mov dword [ebp - 0x1e98], eax
mov edx, dword [ebp - 0x1e98]
mov dword [ebp - 0x2ea4], edx
cmp dword [ebp - 0x1e98], 0
jge 0x407702
mov eax, dword [ebp - 0x2ea0]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x407789
push 0
lea ecx, [ebp - 0x2ea4]
push ecx
mov edx, dword [ebp - 0x1e98]
push edx
lea eax, [ebp - 0x2e9c]
push eax
mov ecx, dword [ebp - 0x2ea0]
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
cmp dword [ebp - 0x1e98], 0
jg 0x4076be
mov edx, dword [ebp - 0x2ea0]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [ebp - 0x1e94]
call fcn.00416660
mov dword [ebp - 0x2ea8], 1
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x10]
call fcn.0040de10
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1264]
call fcn.00401a70
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1e94]
call fcn.00415b00
mov eax, dword [ebp - 0x2ea8]
jmp 0x407824
lea ecx, [ebp - 0x1e94]
call fcn.00416660
lea ecx, [ebp - 0x10]
call fcn.0040c0d0
movzx eax, al
test eax, eax
je 0x4077b8
mov ecx, dword [ebp + 8]
push ecx
push 0x437c8c
lea edx, [ebp - 0x10]
push edx
call fcn.0040cae0
add esp, 0xc
cmp dword [ebp + 0x10], 0
je 0x4077e7
cmp dword [ebp + 0x14], 0
jbe 0x4077e7
mov eax, dword [ebp + 0x14]
push eax
lea ecx, [ebp - 0x10]
call fcn.0040c3b0
push eax
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.00402cb0
add esp, 0xc
mov edx, dword [ebp + 0x10]
add edx, dword [ebp + 0x14]
mov byte [edx - 1], 0
mov dword [ebp - 0x2eac], 0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x10]
call fcn.0040de10
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1264]
call fcn.00401a70
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1e94]
call fcn.00415b00
mov eax, dword [ebp - 0x2eac]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x18]
xor ecx, ebp
call fcn.00423ff6
mov esp, ebp
pop ebp
ret