Function at 0x572290
Capabilities:
Read file on windows

Disassembly:
sub esp, 0x28
push ebx
mov ebx, dword [esp + 0x30]
push ebp
push esi
push edi
lea ebp, [ebx + 0x3c]
mov dword [ebx + 0x38], 0
mov dword [ebp], 0
nop dword [eax]
mov eax, dword [ebx + 0x48]
test byte [eax], 8
je 0x572525
mov ecx, dword [eax + 0x3c]
test ecx, ecx
je 0x5722d2
push 1
lea eax, [esp + 0x40]
push eax
push ebx
call ecx
add esp, 0xc
jmp 0x5722e6
push dword [eax + 0x38]
lea eax, [esp + 0x40]
push 1
push 1
push eax
call fcn.00589cb6
add esp, 0x10
cmp eax, 1
jne 0x572514
mov al, byte [esp + 0x3c]
cmp al, 0x21
je 0x572311
cmp al, 0x2c
je 0x57230a
cmp al, 0x3b
jne 0x5724f6
mov eax, 4
jmp 0x572316
mov eax, 2
jmp 0x572316
mov eax, 3
mov ecx, eax
sub ecx, 2
je 0x572412
sub ecx, 1
je 0x572346
cmp eax, 4
jne 0x5722b0
cmp dword [ebx + 0x18], 0
jne 0x572507
pop edi
pop esi
pop ebp
mov dword [ebx + 0x40], 0x69
xor eax, eax
pop ebx
add esp, 0x28
ret
mov eax, dword [ebx + 0x48]
test byte [eax], 8
je 0x572525
mov ecx, dword [eax + 0x3c]
test ecx, ecx
je 0x572368
push 1
lea eax, [esp + 0x17]
push eax
push ebx
call ecx
add esp, 0xc
jmp 0x57237c
push dword [eax + 0x38]
lea eax, [esp + 0x17]
push 1
push 1
push eax
call fcn.00589cb6
add esp, 0x10
cmp eax, 1
jne 0x572514
movzx esi, byte [esp + 0x13]
lea eax, [esp + 0x14]
push eax
push ebx
call fcn.00571940
add esp, 8
test eax, eax
je 0x57252c
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x5722b0
lea eax, [ecx + 1]
push eax
movzx eax, byte [ecx]
push eax
push esi
push ebp
lea esi, [ebx + 0x38]
push esi
call fcn.005725a0
add esp, 0x14
test eax, eax
je 0x57252c
nop word [eax + eax]
lea eax, [esp + 0x14]
push eax
push ebx
call fcn.00571940
add esp, 8
test eax, eax
je 0x57252c
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x5722b0
lea eax, [ecx + 1]
push eax
movzx eax, byte [ecx]
push eax
push 0
push ebp
push esi
call fcn.005725a0
add esp, 0x14
test eax, eax
jne 0x5723d0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret
push ebx
call fcn.005719f0
add esp, 4
test eax, eax
je 0x57252c
mov eax, dword [ebx + 0x18]
lea ecx, [eax + eax*8]
mov eax, dword [ebx + 0x34]
mov ebp, dword [eax + ecx*4 - 0x1c]
lea edi, [eax + ecx*4]
test ebp, ebp
jns 0x57244e
mov ecx, dword [edi - 0x18]
test ecx, ecx
jns 0x57244e
mov eax, closesocket
cdq
idiv ecx
cmp ebp, eax
jg 0x57252c
mov esi, dword [edi - 0x18]
imul esi, ebp
push 1
push esi
push 0
call fcn.005727f0
add esp, 0xc
mov dword [edi - 0xc], eax
test eax, eax
je 0x57252c
cmp byte [edi - 0x14], 0
je 0x5724cb
movaps xmm0, xmmword [0x605140]
xor ebp, ebp
movups xmmword [esp + 0x18], xmm0
movaps xmm0, xmmword [0x605150]
movups xmmword [esp + 0x28], xmm0
nop dword [eax]
mov esi, dword [esp + ebp + 0x18]
cmp esi, dword [edi - 0x18]
jge 0x5724c1
nop dword [eax]
mov eax, dword [edi - 0x1c]
push eax
imul eax, esi
add eax, dword [edi - 0xc]
push eax
push ebx
call fcn.00571ce0
add esp, 0xc
test eax, eax
je 0x57252c
add esi, dword [esp + ebp + 0x28]
cmp esi, dword [edi - 0x18]
jl 0x5724a0
add ebp, 4
cmp ebp, 0x10
jl 0x572490
jmp 0x5724da
push esi
push eax
push ebx
call fcn.00571ce0
add esp, 0xc
test eax, eax
je 0x57252c
mov eax, dword [ebx + 0x3c]
lea ebp, [ebx + 0x3c]
test eax, eax
je 0x5722b0
mov dword [edi - 4], eax
mov eax, dword [ebx + 0x38]
mov dword [edi - 8], eax
jmp 0x57229e
pop edi
pop esi
pop ebp
mov dword [ebx + 0x40], 0x6b
xor eax, eax
pop ebx
add esp, 0x28
ret
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x28
ret
pop edi
pop esi
pop ebp
mov dword [ebx + 0x40], 0x66
xor eax, eax
pop ebx
add esp, 0x28
ret
mov dword [ebx + 0x40], 0x6f
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x28
ret