Function at 0x10008850
Capabilities:
Enumerate pe sections
Parse pe header

Disassembly:
sub esp, 0x2c
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
push ebx
lea ecx, [edx + eax]
xor eax, eax
push ebp
mov ebp, dword [esp + 0x44]
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], eax
mov al, byte [ebp]
test al, al
push esi
mov dword [esp + 0x14], ecx
push edi
mov ecx, ebp
je 0x100088a2
lea ecx, [ecx]
cmp al, 0x41
je 0x1000889a
cmp al, 0x61
je 0x1000889a
cmp al, 0x50
je 0x1000889a
cmp al, 0x70
je 0x1000889a
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x10008880
jmp 0x100088a2
mov dword [esp + 0x28], 1
mov esi, dword [esp + 0x40]
mov ecx, edx
mov byte [esp + 0x13], 0x20
mov dword [esp + 0x14], ecx
mov al, byte [ebp]
test al, al
je 0x10008cf3
movsx eax, al
cmp eax, 0x61
jl 0x100088cc
cmp eax, 0x7a
jg 0x100088cc
add eax, 0xffffffe0
cmp al, 0x46
je 0x100088d4
cmp al, 0x45
jne 0x100088db
inc ebp
mov dword [esp + 0x4c], ebp
jmp 0x100088b1
cmp al, 0x4d
je 0x1000892b
cmp al, 0x44
je 0x1000892b
cmp al, 0x59
je 0x1000892b
cmp al, 0x4a
je 0x1000892b
cmp al, 0x41
je 0x1000892b
cmp al, 0x48
je 0x1000892b
cmp al, 0x4e
je 0x1000892b
cmp al, 0x53
je 0x1000892b
cmp al, 0x49
je 0x1000892b
cmp al, 0x55
je 0x1000892b
cmp al, 0x50
jne 0x10008914
cmp byte [esi + 7], 0xc
jae 0x1000892b
inc ebp
mov dword [esp + 0x4c], ebp
jmp 0x100088b1
mov byte [esp + 0x13], al
cmp ecx, dword [esp + 0x18]
jae 0x10008923
mov dl, byte [ebp]
mov byte [ecx], dl
inc ecx
inc ebp
mov dword [esp + 0x4c], ebp
jmp 0x100088ad
mov bl, byte [ebp]
cmp bl, 0x61
jl 0x10008940
cmp bl, 0x7a
mov dword [esp + 0x24], 0xffffffff
jle 0x10008948
mov dword [esp + 0x24], 1
mov edi, 1
mov dword [esp + 0x20], edi
movsx edx, al
mov cl, byte [edi + ebp]
movsx eax, cl
cmp eax, 0x61
jl 0x10008967
cmp eax, 0x7a
jg 0x10008967
add eax, 0xffffffe0
cmp eax, edx
jne 0x1000897a
cmp cl, bl
je 0x10008977
mov dword [esp + 0x24], 0
inc edi
jmp 0x10008954
cmp edi, 1
mov dword [esp + 0x20], edi
mov dword [esp + 0x1c], edi
jle 0x10008991
cmp bl, byte [ebp + 1]
mov byte [esp + 0x48], 0
jne 0x10008996
mov byte [esp + 0x48], 0x30
lea eax, [edx - 0x41]
xor ebp, ebp
cmp eax, 0x18
ja case.0x100089ab.66
movzx eax, byte [eax + 0x10008d34]
jmp dword [eax*4 + 0x10008d04]
cmp byte [esp + 0x13], 0x3a
jne 0x100089c2
movzx ebp, byte [esi + 8]
jmp case.0x100089ab.66
cmp edi, 2
jle 0x10008a52
mov al, byte [esi + 2]
cmp al, 0xc
jae 0x10008ac6
cmp edi, 3
jne 0x10008a45
mov edx, dword [esp + 0x50]
movzx ecx, al
mov ecx, dword [edx + ecx*4 + 0x74]
test ecx, ecx
je case.0x100089ab.66
xor edi, edi
mov byte [esp + 0x48], 0
mov eax, ecx
lea esi, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x10008a00
mov ebx, dword [esp + 0x20]
sub eax, esi
cmp eax, ebx
jle 0x10008c52
test edi, edi
je 0x10008c52
lea eax, [ebx - 1]
test eax, eax
jl 0x10008cda
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
inc eax
cmp ecx, edx
jae 0x10008a38
mov byte [ecx], 0x2a
inc ecx
dec eax
jne 0x10008a31
mov dword [esp + 0x14], ecx
jmp 0x10008cda
mov ecx, dword [esp + 0x50]
movzx eax, al
mov ecx, dword [ecx + eax*4 + 0x40]
jmp 0x100089e6
movzx ebp, byte [esi + 2]
inc ebp
jmp case.0x100089ab.66
cmp edi, 1
jne 0x10008a6b
movzx ebp, byte [esi + 3]
inc ebp
jmp case.0x100089ab.66
cmp edi, 2
jne 0x10008a76
movzx ebp, byte [esi + 6]
jmp case.0x100089ab.66
mov al, byte [esi + 3]
cmp al, 7
jae 0x10008ac6
cmp edi, 3
mov edx, dword [esp + 0x50]
movzx esi, al
mov ecx, dword [edx + esi*4 + 0x20]
je 0x10008aaf
mov eax, ecx
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x10008a92
mov edx, dword [esp + 0x20]
sub eax, edi
cmp edx, eax
je 0x10008aaf
mov eax, dword [esp + 0x50]
mov ecx, dword [eax + esi*4]
jmp 0x100089e6
mov eax, ecx
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x10008ab4
sub eax, esi
mov dword [esp + 0x1c], eax
jmp 0x100089e6
mov ecx, 0x100847d4
jmp 0x100089ee
movzx ebp, word [esi + 4]
inc ebp
jmp case.0x100089ab.66
cmp edi, 2
jle 0x10008ae1
movzx ebp, word [esi]
jmp case.0x100089ab.66
movzx eax, word [esi]
cdq
mov ecx, 0x64
idiv ecx
mov ebp, edx
push 0xa
lea eax, [esp + 0x34]
push eax
push ebp
call fcn.10082a0d
add esp, 0xc
lea ecx, [esp + 0x30]
mov edi, 1
jmp 0x100089f5
mov eax, dword [esp + 0x28]
test eax, eax
movzx ebp, byte [esi + 7]
je case.0x100089ab.66
cmp ebp, 0xc
jle 0x10008b22
sub ebp, 0xc
jmp case.0x100089ab.66
test ebp, ebp
jne case.0x100089ab.66
mov ebp, 0xc
jmp case.0x100089ab.66
mov ecx, dword [esi + 0xc]
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
jmp 0x10008aec
mov ebp, dword [esi + 0xc]
jmp case.0x100089ab.66
cmp edi, 2
mov al, byte [esi + 7]
jle 0x10008b72
cmp al, 0xc
jae 0x10008b63
mov ecx, dword [esp + 0x50]
mov ecx, dword [ecx + 0xa8]
jmp 0x100089e6
mov edx, dword [esp + 0x50]
mov ecx, dword [edx + 0xac]
jmp 0x100089e6
cmp al, 0xc
jae 0x10008b85
mov eax, dword [esp + 0x50]
mov ecx, dword [eax + 0xb0]
jmp 0x100089e6
mov ecx, dword [esp + 0x50]
mov ecx, dword [ecx + 0xb4]
jmp 0x100089e6
cmp byte [esi + 7], 0xc
jb case.0x100089ab.66
mov edx, dword [esp + 0x50]
mov ecx, dword [edx + 0xb4]
jmp 0x100089e6
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x10008bc6
movzx ebp, byte [esi + 9]
mov dword [esp + 0x2c], 1
jmp case.0x100089ab.66
cmp edi, 6
mov ecx, dword [esi + 0xc]
jle 0x10008bd9
mov edi, 6
mov dword [esp + 0x1c], edi
jmp 0x10008bf8
jge 0x10008bf8
mov esi, 6
sub esi, edi
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
dec esi
mov ecx, edx
jne 0x10008be2
mov al, byte [esp + 0x48]
test al, al
jne 0x10008c3d
test ecx, ecx
jle 0x10008c3f
mov eax, ecx
cdq
mov esi, 0xa
idiv esi
test edx, edx
jne 0x10008c38
mov eax, 0x66666667
imul ecx
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
mov ecx, edx
mov eax, ecx
cdq
mov esi, 0xa
idiv esi
dec edi
test edx, edx
je 0x10008c12
mov dword [esp + 0x1c], edi
mov byte [esp + 0x48], 0x30
test ecx, ecx
je case.0x100089ab.66
push 0xa
lea edx, [esp + 0x34]
push edx
push ecx
jmp 0x10008af6
mov esi, dword [esp + 0x1c]
cmp eax, esi
jle 0x10008c99
mov eax, esi
mov ebp, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
test eax, eax
mov edx, edi
jle 0x10008cd6
mov esi, dword [esp + 0x24]
sub ecx, edi
mov edi, eax
cmp edx, ebp
jae 0x10008cd2
test si, si
mov al, byte [ecx + edx]
je 0x10008cd0
cmp al, 0x80
jae 0x10008cd0
test si, si
movzx eax, al
jle 0x10008cc3
cmp eax, 0x61
jl 0x10008cd0
cmp eax, 0x7a
jg 0x10008cd0
add eax, 0xffffffe0
jmp 0x10008cd0
mov dl, byte [esp + 0x48]
test dl, dl
je 0x10008c5c
sub esi, eax
dec esi
mov edx, esi
js 0x10008c5c
mov ebp, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
lea esi, [edx + 1]
cmp edi, ebp
jae 0x10008cbd
mov dl, byte [esp + 0x48]
mov byte [edi], dl
inc edi
dec esi
jne 0x10008cb3
jmp 0x10008c64
cmp eax, 0x41
jl 0x10008cd0
cmp eax, 0x5a
jg 0x10008cd0
add eax, 0x20
mov byte [edx], al
inc edx
dec edi
jne 0x10008c72
mov dword [esp + 0x14], edx
mov eax, dword [esp + 0x4c]
mov esi, dword [esp + 0x40]
mov ecx, dword [esp + 0x14]
add eax, ebx
mov dword [esp + 0x4c], eax
mov ebp, eax
jmp 0x100088b1
pop edi
pop esi
mov eax, ecx
mov ecx, dword [esp + 0x3c]
pop ebp
sub eax, ecx
pop ebx
add esp, 0x2c
ret