Function at 0x4bc451
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xac
mov eax, dword [0x51300c]
xor eax, esp
mov dword [esp + 0xa8], eax
push ebx
push esi
mov esi, ecx
mov ebx, edx
push edi
mov dword [esp + 0x18], ebx
movzx eax, byte [esi]
dec eax
cmp eax, 6
ja case.default.0x4bc232
jmp dword [eax*4 + 0x4bc920]
mov eax, dword [ebx]
mov ecx, 0x9000
test word [eax + 0x10], cx
je 0x4bc269
push 0
push 1
mov ecx, eax
call fcn.004360d0
add esp, 8
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xa8]
xor ecx, esp
call fcn.004f1f57
mov esp, ebp
pop ebp
ret
mov dword [eax], 1
mov ecx, 4
mov dword [eax + 4], 0
jmp 0x4bc905
mov eax, dword [ebx]
mov ecx, 0x9000
test word [eax + 0x10], cx
je 0x4bc2b0
push 0
push 0
mov ecx, eax
call fcn.004360d0
add esp, 8
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xa8]
xor ecx, esp
call fcn.004f1f57
mov esp, ebp
pop ebp
ret
mov dword [eax], 0
mov ecx, 4
mov dword [eax + 4], 0
jmp 0x4bc905
mov ecx, dword [esi + 8]
xorps xmm0, xmm0
xor edi, edi
movlpd qword [esp + 0x18], xmm0
mov al, byte [ecx]
cmp al, 0x2d
jne 0x4bc2e2
mov edi, 1
jmp 0x4bc2e6
cmp al, 0x2b
jne 0x4bc2e7
inc ecx
lea edx, [esp + 0x18]
call fcn.004182d0
cmp eax, 1
jg 0x4bc359
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
test edi, edi
je 0x4bc308
neg ecx
adc eax, 0
neg eax
mov edx, dword [ebx]
mov esi, 0x9000
test word [edx + 0x10], si
je 0x4bc336
push eax
push ecx
mov ecx, edx
call fcn.004360d0
add esp, 8
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xa8]
xor ecx, esp
call fcn.004f1f57
mov esp, ebp
pop ebp
ret
mov dword [edx + 4], eax
mov eax, 4
mov dword [edx], ecx
mov word [edx + 0x10], ax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xa8]
xor ecx, esp
call fcn.004f1f57
mov esp, ebp
pop ebp
ret
cmp eax, 3
jne case.0x4bc232.4
test edi, edi
je case.0x4bc232.4
mov eax, dword [ebx]
mov ecx, 0x9000
test word [eax + 0x10], cx
je 0x4bc395
push accept
push 0
mov ecx, eax
call fcn.004360d0
add esp, 8
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xa8]
xor ecx, esp
call fcn.004f1f57
mov esp, ebp
pop ebp
ret
mov dword [eax], 0
mov ecx, 4
mov dword [eax + 4], accept
jmp 0x4bc905
mov esi, dword [esi + 8]
test esi, esi
jne 0x4bc3b7
xor ecx, ecx
jmp 0x4bc3cf
mov ecx, esi
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4bc3c0
sub ecx, edx
and ecx, 0x3fffffff
push 1
push ecx
lea edx, [esp + 0x20]
mov ecx, esi
call fcn.00417ae0
mov esi, dword [ebx]
mov eax, 0x9000
add esp, 8
test word [esi + 0x10], ax
je 0x4bc3f6
mov ecx, esi
call fcn.00435a00
jmp 0x4bc3ff
mov eax, 1
mov word [esi + 0x10], ax
movsd xmm0, qword [esp + 0x18]
movsd qword [esp + 0x18], xmm0
mov ecx, dword [esp + 0x1c]
mov eax, ecx
and eax, 0x7ff00000
cmp eax, 0x7ff00000
jne 0x4bc42f
mov eax, dword [esp + 0x18]
and ecx, 0xfffff
or eax, ecx
jne 0x4bc909
mov eax, 8
movsd qword [esi], xmm0
mov word [esi + 0x10], ax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xa8]
xor ecx, esp
call fcn.004f1f57
mov esp, ebp
pop ebp
ret
mov al, byte [esi + 1]
test al, 1
je 0x4bc486
mov edx, dword [esi + 8]
mov eax, 0xffffffff
mov esi, dword [esi + 4]
mov ecx, ebx
push eax
push 1
push esi
call fcn.0043c810
add esp, 0xc
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xa8]
xor ecx, esp
call fcn.004f1f57
mov esp, ebp
pop ebp
ret
test al, 2
jne 0x4bc4ba
mov edx, dword [esi + 8]
or eax, 0xffffffff
mov esi, dword [esi + 4]
inc edx
push eax
sub esi, 2
mov ecx, ebx
push 1
push esi
call fcn.0043c810
add esp, 0xc
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xa8]
xor ecx, esp
call fcn.004f1f57
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + 4]
mov eax, dword [esi + 8]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], eax
lea esi, [ecx + 1]
call fcn.004b5db0
test eax, eax
jne 0x4bc82b
test esi, esi
jle 0x4bc82b
mov eax, esi
cdq
push edx
push eax
call fcn.00413230
mov edx, eax
add esp, 8
mov dword [esp + 0x14], edx
test edx, edx
je 0x4bc82b
mov eax, dword [esp + 0x24]
mov edi, 1
dec eax
xor esi, esi
mov dword [esp + 0x2c], eax
cmp eax, edi
jbe 0x4bc7e6
mov eax, dword [esp + 0x28]
mov bl, byte [edi + eax]
cmp bl, 0x5c
jne 0x4bc7cf
mov bl, byte [edi + eax + 1]
inc edi
cmp bl, 0x75
jne 0x4bc73b
mov dl, byte [eax + edi + 1]
mov bl, byte [eax + edi + 2]
mov cl, dl
mov ch, byte [eax + edi + 3]
mov dh, byte [eax + edi + 4]
add edi, 4
sar cl, 6
and cl, 1
mov byte [esp + 0x10], dl
mov al, cl
shl al, 3
sub al, cl
sub byte [esp + 0x10], al
mov eax, dword [esp + 0x10]
and eax, 0xf
shl eax, 4
mov dword [esp + 0x10], eax
mov al, bl
sar al, 6
and al, 1
mov cl, al
shl cl, 3
sub cl, al
mov al, bl
mov ebx, dword [esp + 0x10]
sub al, cl
and eax, 0xf
add ebx, eax
mov al, ch
sar al, 6
and al, 1
shl ebx, 4
mov cl, al
shl cl, 3
sub cl, al
mov al, ch
sub al, cl
and eax, 0xf
add ebx, eax
mov al, dh
sar al, 6
and al, 1
shl ebx, 4
mov cl, al
shl cl, 3
sub cl, al
mov al, dh
sub al, cl
and eax, 0xf
add ebx, eax
mov dword [esp + 0x10], ebx
test ebx, ebx
je 0x4bc7de
cmp ebx, 0x7f
jbe 0x4bc7cb
mov eax, ebx
cmp ebx, 0x7ff
ja 0x4bc5ef
mov edx, dword [esp + 0x14]
and bl, 0x3f
shr eax, 6
or al, 0xc0
mov byte [esi + edx], al
inc esi
or bl, 0x80
jmp 0x4bc7cf
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4bc712
mov eax, dword [esp + 0x24]
add eax, 0xfffffffa
cmp edi, eax
jae 0x4bc712
mov eax, dword [esp + 0x28]
cmp byte [eax + edi + 1], 0x5c
jne 0x4bc712
cmp byte [eax + edi + 2], 0x75
jne 0x4bc712
mov dl, byte [eax + edi + 3]
mov bl, byte [eax + edi + 4]
mov cl, dl
mov ch, byte [edi + eax + 5]
mov dh, byte [edi + eax + 6]
sar cl, 6
and cl, 1
mov byte [esp + 0x20], dl
mov al, cl
shl al, 3
sub al, cl
sub byte [esp + 0x20], al
mov eax, dword [esp + 0x20]
and eax, 0xf
shl eax, 4
mov dword [esp + 0x20], eax
mov al, bl
sar al, 6
and al, 1
mov cl, al
shl cl, 3
sub cl, al
mov al, bl
mov ebx, dword [esp + 0x20]
sub al, cl
and eax, 0xf
add ebx, eax
mov al, ch
sar al, 6
and al, 1
shl ebx, 4
mov cl, al
shl cl, 3
sub cl, al
mov al, ch
sub al, cl
and eax, 0xf
add ebx, eax
mov al, dh
sar al, 6
and al, 1
shl ebx, 4
mov cl, al
shl cl, 3
sub cl, al
mov al, dh
sub al, cl
and eax, 0xf
add ebx, eax
mov eax, ebx
and eax, 0xfc00
cmp eax, 0xdc00
jne 0x4bc70e
mov ecx, dword [esp + 0x10]
and ebx, 0x3ff
mov edx, dword [esp + 0x14]
and ecx, 0x3ff
add ecx, 0x40
add edi, 6
shl ecx, 0xa
add ecx, ebx
mov eax, ecx
shr eax, 0x12
or al, 0xf0
mov byte [esi + edx], al
mov eax, ecx
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [esi + edx + 1], al
mov eax, ecx
shr eax, 6
and cl, 0x3f
and al, 0x3f
or al, 0x80
mov byte [esi + edx + 2], al
add esi, 3
or cl, 0x80
mov byte [esi + edx], cl
jmp 0x4bc7d2
mov ebx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov eax, ebx
shr eax, 0xc
or al, 0xe0
mov byte [esi + edx], al
mov eax, ebx
shr eax, 6
and bl, 0x3f
and al, 0x3f
or al, 0x80
mov byte [esi + edx + 1], al
add esi, 2
or bl, 0x80
jmp 0x4bc7cf
cmp bl, 0x62
jne 0x4bc747
mov bl, 8
jmp 0x4bc7cf
cmp bl, 0x66
jne 0x4bc750
mov bl, 0xc
jmp 0x4bc7cf
cmp bl, 0x6e
jne 0x4bc759
mov bl, 0xa
jmp 0x4bc7cf
cmp bl, 0x72
jne 0x4bc762
mov bl, 0xd
jmp 0x4bc7cf
cmp bl, 0x74
jne 0x4bc76b
mov bl, 9
jmp 0x4bc7cf
cmp bl, 0x76
jne 0x4bc774
mov bl, 0xb
jmp 0x4bc7cf
cmp bl, 0x27
je 0x4bc7cf
cmp bl, 0x22
je 0x4bc7cf
cmp bl, 0x2f
je 0x4bc7cf
cmp bl, 0x5c
je 0x4bc7cf
cmp bl, 0x30
jne 0x4bc791
xor bl, bl
jmp 0x4bc7cf
cmp bl, 0x78
jne 0x4bc812
mov bl, byte [edi + eax + 1]
mov dl, byte [edi + eax + 2]
mov cl, bl
sar cl, 6
and cl, 1
mov al, cl
shl al, 3
sub al, cl
mov cl, dl
sub bl, al
sar cl, 6
and cl, 1
shl bl, 4
mov al, cl
shl al, 3
sub al, cl
sub dl, al
and dl, 0xf
or bl, dl
add edi, 2
mov edx, dword [esp + 0x14]
mov byte [esi + edx], bl
inc esi
inc edi
cmp edi, dword [esp + 0x2c]
jb 0x4bc513
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov eax, fcn.00413450
mov byte [esi + edx], 0
push eax
push 1
push esi
mov ecx, ebx
call fcn.0043c810
add esp, 0xc
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xa8]
xor ecx, esp
call fcn.004f1f57
mov esp, ebp
pop ebp
ret
cmp bl, 0xd
jne 0x4bc821
cmp byte [edi + eax + 1], 0xa
jne 0x4bc7d3
inc edi
jmp 0x4bc7d3
cmp bl, 0xe2
jne 0x4bc7d3
add edi, 2
jmp 0x4bc7d3
mov eax, dword [ebx]
mov ecx, 0x9000
test word [eax + 0x10], cx
je 0x4bc841
mov ecx, eax
call fcn.00435a00
jmp 0x4bc84a
mov ecx, 1
mov word [eax + 0x10], cx
mov ecx, dword [ebx]
mov dword [ebx + 0x14], 7
mov ecx, dword [ecx + 0x14]
call fcn.00413c70
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xa8]
xor ecx, esp
call fcn.004f1f57
mov esp, ebp
pop ebp
ret
lea eax, [esp + 0x4a]
mov dword [esp + 0x30], ebx
xorps xmm0, xmm0
mov word [esp + 0x48], 1
push 0
lea edx, [esp + 0x34]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], 0x64
mov dword [esp + 0x40], 0
movlpd qword [esp + 0x44], xmm0
call fcn.004bbaf0
add esp, 4
lea ecx, [esp + 0x30]
call fcn.004bba10
mov eax, dword [ebx]
mov ecx, 0x800
or word [eax + 0x10], cx
mov byte [eax + 0x13], 0x4a
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xa8]
xor ecx, esp
call fcn.004f1f57
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx]
mov ecx, 0x9000
test word [eax + 0x10], cx
je 0x4bc900
mov ecx, eax
call fcn.00435a00
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xa8]
xor ecx, esp
call fcn.004f1f57
mov esp, ebp
pop ebp
ret
mov ecx, 1
mov word [eax + 0x10], cx
mov ecx, dword [esp + 0xb4]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004f1f57
mov esp, ebp
pop ebp
ret