Function at 0x42a3d0
Capabilities:
Write file on windows

Disassembly:
sub esp, 0x2a8
mov eax, dword [0x45fe88]
mov ecx, dword [0x45fe8c]
mov edx, dword [0x45fe90]
push ebx
push ebp
push esi
push edi
mov edi, dword [sym.imp.USER32.dll_LoadCursorA]
mov dword [esp + 0x20], eax
mov eax, dword [0x45fe94]
push 0x7f02
push 0
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], eax
mov dword [esp + 0x24], 0x80
call edi
mov esi, dword [sym.imp.USER32.dll_SetCursor]
push eax
call esi
mov eax, dword [0x47516c]
test eax, eax
mov dword [esp + 0x14], 0
jne 0x42a46b
call fcn.0042d130
test eax, eax
jne 0x42a461
push 0x7f00
push eax
call edi
push eax
call esi
mov esi, 8
push 0xa
push esi
call fcn.0042d230
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x2a8
ret 0x10
mov dword [0x47516c], 1
push 0x477260
push 0x45fe80
lea ecx, [esp + 0x13c]
push 0x45fe68
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea edx, [esp + 0x134]
push 0
push 0
push 0
push 0
push edx
call dword [fcn.00476728]
mov ebx, eax
test ebx, ebx
jne 0x42a4ce
push 0x7f00
push eax
call edi
push eax
call esi
mov esi, 2
push 0xa
push esi
call fcn.0042d230
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x2a8
ret 0x10
push 0
lea eax, [esp + 0x24]
push 0x4000000
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
lea ecx, [esp + 0x28]
push eax
mov edx, dword [esp + 0x2c8]
push ecx
push edx
push ebx
call dword [fcn.00476724]
mov ebp, eax
test ebp, ebp
jne 0x42a52d
push ebx
call dword [fcn.00476610]
push 0x7f00
push ebp
call edi
push eax
call dword [sym.imp.USER32.dll_SetCursor]
mov esi, 2
push 0xa
push esi
call fcn.0042d230
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x2a8
ret 0x10
mov eax, dword [esp + 0x2c4]
mov esi, dword [esp + 0x2c0]
test eax, eax
je 0x42a5ec
lea eax, [esp + 0x1c]
push 0
lea ecx, [esp + 0x1b8]
push eax
push ecx
push 0x2f
push ebp
call dword [fcn.00476614]
test eax, eax
je 0x42a578
lea edx, [esp + 0x1b4]
push 0x45af04
push edx
call fcn.0044c6c0
add esp, 8
test eax, eax
jne 0x42a5b2
push ebx
call dword [fcn.00476610]
push ebp
call dword [fcn.00476610]
push 0x7f00
push 0
call edi
push eax
call dword [sym.imp.USER32.dll_SetCursor]
mov esi, 5
push 0xa
push esi
call fcn.0042d230
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x2a8
ret 0x10
inc eax
push eax
mov eax, dword [esp + 0x2c8]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov ecx, dword [esp + 0x2c8]
push ecx
push esi
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0x45fe64
push esi
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov edx, dword [esp + 0x2c4]
push edx
push esi
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0
push 0x8000080
push 2
push 0
push 0
push 0x40000000
push esi
call dword [sym.imp.KERNEL32.dll_CreateFileA]
cmp eax, 0xffffffff
mov dword [esp + 0x10], eax
jne 0x42a648
push ebx
call dword [fcn.00476610]
push ebp
call dword [fcn.00476610]
push 0x7f00
push 0
call edi
push eax
call dword [sym.imp.USER32.dll_SetCursor]
mov esi, 7
push 0xa
push esi
call fcn.0042d230
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x2a8
ret 0x10
push 0x1000
call fcn.0044c0d4
mov esi, eax
add esp, 4
mov ecx, 0x400
xor eax, eax
mov edi, esi
rep stosd dword es:[edi], eax
lea eax, [esp + 0x18]
push eax
push 0x1000
push esi
push ebp
call dword [fcn.00476730]
test eax, eax
je 0x42a6e8
mov eax, dword [esp + 0x18]
test eax, eax
jbe 0x42a6e8
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenA]
push 0x45fe5c
call edi
push eax
push esi
push 0x45fe5c
call fcn.00455900
add esp, 0xc
test eax, eax
je 0x42a6ba
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x30]
push 0
push ecx
push edx
push esi
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x42a662
push esi
call edi
inc eax
push eax
call fcn.0044c0d4
add esp, 4
mov edi, eax
push 0x45fe5c
call dword [sym.imp.KERNEL32.dll_lstrlenA]
add eax, esi
push eax
push 0x45fe54
push edi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp 0x42a6ec
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push esi
call fcn.0044c186
add esp, 4
push ebx
call dword [fcn.00476610]
push ebp
call dword [fcn.00476610]
push 0x7f00
push 0
call dword [sym.imp.USER32.dll_LoadCursorA]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
test edi, edi
mov dword [0x477184], 0
je 0x42a83c
mov byte [0x476620], 0
mov al, byte [edi]
test al, al
je 0x42a833
mov esi, edi
lea ecx, [esp + 0x34]
mov byte [esp + 0x34], 0
xor edx, edx
mov al, byte [esi]
test al, al
je 0x42a789
cmp al, 0x3c
jne 0x42a764
inc esi
mov al, byte [esi]
inc esi
cmp al, 0x3e
jne 0x42a75d
mov al, byte [esi]
test al, al
je 0x42a789
cmp al, 0x23
jne 0x42a778
mov al, byte [esi + 1]
inc esi
test al, al
je 0x42a780
jmp 0x42a77c
cmp al, 0x2c
je 0x42a789
mov byte [ecx], al
inc ecx
inc esi
inc edx
cmp edx, 0xff
jl 0x42a752
mov al, byte [esi]
mov byte [ecx], 0
cmp al, 0x2c
jne 0x42a793
inc esi
lea ecx, [esp + 0x34]
push 0xa
push ecx
push 0x45fe48
call fcn.0044d190
add esp, 0xc
test eax, eax
jne 0x42a7b0
or esi, 0xffffffff
jmp 0x42a813
lea edx, [esp + 0x34]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cmp eax, 5
jg 0x42a833
lea eax, [esp + 0x10]
lea ecx, [esp + 0x34]
push eax
push 0x45aa30
push ecx
call fcn.0044cf4e
add esp, 0xc
cmp eax, 1
jne 0x42a833
mov eax, dword [esp + 0x10]
test eax, eax
jg 0x42a833
cmp eax, 0xffffffff
jne 0x42a80d
lea edx, [esp + 0x34]
push 0x100
push edx
push esi
call fcn.0042ccc0
lea eax, [esp + 0x34]
push eax
push 0x476620
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov eax, dword [esp + 0x10]
test eax, eax
mov esi, eax
je 0x42a833
push edi
call fcn.0044c186
add esp, 4
push 0xa
push esi
call fcn.0042d230
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x2a8
ret 0x10
push edi
call fcn.0044c186
add esp, 4
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x2a8
ret 0x10