Function at 0x10119590
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x1c
mov eax, dword [esp + 0x20]
push ebx
push ebp
mov ebp, dword [edx + 0x14]
push esi
mov esi, dword [eax + 4]
mov ebx, esi
sub ebx, dword [edx + 8]
push edi
mov edi, dword [eax]
mov eax, dword [eax + 0xc]
sub eax, esi
mov dword [esp + 0x18], ebp
mov ebp, dword [ecx + 8]
imul ebx, dword [esp + 0x18]
mov dword [esp + 0x10], eax
mov eax, edi
sub eax, dword [edx + 4]
mov dword [esp + 0x1c], ebp
imul ebp, esi
mov esi, dword [edx + 4]
mov dword [esp + 0x20], eax
sar eax, 3
add ebx, eax
add ebp, dword [ecx]
add ebx, dword [edx]
add ebp, edi
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x14], ebx
cmp edi, esi
jne 0x101196d4
mov eax, dword [ecx + 8]
cmp eax, dword [edx + 0xc]
jne 0x101196d4
mov esi, dword [esp + 0x38]
add ebp, 2
mov ebx, dword [esp + 0x34]
mov edi, dword [esp + 0x18]
mov eax, ebp
mov ecx, dword [esp + 0x14]
movzx edx, byte [ecx]
inc ecx
mov dword [esp + 0x14], ecx
test dl, dl
jns 0x10119627
movzx ecx, byte [eax - 2]
imul ecx, esi
shr ecx, 8
add cl, bl
mov byte [eax - 2], cl
test dl, 0x40
je 0x1011963b
movzx ecx, byte [eax - 1]
imul ecx, esi
shr ecx, 8
add cl, bl
mov byte [eax - 1], cl
test dl, 0x20
je 0x1011964d
movzx ecx, byte [eax]
imul ecx, esi
shr ecx, 8
add cl, bl
mov byte [eax], cl
test dl, 0x10
je 0x10119661
movzx ecx, byte [eax + 1]
imul ecx, esi
shr ecx, 8
add cl, bl
mov byte [eax + 1], cl
test dl, 8
je 0x10119675
movzx ecx, byte [eax + 2]
imul ecx, esi
shr ecx, 8
add cl, bl
mov byte [eax + 2], cl
test dl, 4
je 0x10119689
movzx ecx, byte [eax + 3]
imul ecx, esi
shr ecx, 8
add cl, bl
mov byte [eax + 3], cl
test dl, 2
je 0x1011969d
movzx ecx, byte [eax + 4]
imul ecx, esi
shr ecx, 8
add cl, bl
mov byte [eax + 4], cl
test dl, 1
je 0x101196b1
movzx ecx, byte [eax + 5]
imul ecx, esi
shr ecx, 8
add cl, bl
mov byte [eax + 5], cl
add eax, 8
sub edi, 1
jne 0x10119608
add ebp, dword [esp + 0x1c]
sub dword [esp + 0x10], 1
jne 0x10119602
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
mov edx, dword [ecx + 8]
mov eax, 0xff
mov edi, dword [esp + 0x20]
sub edx, esi
mov esi, edi
and esi, 7
mov ecx, esi
sar eax, cl
mov ecx, 8
mov dword [esp + 0x20], eax
mov eax, edx
and eax, 7
sar edx, 3
sub ecx, eax
mov eax, 0xff
shl eax, cl
movzx ecx, al
lea eax, [edi + 7]
mov edi, dword [esp + 0x20]
sar eax, 3
sub edx, eax
test ecx, ecx
lea eax, [edx - 1]
cmovne eax, edx
mov edx, 0xff
cmovne edx, ecx
cmp edi, 0xff
mov dword [esp + 0x24], edx
lea ecx, [eax - 1]
cmovne ecx, eax
sub ebp, esi
mov dword [esp + 0x28], ecx
test ecx, ecx
jns 0x10119819
mov esi, dword [esp + 0x38]
and edi, edx
mov dl, byte [esp + 0x34]
nop dword [eax]
movzx ecx, byte [ebx]
and ecx, edi
test cl, cl
jns 0x1011976c
movzx eax, byte [ebp]
mov edx, dword [esp + 0x34]
imul eax, esi
shr eax, 8
add al, dl
mov byte [ebp], al
test cl, 0x40
je 0x10119780
movzx eax, byte [ebp + 1]
imul eax, esi
shr eax, 8
add al, dl
mov byte [ebp + 1], al
test cl, 0x20
je 0x10119794
movzx eax, byte [ebp + 2]
imul eax, esi
shr eax, 8
add al, dl
mov byte [ebp + 2], al
test cl, 0x10
je 0x101197a8
movzx eax, byte [ebp + 3]
imul eax, esi
shr eax, 8
add al, dl
mov byte [ebp + 3], al
test cl, 8
je 0x101197bc
movzx eax, byte [ebp + 4]
imul eax, esi
shr eax, 8
add al, dl
mov byte [ebp + 4], al
test cl, 4
je 0x101197d2
movzx eax, byte [ebp + 5]
imul eax, esi
shr eax, 8
add al, dl
mov byte [ebp + 5], al
jmp 0x101197d6
mov dl, byte [esp + 0x34]
test cl, 2
je 0x101197ea
movzx eax, byte [ebp + 6]
imul eax, esi
shr eax, 8
add al, dl
mov byte [ebp + 6], al
test cl, 1
je 0x101197fe
movzx eax, byte [ebp + 7]
imul eax, esi
shr eax, 8
add al, dl
mov byte [ebp + 7], al
add ebx, dword [esp + 0x18]
add ebp, dword [esp + 0x1c]
sub dword [esp + 0x10], 1
jne 0x10119750
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
mov bl, byte [esp + 0x34]
mov edx, dword [esp + 0x38]
mov esi, dword [esp + 0x14]
mov dword [esp + 0x30], ecx
mov bh, bl
movzx ecx, byte [esi]
and ecx, edi
lea edi, [esi + 1]
test cl, cl
jns 0x1011984c
movzx eax, byte [ebp]
mov ebx, dword [esp + 0x34]
imul eax, edx
mov bh, bl
shr eax, 8
add al, bl
mov byte [ebp], al
test cl, 0x40
je 0x10119860
movzx eax, byte [ebp + 1]
imul eax, edx
shr eax, 8
add al, bh
mov byte [ebp + 1], al
test cl, 0x20
je 0x10119874
movzx eax, byte [ebp + 2]
imul eax, edx
shr eax, 8
add al, bh
mov byte [ebp + 2], al
test cl, 0x10
je 0x10119888
movzx eax, byte [ebp + 3]
imul eax, edx
shr eax, 8
add al, bh
mov byte [ebp + 3], al
test cl, 8
je 0x1011989c
movzx eax, byte [ebp + 4]
imul eax, edx
shr eax, 8
add al, bh
mov byte [ebp + 4], al
test cl, 4
je 0x101198b0
movzx eax, byte [ebp + 5]
imul eax, edx
shr eax, 8
add al, bh
mov byte [ebp + 5], al
test cl, 2
je 0x101198c8
movzx eax, byte [ebp + 6]
mov bl, bh
imul eax, edx
shr eax, 8
add al, bh
mov byte [ebp + 6], al
jmp 0x101198cc
mov bl, byte [esp + 0x34]
test cl, 1
je 0x101198e2
movzx eax, byte [ebp + 7]
mov bl, bh
imul eax, edx
shr eax, 8
add al, bh
mov byte [ebp + 7], al
sub dword [esp + 0x30], 1
lea ecx, [ebp + 8]
js 0x101199ce
mov esi, dword [esp + 0x30]
movzx eax, byte [edi]
inc edi
mov dword [esp + 0x30], eax
test al, al
jns 0x10119913
movzx eax, byte [ecx]
imul eax, edx
shr eax, 8
add al, byte [esp + 0x34]
mov byte [ecx], al
mov eax, dword [esp + 0x30]
test al, 0x40
je 0x1011992a
movzx eax, byte [ecx + 1]
imul eax, edx
shr eax, 8
add al, bl
mov byte [ecx + 1], al
mov eax, dword [esp + 0x30]
test al, 0x20
je 0x10119945
movzx eax, byte [ecx + 2]
mov bh, bl
imul eax, edx
shr eax, 8
add al, bl
mov byte [ecx + 2], al
mov eax, dword [esp + 0x30]
jmp 0x10119949
mov bh, byte [esp + 0x34]
test al, 0x10
je 0x10119962
movzx eax, byte [ecx + 3]
mov bh, bl
imul eax, edx
shr eax, 8
add al, bl
mov byte [ecx + 3], al
mov eax, dword [esp + 0x30]
test al, 8
je 0x1011997b
movzx eax, byte [ecx + 4]
mov bh, bl
imul eax, edx
shr eax, 8
add al, bl
mov byte [ecx + 4], al
mov eax, dword [esp + 0x30]
test al, 4
je 0x10119994
movzx eax, byte [ecx + 5]
mov bh, bl
imul eax, edx
shr eax, 8
add al, bl
mov byte [ecx + 5], al
mov eax, dword [esp + 0x30]
test al, 2
je 0x101199ab
movzx eax, byte [ecx + 6]
imul eax, edx
shr eax, 8
add al, bh
mov byte [ecx + 6], al
mov eax, dword [esp + 0x30]
test al, 1
je 0x101199be
movzx eax, byte [ecx + 7]
imul eax, edx
shr eax, 8
add al, bh
mov byte [ecx + 7], al
add ecx, 8
sub esi, 1
jns 0x101198f4
mov esi, dword [esp + 0x14]
movzx eax, byte [edi]
and eax, dword [esp + 0x24]
mov dword [esp + 0x30], eax
test al, al
jns 0x101199ee
movzx eax, byte [ecx]
imul eax, edx
shr eax, 8
add al, bl
mov byte [ecx], al
mov eax, dword [esp + 0x30]
test al, 0x40
je 0x10119a05
movzx eax, byte [ecx + 1]
imul eax, edx
shr eax, 8
add al, bl
mov byte [ecx + 1], al
mov eax, dword [esp + 0x30]
test al, 0x20
je 0x10119a1c
movzx eax, byte [ecx + 2]
imul eax, edx
shr eax, 8
add al, bl
mov byte [ecx + 2], al
mov eax, dword [esp + 0x30]
test al, 0x10
je 0x10119a33
movzx eax, byte [ecx + 3]
imul eax, edx
shr eax, 8
add al, bl
mov byte [ecx + 3], al
mov eax, dword [esp + 0x30]
test al, 8
je 0x10119a4a
movzx eax, byte [ecx + 4]
imul eax, edx
shr eax, 8
add al, bl
mov byte [ecx + 4], al
mov eax, dword [esp + 0x30]
test al, 4
je 0x10119a63
movzx eax, byte [ecx + 5]
imul eax, edx
shr eax, 8
add al, bl
mov byte [ecx + 5], al
mov eax, dword [esp + 0x30]
jmp 0x10119a67
mov bl, byte [esp + 0x34]
test al, 2
je 0x10119a7e
movzx eax, byte [ecx + 6]
imul eax, edx
shr eax, 8
add al, bl
mov byte [ecx + 6], al
mov eax, dword [esp + 0x30]
test al, 1
je 0x10119a91
movzx eax, byte [ecx + 7]
imul eax, edx
shr eax, 8
add al, bl
mov byte [ecx + 7], al
add esi, dword [esp + 0x18]
add ebp, dword [esp + 0x1c]
sub dword [esp + 0x10], 1
mov edi, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x14], esi
jne 0x10119825
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret