Function at 0x1001423b
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 + 0x20], 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 0x10014281
push 8
lea ebx, [esp + 0x62]
pop ecx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x10], ecx
movzx eax, word [ebx + 0xa]
movzx ebp, word [ebx + 8]
movzx edx, word [ebx + 6]
movzx edi, word [ebx + 4]
movzx esi, word [ebx - 2]
movzx ecx, word [ebx + 2]
mov dword [esp + 0x2c], eax
or eax, ebp
or eax, edx
mov dword [esp + 0x38], edx
movzx edx, word [ebx + 2]
or eax, edi
or eax, edx
mov dword [esp + 0x30], ecx
movzx ecx, word [ebx]
mov dword [esp + 0x44], esi
movzx esi, word [ebx + 0xc]
or eax, esi
mov dword [esp + 0x1c], ecx
or eax, ecx
mov dword [esp + 0x3c], edi
movzx ecx, word [ebx - 2]
or eax, ecx
mov ecx, dword [esp + 0x10]
test ax, ax
je 0x1001447f
mov eax, dword [esp + 0x1c]
movsx edx, ax
movsx ecx, si
imul eax, ecx, 0x31f1
imul esi, edx, 0xfb15
imul edi, edx, 0x31f1
sar eax, 0x10
sar esi, 0x10
add esi, eax
sar edi, 0x10
imul eax, ecx, 0xfb15
movsx ecx, bp
mov dword [esp + 0x28], esi
sar eax, 0x10
sub edi, eax
mov eax, dword [esp + 0x3c]
movsx edx, ax
imul eax, ecx, 0x8e3a
imul ebx, edx, 0xd4db
imul ecx, ecx, 0xd4db
mov dword [esp + 0x14], edi
sar eax, 0x10
sar ebx, 0x10
add ebx, eax
sar ecx, 0x10
imul eax, edx, 0x8e3a
sub esi, ebx
mov dword [esp + 0x1c], ebx
imul ebp, esi, 0xb505
sar eax, 0x10
sub ecx, eax
mov eax, edi
sub eax, ecx
mov dword [esp + 0x24], ecx
imul eax, eax, 0xb505
sar ebp, 0x10
movzx ebp, bp
sar eax, 0x10
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x38]
movsx ecx, ax
mov eax, dword [esp + 0x44]
movsx edx, ax
mov dword [esp + 0x38], ebp
lea eax, [edx + ecx]
sub edx, ecx
imul ebx, eax, 0xb505
imul eax, edx, 0xb505
sar ebx, 0x10
sar eax, 0x10
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x30]
movsx edx, ax
mov eax, dword [esp + 0x2c]
movsx ecx, ax
imul esi, edx, 0xec83
imul eax, ecx, 0x61f8
imul edi, edx, 0x61f8
mov edx, dword [esp + 0x28]
add edx, dword [esp + 0x1c]
sar esi, 0x10
sar eax, 0x10
add esi, eax
sar edi, 0x10
imul eax, ecx, 0xec83
sar eax, 0x10
sub edi, eax
movzx eax, bx
movzx ebx, si
mov esi, dword [esp + 0x18]
mov dword [esp + 0x1c], eax
lea ecx, [ebx + eax]
lea eax, [ecx + edx]
sub ecx, edx
mov word [esi - 2], ax
mov eax, dword [esp + 0x34]
mov word [esi + 0xc], cx
mov ecx, dword [esp + 0x3c]
movzx edx, ax
add edx, ebp
movzx esi, di
mov ebp, dword [esp + 0x18]
movzx edi, cx
lea ecx, [esi + edi]
sub edi, esi
lea eax, [ecx + edx]
sub edx, ecx
mov ecx, dword [esp + 0x14]
add ecx, dword [esp + 0x24]
mov word [ebp], ax
mov eax, ebp
mov word [eax + 2], dx
mov edx, dword [esp + 0x1c]
sub edx, ebx
mov ebx, ebp
lea eax, [edx + ecx]
sub edx, ecx
mov word [ebx + 4], ax
mov eax, dword [esp + 0x34]
movzx ecx, ax
sub ecx, dword [esp + 0x38]
mov word [ebx + 6], dx
lea eax, [ecx + edi]
sub ecx, edi
mov word [ebx + 0xa], cx
mov ecx, dword [esp + 0x10]
mov word [ebx + 8], ax
add ebx, 0x10
sub ecx, 1
mov dword [esp + 0x18], ebx
mov dword [esp + 0x10], ecx
jne 0x100142a5
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0x5c]
mov dword [esp + 0x18], eax
lea edx, [esp + 0xbc]
sub edx, ecx
mov dword [esp + 0x38], 8
lea ebx, [esp + 0xac]
mov dword [esp + 0x3c], edx
lea eax, [ecx + 0x10]
sub ebx, ecx
mov dword [esp + 0x34], eax
lea ebp, [esp + 0x9c]
lea eax, [esp + 0x6c]
mov dword [esp + 0x1c], ebx
sub eax, ecx
lea esi, [esp + 0x8c]
mov dword [esp + 0x44], 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 + 0x44]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x34]
movzx ebx, word [edx + eax]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x1c]
movzx edx, word [ebx + eax]
mov dword [esp + 0x30], edx
movzx edx, word [eax + ebp]
mov dword [esp + 0x14], edx
movzx edx, word [esi + eax]
mov dword [esp + 0x24], edx
movzx edx, word [edi + eax]
mov dword [esp + 0x20], edx
movzx edx, word [ecx + eax]
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x4c]
movzx edx, word [edx + eax]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x40], edx
movzx eax, word [eax]
mov dword [esp + 0x28], eax
mov eax, edx
or eax, dword [esp + 0x2c]
or eax, dword [esp + 0x20]
or eax, dword [esp + 0x24]
or eax, dword [esp + 0x14]
or eax, dword [esp + 0x30]
or eax, dword [esp + 0x10]
or eax, dword [esp + 0x28]
test ax, ax
je 0x1001471a
mov eax, edx
movsx ecx, ax
mov eax, dword [esp + 0x10]
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 + 0x20]
movsx ecx, ax
mov eax, dword [esp + 0x14]
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 + 0x14], 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 + 0x40], eax
mov eax, dword [esp + 0x24]
movsx ecx, ax
mov eax, dword [esp + 0x28]
movsx edx, ax
sar ebx, 0x10
lea eax, [edx + ecx]
sub edx, ecx
imul esi, eax, 0xb505
mov eax, dword [esp + 0x2c]
imul ebp, edx, 0xb505
movsx edx, ax
mov eax, dword [esp + 0x30]
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 + 0x14]
lea ebx, [eax + 8]
add ecx, 8
sub eax, esi
add ecx, ebp
sub ebp, dword [esp + 0x14]
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 + 0x20], eax
lea eax, [edx + ebp]
mov edx, dword [esp + 0x40]
sar eax, 4
movzx eax, ax
mov dword [esp + 0x14], eax
mov eax, esi
sub eax, edx
mov ebp, dword [esp + 0x50]
sar eax, 4
movzx eax, ax
mov dword [esp + 0x24], 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 + 0x28], eax
lea eax, [edi + ecx]
mov ecx, dword [esp + 0x48]
mov edi, dword [esp + 0x58]
sar eax, 4
movzx eax, ax
mov dword [esp + 0x2c], eax
mov eax, ebx
sub eax, ecx
sar eax, 4
movzx eax, ax
mov dword [esp + 0x30], eax
lea eax, [ebx + ecx]
mov ecx, dword [esp + 0x44]
sar eax, 4
movzx ebx, ax
jmp 0x10014740
xor eax, eax
mov dword [esp + 0x20], eax
mov edx, eax
mov dword [esp + 0x14], eax
mov ebx, eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x34]
add dword [esp + 0x18], 2
mov word [eax - 0x10], bx
mov ebx, dword [esp + 0x30]
mov word [eax + 0x60], bx
mov ebx, dword [esp + 0x2c]
mov word [eax], bx
mov ebx, dword [esp + 0x28]
mov word [eax + 0x10], bx
mov word [eax + 0x20], dx
mov edx, dword [esp + 0x24]
mov word [eax + 0x30], dx
mov edx, dword [esp + 0x14]
mov word [eax + 0x40], dx
mov edx, dword [esp + 0x20]
mov word [eax + 0x50], dx
add eax, 2
sub dword [esp + 0x38], 1
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x34], eax
jne 0x10014508
mov ecx, dword [esp + 0xdc]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.10019ecc
add esp, 0xd0
ret