Function at 0x6c510130
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x1c
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 8]
mov ebx, dword [eax + 4]
movsx edx, word [eax + 2]
or ebx, ecx
or ebx, dword [eax + 0xc]
or ebx, edx
je 0x6c510d80
movsx esi, word [eax]
imul ebp, edx, 0x58c5
mov ebx, esi
shl ebx, 0xe
sub ebx, esi
movsx esi, word [eax + 4]
add ebx, 0x400
imul edi, esi, 0x539f
add edi, ebx
mov dword [esp], edi
imul edi, esi, 0x22a3
add edi, ebx
mov dword [esp + 4], edi
imul edi, esi, 0xffffdd5d
imul esi, esi, 0xffffac61
add edi, ebx
add esi, ebx
movsx ebx, word [eax + 6]
mov dword [esp + 0xc], esi
mov dword [esp + 8], edi
imul edi, edx, 0x4b42
imul esi, ebx, 0x4b42
add ebp, esi
imul esi, ebx, 0xffffee58
add esi, edi
mov dword [esp + 0x10], esi
imul edi, edx, 0x3249
imul esi, ebx, 0xffffa73b
imul edx, edx, 0x11a8
imul ebx, ebx, 0xffffcdb7
add edi, esi
add ebx, edx
or ecx, dword [eax + 0xc]
mov dword [esp + 0x14], ebx
jne 0x6c510ee3
mov edx, dword [esp]
mov ebx, dword [esp + 0xc]
sub ebx, dword [esp + 0x14]
add edx, ebp
sar edx, 0xb
mov word [eax], dx
mov edx, dword [esp]
sar ebx, 0xb
mov word [eax + 8], bx
sub edx, ebp
sar edx, 0xb
mov word [eax + 0xe], dx
mov edx, dword [esp + 4]
add edx, dword [esp + 0x10]
sar edx, 0xb
mov word [eax + 2], dx
mov edx, dword [esp + 4]
sub edx, dword [esp + 0x10]
sar edx, 0xb
mov word [eax + 0xc], dx
mov edx, dword [esp + 8]
add edx, edi
sar edx, 0xb
mov word [eax + 4], dx
mov edx, dword [esp + 8]
sub edx, edi
mov edi, edx
mov edx, dword [esp + 0xc]
add edx, dword [esp + 0x14]
sar edi, 0xb
mov word [eax + 0xa], di
sar edx, 0xb
mov word [eax + 6], dx
mov ecx, dword [eax + 0x18]
mov ebx, dword [eax + 0x14]
movsx edx, word [eax + 0x12]
or ebx, ecx
or ebx, dword [eax + 0x1c]
or ebx, edx
je 0x6c510d55
movsx esi, word [eax + 0x10]
imul ebp, edx, 0x58c5
mov ebx, esi
shl ebx, 0xe
sub ebx, esi
movsx esi, word [eax + 0x14]
add ebx, 0x400
imul edi, esi, 0x539f
add edi, ebx
mov dword [esp], edi
imul edi, esi, 0x22a3
add edi, ebx
mov dword [esp + 4], edi
imul edi, esi, 0xffffdd5d
imul esi, esi, 0xffffac61
add edi, ebx
add esi, ebx
movsx ebx, word [eax + 0x16]
mov dword [esp + 0xc], esi
mov dword [esp + 8], edi
imul edi, edx, 0x4b42
imul esi, ebx, 0x4b42
add ebp, esi
imul esi, ebx, 0xffffee58
add esi, edi
mov dword [esp + 0x10], esi
imul edi, edx, 0x3249
imul esi, ebx, 0xffffa73b
imul edx, edx, 0x11a8
imul ebx, ebx, 0xffffcdb7
add edi, esi
add ebx, edx
or ecx, dword [eax + 0x1c]
mov dword [esp + 0x14], ebx
jne 0x6c510e43
mov edx, dword [esp]
mov ecx, dword [esp + 8]
mov ebx, dword [esp + 0xc]
sub ebx, dword [esp + 0x14]
add edx, ebp
sar edx, 0xb
sub ecx, edi
mov word [eax + 0x10], dx
mov edx, dword [esp]
sar ebx, 0xb
mov word [eax + 0x18], bx
sub edx, ebp
sar edx, 0xb
mov word [eax + 0x1e], dx
mov edx, dword [esp + 4]
add edx, dword [esp + 0x10]
sar edx, 0xb
mov word [eax + 0x12], dx
mov edx, dword [esp + 4]
sub edx, dword [esp + 0x10]
sar edx, 0xb
mov word [eax + 0x1c], dx
mov edx, dword [esp + 8]
add edx, edi
mov edi, ecx
sar edx, 0xb
mov word [eax + 0x14], dx
mov edx, dword [esp + 0xc]
sar edi, 0xb
add edx, dword [esp + 0x14]
mov word [eax + 0x1a], di
sar edx, 0xb
mov word [eax + 0x16], dx
mov ecx, dword [eax + 0x28]
mov ebx, dword [eax + 0x24]
movsx edx, word [eax + 0x22]
or ebx, ecx
or ebx, dword [eax + 0x2c]
or ebx, edx
je 0x6c510d30
movsx esi, word [eax + 0x20]
imul ebp, edx, 0x58c5
mov ebx, esi
shl ebx, 0xe
sub ebx, esi
movsx esi, word [eax + 0x24]
add ebx, 0x400
imul edi, esi, 0x539f
add edi, ebx
mov dword [esp], edi
imul edi, esi, 0x22a3
add edi, ebx
mov dword [esp + 4], edi
imul edi, esi, 0xffffdd5d
imul esi, esi, 0xffffac61
add edi, ebx
add esi, ebx
movsx ebx, word [eax + 0x26]
mov dword [esp + 0xc], esi
mov dword [esp + 8], edi
imul edi, edx, 0x4b42
imul esi, ebx, 0x4b42
add ebp, esi
imul esi, ebx, 0xffffee58
add esi, edi
mov dword [esp + 0x10], esi
imul edi, edx, 0x3249
imul esi, ebx, 0xffffa73b
imul edx, edx, 0x11a8
imul ebx, ebx, 0xffffcdb7
add edi, esi
add ebx, edx
or ecx, dword [eax + 0x2c]
mov dword [esp + 0x14], ebx
jne 0x6c510da3
mov edx, dword [esp]
mov esi, dword [esp + 8]
mov ebx, dword [esp + 0xc]
sub ebx, dword [esp + 0x14]
add edx, ebp
sar edx, 0xb
sub esi, edi
mov word [eax + 0x20], dx
mov edx, dword [esp]
sar ebx, 0xb
mov word [eax + 0x28], bx
sub edx, ebp
sar edx, 0xb
mov word [eax + 0x2e], dx
mov edx, dword [esp + 4]
add edx, dword [esp + 0x10]
sar edx, 0xb
mov word [eax + 0x22], dx
mov edx, dword [esp + 4]
sub edx, dword [esp + 0x10]
sar edx, 0xb
mov word [eax + 0x2c], dx
mov edx, dword [esp + 8]
add edx, edi
mov edi, esi
sar edx, 0xb
mov word [eax + 0x24], dx
mov edx, dword [esp + 0xc]
sar edi, 0xb
add edx, dword [esp + 0x14]
mov word [eax + 0x2a], di
sar edx, 0xb
mov word [eax + 0x26], dx
mov ecx, dword [eax + 0x38]
mov ebx, dword [eax + 0x34]
movsx edx, word [eax + 0x32]
or ebx, ecx
or ebx, dword [eax + 0x3c]
or ebx, edx
jne 0x6c510b90
movsx edx, word [eax + 0x30]
shl edx, 3
and edx, 0xffff
mov ecx, edx
shl ecx, 0x10
add edx, ecx
mov dword [eax + 0x3c], edx
mov dword [eax + 0x38], edx
mov dword [eax + 0x34], edx
mov dword [eax + 0x30], edx
movsx ecx, word [eax + 0x20]
movsx edi, word [eax]
movsx esi, word [eax + 0x10]
movsx edx, word [eax + 0x30]
lea ebx, [edi + ecx]
sub edi, ecx
imul ebx, ebx, 0xb50
imul ecx, edx, 0x61f
imul edx, edx, 0xfffff138
imul edi, edi, 0xb50
lea ebp, [ebx + 0x10000]
imul ebx, esi, 0xec8
imul esi, esi, 0x61f
add edi, 0x10000
add ebx, ecx
add esi, edx
mov edx, dword [esp + 0x30]
movzx ecx, byte [edx]
lea edx, [ebp + ebx]
sar edx, 0x11
add edx, ecx
test edx, 0xffffff00
je 0x6c51051d
neg edx
sar edx, 0x1f
mov ecx, dword [esp + 0x30]
mov byte [ecx], dl
mov edx, dword [esp + 0x34]
add edx, ecx
movzx ecx, byte [edx]
mov dword [esp], ecx
lea ecx, [edi + esi]
sar ecx, 0x11
add ecx, dword [esp]
test ecx, 0xffffff00
je 0x6c510545
neg ecx
sar ecx, 0x1f
mov byte [edx], cl
sub edi, esi
add edx, dword [esp + 0x34]
sar edi, 0x11
movzx ecx, byte [edx]
add edi, ecx
test edi, 0xffffff00
mov ecx, edi
je 0x6c510566
neg edi
mov ecx, edi
sar ecx, 0x1f
mov byte [edx], cl
sub ebp, ebx
add edx, dword [esp + 0x34]
mov ebx, ebp
sar ebx, 0x11
movzx ecx, byte [edx]
add ecx, ebx
test ecx, 0xffffff00
je 0x6c510585
neg ecx
sar ecx, 0x1f
mov byte [edx], cl
movsx ebx, word [eax + 0x22]
movsx edi, word [eax + 2]
movsx esi, word [eax + 0x12]
movsx ecx, word [eax + 0x32]
mov edx, dword [esp + 0x30]
lea ebp, [edi + ebx]
sub edi, ebx
imul ebp, ebp, 0xb50
imul ebx, ecx, 0x61f
imul ecx, ecx, 0xfffff138
add edx, 1
imul edi, edi, 0xb50
add ebp, 0x10000
mov dword [esp], ebp
imul ebp, esi, 0xec8
imul esi, esi, 0x61f
add edi, 0x10000
add ebx, ebp
add esi, ecx
mov ecx, dword [esp + 0x30]
movzx ebp, byte [ecx + 1]
mov ecx, dword [esp]
add ecx, ebx
sar ecx, 0x11
add ecx, ebp
test ecx, 0xffffff00
je 0x6c5105f9
neg ecx
sar ecx, 0x1f
mov ebp, dword [esp + 0x30]
add edx, dword [esp + 0x34]
mov byte [ebp + 1], cl
movzx ebp, byte [edx]
lea ecx, [edi + esi]
sar ecx, 0x11
add ecx, ebp
test ecx, 0xffffff00
je 0x6c51061c
neg ecx
sar ecx, 0x1f
mov byte [edx], cl
sub edi, esi
add edx, dword [esp + 0x34]
sar edi, 0x11
movzx ecx, byte [edx]
add edi, ecx
test edi, 0xffffff00
mov ecx, edi
je 0x6c51063d
neg edi
mov ecx, edi
sar ecx, 0x1f
mov byte [edx], cl
mov esi, dword [esp]
add edx, dword [esp + 0x34]
movzx ecx, byte [edx]
sub esi, ebx
mov ebx, esi
sar ebx, 0x11
add ecx, ebx
test ecx, 0xffffff00
je 0x6c51065f
neg ecx
sar ecx, 0x1f
mov byte [edx], cl
movsx ebx, word [eax + 0x24]
movsx edi, word [eax + 4]
movsx esi, word [eax + 0x14]
movsx ecx, word [eax + 0x34]
mov edx, dword [esp + 0x30]
lea ebp, [edi + ebx]
sub edi, ebx
imul ebp, ebp, 0xb50
imul ebx, ecx, 0x61f
imul ecx, ecx, 0xfffff138
add edx, 2
imul edi, edi, 0xb50
add ebp, 0x10000
mov dword [esp], ebp
imul ebp, esi, 0xec8
imul esi, esi, 0x61f
add edi, 0x10000
add ebx, ebp
add esi, ecx
mov ecx, dword [esp + 0x30]
movzx ebp, byte [ecx + 2]
mov ecx, dword [esp]
add ecx, ebx
sar ecx, 0x11
add ecx, ebp
test ecx, 0xffffff00
je 0x6c5106d3
neg ecx
sar ecx, 0x1f
mov ebp, dword [esp + 0x30]
add edx, dword [esp + 0x34]
mov byte [ebp + 2], cl
movzx ebp, byte [edx]
lea ecx, [edi + esi]
sar ecx, 0x11
add ecx, ebp
test ecx, 0xffffff00
je 0x6c5106f6
neg ecx
sar ecx, 0x1f
mov byte [edx], cl
sub edi, esi
add edx, dword [esp + 0x34]
sar edi, 0x11
movzx ecx, byte [edx]
add edi, ecx
test edi, 0xffffff00
mov ecx, edi
je 0x6c510717
neg edi
mov ecx, edi
sar ecx, 0x1f
mov byte [edx], cl
mov esi, dword [esp]
add edx, dword [esp + 0x34]
movzx ecx, byte [edx]
sub esi, ebx
mov ebx, esi
sar ebx, 0x11
add ecx, ebx
test ecx, 0xffffff00
je 0x6c510739
neg ecx
sar ecx, 0x1f
mov byte [edx], cl
movsx ebx, word [eax + 0x26]
movsx edi, word [eax + 6]
movsx esi, word [eax + 0x16]
movsx ecx, word [eax + 0x36]
mov edx, dword [esp + 0x30]
lea ebp, [edi + ebx]
sub edi, ebx
imul ebp, ebp, 0xb50
imul ebx, ecx, 0x61f
imul ecx, ecx, 0xfffff138
add edx, 3
imul edi, edi, 0xb50
add ebp, 0x10000
mov dword [esp], ebp
imul ebp, esi, 0xec8
imul esi, esi, 0x61f
add edi, 0x10000
add ebx, ebp
add esi, ecx
mov ecx, dword [esp + 0x30]
movzx ebp, byte [ecx + 3]
mov ecx, dword [esp]
add ecx, ebx
sar ecx, 0x11
add ecx, ebp
test ecx, 0xffffff00
je 0x6c5107ad
neg ecx
sar ecx, 0x1f
mov ebp, dword [esp + 0x30]
add edx, dword [esp + 0x34]
mov byte [ebp + 3], cl
movzx ebp, byte [edx]
lea ecx, [edi + esi]
sar ecx, 0x11
add ecx, ebp
test ecx, 0xffffff00
je 0x6c5107d0
neg ecx
sar ecx, 0x1f
mov byte [edx], cl
sub edi, esi
add edx, dword [esp + 0x34]
sar edi, 0x11
movzx ecx, byte [edx]
add edi, ecx
test edi, 0xffffff00
mov ecx, edi
je 0x6c5107f1
neg edi
mov ecx, edi
sar ecx, 0x1f
mov byte [edx], cl
mov esi, dword [esp]
add edx, dword [esp + 0x34]
movzx ecx, byte [edx]
sub esi, ebx
mov ebx, esi
sar ebx, 0x11
add ecx, ebx
test ecx, 0xffffff00
je 0x6c510813
neg ecx
sar ecx, 0x1f
mov byte [edx], cl
movsx ebx, word [eax + 0x28]
movsx edi, word [eax + 8]
movsx esi, word [eax + 0x18]
movsx ecx, word [eax + 0x38]
mov edx, dword [esp + 0x30]
lea ebp, [edi + ebx]
sub edi, ebx
imul ebp, ebp, 0xb50
imul ebx, ecx, 0x61f
imul ecx, ecx, 0xfffff138
add edx, 4
imul edi, edi, 0xb50
add ebp, 0x10000
mov dword [esp], ebp
imul ebp, esi, 0xec8
imul esi, esi, 0x61f
add edi, 0x10000
add ebx, ebp
add esi, ecx
mov ecx, dword [esp + 0x30]
movzx ebp, byte [ecx + 4]
mov ecx, dword [esp]
add ecx, ebx
sar ecx, 0x11
add ecx, ebp
test ecx, 0xffffff00
je 0x6c510887
neg ecx
sar ecx, 0x1f
mov ebp, dword [esp + 0x30]
add edx, dword [esp + 0x34]
mov byte [ebp + 4], cl
movzx ebp, byte [edx]
lea ecx, [edi + esi]
sar ecx, 0x11
add ecx, ebp
test ecx, 0xffffff00
je 0x6c5108aa
neg ecx
sar ecx, 0x1f
mov byte [edx], cl
sub edi, esi
add edx, dword [esp + 0x34]
sar edi, 0x11
movzx ecx, byte [edx]
add edi, ecx
test edi, 0xffffff00
mov ecx, edi
je 0x6c5108cb
neg edi
mov ecx, edi
sar ecx, 0x1f
mov byte [edx], cl
mov esi, dword [esp]
add edx, dword [esp + 0x34]
movzx ecx, byte [edx]
sub esi, ebx
mov ebx, esi
sar ebx, 0x11
add ecx, ebx
test ecx, 0xffffff00
je 0x6c5108ed
neg ecx
sar ecx, 0x1f
mov byte [edx], cl
movsx ebx, word [eax + 0x2a]
movsx edi, word [eax + 0xa]
movsx esi, word [eax + 0x1a]
movsx ecx, word [eax + 0x3a]
mov edx, dword [esp + 0x30]
lea ebp, [edi + ebx]
sub edi, ebx
imul ebp, ebp, 0xb50
imul ebx, ecx, 0x61f
imul ecx, ecx, 0xfffff138
add edx, 5
imul edi, edi, 0xb50
add ebp, 0x10000
mov dword [esp], ebp
imul ebp, esi, 0xec8
imul esi, esi, 0x61f
add edi, 0x10000
add ebx, ebp
add esi, ecx
mov ecx, dword [esp + 0x30]
movzx ebp, byte [ecx + 5]
mov ecx, dword [esp]
add ecx, ebx
sar ecx, 0x11
add ecx, ebp
test ecx, 0xffffff00
je 0x6c510961
neg ecx
sar ecx, 0x1f
mov ebp, dword [esp + 0x30]
add edx, dword [esp + 0x34]
mov byte [ebp + 5], cl
movzx ebp, byte [edx]
lea ecx, [edi + esi]
sar ecx, 0x11
add ecx, ebp
test ecx, 0xffffff00
je 0x6c510984
neg ecx
sar ecx, 0x1f
mov byte [edx], cl
sub edi, esi
add edx, dword [esp + 0x34]
sar edi, 0x11
movzx ecx, byte [edx]
add edi, ecx
test edi, 0xffffff00
mov ecx, edi
je 0x6c5109a5
neg edi
mov ecx, edi
sar ecx, 0x1f
mov byte [edx], cl
mov esi, dword [esp]
add edx, dword [esp + 0x34]
movzx ecx, byte [edx]
sub esi, ebx
mov ebx, esi
sar ebx, 0x11
add ecx, ebx
test ecx, 0xffffff00
je 0x6c5109c7
neg ecx
sar ecx, 0x1f
mov byte [edx], cl
movsx ebx, word [eax + 0x2c]
movsx edi, word [eax + 0xc]
movsx esi, word [eax + 0x1c]
movsx ecx, word [eax + 0x3c]
mov edx, dword [esp + 0x30]
lea ebp, [edi + ebx]
sub edi, ebx
imul ebp, ebp, 0xb50
imul ebx, ecx, 0x61f
imul ecx, ecx, 0xfffff138
add edx, 6
imul edi, edi, 0xb50
add ebp, 0x10000
mov dword [esp], ebp
imul ebp, esi, 0xec8
imul esi, esi, 0x61f
add edi, 0x10000
add ebx, ebp
add esi, ecx
mov ecx, dword [esp + 0x30]
movzx ebp, byte [ecx + 6]
mov ecx, dword [esp]
add ecx, ebx
sar ecx, 0x11
add ecx, ebp
test ecx, 0xffffff00
je 0x6c510a3b
neg ecx
sar ecx, 0x1f
mov ebp, dword [esp + 0x30]
add edx, dword [esp + 0x34]
mov byte [ebp + 6], cl
movzx ebp, byte [edx]
lea ecx, [edi + esi]
sar ecx, 0x11
add ecx, ebp
test ecx, 0xffffff00
je 0x6c510a5e
neg ecx
sar ecx, 0x1f
mov byte [edx], cl
sub edi, esi
add edx, dword [esp + 0x34]
sar edi, 0x11
movzx ecx, byte [edx]
add edi, ecx
test edi, 0xffffff00
mov ecx, edi
je 0x6c510a7f
neg edi
mov ecx, edi
sar ecx, 0x1f
mov byte [edx], cl
mov esi, dword [esp]
add edx, dword [esp + 0x34]
movzx ecx, byte [edx]
sub esi, ebx
mov ebx, esi
sar ebx, 0x11
add ecx, ebx
test ecx, 0xffffff00
je 0x6c510aa1
neg ecx
sar ecx, 0x1f
mov ebp, dword [esp + 0x30]
mov byte [edx], cl
movsx edx, word [eax + 0x2e]
movsx edi, word [eax + 0xe]
movsx ebx, word [eax + 0x1e]
movsx eax, word [eax + 0x3e]
add ebp, 7
mov dword [esp], ebp
lea ecx, [edi + edx]
sub edi, edx
imul ebp, ebx, 0xec8
imul edx, eax, 0x61f
imul ebx, ebx, 0x61f
imul eax, eax, 0xfffff138
imul ecx, ecx, 0xb50
add edx, ebp
imul edi, edi, 0xb50
add ebx, eax
mov eax, dword [esp + 0x30]
add ecx, 0x10000
add edi, 0x10000
movzx ebp, byte [eax + 7]
lea eax, [ecx + edx]
sar eax, 0x11
add eax, ebp
test eax, 0xffffff00
mov ebp, eax
je 0x6c510b16
neg eax
mov ebp, eax
sar ebp, 0x1f
mov esi, dword [esp + 0x30]
mov eax, ebp
mov byte [esi + 7], al
mov esi, dword [esp]
lea eax, [edi + ebx]
add esi, dword [esp + 0x34]
sar eax, 0x11
movzx ebp, byte [esi]
add eax, ebp
test eax, 0xffffff00
mov ebp, eax
je 0x6c510b41
neg eax
mov ebp, eax
sar ebp, 0x1f
mov eax, ebp
sub edi, ebx
mov byte [esi], al
sar edi, 0x11
add esi, dword [esp + 0x34]
movzx eax, byte [esi]
add edi, eax
test edi, 0xffffff00
mov eax, edi
je 0x6c510b64
neg edi
mov eax, edi
sar eax, 0x1f
mov byte [esi], al
sub ecx, edx
add esi, dword [esp + 0x34]
sar ecx, 0x11
movzx eax, byte [esi]
add ecx, eax
test ecx, 0xffffff00
mov eax, ecx
je 0x6c510b85
neg ecx
mov eax, ecx
sar eax, 0x1f
mov byte [esi], al
add esp, 0x1c
pop ebx
pop esi
pop edi
pop ebp
ret
movsx esi, word [eax + 0x30]
imul ebp, edx, 0x58c5
mov ebx, esi
shl ebx, 0xe
sub ebx, esi
movsx esi, word [eax + 0x34]
add ebx, 0x400
imul edi, esi, 0x539f
add edi, ebx
mov dword [esp], edi
imul edi, esi, 0x22a3
add edi, ebx
mov dword [esp + 4], edi
imul edi, esi, 0xffffdd5d
imul esi, esi, 0xffffac61
add edi, ebx
add esi, ebx
movsx ebx, word [eax + 0x36]
mov dword [esp + 0xc], esi
mov dword [esp + 8], edi
imul edi, edx, 0x4b42
imul esi, ebx, 0x4b42
add ebp, esi
imul esi, ebx, 0xffffee58
add esi, edi
mov dword [esp + 0x10], esi
imul edi, edx, 0x3249
imul esi, ebx, 0xffffa73b
imul edx, edx, 0x11a8
imul ebx, ebx, 0xffffcdb7
add esi, edi
or ecx, dword [eax + 0x3c]
mov dword [esp + 0x14], esi
lea edi, [edx + ebx]
je 0x6c510cbb
movsx edx, word [eax + 0x3c]
movsx ecx, word [eax + 0x38]
imul ebx, edx, 0x22a3
mov esi, ecx
shl esi, 0xe
sub esi, ecx
add ebx, esi
imul ecx, ecx, 0xffffc001
add dword [esp], ebx
imul ebx, edx, 0xffffac61
add ebx, ecx
add dword [esp + 4], ebx
imul ebx, edx, 0x539f
imul edx, edx, 0xffffdd5d
add ecx, ebx
add dword [esp + 8], ecx
add edx, esi
movsx ecx, word [eax + 0x3a]
add dword [esp + 0xc], edx
imul edx, ecx, 0x3249
imul esi, ecx, 0xffffa73b
add esi, dword [esp + 0x10]
add ebp, edx
movsx edx, word [eax + 0x3e]
imul ebx, edx, 0x11a8
add ebp, ebx
imul ebx, edx, 0xffffcdb7
add ebx, esi
mov dword [esp + 0x10], ebx
imul esi, ecx, 0x11a8
imul ebx, edx, 0x4b42
imul ecx, ecx, 0x4b42
add esi, dword [esp + 0x14]
imul edx, edx, 0xffffa73b
add ebx, esi
add ecx, edi
mov dword [esp + 0x14], ebx
lea edi, [ecx + edx]
mov edx, dword [esp]
mov esi, dword [esp + 0xc]
add edx, ebp
sar edx, 0xb
sub esi, edi
mov word [eax + 0x30], dx
mov edx, dword [esp]
sar esi, 0xb
mov word [eax + 0x38], si
sub edx, ebp
sar edx, 0xb
mov word [eax + 0x3e], dx
mov edx, dword [esp + 4]
add edx, dword [esp + 0x10]
sar edx, 0xb
mov word [eax + 0x32], dx
mov edx, dword [esp + 4]
sub edx, dword [esp + 0x10]
sar edx, 0xb
mov word [eax + 0x3c], dx
mov edx, dword [esp + 8]
add edx, dword [esp + 0x14]
sar edx, 0xb
mov word [eax + 0x34], dx
mov edx, dword [esp + 8]
sub edx, dword [esp + 0x14]
sar edx, 0xb
mov word [eax + 0x3a], dx
mov edx, dword [esp + 0xc]
add edx, edi
sar edx, 0xb
mov word [eax + 0x36], dx
jmp 0x6c5104b8
movsx edx, word [eax + 0x20]
shl edx, 3
and edx, 0xffff
mov ecx, edx
shl ecx, 0x10
add edx, ecx
mov dword [eax + 0x2c], edx
mov dword [eax + 0x28], edx
mov dword [eax + 0x24], edx
mov dword [eax + 0x20], edx
jmp 0x6c510481
movsx edx, word [eax + 0x10]
shl edx, 3
and edx, 0xffff
mov ecx, edx
shl ecx, 0x10
add edx, ecx
mov dword [eax + 0x1c], edx
mov dword [eax + 0x18], edx
mov dword [eax + 0x14], edx
mov dword [eax + 0x10], edx
jmp 0x6c510369
movsx edx, word [eax]
shl edx, 3
and edx, 0xffff
mov ecx, edx
shl ecx, 0x10
add edx, ecx
mov dword [eax + 0xc], edx
mov dword [eax + 8], edx
mov dword [eax + 4], edx
mov dword [eax], edx
jmp 0x6c510251
movsx ecx, word [eax + 0x2c]
movsx ebx, word [eax + 0x28]
imul esi, ecx, 0x22a3
mov edx, ebx
shl edx, 0xe
sub edx, ebx
add esi, edx
imul ebx, ebx, 0xffffc001
add dword [esp], esi
imul esi, ecx, 0xffffac61
add esi, ebx
add dword [esp + 4], esi
imul esi, ecx, 0x539f
imul ecx, ecx, 0xffffdd5d
add ebx, esi
add ecx, edx
add dword [esp + 0xc], ecx
movsx ecx, word [eax + 0x2a]
add dword [esp + 8], ebx
imul edx, ecx, 0x3249
imul esi, ecx, 0xffffa73b
add esi, dword [esp + 0x10]
add ebp, edx
movsx edx, word [eax + 0x2e]
imul ebx, edx, 0x11a8
add ebp, ebx
imul ebx, edx, 0xffffcdb7
add ebx, esi
imul esi, ecx, 0x11a8
mov dword [esp + 0x10], ebx
imul ebx, edx, 0x4b42
imul ecx, ecx, 0x4b42
imul edx, edx, 0xffffa73b
add esi, edi
lea edi, [esi + ebx]
mov ebx, dword [esp + 0x14]
add ebx, ecx
add edx, ebx
mov dword [esp + 0x14], edx
jmp 0x6c510411
movsx ecx, word [eax + 0x1c]
movsx ebx, word [eax + 0x18]
imul esi, ecx, 0x22a3
mov edx, ebx
shl edx, 0xe
sub edx, ebx
add esi, edx
imul ebx, ebx, 0xffffc001
add dword [esp], esi
imul esi, ecx, 0xffffac61
add esi, ebx
add dword [esp + 4], esi
imul esi, ecx, 0x539f
imul ecx, ecx, 0xffffdd5d
add ebx, esi
add ecx, edx
add dword [esp + 0xc], ecx
movsx ecx, word [eax + 0x1a]
add dword [esp + 8], ebx
imul edx, ecx, 0x3249
imul esi, ecx, 0xffffa73b
add esi, dword [esp + 0x10]
add ebp, edx
movsx edx, word [eax + 0x1e]
imul ebx, edx, 0x11a8
add ebp, ebx
imul ebx, edx, 0xffffcdb7
add ebx, esi
imul esi, ecx, 0x11a8
mov dword [esp + 0x10], ebx
imul ebx, edx, 0x4b42
imul ecx, ecx, 0x4b42
imul edx, edx, 0xffffa73b
add esi, edi
lea edi, [esi + ebx]
mov ebx, dword [esp + 0x14]
add ebx, ecx
add edx, ebx
mov dword [esp + 0x14], edx
jmp 0x6c5102f9
movsx ecx, word [eax + 0xc]
movsx ebx, word [eax + 8]
imul esi, ecx, 0x22a3
mov edx, ebx
shl edx, 0xe
sub edx, ebx
add esi, edx
imul ebx, ebx, 0xffffc001
add dword [esp], esi
imul esi, ecx, 0xffffac61
add esi, ebx
add dword [esp + 4], esi
imul esi, ecx, 0x539f
imul ecx, ecx, 0xffffdd5d
add ebx, esi
add ecx, edx
add dword [esp + 0xc], ecx
movsx ecx, word [eax + 0xa]
add dword [esp + 8], ebx
imul edx, ecx, 0x3249
imul esi, ecx, 0xffffa73b
add esi, dword [esp + 0x10]
add ebp, edx
movsx edx, word [eax + 0xe]
imul ebx, edx, 0x11a8
add ebp, ebx
imul ebx, edx, 0xffffcdb7
add ebx, esi
imul esi, ecx, 0x11a8
mov dword [esp + 0x10], ebx
imul ebx, edx, 0x4b42
imul ecx, ecx, 0x4b42
imul edx, edx, 0xffffa73b
add esi, edi
lea edi, [esi + ebx]
mov ebx, dword [esp + 0x14]
add ebx, ecx
add edx, ebx
mov dword [esp + 0x14], edx
jmp 0x6c5101e2