Function at 0x560380
Capabilities:
Terminate process

Disassembly:
sub esp, 0x38
mov eax, dword [0x6687b8]
xor eax, esp
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x40]
push ebp
mov ebp, dword [esp + 0x40]
push esi
push edi
mov edi, ecx
xor ecx, ecx
cmp eax, 0xffffffff
mov esi, edx
mov dword [ebx + 8], ecx
mov dword [ebx + 0xc], ecx
mov dword [ebx + 0x10], ecx
mov dword [ebx], ecx
mov dword [ebx + 4], ecx
jne 0x5603cb
mov dword [ebx + 4], edi
mov eax, edi
pop edi
pop esi
mov dword [ebx], ebp
pop ebp
mov ecx, dword [esp + 0x34]
xor ecx, esp
call fcn.005d28b3
add esp, 0x38
ret
cmp eax, 3
jl 0x5603ee
push eax
push str.Unknown_compression_type__d
lea eax, [esp + 0x14]
push 0x32
push eax
call fcn.005d7813
add esp, 0x10
lea ecx, [esp + 0xc]
call fcn.0054c4a0
mov ecx, dword [esi + 0xb4]
mov edx, dword [esi + 0xb0]
mov dword [esi + 0x7c], edi
mov dword [esi + 0x78], ebp
mov dword [esi + 0x88], ecx
mov dword [esi + 0x84], edx
lea esp, [esp]
push 0
lea edi, [esi + 0x78]
call fcn.005644f0
add esp, 4
test eax, eax
jne 0x5605ec
cmp dword [esi + 0x88], eax
jne 0x560570
mov eax, dword [ebx + 8]
mov ebp, dword [ebx + 0xc]
cmp eax, ebp
jl 0x5604f1
mov edi, dword [ebx + 0x10]
add eax, 4
mov dword [ebx + 0xc], eax
add eax, eax
test edi, edi
je 0x5604be
add eax, eax
je 0x560486
mov ecx, dword [esi + 0x23c]
test ecx, ecx
push eax
je 0x560465
push esi
call ecx
add esp, 8
jmp 0x56046d
call fcn.005d3435
add esp, 4
test eax, eax
jne 0x560488
test dword [esi + 0x70], 0x100000
jne 0x560488
mov edi, str.Out_of_Memory
mov eax, esi
jmp fcn.0054c480
xor eax, eax
lea ecx, [ebp*4]
push ecx
push edi
push eax
mov dword [ebx + 0x10], eax
call fcn.005d8ed0
add esp, 0xc
test edi, edi
je 0x5604f1
mov eax, dword [esi + 0x240]
test eax, eax
push edi
je 0x5604b4
push esi
call eax
add esp, 8
jmp 0x5604f1
call fcn.005d27e0
add esp, 4
jmp 0x5604f1
add eax, eax
je 0x5604ec
mov ecx, dword [esi + 0x23c]
test ecx, ecx
push eax
je 0x5604d5
push esi
call ecx
add esp, 8
jmp 0x5604dd
call fcn.005d3435
add esp, 4
test eax, eax
jne 0x5604ee
test dword [esi + 0x70], 0x100000
je 0x56047a
jmp 0x5604ee
xor eax, eax
mov dword [ebx + 0x10], eax
mov eax, dword [esi + 0xb4]
test eax, eax
je 0x560529
mov ecx, dword [esi + 0x23c]
test ecx, ecx
push eax
je 0x56050e
push esi
call ecx
add esp, 8
jmp 0x560516
call fcn.005d3435
add esp, 4
test eax, eax
jne 0x56052b
test dword [esi + 0x70], 0x100000
je 0x56047a
jmp 0x56052b
xor eax, eax
mov edx, dword [ebx + 8]
mov ecx, dword [ebx + 0x10]
mov dword [ecx + edx*4], eax
mov edx, dword [esi + 0xb4]
mov eax, dword [esi + 0xb0]
mov ecx, dword [ebx + 8]
push edx
mov edx, dword [ebx + 0x10]
push eax
mov eax, dword [edx + ecx*4]
push eax
call fcn.005d8ed0
add esp, 0xc
add dword [ebx + 8], 1
mov ecx, dword [esi + 0xb4]
mov edx, dword [esi + 0xb0]
mov dword [esi + 0x88], ecx
mov dword [esi + 0x84], edx
cmp dword [esi + 0x7c], 0
jne 0x560410
lea ebx, [ebx]
push 4
lea edi, [esi + 0x78]
call fcn.005644f0
add esp, 4
test eax, eax
jne 0x560693
cmp dword [esi + 0x88], eax
jne 0x560580
mov eax, dword [ebx + 8]
mov ebp, dword [ebx + 0xc]
cmp eax, ebp
jl 0x56060f
mov edi, dword [ebx + 0x10]
add eax, 4
lea ecx, [eax*4]
mov dword [ebx + 0xc], eax
call fcn.00560060
test edi, edi
mov dword [ebx + 0x10], eax
je 0x56060f
lea ecx, [ebp*4]
push ecx
push edi
push eax
call fcn.005d8ed0
add esp, 0xc
test edi, edi
je 0x56060f
mov eax, dword [esi + 0x240]
test eax, eax
push edi
je 0x560607
push esi
call eax
add esp, 8
jmp 0x56060f
mov edi, dword [esi + 0x90]
test edi, edi
mov eax, esi
je 0x5605fd
jmp fcn.0054c480
mov edi, str.zlib_error
jmp fcn.0054c480
call fcn.005d27e0
add esp, 4
mov eax, dword [esi + 0xb4]
test eax, eax
je 0x560647
mov ecx, dword [esi + 0x23c]
test ecx, ecx
push eax
je 0x56062c
push esi
call ecx
add esp, 8
jmp 0x560634
call fcn.005d3435
add esp, 4
test eax, eax
jne 0x560649
test dword [esi + 0x70], 0x100000
je 0x56047a
jmp 0x560649
xor eax, eax
mov edx, dword [ebx + 8]
mov ecx, dword [ebx + 0x10]
mov dword [ecx + edx*4], eax
mov edx, dword [esi + 0xb4]
mov eax, dword [esi + 0xb0]
mov ecx, dword [ebx + 8]
push edx
mov edx, dword [ebx + 0x10]
push eax
mov eax, dword [edx + ecx*4]
push eax
call fcn.005d8ed0
add esp, 0xc
add dword [ebx + 8], 1
mov ecx, dword [esi + 0xb4]
mov edx, dword [esi + 0xb0]
mov dword [esi + 0x88], ecx
mov dword [esi + 0x84], edx
jmp 0x560580
cmp eax, 1
jne 0x5605ec
mov ecx, dword [esi + 0xb4]
mov eax, dword [ebx + 8]
mov esi, dword [esi + 0x88]
imul eax, ecx
cmp esi, ecx
jae 0x5606b6
sub ecx, esi
add eax, ecx
mov ecx, dword [esp + 0x40]
pop edi
pop esi
pop ebp
xor ecx, esp
call fcn.005d28b3
add esp, 0x38
ret