Function at 0x4bbac0
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4bc5cf
sub esp, 0x80
lea eax, [0x5b89e0]
mov dword [esp], eax
call dbg.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x58], eax
mov ecx, dword [esp + 0x88]
mov dword [esp], ecx
mov edx, dword [esp + 0x8c]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x2e
mov dword [esp + 0x10], 0x2e
call dbg.io.ReadFull
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x4bc520
mov eax, dword [esp + 0x58]
test byte [eax], al
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], 0x2e
mov dword [esp + 0x70], 0x2e
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
cmp ecx, 3
jbe 0x4bc5c8
add ecx, 0xfffffffc
mov edx, dword [eax]
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], 0x2a
lea ecx, [eax + 4]
mov dword [esp + 0x68], ecx
cmp edx, 0x2014b50
jne 0x4bc4ff
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x70]
cmp ecx, 1
jbe 0x4bc5c1
add ecx, 0xfffffffe
movzx ebx, word [eax + 4]
mov dword [esp + 0x6c], ecx
lea ecx, [edx - 2]
mov dword [esp + 0x70], ecx
neg ecx
sar ecx, 0x1f
and ecx, 2
lea eax, [ecx + eax + 4]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x84]
mov word [eax + 8], bx
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x6c]
cmp ebx, 1
jbe 0x4bc5ba
add ebx, 0xfffffffe
movzx ebp, word [edx]
mov dword [esp + 0x6c], ebx
add ecx, 0xfffffffe
mov dword [esp + 0x70], ecx
neg ecx
sar ecx, 0x1f
and ecx, 2
add ecx, edx
mov dword [esp + 0x68], ecx
mov word [eax + 0xa], bp
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x6c]
cmp ebx, 1
jbe 0x4bc5b3
add ebx, 0xfffffffe
movzx ebp, word [edx]
mov dword [esp + 0x6c], ebx
add ecx, 0xfffffffe
mov dword [esp + 0x70], ecx
neg ecx
sar ecx, 0x1f
and ecx, 2
add ecx, edx
mov dword [esp + 0x68], ecx
mov word [eax + 0xc], bp
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x70]
mov ebx, dword [esp + 0x68]
cmp ecx, 1
jbe 0x4bc5ac
add ecx, 0xfffffffe
movzx ebp, word [ebx]
mov dword [esp + 0x6c], ecx
lea ecx, [edx - 2]
mov dword [esp + 0x70], ecx
neg ecx
sar ecx, 0x1f
and ecx, 2
add ecx, ebx
mov dword [esp + 0x68], ecx
mov word [eax + 0xe], bp
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x70]
cmp edx, 1
jbe 0x4bc5a5
add edx, 0xfffffffe
movzx ebp, word [ecx]
mov dword [esp + 0x6c], edx
lea edx, [ebx - 2]
mov dword [esp + 0x70], edx
neg edx
sar edx, 0x1f
and edx, 2
add ecx, edx
mov dword [esp + 0x68], ecx
mov word [eax + 0x10], bp
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x6c]
cmp ebx, 1
jbe 0x4bc59e
add ebx, 0xfffffffe
movzx ebp, word [edx]
mov dword [esp + 0x6c], ebx
add ecx, 0xfffffffe
mov dword [esp + 0x70], ecx
neg ecx
sar ecx, 0x1f
and ecx, 2
add ecx, edx
mov dword [esp + 0x68], ecx
mov word [eax + 0x12], bp
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x68]
cmp edx, 3
jbe 0x4bc597
add edx, 0xfffffffc
mov ebp, dword [ebx]
mov dword [esp + 0x6c], edx
add ecx, 0xfffffffc
mov dword [esp + 0x70], ecx
neg ecx
sar ecx, 0x1f
and ecx, 4
add ecx, ebx
mov dword [esp + 0x68], ecx
mov dword [eax + 0x14], ebp
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x70]
cmp edx, 3
jbe 0x4bc590
add edx, 0xfffffffc
mov ebp, dword [ecx]
mov dword [esp + 0x6c], edx
lea edx, [ebx - 4]
mov dword [esp + 0x70], edx
neg edx
sar edx, 0x1f
and edx, 4
add ecx, edx
mov dword [esp + 0x68], ecx
mov dword [eax + 0x18], ebp
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x6c]
cmp ebx, 3
jbe 0x4bc589
add ebx, 0xfffffffc
mov ebp, dword [edx]
mov dword [esp + 0x6c], ebx
add ecx, 0xfffffffc
mov dword [esp + 0x70], ecx
neg ecx
sar ecx, 0x1f
and ecx, 4
add ecx, edx
mov dword [esp + 0x68], ecx
mov dword [eax + 0x1c], ebp
mov ecx, dword [eax + 0x18]
mov dword [eax + 0x20], ecx
mov dword [eax + 0x24], 0
mov ecx, dword [eax + 0x1c]
mov dword [eax + 0x28], ecx
mov dword [eax + 0x2c], 0
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x70]
cmp edx, 1
jbe 0x4bc582
movzx ebp, word [ecx]
add edx, 0xfffffffe
mov dword [esp + 0x6c], edx
lea edx, [ebx - 2]
mov dword [esp + 0x70], edx
neg edx
sar edx, 0x1f
and edx, 2
lea ebx, [ecx + edx]
mov dword [esp + 0x68], ebx
mov esi, dword [esp + 0x6c]
mov edi, dword [esp + 0x70]
cmp esi, 1
jbe 0x4bc57b
movzx ecx, word [ecx + edx]
mov dword [esp + 0x50], ecx
lea edx, [esi - 2]
mov dword [esp + 0x6c], edx
lea edx, [edi - 2]
mov dword [esp + 0x70], edx
neg edx
sar edx, 0x1f
and edx, 2
lea esi, [ebx + edx]
mov dword [esp + 0x68], esi
mov edi, dword [esp + 0x6c]
mov ecx, dword [esp + 0x70]
cmp edi, 1
jbe 0x4bc574
movzx edx, word [ebx + edx]
lea ebx, [edi - 2]
mov dword [esp + 0x6c], ebx
add ecx, 0xfffffffe
mov dword [esp + 0x70], ecx
neg ecx
sar ecx, 0x1f
and ecx, 2
add ecx, esi
mov dword [esp + 0x68], ecx
mov ebx, dword [esp + 0x6c]
mov esi, dword [esp + 0x70]
cmp ebx, 4
jb 0x4bc56d
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x48], edx
lea edi, [esi - 4]
mov dword [esp + 0x44], edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edi, 4
lea edx, [edi + ecx]
mov dword [esp + 0x68], edx
lea ebp, [ebx - 4]
mov dword [esp + 0x6c], ebp
mov eax, dword [esp + 0x44]
mov dword [esp + 0x70], eax
cmp ebp, 3
jbe 0x4bc566
lea eax, [ebx - 8]
mov ecx, dword [ecx + edi]
mov dword [esp + 0x6c], eax
lea eax, [esi - 8]
mov dword [esp + 0x70], eax
neg eax
sar eax, 0x1f
and eax, 4
add eax, edx
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x84]
mov dword [eax + 0x3c], ecx
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x6c]
cmp ebx, 3
jbe 0x4bc55f
add ebx, 0xfffffffc
mov ebp, dword [edx]
mov dword [esp + 0x6c], ebx
add ecx, 0xfffffffc
mov dword [esp + 0x70], ecx
neg ecx
sar ecx, 0x1f
and ecx, 4
add ecx, edx
mov dword [esp + 0x68], ecx
mov dword [eax + 0x5c], ebp
mov dword [eax + 0x60], 0
lea ecx, [0x5be360]
mov dword [esp], ecx
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x4c]
lea ebx, [edx + ecx]
mov dword [esp + 0x44], ebx
mov ebp, dword [esp + 0x48]
add ebp, ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], ebp
call dbg.runtime.makeslice
mov eax, dword [esp + 0x14]
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x54], ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x24], edx
mov ebx, dword [esp + 0x88]
mov dword [esp], ebx
mov ebx, dword [esp + 0x8c]
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], eax
call dbg.io.ReadFull
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
test eax, eax
jne 0x4bc4ea
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x28]
cmp eax, ecx
ja 0x4bc558
mov dword [esp], 0
mov edx, dword [esp + 0x54]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
call dbg.runtime.slicebytetostring
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x84]
mov dword [edx + 4], ecx
mov ecx, dword [0x728500]
test ecx, ecx
jne 0x4bc4d2
mov dword [edx], eax
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x44]
cmp eax, ecx
ja 0x4bc551
mov ebx, dword [esp + 0x28]
cmp ecx, ebx
ja 0x4bc551
mov ebp, dword [esp + 0x50]
mov dword [edx + 0x34], ebp
mov ebp, ebx
sub ebx, eax
mov dword [edx + 0x38], ebx
mov esi, dword [0x728500]
lea edi, [edx + 0x30]
neg ebx
sar ebx, 0x1f
and eax, ebx
mov ebx, dword [esp + 0x54]
add eax, ebx
test esi, esi
jne 0x4bc4ae
mov dword [edx + 0x30], eax
mov eax, dword [esp + 0x24]
cmp ecx, eax
ja 0x4bc54a
mov dword [esp], 0
sub ebp, ecx
mov edx, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, ecx
add ebx, ebp
mov dword [esp + 4], ebx
sub eax, ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
call dbg.runtime.slicebytetostring
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x84]
mov dword [edx + 0x44], ecx
mov ecx, dword [0x728500]
lea ebx, [edx + 0x40]
test ecx, ecx
jne 0x4bc496
mov dword [edx + 0x40], eax
mov eax, dword [edx + 0x1c]
mov ecx, dword [edx + 0x18]
cmp ecx, 0xffffffff
sete bl
mov ebp, dword [edx + 0x5c]
mov esi, dword [edx + 0x60]
cmp ebp, 0xffffffff
xchg ebp, ebx
sete bl
xchg ebp, ebx
test esi, esi
xchg esi, ebx
sete bl
xchg esi, ebx
and esi, ebp
mov ebp, dword [edx + 0x38]
mov edi, dword [edx + 0x30]
mov edx, dword [edx + 0x34]
test edx, edx
jle 0x4bc48d
mov dword [esp + 0x40], ecx
mov byte [esp + 0x23], bl
xchg esi, eax
mov byte [esp + 0x22], al
xchg esi, eax
mov dword [esp + 0x74], edi
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], ebp
jmp 0x4bc0ce
sub esi, edx
mov edi, esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, edx
add ebp, esi
mov dword [esp + 0x74], ebp
sub ebx, edx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], edi
mov ecx, dword [esp + 0x40]
movzx ebx, byte [esp + 0x23]
movzx esi, byte [esp + 0x22]
mov edx, dword [esp + 0x78]
mov ebp, dword [esp + 0x74]
mov edi, dword [esp + 0x7c]
cmp edx, 4
jl 0x4bc484
add edx, 0xfffffffe
movzx ecx, word [ebp]
mov dword [esp + 0x78], edx
lea edx, [edi - 2]
mov dword [esp + 0x7c], edx
neg edx
sar edx, 0x1f
and edx, 2
lea edi, [ebp + edx]
mov dword [esp + 0x74], edi
mov ebx, dword [esp + 0x7c]
mov esi, dword [esp + 0x78]
cmp esi, 1
jbe 0x4bc543
movzx edx, word [ebp + edx]
lea ebp, [esi - 2]
mov dword [esp + 0x78], ebp
add ebx, 0xfffffffe
mov dword [esp + 0x7c], ebx
neg ebx
sar ebx, 0x1f
and ebx, 2
mov dword [esp + 0x50], ebx
lea ebp, [edi + ebx]
mov dword [esp + 0x74], ebp
mov esi, dword [esp + 0x7c]
mov ebx, dword [esp + 0x78]
cmp edx, ebx
jg 0x4bc475
cmp cx, 1
je 0x4bc15f
cmp edx, ebx
jbe 0x4bc0a1
jmp 0x4bc535
cmp edx, esi
ja 0x4bc53c
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x60], edx
mov dword [esp + 0x64], esi
cmp eax, 0xffffffff
jne 0x4bc462
cmp edx, 8
jl 0x4bc441
lea eax, [edx - 8]
mov ecx, dword [esp + 0x50]
movzx edx, byte [edi + ecx]
mov dword [esp + 0x3c], edx
movzx ebx, byte [edi + ecx + 1]
movzx edx, byte [edi + ecx + 2]
mov dword [esp + 0x38], edx
movzx edx, byte [edi + ecx + 3]
mov dword [esp + 0x34], edx
movzx edx, byte [edi + ecx + 5]
mov dword [esp + 0x30], edx
movzx edx, byte [edi + ecx + 6]
mov dword [esp + 0x2c], edx
movzx edx, byte [edi + ecx + 7]
movzx ecx, byte [edi + ecx + 4]
mov dword [esp + 0x60], eax
lea eax, [esi - 8]
mov dword [esp + 0x64], eax
neg eax
sar eax, 0x1f
and eax, 8
add eax, ebp
mov dword [esp + 0x5c], eax
mov eax, ebx
shl ebx, 8
mov ebp, dword [esp + 0x3c]
or ebp, ebx
mov ebx, dword [esp + 0x38]
mov esi, ebx
shl ebx, 0x10
or ebp, ebx
mov ebx, dword [esp + 0x34]
mov edi, ebx
shl ebx, 0x18
or ebx, ebp
mov ebp, dword [esp + 0x84]
mov dword [ebp + 0x28], ebx
shr esi, 0x10
shr eax, 0x18
or eax, esi
shr edi, 8
or edi, eax
or ecx, edi
mov eax, dword [esp + 0x30]
shl eax, 8
or ecx, eax
mov eax, dword [esp + 0x2c]
shl eax, 0x10
or eax, ecx
shl edx, 0x18
or edx, eax
mov dword [ebp + 0x2c], edx
mov eax, dword [esp + 0x40]
cmp eax, 0xffffffff
jne 0x4bc43a
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x5c]
cmp ecx, 8
jl 0x4bc419
add ecx, 0xfffffff8
movzx ebx, byte [edx + 3]
mov dword [esp + 0x40], ebx
movzx esi, byte [edx + 2]
movzx edi, byte [edx + 1]
movzx ebp, byte [edx]
movzx ebx, byte [edx + 7]
mov dword [esp + 0x3c], ebx
movzx ebx, byte [edx + 4]
mov dword [esp + 0x38], ebx
movzx ebx, byte [edx + 5]
mov dword [esp + 0x34], ebx
movzx ebx, byte [edx + 6]
mov dword [esp + 0x60], ecx
add eax, 0xfffffff8
mov dword [esp + 0x64], eax
neg eax
sar eax, 0x1f
and eax, 8
add eax, edx
mov dword [esp + 0x5c], eax
mov eax, edi
shl edi, 8
or edi, ebp
mov ecx, esi
shl esi, 0x10
or edi, esi
mov edx, dword [esp + 0x40]
mov ebp, edx
shl edx, 0x18
or edx, edi
mov esi, dword [esp + 0x84]
mov dword [esi + 0x20], edx
shr ecx, 0x10
shr eax, 0x18
or eax, ecx
shr ebp, 8
or ebp, eax
mov eax, dword [esp + 0x38]
or eax, ebp
mov ecx, dword [esp + 0x34]
shl ecx, 8
or eax, ecx
shl ebx, 0x10
or ebx, eax
mov eax, dword [esp + 0x3c]
shl eax, 0x18
or ebx, eax
mov dword [esi + 0x24], ebx
movzx eax, byte [esp + 0x22]
test al, al
je 0x4bc3ae
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x5c]
cmp ecx, 8
jl 0x4bc3f8
add ecx, 0xfffffff8
movzx ebx, byte [edx]
movzx ebp, byte [edx + 1]
movzx edi, byte [edx + 2]
movzx esi, byte [edx + 3]
mov dword [esp + 0x40], esi
movzx esi, byte [edx + 7]
mov dword [esp + 0x3c], esi
movzx esi, byte [edx + 6]
mov dword [esp + 0x38], esi
movzx esi, byte [edx + 5]
mov dword [esp + 0x34], esi
movzx esi, byte [edx + 4]
mov dword [esp + 0x60], ecx
add eax, 0xfffffff8
mov dword [esp + 0x64], eax
neg eax
sar eax, 0x1f
and eax, 8
add eax, edx
mov dword [esp + 0x5c], eax
mov eax, ebp
shl ebp, 8
or ebx, ebp
mov ecx, edi
shl edi, 0x10
or ebx, edi
mov edx, dword [esp + 0x40]
mov ebp, edx
shl edx, 0x18
or ebx, edx
mov edx, dword [esp + 0x84]
mov dword [edx + 0x5c], ebx
shr ecx, 0x10
shr eax, 0x18
or eax, ecx
shr ebp, 8
or ebp, eax
or esi, ebp
mov eax, dword [esp + 0x34]
shl eax, 8
or esi, eax
mov eax, dword [esp + 0x38]
shl eax, 0x10
or eax, esi
mov ecx, dword [esp + 0x3c]
shl ecx, 0x18
or eax, ecx
mov dword [edx + 0x60], eax
xor eax, eax
mov ecx, eax
test cl, cl
je 0x4bc3d7
mov eax, dword [0x71561c]
mov ecx, dword [0x715618]
mov dword [esp + 0x90], ecx
mov dword [esp + 0x94], eax
add esp, 0x80
ret
test al, al
jne 0x4bc3b6
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
add esp, 0x80
ret
mov eax, dword [0x71561c]
mov ecx, dword [0x715618]
mov dword [esp + 0x90], ecx
mov dword [esp + 0x94], eax
add esp, 0x80
ret
mov eax, dword [0x71561c]
mov ecx, dword [0x715618]
mov dword [esp + 0x90], ecx
mov dword [esp + 0x94], eax
add esp, 0x80
ret
mov esi, ebp
jmp 0x4bc2f1
mov eax, dword [0x71561c]
mov ecx, dword [0x715618]
mov dword [esp + 0x90], ecx
mov dword [esp + 0x94], eax
add esp, 0x80
ret
mov eax, dword [esp + 0x40]
cmp eax, 0xffffffff
mov ebp, dword [esp + 0x84]
jmp 0x4bc23b
movzx eax, byte [esp + 0x22]
movzx ecx, byte [esp + 0x23]
jmp 0x4bc3b2
mov eax, esi
mov ecx, ebx
jmp 0x4bc3b2
mov ecx, ebx
mov eax, esi
jmp 0x4bc3b2
mov dword [esp], ebx
mov dword [esp + 4], eax
call dbg.runtime.writebarrierptr
mov edx, dword [esp + 0x84]
jmp 0x4bc04d
mov dword [esp], edi
mov dword [esp + 4], eax
call dbg.runtime.writebarrierptr
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x84]
mov ebx, dword [esp + 0x54]
mov ebp, dword [esp + 0x28]
jmp 0x4bbff0
mov dword [esp], edx
mov dword [esp + 4], eax
call dbg.runtime.writebarrierptr
mov edx, dword [esp + 0x84]
jmp 0x4bbfa5
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], ecx
add esp, 0x80
ret
mov eax, dword [0x71561c]
mov ecx, dword [0x715618]
mov dword [esp + 0x90], ecx
mov dword [esp + 0x94], eax
add esp, 0x80
ret
mov dword [esp + 0x90], ecx
mov dword [esp + 0x94], eax
add esp, 0x80
ret
call dbg.runtime.panicslice
ud2
call dbg.runtime.panicslice
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicslice
ud2
call dbg.runtime.panicslice
ud2
call dbg.runtime.panicslice
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicslice
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.morestack_noctxt
jmp dbg.archive/zip.readDirectoryHeader