Function at 0x4294d0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
mov ecx, dword [ebp + 8]
push ebx
push esi
push edi
test ecx, ecx
je 0x4296ee
mov eax, dword [0x452f32]
mov dl, byte [0x453278]
sub eax, ecx
test dl, dl
mov dword [0x452f32], eax
je 0x429738
test eax, eax
jge 0x429738
add eax, ecx
mov cl, byte [0x452f31]
test cl, cl
mov dword [0x452f32], eax
je 0x4295a4
test eax, eax
je 0x4295a4
mov ecx, dword [0x452f2c]
mov edx, dword [ecx + 4]
push edx
push eax
mov eax, dword [0x453006]
push 1
push eax
call dword [sym.imp.MSVCRT.dll_fwrite]
mov eax, dword [0x45327a]
add esp, 0x10
test eax, eax
je 0x429548
dec eax
jmp 0x42954a
xor eax, eax
mov ecx, dword [0x452f2c]
push 1
add ecx, 4
push eax
push ecx
call fcn.00428d50
mov edx, dword [0x452f2c]
add edx, 0x23
push edx
push 0xbef
call fcn.0042bd90
add esp, 0x14
cmp eax, 0x6b
jne 0x429591
push 0
push 0x3fb
call fcn.0042ae10
add esp, 8
mov eax, 1
pop edi
pop esi
pop ebx
pop ebp
ret
call fcn.00429460
test eax, eax
je 0x4295a4
pop edi
pop esi
mov eax, 1
pop ebx
pop ebp
ret
mov eax, dword [0x45327a]
mov ecx, dword [0x45327e]
xor ebx, ebx
cmp eax, ecx
jae 0x4296ee
mov edx, dword [0x452f2c]
mov ecx, 0x41
xor eax, eax
push 1
lea edi, [edx + 0x23]
rep stosd dword es:[edi], eax
mov eax, dword [0x45327a]
push eax
call fcn.0042e420
mov ecx, dword [0x452f2c]
mov edi, eax
xor eax, eax
add esp, 8
lea edx, [ecx + 0x23]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [0x45327a]
lea ecx, [eax + eax*4]
lea edx, [eax + ecx*2]
mov eax, dword [0x453282]
mov esi, dword [eax + edx*2 + 2]
call fcn.004310d0
test al, al
mov byte [0x452f31], al
je 0x429645
mov ecx, dword [0x452f2c]
add ecx, 0x23
push ecx
call fcn.00428ed0
add esp, 4
cmp eax, 1
je 0x42979d
mov al, byte [0x452f31]
mov ecx, dword [0x45327a]
mov edi, dword [ebp + 8]
inc ecx
mov edx, edi
mov dword [0x45327a], ecx
mov ecx, dword [0x452f32]
sub edx, ecx
sub edx, ebx
cmp esi, edx
ja 0x4296f5
test al, al
je 0x4296b6
mov eax, dword [0x452f2c]
mov edx, dword [eax + 4]
mov eax, dword [0x453006]
add eax, ecx
push edx
push esi
add eax, ebx
push 1
push eax
call dword [sym.imp.MSVCRT.dll_fwrite]
mov ecx, dword [0x452f2c]
add ecx, 0x23
push ecx
push 0xbef
call fcn.0042bd90
add esp, 0x18
cmp eax, 0x6b
je 0x429777
call fcn.00429460
test eax, eax
jne 0x42979d
mov eax, dword [0x45327a]
test eax, eax
je 0x4296c2
dec eax
jmp 0x4296c4
xor eax, eax
mov edx, dword [0x452f2c]
push 1
add edx, 4
push eax
push edx
call fcn.00428d50
mov eax, dword [0x45327a]
mov ecx, dword [0x45327e]
add esp, 0xc
add ebx, esi
cmp eax, ecx
jb 0x4295b9
pop edi
pop esi
xor eax, eax
pop ebx
pop ebp
ret
test al, al
je 0x429725
mov edx, dword [0x452f2c]
mov eax, dword [edx + 4]
mov edx, edi
push eax
mov eax, dword [0x453006]
sub edx, ecx
add eax, ecx
sub edx, ebx
add eax, ebx
push edx
push 1
push eax
call dword [sym.imp.MSVCRT.dll_fwrite]
mov ecx, dword [0x452f32]
add esp, 0x10
sub esi, edi
pop edi
add esi, ebx
add ecx, esi
pop esi
mov dword [0x452f32], ecx
xor eax, eax
pop ebx
pop ebp
ret
mov al, byte [0x452f31]
test al, al
je 0x4296ee
mov edx, dword [0x452f2c]
mov eax, dword [edx + 4]
push eax
push ecx
mov ecx, dword [0x453006]
push 1
push ecx
call dword [sym.imp.MSVCRT.dll_fwrite]
mov edx, dword [0x452f2c]
add edx, 0x23
push edx
push 0xbef
call fcn.0042bd90
add esp, 0x18
cmp eax, 0x6b
jne 0x429790
push 0
push 0x3fb
call fcn.0042ae10
add esp, 8
mov eax, 1
pop edi
pop esi
pop ebx
pop ebp
ret
call fcn.00429460
test eax, eax
je 0x4296ee
pop edi
pop esi
mov eax, 1
pop ebx
pop ebp
ret