Function at 0x10002800
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x30
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx]
mov ecx, dword [0x10047110]
mov dword [esp + 4], edx
mov edx, dword [0x100470fc]
push ebx
mov ebx, dword [0x10047108]
push ebp
push esi
push edi
mov edi, dword [0x10047104]
sub edx, edi
imul edx, ebx
mov eax, ebx
imul eax, edi
mov esi, 0x14
sub esi, ecx
imul esi, ecx
mov dword [esp + 0x18], eax
mov eax, dword [0x10047100]
add edx, esi
mov esi, dword [0x1004710c]
lea ebp, [eax - 0x14]
imul ebp, esi
lea edx, [edx + ebp + 0x15]
lea ebp, [ebx + 0x14]
imul edx, eax
imul ebp, dword [0x100470fc]
add ebp, 0x12
imul ebp, edi
add edx, ebp
lea ebp, [ebx + ebx*4]
lea edx, [edx + ebp*4]
mov ebp, ecx
imul ebp, ecx
mov ecx, esi
imul ecx, eax
sub ecx, ebp
sub ecx, dword [esp + 0x18]
mov ebp, dword [0x10047110]
inc ecx
imul ecx, eax
add eax, edi
imul eax, dword [0x100470fc]
imul eax, ebx
add ebp, edi
add ebp, ebp
sub ecx, ebp
add ecx, eax
mov eax, dword [esp + 0x14]
sub ecx, esi
imul ecx, ecx, 0x1f0
movzx ebp, word [ecx + eax + 0x14]
add ebp, eax
mov eax, ebx
imul eax, ebx
imul eax, edi
lea ecx, [eax + eax*4]
mov eax, dword [0x10047110]
lea ecx, [ecx*8 - 4]
imul ecx, eax
sub edx, esi
lea edx, [ebp + edx*2 + 0x18]
mov ebp, dword [0x10047100]
add ecx, edx
test byte [0x10049b54], 1
mov dword [esp + 0x10], ecx
jne 0x10002905
or dword [0x10049b54], 1
mov ecx, esi
imul ecx, edi
inc ecx
imul ecx, eax
add ecx, ebp
add ecx, ecx
mov dword [0x10049b50], ecx
jmp 0x1000290b
mov ecx, dword [0x10049b50]
lea edx, [eax + edi + 2]
imul edx, eax
add edx, esi
lea edx, [edx + edi*2]
add edx, edx
add edx, edx
sub ecx, edx
mov edx, dword [esp + 0x10]
or ecx, dword [edx + 8]
mov dword [esp + 0x2c], ecx
mov ecx, dword [0x100470fc]
add ecx, 2
imul ecx, ebx
lea edx, [ecx + eax*2]
mov ecx, 1
sub ecx, eax
lea eax, [edi*4]
lea ecx, [eax + ecx*4]
imul ecx, edi
add edx, edx
add edx, edx
sub ecx, edx
lea eax, [ebp*4]
lea edx, [eax + 4]
imul edx, esi
add ecx, eax
mov eax, dword [esp + 0x44]
add edx, ecx
add edx, dword [eax + 0x3c]
mov ecx, dword [esp + 0x2c]
push edx
push ecx
call fcn.10001dc0
mov ecx, dword [0x100470fc]
mov dword [esp + 0x38], eax
lea eax, [edi + ebp - 2]
imul eax, dword [0x10047110]
lea edx, [edi + 1]
imul edx, ebx
sub eax, edx
lea edx, [ecx + ecx*2 - 3]
imul edx, esi
add edx, 3
imul edx, ecx
mov ecx, dword [esp + 0x18]
sub eax, esi
add eax, ebp
lea eax, [eax + eax*2]
add eax, edx
mov edx, dword [esp + 0x4c]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
push edx
call fcn.10002420
mov ecx, edi
imul ecx, edi
mov edx, 1
sub edx, ecx
sub edx, dword [0x100470fc]
lea ecx, [ebx + 1]
imul edx, dword [0x10047110]
imul ecx, ebp
add edx, ecx
mov ecx, dword [0x100470fc]
lea edx, [edx + edi*2]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x24]
add edx, ecx
add edx, dword [0x10047110]
mov dword [esp + 0x2c], eax
lea eax, [edx*4 + 4]
mov edx, eax
lea eax, [ebp*4]
sub edx, eax
mov eax, dword [esp + 0x2c]
imul edx, esi
add esp, 0xc
add eax, edx
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x24]
add eax, 0x28
mov dword [esp + 0x10], eax
mov eax, ecx
imul eax, ebx
add eax, 3
mov dword [esp + 0x38], edx
imul eax, esi
mov edx, dword [0x10047110]
neg edx
add edx, edx
sub edx, eax
lea eax, [edi*4 + 4]
imul eax, ebx
add edx, ecx
add edx, edx
add edx, edx
sub edx, eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x3c], 0
movzx eax, word [eax + 6]
add edx, eax
cmp edx, 1
mov dword [esp + 0x18], 1
jle 0x10002d17
jmp 0x10002a80
mov eax, dword [0x10047110]
mov edx, esi
imul edx, edi
sub eax, edx
mov edx, dword [esp + 0x10]
sub eax, 2
imul eax, ebp
lea ecx, [eax + ecx*2]
mov eax, dword [edx + 8]
sub ecx, ebx
sub ecx, dword [0x10047110]
lea ecx, [ecx + ecx*2]
lea eax, [eax + ecx*2]
mov ecx, dword [esp + 0x44]
or eax, dword [0x10049b50]
mov edx, dword [ecx + 0x3c]
push edx
push eax
mov dword [esp + 0x28], eax
call fcn.10001dc0
mov ecx, esi
imul ecx, esi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x2c], ecx
imul ecx, ebp
lea eax, [ebx + 1]
imul eax, edi
add eax, ecx
sub eax, dword [0x10047110]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x4c]
shl ecx, 5
add ecx, dword [esp + 0x18]
push eax
call fcn.10002420
lea ecx, [esi + esi*4 + 5]
imul ecx, ebp
add ebp, 2
imul ebp, ebx
mov edx, eax
mov eax, ebp
neg eax
add eax, eax
add eax, eax
sub eax, ebp
sub eax, ecx
lea ecx, [edi + edi*4]
add edx, ecx
mov ecx, dword [esp + 0x3c]
add eax, edx
add esp, 0xc
cmp ecx, dword [esp + 0x14]
mov ecx, dword [0x100470fc]
mov dword [esp + 0x1c], eax
je 0x10002c0e
lea edx, [ebx + ebx*2]
lea ebp, [edx - 3]
imul ebp, edi
sub ebp, 3
imul ebp, dword [0x10047110]
lea eax, [edi + 1]
imul eax, ecx
add eax, esi
lea eax, [eax + eax*2]
add ebp, eax
mov eax, dword [esp + 0x2c]
sub ebp, edx
mov edx, dword [esp + 0x34]
add ebp, dword [esp + 0x14]
add edx, eax
cmp edx, ebp
ja 0x10002c0e
mov eax, dword [0x10047100]
mov edx, ecx
sub edx, ebx
add edx, dword [0x10047110]
dec ebx
lea edx, [edx + eax + 2]
imul ebx, edi
imul edx, ecx
add edx, ebx
lea esi, [edx + esi*2]
mov edx, dword [esp + 0x44]
sub esi, eax
lea eax, [esi + esi*4]
lea ecx, [esp + eax*8 + 0x2c]
push ecx
push edx
call fcn.10002510
add esp, 8
test eax, eax
je 0x10002d3f
mov ecx, dword [esp + 0x14]
mov ebp, dword [0x10047100]
mov eax, dword [esp + 0x20]
mov esi, dword [0x1004710c]
mov ebx, dword [0x10047108]
mov dword [esp + 0x30], ecx
mov ecx, dword [0x100470fc]
mov edx, ecx
imul edx, ecx
imul edx, ebp
mov dword [esp + 0x2c], eax
mov edi, dword [0x10047104]
mov eax, 1
sub eax, edx
mov edx, dword [esp + 0x1c]
sub eax, esi
imul eax, ebx
sub eax, esi
sub eax, dword [0x10047110]
lea edx, [edx + eax*2]
add edx, eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x34], edx
mov edx, dword [eax + 0x24]
mov dword [esp + 0x38], edx
jmp 0x10002cd6
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x24]
mov eax, dword [esp + 0x24]
mov ebp, dword [0x10047100]
sub eax, edi
lea eax, [eax + ebp + 0x2000000]
mov dword [esp + 0x14], edx
test edx, eax
je 0x10002c67
mov eax, dword [0x10047110]
mov edx, ecx
imul edx, ecx
imul edx, esi
lea eax, [edx + eax*2 + 1]
imul eax, esi
add eax, ebx
lea edx, [eax + eax*4]
lea eax, [edi + edi*4 + 5]
imul eax, ebp
sub eax, edx
add eax, 0x2000000
test dword [esp + 0x38], eax
je 0x10002c67
mov edx, dword [esp + 0x14]
or dword [esp + 0x38], edx
jmp 0x10002cb7
mov edx, dword [0x10047110]
lea eax, [edx + edi]
imul eax, ebp
sub eax, esi
add eax, 2
imul eax, esi
mov dword [esp + 0x24], eax
mov eax, edx
imul eax, ebp
add eax, ecx
imul eax, edx
mov edx, eax
mov eax, dword [esp + 0x24]
add eax, edx
mov edx, 2
sub edx, ebp
imul edx, edi
add eax, edx
lea edx, [ebx + ebx*2]
sub eax, edx
lea edx, [eax + eax*2 - 0x2000001]
mov eax, dword [esp + 0x14]
or eax, dword [esp + 0x38]
and edx, eax
mov dword [esp + 0x38], edx
mov eax, ebx
imul eax, ebp
imul eax, edi
lea eax, [eax + eax*4]
mov edx, eax
mov eax, dword [esp + 0x1c]
sub eax, edx
sub eax, dword [esp + 0x2c]
add eax, dword [esp + 0x20]
mov dword [esp + 0x34], eax
mov edx, dword [0x10047110]
mov eax, ecx
imul eax, ebx
add eax, 3
imul eax, esi
inc dword [esp + 0x18]
neg edx
add dword [esp + 0x10], 0x28
add edx, edx
sub edx, eax
lea eax, [edi + 1]
imul eax, ebx
sub edx, eax
mov eax, dword [esp + 0x44]
mov eax, dword [eax]
movzx eax, word [eax + 6]
add edx, ecx
lea edx, [eax + edx*4]
cmp dword [esp + 0x18], edx
jl 0x10002a80
mov ecx, dword [esp + 0x44]
lea eax, [esp + 0x2c]
push eax
push ecx
mov dword [esp + 0x44], 1
call fcn.10002510
add esp, 8
pop edi
neg eax
pop esi
sbb eax, eax
pop ebp
neg eax
pop ebx
add esp, 0x30
ret
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x30
ret