Function at 0x1012f7a0
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x14
mov eax, dword [esp + 0x18]
xorps xmm0, xmm0
push ebx
mov ebx, dword [esp + 0x24]
push ebp
mov eax, dword [eax + 0x14]
mov ebp, dword [esp + 0x2c]
mov dword [esp + 0x18], eax
xor eax, eax
mov dword [esp + 8], eax
mov dword [esp + 0xc], eax
movups xmmword [ebp + 0x10], xmm0
push esi
movq qword [ebp + 0x20], xmm0
mov byte [ebp + 0xa], al
mov ebx, dword [ebx]
mov eax, ebx
shr eax, 0x10
and eax, 3
push edi
sub eax, 1
je 0x1012f7fb
sub eax, 1
je 0x1012f7f1
mov dword [esp + 0x18], 0
jmp 0x1012f803
mov dword [esp + 0x18], 2
jmp 0x1012f803
mov dword [esp + 0x18], 1
mov edi, dword [esp + 0x2c]
mov ecx, ebx
mov eax, dword [edi]
nop dword [eax + eax]
movzx esi, cx
shl esi, 4
add esi, eax
mov ecx, dword [esi]
mov edx, ecx
shr edx, 0x1c
cmp edx, 8
je 0x1012f810
mov eax, ecx
and eax, 0xf8000000
cmp eax, 0x38000000
je 0x1012fb94
and ecx, 0xf4000000
cmp ecx, 0x34000000
je 0x1012f85f
cmp edx, 1
je 0x1012f85f
cmp ecx, 0x4000000
jne 0x1012f8c1
cmp dword [esi + 4], 4
setne al
inc al
mov byte [ebp + 0xa], al
jmp 0x1012f8c1
mov edi, dword [esi + 4]
mov eax, dword [esp + 0x2c]
lea edx, [edi + 8]
mov ecx, dword [eax + 0xc]
call fcn.100f5330
mov ecx, dword [esp + 0x28]
mov ebp, dword [esp + 0x28]
mov word [eax + 6], bx
lea ebx, [eax + 8]
mov byte [eax + 5], 0xa
mov edx, dword [ecx + 0x14]
lea ecx, [edx + 8]
mov dword [ebp + 0x14], ecx
mov ebp, dword [esp + 0x34]
mov dword [edx], eax
mov dword [edx + 4], 0xfffffff5
mov eax, dword [esi]
and eax, 0xf0000000
cmp eax, 0x10000000
cmp edi, 8
mov edi, dword [esp + 0x2c]
seta al
mov byte [ebp + 9], al
jbe 0x1012f8c1
mov eax, 1
mov dword [ebp + 0x28], ebx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x30]
movzx ebx, word [eax + 8]
test ebx, ebx
je 0x1012f8f0
mov edx, dword [edi]
nop
mov ecx, ebx
add ecx, ecx
mov eax, dword [edx + ecx*8]
and eax, 0xf0000000
cmp eax, 0x80000000
jne 0x1012f8ec
movzx ebx, word [edx + ecx*8 + 8]
test ebx, ebx
jne 0x1012f8d0
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x1c], 1
mov ebp, dword [ecx + 0x10]
add ebp, 8
cmp ebp, dword [esp + 0x20]
jae 0x1012fb5f
nop dword [eax]
test ebx, ebx
je 0x1012f927
shl ebx, 4
add ebx, dword [edi]
mov eax, ebx
movzx ebx, word [eax + 8]
movzx esi, word [eax]
jmp 0x1012f9ef
test dword [eax], 0x800000
je 0x1012fba2
mov eax, dword [ebp + 4]
cmp eax, 0xfffffff2
ja 0x1012f945
mov esi, 0xe
jmp 0x1012f9ef
cmp eax, 0xfffffff5
jne 0x1012f9cf
mov eax, dword [ebp]
movzx esi, word [eax + 6]
mov edx, esi
shl edx, 4
add edx, dword [edi]
mov ecx, dword [edx]
mov eax, ecx
and eax, 0xfc000000
cmp eax, 0x30000000
jne 0x1012f989
movzx eax, cx
or eax, 0x20000
push 4
add eax, 0x20000000
push eax
push edi
call fcn.10113680
add esp, 0xc
mov esi, eax
jmp 0x1012f9ef
mov eax, ecx
shr eax, 0x1c
cmp eax, 1
je 0x1012f9b3
cmp eax, 6
je 0x1012f9b3
and ecx, 0xf4000000
cmp ecx, 0x4000000
jne 0x1012f9ef
cmp dword [edx + 4], 4
jne 0x1012f9ef
mov esi, 0xe
jmp 0x1012f9ef
or esi, 0x20000
push 4
add esi, 0x20000000
push esi
push edi
call fcn.10113680
add esp, 0xc
mov esi, eax
jmp 0x1012f9ef
cmp eax, 0xfffffffb
jne 0x1012f9db
mov esi, 0x13
jmp 0x1012f9ef
cmp eax, 0xfffffffe
je 0x1012f9ea
mov esi, 0x11
cmp eax, 0xfffffffd
jne 0x1012f9ef
mov esi, 3
mov edx, dword [edi]
shl esi, 4
add esi, edx
mov ecx, dword [esi]
mov eax, ecx
and eax, 0xf0000000
cmp eax, 0x80000000
jne 0x1012fa1e
movzx esi, cx
shl esi, 4
add esi, edx
mov ecx, dword [esi]
mov eax, ecx
and eax, 0xf0000000
cmp eax, 0x80000000
je 0x1012fa06
mov edx, dword [esi + 4]
mov edi, ecx
shr edi, 0x1c
test edi, edi
jne 0x1012faba
cmp edx, 8
ja 0x1012fb94
mov eax, dword [esp + 0x10]
add edx, 3
shr edx, 2
mov dword [esp + 0x10], eax
test ecx, 0x4000000
je 0x1012fadf
mov edi, dword [esp + 0x14]
lea eax, [edx + edi]
cmp eax, 0x20
ja 0x1012fb94
mov ecx, dword [esp + 0x34]
add edi, 0xa
mov dword [esp + 0x14], eax
lea edi, [ecx + edi*4]
mov eax, dword [esp + 0x1c]
shl eax, 8
push eax
mov eax, dword [esp + 0x30]
push ebp
push edi
push esi
push eax
call fcn.10129c90
mov ecx, dword [esi]
add esp, 0x14
test ecx, 0xf4000000
jne 0x1012fb42
mov eax, dword [esi + 4]
cmp eax, 4
jae 0x1012fb42
test ecx, 0x800000
je 0x1012fb33
cmp eax, 1
jne 0x1012fb2e
movzx eax, byte [edi]
jmp 0x1012fb40
mov eax, ecx
and eax, 0xf8000000
cmp eax, 0x38000000
je 0x1012fb94
cmp edi, 1
jne 0x1012faec
mov eax, dword [esp + 0x18]
add edx, 3
mov dword [esp + 0x10], eax
shr edx, 2
mov ecx, eax
cmp edx, 1
ja 0x1012fa51
jmp 0x1012fb10
and ecx, 0xf4000000
cmp ecx, 0x34000000
jne 0x1012fb05
add edx, 3
shr edx, 2
jmp 0x1012fa51
mov eax, dword [esp + 0x10]
mov edx, 1
mov ecx, eax
inc eax
cmp eax, dword [esp + 0x18]
ja 0x1012fa51
mov edi, dword [esp + 0x34]
add edi, 0x20
add dword [esp + 0x10], edx
lea edi, [edi + ecx*4]
jmp 0x1012fa6f
movzx eax, word [edi]
jmp 0x1012fb40
cmp eax, 1
jne 0x1012fb3d
movsx eax, byte [edi]
jmp 0x1012fb40
movsx eax, word [edi]
mov dword [edi], eax
inc dword [esp + 0x1c]
add ebp, 8
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0x30]
cmp ebp, dword [esp + 0x20]
jb 0x1012f910
mov ecx, dword [esp + 0x28]
test ebx, ebx
jne 0x1012fba6
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x14]
mov byte [ecx + 8], al
mov dword [ecx + 4], 4
cmp eax, 1
jbe 0x1012fb8a
lea eax, [eax*4 + 0xb]
and eax, 0xfffffff0
add eax, 4
mov dword [ecx + 4], eax
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x14
ret
push 0xf22
push dword [esp + 0x2c]
call fcn.100f3d10
mov ecx, dword [esp + 0x28]
push 0xe03
push ecx
call fcn.100f3d10
int3