Function at 0x100b3ed0
Capabilities:
Enumerate pe sections

Disassembly:
push ebx
push esi
push edi
mov edi, ecx
mov ebx, edx
mov eax, dword [edi + 0x40]
add eax, dword [edi + 0x2c]
mov esi, dword [edi + 4]
mov dword [edi + 0x38], eax
cmp esi, ebx
je 0x100b3c65
jmp 0x100b3bd0
dec byte [esi]
mov al, byte [esi]
jne 0x100b3c46
mov edx, dword [esi + 4]
mov al, byte [esi + 1]
cmp byte [edx], 0x40
setae cl
and al, 0x10
shl cl, 3
add cl, al
mov byte [esi + 1], cl
mov eax, dword [edx]
mov dword [esi + 2], eax
mov ax, word [edx + 4]
mov word [esi + 6], ax
mov eax, dword [edi + 0x3c]
cmp edx, eax
je 0x100b3c31
mov dword [edx], 0xffffffff
mov eax, dword [edi + 0x100]
mov dword [edx + 4], eax
movzx eax, byte [edi + 0x58]
mov dword [edx + 8], eax
inc dword [edi + 0x198]
mov dword [edi + 0x100], edx
movzx eax, byte [esi + 3]
add eax, 0xb
shr eax, 3
mov byte [esi + 3], al
jmp 0x100b3c5a
add eax, 0xc
mov dword [edi + 0x3c], eax
movzx eax, byte [esi + 3]
add eax, 0xb
shr eax, 3
mov byte [esi + 3], al
jmp 0x100b3c5a
movzx eax, al
mov edx, esi
add eax, 3
mov ecx, edi
push 0
sar eax, 1
push eax
call fcn.100b36f0
mov esi, dword [esi + 8]
cmp esi, ebx
jne 0x100b3bd0
cmp esi, dword [edi]
je 0x100b3cb8
lea esp, [esp]
mov cl, byte [esi]
test cl, cl
jne 0x100b3c84
mov cl, byte [esi + 3]
mov al, cl
shr al, 1
sub cl, al
mov byte [esi + 3], cl
jmp 0x100b3cb1
movzx eax, word [esi + 2]
add eax, 4
movzx edx, cl
mov word [esi + 2], ax
movzx eax, ax
lea ecx, [edx*4 + 0x80]
cmp eax, ecx
jle 0x100b3cb1
lea eax, [edx + 2]
mov ecx, edi
push 1
sar eax, 1
mov edx, esi
push eax
call fcn.100b36f0
mov esi, dword [esi + 8]
cmp esi, dword [edi]
jne 0x100b3c70
cmp dword [edi + 0x44], 0
je 0x100b3d5a
xor esi, esi
lea ecx, [edi + 0x59]
push ebp
xor ebx, ebx
lea edx, [edi + 0x198]
lea ebp, [esi + 0x13]
movzx eax, byte [ecx - 1]
lea edx, [edx + 8]
imul eax, dword [edx - 8]
lea ecx, [ecx + 2]
add esi, eax
movzx eax, byte [ecx - 2]
imul eax, dword [edx - 4]
add ebx, eax
dec ebp
jne 0x100b3cd3
mov ecx, dword [edi + 0x24]
add esi, ebx
imul eax, esi, 0xfffffff4
pop ebp
sub eax, dword [edi + 0x3c]
sub eax, dword [edi + 0x34]
add eax, dword [edi + 0x30]
add eax, dword [edi + 0x38]
add eax, ecx
shr ecx, 1
cmp eax, ecx
jb 0x100b3d5a
mov eax, dword [edi + 4]
cmp dword [eax + 8], 0
je 0x100b3d22
mov eax, dword [eax + 8]
mov dword [edi + 4], eax
cmp dword [eax + 8], 0
jne 0x100b3d16
mov edx, dword [edi + 4]
mov ecx, edi
push 0
call fcn.100b2cb0
mov ecx, edi
call fcn.100b2ef0
mov ecx, edi
call fcn.100b2fb0
mov ecx, dword [edi + 0x24]
shr ecx, 2
lea ecx, [ecx + ecx*2]
cmp eax, ecx
ja 0x100b3d22
mov eax, dword [edi + 0x18]
mov dword [edi + 0x28], 0
mov dword [edi + 0xc], eax
pop edi
pop esi
pop ebx
ret
mov ecx, edi
pop edi
pop esi
pop ebx
jmp fcn.100b39c0
sub esp, 0x28
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov ecx, dword [esi + 8]
movzx edx, word [ecx + 4]
movzx eax, word [ecx + 2]
shl edx, 0x10
or edx, eax
mov al, byte [ecx + 1]
mov cl, byte [ecx]
movzx ebx, al
mov dword [esp + 0x1c], ebx
xor ebx, ebx
mov dword [esp + 0x14], edx
mov byte [esp + 0x12], cl
cmp al, 0x1f
jae 0x100b3f71
mov eax, dword [esi]
mov ebp, dword [eax + 8]
test ebp, ebp
je 0x100b3f71
cmp byte [ebp], bl
jne 0x100b3f22
mov al, byte [ebp + 3]
lea ebx, [ebp + 2]
cmp al, 0x20
jae 0x100b3f71
inc al
mov byte [ebx + 1], al
jmp 0x100b3f71
mov ebx, dword [ebp + 4]
cmp byte [ebx], cl
je 0x100b3f60
lea esp, [esp]
add ebx, 6
cmp byte [ebx], cl
jne 0x100b3f30
mov al, byte [ebx + 1]
cmp al, byte [ebx - 5]
jb 0x100b3f60
mov dx, word [ebx + 4]
mov eax, dword [ebx - 6]
mov ecx, dword [ebx]
mov dword [ebx], eax
mov ax, word [ebx - 2]
mov word [ebx + 4], ax
mov dword [ebx - 6], ecx
mov word [ebx - 2], dx
add ebx, 0xfffffffa
mov edx, dword [esp + 0x14]
mov al, byte [ebx + 1]
cmp al, 0x73
jae 0x100b3f71
add al, 2
mov byte [ebx + 1], al
add word [ebp + 2], 2
cmp dword [esi + 0xc], 0
mov edi, dword [esi + 4]
jne 0x100b3fc6
test edx, edx
je 0x100b3fc6
push dword [esi]
mov edx, 1
mov ecx, esi
push ebx
call fcn.100b2ae0
mov edx, eax
test edx, edx
jne 0x100b3fab
mov eax, dword [esi + 8]
xor ecx, ecx
mov dword [eax + 2], ecx
mov edx, edi
mov ecx, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
jmp 0x100b3bb0
mov ecx, dword [esi + 8]
mov eax, edx
shr eax, 0x10
pop edi
mov word [ecx + 2], dx
mov word [ecx + 4], ax
mov dword [esi + 4], edx
pop esi
pop ebp
pop ebx
add esp, 0x28
ret
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0x38]
mov al, byte [eax]
mov byte [ecx], al
mov ecx, dword [esi + 0x38]
mov eax, dword [esi + 0x3c]
inc ecx
mov dword [esp + 0x20], ecx
mov dword [esi + 0x38], ecx
cmp ecx, eax
jb 0x100b3ff2
mov edx, edi
mov ecx, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
jmp 0x100b3bb0
test edx, edx
jne 0x100b401b
push dword [esi]
mov edx, ebx
mov ecx, esi
call fcn.100b35d0
mov edx, eax
mov dword [esp + 0x14], edx
test edx, edx
jne 0x100b4033
mov edx, edi
mov ecx, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
jmp 0x100b3bb0
cmp edx, eax
jae 0x100b4033
push dword [esi]
xor edx, edx
mov ecx, esi
push ebx
call fcn.100b2ae0
mov edx, eax
mov dword [esp + 0x14], edx
jmp 0x100b4007
dec dword [esi + 0xc]
jne 0x100b404b
mov eax, dword [esi + 4]
mov ecx, edx
mov dword [esp + 0x20], ecx
xor ecx, ecx
cmp eax, dword [esi]
setne cl
sub dword [esi + 0x38], ecx
mov eax, dword [esi]
movzx ebp, byte [eax]
movzx ecx, word [eax + 2]
sub ecx, ebp
mov dword [esp + 0x24], ebp
sub ecx, dword [esp + 0x1c]
cmp byte [esp + 0x12], 0x40
mov dword [esp + 0x34], ecx
setae cl
shl cl, 3
mov byte [esp + 0x13], cl
cmp edi, eax
je 0x100b4284
lea esp, [esp]
movzx ebx, byte [edi]
mov dword [esp + 0x18], ebx
test ebx, ebx
je 0x100b4142
test bl, 1
je 0x100b412a
inc ebx
shr ebx, 1
movzx edx, byte [ebx + esi + 0x7d]
movzx eax, byte [ebx + esi + 0x7e]
mov dword [esp + 0x2c], edx
cmp edx, eax
je 0x100b4126
inc edx
mov ecx, esi
call fcn.100b29f0
mov ebp, eax
mov dword [esp + 0x30], ebp
test ebp, ebp
je 0x100b3f9b
mov eax, dword [edi + 4]
mov edx, ebp
mov dword [esp + 0x28], eax
sub ebp, eax
lea ecx, [eax + 8]
mov eax, dword [ecx - 8]
lea edx, [edx + 0xc]
mov dword [edx - 0xc], eax
lea ecx, [ecx + 0xc]
mov eax, dword [ecx - 0x10]
mov dword [edx - 8], eax
mov eax, dword [ecx - 0xc]
mov dword [ecx + ebp - 0xc], eax
dec ebx
jne 0x100b40d1
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x24]
mov dword [edx], 0xffffffff
mov eax, dword [esi + ecx*4 + 0x100]
mov dword [edx + 4], eax
movzx eax, byte [ecx + esi + 0x58]
mov dword [edx + 8], eax
inc dword [esi + ecx*4 + 0x198]
mov eax, dword [esp + 0x30]
mov dword [esi + ecx*4 + 0x100], edx
mov dword [edi + 4], eax
mov ebx, dword [esp + 0x18]
lea eax, [ebx*2 + 1]
add eax, ebx
cmp eax, ebp
sbb eax, eax
neg eax
add word [edi + 2], ax
jmp 0x100b41ca
mov edx, dword [esi + 0x100]
test edx, edx
je 0x100b415d
mov eax, dword [edx + 4]
dec dword [esi + 0x198]
mov dword [esi + 0x100], eax
jmp 0x100b4186
movzx eax, byte [esi + 0x58]
mov edx, dword [esi + 0x30]
lea ecx, [eax + eax*2]
mov eax, dword [esi + 0x34]
shl ecx, 2
sub eax, edx
cmp ecx, eax
ja 0x100b417b
lea eax, [edx + ecx]
mov dword [esi + 0x30], eax
jmp 0x100b4186
xor edx, edx
mov ecx, esi
call fcn.100b2a40
mov edx, eax
test edx, edx
je 0x100b3f9b
mov ecx, dword [edi + 2]
mov dword [edx], ecx
mov cx, word [edi + 6]
mov word [edx + 4], cx
mov dword [edi + 4], edx
mov al, byte [edx + 1]
cmp al, 0x1e
jae 0x100b41ac
add al, al
mov byte [edx + 1], al
jmp 0x100b41b0
mov byte [edx + 1], 0x78
mov eax, 2
cmp eax, ebp
movzx eax, byte [edx + 1]
sbb ecx, ecx
neg ecx
add cx, word [esi + 0x10]
add cx, ax
mov word [edi + 2], cx
movzx eax, word [edi + 2]
mov ebp, dword [esp + 0x34]
add ebp, eax
lea edx, [eax + 6]
imul edx, dword [esp + 0x1c]
lea eax, [ebp*2]
add eax, ebp
add eax, eax
add edx, edx
cmp edx, eax
jae 0x100b420b
lea eax, [ebp*4]
cmp edx, eax
sbb ecx, ecx
inc ecx
cmp ebp, edx
sbb eax, eax
neg eax
lea edx, [eax + 1]
add edx, ecx
add word [edi + 2], 4
jmp 0x100b4244
mov eax, ebp
shl eax, 4
sub eax, ebp
cmp eax, edx
lea eax, [ebp*2]
sbb ecx, ecx
add eax, ebp
shl eax, 2
neg ecx
cmp eax, edx
sbb eax, eax
neg eax
add ecx, eax
lea eax, [ebp*8]
add eax, ebp
cmp eax, edx
sbb eax, eax
lea edx, [ecx + 4]
neg eax
add edx, eax
add word [edi + 2], dx
mov eax, dword [edi + 4]
lea ecx, [ebx + 1]
lea ecx, [ecx + ecx*2]
inc bl
mov byte [eax + ecx*2 + 1], dl
lea ecx, [eax + ecx*2]
mov eax, dword [esp + 0x20]
mov word [ecx + 2], ax
shr eax, 0x10
mov word [ecx + 4], ax
mov al, byte [esp + 0x12]
mov byte [ecx], al
mov al, byte [esp + 0x13]
or byte [edi + 1], al
mov byte [edi], bl
mov edi, dword [edi + 8]
cmp edi, dword [esi]
je 0x100b4284
mov ebp, dword [esp + 0x24]
jmp 0x100b4080
mov eax, dword [esp + 0x14]
pop edi
mov dword [esi], eax
mov dword [esi + 4], eax
pop esi
pop ebp
pop ebx
add esp, 0x28
ret