Function at 0x4a4130
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0xc
push ebx
push ebp
mov ebp, dword [esp + 0x1c]
push esi
push edi
mov esi, dword [ebp]
movzx edx, si
shr esi, 0x10
mov ecx, edx
imul ecx, esi
imul edx, edx
imul esi, esi
mov eax, ecx
shl ecx, 0x11
shr eax, 0xf
add esi, eax
lea eax, [edx + ecx]
cmp eax, ecx
mov ecx, dword [esp + 0x20]
lea edx, [esi + 1]
cmovae edx, esi
mov dword [esp + 0x14], edx
mov dword [ecx], eax
movzx ebx, word [ebp + 4]
movzx ecx, word [ebp + 6]
mov esi, ebx
movzx edx, word [ebp + 2]
mov eax, ecx
movzx edi, word [ebp]
imul esi, edx
imul eax, edi
imul ecx, edx
add esi, eax
cmp esi, eax
mov eax, esi
lea edx, [ecx + 0x10000]
cmovae edx, ecx
shr eax, 0x10
add edx, eax
imul ebx, edi
shl esi, 0x10
lea eax, [edx + 1]
add ebx, esi
cmp ebx, esi
mov esi, dword [esp + 0x14]
cmovae eax, edx
mov edx, eax
add eax, eax
shr edx, 0x1f
test ebx, ebx
lea ecx, [eax + 1]
cmovns ecx, eax
lea eax, [ebx + ebx]
add esi, eax
mov dword [esp + 0x18], ecx
mov ebx, edx
cmp esi, eax
jae 0x4a41dd
add ecx, 1
mov dword [esp + 0x18], ecx
jne 0x4a41dd
lea ebx, [edx + 1]
mov eax, dword [esp + 0x20]
mov dword [eax + 4], esi
mov esi, dword [ebp + 4]
movzx edi, si
shr esi, 0x10
mov edx, edi
imul edx, esi
imul esi, esi
imul edi, edi
mov eax, edx
shl edx, 0x11
shr eax, 0xf
add esi, eax
add edi, edx
cmp edi, edx
mov edx, dword [esp + 0x18]
lea ecx, [esi + 1]
cmovae ecx, esi
add edx, edi
cmp edx, edi
mov dword [esp + 0x14], edx
movzx edx, word [ebp + 2]
movzx edi, word [ebp]
movzx ebp, word [ebp + 8]
lea eax, [ecx + 1]
cmovae eax, ecx
mov esi, ebp
add ebx, eax
cmp ebx, eax
mov dword [esp + 0x18], ebx
mov eax, dword [esp + 0x24]
sbb ebx, ebx
imul esi, edx
neg ebx
movzx ecx, word [eax + 0xa]
mov eax, ecx
imul ecx, edx
imul eax, edi
add esi, eax
cmp esi, eax
mov eax, esi
lea edx, [ecx + 0x10000]
cmovae edx, ecx
shr eax, 0x10
imul ebp, edi
add edx, eax
shl esi, 0x10
lea eax, [edx + 1]
add ebp, esi
cmp ebp, esi
lea esi, [ebx + 1]
cmovae eax, edx
test eax, eax
cmovns esi, ebx
add eax, eax
test ebp, ebp
mov edx, esi
lea ecx, [eax + 1]
cmovns ecx, eax
lea eax, [ebp*2]
mov ebp, dword [esp + 0x14]
add ebp, eax
cmp ebp, eax
jae 0x4a429c
add ecx, 1
jne 0x4a429c
lea edx, [esi + 1]
mov eax, dword [esp + 0x18]
lea ebx, [edx + 1]
add eax, ecx
cmp eax, ecx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x20]
cmovae ebx, edx
mov dword [esp + 0x14], ebx
mov dword [eax + 8], ebp
mov ebp, dword [esp + 0x24]
movzx ebx, word [ebp + 0xc]
movzx ecx, word [ebp + 0xe]
mov esi, ebx
movzx edi, word [ebp]
mov eax, ecx
movzx edx, word [ebp + 2]
imul esi, edx
imul eax, edi
imul ecx, edx
add esi, eax
cmp esi, eax
mov eax, esi
lea edx, [ecx + 0x10000]
cmovae edx, ecx
mov ecx, dword [esp + 0x18]
shr eax, 0x10
add edx, eax
imul ebx, edi
shl esi, 0x10
lea eax, [edx + 1]
add ebx, esi
cmp ebx, esi
cmovae eax, edx
mov esi, eax
add eax, eax
shr esi, 0x1f
test ebx, ebx
mov edi, esi
lea edx, [eax + 1]
cmovns edx, eax
lea eax, [ebx + ebx]
add ecx, eax
mov dword [esp + 0x18], ecx
cmp ecx, eax
jae 0x4a4328
add edx, 1
jne 0x4a4328
lea edi, [esi + 1]
mov esi, dword [esp + 0x14]
lea ebx, [edi + 1]
movzx ecx, word [ebp + 6]
add esi, edx
mov eax, dword [esp + 0x24]
cmp esi, edx
mov dword [esp + 0x10], esi
cmovae ebx, edi
movzx edi, word [ebp + 4]
movzx ebp, word [ebp + 8]
movzx edx, word [eax + 0xa]
mov esi, ebp
imul esi, ecx
mov eax, edx
imul eax, edi
imul edx, ecx
add esi, eax
cmp esi, eax
mov eax, esi
lea ecx, [edx + 0x10000]
cmovae ecx, edx
shr eax, 0x10
add ecx, eax
imul ebp, edi
shl esi, 0x10
lea eax, [ecx + 1]
add ebp, esi
cmp ebp, esi
lea esi, [ebx + 1]
cmovae eax, ecx
mov ecx, dword [esp + 0x18]
test eax, eax
cmovns esi, ebx
add eax, eax
test ebp, ebp
mov edi, esi
lea edx, [eax + 1]
cmovns edx, eax
lea eax, [ebp*2]
add ecx, eax
cmp ecx, eax
jae 0x4a43ac
add edx, 1
jne 0x4a43ac
lea edi, [esi + 1]
mov eax, dword [esp + 0x20]
lea ebx, [edi + 1]
mov ebp, dword [esp + 0x10]
add ebp, edx
cmp ebp, edx
mov dword [eax + 0xc], ecx
mov eax, dword [esp + 0x24]
cmovae ebx, edi
mov esi, dword [eax + 8]
movzx edi, si
shr esi, 0x10
mov edx, edi
imul edx, esi
imul esi, esi
imul edi, edi
mov eax, edx
shl edx, 0x11
shr eax, 0xf
add esi, eax
add edi, edx
cmp edi, edx
lea ecx, [esi + 1]
cmovae ecx, esi
add ebp, edi
cmp ebp, edi
mov dword [esp + 0x10], ebp
lea eax, [ecx + 1]
cmovae eax, ecx
lea ecx, [ebx + eax]
cmp ecx, eax
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 0x24]
sbb ebx, ebx
neg ebx
movzx ecx, word [eax + 6]
movzx ebp, word [eax + 0xc]
movzx edi, word [eax + 4]
mov esi, ebp
movzx edx, word [eax + 0xe]
imul esi, ecx
mov eax, edx
imul eax, edi
imul edx, ecx
add esi, eax
cmp esi, eax
mov eax, esi
lea ecx, [edx + 0x10000]
cmovae ecx, edx
shr eax, 0x10
imul ebp, edi
add ecx, eax
shl esi, 0x10
lea edi, [ebx + 1]
lea eax, [ecx + 1]
add ebp, esi
cmp ebp, esi
mov esi, dword [esp + 0x10]
cmovae eax, ecx
test eax, eax
cmovns edi, ebx
add eax, eax
test ebp, ebp
mov edx, edi
lea ecx, [eax + 1]
cmovns ecx, eax
lea eax, [ebp*2]
add esi, eax
mov dword [esp + 0x10], esi
cmp esi, eax
jae 0x4a447e
add ecx, 1
jne 0x4a447e
lea edx, [edi + 1]
mov eax, dword [esp + 0x14]
lea ebx, [edx + 1]
add eax, ecx
cmp eax, ecx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x24]
cmovae ebx, edx
movzx edx, word [eax + 2]
movzx ebp, word [eax + 0x10]
movzx edi, word [eax]
mov esi, ebp
movzx ecx, word [eax + 0x12]
imul esi, edx
mov eax, ecx
imul eax, edi
imul ecx, edx
add esi, eax
cmp esi, eax
mov eax, esi
lea edx, [ecx + 0x10000]
cmovae edx, ecx
shr eax, 0x10
add edx, eax
imul ebp, edi
shl esi, 0x10
lea eax, [edx + 1]
add ebp, esi
cmp ebp, esi
lea esi, [ebx + 1]
cmovae eax, edx
mov edx, dword [esp + 0x10]
test eax, eax
cmovns esi, ebx
add eax, eax
test ebp, ebp
mov edi, esi
lea ecx, [eax + 1]
cmovns ecx, eax
lea eax, [ebp*2]
add edx, eax
cmp edx, eax
jae 0x4a4501
add ecx, 1
jne 0x4a4501
lea edi, [esi + 1]
mov eax, dword [esp + 0x14]
lea ebx, [edi + 1]
mov ebp, dword [esp + 0x24]
add eax, ecx
cmp eax, ecx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x20]
cmovae ebx, edi
mov dword [esp + 0x18], ebx
mov dword [eax + 0x10], edx
movzx ebx, word [ebp + 0x14]
movzx ecx, word [ebp + 0x16]
mov esi, ebx
movzx edi, word [ebp]
mov eax, ecx
movzx edx, word [ebp + 2]
imul esi, edx
imul eax, edi
imul ecx, edx
add esi, eax
cmp esi, eax
mov eax, esi
lea edx, [ecx + 0x10000]
cmovae edx, ecx
mov ecx, dword [esp + 0x14]
shr eax, 0x10
add edx, eax
imul ebx, edi
shl esi, 0x10
lea eax, [edx + 1]
add ebx, esi
cmp ebx, esi
cmovae eax, edx
mov esi, eax
add eax, eax
shr esi, 0x1f
test ebx, ebx
mov edi, esi
lea edx, [eax + 1]
cmovns edx, eax
lea eax, [ebx + ebx]
add ecx, eax
mov dword [esp + 0x14], ecx
cmp ecx, eax
jae 0x4a458d
add edx, 1
jne 0x4a458d
lea edi, [esi + 1]
mov eax, dword [esp + 0x18]
lea ebx, [edi + 1]
movzx ecx, word [ebp + 6]
add eax, edx
cmp eax, edx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x24]
cmovae ebx, edi
movzx edi, word [ebp + 4]
movzx ebp, word [ebp + 0x10]
mov esi, ebp
movzx edx, word [eax + 0x12]
imul esi, ecx
mov eax, edx
imul eax, edi
imul edx, ecx
add esi, eax
cmp esi, eax
mov eax, esi
lea ecx, [edx + 0x10000]
cmovae ecx, edx
shr eax, 0x10
add ecx, eax
imul ebp, edi
shl esi, 0x10
lea eax, [ecx + 1]
add ebp, esi
cmp ebp, esi
lea esi, [ebx + 1]
cmovae eax, ecx
mov ecx, dword [esp + 0x14]
test eax, eax
cmovns esi, ebx
add eax, eax
test ebp, ebp
mov edi, esi
lea edx, [eax + 1]
cmovns edx, eax
lea eax, [ebp*2]
add ecx, eax
mov dword [esp + 0x14], ecx
cmp ecx, eax
jae 0x4a4615
add edx, 1
jne 0x4a4615
lea edi, [esi + 1]
mov eax, dword [esp + 0x18]
lea ebx, [edi + 1]
add eax, edx
cmp eax, edx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x24]
cmovae ebx, edi
movzx ecx, word [eax + 0xa]
movzx ebp, word [eax + 0xc]
movzx edi, word [eax + 8]
mov esi, ebp
movzx edx, word [eax + 0xe]
imul esi, ecx
mov eax, edx
imul eax, edi
imul edx, ecx
add esi, eax
cmp esi, eax
mov eax, esi
lea ecx, [edx + 0x10000]
cmovae ecx, edx
shr eax, 0x10
add ecx, eax
imul ebp, edi
shl esi, 0x10
lea eax, [ecx + 1]
add ebp, esi
cmp ebp, esi
lea esi, [ebx + 1]
cmovae eax, ecx
mov ecx, dword [esp + 0x14]
test eax, eax
cmovns esi, ebx
add eax, eax
test ebp, ebp
mov edi, esi
lea edx, [eax + 1]
cmovns edx, eax
lea eax, [ebp*2]
add ecx, eax
cmp ecx, eax
jae 0x4a4699
add edx, 1
jne 0x4a4699
lea edi, [esi + 1]
mov eax, dword [esp + 0x20]
lea ebx, [edi + 1]
mov ebp, dword [esp + 0x18]
add ebp, edx
cmp ebp, edx
mov dword [eax + 0x14], ecx
mov eax, dword [esp + 0x24]
cmovae ebx, edi
mov esi, dword [eax + 0xc]
movzx edi, si
shr esi, 0x10
mov edx, edi
imul edx, esi
imul esi, esi
imul edi, edi
mov eax, edx
shl edx, 0x11
shr eax, 0xf
add esi, eax
add edi, edx
cmp edi, edx
lea ecx, [esi + 1]
cmovae ecx, esi
add ebp, edi
cmp ebp, edi
mov dword [esp + 0x18], ebp
lea eax, [ecx + 1]
cmovae eax, ecx
lea ecx, [ebx + eax]
cmp ecx, eax
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0x24]
sbb ebx, ebx
neg ebx
movzx ecx, word [eax + 0xa]
movzx ebp, word [eax + 0x10]
movzx edi, word [eax + 8]
mov esi, ebp
movzx edx, word [eax + 0x12]
imul esi, ecx
mov eax, edx
imul eax, edi
imul edx, ecx
add esi, eax
cmp esi, eax
mov eax, esi
lea ecx, [edx + 0x10000]
cmovae ecx, edx
shr eax, 0x10
imul ebp, edi
add ecx, eax
shl esi, 0x10
lea edi, [ebx + 1]
lea eax, [ecx + 1]
add ebp, esi
cmp ebp, esi
cmovae eax, ecx
mov ecx, dword [esp + 0x18]
test eax, eax
cmovns edi, ebx
add eax, eax
test ebp, ebp
mov esi, edi
lea edx, [eax + 1]
cmovns edx, eax
lea eax, [ebp*2]
add ecx, eax
mov dword [esp + 0x18], ecx
cmp ecx, eax
jae 0x4a476b
add edx, 1
jne 0x4a476b
lea esi, [edi + 1]
mov eax, dword [esp + 0x10]
lea ebx, [esi + 1]
add eax, edx
cmp eax, edx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x24]
cmovae ebx, esi
movzx ecx, word [eax + 6]
movzx ebp, word [eax + 0x14]
movzx edi, word [eax + 4]
mov esi, ebp
movzx edx, word [eax + 0x16]
imul esi, ecx
mov eax, edx
imul eax, edi
imul edx, ecx
add esi, eax
cmp esi, eax
mov eax, esi
lea ecx, [edx + 0x10000]
cmovae ecx, edx
shr eax, 0x10
add ecx, eax
imul ebp, edi
shl esi, 0x10
lea eax, [ecx + 1]
add ebp, esi
cmp ebp, esi
lea esi, [ebx + 1]
cmovae eax, ecx
mov ecx, dword [esp + 0x18]
test eax, eax
cmovns esi, ebx
add eax, eax
test ebp, ebp
mov edi, esi
lea edx, [eax + 1]
cmovns edx, eax
lea eax, [ebp*2]
add ecx, eax
mov dword [esp + 0x18], ecx
cmp ecx, eax
jae 0x4a47f3
add edx, 1
jne 0x4a47f3
lea edi, [esi + 1]
mov eax, dword [esp + 0x10]
lea ebx, [edi + 1]
add eax, edx
cmp eax, edx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x24]
cmovae ebx, edi
movzx edx, word [eax + 2]
movzx ebp, word [eax + 0x18]
movzx edi, word [eax]
mov esi, ebp
movzx ecx, word [eax + 0x1a]
imul esi, edx
mov eax, ecx
imul eax, edi
imul ecx, edx
add esi, eax
cmp esi, eax
mov eax, esi
lea edx, [ecx + 0x10000]
cmovae edx, ecx
mov ecx, dword [esp + 0x18]
shr eax, 0x10
add edx, eax
imul ebp, edi
shl esi, 0x10
lea eax, [edx + 1]
add ebp, esi
cmp ebp, esi
lea esi, [ebx + 1]
cmovae eax, edx
test eax, eax
cmovns esi, ebx
add eax, eax
test ebp, ebp
mov edi, esi
lea edx, [eax + 1]
cmovns edx, eax
lea eax, [ebp*2]
add ecx, eax
cmp ecx, eax
jae 0x4a4876
add edx, 1
jne 0x4a4876
lea edi, [esi + 1]
mov eax, dword [esp + 0x10]
lea ebx, [edi + 1]
mov ebp, dword [esp + 0x24]
add eax, edx
cmp eax, edx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x20]
cmovae ebx, edi
mov dword [esp + 0x18], ebx
mov dword [eax + 0x18], ecx
movzx ebx, word [ebp + 0x1c]
movzx ecx, word [ebp + 0x1e]
mov esi, ebx
movzx edi, word [ebp]
mov eax, ecx
movzx edx, word [ebp + 2]
imul esi, edx
imul eax, edi
imul ecx, edx
add esi, eax
cmp esi, eax
mov eax, esi
lea edx, [ecx + 0x10000]
cmovae edx, ecx
mov ecx, dword [esp + 0x10]
shr eax, 0x10
add edx, eax
imul ebx, edi
shl esi, 0x10
lea eax, [edx + 1]
add ebx, esi
cmp ebx, esi
cmovae eax, edx
mov esi, eax
add eax, eax
shr esi, 0x1f
test ebx, ebx
mov edi, esi
lea edx, [eax + 1]
cmovns edx, eax
lea eax, [ebx + ebx]
add ecx, eax
mov dword [esp + 0x10], ecx
cmp ecx, eax
jae 0x4a4902
add edx, 1
jne 0x4a4902
lea edi, [esi + 1]
mov eax, dword [esp + 0x18]
lea ebx, [edi + 1]
movzx ecx, word [ebp + 6]
add eax, edx
cmp eax, edx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x24]
cmovae ebx, edi
movzx edi, word [ebp + 4]
movzx ebp, word [ebp + 0x18]
mov esi, ebp
movzx edx, word [eax + 0x1a]
imul esi, ecx
mov eax, edx
imul eax, edi
imul edx, ecx
add esi, eax
cmp esi, eax
mov eax, esi
lea ecx, [edx + 0x10000]
cmovae ecx, edx
shr eax, 0x10
add ecx, eax
imul ebp, edi
shl esi, 0x10
lea eax, [ecx + 1]
add ebp, esi
cmp ebp, esi
lea esi, [ebx + 1]
cmovae eax, ecx
mov ecx, dword [esp + 0x10]
test eax, eax
cmovns esi, ebx
add eax, eax
test ebp, ebp
mov edi, esi
lea edx, [eax + 1]
cmovns edx, eax
lea eax, [ebp*2]
add ecx, eax
mov dword [esp + 0x10], ecx
cmp ecx, eax
jae 0x4a498a
add edx, 1
jne 0x4a498a
lea edi, [esi + 1]
mov eax, dword [esp + 0x14]
lea ebx, [edi + 1]
add eax, edx
cmp eax, edx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x24]
cmovae ebx, edi
movzx ecx, word [eax + 0xa]
movzx ebp, word [eax + 0x14]
movzx edi, word [eax + 8]
mov esi, ebp
movzx edx, word [eax + 0x16]
imul esi, ecx
mov eax, edx
imul eax, edi
imul edx, ecx
add esi, eax
cmp esi, eax
mov eax, esi
lea ecx, [edx + 0x10000]
cmovae ecx, edx
shr eax, 0x10
add ecx, eax
imul ebp, edi
shl esi, 0x10
lea eax, [ecx + 1]
add ebp, esi
cmp ebp, esi
lea esi, [ebx + 1]
cmovae eax, ecx
mov ecx, dword [esp + 0x10]
test eax, eax
cmovns esi, ebx
add eax, eax
test ebp, ebp
mov edi, esi
lea edx, [eax + 1]
cmovns edx, eax
lea eax, [ebp*2]
add ecx, eax
mov dword [esp + 0x10], ecx
cmp ecx, eax
jae 0x4a4a12
add edx, 1
jne 0x4a4a12
lea edi, [esi + 1]
mov eax, dword [esp + 0x14]
lea ebx, [edi + 1]
add eax, edx
cmp eax, edx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x24]
cmovae ebx, edi
movzx ecx, word [eax + 0xe]
movzx ebp, word [eax + 0x10]
movzx edi, word [eax + 0xc]
mov esi, ebp
movzx edx, word [eax + 0x12]
imul esi, ecx
mov eax, edx
imul eax, edi
imul edx, ecx
add esi, eax
cmp esi, eax
mov eax, esi
lea ecx, [edx + 0x10000]
cmovae ecx, edx
shr eax, 0x10
add ecx, eax
imul ebp, edi
shl esi, 0x10
lea eax, [ecx + 1]
add ebp, esi
cmp ebp, esi
lea esi, [ebx + 1]
cmovae eax, ecx
mov ecx, dword [esp + 0x10]
test eax, eax
cmovns esi, ebx
add eax, eax
test ebp, ebp
mov edi, esi
lea edx, [eax + 1]
cmovns edx, eax
lea eax, [ebp*2]
add ecx, eax
cmp ecx, eax
jae 0x4a4a96
add edx, 1
jne 0x4a4a96
lea edi, [esi + 1]
mov eax, dword [esp + 0x20]
lea ebx, [edi + 1]
mov ebp, dword [esp + 0x14]
add ebp, edx
cmp ebp, edx
mov dword [eax + 0x1c], ecx
mov eax, dword [esp + 0x24]
cmovae ebx, edi
mov esi, dword [eax + 0x10]
movzx edi, si
shr esi, 0x10
mov edx, edi
imul edx, esi
imul esi, esi
imul edi, edi
mov eax, edx
shl edx, 0x11
shr eax, 0xf
add esi, eax
add edi, edx
cmp edi, edx
lea ecx, [esi + 1]
cmovae ecx, esi
add ebp, edi
cmp ebp, edi
mov dword [esp + 0x14], ebp
lea eax, [ecx + 1]
cmovae eax, ecx
lea ecx, [ebx + eax]
cmp ecx, eax
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0x24]
sbb ebx, ebx
neg ebx
movzx ecx, word [eax + 0xe]
movzx ebp, word [eax + 0x14]
movzx edi, word [eax + 0xc]
mov esi, ebp
movzx edx, word [eax + 0x16]
imul esi, ecx
mov eax, edx
imul eax, edi
imul edx, ecx
add esi, eax
cmp esi, eax
mov eax, esi
lea ecx, [edx + 0x10000]
cmovae ecx, edx
shr eax, 0x10
imul ebp, edi
add ecx, eax
shl esi, 0x10
lea edi, [ebx + 1]
lea eax, [ecx + 1]
add ebp, esi
cmp ebp, esi
cmovae eax, ecx
mov ecx, dword [esp + 0x14]
test eax, eax
cmovns edi, ebx
add eax, eax
test ebp, ebp
mov esi, edi
lea edx, [eax + 1]
cmovns edx, eax
lea eax, [ebp*2]
add ecx, eax
mov dword [esp + 0x14], ecx
cmp ecx, eax
jae 0x4a4b68
add edx, 1
jne 0x4a4b68
lea esi, [edi + 1]
mov eax, dword [esp + 0x10]
lea ebx, [esi + 1]
add eax, edx
cmp eax, edx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x24]
cmovae ebx, esi
movzx ecx, word [eax + 0xa]
movzx ebp, word [eax + 0x18]
movzx edi, word [eax + 8]
mov esi, ebp
movzx edx, word [eax + 0x1a]
imul esi, ecx
mov eax, edx
imul eax, edi
imul edx, ecx
add esi, eax
cmp esi, eax
mov eax, esi
lea ecx, [edx + 0x10000]
cmovae ecx, edx
shr eax, 0x10
add ecx, eax
imul ebp, edi
shl esi, 0x10
lea eax, [ecx + 1]
add ebp, esi
cmp ebp, esi
lea esi, [ebx + 1]
cmovae eax, ecx
mov ecx, dword [esp + 0x14]
test eax, eax
cmovns esi, ebx
add eax, eax
test ebp, ebp
mov edi, esi
lea edx, [eax + 1]
cmovns edx, eax
lea eax, [ebp*2]
add ecx, eax
mov dword [esp + 0x14], ecx
cmp ecx, eax
jae 0x4a4bf0
add edx, 1
jne 0x4a4bf0
lea edi, [esi + 1]
mov eax, dword [esp + 0x10]
lea ebx, [edi + 1]
add eax, edx
cmp eax, edx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x24]
cmovae ebx, edi
movzx ecx, word [eax + 6]
movzx ebp, word [eax + 0x1c]
movzx edi, word [eax + 4]
mov esi, ebp
movzx edx, word [eax + 0x1e]
imul esi, ecx
mov eax, edx
imul eax, edi
imul edx, ecx
add esi, eax
cmp esi, eax
mov eax, esi
lea ecx, [edx + 0x10000]
cmovae ecx, edx
shr eax, 0x10
add ecx, eax
imul ebp, edi
shl esi, 0x10
lea eax, [ecx + 1]
add ebp, esi
cmp ebp, esi
lea esi, [ebx + 1]
cmovae eax, ecx
mov ecx, dword [esp + 0x14]
test eax, eax
cmovns esi, ebx
add eax, eax
test ebp, ebp
mov edi, esi
lea edx, [eax + 1]
cmovns edx, eax
lea eax, [ebp*2]
add ecx, eax
cmp ecx, eax
jae 0x4a4c74
add edx, 1
jne 0x4a4c74
lea edi, [esi + 1]
mov eax, dword [esp + 0x10]
lea ebx, [edi + 1]
mov ebp, dword [esp + 0x24]
add eax, edx
cmp eax, edx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x20]
cmovae ebx, edi
mov dword [esp + 0x18], ebx
mov dword [eax + 0x20], ecx
movzx ebx, word [ebp + 0x1c]
movzx edx, word [ebp + 0x1e]
mov esi, ebx
movzx edi, word [ebp + 8]
mov eax, edx
movzx ecx, word [ebp + 0xa]
imul esi, ecx
imul eax, edi
imul edx, ecx
add esi, eax
cmp esi, eax
mov eax, esi
lea ecx, [edx + 0x10000]
cmovae ecx, edx
shr eax, 0x10
add ecx, eax
imul ebx, edi
shl esi, 0x10
lea eax, [ecx + 1]
add ebx, esi
cmp ebx, esi
cmovae eax, ecx
mov ecx, dword [esp + 0x10]
mov esi, eax
add eax, eax
shr esi, 0x1f
test ebx, ebx
mov edi, esi
lea edx, [eax + 1]
cmovns edx, eax
lea eax, [ebx + ebx]
add ecx, eax
mov dword [esp + 0x10], ecx
cmp ecx, eax
jae 0x4a4d00
add edx, 1
jne 0x4a4d00
lea edi, [esi + 1]
mov ecx, dword [esp + 0x18]
lea ebx, [edi + 1]
mov eax, dword [esp + 0x24]
add ecx, edx
cmp ecx, edx
mov dword [esp + 0x18], ecx
movzx ecx, word [ebp + 0xe]
cmovae ebx, edi
movzx edi, word [ebp + 0xc]
movzx edx, word [eax + 0x1a]
movzx ebp, word [ebp + 0x18]
mov eax, edx
imul eax, edi
mov esi, ebp
imul esi, ecx
imul edx, ecx
add esi, eax
cmp esi, eax
mov eax, esi
lea ecx, [edx + 0x10000]
cmovae ecx, edx
shr eax, 0x10
add ecx, eax
imul ebp, edi
shl esi, 0x10
lea eax, [ecx + 1]
add ebp, esi
cmp ebp, esi
lea esi, [ebx + 1]
cmovae eax, ecx
mov ecx, dword [esp + 0x10]
test eax, eax
cmovns esi, ebx
add eax, eax
test ebp, ebp
mov edi, esi
lea edx, [eax + 1]
cmovns edx, eax
lea eax, [ebp*2]
add ecx, eax
mov dword [esp + 0x10], ecx
cmp ecx, eax
jae 0x4a4d88
add edx, 1
jne 0x4a4d88
lea edi, [esi + 1]
mov eax, dword [esp + 0x18]
lea ebx, [edi + 1]
add eax, edx
cmp eax, edx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x24]
cmovae ebx, edi
movzx ecx, word [eax + 0x12]
movzx ebp, word [eax + 0x14]
movzx edi, word [eax + 0x10]
mov esi, ebp
movzx edx, word [eax + 0x16]
imul esi, ecx
mov eax, edx
imul eax, edi
imul edx, ecx
add esi, eax
cmp esi, eax
mov eax, esi
lea ecx, [edx + 0x10000]
cmovae ecx, edx
shr eax, 0x10
add ecx, eax
imul ebp, edi
shl esi, 0x10
lea eax, [ecx + 1]
add ebp, esi
cmp ebp, esi
lea esi, [ebx + 1]
cmovae eax, ecx
mov ecx, dword [esp + 0x10]
test eax, eax
cmovns esi, ebx
add eax, eax
test ebp, ebp
mov edi, esi
lea edx, [eax + 1]
cmovns edx, eax
lea eax, [ebp*2]
add ecx, eax
cmp ecx, eax
jae 0x4a4e0c
add edx, 1
jne 0x4a4e0c
lea edi, [esi + 1]
mov eax, dword [esp + 0x20]
lea ebx, [edi + 1]
mov ebp, dword [esp + 0x18]
add ebp, edx
cmp ebp, edx
mov dword [eax + 0x24], ecx
mov eax, dword [esp + 0x24]
cmovae ebx, edi
mov esi, dword [eax + 0x14]
movzx edi, si
shr esi, 0x10
mov edx, edi
imul edx, esi
imul esi, esi
imul edi, edi
mov eax, edx
shl edx, 0x11
shr eax, 0xf
add esi, eax
add edi, edx
cmp edi, edx
lea ecx, [esi + 1]
cmovae ecx, esi
add ebp, edi
cmp ebp, edi
mov dword [esp + 0x18], ebp
lea eax, [ecx + 1]
cmovae eax, ecx
lea ecx, [eax + ebx]
cmp ecx, eax
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 0x24]
sbb ebx, ebx
neg ebx
movzx ecx, word [eax + 0x12]
movzx ebp, word [eax + 0x18]
movzx edi, word [eax + 0x10]
mov esi, ebp
movzx edx, word [eax + 0x1a]
imul esi, ecx
mov eax, edx
imul eax, edi
imul edx, ecx
add esi, eax
cmp esi, eax
mov eax, esi
lea ecx, [edx + 0x10000]
cmovae ecx, edx
shr eax, 0x10
imul ebp, edi
add ecx, eax
shl esi, 0x10
lea edi, [ebx + 1]
lea eax, [ecx + 1]
add ebp, esi
cmp ebp, esi
cmovae eax, ecx
mov ecx, dword [esp + 0x18]
test eax, eax
cmovns edi, ebx
add eax, eax
test ebp, ebp
mov esi, edi
lea edx, [eax + 1]
cmovns edx, eax
lea eax, [ebp*2]
add ecx, eax
mov dword [esp + 0x18], ecx
cmp ecx, eax
jae 0x4a4ede
add edx, 1
jne 0x4a4ede
lea esi, [edi + 1]
mov eax, dword [esp + 0x14]
lea ebx, [esi + 1]
add eax, edx
cmp eax, edx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x24]
cmovae ebx, esi
movzx ecx, word [eax + 0xe]
movzx ebp, word [eax + 0x1c]
movzx edi, word [eax + 0xc]
mov esi, ebp
movzx edx, word [eax + 0x1e]
imul esi, ecx
mov eax, edx
imul eax, edi
imul edx, ecx
add esi, eax
cmp esi, eax
mov eax, esi
lea ecx, [edx + 0x10000]
cmovae ecx, edx
mov edx, dword [esp + 0x18]
shr eax, 0x10
add ecx, eax
imul ebp, edi
shl esi, 0x10
lea eax, [ecx + 1]
add ebp, esi
cmp ebp, esi
lea esi, [ebx + 1]
cmovae eax, ecx
test eax, eax
cmovns esi, ebx
add eax, eax
test ebp, ebp
mov edi, esi
lea ecx, [eax + 1]
cmovns ecx, eax
lea eax, [ebp*2]
add edx, eax
cmp edx, eax
jae 0x4a4f62
add ecx, 1
jne 0x4a4f62
lea edi, [esi + 1]
mov eax, dword [esp + 0x14]
lea ebx, [edi + 1]
mov ebp, dword [esp + 0x24]
add eax, ecx
cmp eax, ecx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x20]
cmovae ebx, edi
mov dword [esp + 0x18], ebx
mov dword [eax + 0x28], edx
movzx ebx, word [ebp + 0x1c]
movzx edx, word [ebp + 0x1e]
mov esi, ebx
movzx edi, word [ebp + 0x10]
mov eax, edx
movzx ecx, word [ebp + 0x12]
imul esi, ecx
imul eax, edi
imul edx, ecx
add esi, eax
cmp esi, eax
mov eax, esi
lea ecx, [edx + 0x10000]
cmovae ecx, edx
shr eax, 0x10
add ecx, eax
imul ebx, edi
shl esi, 0x10
lea eax, [ecx + 1]
add ebx, esi
cmp ebx, esi
cmovae eax, ecx
mov ecx, dword [esp + 0x14]
mov esi, eax
add eax, eax
shr esi, 0x1f
test ebx, ebx
mov edi, esi
lea edx, [eax + 1]
cmovns edx, eax
lea eax, [ebx + ebx]
add ecx, eax
mov dword [esp + 0x14], ecx
cmp ecx, eax
jae 0x4a4fee
add edx, 1
jne 0x4a4fee
lea edi, [esi + 1]
mov esi, dword [esp + 0x18]
lea ebx, [edi + 1]
movzx ecx, word [ebp + 0x16]
add esi, edx
mov eax, dword [esp + 0x24]
cmp esi, edx
mov dword [esp + 0x18], esi
cmovae ebx, edi
movzx edi, word [ebp + 0x14]
movzx ebp, word [ebp + 0x18]
movzx edx, word [eax + 0x1a]
mov esi, ebp
imul esi, ecx
mov eax, edx
imul eax, edi
imul edx, ecx
add esi, eax
cmp esi, eax
mov eax, esi
lea ecx, [edx + 0x10000]
cmovae ecx, edx
shr eax, 0x10
add ecx, eax
imul ebp, edi
shl esi, 0x10
lea eax, [ecx + 1]
add ebp, esi
cmp ebp, esi
lea esi, [ebx + 1]
cmovae eax, ecx
mov ecx, dword [esp + 0x14]
test eax, eax
cmovns esi, ebx
add eax, eax
test ebp, ebp
mov edi, esi
lea edx, [eax + 1]
cmovns edx, eax
lea eax, [ebp*2]
add ecx, eax
cmp ecx, eax
jae 0x4a5072
add edx, 1
jne 0x4a5072
lea edi, [esi + 1]
mov eax, dword [esp + 0x20]
lea ebx, [edi + 1]
mov ebp, dword [esp + 0x18]
add ebp, edx
cmp ebp, edx
mov dword [eax + 0x2c], ecx
mov eax, dword [esp + 0x24]
cmovae ebx, edi
mov esi, dword [eax + 0x18]
movzx edi, si
shr esi, 0x10
mov edx, edi
imul edx, esi
imul esi, esi
imul edi, edi
mov eax, edx
shl edx, 0x11
shr eax, 0xf
add esi, eax
add edi, edx
cmp edi, edx
lea ecx, [esi + 1]
cmovae ecx, esi
add ebp, edi
cmp ebp, edi
mov dword [esp + 0x18], ebp
lea eax, [ecx + 1]
cmovae eax, ecx
lea ecx, [ebx + eax]
cmp ecx, eax
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 0x24]
sbb ebx, ebx
neg ebx
movzx ecx, word [eax + 0x16]
movzx ebp, word [eax + 0x1c]
movzx edi, word [eax + 0x14]
mov esi, ebp
movzx edx, word [eax + 0x1e]
imul esi, ecx
mov eax, edx
imul eax, edi
imul edx, ecx
add esi, eax
cmp esi, eax
mov eax, esi
lea ecx, [edx + 0x10000]
cmovae ecx, edx
shr eax, 0x10
imul ebp, edi
add ecx, eax
shl esi, 0x10
lea edi, [ebx + 1]
lea eax, [ecx + 1]
add ebp, esi
cmp ebp, esi
mov esi, dword [esp + 0x18]
cmovae eax, ecx
test eax, eax
cmovns edi, ebx
add eax, eax
test ebp, ebp
mov edx, edi
lea ecx, [eax + 1]
cmovns ecx, eax
lea eax, [ebp*2]
add esi, eax
cmp esi, eax
jae 0x4a5140
add ecx, 1
jne 0x4a5140
lea edx, [edi + 1]
mov ebp, dword [esp + 0x14]
lea eax, [edx + 1]
add ebp, ecx
cmp ebp, ecx
cmovae eax, edx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x20]
mov dword [eax + 0x30], esi
mov eax, dword [esp + 0x24]
movzx ecx, word [eax + 0x1a]
movzx ebx, word [eax + 0x1c]
movzx edx, word [eax + 0x1e]
mov esi, ebx
movzx edi, word [eax + 0x18]
mov eax, edx
imul esi, ecx
imul eax, edi
imul edx, ecx
add esi, eax
cmp esi, eax
mov eax, esi
lea ecx, [edx + 0x10000]
cmovae ecx, edx
shr eax, 0x10
add ecx, eax
imul ebx, edi
shl esi, 0x10
lea eax, [ecx + 1]
add ebx, esi
cmp ebx, esi
cmovae eax, ecx
mov esi, eax
lea ebp, [ebp + ebx*2]
add eax, eax
shr esi, 0x1f
test ebx, ebx
mov dword [esp + 0x14], ebp
mov edx, esi
lea ecx, [eax + 1]
cmovns ecx, eax
lea eax, [ebx + ebx]
cmp ebp, eax
jae 0x4a51c6
add ecx, 1
jne 0x4a51c6
lea edx, [esi + 1]
mov ebx, dword [esp + 0x18]
lea ebp, [edx + 1]
mov eax, dword [esp + 0x20]
add ebx, ecx
cmp ebx, ecx
mov ecx, dword [esp + 0x14]
cmovae ebp, edx
mov dword [eax + 0x34], ecx
mov eax, dword [esp + 0x24]
mov esi, dword [eax + 0x1c]
movzx edi, si
shr esi, 0x10
mov edx, edi
imul edx, esi
imul esi, esi
imul edi, edi
mov eax, edx
shl edx, 0x11
shr eax, 0xf
add esi, eax
add edi, edx
cmp edi, edx
mov edx, dword [esp + 0x20]
lea ecx, [esi + 1]
cmovae ecx, esi
add ebx, edi
cmp ebx, edi
mov dword [edx + 0x38], ebx
pop edi
pop esi
lea eax, [ecx + 1]
cmovae eax, ecx
add eax, ebp
pop ebp
mov dword [edx + 0x3c], eax
pop ebx
add esp, 0xc
ret