Function at 0x1004463
Capabilities:
Write file on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xa48
mov eax, dword [0x1009004]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
and dword [ebp - 0xa30], 0
push esi
push 0xffffffffffffffec
push dword [0x10095a0]
mov dword [ebp - 0xa38], eax
call dword [sym.imp.USER32.dll_GetWindowLongW]
mov esi, dword [0x1009bcc]
and eax, 0x400000
mov dword [ebp - 0xa44], eax
xor eax, eax
mov word [ebp - 0xa2c], ax
mov dword [ebp - 0xa34], esi
test esi, esi
je 0x1004a70
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_WriteFile]
push edi
mov edi, 0x104
jmp 0x10044d4
mov esi, dword [ebp - 0xa34]
cmp dword [esi + 0x20], 0
je 0x1004a5d
push dword [esi + 4]
lea eax, [ebp - 0xa2c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x1004585
push dword [esi + 4]
lea eax, [ebp - 0xa2c]
push edi
push eax
call fcn.0100170e
test eax, eax
jge 0x1004511
cmp eax, 0x8007007a
jne 0x1004585
push 0x2a
push edi
lea eax, [ebp - 0x414]
push eax
call fcn.01005682
lea eax, [ebp - 0xa2c]
push eax
lea eax, [ebp - 0x414]
push eax
lea eax, [ebp - 0x824]
push 0x208
push eax
call fcn.01003257
add esp, 0x10
test eax, eax
jge 0x100454d
cmp eax, 0x8007007a
jne 0x1004585
push 0
lea eax, [ebp - 0xa3c]
push eax
lea eax, [ebp - 0x824]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
add eax, eax
push eax
lea eax, [ebp - 0x824]
push eax
push dword [ebp - 0xa38]
call ebx
test eax, eax
jne 0x1004585
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0xa30], eax
push 0x2c
push edi
lea eax, [ebp - 0x414]
push eax
call fcn.01005682
push dword [esi]
lea eax, [ebp - 0x414]
push eax
lea eax, [ebp - 0x824]
push 0x208
push eax
call fcn.01003257
add esp, 0x10
test eax, eax
jge 0x10045bc
cmp eax, 0x8007007a
jne 0x10045f4
push 0
lea eax, [ebp - 0xa3c]
push eax
lea eax, [ebp - 0x824]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
add eax, eax
push eax
lea eax, [ebp - 0x824]
push eax
push dword [ebp - 0xa38]
call ebx
test eax, eax
jne 0x10045f4
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0xa30], eax
push 0x35
push 0x208
lea eax, [ebp - 0x824]
push eax
call fcn.01005682
push 0
lea eax, [ebp - 0xa3c]
push eax
lea eax, [ebp - 0x824]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
add eax, eax
push eax
lea eax, [ebp - 0x824]
push eax
push dword [ebp - 0xa38]
call ebx
test eax, eax
jne 0x100463f
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0xa30], eax
push 0x32
push edi
lea eax, [ebp - 0x414]
push eax
call fcn.01005682
lea eax, [esi + 0x2c]
mov esi, dword [ebp - 0xa44]
neg esi
sbb esi, esi
xor ecx, ecx
push ecx
push ecx
push ecx
and esi, 0x20
push eax
inc esi
push esi
push 0x400
call dword [sym.imp.KERNEL32.dll_GetDateFormatW]
mov dword [ebp - 0xa48], eax
test eax, eax
je 0x10046f8
lea eax, [eax + eax + 2]
push eax
push 8
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov dword [ebp - 0xa40], eax
test eax, eax
je 0x10046f8
push dword [ebp - 0xa48]
push eax
mov eax, dword [ebp - 0xa34]
push 0
add eax, 0x2c
push eax
push esi
push 0x400
call dword [sym.imp.KERNEL32.dll_GetDateFormatW]
test eax, eax
je 0x10046e3
push dword [ebp - 0xa40]
lea eax, [ebp - 0x414]
push edi
push eax
call fcn.0100170e
test eax, eax
jge 0x10046e3
cmp eax, 0x8007007a
je 0x10046e3
xor eax, eax
mov word [ebp - 0x414], ax
push dword [ebp - 0xa40]
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
push 0x50
push edi
lea eax, [ebp - 0x20c]
push eax
call fcn.01005682
lea eax, [ebp - 0x414]
push eax
lea eax, [ebp - 0x20c]
push eax
lea eax, [ebp - 0x824]
push 0x208
push eax
call fcn.01003257
add esp, 0x10
test eax, eax
jge 0x1004734
cmp eax, 0x8007007a
jne 0x1004770
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenW]
push 0
lea eax, [ebp - 0xa3c]
push eax
lea eax, [ebp - 0x824]
push eax
call esi
add eax, eax
push eax
lea eax, [ebp - 0x824]
push eax
push dword [ebp - 0xa38]
call ebx
test eax, eax
jne 0x1004776
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0xa30], eax
jmp 0x1004776
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenW]
push 0x35
push 0x208
lea eax, [ebp - 0x824]
push eax
call fcn.01005682
push 0
lea eax, [ebp - 0xa3c]
push eax
lea eax, [ebp - 0x824]
push eax
call esi
add eax, eax
push eax
lea eax, [ebp - 0x824]
push eax
push dword [ebp - 0xa38]
call ebx
test eax, eax
jne 0x10047bd
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0xa30], eax
xor eax, eax
mov word [ebp - 0x20c], ax
mov eax, dword [ebp - 0xa34]
mov eax, dword [eax + 8]
test eax, eax
je 0x1004805
cmp word [eax], 0
je 0x1004805
push eax
push edi
lea eax, [ebp - 0x20c]
push eax
call fcn.0100170e
test eax, eax
jge 0x10047fb
cmp eax, 0x8007007a
je 0x10047fb
xor eax, eax
mov word [ebp - 0x20c], ax
cmp word [ebp - 0x20c], 0
jne 0x1004814
push 0x1f
push edi
lea eax, [ebp - 0x20c]
push eax
call fcn.01005682
push 0x2c
push edi
lea eax, [ebp - 0x414]
push eax
call fcn.01005682
lea eax, [ebp - 0x20c]
push eax
lea eax, [ebp - 0x414]
push eax
lea eax, [ebp - 0x824]
push 0x208
push eax
call fcn.01003257
add esp, 0x10
test eax, eax
jge 0x1004850
cmp eax, 0x8007007a
jne 0x1004884
push 0
lea eax, [ebp - 0xa3c]
push eax
lea eax, [ebp - 0x824]
push eax
call esi
add eax, eax
push eax
lea eax, [ebp - 0x824]
push eax
push dword [ebp - 0xa38]
call ebx
test eax, eax
jne 0x1004884
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0xa30], eax
push 0x2c
push edi
lea eax, [ebp - 0x414]
push eax
call fcn.01005682
mov eax, dword [ebp - 0xa34]
mov eax, dword [eax + 0x1c]
neg eax
sbb eax, eax
add eax, 0xf
push eax
push edi
lea eax, [ebp - 0x20c]
push eax
call fcn.01005682
lea eax, [ebp - 0x20c]
push eax
lea eax, [ebp - 0x414]
push eax
lea eax, [ebp - 0x824]
push 0x208
push eax
call fcn.01003257
add esp, 0x10
test eax, eax
jge 0x10048de
cmp eax, 0x8007007a
jne 0x1004912
push 0
lea eax, [ebp - 0xa3c]
push eax
lea eax, [ebp - 0x824]
push eax
call esi
add eax, eax
push eax
lea eax, [ebp - 0x824]
push eax
push dword [ebp - 0xa38]
call ebx
test eax, eax
jne 0x1004912
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0xa30], eax
xor eax, eax
mov word [ebp - 0x20c], ax
mov eax, dword [ebp - 0xa34]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x1004954
push eax
push edi
lea eax, [ebp - 0x20c]
push eax
call fcn.0100170e
test eax, eax
jge 0x100494a
cmp eax, 0x8007007a
je 0x100494a
xor eax, eax
mov word [ebp - 0x20c], ax
cmp word [ebp - 0x20c], 0
jne 0x1004963
push 0x33
push edi
lea eax, [ebp - 0x20c]
push eax
call fcn.01005682
push 0x2c
push edi
lea eax, [ebp - 0x414]
push eax
call fcn.01005682
lea eax, [ebp - 0x20c]
push eax
lea eax, [ebp - 0x414]
push eax
lea eax, [ebp - 0x824]
push 0x208
push eax
call fcn.01003257
add esp, 0x10
test eax, eax
jge 0x100499f
cmp eax, 0x8007007a
jne 0x10049d3
push 0
lea eax, [ebp - 0xa3c]
push eax
lea eax, [ebp - 0x824]
push eax
call esi
add eax, eax
push eax
lea eax, [ebp - 0x824]
push eax
push dword [ebp - 0xa38]
call ebx
test eax, eax
jne 0x10049d3
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0xa30], eax
mov eax, dword [ebp - 0xa34]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x1004a10
push 0
lea ecx, [ebp - 0xa3c]
push ecx
push eax
call esi
add eax, eax
push eax
mov eax, dword [ebp - 0xa34]
push dword [eax + 0x10]
push dword [ebp - 0xa38]
call ebx
test eax, eax
jne 0x1004a10
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0xa30], eax
push 0x34
push 0x208
lea eax, [ebp - 0x824]
push eax
call fcn.01005682
push 0
lea eax, [ebp - 0xa3c]
push eax
lea eax, [ebp - 0x824]
push eax
call esi
add eax, eax
push eax
lea eax, [ebp - 0x824]
push eax
push dword [ebp - 0xa38]
call ebx
test eax, eax
jne 0x1004a57
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0xa30], eax
mov esi, dword [ebp - 0xa34]
mov esi, dword [esi + 0x3c]
mov dword [ebp - 0xa34], esi
test esi, esi
jne 0x10044ce
pop edi
pop ebx
push dword [ebp - 0xa30]
call dword [sym.imp.KERNEL32.dll_SetLastError]
call dword [sym.imp.KERNEL32.dll_GetLastError]
xor ecx, ecx
cmp dword [ebp - 0xa30], eax
pop esi
sete cl
mov eax, ecx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.01007194
leave
ret 4