Function at 0x10007cb4
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x30
call 0x10007cc0
pop ecx
mov edx, dword [esp + 0x50]
mov ebp, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
lea edi, [eax + 0x43]
mov bl, byte [eax + 1]
mov byte [esp + 0x13], bl
mov al, byte [eax + 2]
mov byte [esp + 0x12], al
mov eax, edx
and eax, 7
cmp eax, 5
ja 0x10007d31
add ecx, dword [eax*4 + 0x10008798]
jmp ecx
mov ecx, dword [esp + 0x5c]
xor esi, esi
mov ebx, edx
sub ebx, eax
mov dword [esp + 4], 0
cmovb ebx, esi
mov esi, ebx
cmp ebx, 0x20
jb 0x10008182
lea eax, [esi - 0x20]
mov dword [esp + 0x1c], eax
xor ebx, ebx
xor eax, eax
mov dword [esp + 0x14], esi
cmp eax, 0xffffffe0
je 0x10008754
mov esi, eax
add eax, 0x20
mov dword [esp + 4], eax
cmp eax, edx
ja 0x10008762
mov dword [esp + 0x18], ecx
mov dword [esp + 0xc], ebx
lea eax, [ebx + 0x1a]
cmp eax, dword [esp + 0x58]
ja 0x10008749
movzx ebx, byte [ebp + esi]
mov cl, byte [edi + ebx]
cmp cl, 0xff
je 0x10008577
movzx ebx, byte [ebp + esi + 1]
mov ch, byte [edi + ebx]
cmp ch, 0xff
je 0x10008558
movzx ebx, byte [ebp + esi + 2]
mov al, byte [edi + ebx]
cmp al, 0xff
je 0x1000855b
movzx ebx, byte [ebp + esi + 3]
mov dh, byte [edi + ebx]
cmp dh, 0xff
je 0x10008560
movzx ebx, byte [ebp + esi + 4]
mov dl, byte [edi + ebx]
cmp dl, 0xff
je 0x10008565
movzx ebx, byte [ebp + esi + 5]
mov ah, byte [edi + ebx]
cmp ah, 0xff
je 0x1000856a
mov byte [esp + 3], dl
movzx ebx, byte [ebp + esi + 6]
mov dl, byte [edi + ebx]
mov byte [esp + 8], dl
cmp dl, 0xff
je 0x1000856f
movzx ebx, byte [ebp + esi + 7]
mov dl, byte [edi + ebx]
cmp dl, 0xff
je 0x10008574
movzx ebx, cl
shl ebx, 0x1a
movzx ebp, ch
shl ebp, 0x14
or ebp, ebx
movzx ebx, al
shl ebx, 0xe
movzx ecx, dh
shl ecx, 8
or ecx, ebx
or ecx, ebp
mov ebp, dword [esp + 0x4c]
mov byte [esp + 2], dl
movzx edx, byte [esp + 3]
shl edx, 2
movzx eax, ah
mov ebx, eax
shr eax, 4
or eax, edx
or eax, ecx
shl ebx, 0x1c
movzx ecx, byte [esp + 8]
shl ecx, 0x16
or ecx, ebx
movzx edx, byte [esp + 2]
shl edx, 0x10
or edx, ecx
bswap edx
mov ecx, dword [esp + 0x54]
mov ebx, dword [esp + 0xc]
mov dword [ecx + ebx + 4], edx
bswap eax
mov dword [ecx + ebx], eax
movzx ebx, byte [ebp + esi + 8]
mov dl, byte [edi + ebx]
cmp dl, 0xff
je 0x10008595
movzx ebx, byte [ebp + esi + 9]
mov ah, byte [edi + ebx]
cmp ah, 0xff
je 0x1000859f
movzx ebx, byte [ebp + esi + 0xa]
mov ch, byte [edi + ebx]
cmp ch, 0xff
je 0x100085a9
movzx ebx, byte [ebp + esi + 0xb]
mov cl, byte [edi + ebx]
cmp cl, 0xff
je 0x100085b3
movzx ebx, byte [ebp + esi + 0xc]
mov dh, byte [edi + ebx]
cmp dh, 0xff
je 0x100085c0
movzx ebx, byte [ebp + esi + 0xd]
mov al, byte [edi + ebx]
cmp al, 0xff
je 0x100085cf
mov byte [esp + 3], dh
movzx ebx, byte [ebp + esi + 0xe]
mov dh, byte [edi + ebx]
mov byte [esp + 8], dh
cmp dh, 0xff
je 0x100085de
movzx ebx, byte [ebp + esi + 0xf]
mov dh, byte [edi + ebx]
cmp dh, 0xff
je 0x100085ed
movzx ebx, dl
shl ebx, 0x1a
movzx ebp, ah
shl ebp, 0x14
or ebp, ebx
movzx ebx, ch
shl ebx, 0xe
movzx ecx, cl
shl ecx, 8
or ecx, ebx
or ecx, ebp
mov ebp, dword [esp + 0x4c]
mov byte [esp + 2], dh
movzx edx, byte [esp + 3]
shl edx, 2
movzx eax, al
mov ebx, eax
shr eax, 4
or eax, edx
or eax, ecx
shl ebx, 0x1c
movzx ecx, byte [esp + 8]
shl ecx, 0x16
or ecx, ebx
movzx edx, byte [esp + 2]
shl edx, 0x10
or edx, ecx
bswap edx
mov ecx, dword [esp + 0x54]
mov ebx, dword [esp + 0xc]
mov dword [ecx + ebx + 0xa], edx
bswap eax
mov dword [ecx + ebx + 6], eax
movzx ebx, byte [ebp + esi + 0x10]
mov dl, byte [edi + ebx]
cmp dl, 0xff
je 0x100085fc
movzx ebx, byte [ebp + esi + 0x11]
mov ah, byte [edi + ebx]
cmp ah, 0xff
je 0x1000860b
movzx ebx, byte [ebp + esi + 0x12]
mov ch, byte [edi + ebx]
cmp ch, 0xff
je 0x10008636
movzx ebx, byte [ebp + esi + 0x13]
mov cl, byte [edi + ebx]
cmp cl, 0xff
je 0x1000863d
movzx ebx, byte [ebp + esi + 0x14]
mov dh, byte [edi + ebx]
cmp dh, 0xff
je 0x10008644
movzx ebx, byte [ebp + esi + 0x15]
mov al, byte [edi + ebx]
cmp al, 0xff
je 0x1000864b
mov byte [esp + 3], dh
movzx ebx, byte [ebp + esi + 0x16]
mov dh, byte [edi + ebx]
mov byte [esp + 8], dh
cmp dh, 0xff
je 0x10008652
movzx ebx, byte [ebp + esi + 0x17]
mov dh, byte [edi + ebx]
cmp dh, 0xff
je 0x10008659
movzx ebx, dl
shl ebx, 0x1a
movzx ebp, ah
shl ebp, 0x14
or ebp, ebx
movzx ebx, ch
shl ebx, 0xe
movzx ecx, cl
shl ecx, 8
or ecx, ebx
or ecx, ebp
mov ebp, dword [esp + 0x4c]
mov byte [esp + 2], dh
movzx edx, byte [esp + 3]
shl edx, 2
movzx eax, al
mov ebx, eax
shr eax, 4
or eax, edx
or eax, ecx
shl ebx, 0x1c
movzx ecx, byte [esp + 8]
shl ecx, 0x16
or ecx, ebx
movzx edx, byte [esp + 2]
shl edx, 0x10
or edx, ecx
bswap edx
mov ecx, dword [esp + 0x54]
mov ebx, dword [esp + 0xc]
mov dword [ecx + ebx + 0x10], edx
bswap eax
mov dword [ecx + ebx + 0xc], eax
movzx ebx, byte [ebp + esi + 0x18]
mov dl, byte [edi + ebx]
cmp dl, 0xff
je 0x10008660
movzx ebx, byte [ebp + esi + 0x19]
mov ah, byte [edi + ebx]
cmp ah, 0xff
je 0x10008667
movzx ebx, byte [ebp + esi + 0x1a]
mov ch, byte [edi + ebx]
cmp ch, 0xff
je 0x1000866e
movzx ebx, byte [ebp + esi + 0x1b]
mov cl, byte [edi + ebx]
cmp cl, 0xff
je 0x10008675
movzx ebx, byte [ebp + esi + 0x1c]
mov dh, byte [edi + ebx]
cmp dh, 0xff
je 0x1000867c
movzx ebx, byte [ebp + esi + 0x1d]
mov al, byte [edi + ebx]
cmp al, 0xff
je 0x10008683
mov byte [esp + 3], dh
movzx ebx, byte [ebp + esi + 0x1e]
mov dh, byte [edi + ebx]
mov byte [esp + 8], dh
cmp dh, 0xff
je 0x1000868a
movzx ebx, byte [ebp + esi + 0x1f]
mov dh, byte [edi + ebx]
cmp dh, 0xff
je 0x10008691
movzx ebx, dl
shl ebx, 0x1a
movzx ebp, ah
shl ebp, 0x14
or ebp, ebx
movzx ebx, ch
shl ebx, 0xe
movzx ecx, cl
shl ecx, 8
or ecx, ebx
or ecx, ebp
mov ebp, dword [esp + 0x4c]
mov byte [esp + 2], dh
movzx edx, byte [esp + 3]
shl edx, 2
movzx eax, al
mov ebx, eax
shr eax, 4
or eax, edx
or eax, ecx
shl ebx, 0x1c
movzx ecx, byte [esp + 8]
shl ecx, 0x16
or ecx, ebx
movzx edx, byte [esp + 2]
shl edx, 0x10
or edx, ecx
bswap edx
mov ecx, dword [esp + 0x54]
mov ebx, dword [esp + 0xc]
mov dword [ecx + ebx + 0x16], edx
bswap eax
mov dword [ecx + ebx + 0x12], eax
add ebx, 0x18
mov ecx, dword [esp + 0x18]
add ecx, 0xfffffffc
mov edx, dword [esp + 4]
mov eax, edx
cmp edx, dword [esp + 0x1c]
mov edx, dword [esp + 0x50]
mov esi, dword [esp + 0x14]
jbe 0x10007d60
jmp 0x10008184
xor ebx, ebx
cmp esi, 8
mov dword [esp + 8], edi
jb 0x100082fc
add esi, 0xfffffff8
cmp dword [esp + 4], esi
jae 0x100082fc
mov dword [esp + 0x14], esi
mov eax, dword [esp + 4]
mov esi, dword [esp + 0x58]
lea ebp, [eax + 8]
cmp eax, 0xfffffff8
je 0x10008730
cmp ebp, edx
ja 0x1000873d
mov edi, eax
lea eax, [ebx + 8]
cmp ebx, 0xfffffff7
ja 0x10008722
mov dword [esp + 4], ebp
mov dword [esp + 0xc], ebx
mov dword [esp + 0x18], ecx
cmp eax, esi
ja 0x10008729
mov esi, dword [esp + 0x4c]
movzx ebx, byte [esi + edi]
mov ebp, dword [esp + 8]
mov cl, byte [ebp + ebx]
cmp cl, 0xff
je 0x1000853a
movzx ebx, byte [esi + edi + 1]
mov ch, byte [ebp + ebx]
cmp ch, 0xff
je 0x1000851b
movzx ebx, byte [esi + edi + 2]
mov al, byte [ebp + ebx]
cmp al, 0xff
je 0x1000851e
movzx ebx, byte [esi + edi + 3]
mov dh, byte [ebp + ebx]
cmp dh, 0xff
je 0x10008523
movzx ebx, byte [esi + edi + 4]
mov dl, byte [ebp + ebx]
cmp dl, 0xff
je 0x10008528
movzx ebx, byte [esi + edi + 5]
mov ah, byte [ebp + ebx]
cmp ah, 0xff
je 0x1000852d
mov byte [esp + 2], dl
movzx ebx, byte [esi + edi + 6]
mov dl, byte [ebp + ebx]
mov byte [esp + 3], dl
cmp dl, 0xff
je 0x10008532
movzx ebx, byte [esi + edi + 7]
mov dl, byte [ebp + ebx]
cmp dl, 0xff
je 0x10008537
movzx esi, cl
shl esi, 0x1a
movzx ebx, ch
shl ebx, 0x14
or ebx, esi
movzx esi, al
shl esi, 0xe
movzx ecx, dh
shl ecx, 8
or ecx, esi
or ecx, ebx
mov ebx, edx
movzx edx, byte [esp + 2]
shl edx, 2
movzx eax, ah
mov esi, eax
shr eax, 4
or eax, edx
or eax, ecx
shl esi, 0x1c
movzx ecx, byte [esp + 3]
shl ecx, 0x16
or ecx, esi
movzx edx, bl
shl edx, 0x10
or edx, ecx
bswap edx
mov ecx, dword [esp + 0x54]
mov ebx, dword [esp + 0xc]
mov dword [ecx + ebx + 4], edx
bswap eax
mov dword [ecx + ebx], eax
add ebx, 6
mov ecx, dword [esp + 0x18]
dec ecx
mov ebp, dword [esp + 4]
mov eax, ebp
cmp ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x50]
mov esi, dword [esp + 0x58]
jb 0x100081aa
jmp 0x10008304
mov ebp, dword [esp + 4]
mov esi, dword [esp + 0x58]
cmp ecx, 2
jb 0x100084d6
lea eax, [edx - 7]
mov dword [esp + 0x20], eax
mov eax, ebp
neg eax
mov dword [esp + 4], eax
lea eax, [edx - 5]
mov dword [esp + 0x24], eax
lea eax, [edx - 3]
mov dword [esp + 0x28], eax
lea eax, [edx - 1]
mov dword [esp + 0x2c], eax
dec ecx
mov edi, dword [esp + 8]
cmp ebp, edx
ja 0x1000877d
lea eax, [ebx + 6]
cmp ebx, 0xfffffff9
ja 0x10008789
cmp eax, esi
ja 0x10008771
cmp edx, ebp
je 0x100086c2
mov dword [esp + 0x14], eax
mov dword [esp + 0xc], ebx
mov eax, dword [esp + 0x4c]
movzx ebx, byte [eax + ebp]
mov al, byte [edi + ebx]
cmp al, 0xff
je 0x10008618
cmp dword [esp + 0x2c], ebp
je 0x100086cb
mov byte [esp + 3], al
mov eax, dword [esp + 0x4c]
movzx ebx, byte [eax + ebp + 1]
mov al, byte [edi + ebx]
cmp al, 0xff
je 0x100085bd
mov byte [esp + 2], al
mov eax, dword [esp + 4]
add edx, eax
cmp edx, 3
jb 0x100086d5
mov eax, dword [esp + 0x4c]
movzx ebx, byte [eax + ebp + 2]
mov al, byte [edi + ebx]
cmp al, 0xff
je 0x100085ca
cmp dword [esp + 0x28], ebp
je 0x100086e1
mov byte [esp + 0x1c], al
mov dword [esp + 0x18], ecx
mov eax, dword [esp + 0x4c]
movzx ebx, byte [eax + ebp + 3]
mov ch, byte [edi + ebx]
cmp ch, 0xff
je 0x100085d9
cmp edx, 5
jb 0x100086ed
movzx ebx, byte [eax + ebp + 4]
mov al, byte [edi + ebx]
cmp al, 0xff
je 0x100085e8
cmp dword [esp + 0x24], ebp
je 0x100086f9
mov esi, dword [esp + 0x4c]
movzx ebx, byte [esi + ebp + 5]
mov ah, byte [edi + ebx]
cmp ah, 0xff
je 0x100085f7
cmp edx, 7
jb 0x10008705
mov edx, dword [esp + 0x4c]
movzx ebx, byte [edx + ebp + 6]
mov cl, byte [edi + ebx]
cmp cl, 0xff
je 0x10008606
cmp dword [esp + 0x20], ebp
je 0x10008711
movzx ebx, byte [edx + ebp + 7]
mov dl, byte [edi + ebx]
cmp dl, 0xff
je 0x10008615
movzx ebx, byte [esp + 3]
shl ebx, 0x1a
movzx esi, byte [esp + 2]
shl esi, 0x14
or esi, ebx
movzx ebx, byte [esp + 0x1c]
shl ebx, 0xe
or ebx, esi
movzx esi, ch
shl esi, 8
or esi, ebx
movzx ebx, al
shl ebx, 2
or ebx, esi
movzx eax, ah
mov esi, eax
shr eax, 4
or eax, ebx
shl esi, 0x1c
movzx ecx, cl
shl ecx, 0x16
or ecx, esi
movzx edx, dl
shl edx, 0x10
or edx, ecx
bswap eax
mov ecx, dword [esp + 0x54]
mov esi, dword [esp + 0xc]
mov dword [ecx + esi], eax
bswap edx
mov word [ecx + esi + 4], dx
add ebp, 8
add dword [esp + 4], 0xfffffff8
mov eax, dword [esp + 0x14]
mov ebx, eax
mov ecx, dword [esp + 0x18]
dec ecx
mov edx, dword [esp + 0x50]
mov esi, dword [esp + 0x58]
jne 0x10008336
jmp 0x100084dc
mov eax, ebx
mov edi, dword [esp + 8]
mov ebx, eax
movzx eax, byte [esp + 0x12]
movzx ecx, byte [esp + 0x13]
push eax
push ecx
push edi
push ebx
push esi
push dword [esp + 0x68]
push ebp
push edx
push dword [esp + 0x6c]
mov esi, dword [esp + 0x68]
push esi
call fcn.10008800
add esp, 0x28
mov eax, esi
jmp 0x100086ba
inc edi
jmp 0x1000853a
add edi, 2
jmp 0x1000853a
add edi, 3
jmp 0x1000853a
add edi, 4
jmp 0x1000853a
add edi, 5
jmp 0x1000853a
add edi, 6
jmp 0x1000853a
add edi, 7
mov eax, edi
shl eax, 0x18
shr edi, 8
shld edi, eax, 8
movzx ecx, bl
shl ecx, 8
mov eax, dword [esp + 0x44]
mov dword [eax + 8], edi
jmp 0x10008631
inc esi
jmp 0x10008577
add esi, 2
jmp 0x10008577
add esi, 3
jmp 0x10008577
add esi, 4
jmp 0x10008577
add esi, 5
jmp 0x10008577
add esi, 6
jmp 0x10008577
add esi, 7
mov eax, esi
shl eax, 0x18
shr esi, 8
shld esi, eax, 8
movzx ecx, bl
shl ecx, 8
mov eax, dword [esp + 0x44]
mov dword [eax + 8], esi
jmp 0x10008631
mov edx, 8
jmp 0x10008696
mov edx, 9
jmp 0x10008696
mov edx, 0xa
jmp 0x10008696
mov edx, 0xb
jmp 0x10008696
inc ebp
jmp 0x10008618
mov edx, 0xc
jmp 0x10008696
add ebp, 2
jmp 0x10008618
mov edx, 0xd
jmp 0x10008696
add ebp, 3
jmp 0x10008618
mov edx, 0xe
jmp 0x10008696
add ebp, 4
jmp 0x10008618
mov edx, 0xf
jmp 0x10008696
add ebp, 5
jmp 0x10008618
mov edx, 0x10
jmp 0x10008696
add ebp, 6
jmp 0x10008618
mov edx, 0x11
jmp 0x10008696
add ebp, 7
mov eax, ebp
shl eax, 0x18
shr ebp, 8
shld ebp, eax, 8
movzx ecx, bl
shl ecx, 8
mov eax, dword [esp + 0x44]
mov dword [eax + 8], ebp
mov dword [eax + 4], ecx
jmp 0x100086b4
mov edx, 0x12
jmp 0x10008696
mov edx, 0x13
jmp 0x10008696
mov edx, 0x14
jmp 0x10008696
mov edx, 0x15
jmp 0x10008696
mov edx, 0x16
jmp 0x10008696
mov edx, 0x17
jmp 0x10008696
mov edx, 0x18
jmp 0x10008696
mov edx, 0x19
jmp 0x10008696
mov edx, 0x1a
jmp 0x10008696
mov edx, 0x1b
jmp 0x10008696
mov edx, 0x1c
jmp 0x10008696
mov edx, 0x1d
jmp 0x10008696
mov edx, 0x1e
jmp 0x10008696
mov edx, 0x1f
add edx, esi
mov ecx, edx
shl ecx, 0x18
shr edx, 8
shld edx, ecx, 8
movzx ecx, bl
shl ecx, 8
mov eax, dword [esp + 0x44]
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax], 2
add esp, 0x30
pop esi
pop edi
pop ebx
pop ebp
ret
xor eax, eax
push 0x10052c30
jmp 0x1000871b
xor eax, eax
inc eax
push 0x10052c40
jmp 0x1000871b
mov eax, 2
push 0x10052c50
jmp 0x1000871b
mov eax, 3
push 0x10052c60
jmp 0x1000871b
mov eax, 4
push 0x10052c70
jmp 0x1000871b
mov eax, 5
push 0x10052c80
jmp 0x1000871b
mov eax, 6
push 0x10052c90
jmp 0x1000871b
mov eax, 7
push 0x10052ca0
push eax
push eax
call fcn.100496f0
push 0x10052c00
jmp 0x1000878e
push 0x10052c00
jmp 0x1000874e
push 0x10052bf0
push ebp
push 0xfffffffffffffff8
call fcn.10049970
push 0x10052bf0
push edx
push ebp
call fcn.10049950
push 0x10052be0
push dword [esp + 0x5c]
jmp 0x10008777
push 0x10052bd0
push 0
push 0xffffffffffffffe0
call fcn.10049970
push 0x10052bd0
push edx
push dword [esp + 0xc]
call fcn.10049950
push 0x10052c20
push esi
push eax
call fcn.10049950
push 0x10052c10
push edx
push ebp
call fcn.10049930
push 0x10052c20
push eax
push ebx
call fcn.10049970
nop
nop
nop
pop esi
add byte [eax], al
add byte [ecx], dh
add byte [eax], al
add byte [edi], dl
add byte [eax], al
insb byte es:[edi], dx
add byte [eax], al
add byte [ebp], ah
add byte [eax], al
xor dword [eax], eax
add byte [eax], al
mov eax, dword [esp + 4]
push dword [esp + 8]
push dword [eax + 4]
push dword [eax]
call fcn.100234e0
add esp, 0xc
ret