Function at 0x55530c
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffc4
call fcn.00554c54
push dword [0xce74e8]
call fcn.00552f30
pop ecx
mov eax, dword [0x6f6920]
test eax, eax
je 0x555338
call fcn.00554e80
xor eax, eax
jmp 0x5557f0
mov edx, dword [0xce7770]
test edx, edx
jle 0x55556b
xor ecx, ecx
mov dword [ebp - 0x3c], ecx
mov eax, dword [0x80c210]
test eax, eax
jne 0x55537c
mov byte [ebp - 0x21], 0x40
mov edx, dword [0xce7770]
mov dword [ebp - 0x18], edx
push 1
push dword [ebp - 0x18]
push dword [0xce757c]
call fcn.00554120
add esp, 0xc
mov dword [ebp - 0x3c], eax
jmp 0x555528
mov byte [ebp - 0x21], 0x80
mov ecx, dword [0xce757c]
mov dword [ebp - 0x30], ecx
mov eax, dword [0xce7770]
sar eax, 2
mov dword [ebp - 0x34], eax
mov edx, dword [ebp - 0x34]
shl edx, 2
mov ecx, dword [0xce7770]
sub ecx, edx
mov dword [ebp - 0x38], ecx
mov eax, dword [ebp - 0x38]
test eax, eax
jle 0x5553cd
mov edx, dword [0xce7770]
mov ecx, dword [ebp - 0x38]
sub edx, ecx
mov eax, dword [0xce757c]
mov dl, byte [eax + edx]
test dl, dl
jne 0x5553cd
dec dword [ebp - 0x38]
mov ecx, dword [ebp - 0x38]
test ecx, ecx
jg 0x5553ac
mov eax, dword [ebp - 0x38]
test eax, eax
jne 0x555424
xor edx, edx
mov dword [ebp - 0x38], edx
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
cmp ecx, eax
jge 0x5553fd
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x38]
mov eax, dword [edx + ecx*4]
test eax, eax
jne 0x5553fd
inc dword [ebp - 0x38]
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
cmp edx, ecx
jl 0x5553e3
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
cmp eax, edx
jne 0x555424
mov byte [ebp - 0x21], 0
mov ecx, dword [0xce7770]
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x18], ecx
inc dword [0xce7784]
mov dword [ebp - 0x3c], 1
mov al, byte [ebp - 0x21]
cmp al, 0x80
jne 0x555528
mov edx, dword [0xce7519]
add edx, edx
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x14], edx
push dword [0x80c218]
push dword [0xce7770]
push dword [0xce757c]
lea eax, [ebp - 0x18]
push eax
push dword [0xce7580]
call fcn.0053fe20
add esp, 0x14
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
test ecx, ecx
je 0x555473
mov eax, dword [ebp - 0x14]
add eax, eax
mov dword [ebp - 0x18], eax
mov edx, dword [0x80c210]
cmp edx, 6
jne 0x5554d9
push 0
push 0
push 9
push dword [0xce7770]
push dword [0xce757c]
lea ecx, [ebp - 0x14]
push ecx
push dword [0xce7584]
call fcn.0054eae0
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x5554d9
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
cmp edx, ecx
jae 0x5554d9
mov byte [ebp - 0x21], 0xc0
xor eax, eax
mov dword [ebp - 0x1c], eax
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x18], edx
push dword [ebp - 0x18]
push dword [0xce7584]
push dword [0xce7580]
call fcn.0066c7fc
add esp, 0xc
mov ecx, dword [ebp - 0x1c]
test ecx, ecx
jne 0x5554ed
mov eax, dword [ebp - 0x18]
mov edx, dword [0xce7770]
cmp eax, edx
jl 0x555512
mov byte [ebp - 0x21], 0x40
mov ecx, dword [0xce7770]
mov dword [ebp - 0x18], ecx
push 1
push dword [ebp - 0x18]
push dword [0xce757c]
call fcn.00554120
add esp, 0xc
mov dword [ebp - 0x3c], eax
jmp 0x555528
push 1
push dword [ebp - 0x18]
push dword [0xce7580]
call fcn.00554120
add esp, 0xc
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
test eax, eax
jne 0x555545
mov dword [0x6f6920], 1
call fcn.00554e80
xor eax, eax
jmp 0x5557f0
mov edx, dword [0x80c210]
test edx, edx
je 0x55556b
mov cl, byte [ebp - 0x21]
push ecx
push dword [ebp - 0x18]
push dword [0xce7788]
call fcn.00551740
add esp, 0xc
add dword [0xce7788], 3
mov eax, dword [0xced75c]
test eax, eax
je 0x5555ec
mov edx, dword [0xce777c]
lea edx, [edx + edx*2]
mov ecx, dword [0xce7780]
mov dword [edx*8 + 0xce7798], ecx
mov eax, dword [0xce777c]
lea eax, [eax + eax*2]
mov edx, dword [0xce7784]
mov dword [eax*8 + 0xce7794], edx
mov ecx, dword [0xce7784]
test ecx, ecx
jne 0x5555b8
mov eax, dword [0xce777c]
lea eax, [eax + eax*2]
inc dword [eax*8 + 0xce7794]
mov edx, dword [0xce777c]
lea edx, [edx + edx*2]
xor ecx, ecx
mov dword [edx*8 + 0xce77a0], ecx
mov eax, dword [0xce777c]
lea eax, [eax + eax*2]
mov edx, dword [0xce7774]
mov dword [eax*8 + 0xce778c], edx
mov edx, dword [0xce7778]
mov dword [eax*8 + 0xce7790], edx
mov ecx, dword [0xce752c]
mov dword [0xce756c], ecx
mov eax, dword [0xce7530]
mov dword [0xce7570], eax
mov eax, dword [0xce7534]
mov dword [0xce7574], eax
mov edx, dword [0xce7538]
mov dword [0xce7578], edx
push 0
push dword [0x80c224]
push 0xce753c
call fcn.00554120
add esp, 0xc
mov ecx, dword [0x80c224]
mov dword [ebp - 0x10], ecx
push 0
push 4
lea eax, [ebp - 0x10]
push eax
call fcn.00554120
add esp, 0xc
mov dword [ebp - 8], 0
mov dword [ebp - 4], 0
push 0
lea edx, [ebp - 4]
push edx
push dword [ebp - 8]
push dword [0xced54c]
call sub.KERNEL32.DLL_SetFilePointer
mov dword [ebp - 0xc], eax
push 0
lea ecx, [ebp - 0x10]
push ecx
push dword [0x80c224]
push 0xce753c
push dword [0xced54c]
call sub.KERNEL32.DLL_WriteFile
mov eax, dword [0x80c210]
test eax, eax
je 0x5557e6
mov edx, dword [0xce7523]
test edx, edx
je 0x55574a
mov ecx, dword [0xce751f]
mov eax, dword [0xce7523]
sub ecx, eax
mov dword [ebp - 0x2c], ecx
mov eax, dword [0xce7523]
xor edx, edx
mov dword [ebp - 8], eax
mov dword [ebp - 4], edx
push 0
lea ecx, [ebp - 4]
push ecx
push dword [ebp - 8]
push dword [0xced54c]
call sub.KERNEL32.DLL_SetFilePointer
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
cmp eax, 0xffffffff
jne 0x555701
call sub.KERNEL32.DLL_GetLastError
test eax, eax
je 0x555701
mov dword [0x6f6920], 1
call fcn.00554e80
xor eax, eax
jmp 0x5557f0
push dword [ebp - 0x2c]
push 0xce778c
call fcn.00554068
add esp, 8
push 0
lea edx, [ebp - 0x10]
push edx
push dword [ebp - 0x2c]
push 0xce778c
push dword [0xced54c]
call sub.KERNEL32.DLL_WriteFile
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x2c]
cmp ecx, eax
je 0x55574a
mov dword [0x6f6920], 1
call fcn.00554e80
xor eax, eax
jmp 0x5557f0
mov edx, dword [0xce7515]
lea edx, [edx + edx*2]
mov dword [ebp - 0x28], edx
mov eax, dword [0xce751f]
xor edx, edx
mov dword [ebp - 8], eax
mov dword [ebp - 4], edx
push 0
lea ecx, [ebp - 4]
push ecx
push dword [ebp - 8]
push dword [0xced54c]
call sub.KERNEL32.DLL_SetFilePointer
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
cmp eax, 0xffffffff
jne 0x55579e
call sub.KERNEL32.DLL_GetLastError
test eax, eax
je 0x55579e
mov dword [0x6f6920], 1
call fcn.00554e80
xor eax, eax
jmp 0x5557f0
push dword [ebp - 0x28]
push dword [0x80c20c]
call fcn.00554068
add esp, 8
push 0
lea edx, [ebp - 0x10]
push edx
push dword [ebp - 0x28]
push dword [0x80c20c]
push dword [0xced54c]
call sub.KERNEL32.DLL_WriteFile
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x28]
cmp ecx, eax
je 0x5557e6
mov dword [0x6f6920], 1
call fcn.00554e80
xor eax, eax
jmp 0x5557f0
call fcn.00554e80
mov eax, 1
mov esp, ebp
pop ebp
ret