Function at 0x100b23a0
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x3c
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, ecx
push edi
cmp byte [ebx + 0x2c], 0
lea ecx, [ebx + 4]
mov dword [esp + 0x20], esi
lea edi, [ebx + 0x18]
mov dword [esp + 0x10], ecx
jne 0x100b23dc
lea eax, [ebx + 0x30]
mov byte [ebx + 0x2c], 1
push eax
push edi
push ecx
mov ecx, esi
call fcn.100b9350
test al, al
je 0x100b23ef
jmp 0x100b23e0
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0x10]
mov eax, dword [ebx + 0x24]
mov ecx, dword [edi]
add eax, ecx
cmp dword [edx], eax
jle 0x100b2401
mov byte [ebx + 0x2cd0], 1
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, dword [ebx + 0x20]
dec eax
add eax, ecx
mov ecx, dword [ebx + 0x2ccc]
sub ecx, 0x10
mov dword [esp + 0x34], eax
cmp eax, ecx
mov dword [esp + 0x38], ecx
mov edx, ecx
cmovl edx, eax
mov dword [esp + 0x30], edx
jmp 0x100b2428
mov ebx, dword [ebp + 8]
mov eax, dword [esi + 0x64]
mov ecx, eax
mov edi, dword [esi + 0xb0c0]
sub ecx, edi
cmp eax, edi
cmovb ecx, eax
cmp dword [esi + 0x68], ecx
mov dword [esi + 0x64], ecx
seta al
mov dword [esi + 0x68], ecx
or byte [esi + 0x6c], al
mov eax, dword [esp + 0x10]
mov edx, dword [eax]
cmp edx, dword [esp + 0x30]
jl 0x100b248c
cmp edx, dword [esp + 0x34]
jg 0x100b3015
jne 0x100b246d
mov eax, dword [ebx + 8]
cmp eax, dword [ebx + 0x1c]
jge 0x100b3015
cmp edx, dword [esp + 0x38]
jl 0x100b2480
cmp byte [ebx + 0x2cd2], 0
je 0x100b300e
cmp edx, dword [ebx + 0x2ccc]
jge 0x100b300e
mov edx, dword [esi + 0x2d2c]
mov eax, edx
sub eax, ecx
cmp eax, edi
jb 0x100b249c
add eax, edi
cmp eax, 0x1004
ja 0x100b24d4
cmp edx, ecx
je 0x100b24d4
mov ecx, esi
call fcn.100b89a0
mov eax, dword [esi + 0x2e54]
cmp eax, dword [esi + 0x2e44]
jg 0x100b23f6
jl 0x100b24d4
mov eax, dword [esi + 0x2e50]
cmp eax, dword [esi + 0x2e40]
ja 0x100b23f6
mov edi, dword [esp + 0x10]
mov ecx, 0x10
mov eax, dword [edi + 0xc]
mov ebx, dword [edi]
sub ecx, dword [edi + 4]
mov edi, dword [ebp + 8]
mov edx, dword [eax + ebx]
bswap edx
mov eax, dword [edi + 0xb4]
shr edx, cl
and edx, 0xfffe
cmp edx, dword [edi + eax*4 + 0x34]
jae 0x100b2535
mov ecx, 0x10
sub ecx, eax
shr edx, cl
mov ecx, dword [esp + 0x10]
movzx edi, byte [edx + edi + 0xb8]
add edi, dword [ecx + 4]
mov eax, edi
shr eax, 3
add ebx, eax
mov eax, dword [ebp + 8]
and edi, 7
mov dword [ecx], ebx
mov dword [ecx + 4], edi
movzx eax, word [eax + edx*2 + 0x2b8]
jmp 0x100b25b0
mov ebx, 0xf
inc eax
mov dword [esp + 0x28], ebx
cmp eax, ebx
jae 0x100b2565
lea ecx, [edi + 0x34]
lea ecx, [ecx + eax*4]
nop dword [eax]
cmp edx, dword [ecx]
jb 0x100b255f
inc eax
add ecx, 4
cmp eax, 0xf
jb 0x100b2550
jmp 0x100b2565
mov ebx, eax
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x10]
mov edi, dword [ecx + 4]
add edi, ebx
mov eax, edi
and edi, 7
mov dword [ecx + 4], edi
shr eax, 3
add dword [ecx], eax
mov ebx, dword [ecx]
mov eax, dword [esp + 0x28]
mov ecx, dword [ebp + 8]
sub edx, dword [ecx + eax*4 + 0x30]
mov ecx, 0x10
sub ecx, eax
shr edx, cl
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + eax*4 + 0x74]
add ecx, edx
mov edx, dword [ebp + 8]
cmp ecx, dword [edx + 0x30]
sbb eax, eax
and eax, ecx
mov ecx, dword [esp + 0x10]
movzx eax, word [edx + eax*2 + 0x6b8]
movzx edx, ax
mov dword [esp + 0x1c], ebx
cmp edx, 0x100
jae 0x100b25d3
mov eax, dword [esi + 0x64]
mov ecx, dword [esi + 0x2d30]
mov byte [ecx + eax], dl
inc dword [esi + 0x64]
jmp 0x100b2425
cmp edx, 0x106
jb 0x100b2bde
lea eax, [edx - 0x106]
cmp eax, 8
jae 0x100b2665
add eax, 2
mov ecx, dword [esp + 0x1c]
mov ebx, eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
mov edx, dword [eax + ecx]
mov ecx, 0x10
sub ecx, edi
bswap edx
shr edx, cl
mov ecx, dword [ebp + 8]
and edx, 0xfffe
mov eax, dword [ecx + 0x9a0]
cmp edx, dword [ecx + eax*4 + 0x920]
jae 0x100b26cb
mov ecx, 0x10
sub ecx, eax
mov eax, dword [ebp + 8]
shr edx, cl
movzx ecx, byte [edx + eax + 0x9a4]
add ecx, edi
mov edi, dword [esp + 0x1c]
mov eax, ecx
shr eax, 3
add edi, eax
mov eax, dword [esp + 0x10]
and ecx, 7
mov dword [esp + 0x18], ecx
mov dword [eax], edi
mov dword [eax + 4], ecx
mov eax, dword [ebp + 8]
movzx eax, word [eax + edx*2 + 0xba4]
jmp 0x100b2753
mov edx, eax
and eax, 3
shr edx, 2
or eax, 4
dec edx
mov ecx, edx
shl eax, cl
add eax, 2
mov dword [esp + 0x2c], eax
test edx, edx
je 0x100b25ed
mov eax, dword [esp + 0x10]
mov ecx, 0x10
sub ecx, edi
add edi, edx
mov eax, dword [eax + 0xc]
mov eax, dword [eax + ebx]
bswap eax
shr eax, cl
mov ecx, 0x10
movzx ebx, ax
sub ecx, edx
shr ebx, cl
mov eax, edi
mov ecx, dword [esp + 0x1c]
add ebx, dword [esp + 0x2c]
shr eax, 3
add ecx, eax
mov eax, dword [esp + 0x10]
and edi, 7
mov dword [esp + 0x1c], ecx
mov dword [eax], ecx
mov dword [eax + 4], edi
jmp 0x100b25f7
mov edi, 0xf
inc eax
mov dword [esp + 0x28], edi
cmp eax, edi
jae 0x100b26f7
lea ecx, [ecx + eax*4]
add ecx, 0x920
cmp edx, dword [ecx]
jb 0x100b26f1
inc eax
add ecx, 4
cmp eax, 0xf
jb 0x100b26e2
jmp 0x100b26f7
mov edi, eax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 4]
add ecx, edi
mov edi, dword [esp + 0x10]
mov eax, ecx
and ecx, 7
shr eax, 3
mov dword [esp + 0x18], ecx
add dword [edi], eax
mov eax, dword [esp + 0x10]
mov edi, dword [edi]
mov dword [eax + 4], ecx
mov eax, dword [esp + 0x28]
mov ecx, dword [ebp + 8]
sub edx, dword [ecx + eax*4 + 0x91c]
mov ecx, 0x10
sub ecx, eax
shr edx, cl
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + eax*4 + 0x960]
add ecx, edx
mov edx, dword [ebp + 8]
cmp ecx, dword [edx + 0x91c]
sbb eax, eax
and eax, ecx
movzx eax, word [edx + eax*2 + 0xfa4]
movzx eax, ax
mov dword [esp + 0x24], edi
mov dword [esp + 0x1c], edi
cmp eax, 4
jae 0x100b276b
lea edx, [eax + 1]
jmp 0x100b29d8
mov edi, eax
and eax, 1
shr edi, 1
or eax, 2
dec edi
mov ecx, edi
mov dword [esp + 0x2c], edi
shl eax, cl
inc eax
mov dword [esp + 0x28], eax
mov edx, eax
mov dword [esp + 0x14], edx
test edi, edi
je 0x100b29dc
cmp edi, 4
jb 0x100b2985
jbe 0x100b2831
mov ecx, dword [esp + 0x18]
mov al, 8
sub al, cl
movzx eax, al
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 8]
mov esi, dword [eax + 0x10]
mov eax, dword [esp + 0x1c]
mov edx, dword [eax + esi]
bswap edx
cmp edi, 0x24
jbe 0x100b27ec
mov eax, dword [eax + esi + 4]
bswap eax
call fcn.10178c10
mov ecx, dword [esp + 0x1c]
movzx edx, byte [ecx + esi + 8]
mov cl, byte [esp + 0x24]
shr edx, cl
mov ecx, 0x44
or eax, edx
mov dword [esp + 0x14], eax
mov edx, eax
jmp 0x100b2800
movzx eax, byte [eax + esi + 4]
shl edx, cl
mov cl, byte [esp + 0x24]
shr eax, cl
mov ecx, 0x24
or edx, eax
mov esi, dword [esp + 0x10]
sub ecx, edi
shr edx, cl
mov ecx, dword [esp + 0x18]
add ecx, 0xfffffffc
shl edx, 4
add edx, dword [esp + 0x28]
add ecx, edi
mov eax, ecx
shr eax, 3
add eax, dword [esp + 0x1c]
and ecx, 7
mov dword [esp + 0x24], eax
mov dword [esi], eax
mov dword [esp + 0x18], ecx
mov dword [esi + 4], ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
mov esi, dword [ebp + 8]
mov eax, dword [eax + 0xc]
mov esi, dword [esi + 0x128c]
mov eax, dword [eax + ecx]
mov ecx, 0x10
sub ecx, dword [esp + 0x18]
bswap eax
mov dword [esp + 0x14], eax
shr dword [esp + 0x14], cl
mov ecx, dword [esp + 0x14]
mov eax, dword [ebp + 8]
and ecx, 0xfffe
mov dword [esp + 0x14], ecx
cmp ecx, dword [eax + esi*4 + 0x120c]
jae 0x100b28c8
mov esi, eax
mov ecx, 0x10
sub ecx, dword [esi + 0x128c]
shr dword [esp + 0x14], cl
mov ecx, dword [esp + 0x14]
movzx ecx, byte [ecx + esi + 0x1290]
add ecx, dword [esp + 0x18]
mov eax, ecx
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x10]
shr eax, 3
add eax, dword [esp + 0x24]
mov dword [ecx], eax
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x2c]
and ecx, 7
mov dword [eax + 4], ecx
mov eax, dword [esp + 0x14]
movzx eax, word [esi + eax*2 + 0x1490]
jmp 0x100b2967
mov ecx, eax
mov dword [esp + 0x24], 0xf
mov eax, dword [ecx + 0x128c]
add ecx, 0x1208
inc eax
cmp eax, 0xf
jae 0x100b2907
lea ecx, [ecx + eax*4]
mov dword [esp + 0x2c], edi
add ecx, 4
nop
mov esi, dword [esp + 0x14]
cmp esi, dword [ecx]
jb 0x100b2903
inc eax
add ecx, 4
cmp eax, 0xf
jb 0x100b28f0
jmp 0x100b2907
mov dword [esp + 0x24], eax
mov esi, dword [esp + 0x10]
mov edi, dword [ebp + 8]
mov ecx, dword [esi + 4]
add ecx, dword [esp + 0x24]
mov eax, ecx
and ecx, 7
shr eax, 3
add dword [esi], eax
mov eax, dword [esp + 0x14]
mov dword [esi + 4], ecx
mov ecx, 0x10
mov esi, dword [esp + 0x24]
sub ecx, esi
sub eax, dword [edi + esi*4 + 0x1208]
mov esi, edi
mov edi, dword [esp + 0x2c]
shr eax, cl
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x14], eax
mov eax, dword [esi + ecx*4 + 0x124c]
mov ecx, dword [esp + 0x14]
add ecx, eax
cmp ecx, dword [esi + 0x1208]
sbb eax, eax
and eax, ecx
movzx eax, word [esi + eax*2 + 0x1890]
mov esi, dword [esp + 0x20]
movzx eax, ax
add edx, eax
mov dword [esp + 0x14], edx
cmp edi, 0x1e
jb 0x100b29dc
or edx, 0xffffffff
add ebx, 2
mov dword [esp + 0x14], edx
jmp 0x100b29fe
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x1c]
mov eax, dword [eax + 0x10]
mov edx, dword [eax + ecx]
mov ecx, dword [esp + 0x18]
bswap edx
shl edx, cl
mov ecx, dword [esp + 0x1c]
movzx eax, byte [eax + ecx + 4]
mov ecx, 8
sub cl, byte [esp + 0x18]
shr eax, cl
mov ecx, 0x20
or edx, eax
sub ecx, edi
shr edx, cl
mov ecx, dword [esp + 0x18]
add edx, dword [esp + 0x28]
add ecx, edi
mov edi, dword [esp + 0x10]
mov eax, ecx
shr eax, 3
add eax, dword [esp + 0x1c]
and ecx, 7
mov dword [edi], eax
mov dword [edi + 4], ecx
mov dword [esp + 0x14], edx
mov eax, edx
cmp edx, 0x100
jbe 0x100b29ff
inc ebx
mov dword [esp + 0x14], edx
cmp eax, 0x2000
jbe 0x100b29ff
inc ebx
mov dword [esp + 0x14], edx
cmp eax, 0x40000
jbe 0x100b29ff
inc ebx
mov eax, dword [esi + 0x50]
mov dword [esi + 0x54], eax
mov eax, dword [esi + 0x4c]
mov dword [esi + 0x50], eax
mov eax, dword [esi + 0x48]
mov dword [esi + 0x4c], eax
mov dword [esi + 0x48], edx
mov edi, dword [esi + 0x64]
mov ecx, edi
sub ecx, edx
mov dword [esi + 0x5c], ebx
mov dword [esp + 0x24], edi
mov dword [esp + 0x2c], ecx
cmp edx, edi
jbe 0x100b2a7a
mov eax, dword [esi + 0xb0c0]
add ecx, eax
mov dword [esp + 0x2c], ecx
cmp edx, eax
ja 0x100b2a40
cmp byte [esi + 0x6c], 0
jne 0x100b2a7a
test ebx, ebx
je 0x100b2425
nop dword [eax + eax]
mov eax, dword [esi + 0x2d30]
mov byte [edi + eax], 0
mov ecx, dword [esi + 0x64]
mov eax, dword [esi + 0xb0c0]
inc ecx
mov edi, ecx
sub edi, eax
cmp ecx, eax
cmovb edi, ecx
mov dword [esi + 0x64], edi
sub ebx, 1
jne 0x100b2a50
jmp 0x100b2425
mov eax, dword [esi + 0xb0c0]
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x28], eax
add eax, 0xffffeffc
cmp edx, eax
jae 0x100b2b8d
cmp edi, eax
jae 0x100b2b8d
mov eax, dword [esi + 0x2d30]
add edx, eax
add edi, eax
mov eax, dword [esp + 0x24]
add eax, ebx
mov dword [esi + 0x64], eax
cmp ebx, 8
jb 0x100b2b1f
cmp dword [esp + 0x14], ebx
jae 0x100b2afe
mov ecx, ebx
shr ecx, 3
mov al, byte [edx]
sub ebx, 8
mov byte [edi], al
mov al, byte [edx + 1]
mov byte [edi + 1], al
mov al, byte [edx + 2]
mov byte [edi + 2], al
mov al, byte [edx + 3]
mov byte [edi + 3], al
mov al, byte [edx + 4]
mov byte [edi + 4], al
mov al, byte [edx + 5]
mov byte [edi + 5], al
mov al, byte [edx + 6]
mov byte [edi + 6], al
mov al, byte [edx + 7]
add edx, 8
mov byte [edi + 7], al
add edi, 8
sub ecx, 1
jne 0x100b2ac0
jmp 0x100b2b1f
mov esi, ebx
shr esi, 3
mov eax, dword [edx]
sub ebx, 8
mov ecx, dword [edx + 4]
add edx, 8
mov dword [edi], eax
mov dword [edi + 4], ecx
add edi, 8
sub esi, 1
jne 0x100b2b03
mov esi, dword [esp + 0x20]
test ebx, ebx
je 0x100b2425
mov al, byte [edx]
mov byte [edi], al
cmp ebx, 1
jbe 0x100b2425
mov al, byte [edx + 1]
mov byte [edi + 1], al
cmp ebx, 2
jbe 0x100b2425
mov al, byte [edx + 2]
mov byte [edi + 2], al
cmp ebx, 3
jbe 0x100b2425
mov al, byte [edx + 3]
mov byte [edi + 3], al
cmp ebx, 4
jbe 0x100b2425
mov al, byte [edx + 4]
mov byte [edi + 4], al
cmp ebx, 5
jbe 0x100b2425
mov al, byte [edx + 5]
cmp ebx, 6
mov ebx, dword [ebp + 8]
mov byte [edi + 5], al
jbe 0x100b2428
mov al, byte [edx + 6]
mov byte [edi + 6], al
jmp 0x100b2428
test ebx, ebx
je 0x100b2425
nop word [eax + eax]
mov ecx, dword [esi + 0x2d30]
mov eax, edx
sub eax, dword [esp + 0x28]
cmp edx, dword [esp + 0x28]
cmovb eax, edx
inc edx
mov al, byte [eax + ecx]
mov byte [edi + ecx], al
mov eax, dword [esi + 0x64]
mov ecx, dword [esi + 0xb0c0]
inc eax
mov edi, eax
mov dword [esp + 0x28], ecx
sub edi, ecx
cmp eax, ecx
cmovb edi, eax
mov dword [esi + 0x64], edi
sub ebx, 1
jne 0x100b2ba0
jmp 0x100b2425
cmp edx, 0x100
jne 0x100b2c14
lea eax, [esp + 0x3c]
push eax
push ecx
mov ecx, esi
call fcn.100b86d0
test al, al
je 0x100b3015
lea eax, [esp + 0x3c]
mov ecx, esi
push eax
call fcn.100b8790
test al, al
je 0x100b3015
jmp 0x100b2425
cmp edx, 0x101
jne 0x100b2d61
mov ebx, dword [esi + 0x5c]
test ebx, ebx
je 0x100b2425
mov edi, dword [esi + 0x64]
mov edx, edi
mov ecx, dword [esi + 0x48]
sub edx, ecx
mov dword [esp + 0x2c], edi
cmp ecx, edi
jbe 0x100b2c7a
mov eax, dword [esi + 0xb0c0]
add edx, eax
cmp ecx, eax
ja 0x100b2c50
cmp byte [esi + 0x6c], 0
jne 0x100b2c7a
nop
mov eax, dword [esi + 0x2d30]
mov byte [edi + eax], 0
mov ecx, dword [esi + 0x64]
mov eax, dword [esi + 0xb0c0]
inc ecx
mov edi, ecx
sub edi, eax
cmp ecx, eax
cmovb edi, ecx
mov dword [esi + 0x64], edi
sub ebx, 1
jne 0x100b2c50
jmp 0x100b2425
mov eax, dword [esi + 0xb0c0]
mov dword [esp + 0x28], eax
add eax, 0xffffeffc
cmp edx, eax
jae 0x100b2d23
cmp edi, eax
jae 0x100b2d23
mov eax, dword [esi + 0x2d30]
add edx, eax
add edi, eax
mov eax, dword [esp + 0x2c]
add eax, ebx
mov dword [esi + 0x64], eax
cmp ebx, 8
jb 0x100b2b1f
cmp ecx, ebx
jae 0x100b2d01
mov ecx, ebx
shr ecx, 3
nop
mov al, byte [edx]
sub ebx, 8
mov byte [edi], al
mov al, byte [edx + 1]
mov byte [edi + 1], al
mov al, byte [edx + 2]
mov byte [edi + 2], al
mov al, byte [edx + 3]
mov byte [edi + 3], al
mov al, byte [edx + 4]
mov byte [edi + 4], al
mov al, byte [edx + 5]
mov byte [edi + 5], al
mov al, byte [edx + 6]
mov byte [edi + 6], al
mov al, byte [edx + 7]
add edx, 8
mov byte [edi + 7], al
add edi, 8
sub ecx, 1
jne 0x100b2cc0
jmp 0x100b2b1f
mov esi, ebx
shr esi, 3
mov eax, dword [edx]
sub ebx, 8
mov ecx, dword [edx + 4]
add edx, 8
mov dword [edi], eax
mov dword [edi + 4], ecx
add edi, 8
sub esi, 1
jne 0x100b2d06
jmp 0x100b2b1b
mov ecx, dword [esi + 0x2d30]
mov eax, edx
sub eax, dword [esp + 0x28]
cmp edx, dword [esp + 0x28]
cmovb eax, edx
inc edx
mov al, byte [eax + ecx]
mov byte [edi + ecx], al
mov eax, dword [esi + 0x64]
mov ecx, dword [esi + 0xb0c0]
inc eax
mov edi, eax
mov dword [esp + 0x28], ecx
sub edi, ecx
cmp eax, ecx
cmovb edi, eax
mov dword [esi + 0x64], edi
sub ebx, 1
jne 0x100b2d23
jmp 0x100b2425
add edx, 0xfffffefe
lea ecx, [edx + 0x12]
mov edi, dword [esi + ecx*4]
lea ecx, [esi + ecx*4]
mov dword [esp + 0x2c], edi
je 0x100b2d84
mov eax, dword [ecx - 4]
lea ecx, [ecx - 4]
mov dword [ecx + 4], eax
sub edx, 1
jne 0x100b2d76
mov dword [esi + 0x48], edi
mov ecx, 0x10
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 0xc]
mov ebx, dword [edi]
sub ecx, dword [edi + 4]
mov edi, dword [ebp + 8]
mov edx, dword [eax + ebx]
bswap edx
mov eax, dword [edi + 0x1b78]
shr edx, cl
and edx, 0xfffe
cmp edx, dword [edi + eax*4 + 0x1af8]
jae 0x100b2def
mov ecx, 0x10
sub ecx, eax
shr edx, cl
mov ecx, dword [esp + 0x10]
movzx edi, byte [edx + edi + 0x1b7c]
add edi, dword [ecx + 4]
mov eax, edi
shr eax, 3
add eax, ebx
and edi, 7
mov dword [esp + 0x28], eax
mov dword [ecx], eax
mov eax, dword [ebp + 8]
mov dword [ecx + 4], edi
movzx eax, word [eax + edx*2 + 0x1d7c]
jmp 0x100b2e5f
mov ebx, 0xf
inc eax
cmp eax, ebx
jae 0x100b2e13
lea ecx, [edi + 0x1af8]
lea ecx, [ecx + eax*4]
cmp edx, dword [ecx]
jb 0x100b2e11
inc eax
add ecx, 4
cmp eax, 0xf
jb 0x100b2e02
jmp 0x100b2e13
mov ebx, eax
mov ecx, dword [esp + 0x10]
mov edi, dword [ecx + 4]
add edi, ebx
mov eax, edi
and edi, 7
shr eax, 3
add dword [ecx], eax
mov eax, dword [ecx]
mov dword [esp + 0x28], eax
mov eax, dword [ebp + 8]
mov dword [ecx + 4], edi
mov ecx, 0x10
sub ecx, ebx
sub edx, dword [eax + ebx*4 + 0x1af4]
shr edx, cl
mov ecx, dword [eax + ebx*4 + 0x1b38]
add ecx, edx
mov edx, eax
cmp ecx, dword [edx + 0x1af4]
sbb eax, eax
and eax, ecx
movzx eax, word [edx + eax*2 + 0x217c]
movzx ebx, ax
cmp ebx, 8
jae 0x100b2e6c
add ebx, 2
jmp 0x100b2ec2
mov edx, ebx
and ebx, 3
shr edx, 2
or ebx, 4
dec edx
mov ecx, edx
shl ebx, cl
add ebx, 2
test edx, edx
je 0x100b2ec2
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + ecx]
mov ecx, 0x10
bswap eax
sub ecx, edi
shr eax, cl
mov ecx, 0x10
movzx eax, ax
sub ecx, edx
shr eax, cl
lea ecx, [edi + edx]
mov edx, dword [esp + 0x10]
add ebx, eax
mov eax, ecx
shr eax, 3
add eax, dword [esp + 0x28]
and ecx, 7
mov dword [edx], eax
mov dword [edx + 4], ecx
mov edi, dword [esi + 0x64]
mov edx, edi
mov ecx, dword [esp + 0x2c]
sub edx, ecx
mov dword [esi + 0x5c], ebx
mov dword [esp + 0x24], edi
cmp ecx, edi
jbe 0x100b2f1c
mov eax, dword [esi + 0xb0c0]
add edx, eax
cmp ecx, eax
ja 0x100b2eea
cmp byte [esi + 0x6c], 0
jne 0x100b2f1c
test ebx, ebx
je 0x100b2425
mov eax, dword [esi + 0x2d30]
mov byte [edi + eax], 0
mov ecx, dword [esi + 0x64]
mov eax, dword [esi + 0xb0c0]
inc ecx
mov edi, ecx
sub edi, eax
cmp ecx, eax
cmovb edi, ecx
mov dword [esi + 0x64], edi
sub ebx, 1
jne 0x100b2ef2
jmp 0x100b2425
mov eax, dword [esi + 0xb0c0]
mov dword [esp + 0x28], eax
add eax, 0xffffeffc
cmp edx, eax
jae 0x100b2fc3
cmp edi, eax
jae 0x100b2fc3
mov eax, dword [esi + 0x2d30]
add edx, eax
add edi, eax
mov eax, dword [esp + 0x24]
add eax, ebx
mov dword [esi + 0x64], eax
cmp ebx, 8
jb 0x100b2b1f
cmp ecx, ebx
jae 0x100b2fa1
mov ecx, ebx
shr ecx, 3
mov al, byte [edx]
sub ebx, 8
mov byte [edi], al
mov al, byte [edx + 1]
mov byte [edi + 1], al
mov al, byte [edx + 2]
mov byte [edi + 2], al
mov al, byte [edx + 3]
mov byte [edi + 3], al
mov al, byte [edx + 4]
mov byte [edi + 4], al
mov al, byte [edx + 5]
mov byte [edi + 5], al
mov al, byte [edx + 6]
mov byte [edi + 6], al
mov al, byte [edx + 7]
add edx, 8
mov byte [edi + 7], al
add edi, 8
sub ecx, 1
jne 0x100b2f60
jmp 0x100b2b1f
mov esi, ebx
shr esi, 3
mov eax, dword [edx]
sub ebx, 8
mov ecx, dword [edx + 4]
add edx, 8
mov dword [edi], eax
mov dword [edi + 4], ecx
add edi, 8
sub esi, 1
jne 0x100b2fa6
jmp 0x100b2b1b
test ebx, ebx
je 0x100b2425
nop dword [eax + eax]
mov ecx, dword [esi + 0x2d30]
mov eax, edx
sub eax, dword [esp + 0x28]
cmp edx, dword [esp + 0x28]
cmovb eax, edx
inc edx
mov al, byte [eax + ecx]
mov byte [edi + ecx], al
mov eax, dword [esi + 0x64]
mov ecx, dword [esi + 0xb0c0]
inc eax
mov edi, eax
mov dword [esp + 0x28], ecx
sub edi, ecx
cmp eax, ecx
cmovb edi, eax
mov dword [esi + 0x64], edi
sub ebx, 1
jne 0x100b2fd0
jmp 0x100b2425
mov byte [ebx + 0x2cd3], 1
pop edi
pop esi
mov al, 1
pop ebx
mov esp, ebp
pop ebp
ret 4