Function at 0x4bc7a0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x14]
cmp eax, dword [ecx + 8]
jbe 0x4bcf80
sub esp, 0x94
lea edi, [esp + 0x60]
lea esi, [0x625b80]
call fcn.0044c2d8
xor eax, eax
lea ecx, [esp + 0x60]
xor edx, edx
mov ebx, eax
mov ebp, ebx
jmp 0x4bc7f4
mov esi, dword [esp + 0x84]
lea ecx, [esi + 8]
inc eax
mov edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x34]
mov ebp, dword [esp + 0x38]
cmp eax, 2
jge 0x4bcf2b
mov dword [esp + 0x28], eax
mov dword [esp + 0x84], ecx
mov edx, dword [ecx]
mov ebx, dword [ecx + 4]
mov ebp, dword [esp + 0xa0]
cmp edx, ebp
xchg esi, ebx
seta bl
xchg esi, ebx
mov edi, dword [esp + 0xa4]
cmp ebx, edi
sete cl
and ecx, esi
cmp ebx, edi
xchg esi, ebx
setg bl
xchg esi, ebx
or ecx, esi
test cl, cl
je 0x4bcf20
mov ecx, ebp
mov dword [esp + 0x40], edi
mov dword [esp + 0x3c], ebp
sub ecx, ebp
mov dword [esp + 0x5c], ecx
lea edx, [0x5be360]
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], ebp
call dbg.runtime.makeslice
mov eax, dword [esp + 0x14]
mov dword [esp + 0x38], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x34], ecx
mov edx, dword [esp + 0xc]
mov dword [esp + 0x7c], edx
mov ebx, dword [esp + 0x98]
mov ebp, dword [ebx + 0x14]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov esi, dword [esp + 0x5c]
mov dword [esp + 0x10], esi
mov edi, dword [esp + 0xa0]
mov ebx, dword [esp + 0x3c]
sub edi, ebx
mov edi, dword [esp + 0xa4]
mov esi, dword [esp + 0x40]
sbb edi, esi
mov dword [esp + 0x58], edi
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x9c]
mov dword [esp], edi
call ebp
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
test ecx, ecx
je 0x4bc90d
mov dword [esp + 0x74], eax
mov dword [esp + 0x70], ecx
mov edx, dword [0x7157a0]
cmp ecx, edx
jne 0x4bcef8
mov dword [esp], ecx
mov dword [esp + 4], eax
mov edx, dword [0x7157a4]
mov dword [esp + 8], edx
call dbg.runtime.ifaceeq
movzx eax, byte [esp + 0xc]
test al, al
je 0x4bcef8
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov ecx, dword [esp + 0x34]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x38]
mov dword [esp + 8], edx
call dbg.archive/zip.findSignatureInBlock
mov eax, dword [esp + 0xc]
test eax, eax
jge 0x4bc990
mov eax, dword [esp + 0x28]
cmp eax, 1
je 0x4bc964
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0xa4]
cmp ecx, edx
sete cl
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0xa0]
cmp ebx, ebp
sete bl
and ebx, ecx
test bl, bl
je 0x4bc7dd
mov eax, dword [0x71561c]
mov ecx, dword [0x715618]
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], ecx
mov dword [esp + 0xb0], eax
add esp, 0x94
ret
mov ecx, dword [esp + 0x34]
cmp eax, ecx
ja 0x4bcf79
mov edx, dword [esp + 0x5c]
mov ebx, edx
add edx, eax
sub ecx, eax
mov ebp, dword [esp + 0x38]
sub ebp, eax
mov esi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, eax
mov edi, dword [esp + 0x7c]
add ebp, edi
mov edi, eax
sar eax, 0x1f
add ebx, edi
mov ebx, dword [esp + 0x58]
adc ebx, eax
cmp ecx, 4
jb 0x4bcf72
lea eax, [esi - 4]
mov edi, eax
neg eax
sar eax, 0x1f
and eax, 4
add eax, ebp
mov dword [esp + 0x88], eax
lea eax, [ecx - 4]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], edi
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x88]
cmp eax, 1
jbe 0x4bcf6b
mov dword [esp + 0x30], ebx
movzx ebp, word [ecx]
add eax, 0xfffffffe
mov dword [esp + 0x8c], eax
lea eax, [esi - 6]
mov dword [esp + 0x90], eax
neg eax
sar eax, 0x1f
and eax, 2
lea esi, [eax + ecx]
mov dword [esp + 0x88], esi
mov edi, dword [esp + 0x90]
mov ebx, dword [esp + 0x8c]
cmp ebx, 1
jbe 0x4bcf64
mov dword [esp + 0x2c], edx
movzx eax, word [ecx + eax]
lea ecx, [ebx - 2]
mov dword [esp + 0x8c], ecx
lea ecx, [edi - 2]
mov dword [esp + 0x90], ecx
neg ecx
sar ecx, 0x1f
and ecx, 2
lea ebx, [esi + ecx]
mov dword [esp + 0x88], ebx
mov edi, dword [esp + 0x90]
mov edx, dword [esp + 0x8c]
cmp edx, 1
jbe 0x4bcf5d
movzx ecx, word [esi + ecx]
mov dword [esp + 0x5c], ecx
add edx, 0xfffffffe
mov dword [esp + 0x8c], edx
lea edx, [edi - 2]
mov dword [esp + 0x90], edx
neg edx
sar edx, 0x1f
and edx, 2
lea esi, [ebx + edx]
mov dword [esp + 0x88], esi
mov edi, dword [esp + 0x90]
mov ecx, dword [esp + 0x8c]
cmp ecx, 1
jbe 0x4bcf56
movzx edx, word [ebx + edx]
mov dword [esp + 0x54], edx
add ecx, 0xfffffffe
mov dword [esp + 0x8c], ecx
lea ecx, [edi - 2]
mov dword [esp + 0x90], ecx
neg ecx
sar ecx, 0x1f
and ecx, 2
lea ebx, [ecx + esi]
mov dword [esp + 0x88], ebx
mov edi, dword [esp + 0x90]
mov edx, dword [esp + 0x8c]
cmp edx, 3
jbe 0x4bcf4f
add edx, 0xfffffffc
mov ecx, dword [esi + ecx]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x8c], edx
lea edx, [edi - 4]
mov dword [esp + 0x90], edx
neg edx
sar edx, 0x1f
and edx, 4
lea esi, [edx + ebx]
mov dword [esp + 0x88], esi
mov edi, dword [esp + 0x90]
mov ecx, dword [esp + 0x8c]
cmp ecx, 3
jbe 0x4bcf48
add ecx, 0xfffffffc
mov edx, dword [ebx + edx]
mov dword [esp + 0x4c], edx
mov dword [esp + 0x8c], ecx
lea ecx, [edi - 4]
mov dword [esp + 0x90], ecx
neg ecx
sar ecx, 0x1f
and ecx, 4
lea ebx, [ecx + esi]
mov dword [esp + 0x88], ebx
mov edi, dword [esp + 0x90]
mov edx, dword [esp + 0x8c]
cmp edx, 1
jbe 0x4bcf41
mov dword [esp + 0x48], eax
mov dword [esp + 0x44], ebp
lea eax, [edx - 2]
movzx ecx, word [esi + ecx]
mov word [esp + 0x26], cx
mov dword [esp + 0x8c], eax
lea eax, [edi - 2]
mov dword [esp + 0x90], eax
neg eax
sar eax, 0x1f
and eax, 2
add eax, ebx
mov dword [esp + 0x88], eax
lea eax, [0x5e3820]
mov dword [esp], eax
call dbg.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x44]
mov dword [eax], ecx
mov ecx, dword [esp + 0x48]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x5c]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], 0
mov ecx, dword [esp + 0x54]
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], 0
mov ecx, dword [esp + 0x50]
mov dword [eax + 0x18], ecx
mov dword [eax + 0x1c], 0
mov ecx, dword [esp + 0x4c]
mov dword [eax + 0x20], ecx
mov dword [eax + 0x24], 0
movzx ecx, word [esp + 0x26]
mov word [eax + 0x28], cx
movzx ecx, cx
mov edx, dword [esp + 0x90]
mov ebx, dword [esp + 0x8c]
mov ebp, dword [esp + 0x88]
cmp ecx, ebx
jg 0x4bce85
cmp ecx, edx
ja 0x4bcf3a
mov dword [esp + 0x78], eax
mov dword [esp], 0
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
call dbg.runtime.slicebytetostring
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x78]
mov dword [edx + 0x30], eax
mov eax, dword [0x728500]
lea ebx, [edx + 0x2c]
test eax, eax
jne 0x4bce70
mov dword [edx + 0x2c], ecx
mov eax, dword [edx + 0x10]
mov ecx, dword [edx + 0x14]
test ecx, ecx
sete cl
cmp eax, 0xffff
sete al
and eax, ecx
test al, al
je 0x4bce32
mov eax, dword [esp + 0x98]
mov dword [esp], eax
mov ecx, dword [esp + 0x9c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x2c]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0xc], edx
call dbg.archive/zip.findDirectory64End
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
test edx, edx
je 0x4bcdd2
test edx, edx
jne 0x4bcdb2
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 0x20]
mov edx, dword [eax + 0x24]
test edx, edx
sete bl
test ecx, ecx
xchg ebp, ebx
setb bl
xchg ebp, ebx
and ebp, ebx
test edx, edx
setl bl
or ebp, ebx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4bcd65
mov eax, dword [0x71561c]
mov ecx, dword [0x715618]
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], ecx
mov dword [esp + 0xb0], eax
add esp, 0x94
ret
mov ebx, dword [esp + 0xa4]
cmp edx, ebx
xchg ebp, ebx
sete bl
xchg ebp, ebx
mov esi, dword [esp + 0xa0]
cmp ecx, esi
setae cl
and ecx, ebp
cmp edx, ebx
setg dl
or ecx, edx
test cl, cl
jne 0x4bcd39
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], 0
mov dword [esp + 0xb0], 0
add esp, 0x94
ret
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], edx
mov dword [esp + 0xb0], ecx
add esp, 0x94
ret
test ebx, ebx
xchg ebp, ebx
sete bl
xchg ebp, ebx
test eax, eax
xchg esi, ebx
setae bl
xchg esi, ebx
and esi, ebp
test ebx, ebx
xchg ebp, ebx
setg bl
xchg ebp, ebx
or esi, ebp
xchg esi, eax
test al, al
xchg esi, eax
je 0x4bcd0a
mov ecx, dword [esp + 0x98]
mov dword [esp], ecx
mov ecx, dword [esp + 0x9c]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov eax, dword [esp + 0x78]
mov dword [esp + 0x10], eax
call dbg.archive/zip.readDirectory64End
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
jmp 0x4bcd0a
mov eax, dword [edx + 0x1c]
mov ecx, dword [edx + 0x18]
cmp ecx, 0xffff
sete cl
test eax, eax
sete al
and eax, ecx
test al, al
jne 0x4bccc8
mov eax, dword [edx + 0x20]
mov ecx, dword [edx + 0x24]
test ecx, ecx
sete cl
cmp eax, 0xffffffff
sete al
and eax, ecx
test al, al
jne 0x4bccc8
jmp 0x4bcd12
mov dword [esp], ebx
mov dword [esp + 4], ecx
call dbg.runtime.writebarrierptr
mov edx, dword [esp + 0x78]
jmp 0x4bccab
lea eax, [0x5c7200]
mov dword [esp], eax
call dbg.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1b
mov ecx, dword [0x728500]
test ecx, ecx
jne 0x4bced6
lea ecx, [0x5fd681]
mov dword [eax], ecx
mov dword [esp + 0xa8], 0
lea ecx, [0x6e5a30]
mov dword [esp + 0xac], ecx
mov dword [esp + 0xb0], eax
add esp, 0x94
ret
mov dword [esp + 0x80], eax
mov dword [esp], eax
lea ecx, [0x5fd681]
mov dword [esp + 4], ecx
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x80]
jmp 0x4bceb0
mov dword [esp + 0xa8], 0
mov eax, dword [esp + 0x70]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0xb0], eax
add esp, 0x94
ret
mov ecx, ebp
mov edi, ebx
mov ebp, edx
jmp 0x4bc840
mov ecx, ebx
mov esi, ebp
xor ebx, ebx
mov ebp, edx
xor edx, edx
jmp 0x4bc9cc
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.panicslice
ud2
call dbg.runtime.panicslice
ud2
call dbg.runtime.morestack_noctxt
jmp dbg.archive/zip.readDirectoryEnd