Function at 0x568700
Capabilities:
Read file on windows
Write file on windows

Disassembly:
sub esp, 0x44
push ebx
push ebp
push esi
mov esi, dword [sym.imp.KERNEL32.dll_GlobalAlloc]
push edi
push 0x20004
push 0x42
mov ebx, 0x8007000e
call esi
mov edi, dword [sym.imp.KERNEL32.dll_GlobalLock]
push eax
call edi
mov ebp, eax
test ebp, ebp
mov dword [esp + 0x14], ebp
je 0x56882a
mov eax, dword [esp + 0x60]
cmp word [eax + 4], 0
jne 0x568836
mov esi, dword [esp + 0x64]
test esi, esi
mov edi, dword [eax + 0x10]
je 0x568757
mov eax, dword [esi]
push 0
push edi
push 0
push esi
call dword [eax + 0xc]
xor ebx, ebx
lea esp, [esp]
test edi, edi
jbe 0x5687fc
cmp edi, 0x20000
mov eax, 0x20000
ja 0x568777
mov eax, edi
mov edx, dword [esp + 0x58]
push 0
lea ecx, [esp + 0x68]
push ecx
push eax
mov eax, dword [edx + 8]
push ebp
push eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x5687f7
test esi, esi
je 0x5687be
mov ecx, dword [esi]
push esi
call dword [ecx + 0x1c]
mov ebx, eax
cmp ebx, 0x8004e00c
je 0x5687fc
mov eax, dword [esp + 0x60]
mov ecx, dword [eax + 0x10]
mov edx, dword [esi]
push 0
sub ecx, edi
push ecx
push esi
call dword [edx + 0x18]
mov ebx, eax
test ebx, ebx
jl 0x5687fc
mov eax, dword [esp + 0x64]
push 0
lea edx, [esp + 0x18]
push edx
push eax
sub edi, eax
mov eax, dword [esp + 0x68]
push ebp
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x5687f0
mov ecx, dword [esp + 0x14]
cmp ecx, dword [esp + 0x64]
jne 0x5687f0
test ebx, ebx
jge 0x568760
jmp 0x5687fc
mov ebx, 0x8004e009
jmp 0x5687fc
mov ebx, 0x8004e008
test esi, esi
je 0x568810
mov eax, dword [esp + 0x60]
mov ecx, dword [eax + 0x10]
mov edx, dword [esi]
push 0
push ecx
push esi
call dword [edx + 0x18]
mov esi, dword [sym.imp.KERNEL32.dll_GlobalHandle]
push ebp
call esi
push eax
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push ebp
call esi
push eax
call dword [sym.imp.KERNEL32.dll_GlobalFree]
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
add esp, 0x44
ret 0x10
push 0x23333
push 0x42
call esi
push eax
call edi
mov esi, eax
test esi, esi
mov dword [esp + 0x10], esi
je 0x568810
mov edx, dword [esp + 0x60]
mov ebp, dword [edx + 0x10]
xor eax, eax
push 0x38
mov ecx, 0xe
lea edi, [esp + 0x20]
rep stosd dword es:[edi], eax
push str.1.1.3
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], eax
push 0xfffffffffffffff1
lea eax, [esp + 0x28]
push eax
xor ebx, ebx
call fcn.00589030
test eax, eax
jne 0x5689da
mov edi, dword [esp + 0x64]
test edi, edi
je 0x5688a1
mov edx, dword [esp + 0x60]
mov eax, dword [edx + 0x10]
mov ecx, dword [edi]
push ebx
push eax
push ebx
push edi
call dword [ecx + 0xc]
mov dword [esp + 0x28], esi
mov esi, dword [esp + 0x14]
mov dword [esp + 0x2c], 0x23333
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], esi
lea ecx, [ecx]
test ebp, ebp
jbe 0x56893a
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x568942
cmp ebp, 0x20000
mov eax, 0x20000
ja 0x5688db
mov eax, ebp
mov edx, dword [esp + 0x58]
push 0
lea ecx, [esp + 0x68]
push ecx
push eax
mov eax, dword [edx + 8]
push esi
push eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x568942
test edi, edi
je 0x56892a
mov ecx, dword [edi]
push edi
call dword [ecx + 0x1c]
mov ebx, eax
cmp ebx, 0x8004e00c
je 0x5689af
mov eax, dword [esp + 0x60]
mov ecx, dword [eax + 0x10]
mov edx, dword [edi]
push 0
sub ecx, ebp
push ecx
push edi
call dword [edx + 0x18]
mov ebx, eax
test ebx, ebx
jl 0x5689af
mov eax, dword [esp + 0x64]
sub ebp, eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], esi
jmp 0x568942
mov dword [esp + 0x20], 1
push 0
lea edx, [esp + 0x20]
push edx
call fcn.00589150
mov esi, eax
test esi, esi
je 0x568959
cmp esi, 1
jne 0x5689aa
mov ecx, dword [esp + 0x2c]
cmp ecx, 0x23333
jae 0x568998
mov edx, dword [esp + 0x10]
push 0
mov eax, 0x23333
sub eax, ecx
lea ecx, [esp + 0x1c]
push ecx
push eax
mov eax, dword [esp + 0x68]
push edx
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x5689aa
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x2c], 0x23333
mov dword [esp + 0x28], ecx
cmp esi, 1
je 0x5689af
test ebx, ebx
jl 0x5689af
mov esi, dword [esp + 0x14]
jmp 0x5688c0
mov ebx, 0x8004e009
lea edx, [esp + 0x1c]
push edx
call fcn.00588fe0
test eax, eax
je 0x5689c2
mov ebx, 0x8004e009
test edi, edi
je 0x5689d6
mov ecx, dword [esp + 0x60]
mov edx, dword [ecx + 0x10]
mov eax, dword [edi]
push 0
push edx
push edi
call dword [eax + 0x18]
mov esi, dword [esp + 0x10]
push esi
mov esi, dword [sym.imp.KERNEL32.dll_GlobalHandle]
call esi
push eax
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov eax, dword [esp + 0x10]
push eax
call esi
push eax
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov ebp, dword [esp + 0x14]
jmp 0x568816