Function at 0x8c4f60
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov eax, dword [ebp + 0xc]
push esi
mov esi, dword [eax]
movzx ecx, si
shr esi, 0x10
mov edx, ecx
imul ecx, ecx
imul edx, esi
imul esi, esi
push edi
mov edi, edx
shl edx, 0x11
shr edi, 0xf
add esi, edi
add ecx, edx
cmp ecx, edx
mov dword [ebp - 8], esi
jae 0x8c4f97
add esi, 1
mov dword [ebp - 8], esi
mov edx, dword [ebp + 8]
mov dword [edx], ecx
movzx ecx, word [eax + 2]
movzx edx, word [eax + 4]
movzx esi, word [eax + 6]
mov dword [ebp - 0xc], ecx
push ebx
movzx ebx, word [eax]
mov ecx, edx
imul edx, ebx
imul ecx, dword [ebp - 0xc]
mov edi, esi
imul esi, dword [ebp - 0xc]
imul edi, ebx
add ecx, edi
cmp ecx, edi
mov dword [ebp + 0xc], 0
jae 0x8c4fd4
add esi, 0x10000
mov edi, ecx
shl ecx, 0x10
shr edi, 0x10
add edx, ecx
add esi, edi
cmp edx, ecx
jae 0x8c4fe7
add esi, 1
test esi, esi
jns 0x8c4ff2
mov dword [ebp + 0xc], 1
add esi, esi
test edx, edx
jns 0x8c4ffb
add esi, 1
mov ecx, dword [ebp - 8]
add edx, edx
add ecx, edx
cmp ecx, edx
jae 0x8c500f
add esi, 1
jne 0x8c500f
add dword [ebp + 0xc], 1
mov edx, dword [ebp + 8]
mov dword [edx + 4], ecx
mov edi, esi
mov esi, dword [eax + 4]
movzx edx, si
shr esi, 0x10
mov ecx, edx
imul edx, edx
imul ecx, esi
imul esi, esi
mov ebx, ecx
shl ecx, 0x11
shr ebx, 0xf
add edx, ecx
add esi, ebx
cmp edx, ecx
mov dword [ebp - 4], 0
jae 0x8c5045
add esi, 1
add edi, edx
cmp edi, edx
mov dword [ebp - 8], edi
jae 0x8c5051
add esi, 1
mov ecx, dword [ebp + 0xc]
add ecx, esi
cmp ecx, esi
mov dword [ebp + 0xc], ecx
jae 0x8c5064
mov dword [ebp - 4], 1
movzx ecx, word [eax + 2]
movzx edx, word [eax + 8]
movzx esi, word [eax + 0xa]
movzx ebx, word [eax]
mov dword [ebp - 0xc], ecx
mov ecx, edx
imul edx, ebx
imul ecx, dword [ebp - 0xc]
mov edi, esi
imul esi, dword [ebp - 0xc]
imul edi, ebx
add ecx, edi
cmp ecx, edi
jae 0x8c5094
add esi, 0x10000
mov edi, ecx
shr edi, 0x10
shl ecx, 0x10
add esi, edi
add edx, ecx
cmp edx, ecx
mov edi, 1
jae 0x8c50ab
add esi, edi
test esi, esi
jns 0x8c50b2
add dword [ebp - 4], edi
test edx, edx
lea ecx, [esi + esi]
jns 0x8c50bb
add ecx, edi
mov esi, dword [ebp - 8]
add edx, edx
add esi, edx
cmp esi, edx
mov dword [ebp - 8], esi
jae 0x8c50d0
add ecx, edi
jne 0x8c50d0
add dword [ebp - 4], edi
mov edx, dword [ebp + 0xc]
add edx, ecx
cmp edx, ecx
mov dword [ebp + 0xc], edx
jae 0x8c50df
add dword [ebp - 4], edi
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 8]
mov dword [edx + 8], ecx
movzx edx, word [eax + 2]
movzx esi, word [eax + 0xe]
movzx ebx, word [eax]
mov dword [ebp - 0xc], edx
movzx edx, word [eax + 0xc]
mov ecx, edx
imul edx, ebx
imul ecx, dword [ebp - 0xc]
mov edi, esi
imul esi, dword [ebp - 0xc]
imul edi, ebx
add ecx, edi
cmp ecx, edi
mov dword [ebp - 8], 0
jae 0x8c511f
add esi, 0x10000
mov edi, ecx
shr edi, 0x10
shl ecx, 0x10
add esi, edi
add edx, ecx
cmp edx, ecx
mov edi, 1
jae 0x8c5136
add esi, edi
test esi, esi
jns 0x8c513d
mov dword [ebp - 8], edi
test edx, edx
lea ecx, [esi + esi]
jns 0x8c5146
add ecx, edi
mov esi, dword [ebp + 0xc]
add edx, edx
add esi, edx
cmp esi, edx
mov dword [ebp + 0xc], esi
jae 0x8c515b
add ecx, edi
jne 0x8c515b
add dword [ebp - 8], edi
mov edx, dword [ebp - 4]
add edx, ecx
cmp edx, ecx
mov dword [ebp - 4], edx
jae 0x8c516a
add dword [ebp - 8], edi
movzx ecx, word [eax + 6]
movzx edx, word [eax + 8]
movzx esi, word [eax + 0xa]
movzx ebx, word [eax + 4]
mov dword [ebp - 0xc], ecx
mov ecx, edx
imul edx, ebx
imul ecx, dword [ebp - 0xc]
mov edi, esi
imul esi, dword [ebp - 0xc]
imul edi, ebx
add ecx, edi
cmp ecx, edi
jae 0x8c519b
add esi, 0x10000
mov edi, ecx
shl ecx, 0x10
shr edi, 0x10
add edx, ecx
add esi, edi
cmp edx, ecx
mov ebx, 1
jae 0x8c51b2
add esi, ebx
test esi, esi
jns 0x8c51b9
add dword [ebp - 8], ebx
test edx, edx
lea ecx, [esi + esi]
jns 0x8c51c2
add ecx, ebx
mov esi, dword [ebp + 0xc]
add edx, edx
add esi, edx
cmp esi, edx
jae 0x8c51d4
add ecx, ebx
jne 0x8c51d4
add dword [ebp - 8], ebx
mov edi, dword [ebp - 4]
add edi, ecx
cmp edi, ecx
jae 0x8c51e0
add dword [ebp - 8], ebx
mov edx, dword [ebp + 8]
mov dword [edx + 0xc], esi
mov esi, dword [eax + 8]
movzx edx, si
shr esi, 0x10
mov ecx, edx
imul edx, edx
imul ecx, esi
imul esi, esi
mov ebx, ecx
shl ecx, 0x11
shr ebx, 0xf
add edx, ecx
add esi, ebx
cmp edx, ecx
mov dword [ebp + 0xc], 0
jae 0x8c5214
add esi, 1
add edi, edx
cmp edi, edx
mov dword [ebp - 4], edi
jae 0x8c5220
add esi, 1
mov ecx, dword [ebp - 8]
add ecx, esi
cmp ecx, esi
mov dword [ebp - 8], ecx
jae 0x8c5233
mov dword [ebp + 0xc], 1
movzx ecx, word [eax + 6]
movzx edx, word [eax + 0xc]
movzx esi, word [eax + 0xe]
movzx ebx, word [eax + 4]
mov dword [ebp - 0xc], ecx
mov ecx, edx
imul edx, ebx
imul ecx, dword [ebp - 0xc]
mov edi, esi
imul esi, dword [ebp - 0xc]
imul edi, ebx
add ecx, edi
cmp ecx, edi
jae 0x8c5264
add esi, 0x10000
mov edi, ecx
shr edi, 0x10
shl ecx, 0x10
add esi, edi
add edx, ecx
cmp edx, ecx
mov edi, 1
jae 0x8c527b
add esi, edi
test esi, esi
jns 0x8c5282
add dword [ebp + 0xc], edi
test edx, edx
lea ecx, [esi + esi]
jns 0x8c528b
add ecx, edi
mov esi, dword [ebp - 4]
add edx, edx
add esi, edx
cmp esi, edx
mov dword [ebp - 4], esi
jae 0x8c52a0
add ecx, edi
jne 0x8c52a0
add dword [ebp + 0xc], edi
mov edx, dword [ebp - 8]
add edx, ecx
cmp edx, ecx
mov dword [ebp - 8], edx
jae 0x8c52af
add dword [ebp + 0xc], edi
movzx edx, word [eax + 2]
movzx esi, word [eax + 0x12]
movzx ebx, word [eax]
mov dword [ebp - 0xc], edx
movzx edx, word [eax + 0x10]
mov ecx, edx
imul edx, ebx
imul ecx, dword [ebp - 0xc]
mov edi, esi
imul esi, dword [ebp - 0xc]
imul edi, ebx
add ecx, edi
cmp ecx, edi
jae 0x8c52df
add esi, 0x10000
mov edi, ecx
shr edi, 0x10
shl ecx, 0x10
add esi, edi
add edx, ecx
cmp edx, ecx
mov edi, 1
jae 0x8c52f6
add esi, edi
test esi, esi
jns 0x8c52fd
add dword [ebp + 0xc], edi
test edx, edx
lea ecx, [esi + esi]
jns 0x8c5306
add ecx, edi
mov esi, dword [ebp - 4]
add edx, edx
add esi, edx
cmp esi, edx
mov dword [ebp - 4], esi
jae 0x8c531b
add ecx, edi
jne 0x8c531b
add dword [ebp + 0xc], edi
mov edx, dword [ebp - 8]
add edx, ecx
cmp edx, ecx
mov dword [ebp - 8], edx
jae 0x8c532a
add dword [ebp + 0xc], edi
mov edx, dword [ebp - 4]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x10], edx
movzx ecx, word [eax + 2]
movzx edx, word [eax + 0x14]
movzx esi, word [eax + 0x16]
movzx ebx, word [eax]
mov dword [ebp - 0xc], ecx
mov ecx, edx
imul edx, ebx
imul ecx, dword [ebp - 0xc]
mov edi, esi
imul esi, dword [ebp - 0xc]
imul edi, ebx
add ecx, edi
cmp ecx, edi
mov dword [ebp - 4], 0
jae 0x8c536a
add esi, 0x10000
mov edi, ecx
shr edi, 0x10
shl ecx, 0x10
add esi, edi
add edx, ecx
cmp edx, ecx
mov edi, 1
jae 0x8c5381
add esi, edi
test esi, esi
jns 0x8c5388
mov dword [ebp - 4], edi
test edx, edx
lea ecx, [esi + esi]
jns 0x8c5391
add ecx, edi
mov esi, dword [ebp - 8]
add edx, edx
add esi, edx
cmp esi, edx
mov dword [ebp - 8], esi
jae 0x8c53a6
add ecx, edi
jne 0x8c53a6
add dword [ebp - 4], edi
mov edx, dword [ebp + 0xc]
add edx, ecx
cmp edx, ecx
mov dword [ebp + 0xc], edx
jae 0x8c53b5
add dword [ebp - 4], edi
movzx edx, word [eax + 6]
movzx esi, word [eax + 0x12]
movzx ebx, word [eax + 4]
mov dword [ebp - 0xc], edx
movzx edx, word [eax + 0x10]
mov ecx, edx
imul edx, ebx
imul ecx, dword [ebp - 0xc]
mov edi, esi
imul esi, dword [ebp - 0xc]
imul edi, ebx
add ecx, edi
cmp ecx, edi
jae 0x8c53e6
add esi, 0x10000
mov edi, ecx
shr edi, 0x10
shl ecx, 0x10
add esi, edi
add edx, ecx
cmp edx, ecx
mov edi, 1
jae 0x8c53fd
add esi, edi
test esi, esi
jns 0x8c5404
add dword [ebp - 4], edi
test edx, edx
lea ecx, [esi + esi]
jns 0x8c540d
add ecx, edi
mov esi, dword [ebp - 8]
add edx, edx
add esi, edx
cmp esi, edx
mov dword [ebp - 8], esi
jae 0x8c5422
add ecx, edi
jne 0x8c5422
add dword [ebp - 4], edi
mov edx, dword [ebp + 0xc]
add edx, ecx
cmp edx, ecx
mov dword [ebp + 0xc], edx
jae 0x8c5431
add dword [ebp - 4], edi
movzx ecx, word [eax + 0xa]
movzx edx, word [eax + 0xc]
movzx esi, word [eax + 0xe]
movzx ebx, word [eax + 8]
mov dword [ebp - 0xc], ecx
mov ecx, edx
imul edx, ebx
imul ecx, dword [ebp - 0xc]
mov edi, esi
imul esi, dword [ebp - 0xc]
imul edi, ebx
add ecx, edi
cmp ecx, edi
jae 0x8c5462
add esi, 0x10000
mov edi, ecx
shl ecx, 0x10
shr edi, 0x10
add edx, ecx
add esi, edi
cmp edx, ecx
mov ebx, 1
jae 0x8c5479
add esi, ebx
test esi, esi
jns 0x8c5480
add dword [ebp - 4], ebx
test edx, edx
lea ecx, [esi + esi]
jns 0x8c5489
add ecx, ebx
mov esi, dword [ebp - 8]
add edx, edx
add esi, edx
cmp esi, edx
jae 0x8c549b
add ecx, ebx
jne 0x8c549b
add dword [ebp - 4], ebx
mov edi, dword [ebp + 0xc]
add edi, ecx
cmp edi, ecx
jae 0x8c54a7
add dword [ebp - 4], ebx
mov edx, dword [ebp + 8]
mov dword [edx + 0x14], esi
mov esi, dword [eax + 0xc]
movzx edx, si
shr esi, 0x10
mov ecx, edx
imul edx, edx
imul ecx, esi
imul esi, esi
mov ebx, ecx
shl ecx, 0x11
shr ebx, 0xf
add edx, ecx
add esi, ebx
cmp edx, ecx
mov dword [ebp - 8], 0
jae 0x8c54db
add esi, 1
add edi, edx
cmp edi, edx
mov dword [ebp + 0xc], edi
jae 0x8c54e7
add esi, 1
mov ecx, dword [ebp - 4]
add ecx, esi
cmp ecx, esi
mov dword [ebp - 4], ecx
jae 0x8c54fa
mov dword [ebp - 8], 1
movzx ecx, word [eax + 0xa]
movzx edx, word [eax + 0x10]
movzx esi, word [eax + 0x12]
movzx ebx, word [eax + 8]
mov dword [ebp - 0xc], ecx
mov ecx, edx
imul edx, ebx
imul ecx, dword [ebp - 0xc]
mov edi, esi
imul esi, dword [ebp - 0xc]
imul edi, ebx
add ecx, edi
cmp ecx, edi
jae 0x8c552b
add esi, 0x10000
mov edi, ecx
shr edi, 0x10
shl ecx, 0x10
add esi, edi
add edx, ecx
cmp edx, ecx
mov edi, 1
jae 0x8c5542
add esi, edi
test esi, esi
jns 0x8c5549
add dword [ebp - 8], edi
test edx, edx
lea ecx, [esi + esi]
jns 0x8c5552
add ecx, edi
mov esi, dword [ebp + 0xc]
add edx, edx
add esi, edx
cmp esi, edx
mov dword [ebp + 0xc], esi
jae 0x8c5567
add ecx, edi
jne 0x8c5567
add dword [ebp - 8], edi
mov edx, dword [ebp - 4]
add edx, ecx
cmp edx, ecx
mov dword [ebp - 4], edx
jae 0x8c5576
add dword [ebp - 8], edi
movzx edx, word [eax + 6]
movzx esi, word [eax + 0x16]
movzx ebx, word [eax + 4]
mov dword [ebp - 0xc], edx
movzx edx, word [eax + 0x14]
mov ecx, edx
imul edx, ebx
imul ecx, dword [ebp - 0xc]
mov edi, esi
imul esi, dword [ebp - 0xc]
imul edi, ebx
add ecx, edi
cmp ecx, edi
jae 0x8c55a7
add esi, 0x10000
mov edi, ecx
shr edi, 0x10
shl ecx, 0x10
add esi, edi
add edx, ecx
cmp edx, ecx
mov edi, 1
jae 0x8c55be
add esi, edi
test esi, esi
jns 0x8c55c5
add dword [ebp - 8], edi
test edx, edx
lea ecx, [esi + esi]
jns 0x8c55ce
add ecx, edi
mov esi, dword [ebp + 0xc]
add edx, edx
add esi, edx
cmp esi, edx
mov dword [ebp + 0xc], esi
jae 0x8c55e3
add ecx, edi
jne 0x8c55e3
add dword [ebp - 8], edi
mov edx, dword [ebp - 4]
add edx, ecx
cmp edx, ecx
mov dword [ebp - 4], edx
jae 0x8c55f2
add dword [ebp - 8], edi
movzx ecx, word [eax + 2]
movzx edx, word [eax + 0x18]
movzx esi, word [eax + 0x1a]
movzx ebx, word [eax]
mov dword [ebp - 0xc], ecx
mov ecx, edx
imul edx, ebx
imul ecx, dword [ebp - 0xc]
mov edi, esi
imul esi, dword [ebp - 0xc]
imul edi, ebx
add ecx, edi
cmp ecx, edi
jae 0x8c5622
add esi, 0x10000
mov edi, ecx
shr edi, 0x10
shl ecx, 0x10
add esi, edi
add edx, ecx
cmp edx, ecx
mov edi, 1
jae 0x8c5639
add esi, edi
test esi, esi
jns 0x8c5640
add dword [ebp - 8], edi
test edx, edx
lea ecx, [esi + esi]
jns 0x8c5649
add ecx, edi
mov esi, dword [ebp + 0xc]
add edx, edx
add esi, edx
cmp esi, edx
mov dword [ebp + 0xc], esi
jae 0x8c565e
add ecx, edi
jne 0x8c565e
add dword [ebp - 8], edi
mov edx, dword [ebp - 4]
add edx, ecx
cmp edx, ecx
mov dword [ebp - 4], edx
jae 0x8c566d
add dword [ebp - 8], edi
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
mov dword [edx + 0x18], ecx
movzx edx, word [eax + 2]
movzx esi, word [eax + 0x1e]
movzx ebx, word [eax]
mov dword [ebp - 0xc], edx
movzx edx, word [eax + 0x1c]
mov ecx, edx
imul edx, ebx
imul ecx, dword [ebp - 0xc]
mov edi, esi
imul esi, dword [ebp - 0xc]
imul edi, ebx
add ecx, edi
cmp ecx, edi
mov dword [ebp + 0xc], 0
jae 0x8c56ad
add esi, 0x10000
mov edi, ecx
shr edi, 0x10
shl ecx, 0x10
add esi, edi
add edx, ecx
cmp edx, ecx
mov edi, 1
jae 0x8c56c4
add esi, edi
test esi, esi
jns 0x8c56cb
mov dword [ebp + 0xc], edi
test edx, edx
lea ecx, [esi + esi]
jns 0x8c56d4
add ecx, edi
mov esi, dword [ebp - 4]
add edx, edx
add esi, edx
cmp esi, edx
mov dword [ebp - 4], esi
jae 0x8c56e9
add ecx, edi
jne 0x8c56e9
add dword [ebp + 0xc], edi
mov edx, dword [ebp - 8]
add edx, ecx
cmp edx, ecx
mov dword [ebp - 8], edx
jae 0x8c56f8
add dword [ebp + 0xc], edi
movzx ecx, word [eax + 6]
movzx edx, word [eax + 0x18]
movzx esi, word [eax + 0x1a]
movzx ebx, word [eax + 4]
mov dword [ebp - 0xc], ecx
mov ecx, edx
imul edx, ebx
imul ecx, dword [ebp - 0xc]
mov edi, esi
imul esi, dword [ebp - 0xc]
imul edi, ebx
add ecx, edi
cmp ecx, edi
jae 0x8c5729
add esi, 0x10000
mov edi, ecx
shr edi, 0x10
shl ecx, 0x10
add esi, edi
add edx, ecx
cmp edx, ecx
mov edi, 1
jae 0x8c5740
add esi, edi
test esi, esi
jns 0x8c5747
add dword [ebp + 0xc], edi
test edx, edx
lea ecx, [esi + esi]
jns 0x8c5750
add ecx, edi
mov esi, dword [ebp - 4]
add edx, edx
add esi, edx
cmp esi, edx
mov dword [ebp - 4], esi
jae 0x8c5765
add ecx, edi
jne 0x8c5765
add dword [ebp + 0xc], edi
mov edx, dword [ebp - 8]
add edx, ecx
cmp edx, ecx
mov dword [ebp - 8], edx
jae 0x8c5774
add dword [ebp + 0xc], edi
movzx edx, word [eax + 0xa]
movzx esi, word [eax + 0x16]
movzx ebx, word [eax + 8]
mov dword [ebp - 0xc], edx
movzx edx, word [eax + 0x14]
mov ecx, edx
imul edx, ebx
imul ecx, dword [ebp - 0xc]
mov edi, esi
imul esi, dword [ebp - 0xc]
imul edi, ebx
add ecx, edi
cmp ecx, edi
jae 0x8c57a5
add esi, 0x10000
mov edi, ecx
shr edi, 0x10
shl ecx, 0x10
add esi, edi
add edx, ecx
cmp edx, ecx
mov edi, 1
jae 0x8c57bc
add esi, edi
test esi, esi
jns 0x8c57c3
add dword [ebp + 0xc], edi
test edx, edx
lea ecx, [esi + esi]
jns 0x8c57cc
add ecx, edi
mov esi, dword [ebp - 4]
add edx, edx
add esi, edx
cmp esi, edx
mov dword [ebp - 4], esi
jae 0x8c57e1
add ecx, edi
jne 0x8c57e1
add dword [ebp + 0xc], edi
mov edx, dword [ebp - 8]
add edx, ecx
cmp edx, ecx
mov dword [ebp - 8], edx
jae 0x8c57f0
add dword [ebp + 0xc], edi
movzx ecx, word [eax + 0xe]
movzx edx, word [eax + 0x10]
movzx esi, word [eax + 0x12]
movzx ebx, word [eax + 0xc]
mov dword [ebp - 0xc], ecx
mov ecx, edx
imul edx, ebx
imul ecx, dword [ebp - 0xc]
mov edi, esi
imul esi, dword [ebp - 0xc]
imul edi, ebx
add ecx, edi
cmp ecx, edi
jae 0x8c5821
add esi, 0x10000
mov edi, ecx
shl ecx, 0x10
shr edi, 0x10
add edx, ecx
add esi, edi
cmp edx, ecx
mov ebx, 1
jae 0x8c5838
add esi, ebx
test esi, esi
jns 0x8c583f
add dword [ebp + 0xc], ebx
test edx, edx
lea ecx, [esi + esi]
jns 0x8c5848
add ecx, ebx
mov esi, dword [ebp - 4]
add edx, edx
add esi, edx
cmp esi, edx
jae 0x8c585a
add ecx, ebx
jne 0x8c585a
add dword [ebp + 0xc], ebx
mov edi, dword [ebp - 8]
add edi, ecx
cmp edi, ecx
jae 0x8c5866
add dword [ebp + 0xc], ebx
mov edx, dword [ebp + 8]
mov dword [edx + 0x1c], esi
mov esi, dword [eax + 0x10]
movzx edx, si
shr esi, 0x10
mov ecx, edx
imul edx, edx
imul ecx, esi
imul esi, esi
mov ebx, ecx
shl ecx, 0x11
shr ebx, 0xf
add edx, ecx
add esi, ebx
cmp edx, ecx
mov dword [ebp - 4], 0
jae 0x8c589a
add esi, 1
add edi, edx
cmp edi, edx
mov dword [ebp - 8], edi
jae 0x8c58a6
add esi, 1
mov ecx, dword [ebp + 0xc]
add ecx, esi
cmp ecx, esi
mov dword [ebp + 0xc], ecx
jae 0x8c58b9
mov dword [ebp - 4], 1
movzx ecx, word [eax + 0xe]
movzx edx, word [eax + 0x14]
movzx esi, word [eax + 0x16]
movzx ebx, word [eax + 0xc]
mov dword [ebp - 0xc], ecx
mov ecx, edx
imul edx, ebx
imul ecx, dword [ebp - 0xc]
mov edi, esi
imul esi, dword [ebp - 0xc]
imul edi, ebx
add ecx, edi
cmp ecx, edi
jae 0x8c58ea
add esi, 0x10000
mov edi, ecx
shr edi, 0x10
shl ecx, 0x10
add esi, edi
add edx, ecx
cmp edx, ecx
mov edi, 1
jae 0x8c5901
add esi, edi
test esi, esi
jns 0x8c5908
add dword [ebp - 4], edi
test edx, edx
lea ecx, [esi + esi]
jns 0x8c5911
add ecx, edi
mov esi, dword [ebp - 8]
add edx, edx
add esi, edx
cmp esi, edx
mov dword [ebp - 8], esi
jae 0x8c5926
add ecx, edi
jne 0x8c5926
add dword [ebp - 4], edi
mov edx, dword [ebp + 0xc]
add edx, ecx
cmp edx, ecx
mov dword [ebp + 0xc], edx
jae 0x8c5935
add dword [ebp - 4], edi
movzx edx, word [eax + 0xa]
movzx esi, word [eax + 0x1a]
movzx ebx, word [eax + 8]
mov dword [ebp - 0xc], edx
movzx edx, word [eax + 0x18]
mov ecx, edx
imul edx, ebx
imul ecx, dword [ebp - 0xc]
mov edi, esi
imul esi, dword [ebp - 0xc]
imul edi, ebx
add ecx, edi
cmp ecx, edi
jae 0x8c5966
add esi, 0x10000
mov edi, ecx
shr edi, 0x10
shl ecx, 0x10
add esi, edi
add edx, ecx
cmp edx, ecx
mov edi, 1
jae 0x8c597d
add esi, edi
test esi, esi
jns 0x8c5984
add dword [ebp - 4], edi
test edx, edx
lea ecx, [esi + esi]
jns 0x8c598d
add ecx, edi
mov esi, dword [ebp - 8]
add edx, edx
add esi, edx
cmp esi, edx
mov dword [ebp - 8], esi
jae 0x8c59a2
add ecx, edi
jne 0x8c59a2
add dword [ebp - 4], edi
mov edx, dword [ebp + 0xc]
add edx, ecx
cmp edx, ecx
mov dword [ebp + 0xc], edx
jae 0x8c59b1
add dword [ebp - 4], edi
movzx ecx, word [eax + 6]
movzx edx, word [eax + 0x1c]
movzx esi, word [eax + 0x1e]
movzx ebx, word [eax + 4]
mov dword [ebp - 0xc], ecx
mov ecx, edx
imul edx, ebx
imul ecx, dword [ebp - 0xc]
mov edi, esi
imul esi, dword [ebp - 0xc]
imul edi, ebx
add ecx, edi
cmp ecx, edi
jae 0x8c59e2
add esi, 0x10000
mov edi, ecx
shr edi, 0x10
shl ecx, 0x10
add esi, edi
add edx, ecx
cmp edx, ecx
mov edi, 1
jae 0x8c59f9
add esi, edi
test esi, esi
jns 0x8c5a00
add dword [ebp - 4], edi
test edx, edx
lea ecx, [esi + esi]
jns 0x8c5a09
add ecx, edi
mov esi, dword [ebp - 8]
add edx, edx
add esi, edx
cmp esi, edx
mov dword [ebp - 8], esi
jae 0x8c5a1e
add ecx, edi
jne 0x8c5a1e
add dword [ebp - 4], edi
mov edx, dword [ebp + 0xc]
add edx, ecx
cmp edx, ecx
mov dword [ebp + 0xc], edx
jae 0x8c5a2d
add dword [ebp - 4], edi
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 8]
mov dword [edx + 0x20], ecx
movzx edx, word [eax + 0xa]
movzx esi, word [eax + 0x1e]
movzx ebx, word [eax + 8]
mov dword [ebp - 0xc], edx
movzx edx, word [eax + 0x1c]
mov ecx, edx
imul edx, ebx
imul ecx, dword [ebp - 0xc]
mov edi, esi
imul esi, dword [ebp - 0xc]
imul edi, ebx
add ecx, edi
cmp ecx, edi
mov dword [ebp - 8], 0
jae 0x8c5a6e
add esi, 0x10000
mov edi, ecx
shr edi, 0x10
shl ecx, 0x10
add esi, edi
add edx, ecx
cmp edx, ecx
mov edi, 1
jae 0x8c5a85
add esi, edi
test esi, esi
jns 0x8c5a8c