Function at 0x862582
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x34
push ebx
push ebp
mov ebp, dword [esp + 0x4c]
mov al, byte [ebp]
test al, al
push esi
push edi
jns 0x8625a6
mov ecx, dword [esp + 0x48]
mov edx, dword [ecx]
mov ecx, dword [edx + 0x10c]
mov dword [esp + 0x54], ecx
jmp 0x8625b2
mov dword [esp + 0x54], 0
mov ecx, dword [esp + 0x54]
mov edi, dword [esp + 0x58]
movzx si, al
movzx ax, byte [ebp + 1]
xor ebx, ebx
shl esi, 8
add esi, eax
and esi, 0x7fff
lea eax, [ecx + ebp + 2]
cmp edi, eax
mov eax, dword [esp + 0x5c]
sete bl
lea edx, [esi + ebp]
mov dword [esp + 0x10], edx
dec ebx
and eax, ebx
lea ebx, [esp + 0x14]
push ebx
mov ebx, dword [esp + 0x54]
push ebx
mov ebx, dword [esp + 0x54]
push eax
push eax
xor eax, eax
cmp edi, edx
sete al
dec eax
and eax, edi
push eax
push ecx
push ebx
call dword [ebx + 0x28]
movzx ecx, word [ebx + 0xe]
add esp, 0x1c
test eax, eax
mov dword [esp + 0x58], eax
lea edx, [ecx + ecx + 8]
jle 0x86262e
cmp eax, edx
jge 0x862636
mov ecx, dword [esp + 0x10]
mov edx, ecx
sub edx, edi
push edx
push ecx
add eax, ecx
push eax
call fcn.009173b2
jmp 0x862662
mov ecx, eax
neg ecx
cmp ecx, edx
jl 0x86264c
call fcn.00844ef2
pop edi
pop esi
pop ebp
mov dword [eax], 0x7e
or eax, 0xffffffff
pop ebx
add esp, 0x34
ret
mov ecx, dword [esp + 0x10]
mov edx, eax
sub edx, edi
add edx, ecx
push edx
mov ecx, edi
sub ecx, eax
push ecx
push edi
call fcn.009249d2
add esp, 0xc
lea edx, [esp + 0x14]
push edx
push edi
push ebx
call dword [ebx + 0x2c]
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x60]
add esi, eax
add esp, 0xc
mov eax, ecx
neg eax
sbb eax, eax
and eax, 0x8000
add eax, esi
movzx eax, ax
mov byte [ebp + 1], al
shr eax, 8
mov byte [ebp], al
movzx eax, word [ebx + 6]
cmp esi, eax
ja 0x8627cb
sub eax, esi
cmp eax, 0x20
jae 0x8627c1
mov al, byte [ebx + 2]
test al, al
jns 0x8627c1
cmp edi, dword [esp + 0x10]
jne 0x8627c1
mov edx, dword [esp + 0x48]
mov eax, dword [edx]
mov edx, dword [eax + 0x10c]
cmp edx, dword [eax + 0x108]
ja 0x8627c1
test byte [eax + 0x1ec], 5
je 0x8627c1
movzx eax, word [eax + 0x152]
movzx edx, byte [ecx + ebp + 2]
lea edi, [ecx + ebp + 2]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x50]
mov cl, byte [eax]
inc edi
cmp cl, 0xff
mov dword [esp + 0x58], edx
je 0x862710
movzx ecx, cl
inc eax
jmp 0x862729
movzx cx, byte [eax + 1]
movzx dx, byte [eax + 2]
shl ecx, 8
add ecx, edx
mov edx, dword [esp + 0x58]
movzx ecx, cx
add eax, 3
cmp ecx, edx
jne 0x8627c1
push 0
push 0
push edx
push edi
push ecx
push eax
mov eax, dword [ebx + 0x18]
mov ecx, dword [eax + 0x14]
push ecx
call fcn.00936ea2
add esp, 0x1c
test eax, eax
jne 0x8627c1
push 0x10
push 0x14
call fcn.008415b2
mov ebx, dword [esp + 0x64]
mov edx, dword [esp + 0x50]
push 0x32
push 0x12c
push ebx
push eax
mov dword [edx + 0x54], eax
call fcn.00841ac2
mov eax, dword [esp + 0x6c]
add esp, 0x18
test eax, eax
jne 0x8627c1
mov eax, dword [esp + 0x58]
add eax, ebx
lea ebx, [edi + eax + 2]
add esi, ebp
cmp ebx, esi
jae 0x8627a9
mov edi, dword [esp + 0x5c]
add edi, 2
mov edi, edi
mov ecx, dword [esp + 0x48]
mov edx, dword [ecx + 0x54]
push ebx
push edx
call fcn.00841d42
add ebx, edi
add esp, 8
cmp ebx, esi
jb 0x862792
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x58]
lea edx, [eax + ecx + 4]
movzx eax, dx
mov byte [ebp + 1], al
shr eax, 8
mov byte [ebp], al
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x34
ret
test ecx, ecx
je 0x8627d4
mov byte [esp + 0x70], 0
test byte [ebx + 2], 0x28
jne 0x862816
mov eax, dword [esp + 0x60]
test eax, eax
je 0x862816
mov cl, byte [esp + 0x70]
test cl, cl
jne 0x862816
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x68]
push ecx
mov ecx, dword [esp + 0x68]
push edx
mov edx, dword [esp + 0x58]
push ecx
push eax
mov eax, dword [esp + 0x58]
push ebp
push edx
push ebx
push eax
call fcn.00861742
add esp, 0x20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x34
ret
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x50]
push ecx
mov ecx, dword [esp + 0x4c]
push edx
push ebp
push eax
push ebx
push ecx
call fcn.00862372
add esp, 0x18
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x34
ret