Function at 0x10227f50
Capabilities:
Enumerate pe sections

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x108
mov eax, dword [0x102e9794]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebx + 8]
lea ecx, [ebp - 0x38]
and eax, 0xfffffff0
mov dword [ebp - 0xac], eax
lea eax, [ebp - 0x78]
and eax, 0x3f
sub ecx, eax
cmp dword [ebx + 0xc], 0
push esi
push edi
mov dword [ebp - 0x7c], ecx
jle 0x1022892f
mov eax, dword [ebx + 0x10]
mov ecx, dword [ebx + 0x38]
add eax, eax
imul ecx, dword [ebx + 0x14]
mov esi, dword [ebx + 0x28]
mov edx, dword [ebx + 0x30]
movaps xmm6, xmmword [0x102fc9a0]
mov dword [ebp - 0xbc], eax
mov eax, dword [ebx + 0x3c]
imul eax, dword [ebx + 0x18]
add eax, ecx
mov dword [ebp - 0xa8], eax
lea ecx, [eax + esi]
mov eax, dword [ebx + 0x2c]
mov dword [ebp - 0xb0], ecx
cmp byte [ebx + 0x44], 0
je 0x10227fe3
mov esi, eax
mov eax, edx
mov edx, dword [ebx + 0x34]
xor edi, edi
mov dword [ebp - 0x9c], 0
cmp byte [ebx + 0x44], 0
cmove ecx, edi
mov edi, dword [ebp - 0xa8]
add esi, edi
mov dword [ebp - 0x8c], ecx
add edx, edi
mov dword [ebp - 0x84], esi
add eax, edi
cmp dword [ebp - 0xac], 0
jle 0x10228685
mov edi, dword [ebp - 0x7c]
mov ecx, dword [ebx + 0x1c]
add edi, 0x20
mov dword [ebp - 0xa0], edi
mov edi, dword [ebx + 0x1c]
mov dword [ebp - 0x88], edi
mov edi, dword [ebx + 0x24]
add edi, 0x10
mov dword [ebp - 0x90], edx
mov dword [ebp - 0x94], edi
mov edi, dword [ebx + 0x20]
mov dword [ebp - 0xa4], edi
mov edi, dword [ebx + 0x24]
sub ecx, edi
sub dword [ebp - 0xa4], edi
mov edi, dword [ebp - 0xac]
mov dword [ebp - 0xb8], ecx
mov ecx, dword [ebx + 0x20]
sub ecx, dword [ebx + 0x1c]
lea edi, [edi - 1]
mov dword [ebp - 0xb4], ecx
mov ecx, dword [ebp - 0x8c]
shr edi, 4
inc edi
mov dword [ebp - 0x8c], ecx
mov dword [ebp - 0x98], edi
shl edi, 4
mov dword [ebp - 0x9c], edi
nop dword [eax]
nop word [eax + eax]
mov edi, dword [ebp - 0x88]
movaps xmm0, xmm6
mov ecx, dword [ebp - 0xb4]
movups xmm1, xmmword [ecx + edi]
mov ecx, dword [ebp - 0x94]
pcmpgtw xmm0, xmm1
mov edi, dword [ebp - 0xa4]
movaps xmm5, xmm1
pcmpgtw xmm5, xmmword [0x102fc980]
por xmm5, xmm0
movaps xmm0, xmm6
movups xmm2, xmmword [ecx - 0x10]
pand xmm5, xmm1
movups xmm3, xmmword [edi + ecx]
pcmpgtw xmm0, xmm2
movups xmm4, xmmword [ecx]
movaps xmm7, xmm2
pcmpgtw xmm7, xmmword [0x102fc980]
movaps xmm1, xmm4
pcmpgtw xmm1, xmmword [0x102fc980]
por xmm7, xmm0
psllw xmm5, 3
movaps xmm0, xmm6
pcmpgtw xmm0, xmm3
mov edi, dword [ebp - 0xb8]
movaps xmmword [ebp - 0xe0], xmm5
pand xmm7, xmm2
movaps xmm5, xmm3
psllw xmm7, 3
pcmpgtw xmm5, xmmword [0x102fc980]
por xmm5, xmm0
movaps xmmword [ebp - 0xd0], xmm7
movaps xmm0, xmm6
pand xmm5, xmm3
pcmpgtw xmm0, xmm4
movups xmm3, xmmword [edi + ecx]
por xmm1, xmm0
mov ecx, dword [ebp - 0x88]
pand xmm1, xmm4
psllw xmm5, 3
psllw xmm1, 3
movaps xmm2, xmm7
pmulhw xmm2, xmmword [0x102fc890]
movaps xmm6, xmm1
movups xmm4, xmmword [ecx]
pmulhw xmm6, xmmword [0x102fc890]
movaps xmm0, xmm1
pmulhw xmm0, xmmword [0x102fc840]
psllw xmm3, 3
movaps xmmword [ebp - 0xf0], xmm5
paddw xmm2, xmm7
paddw xmm3, xmmword [0x102fc9b0]
paddw xmm6, xmm1
psllw xmm4, 3
psubw xmm1, xmm0
paddw xmm6, xmm3
movaps xmm0, xmm5
paddw xmm4, xmmword [0x102fc9b0]
pmulhw xmm0, xmmword [0x102fc810]
movaps xmm7, xmm3
movaps xmmword [ebp - 0x100], xmm6
paddw xmm2, xmm4
movaps xmm6, xmmword [ebp - 0xd0]
psllw xmm5, 1
paddw xmm1, xmm0
movaps xmm0, xmmword [ebp - 0xd0]
pmulhw xmm0, xmmword [0x102fc840]
psubw xmm7, xmm1
movaps xmm1, xmm4
psubw xmm6, xmm0
movaps xmm0, xmmword [ebp - 0xe0]
pmulhw xmm0, xmmword [0x102fc810]
paddw xmm6, xmm0
movaps xmm0, xmmword [ebp - 0xf0]
pmulhw xmm0, xmmword [0x102fc8f0]
movaps xmmword [ebp - 0xd0], xmm6
psubw xmm1, xmmword [ebp - 0xd0]
psubw xmm5, xmm0
movaps xmm0, xmmword [ebp - 0xe0]
paddw xmm5, xmm3
movaps xmm3, xmm0
cmp byte [ebx + 0x44], 0
pmulhw xmm0, xmmword [0x102fc8f0]
movaps xmm6, xmmword [0x102fc930]
psllw xmm3, 1
mov ecx, dword [ebp - 0x7c]
mov edi, dword [ebx + 0x38]
psubw xmm3, xmm0
movaps xmm0, xmmword [0x102fc8d0]
paddw xmm3, xmm4
movaps xmm4, xmm0
pcmpgtw xmm0, xmmword [ebp - 0x100]
pcmpgtw xmm4, xmm2
pandn xmm0, xmmword [ebp - 0x100]
pandn xmm4, xmm2
paddw xmm4, xmmword [0x102fc930]
paddw xmm0, xmm6
psrlw xmm0, 6
psrlw xmm4, 6
packuswb xmm4, xmm0
movaps xmm0, xmmword [0x102fc8d0]
movaps xmm2, xmm0
movups xmmword [ecx], xmm4
pcmpgtw xmm2, xmm1
pcmpgtw xmm0, xmm7
pandn xmm2, xmm1
pandn xmm0, xmm7
movaps xmm1, xmmword [0x102fc8d0]
paddw xmm0, xmm6
psrlw xmm0, 6
paddw xmm2, xmm6
psrlw xmm2, 6
pcmpgtw xmm1, xmm3
pandn xmm1, xmm3
packuswb xmm2, xmm0
paddw xmm1, xmm6
movaps xmm0, xmmword [0x102fc8d0]
pcmpgtw xmm0, xmm5
movups xmmword [ecx + 0x10], xmm2
mov ecx, dword [ebp - 0xa0]
pandn xmm0, xmm5
paddw xmm0, xmm6
psrlw xmm1, 6
psrlw xmm0, 6
packuswb xmm1, xmm0
movups xmmword [ecx], xmm1
je 0x102283d7
cmp edi, 4
je 0x10228381
mov dword [ebp - 0x80], ecx
mov dword [ebp - 0x84], 0x10
nop word [eax + eax]
movzx ecx, byte [ecx - 0x20]
mov byte [esi], cl
add esi, edi
mov ecx, dword [ebp - 0x80]
movzx ecx, byte [ecx - 0x10]
mov byte [eax], cl
add eax, edi
mov ecx, dword [ebp - 0x80]
movzx ecx, byte [ecx]
mov byte [edx], cl
mov ecx, dword [ebp - 0x8c]
mov dl, byte [ebx + 0x48]
mov byte [ecx], dl
add ecx, edi
mov edx, dword [ebp - 0x90]
mov dword [ebp - 0x8c], ecx
add edx, edi
mov ecx, dword [ebp - 0x80]
inc ecx
mov dword [ebp - 0x90], edx
sub dword [ebp - 0x84], 1
mov dword [ebp - 0x80], ecx
jne 0x10228330
jmp 0x10228656
mov edi, dword [ebp - 0x8c]
mov dword [ebp - 0x80], ecx
mov dword [ebp - 0x84], 0x10
movzx ecx, byte [ecx - 0x20]
mov byte [esi], cl
add esi, 4
mov ecx, dword [ebp - 0x80]
movzx ecx, byte [ecx - 0x10]
mov byte [eax], cl
add eax, 4
mov ecx, dword [ebp - 0x80]
movzx ecx, byte [ecx]
mov byte [edx], cl
add edx, 4
mov cl, byte [ebx + 0x48]
mov byte [edi], cl
add edi, 4
mov ecx, dword [ebp - 0x80]
inc ecx
sub dword [ebp - 0x84], 1
mov dword [ebp - 0x80], ecx
jne 0x10228394
mov dword [ebp - 0x8c], edi
jmp 0x10228650
mov ecx, edi
sub ecx, 3
je 0x10228469
sub ecx, 1
je 0x10228432
mov ecx, dword [ebp - 0xa0]
mov dword [ebp - 0x80], ecx
mov dword [ebp - 0x84], 0x10
nop word [eax + eax]
movzx ecx, byte [ecx - 0x20]
mov byte [esi], cl
add esi, edi
mov ecx, dword [ebp - 0x80]
movzx ecx, byte [ecx - 0x10]
mov byte [eax], cl
add eax, edi
mov ecx, dword [ebp - 0x80]
movzx ecx, byte [ecx]
mov byte [edx], cl
add edx, edi
mov ecx, dword [ebp - 0x80]
inc ecx
sub dword [ebp - 0x84], 1
mov dword [ebp - 0x80], ecx
jne 0x10228400
jmp 0x10228650
mov edi, dword [ebp - 0xa0]
mov dword [ebp - 0x80], 0x10
nop
movzx ecx, byte [edi - 0x20]
lea edi, [edi + 1]
mov byte [esi], cl
add esi, 4
movzx ecx, byte [edi - 0x11]
mov byte [eax], cl
add eax, 4
movzx ecx, byte [edi - 1]
mov byte [edx], cl
add edx, 4
sub dword [ebp - 0x80], 1
jne 0x10228440
jmp 0x10228650
mov ecx, dword [ebp - 0x7c]
movzx ecx, byte [ecx]
mov byte [esi], cl
mov ecx, dword [ebp - 0x7c]
movzx ecx, byte [ecx + 1]
mov byte [esi + 3], cl
mov ecx, dword [ebp - 0x7c]
movzx ecx, byte [ecx + 2]
mov byte [esi + 6], cl
mov ecx, dword [ebp - 0x7c]
movzx ecx, byte [ecx + 3]
mov byte [esi + 9], cl
mov ecx, dword [ebp - 0x7c]
movzx ecx, byte [ecx + 4]
mov byte [esi + 0xc], cl
mov ecx, dword [ebp - 0x7c]
movzx ecx, byte [ecx + 5]
mov byte [esi + 0xf], cl
mov ecx, dword [ebp - 0x7c]
movzx ecx, byte [ecx + 6]
mov byte [esi + 0x12], cl
mov ecx, dword [ebp - 0x7c]
movzx ecx, byte [ecx + 7]
mov byte [esi + 0x15], cl
mov ecx, dword [ebp - 0x7c]
movzx ecx, byte [ecx + 8]
mov byte [esi + 0x18], cl
mov ecx, dword [ebp - 0x7c]
movzx ecx, byte [ecx + 9]
mov byte [esi + 0x1b], cl
mov ecx, dword [ebp - 0x7c]
movzx ecx, byte [ecx + 0xa]
mov byte [esi + 0x1e], cl
mov ecx, dword [ebp - 0x7c]
movzx ecx, byte [ecx + 0xb]
mov byte [esi + 0x21], cl
mov ecx, dword [ebp - 0x7c]
movzx ecx, byte [ecx + 0xc]
mov byte [esi + 0x24], cl
mov ecx, dword [ebp - 0x7c]
movzx ecx, byte [ecx + 0xd]
mov byte [esi + 0x27], cl
mov ecx, dword [ebp - 0x7c]
movzx ecx, byte [ecx + 0xe]
mov byte [esi + 0x2a], cl
mov ecx, dword [ebp - 0x7c]
movzx ecx, byte [ecx + 0xf]
mov byte [esi + 0x2d], cl
add esi, 0x30
mov ecx, dword [ebp - 0x7c]
movzx ecx, byte [ecx + 0x10]
mov byte [eax], cl
mov ecx, dword [ebp - 0x7c]
movzx ecx, byte [ecx + 0x11]
mov byte [eax + 3], cl
mov ecx, dword [ebp - 0x7c]
movzx ecx, byte [ecx + 0x12]
mov byte [eax + 6], cl
mov ecx, dword [ebp - 0x7c]
movzx ecx, byte [ecx + 0x13]
mov byte [eax + 9], cl
mov ecx, dword [ebp - 0x7c]
movzx ecx, byte [ecx + 0x14]
mov byte [eax + 0xc], cl
mov ecx, dword [ebp - 0x7c]
movzx ecx, byte [ecx + 0x15]
mov byte [eax + 0xf], cl
mov ecx, dword [ebp - 0x7c]
movzx ecx, byte [ecx + 0x16]
mov byte [eax + 0x12], cl
mov ecx, dword [ebp - 0x7c]
movzx ecx, byte [ecx + 0x17]
mov byte [eax + 0x15], cl
mov ecx, dword [ebp - 0x7c]
movzx ecx, byte [ecx + 0x18]
mov byte [eax + 0x18], cl
mov ecx, dword [ebp - 0x7c]
movzx ecx, byte [ecx + 0x19]
mov byte [eax + 0x1b], cl
mov ecx, dword [ebp - 0x7c]
movzx ecx, byte [ecx + 0x1a]
mov byte [eax + 0x1e], cl
mov ecx, dword [ebp - 0x7c]
movzx ecx, byte [ecx + 0x1b]
mov byte [eax + 0x21], cl
mov ecx, dword [ebp - 0x7c]
movzx ecx, byte [ecx + 0x1c]
mov byte [eax + 0x24], cl
mov ecx, dword [ebp - 0x7c]
movzx ecx, byte [ecx + 0x1d]
mov byte [eax + 0x27], cl
mov ecx, dword [ebp - 0x7c]
movzx ecx, byte [ecx + 0x1e]
mov byte [eax + 0x2a], cl
mov ecx, dword [ebp - 0x7c]
movzx ecx, byte [ecx + 0x1f]
mov byte [eax + 0x2d], cl
add eax, 0x30
mov ecx, dword [ebp - 0xa0]
movzx ecx, byte [ecx]
mov byte [edx], cl
mov ecx, dword [ebp - 0x7c]
movzx ecx, byte [ecx + 0x21]
mov byte [edx + 3], cl
mov ecx, dword [ebp - 0x7c]
movzx ecx, byte [ecx + 0x22]
mov byte [edx + 6], cl
mov ecx, dword [ebp - 0x7c]
movzx ecx, byte [ecx + 0x23]
mov byte [edx + 9], cl
mov ecx, dword [ebp - 0x7c]
movzx ecx, byte [ecx + 0x24]
mov byte [edx + 0xc], cl
mov ecx, dword [ebp - 0x7c]
movzx ecx, byte [ecx + 0x25]
mov byte [edx + 0xf], cl
mov ecx, dword [ebp - 0x7c]
movzx ecx, byte [ecx + 0x26]
mov byte [edx + 0x12], cl
mov ecx, dword [ebp - 0x7c]
movzx ecx, byte [ecx + 0x27]
mov byte [edx + 0x15], cl
mov ecx, dword [ebp - 0x7c]
movzx ecx, byte [ecx + 0x28]
mov byte [edx + 0x18], cl
mov ecx, dword [ebp - 0x7c]
movzx ecx, byte [ecx + 0x29]
mov byte [edx + 0x1b], cl
mov ecx, dword [ebp - 0x7c]
movzx ecx, byte [ecx + 0x2a]
mov byte [edx + 0x1e], cl
mov ecx, dword [ebp - 0x7c]
movzx ecx, byte [ecx + 0x2b]
mov byte [edx + 0x21], cl
mov ecx, dword [ebp - 0x7c]
movzx ecx, byte [ecx + 0x2c]
mov byte [edx + 0x24], cl
mov ecx, dword [ebp - 0x7c]
movzx ecx, byte [ecx + 0x2d]
mov byte [edx + 0x27], cl
mov ecx, dword [ebp - 0x7c]
movzx ecx, byte [ecx + 0x2e]
mov byte [edx + 0x2a], cl
mov ecx, dword [ebp - 0x7c]
movzx ecx, byte [ecx + 0x2f]
mov byte [edx + 0x2d], cl
add edx, 0x30
mov dword [ebp - 0x90], edx
add dword [ebp - 0x94], 0x20
add dword [ebp - 0x88], 0x20
sub dword [ebp - 0x98], 1
movaps xmm6, xmmword [0x102fc9a0]
jne 0x102280a0
movaps xmm6, xmmword [0x102fc9a0]
mov dword [ebp - 0x84], esi
cmp byte [ebx + 0x44], 0
je 0x102287d0
mov edi, dword [ebx + 8]
cmp dword [ebp - 0x9c], edi
jge 0x102288f6
mov ecx, dword [ebx + 0x24]
sub esi, eax
mov edi, dword [ebp - 0x9c]
sub edx, eax
sub dword [ebp - 0x8c], eax
mov dword [ebp - 0x84], esi
mov dword [ebp - 0x90], edx
lea edi, [ecx + edi*2]
mov dword [ebp - 0x80], edi
mov edi, dword [ebx + 0x1c]
sub edi, ecx
mov dword [ebp - 0x98], edi
mov edi, dword [ebx + 0x20]
mov dword [ebp - 0x88], edi
sub dword [ebp - 0x88], ecx
mov ecx, dword [ebx + 8]
sub ecx, dword [ebp - 0x9c]
mov dword [ebp - 0x94], ecx
mov ecx, dword [ebp - 0x80]
nop
movsx edx, word [ecx]
mov edi, dword [ebp - 0x98]
movsx edi, word [ecx + edi]
mov ecx, dword [0x102bd654]
add edi, 0x400
shl edi, 0x10
mov ecx, dword [ecx + edx*4]
add ecx, 0x3ffff
add ecx, edi
sar ecx, 0x13
movsx edx, cx
mov ecx, dword [0x102bd650]
movzx ecx, byte [edx + ecx]
mov byte [esi + eax], cl
mov esi, edi
mov ecx, dword [ebp - 0x80]
movsx edx, word [ecx]
mov ecx, dword [0x102bd65c]
sub esi, dword [ecx + edx*4]
mov ecx, dword [ebp - 0x80]
mov edx, dword [ebp - 0x88]
movsx edx, word [ecx + edx]
mov ecx, dword [0x102bd660]
sub esi, dword [ecx + edx*4]
mov ecx, dword [0x102bd650]
add esi, 0x3fcff
sar esi, 0x13
movsx edx, si
mov esi, dword [ebp - 0x84]
movzx ecx, byte [edx + ecx]
mov edx, dword [ebp - 0x88]
mov byte [eax], cl
mov ecx, dword [ebp - 0x80]
movsx edx, word [ecx + edx]
mov ecx, dword [0x102bd658]
mov ecx, dword [ecx + edx*4]
add ecx, 0x3ffff
add ecx, edi
sar ecx, 0x13
movsx edx, cx
mov ecx, dword [0x102bd650]
movzx ecx, byte [edx + ecx]
mov edx, dword [ebp - 0x90]
mov byte [edx + eax], cl
mov ecx, dword [ebp - 0x8c]
mov dl, byte [ebx + 0x48]
mov byte [ecx + eax], dl
mov ecx, dword [ebp - 0x80]
add eax, dword [ebx + 0x38]
add ecx, 2
sub dword [ebp - 0x94], 1
mov dword [ebp - 0x80], ecx
jne 0x102286f0
jmp 0x102288f6
mov ecx, dword [ebp - 0x9c]
cmp ecx, dword [ebx + 8]
jge 0x102288f6
mov edi, dword [ebx + 0x24]
sub edx, esi
mov dword [ebp - 0x90], edx
sub eax, esi
mov edx, dword [ebx + 8]
lea ecx, [edi + ecx*2]
mov edi, dword [ebx + 0x1c]
mov dword [ebp - 0x80], ecx
mov ecx, dword [ebx + 0x24]
sub edi, ecx
mov dword [ebp - 0x98], edi
mov edi, dword [ebx + 0x20]
mov dword [ebp - 0x88], edi
sub dword [ebp - 0x88], ecx
sub edx, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x80]
mov dword [ebp - 0x94], edx
movsx edx, word [ecx]
mov edi, dword [ebp - 0x98]
movsx edi, word [ecx + edi]
mov ecx, dword [0x102bd654]
add edi, 0x400
shl edi, 0x10
mov ecx, dword [ecx + edx*4]
add ecx, 0x3ffff
add ecx, edi
sar ecx, 0x13
movsx edx, cx
mov ecx, dword [0x102bd650]
movzx ecx, byte [edx + ecx]
mov byte [esi], cl
mov esi, edi
mov ecx, dword [ebp - 0x80]
movsx edx, word [ecx]
mov ecx, dword [0x102bd65c]
sub esi, dword [ecx + edx*4]
mov ecx, dword [ebp - 0x80]
mov edx, dword [ebp - 0x88]
movsx edx, word [ecx + edx]
mov ecx, dword [0x102bd660]
sub esi, dword [ecx + edx*4]
mov ecx, dword [0x102bd650]
add esi, 0x3fcff
sar esi, 0x13
movsx edx, si
mov esi, dword [ebp - 0x84]
movzx ecx, byte [edx + ecx]
mov edx, dword [ebp - 0x88]
mov byte [eax + esi], cl
mov ecx, dword [ebp - 0x80]
movsx edx, word [ecx + edx]
mov ecx, dword [0x102bd658]
mov ecx, dword [ecx + edx*4]
add ecx, 0x3ffff
add ecx, edi
sar ecx, 0x13
movsx edx, cx
mov ecx, dword [0x102bd650]
movzx ecx, byte [edx + ecx]
mov edx, dword [ebp - 0x90]
mov byte [edx + esi], cl
mov ecx, dword [ebp - 0x80]
add esi, dword [ebx + 0x38]
add ecx, 2
sub dword [ebp - 0x94], 1
mov dword [ebp - 0x84], esi
mov dword [ebp - 0x80], ecx
jne 0x10228821
mov edx, dword [ebp - 0xbc]
mov eax, dword [ebx + 0x3c]
mov ecx, dword [ebp - 0xb0]
add dword [ebx + 0x1c], edx
add ecx, eax
add dword [ebx + 0x20], edx
add dword [ebx + 0x24], edx
add dword [ebp - 0xa8], eax
sub dword [ebx + 0xc], 1
mov edx, dword [ebx + 0x30]
mov eax, dword [ebx + 0x2c]
mov esi, dword [ebx + 0x28]
mov dword [ebp - 0xb0], ecx
jne 0x10227fd6
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.1023c450
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret