Function at 0x5ef260
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x716a5d
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x40
push ebx
mov eax, dword [esp + 0x58]
push ebp
push esi
push edi
mov edi, ecx
xor ebp, ebp
lea ecx, [esp + 0x30]
push ebp
push ecx
mov ecx, dword [esp + 0x68]
mov ebx, 0xd
push ebp
push eax
mov dword [esp + 0x40], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x50], ebx
mov dword [edi], eax
mov dword [edi + 4], ebp
mov dword [edi + 8], ebp
mov dword [edi + 0xc], ebp
mov dword [edi + 0x10], ebp
call fcn.005f0d70
cmp dword [eax], 8
jne 0x5ef760
mov ecx, dword [esp + 0x38]
mov edx, dword [ecx]
call dword [edx + 0x48]
lea ecx, [esp + 0x20]
push ebp
push ecx
push 0x797e38
mov ecx, eax
call fcn.005f4430
mov esi, dword [eax]
xor edx, edx
cmp esi, 1
sete dl
mov eax, edx
cmp eax, ebp
jne 0x5ef2f6
lea ecx, [esp + 0x20]
call fcn.005f2e10
jmp 0x5ef760
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0x20]
mov dword [edi + 4], eax
call fcn.005f2e10
cmp dword [edi + 4], ebp
jle 0x5ef760
mov ecx, dword [esp + 0x38]
mov edx, dword [ecx]
call dword [edx + 0x48]
lea ecx, [esp + 0x20]
push ebp
push ecx
push str.First
mov ecx, eax
call fcn.005f4430
mov esi, dword [eax]
xor edx, edx
cmp esi, 1
sete dl
mov eax, edx
cmp eax, ebp
jne 0x5ef348
lea ecx, [esp + 0x20]
call fcn.005f2e10
jmp 0x5ef760
mov esi, dword [esp + 0x28]
lea ecx, [esp + 0x20]
mov dword [esp + 0x18], esi
call fcn.005f2e10
cmp esi, ebp
jl 0x5ef760
mov esi, dword [edi + 4]
cmp esi, 0xf4240
jle 0x5ef382
push str.Too_many_objects_in_an_object_stream
push 0xffffffffffffffff
push 1
call fcn.006033f0
add esp, 0xc
jmp 0x5ef760
mov eax, esi
shl eax, 4
push eax
call fcn.0044f661
add esp, 4
cmp eax, ebp
je 0x5ef3a8
lea edx, [esi - 1]
mov ecx, eax
cmp edx, ebp
jl 0x5ef3aa
inc edx
mov dword [ecx], ebx
add ecx, 0x10
dec edx
jne 0x5ef39e
jmp 0x5ef3aa
xor eax, eax
mov ecx, dword [edi + 4]
push 4
push ecx
mov dword [edi + 8], eax
call fcn.005f6f20
mov edx, dword [edi + 4]
push 4
push edx
mov dword [edi + 0xc], eax
call fcn.005f6f20
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x74], eax
add esp, 0x10
mov eax, dword [ecx]
call dword [eax + 0x10]
push 0x28
mov dword [esp + 0x24], 5
call fcn.0044f661
add esp, 4
mov dword [esp + 0x14], eax
cmp eax, ebp
mov dword [esp + 0x58], ebp
je 0x5ef410
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x20]
push ecx
mov ecx, dword [esp + 0x3c]
push 1
push edx
push ecx
mov ecx, eax
call fcn.005e6f30
mov esi, eax
jmp 0x5ef412
xor esi, esi
or ebx, 0xffffffff
push 0xa0
mov dword [esp + 0x5c], ebx
call fcn.0044f661
add esp, 4
mov dword [esp + 0x14], eax
cmp eax, ebp
mov dword [esp + 0x58], 1
je 0x5ef445
mov edx, dword [esp + 0x60]
push esi
push edx
mov ecx, eax
call fcn.005f5f30
mov ebp, eax
push 0x38
mov dword [esp + 0x5c], ebx
call fcn.0044f661
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
mov dword [esp + 0x58], 2
je 0x5ef476
mov ecx, dword [esp + 0x60]
push 0
push ebp
push ecx
mov ecx, eax
call fcn.005f55f0
mov ebx, eax
jmp 0x5ef478
xor ebx, ebx
mov eax, dword [edi + 4]
xor esi, esi
test eax, eax
mov dword [esp + 0x58], 0xffffffff
jle 0x5ef52d
push 0
push 0
push 0
push 0
push 0
push 0
lea edx, [esp + 0x38]
push 1
push edx
mov ecx, ebx
call fcn.005f5670
push 0
push 0
push 0
push 0
push 0
push 0
lea eax, [esp + 0x58]
push 1
push eax
mov ecx, ebx
call fcn.005f5670
mov ecx, dword [esp + 0x20]
mov eax, 1
cmp ecx, eax
jne 0x5ef5a3
cmp dword [esp + 0x40], eax
jne 0x5ef5a3
mov ecx, dword [edi + 0xc]
mov edx, dword [esp + 0x28]
mov dword [ecx + esi*4], edx
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x48]
mov dword [ecx + esi*4], eax
lea ecx, [esp + 0x20]
call fcn.005f2e10
lea ecx, [esp + 0x40]
call fcn.005f2e10
mov edx, dword [edi + 0xc]
mov ecx, dword [esp + 0x64]
cmp dword [edx + esi*4], 0
jl 0x5ef57d
mov eax, dword [ecx + esi*4]
test eax, eax
jl 0x5ef57d
test esi, esi
jle 0x5ef521
cmp eax, dword [ecx + esi*4 - 4]
jl 0x5ef57d
mov eax, dword [edi + 4]
inc esi
cmp esi, eax
jl 0x5ef48d
mov ecx, ebp
call fcn.005f6e30
xor ebp, ebp
cmp ebx, ebp
je 0x5ef54a
mov ecx, ebx
call fcn.005f5640
push ebx
call fcn.0044f656
add esp, 4
mov esi, dword [esp + 0x64]
mov edx, dword [esp + 0x18]
mov eax, dword [esi]
cmp edx, eax
jge 0x5ef564
mov ecx, dword [esp + 0x38]
sub eax, edx
push eax
mov ebx, dword [ecx]
call dword [ebx + 0x2c]
mov eax, dword [edi + 4]
mov dword [esp + 0x10], ebp
cmp eax, ebp
jle 0x5ef747
mov dword [esp + 0x18], ebp
mov dword [esp + 0x14], esi
jmp 0x5ef5df
test ebx, ebx
je 0x5ef595
mov ecx, ebx
call fcn.005f5640
push ebx
call fcn.0044f656
mov ecx, dword [esp + 0x68]
add esp, 4
push ecx
call fcn.005f6fd0
add esp, 4
jmp 0x5ef757
lea ecx, [esp + 0x20]
call fcn.005f2e10
lea ecx, [esp + 0x40]
call fcn.005f2e10
test ebx, ebx
je 0x5ef5c9
mov ecx, ebx
call fcn.005f5640
push ebx
call fcn.0044f656
add esp, 4
mov eax, dword [esp + 0x64]
push eax
call fcn.005f6fd0
add esp, 4
jmp 0x5ef757
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
dec eax
mov ebx, 5
cmp ecx, eax
mov dword [esp + 0x20], ebx
push 0x28
jne 0x5ef638
call fcn.0044f661
add esp, 4
mov dword [esp + 0x1c], eax
test eax, eax
mov dword [esp + 0x58], 3
je 0x5ef62b
mov edx, dword [esp + 0x38]
push 0
lea ecx, [esp + 0x24]
push 0
push ecx
push edx
mov ecx, eax
call fcn.005e6f30
or ebp, 0xffffffff
mov esi, eax
mov dword [esp + 0x58], ebp
jmp 0x5ef67c
xor eax, eax
or ebp, 0xffffffff
mov dword [esp + 0x58], ebp
mov esi, eax
jmp 0x5ef67c
call fcn.0044f661
add esp, 4
mov dword [esp + 0x1c], eax
test eax, eax
mov dword [esp + 0x58], 4
je 0x5ef66d
mov ecx, dword [esi + 4]
mov ebp, dword [esi]
sub ecx, ebp
lea edx, [esp + 0x20]
push ecx
mov ecx, dword [esp + 0x3c]
push 1
push edx
push ecx
mov ecx, eax
call fcn.005e6f30
jmp 0x5ef66f
xor eax, eax
mov dword [esp + 0x58], 0xffffffff
mov esi, eax
or ebp, 0xffffffff
push 0xa0
call fcn.0044f661
add esp, 4
mov dword [esp + 0x1c], eax
test eax, eax
mov dword [esp + 0x58], ebx
je 0x5ef6a6
mov edx, dword [esp + 0x60]
push esi
push edx
mov ecx, eax
call fcn.005f5f30
mov ebx, eax
jmp 0x5ef6a8
xor ebx, ebx
push 0x38
mov dword [esp + 0x5c], ebp
call fcn.0044f661
add esp, 4
mov dword [esp + 0x1c], eax
test eax, eax
mov dword [esp + 0x58], 6
je 0x5ef6d9
mov ecx, dword [esp + 0x60]
push 0
push ebx
push ecx
mov ecx, eax
call fcn.005f55f0
mov esi, eax
jmp 0x5ef6db
xor esi, esi
mov edx, dword [esp + 0x18]
push 0
push 0
mov dword [esp + 0x60], ebp
mov ebp, dword [edi + 8]
push 0
push 0
push 0
push 0
add edx, ebp
push 0
push edx
mov ecx, esi
call fcn.005f5670
mov ecx, ebx
call fcn.005f6e30
test esi, esi
je 0x5ef719
mov ecx, esi
call fcn.005f5640
push esi
call fcn.0044f656
add esp, 4
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov eax, dword [edi + 4]
inc ecx
add ebx, 4
add esi, 0x10
cmp ecx, eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], esi
jl 0x5ef5db
mov esi, dword [esp + 0x64]
push esi
call fcn.005f6fd0
add esp, 4
mov dword [edi + 0x10], 1
mov ecx, dword [esp + 0x38]
mov eax, dword [ecx]
call dword [eax + 0x14]
lea ecx, [esp + 0x30]
call fcn.005f2e10
mov ecx, dword [esp + 0x50]
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x4c
ret 8