Function at 0x559770
Capabilities:
Terminate process

Disassembly:
sub esp, 0x14
mov eax, dword [0x6687b8]
xor eax, esp
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x18]
push esi
mov esi, ecx
mov dword [esp + 8], eax
mov eax, dword [esi + 0x260]
test eax, eax
mov dword [esp + 4], 0
je 0x5597ec
cmp eax, 1
jne 0x5597b9
mov eax, dword [esp + 0x20]
call fcn.00556840
pop esi
mov ecx, dword [esp + 0x10]
xor ecx, esp
call fcn.005d28b3
add esp, 0x14
ret
add eax, 0xffffffff
cmp eax, 1
mov dword [esi + 0x260], eax
jne 0x5597ec
mov ecx, str.No_space_in_chunk_cache_for_unknown_chunk
call fcn.0054c4a0
mov eax, dword [esp + 0x20]
mov ecx, esi
call fcn.00556840
pop esi
mov ecx, dword [esp + 0x10]
xor ecx, esp
call fcn.005d28b3
add esp, 0x14
ret
push ebx
mov ebx, dword [esi + 0x6c]
test bl, 4
push ebp
push edi
je 0x5598a4
mov byte [esp + 0x18], 0x49
mov byte [esp + 0x19], 0x44
mov byte [esp + 0x1a], 0x41
mov byte [esp + 0x1b], 0x54
mov byte [esp + 0x1c], 0
mov eax, 4
lea ecx, [esp + 0x18]
lea edx, [esi + 0x11c]
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x55983b
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x559823
test eax, eax
je 0x559898
movzx ebp, byte [ecx]
movzx edi, byte [edx]
sub edi, ebp
jne 0x55988a
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x559898
movzx ebp, byte [ecx]
movzx edi, byte [edx]
sub edi, ebp
jne 0x55988a
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x559898
movzx ebp, byte [ecx]
movzx edi, byte [edx]
sub edi, ebp
jne 0x55988a
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x559898
movzx ecx, byte [ecx]
movzx edi, byte [edx]
sub edi, ecx
je 0x559898
test edi, edi
mov eax, 1
jg 0x55989a
or eax, 0xffffffff
jmp 0x55989a
xor eax, eax
test eax, eax
je 0x5598a4
or ebx, 8
mov dword [esi + 0x6c], ebx
test byte [esi + 0x11c], 0x20
lea ebp, [esi + 0x11c]
jne 0x5598d6
push ebp
mov ecx, esi
call fcn.0054b610
add esp, 4
cmp eax, 3
je 0x5598d6
cmp dword [esi + 0x21c], 0
jne 0x5598d6
mov edx, str.unknown_critical_chunk
jmp fcn.0054c5d0
test dword [esi + 0x70], 0x8000
jne 0x5598f5
cmp dword [esi + 0x21c], 0
jne 0x5598f5
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x10], edx
jmp 0x5599ea
mov eax, dword [ebp]
mov ebx, dword [esp + 0x2c]
test ebx, ebx
mov cl, byte [ebp + 4]
lea edi, [esi + 0x28c]
mov dword [edi], eax
mov byte [edi + 4], cl
mov byte [esi + 0x290], 0
mov dword [esi + 0x298], ebx
jne 0x559923
mov dword [esi + 0x294], ebx
jmp 0x559962
mov eax, dword [esi + 0x23c]
test eax, eax
push ebx
je 0x559936
push esi
call eax
add esp, 8
jmp 0x55993e
call fcn.005d3435
add esp, 4
test eax, eax
jne 0x559957
test dword [esi + 0x70], 0x100000
jne 0x559957
mov edi, str.Out_of_Memory
mov eax, esi
jmp fcn.0054c480
mov dword [esi + 0x294], eax
call fcn.005567d0
mov eax, dword [esi + 0x21c]
test eax, eax
je 0x5599aa
push edi
push esi
call eax
add esp, 8
test eax, eax
jge 0x559981
mov edx, str.error_in_user_chunk
jmp fcn.0054c5d0
jne 0x5599bb
test byte [ebp], 0x20
jne 0x5599a3
push ebp
mov ecx, esi
call fcn.0054b610
add esp, 4
cmp eax, 3
je 0x5599a3
mov edx, str.unknown_critical_chunk
jmp fcn.0054c5d0
mov edx, dword [esp + 0x14]
push edx
jmp 0x5599af
mov eax, dword [esp + 0x14]
push eax
mov ebx, edi
mov eax, esi
call fcn.0054da70
add esp, 4
mov ecx, dword [esi + 0x294]
test ecx, ecx
je 0x5599e0
mov eax, dword [esi + 0x240]
test eax, eax
push ecx
je 0x5599d8
push esi
call eax
add esp, 8
jmp 0x5599e0
call fcn.005d27e0
add esp, 4
mov dword [esi + 0x294], 0
mov eax, dword [esp + 0x10]
mov ecx, esi
call fcn.00556840
mov ecx, dword [esp + 0x20]
pop edi
pop ebp
pop ebx
pop esi
xor ecx, esp
call fcn.005d28b3
add esp, 0x14
ret