Function at 0x555728
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffc4
call fcn.00555070
push dword [0xcf4ebc]
call fcn.0055334c
pop ecx
mov eax, dword [0x6fb15c]
test eax, eax
je 0x555754
call fcn.0055529c
xor eax, eax
jmp 0x555c0c
mov edx, dword [0xcf5144]
test edx, edx
jle 0x555987
xor ecx, ecx
mov dword [ebp - 0x3c], ecx
mov eax, dword [0x819be4]
test eax, eax
jne 0x555798
mov byte [ebp - 0x21], 0x40
mov edx, dword [0xcf5144]
mov dword [ebp - 0x18], edx
push 1
push dword [ebp - 0x18]
push dword [0xcf4f50]
call fcn.0055453c
add esp, 0xc
mov dword [ebp - 0x3c], eax
jmp 0x555944
mov byte [ebp - 0x21], 0x80
mov ecx, dword [0xcf4f50]
mov dword [ebp - 0x30], ecx
mov eax, dword [0xcf5144]
sar eax, 2
mov dword [ebp - 0x34], eax
mov edx, dword [ebp - 0x34]
shl edx, 2
mov ecx, dword [0xcf5144]
sub ecx, edx
mov dword [ebp - 0x38], ecx
mov eax, dword [ebp - 0x38]
test eax, eax
jle 0x5557e9
mov edx, dword [0xcf5144]
mov ecx, dword [ebp - 0x38]
sub edx, ecx
mov eax, dword [0xcf4f50]
mov dl, byte [eax + edx]
test dl, dl
jne 0x5557e9
dec dword [ebp - 0x38]
mov ecx, dword [ebp - 0x38]
test ecx, ecx
jg 0x5557c8
mov eax, dword [ebp - 0x38]
test eax, eax
jne 0x555840
xor edx, edx
mov dword [ebp - 0x38], edx
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
cmp ecx, eax
jge 0x555819
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x38]
mov eax, dword [edx + ecx*4]
test eax, eax
jne 0x555819
inc dword [ebp - 0x38]
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
cmp edx, ecx
jl 0x5557ff
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
cmp eax, edx
jne 0x555840
mov byte [ebp - 0x21], 0
mov ecx, dword [0xcf5144]
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x18], ecx
inc dword [0xcf5158]
mov dword [ebp - 0x3c], 1
mov al, byte [ebp - 0x21]
cmp al, 0x80
jne 0x555944
mov edx, dword [0xcf4eed]
add edx, edx
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x14], edx
push dword [0x819bec]
push dword [0xcf5144]
push dword [0xcf4f50]
lea eax, [ebp - 0x18]
push eax
push dword [0xcf4f54]
call fcn.0054023c
add esp, 0x14
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
test ecx, ecx
je 0x55588f
mov eax, dword [ebp - 0x14]
add eax, eax
mov dword [ebp - 0x18], eax
mov edx, dword [0x819be4]
cmp edx, 6
jne 0x5558f5
push 0
push 0
push 9
push dword [0xcf5144]
push dword [0xcf4f50]
lea ecx, [ebp - 0x14]
push ecx
push dword [0xcf4f58]
call fcn.0054eefc
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x5558f5
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
cmp edx, ecx
jae 0x5558f5
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 [0xcf4f58]
push dword [0xcf4f54]
call fcn.0066cc18
add esp, 0xc
mov ecx, dword [ebp - 0x1c]
test ecx, ecx
jne 0x555909
mov eax, dword [ebp - 0x18]
mov edx, dword [0xcf5144]
cmp eax, edx
jl 0x55592e
mov byte [ebp - 0x21], 0x40
mov ecx, dword [0xcf5144]
mov dword [ebp - 0x18], ecx
push 1
push dword [ebp - 0x18]
push dword [0xcf4f50]
call fcn.0055453c
add esp, 0xc
mov dword [ebp - 0x3c], eax
jmp 0x555944
push 1
push dword [ebp - 0x18]
push dword [0xcf4f54]
call fcn.0055453c
add esp, 0xc
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
test eax, eax
jne 0x555961
mov dword [0x6fb15c], 1
call fcn.0055529c
xor eax, eax
jmp 0x555c0c
mov edx, dword [0x819be4]
test edx, edx
je 0x555987
mov cl, byte [ebp - 0x21]
push ecx
push dword [ebp - 0x18]
push dword [0xcf515c]
call fcn.00551b5c
add esp, 0xc
add dword [0xcf515c], 3
mov eax, dword [0xcfb130]
test eax, eax
je 0x555a08
mov edx, dword [0xcf5150]
lea edx, [edx + edx*2]
mov ecx, dword [0xcf5154]
mov dword [edx*8 + 0xcf516c], ecx
mov eax, dword [0xcf5150]
lea eax, [eax + eax*2]
mov edx, dword [0xcf5158]
mov dword [eax*8 + 0xcf5168], edx
mov ecx, dword [0xcf5158]
test ecx, ecx
jne 0x5559d4
mov eax, dword [0xcf5150]
lea eax, [eax + eax*2]
inc dword [eax*8 + 0xcf5168]
mov edx, dword [0xcf5150]
lea edx, [edx + edx*2]
xor ecx, ecx
mov dword [edx*8 + 0xcf5174], ecx
mov eax, dword [0xcf5150]
lea eax, [eax + eax*2]
mov edx, dword [0xcf5148]
mov dword [eax*8 + 0xcf5160], edx
mov edx, dword [0xcf514c]
mov dword [eax*8 + 0xcf5164], edx
mov ecx, dword [0xcf4f00]
mov dword [0xcf4f40], ecx
mov eax, dword [0xcf4f04]
mov dword [0xcf4f44], eax
mov eax, dword [0xcf4f08]
mov dword [0xcf4f48], eax
mov edx, dword [0xcf4f0c]
mov dword [0xcf4f4c], edx
push 0
push dword [0x819bf8]
push 0xcf4f10
call fcn.0055453c
add esp, 0xc
mov ecx, dword [0x819bf8]
mov dword [ebp - 0x10], ecx
push 0
push 4
lea eax, [ebp - 0x10]
push eax
call fcn.0055453c
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 [0xcfaf20]
call sub.KERNEL32.DLL_SetFilePointer
mov dword [ebp - 0xc], eax
push 0
lea ecx, [ebp - 0x10]
push ecx
push dword [0x819bf8]
push 0xcf4f10
push dword [0xcfaf20]
call sub.KERNEL32.DLL_WriteFile
mov eax, dword [0x819be4]
test eax, eax
je 0x555c02
mov edx, dword [0xcf4ef7]
test edx, edx
je 0x555b66
mov ecx, dword [0xcf4ef3]
mov eax, dword [0xcf4ef7]
sub ecx, eax
mov dword [ebp - 0x2c], ecx
mov eax, dword [0xcf4ef7]
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 [0xcfaf20]
call sub.KERNEL32.DLL_SetFilePointer
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
cmp eax, 0xffffffff
jne 0x555b1d
call sub.KERNEL32.DLL_GetLastError
test eax, eax
je 0x555b1d
mov dword [0x6fb15c], 1
call fcn.0055529c
xor eax, eax
jmp 0x555c0c
push dword [ebp - 0x2c]
push 0xcf5160
call fcn.00554484
add esp, 8
push 0
lea edx, [ebp - 0x10]
push edx
push dword [ebp - 0x2c]
push 0xcf5160
push dword [0xcfaf20]
call sub.KERNEL32.DLL_WriteFile
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x2c]
cmp ecx, eax
je 0x555b66
mov dword [0x6fb15c], 1
call fcn.0055529c
xor eax, eax
jmp 0x555c0c
mov edx, dword [0xcf4ee9]
lea edx, [edx + edx*2]
mov dword [ebp - 0x28], edx
mov eax, dword [0xcf4ef3]
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 [0xcfaf20]
call sub.KERNEL32.DLL_SetFilePointer
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
cmp eax, 0xffffffff
jne 0x555bba
call sub.KERNEL32.DLL_GetLastError
test eax, eax
je 0x555bba
mov dword [0x6fb15c], 1
call fcn.0055529c
xor eax, eax
jmp 0x555c0c
push dword [ebp - 0x28]
push dword [0x819be0]
call fcn.00554484
add esp, 8
push 0
lea edx, [ebp - 0x10]
push edx
push dword [ebp - 0x28]
push dword [0x819be0]
push dword [0xcfaf20]
call sub.KERNEL32.DLL_WriteFile
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x28]
cmp ecx, eax
je 0x555c02
mov dword [0x6fb15c], 1
call fcn.0055529c
xor eax, eax
jmp 0x555c0c
call fcn.0055529c
mov eax, 1
mov esp, ebp
pop ebp
ret