Function at 0x10014092
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0xd0
mov eax, dword [0x10023344]
xor eax, esp
mov dword [esp + 0xcc], eax
mov edx, dword [esp + 0xd8]
mov eax, dword [esp + 0xdc]
push ebx
push ebp
movsx ecx, word [edx]
movzx edx, word [edx + 2]
push esi
push edi
mov edi, dword [esp + 0xe4]
xor esi, esi
mov dword [esp + 0x1c], eax
movsx eax, word [edi]
imul eax, ecx
inc esi
mov word [esp + 0x5c], ax
movsx ecx, word [edi + esi*2]
movsx eax, dx
imul ecx, eax
mov word [esp + esi*2 + 0x5c], cx
inc esi
cmp esi, 0x40
jl 0x100140d8
push 8
lea edx, [esp + 0x62]
pop ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
movzx eax, word [edx + 4]
movzx edi, word [edx + 0xa]
movzx ebp, word [edx + 8]
movzx ebx, word [edx + 6]
movzx esi, word [edx + 0xc]
mov dword [esp + 0x38], eax
movzx eax, word [edx + 2]
mov dword [esp + 0x40], eax
movzx eax, word [edx - 2]
mov dword [esp + 0x44], eax
or eax, edi
or eax, ebp
mov dword [esp + 0x34], ebx
or eax, ebx
movzx ebx, word [edx + 4]
or eax, ebx
movzx ebx, word [edx + 2]
or eax, ebx
movzx ebx, word [edx]
or eax, esi
or eax, ebx
test ax, ax
je 0x100142a9
movsx ecx, si
imul eax, ecx, 0x31f1
movsx edx, bx
imul ebx, edx, 0xfb15
imul esi, edx, 0x31f1
sar eax, 0x10
sar ebx, 0x10
add ebx, eax
sar esi, 0x10
imul eax, ecx, 0xfb15
movsx ecx, bp
mov dword [esp + 0x28], ebx
sar eax, 0x10
sub esi, eax
mov eax, dword [esp + 0x38]
movsx edx, ax
imul eax, ecx, 0x8e3a
imul ebp, edx, 0xd4db
imul ecx, ecx, 0xd4db
mov dword [esp + 0x20], esi
sar eax, 0x10
sar ebp, 0x10
add ebp, eax
sar ecx, 0x10
imul eax, edx, 0x8e3a
sar eax, 0x10
sub ecx, eax
mov eax, ebx
sub eax, ebp
mov dword [esp + 0x24], ecx
imul eax, eax, 0xb505
sar eax, 0x10
mov dword [esp + 0x2c], eax
mov eax, esi
sub eax, ecx
imul eax, eax, 0xb505
sar eax, 0x10
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x34]
movsx ecx, ax
mov eax, dword [esp + 0x44]
movsx edx, ax
lea eax, [edx + ecx]
sub edx, ecx
imul ebx, eax, 0xb505
imul eax, edx, 0xb505
movsx ecx, di
sar ebx, 0x10
sar eax, 0x10
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x40]
movsx edx, ax
imul edi, edx, 0xec83
imul eax, ecx, 0x61f8
imul esi, edx, 0x61f8
sar edi, 0x10
sar eax, 0x10
add edi, eax
sar esi, 0x10
imul eax, ecx, 0xec83
mov ecx, dword [esp + 0x28]
add ecx, ebp
mov dword [esp + 0x34], edi
mov ebp, dword [esp + 0x10]
lea edx, [ebx + edi]
mov edi, dword [esp + 0x10]
sar eax, 0x10
sub esi, eax
lea eax, [edx + ecx]
sub edx, ecx
mov word [ebp - 2], ax
mov ecx, dword [esp + 0x30]
mov word [ebp + 0xc], dx
add ecx, esi
mov edx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x38]
add edx, ebp
lea eax, [ecx + edx]
sub edx, ecx
mov word [edi], ax
mov eax, edi
mov ecx, dword [esp + 0x20]
add ecx, dword [esp + 0x24]
sub ebx, dword [esp + 0x34]
sub ebp, dword [esp + 0x2c]
mov word [eax + 2], dx
mov edx, edi
lea eax, [ebx + ecx]
sub ebx, ecx
mov ecx, dword [esp + 0x30]
sub ecx, esi
mov word [edx + 4], ax
mov word [edx + 6], bx
lea eax, [ecx + ebp]
sub ebp, ecx
mov ecx, dword [esp + 0x14]
mov word [edx + 8], ax
mov word [edx + 0xa], bp
add edx, 0x10
sub ecx, 1
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
jne 0x100140fc
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x5c]
mov dword [esp + 0x2c], eax
lea edx, [esp + 0xbc]
sub edx, ecx
mov dword [esp + 0x44], 8
lea ebx, [esp + 0xac]
mov dword [esp + 0x34], edx
lea eax, [ecx + 0x10]
sub ebx, ecx
mov dword [esp + 0x30], eax
lea ebp, [esp + 0x9c]
lea eax, [esp + 0x6c]
mov dword [esp + 0x38], ebx
sub eax, ecx
lea esi, [esp + 0x8c]
mov dword [esp + 0x40], eax
lea edi, [esp + 0x7c]
sub ebp, ecx
lea eax, [esp + 0x5c]
sub esi, ecx
mov dword [esp + 0x50], ebp
sub edi, ecx
mov dword [esp + 0x54], esi
sub eax, ecx
mov dword [esp + 0x58], edi
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x30]
movzx ebx, word [edx + eax]
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x38]
movzx edx, word [ebx + eax]
mov dword [esp + 0x28], edx
movzx edx, word [eax + ebp]
mov dword [esp + 0x18], edx
movzx edx, word [esi + eax]
mov dword [esp + 0x1c], edx
movzx edx, word [edi + eax]
mov dword [esp + 0x10], edx
movzx edx, word [ecx + eax]
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x4c]
movzx edx, word [edx + eax]
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x3c], edx
movzx eax, word [eax]
mov dword [esp + 0x20], eax
mov eax, edx
or eax, dword [esp + 0x24]
or eax, dword [esp + 0x10]
or eax, dword [esp + 0x1c]
or eax, dword [esp + 0x18]
or eax, dword [esp + 0x28]
or eax, dword [esp + 0x14]
or eax, dword [esp + 0x20]
test ax, ax
je 0x10014544
mov eax, edx
movsx ecx, ax
mov eax, dword [esp + 0x14]
movsx edx, ax
imul eax, ecx, 0xfb15
imul ebp, edx, 0x31f1
imul edi, ecx, 0x31f1
sar eax, 0x10
sar ebp, 0x10
add ebp, eax
sar edi, 0x10
imul eax, edx, 0xfb15
sar eax, 0x10
sub edi, eax
mov eax, dword [esp + 0x10]
movsx ecx, ax
mov eax, dword [esp + 0x18]
movsx edx, ax
imul eax, ecx, 0xd4db
imul esi, edx, 0x8e3a
sar eax, 0x10
sar esi, 0x10
add esi, eax
imul eax, ecx, 0x8e3a
imul ecx, edx, 0xd4db
sar eax, 0x10
sar ecx, 0x10
sub ecx, eax
mov eax, ebp
sub eax, esi
imul eax, eax, 0xb505
sar eax, 0x10
mov dword [esp + 0x18], eax
mov eax, edi
sub eax, ecx
imul ebx, eax, 0xb505
lea eax, [esi + ebp]
mov dword [esp + 0x48], eax
lea eax, [ecx + edi]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x1c]
movsx ecx, ax
mov eax, dword [esp + 0x20]
movsx edx, ax
sar ebx, 0x10
lea eax, [edx + ecx]
sub edx, ecx
imul esi, eax, 0xb505
mov eax, dword [esp + 0x24]
imul ebp, edx, 0xb505
movsx edx, ax
mov eax, dword [esp + 0x28]
movsx ecx, ax
sar esi, 0x10
imul eax, ecx, 0x61f8
mov dword [esp + 0x10], esi
imul esi, edx, 0xec83
sar ebp, 0x10
sar eax, 0x10
sar esi, 0x10
add esi, eax
imul eax, ecx, 0xec83
imul ecx, edx, 0x61f8
mov edx, ebx
sar eax, 0x10
sar ecx, 0x10
sub ecx, eax
mov eax, dword [esp + 0x10]
sub edx, ecx
lea edi, [ecx + ebx]
mov ecx, dword [esp + 0x18]
lea ebx, [eax + 8]
add ecx, 8
sub eax, esi
add ecx, ebp
sub ebp, dword [esp + 0x18]
add eax, 8
add ebx, esi
mov dword [esp + 0x10], eax
add ebp, 8
mov eax, ebp
sub eax, edx
mov esi, dword [esp + 0x10]
sar eax, 4
movzx eax, ax
mov dword [esp + 0x14], eax
lea eax, [edx + ebp]
mov edx, dword [esp + 0x3c]
sar eax, 4
movzx eax, ax
mov dword [esp + 0x18], eax
mov eax, esi
sub eax, edx
mov ebp, dword [esp + 0x50]
sar eax, 4
movzx eax, ax
mov dword [esp + 0x1c], eax
lea eax, [esi + edx]
sar eax, 4
movzx edx, ax
mov eax, ecx
sub eax, edi
mov esi, dword [esp + 0x54]
sar eax, 4
movzx eax, ax
mov dword [esp + 0x20], eax
lea eax, [edi + ecx]
mov ecx, dword [esp + 0x48]
mov edi, dword [esp + 0x58]
sar eax, 4
movzx eax, ax
mov dword [esp + 0x24], eax
mov eax, ebx
sub eax, ecx
sar eax, 4
movzx eax, ax
mov dword [esp + 0x28], eax
lea eax, [ebx + ecx]
mov ecx, dword [esp + 0x40]
sar eax, 4
movzx ebx, ax
jmp 0x1001456a
xor eax, eax
mov dword [esp + 0x14], eax
mov edx, eax
mov dword [esp + 0x18], eax
mov ebx, eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x30]
add dword [esp + 0x2c], 2
mov word [eax - 0x10], bx
mov ebx, dword [esp + 0x28]
mov word [eax + 0x60], bx
mov ebx, dword [esp + 0x24]
mov word [eax], bx
mov ebx, dword [esp + 0x20]
mov word [eax + 0x10], bx
mov word [eax + 0x20], dx
mov edx, dword [esp + 0x1c]
mov word [eax + 0x30], dx
mov edx, dword [esp + 0x18]
mov word [eax + 0x40], dx
mov edx, dword [esp + 0x14]
mov word [eax + 0x50], dx
add eax, 2
sub dword [esp + 0x44], 1
mov edx, dword [esp + 0x34]
mov dword [esp + 0x30], eax
jne 0x10014332
mov ecx, dword [esp + 0xdc]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.10019cd0
add esp, 0xd0
ret