Function at 0x102421a0
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x28
push ebx
mov ebx, dword [esp + 0x34]
mov eax, ebx
push ebp
push esi
mov esi, dword [esp + 0x38]
sub eax, esi
and eax, 0xffffffe0
push edi
cmp eax, 0x400
jle 0x1024222d
mov ebp, dword [esp + 0x48]
mov edi, dword [esp + 0x44]
push ebp
push ebx
push esi
test edi, edi
jle 0x102422e8
lea eax, [esp + 0x1c]
push eax
call fcn.10241990
mov edx, dword [esp + 0x24]
mov eax, edi
sar eax, 2
add esp, 0x10
sar edi, 1
mov ecx, ebx
add edi, eax
sub ecx, edx
mov eax, dword [esp + 0x10]
and ecx, 0xffffffe0
sub eax, esi
and eax, 0xffffffe0
push ebp
push edi
cmp eax, ecx
jge 0x10242211
mov eax, dword [esp + 0x18]
push eax
push esi
call fcn.102421a0
mov esi, dword [esp + 0x24]
jmp 0x1024221c
push ebx
push edx
call fcn.102421a0
mov ebx, dword [esp + 0x20]
mov eax, ebx
add esp, 0x10
sub eax, esi
and eax, 0xffffffe0
cmp eax, 0x400
jg 0x102421c5
cmp esi, ebx
je 0x1024241f
lea edi, [esi + 0x20]
cmp edi, ebx
je 0x1024241f
movups xmm1, xmmword [edi]
mov ecx, edi
movups xmm0, xmmword [edi + 0x10]
movd ebp, xmm1
movups xmmword [esp + 0x18], xmm1
movups xmmword [esp + 0x28], xmm0
cmp ebp, dword [esi]
jae 0x1024238e
cmp edi, esi
je 0x102422a7
lea eax, [edi + 0x26]
mov ecx, dword [eax - 0x46]
lea eax, [eax - 0x20]
mov dword [eax - 6], ecx
mov cl, byte [eax - 0x22]
mov byte [eax - 2], cl
mov cx, word [eax - 0x20]
mov word [eax], cx
mov ecx, dword [eax - 0x1e]
mov dword [eax + 2], ecx
mov ecx, dword [eax - 0x1a]
mov dword [eax + 6], ecx
mov ecx, dword [eax - 0x16]
mov dword [eax + 0xa], ecx
mov ecx, dword [eax - 0x12]
mov dword [eax + 0xe], ecx
mov ecx, dword [eax - 0xe]
mov dword [eax + 0x12], ecx
mov ecx, dword [eax - 0xa]
mov dword [eax + 0x16], ecx
lea ecx, [eax - 0x26]
cmp ecx, esi
jne 0x10242266
mov al, byte [esp + 0x1c]
mov byte [esi + 4], al
mov ax, word [esp + 0x1e]
mov dword [esi], ebp
mov word [esi + 6], ax
mov eax, dword [esp + 0x20]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x24]
mov dword [esi + 0xc], eax
mov eax, dword [esp + 0x28]
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0x2c]
mov dword [esi + 0x14], eax
mov eax, dword [esp + 0x30]
mov dword [esi + 0x18], eax
mov eax, dword [esp + 0x34]
mov dword [esi + 0x1c], eax
jmp 0x10242414
call fcn.102417a0
mov eax, ebx
add esp, 0xc
sub eax, esi
and eax, 0xffffffe0
cmp eax, 0x40
jl 0x1024241f
mov edi, 0xfffffffa
mov eax, 0x1a
add ebx, 0xffffffe6
sub edi, esi
sub eax, esi
mov dword [esp + 0x40], eax
movups xmm0, xmmword [ebx - 6]
mov eax, dword [esi]
push ebp
movups xmmword [esp + 0x1c], xmm0
movups xmm0, xmmword [ebx + 0xa]
mov dword [ebx - 6], eax
mov al, byte [esi + 4]
mov byte [ebx - 2], al
mov ax, word [esi + 6]
mov word [ebx], ax
mov eax, dword [esi + 8]
mov dword [ebx + 2], eax
mov eax, dword [esi + 0xc]
mov dword [ebx + 6], eax
mov eax, dword [esi + 0x10]
mov dword [ebx + 0xa], eax
mov eax, dword [esi + 0x14]
mov dword [ebx + 0xe], eax
mov eax, dword [esi + 0x18]
mov dword [ebx + 0x12], eax
mov eax, dword [esi + 0x1c]
mov dword [ebx + 0x16], eax
lea eax, [esp + 0x1c]
push eax
lea eax, [edi + ebx]
sar eax, 5
push eax
push 0
push esi
movups xmmword [esp + 0x3c], xmm0
call fcn.10241ef0
mov eax, dword [esp + 0x54]
sub ebx, 0x20
add eax, ebx
add esp, 0x14
and eax, 0xffffffe0
cmp eax, 0x40
jge 0x10242315
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret
mov eax, dword [edi - 0x20]
lea edx, [edi - 0x20]
cmp ebp, eax
jae 0x102423d8
mov dword [ecx], eax
mov al, byte [edx + 4]
mov byte [ecx + 4], al
mov ax, word [edx + 6]
mov word [ecx + 6], ax
mov eax, dword [edx + 8]
mov dword [ecx + 8], eax
mov eax, dword [edx + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [edx + 0x10]
mov dword [ecx + 0x10], eax
mov eax, dword [edx + 0x14]
mov dword [ecx + 0x14], eax
mov eax, dword [edx + 0x18]
mov dword [ecx + 0x18], eax
mov eax, dword [edx + 0x1c]
mov dword [ecx + 0x1c], eax
mov ecx, edx
mov eax, dword [edx - 0x20]
sub edx, 0x20
cmp ebp, eax
jb 0x10242398
mov al, byte [esp + 0x1c]
mov byte [ecx + 4], al
mov ax, word [esp + 0x1e]
mov dword [ecx], ebp
mov word [ecx + 6], ax
mov eax, dword [esp + 0x20]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x24]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x28]
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x2c]
mov dword [ecx + 0x14], eax
mov eax, dword [esp + 0x30]
mov dword [ecx + 0x18], eax
mov eax, dword [esp + 0x34]
mov dword [ecx + 0x1c], eax
add edi, 0x20
cmp edi, ebx
jne 0x10242240
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret