Function at 0x1015b520
Capabilities:
Enumerate pe sections

Disassembly:
push ebx
push ebp
push esi
mov esi, ecx
mov ecx, 4
mov eax, esi
push edi
sub eax, dword [esi]
cmp cx, word [eax]
jae 0x1015b542
movzx eax, word [eax + 4]
test ax, ax
je 0x1015b542
mov eax, dword [eax + esi]
jmp 0x1015b544
xor eax, eax
mov ebp, dword [esp + 0x14]
mov ecx, 6
mov dword [ebp], eax
mov eax, esi
sub eax, dword [esi]
cmp cx, word [eax]
jae 0x1015b567
movzx eax, word [eax + 6]
test ax, ax
je 0x1015b567
mov al, byte [eax + esi]
jmp 0x1015b569
xor al, al
test al, al
mov ecx, 8
setne al
mov byte [ebp + 4], al
mov eax, esi
sub eax, dword [esi]
cmp cx, word [eax]
jae 0x1015b58d
movzx eax, word [eax + 8]
test ax, ax
je 0x1015b58d
mov al, byte [eax + esi]
jmp 0x1015b58f
xor al, al
test al, al
mov ecx, 0xa
setne al
mov byte [ebp + 5], al
mov eax, esi
sub eax, dword [esi]
cmp cx, word [eax]
jae 0x1015b5b3
movzx eax, word [eax + 0xa]
test ax, ax
je 0x1015b5b3
mov al, byte [eax + esi]
jmp 0x1015b5b5
xor al, al
mov ebx, dword [esp + 0x18]
test al, al
mov ecx, 0xc
setne al
mov byte [ebp + 6], al
mov eax, esi
sub eax, dword [esi]
cmp cx, word [eax]
jae 0x1015b612
movzx eax, word [eax + 0xc]
lea edx, [esi + eax]
test ax, ax
je 0x1015b612
mov ecx, dword [edx]
add ecx, edx
je 0x1015b612
push ebx
call fcn.10152a10
mov edi, eax
lea ecx, [esp + 0x14]
lea eax, [ebp + 8]
cmp eax, ecx
je 0x1015b659
mov ebx, dword [eax]
mov dword [eax], edi
test ebx, ebx
je 0x1015b60e
mov ecx, ebx
call fcn.10057230
push 0x5c
push ebx
call fcn.10196271
add esp, 8
mov ebx, dword [esp + 0x18]
mov eax, esi
mov ecx, 0xe
sub eax, dword [esi]
cmp cx, word [eax]
jae 0x1015b687
movzx eax, word [eax + 0xe]
lea edx, [esi + eax]
test ax, ax
je 0x1015b687
mov ecx, dword [edx]
add ecx, edx
je 0x1015b687
push ebx
call fcn.10152a10
mov edi, eax
lea ecx, [esp + 0x14]
lea eax, [ebp + 0xc]
cmp eax, ecx
je 0x1015b671
mov ebx, dword [eax]
mov dword [eax], edi
test ebx, ebx
je 0x1015b687
mov ecx, ebx
call fcn.10057230
push 0x5c
push ebx
jmp 0x1015b67f
test edi, edi
je 0x1015b612
mov ecx, edi
call fcn.10057230
push 0x5c
push edi
call fcn.10196271
add esp, 8
jmp 0x1015b612
test edi, edi
je 0x1015b687
mov ecx, edi
call fcn.10057230
push 0x5c
push edi
call fcn.10196271
add esp, 8
mov eax, esi
mov ecx, 0x10
sub eax, dword [esi]
cmp cx, word [eax]
jae 0x1015b6d8
movzx eax, word [eax + 0x10]
mov ebx, dword [esp + 0x18]
lea edx, [esi + eax]
test ax, ax
je 0x1015b6dc
mov ecx, dword [edx]
add ecx, edx
je 0x1015b6dc
push ebx
call fcn.10152a10
mov edi, eax
lea ecx, [esp + 0x14]
lea eax, [ebp + 0x10]
cmp eax, ecx
je 0x1015b723
mov ebx, dword [eax]
mov dword [eax], edi
test ebx, ebx
je 0x1015b6d8
mov ecx, ebx
call fcn.10057230
push 0x5c
push ebx
call fcn.10196271
add esp, 8
mov ebx, dword [esp + 0x18]
mov eax, esi
mov ecx, 0x12
sub eax, dword [esi]
cmp cx, word [eax]
jae 0x1015b751
movzx eax, word [eax + 0x12]
lea edx, [esi + eax]
test ax, ax
je 0x1015b751
mov ecx, dword [edx]
add ecx, edx
je 0x1015b751
push ebx
call fcn.10152a10
mov edi, eax
lea ecx, [esp + 0x14]
lea eax, [ebp + 0x14]
cmp eax, ecx
je 0x1015b73b
mov ebx, dword [eax]
mov dword [eax], edi
test ebx, ebx
je 0x1015b751
mov ecx, ebx
call fcn.10057230
push 0x5c
push ebx
jmp 0x1015b749
test edi, edi
je 0x1015b6dc
mov ecx, edi
call fcn.10057230
push 0x5c
push edi
call fcn.10196271
add esp, 8
jmp 0x1015b6dc
test edi, edi
je 0x1015b751
mov ecx, edi
call fcn.10057230
push 0x5c
push edi
call fcn.10196271
add esp, 8
mov eax, esi
mov ecx, 0x14
sub eax, dword [esi]
cmp cx, word [eax]
jae 0x1015b7a2
movzx eax, word [eax + 0x14]
mov ebx, dword [esp + 0x18]
lea edx, [esi + eax]
test ax, ax
je 0x1015b7a6
mov ecx, dword [edx]
add ecx, edx
je 0x1015b7a6
push ebx
call fcn.10152a10
mov edi, eax
lea ecx, [esp + 0x14]
lea eax, [ebp + 0x18]
cmp eax, ecx
je 0x1015b7ed
mov ebx, dword [eax]
mov dword [eax], edi
test ebx, ebx
je 0x1015b7a2
mov ecx, ebx
call fcn.10057230
push 0x5c
push ebx
call fcn.10196271
add esp, 8
mov ebx, dword [esp + 0x18]
mov eax, esi
mov ecx, 0x16
sub eax, dword [esi]
cmp cx, word [eax]
jae 0x1015b81b
movzx eax, word [eax + 0x16]
lea edx, [esi + eax]
test ax, ax
je 0x1015b81b
mov ecx, dword [edx]
add ecx, edx
je 0x1015b81b
push ebx
call fcn.10152a10
mov edi, eax
lea ecx, [esp + 0x14]
lea eax, [ebp + 0x1c]
cmp eax, ecx
je 0x1015b805
mov ebx, dword [eax]
mov dword [eax], edi
test ebx, ebx
je 0x1015b81b
mov ecx, ebx
call fcn.10057230
push 0x5c
push ebx
jmp 0x1015b813
test edi, edi
je 0x1015b7a6
mov ecx, edi
call fcn.10057230
push 0x5c
push edi
call fcn.10196271
add esp, 8
jmp 0x1015b7a6
test edi, edi
je 0x1015b81b
mov ecx, edi
call fcn.10057230
push 0x5c
push edi
call fcn.10196271
add esp, 8
mov eax, esi
mov ecx, 0x18
sub eax, dword [esi]
cmp cx, word [eax]
jae 0x1015b86c
movzx eax, word [eax + 0x18]
mov ebx, dword [esp + 0x18]
lea edx, [esi + eax]
test ax, ax
je 0x1015b870
mov ecx, dword [edx]
add ecx, edx
je 0x1015b870
push ebx
call fcn.10152a10
mov edi, eax
lea ecx, [esp + 0x14]
lea eax, [ebp + 0x20]
cmp eax, ecx
je 0x1015b8b7
mov ebx, dword [eax]
mov dword [eax], edi
test ebx, ebx
je 0x1015b86c
mov ecx, ebx
call fcn.10057230
push 0x5c
push ebx
call fcn.10196271
add esp, 8
mov ebx, dword [esp + 0x18]
mov eax, esi
mov ecx, 0x1a
sub eax, dword [esi]
cmp cx, word [eax]
jae 0x1015b8e5
movzx eax, word [eax + 0x1a]
lea edx, [esi + eax]
test ax, ax
je 0x1015b8e5
mov ecx, dword [edx]
add ecx, edx
je 0x1015b8e5
push ebx
call fcn.10152a10
mov edi, eax
lea ecx, [esp + 0x14]
lea eax, [ebp + 0x24]
cmp eax, ecx
je 0x1015b8cf
mov ebx, dword [eax]
mov dword [eax], edi
test ebx, ebx
je 0x1015b8e5
mov ecx, ebx
call fcn.10057230
push 0x5c
push ebx
jmp 0x1015b8dd
test edi, edi
je 0x1015b870
mov ecx, edi
call fcn.10057230
push 0x5c
push edi
call fcn.10196271
add esp, 8
jmp 0x1015b870
test edi, edi
je 0x1015b8e5
mov ecx, edi
call fcn.10057230
push 0x5c
push edi
call fcn.10196271
add esp, 8
mov eax, esi
mov ecx, 0x1c
sub eax, dword [esi]
cmp cx, word [eax]
jae 0x1015b936
movzx eax, word [eax + 0x1c]
mov ebx, dword [esp + 0x18]
lea edx, [esi + eax]
test ax, ax
je 0x1015b93a
mov ecx, dword [edx]
add ecx, edx
je 0x1015b93a
push ebx
call fcn.10152a10
mov edi, eax
lea ecx, [esp + 0x14]
lea eax, [ebp + 0x28]
cmp eax, ecx
je 0x1015b98e
mov ebx, dword [eax]
mov dword [eax], edi
test ebx, ebx
je 0x1015b936
mov ecx, ebx
call fcn.10057230
push 0x5c
push ebx
call fcn.10196271
add esp, 8
mov ebx, dword [esp + 0x18]
mov eax, esi
mov ecx, 0x1e
sub eax, dword [esi]
cmp cx, word [eax]
jae 0x1015b9bc
movzx eax, word [eax + 0x1e]
lea edx, [esi + eax]
test ax, ax
je 0x1015b9bc
mov ecx, dword [edx]
add ecx, edx
je 0x1015b9bc
push ebx
call fcn.10152a10
mov esi, eax
lea ecx, [esp + 0x18]
lea eax, [ebp + 0x2c]
cmp eax, ecx
je 0x1015b9a6
mov edi, dword [eax]
mov dword [eax], esi
test edi, edi
je 0x1015b9bc
mov ecx, edi
call fcn.10057230
push 0x5c
push edi
call fcn.10196271
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
ret 8
test edi, edi
je 0x1015b93a
mov ecx, edi
call fcn.10057230
push 0x5c
push edi
call fcn.10196271
add esp, 8
jmp 0x1015b93a
test esi, esi
je 0x1015b9bc
mov ecx, esi
call fcn.10057230
push 0x5c
push esi
call fcn.10196271
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
ret 8