Function at 0x52eee0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x7a7f82
mov eax, dword fs:[0]
push eax
sub esp, 0x2b4
mov eax, dword [0x8ca144]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x2b0], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x2a4], eax
call fcn.006f077c
lea eax, [ebp - 0x1d0]
push 0x103
push eax
call fcn.00407b10
mov ecx, eax
call fcn.00513100
mov dword [ebp - 4], 0
call fcn.00402330
cmp dword [ebp - 0x1bc], 0x10
lea edi, [ebp - 0x1d0]
cmovae edi, dword [ebp - 0x1d0]
lea ecx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x52ef60
sub edi, ecx
mov dword [ebp - 0x2ac], edi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov esi, eax
call fcn.006ee568
mov eax, esi
cdq
push edx
push eax
lea eax, [ebp - 0x200]
push eax
call fcn.00728d69
add esp, 0xc
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 1
push 0x102
push eax
call fcn.00407b10
mov ecx, eax
call fcn.00513100
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0x200]
mov byte [ebp - 4], 2
call fcn.00409720
mov eax, dword [ebp - 0x21c]
mov byte [ebp - 4], 1
cmp eax, 0x10
jb 0x52efe2
inc eax
lea ecx, [ebp - 0x230]
push eax
push dword [ebp - 0x230]
call fcn.004081f0
lea ecx, [ebp - 0x29c]
mov dword [ebp - 0x21c], 0xf
mov dword [ebp - 0x220], 0
mov byte [ebp - 0x230], 0
call fcn.00745786
cmp dword [ebp - 0x1ec], 0x10
lea eax, [ebp - 0x200]
push dword [ebp - 0x1f0]
cmovae eax, dword [ebp - 0x200]
lea ecx, [ebp - 0x29c]
push eax
call fcn.00746152
lea eax, [ebp - 0x1e8]
push eax
lea ecx, [ebp - 0x29c]
call fcn.007459a0
mov byte [ebp - 4], 3
mov dword [ebp - 0x2a8], 0
call fcn.00402330
xor esi, esi
xor ebx, ebx
mov dword [ebp - 0x2a0], esi
cmp dword [ebp + 0x10], ebx
jle 0x52f0fd
nop word [eax + eax]
push 0
lea ecx, [ebp - 0x1d0]
call fcn.00414480
mov ecx, dword [ebp - 0x2a4]
mov cl, byte [ecx + ebx]
cmp cl, byte [eax]
jne 0x52f0f3
test esi, esi
jne 0x52f0fd
xor eax, eax
mov dword [ebp - 0x2a8], ebx
test edi, edi
jle 0x52f0ed
nop word [eax + eax]
cmp dword [ebp - 0x1bc], 0x10
lea edx, [ebp - 0x1d0]
mov ecx, dword [ebp - 0x2a4]
cmovae edx, dword [ebp - 0x1d0]
add ecx, ebx
mov edi, dword [ebp - 0x2ac]
mov cl, byte [eax + ecx]
cmp cl, byte [eax + edx]
jne 0x52f0e3
inc esi
cmp esi, edi
je 0x52f0d6
inc eax
cmp eax, edi
jl 0x52f0a0
jmp 0x52f0ed
mov esi, 1
mov dword [ebp - 0x2a0], esi
jmp 0x52f0f3
mov dword [ebp - 0x2a8], 0
mov esi, dword [ebp - 0x2a0]
inc ebx
cmp ebx, dword [ebp + 0x10]
jl 0x52f070
cmp dword [ebp - 0x1bc], 0x10
lea ecx, [ebp - 0x1d0]
cmovae ecx, dword [ebp - 0x1d0]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x52f114
mov ebx, dword [ebp - 0x2a8]
sub ecx, edx
add ebx, ecx
mov dword [ebp - 0x2c0], 0
mov dword [ebp - 0x2bc], 0
mov dword [ebp - 0x2b8], 0
mov ecx, 0x69
mov byte [ebp - 4], 4
mov esi, str.tm57r3q7zJC1cScamHA9FAV0Q2ohs7UB9SGEljTf3VeqLLUQfpqrGt3ANUyM5WmcNlO2NXUVoB5sTaKoYtKOM7EjKgAnd9N67zLErW29dHbC0IAp3tkmGrj9KfMmOl1sTSfNBzpTkAi1OG5KwWqgXwqpIbdrEVxvvouDhdDZo5xJIADPjN9nVk5shxxaoFvVeuChYKC4rAI7ONMlJrkGj8hZlOMQAIJjPjpi2gp65GpWaOCuPpBXincDzPUzcHc5r04X7JznePNo8PjZet3XI6wwJVyHeZyXqImldAF28fc08b80GSfNLjPt468MWHWtlqueEkDDqmcLcynrITr92nUpF31vdVncuIMT3SwaAO7thmYUbRSvhldiwfAXRwiPL95lYgOAPTFy8XC1vfpr0K0H7YsDS3wP9YtiCl
lea edi, [ebp - 0x1b8]
rep movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x1b8]
push eax
lea ecx, [ebp - 0x218]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
call fcn.00405a50
lea eax, [ebp - 0x218]
mov byte [ebp - 4], 5
push eax
lea ecx, [ebp - 0x2c0]
call fcn.004082f0
mov eax, dword [ebp - 0x204]
mov byte [ebp - 4], 4
cmp eax, 0x10
jb 0x52f1a6
inc eax
lea ecx, [ebp - 0x218]
push eax
push dword [ebp - 0x218]
call fcn.004081f0
cmp dword [ebp - 0x2a0], 0
mov dword [ebp - 0x204], 0xf
mov dword [ebp - 0x208], 0
mov byte [ebp - 0x218], 0
je 0x52f226
mov esi, dword [ebp - 0x1d4]
lea edx, [ebp - 0x1e8]
mov edi, dword [ebp - 0x1e8]
cmp esi, 0x10
cmovae edx, edi
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x52f1e5
sub edx, ecx
xor ecx, ecx
add ebx, dword [ebp - 0x2a4]
cmp ecx, edx
jge 0x52f20e
cmp esi, 0x10
lea eax, [ebp - 0x1e8]
cmovae eax, edi
mov al, byte [eax + ecx]
mov byte [ecx + ebx], al
jmp 0x52f212
mov byte [ecx + ebx], 0
inc ecx
cmp ecx, 0x20
jge 0x52f226
mov esi, dword [ebp - 0x1d4]
mov edi, dword [ebp - 0x1e8]
jmp 0x52f1f6
call fcn.006f288d
cmp dword [ebp - 0x2a0], 0
je 0x52f292
mov esi, dword [ebp - 0x2b0]
push esi
call fcn.007388e1
add esp, 4
push 0
push 0x80
push 1
push 0
push 0
push 0x40000000
push esi
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
je 0x52f292
call fcn.006ede7d
push 0
lea eax, [ebp - 0x2b4]
mov dword [ebp - 0x2b4], 0
push eax
push dword [ebp + 0x10]
push dword [ebp - 0x2a4]
push esi
call dword [sym.imp.KERNEL32.dll_WriteFile]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [ebp - 0x2c0]
call fcn.00405be0
mov eax, dword [ebp - 0x1d4]
cmp eax, 0x10
jb 0x52f2bb
inc eax
lea ecx, [ebp - 0x1e8]
push eax
push dword [ebp - 0x1e8]
call fcn.004081f0
mov eax, dword [ebp - 0x1ec]
mov dword [ebp - 0x1d4], 0xf
mov dword [ebp - 0x1d8], 0
mov byte [ebp - 0x1e8], 0
cmp eax, 0x10
jb 0x52f2f4
inc eax
lea ecx, [ebp - 0x200]
push eax
push dword [ebp - 0x200]
call fcn.004081f0
mov eax, dword [ebp - 0x1bc]
mov dword [ebp - 0x1ec], 0xf
mov dword [ebp - 0x1f0], 0
mov byte [ebp - 0x200], 0
cmp eax, 0x10
jb 0x52f32d
inc eax
lea ecx, [ebp - 0x1d0]
push eax
push dword [ebp - 0x1d0]
call fcn.004081f0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.006e70bb
mov esp, ebp
pop ebp
ret 0xc