Function at 0x553c20
Capabilities:
Get system information on windows
Write file on windows

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff94
mov eax, dword [ebp + 0x10]
test eax, eax
jne 0x553c34
xor eax, eax
jmp 0x5542cc
xor edx, edx
mov dword [0xcfb130], edx
lea ecx, [ebp - 0x20]
push ecx
call fcn.0067997c
pop ecx
push dword [ebp + 0x10]
push 0xcfaf28
call fcn.0066ce08
add esp, 8
push 0xcfb02c
push 0xcfaf28
call fcn.005538e4
add esp, 8
mov dword [0x819bf8], 0x40
mov eax, dword [0x819bf8]
and eax, 0x80000003
jns 0x553c83
dec eax
or eax, 0xfffffffc
inc eax
test eax, eax
je 0x553ca7
mov edx, dword [0x819bf8]
and edx, 0x80000003
jns 0x553c9a
dec edx
or edx, 0xfffffffc
inc edx
mov ecx, 4
sub ecx, edx
add dword [0x819bf8], ecx
mov eax, dword [0x819be4]
mov edx, dword [eax*8 + 0x819ba8]
mov dword [ebp - 8], edx
mov ecx, dword [0x819be4]
mov eax, dword [ecx*8 + 0x819bac]
mov dword [0x819bec], eax
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp - 8]
add eax, edx
dec eax
xor edx, edx
div dword [ebp - 8]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
lea eax, [eax + eax*2]
mov dword [ebp - 0x10], eax
test byte [ebp - 0x10], 3
je 0x553cf8
mov ecx, dword [ebp - 0x10]
and ecx, 3
mov eax, 4
sub eax, ecx
add dword [ebp - 0x10], eax
mov dword [ebp - 0x14], 0x5dc0
push dword [0x819bf8]
push 0
push 0xcf4ed0
call fcn.0066cc88
add esp, 0xc
push 4
push 0x81a0a6
push 0xcf4ed0
call fcn.0066cc18
add esp, 0xc
mov dl, byte [0x819bf8]
mov byte [0xcf4ed4], dl
mov byte [0xcf4ed5], 1
mov ecx, dword [ebp - 0x20]
mov dword [0xcf4ed6], ecx
mov dword [0xcf4f00], 0xffffffff
mov dword [0xcf4f04], 0
mov dword [0xcf4f08], 0
mov dword [0xcf4f0c], 0xffffffff
mov word [0xcf4eda], 0x800
mov eax, dword [ebp + 0xc]
mov dword [0xcf4edc], eax
mov byte [0xcf4ee0], 0
xor edx, edx
mov dword [0xcfb134], edx
mov ecx, dword [0x6ebd3c]
test ecx, ecx
je 0x553e2e
push 0xa27768
call fcn.0066ce38
pop ecx
mov dword [0xcfb134], eax
mov eax, dword [0xcfb134]
test eax, eax
jbe 0x553e2e
mov dl, byte [0x819be8]
mov byte [0xcf4ee0], dl
movsx ecx, byte [0xcf4ee0]
dec ecx
je 0x553e2e
call fcn.0055d3cc
mov al, byte [0xcf4ee0]
sub al, 3
je 0x553de4
dec al
jne 0x553ded
mov dword [ebp - 0x24], 0x20
jmp 0x553df4
mov dword [ebp - 0x24], 0x18
jmp 0x553df4
mov dword [ebp - 0x24], 0x10
push dword [ebp - 0x24]
push 0
lea edx, [ebp - 0x48]
push edx
call fcn.0066cc88
add esp, 0xc
push dword [ebp - 0x24]
push 0xa27768
lea ecx, [ebp - 0x48]
push ecx
call fcn.0066d04c
add esp, 0xc
push dword [ebp - 0x24]
push 0xa27768
push 0xcf4f60
call fcn.0055a640
add esp, 0xc
mov dword [0x819bf0], 0
mov dword [0x819bf4], 0
mov eax, dword [0x6ebd34]
test eax, eax
je 0x553eab
cmp dword [0x7707fc], 0
jne 0x553e62
cmp dword [0x7707f8], 0x186a0
jbe 0x553e88
jmp 0x553e64
jle 0x553e88
mov edx, dword [0x7707f8]
mov dword [0x819bf0], edx
mov edx, dword [0x7707fc]
mov dword [0x819bf4], edx
mov dword [0xcfb130], 1
jmp 0x553eab
push 0xcfaf28
call fcn.00462744
pop ecx
test eax, eax
je 0x553eab
mov dword [0x819bf0], 0x80000000
mov dword [0x819bf4], 0
mov ecx, dword [0x819bf0]
mov dword [0xcf4ee1], ecx
mov ecx, dword [0x819bf4]
mov dword [0xcf4ee5], ecx
mov eax, dword [ebp - 0xc]
mov dword [0xcf4ee9], eax
movzx edx, word [0xcf4eda]
imul edx, dword [ebp - 8]
mov dword [0xcf4eed], edx
mov byte [0xcf4ef1], 3
mov byte [0xcf4ef2], 0
mov ecx, dword [0x819be4]
test ecx, ecx
jne 0x553f17
xor eax, eax
mov dword [0xcf4ef3], eax
xor edx, edx
mov dword [0xcf4ef7], edx
mov eax, dword [0x819bf8]
cdq
mov dword [0xcf5148], eax
mov dword [0xcf514c], edx
jmp 0x553f78
mov ecx, dword [0x819bf8]
mov dword [0xcf4ef3], ecx
push dword [ebp - 0x10]
call fcn.0066c62c
pop ecx
mov dword [0x819be0], eax
mov eax, dword [0x819be0]
test eax, eax
jne 0x553f41
xor eax, eax
jmp 0x5542cc
push dword [ebp - 0x10]
push 0
push dword [0x819be0]
call fcn.0066cc88
add esp, 0xc
mov edx, dword [0x819be0]
mov dword [0xcf515c], edx
mov eax, dword [0x819bf8]
mov edx, dword [ebp - 0x10]
add eax, edx
xor edx, edx
mov dword [0xcf5148], eax
mov dword [0xcf514c], edx
push 0
push 0x800
mov eax, dword [ebp + 0xc]
xor edx, edx
call fcn.00674900
add eax, dword [0xcf5148]
adc edx, dword [0xcf514c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], edx
cmp dword [0x819bf4], 0
jne 0x553fb6
cmp dword [0x819bf0], 0x186a0
jbe 0x554051
jmp 0x553fbc
jle 0x554051
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x18]
cmp edx, dword [0x819bf4]
jne 0x553fd4
cmp eax, dword [0x819bf0]
jbe 0x554051
jmp 0x553fd6
jle 0x554051
mov dword [0xcfb130], 1
push dword [ebp - 0x14]
push 0
push 0xcf5160
call fcn.0066cc88
add esp, 0xc
push 0
push 0x18
push dword [0x819bf4]
push dword [0x819bf0]
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x18]
call fcn.00674923
add eax, 2
adc edx, 0
call fcn.00674900
mov dword [ebp - 0x14], eax
mov edx, dword [0x819be4]
test edx, edx
je 0x554051
mov ecx, dword [0x819bf8]
mov dword [0xcf4ef7], ecx
mov eax, dword [0x819bf8]
mov edx, dword [ebp - 0x14]
add eax, edx
mov dword [0xcf4ef3], eax
mov eax, dword [ebp - 0x14]
xor edx, edx
add dword [0xcf5148], eax
adc dword [0xcf514c], edx
mov eax, dword [0xcf5148]
mov dword [0xcf4efb], eax
push 0
lea edx, [ebp - 4]
push edx
push dword [0x819bf8]
push 0xcf4ed0
push dword [ebp + 8]
call sub.KERNEL32.DLL_WriteFile
mov ecx, dword [ebp - 4]
mov eax, dword [0x819bf8]
cmp ecx, eax
je 0x55409c
push dword [0x819be0]
call fcn.0066c63c
pop ecx
xor edx, edx
mov dword [0x819be0], edx
xor eax, eax
jmp 0x5542cc
push 0x40
push 0xcf4ed0
push 0xcf4f10
call fcn.0066cc18
add esp, 0xc
mov edx, dword [0x819be4]
test edx, edx
je 0x55413e
mov ecx, dword [0xcf4ef7]
test ecx, ecx
je 0x554102
push 0
lea eax, [ebp - 4]
push eax
push dword [ebp - 0x14]
push 0xcf5160
push dword [ebp + 8]
call sub.KERNEL32.DLL_WriteFile
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 0x14]
cmp edx, ecx
je 0x554102
push dword [0x819be0]
call fcn.0066c63c
pop ecx
xor eax, eax
mov dword [0x819be0], eax
xor eax, eax
jmp 0x5542cc
push 0
lea edx, [ebp - 4]
push edx
push dword [ebp - 0x10]
push dword [0x819be0]
push dword [ebp + 8]
call sub.KERNEL32.DLL_WriteFile
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
cmp ecx, eax
je 0x55413e
push dword [0x819be0]
call fcn.0066c63c
pop ecx
xor edx, edx
mov dword [0x819be0], edx
xor eax, eax
jmp 0x5542cc
push dword [0xcf4eed]
call fcn.0066c62c
pop ecx
mov dword [0xcf4f50], eax
mov edx, dword [0xcf4f50]
test edx, edx
jne 0x554174
push dword [0x819be0]
call fcn.0066c63c
pop ecx
xor ecx, ecx
mov dword [0x819be0], ecx
xor eax, eax
jmp 0x5542cc
mov edx, dword [0x819be4]
test edx, edx
je 0x554238
mov ecx, dword [0xcf4eed]
add ecx, ecx
push ecx
call fcn.0066c62c
pop ecx
mov dword [0xcf4f54], eax
mov eax, dword [0xcf4f54]
test eax, eax
jne 0x5541ce
push dword [0x819be0]
call fcn.0066c63c
pop ecx
xor edx, edx
mov dword [0x819be0], edx
push dword [0xcf4f50]
call fcn.0066c63c
pop ecx
xor ecx, ecx
mov dword [0xcf4f50], ecx
xor eax, eax
jmp 0x5542cc
mov edx, dword [0x819be4]
cmp edx, 6
jne 0x554238
mov ecx, dword [0xcf4eed]
add ecx, ecx
push ecx
call fcn.0066c62c
pop ecx
mov dword [0xcf4f58], eax
mov eax, dword [0xcf4f58]
test eax, eax
jne 0x554238
push dword [0x819be0]
call fcn.0066c63c
pop ecx
xor edx, edx
mov dword [0x819be0], edx
push dword [0xcf4f50]
call fcn.0066c63c
pop ecx
xor ecx, ecx
mov dword [0xcf4f50], ecx
push dword [0xcf4f54]
call fcn.0066c63c
pop ecx
xor eax, eax
mov dword [0xcf4f54], eax
xor eax, eax
jmp 0x5542cc
mov edx, dword [ebp + 8]
mov dword [0xcfaf20], edx
mov dword [0xcfaf24], edx
xor eax, eax
mov dword [0xcf5144], eax
xor ecx, ecx
mov dword [0xcf5150], ecx
xor eax, eax
mov dword [0xcf5154], eax
xor edx, edx
mov dword [0xcf5158], edx
mov eax, dword [0xcf5148]
mov dword [0xcf5170], eax
push dword [0xcf4eed]
call fcn.0066c62c
pop ecx
mov dword [0xcf4f5c], eax
lea edx, [ebp - 0x6c]
push edx
call sub.KERNEL32.DLL_GetSystemInfo
mov ecx, dword [ebp - 0x58]
mov dword [ebp - 0x28], ecx
xor eax, eax
mov dword [0xcf4ebc], eax
shl dword [ebp - 0x28], 1
mov edx, dword [ebp - 0x28]
cmp edx, 8
jle 0x5542a9
mov dword [ebp - 0x28], 8
push dword [ebp - 0x28]
call fcn.005534e0
pop ecx
test eax, eax
jne 0x5542c0
xor ecx, ecx
mov dword [0xcf4ebc], ecx
jmp 0x5542c7
push 0x64
call sub.KERNEL32.DLL_Sleep
mov eax, 1
mov esp, ebp
pop ebp
ret