Function at 0x462650
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x34
push ebx
mov ebx, dword [esp + 0x3c]
push ebp
push esi
mov eax, dword [ebx + 0x30]
push edi
mov eax, dword [eax]
test eax, eax
jne 0x46266f
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x34
ret
mov ecx, dword [ebx + 4]
mov esi, dword [eax + 4]
mov dword [esp + 0x20], esi
cmp byte [ecx + 4], 0x20
je 0x46268a
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x34
ret
mov ebp, dword [esi + 0x10]
mov edi, dword [esi + 0x14]
mov edx, dword [esi + 0x18]
mov eax, ebp
xor ecx, ecx
or eax, edi
mov cl, byte [esi + 5]
or eax, edx
sub ecx, 2
je 0x4626e6
sub ecx, 2
je 0x4626b3
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x34
ret
cmp eax, 0xffffff
je 0x4626c5
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x34
ret
mov edx, dword [ebx + 8]
mov eax, 0x462e40
inc edx
mov dword [esp + 0x24], eax
imul edx, dword [ebx + 0xc]
mov dword [esp + 0x28], eax
lea eax, [edx*8 + 4]
jmp 0x462778
cmp eax, 0x7fff
je 0x462734
cmp eax, 0xffff
je 0x4626ff
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x34
ret
cmp edi, 0x7e0
je 0x462722
cmp ebp, 0x7e0
je 0x462722
cmp edx, 0x7e0
je 0x462722
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x34
ret
mov dword [esp + 0x24], 0x462bf0
mov dword [esp + 0x28], 0x462ca0
jmp 0x462767
cmp edi, 0x3e0
je 0x462757
cmp ebp, 0x3e0
je 0x462757
cmp edx, 0x3e0
je 0x462757
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x34
ret
mov dword [esp + 0x24], 0x462bf0
mov dword [esp + 0x28], 0x462d70
mov eax, dword [ebx + 8]
lea eax, [eax + eax*2]
lea eax, [eax + eax + 8]
imul eax, dword [ebx + 0xc]
add eax, 2
add eax, 0x18
push eax
call fcn.004c10fb
mov edi, eax
add esp, 4
test edi, edi
mov dword [esp + 0x40], edi
jne 0x4627a2
push eax
call fcn.00459ec0
add esp, 4
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x34
ret
mov cl, byte [esi + 5]
mov byte [edi], cl
mov dl, byte [esi + 6]
mov byte [edi + 1], dl
mov al, byte [esi + 7]
mov byte [edi + 2], al
mov cl, byte [esi + 8]
mov byte [edi + 3], cl
mov dl, byte [esi + 0xa]
mov byte [edi + 4], dl
mov al, byte [esi + 0xb]
mov byte [edi + 5], al
mov cl, byte [esi + 0xc]
mov byte [edi + 6], cl
mov dl, byte [esi + 0xd]
mov byte [edi + 7], dl
mov eax, dword [esi + 0x10]
mov dword [edi + 8], eax
mov ecx, dword [esi + 0x14]
mov dword [edi + 0xc], ecx
mov edx, dword [esi + 0x18]
mov dword [edi + 0x10], edx
mov eax, dword [esi + 0x1c]
mov dword [edi + 0x14], eax
mov edx, dword [ebx + 8]
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 0xc]
lea esi, [edi + 0x18]
mov dword [esp + 0x1c], edx
mov edx, dword [ebx + 0x14]
mov dword [esp + 0x18], eax
mov eax, esi
mov dword [esp + 0x14], edx
test ecx, ecx
mov dword [esp + 0x38], eax
jle 0x462b75
mov dword [esp + 0x34], ecx
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
xor edi, edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x10], edi
jmp 0x46282e
mov edx, dword [esp + 0x18]
cmp edi, ecx
mov dword [esp + 0x30], edi
jge 0x462871
mov ecx, dword [esp + 0x14]
mov ebp, dword [edx + 0x1c]
xor eax, eax
mov al, byte [edx + 0xd]
mov dword [esp + 0x10], eax
lea eax, [ecx + edi*4]
mov ecx, dword [eax]
mov ebx, ebp
and ebx, ecx
mov ecx, dword [esp + 0x10]
shr ebx, cl
cmp ebx, 0xff
je 0x462900
mov ecx, dword [esp + 0x1c]
inc edi
add eax, 4
cmp edi, ecx
jl 0x462849
mov dword [esp + 0x10], edi
cmp edi, ecx
mov ebp, edi
jge 0x4628ac
mov ecx, dword [esp + 0x14]
mov ebx, dword [edx + 0x1c]
xor eax, eax
mov al, byte [edx + 0xd]
mov dword [esp + 0x10], eax
lea eax, [ecx + edi*4]
mov edx, dword [eax]
mov ecx, dword [esp + 0x10]
and edx, ebx
shr edx, cl
cmp edx, 0xff
jne 0x4628a8
mov ecx, dword [esp + 0x1c]
inc edi
add eax, 4
cmp edi, ecx
jl 0x46288a
mov dword [esp + 0x10], edi
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x1c]
mov ecx, ebp
sub ecx, edx
cmp ecx, eax
jne 0x4628c4
mov dword [esp + 0x2c], 1
sub edi, ebp
cmp ecx, 0xff
jle 0x46291a
lea edx, [ecx - 1]
mov eax, 0x80808081
mul edx
shr edx, 7
mov eax, edx
mov ebx, dword [esp + 0x20]
shl eax, 8
sub eax, edx
neg eax
add ecx, eax
xor eax, eax
cmp byte [ebx + 5], 4
jne 0x46290d
mov word [esi], 0xff
mov word [esi + 2], ax
add esi, 4
jmp 0x462917
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x10], edi
jmp 0x462871
mov byte [esi], 0xff
mov byte [esi + 1], 0
add esi, 2
dec edx
jne 0x4628ec
cmp edi, 0xff
mov ebx, edi
jl 0x462929
mov ebx, 0xff
mov edx, dword [esp + 0x20]
cmp byte [edx + 5], 4
jne 0x46293f
mov word [esi], cx
mov word [esi + 2], bx
add esi, 4
jmp 0x462947
mov byte [esi], cl
mov byte [esi + 1], bl
add esi, 2
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
push eax
push ecx
lea eax, [edx + ebp*4]
push ebx
push eax
push esi
call dword [esp + 0x38]
add esp, 0x14
add esi, eax
add ebp, ebx
sub edi, ebx
je 0x4629bd
cmp edi, 0xff
mov ebx, edi
jl 0x462979
mov ebx, 0xff
mov ecx, dword [esp + 0x20]
cmp byte [ecx + 5], 4
jne 0x462991
mov word [esi], 0
mov word [esi + 2], bx
add esi, 4
jmp 0x46299a
mov byte [esi], 0
mov byte [esi + 1], bl
add esi, 2
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
push edx
push eax
lea edx, [ecx + ebp*4]
push ebx
push edx
push esi
call dword [esp + 0x38]
add esp, 0x14
add esi, eax
add ebp, ebx
sub edi, ebx
jne 0x46296a
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
cmp edi, ecx
jl 0x46282a
mov eax, esi
mov dword [esp + 0x10], 0
and eax, 2
add esi, eax
mov ebx, dword [esp + 0x10]
mov edi, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
cmp ebx, edi
mov dword [esp + 0x30], ebx
jge 0x462a22
mov eax, dword [esp + 0x14]
xor ecx, ecx
mov cl, byte [edx + 0xd]
mov dword [esp + 0x10], ecx
lea eax, [eax + ebx*4]
mov ebp, dword [edx + 0x1c]
mov ecx, dword [eax]
and ebp, ecx
mov ecx, dword [esp + 0x10]
shr ebp, cl
dec ebp
cmp ebp, 0xfe
jb 0x462a1e
inc ebx
add eax, 4
cmp ebx, edi
jl 0x462a00
mov dword [esp + 0x10], ebx
cmp ebx, edi
mov ebp, ebx
jge 0x462a62
mov ecx, dword [edx + 0x1c]
xor eax, eax
mov al, byte [edx + 0xd]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x10], eax
lea eax, [ecx + ebx*4]
mov edx, dword [esp + 0x3c]
mov ecx, dword [eax]
and edx, ecx
mov ecx, dword [esp + 0x10]
shr edx, cl
dec edx
cmp edx, 0xfe
jae 0x462a5e
inc ebx
add eax, 4
cmp ebx, edi
jl 0x462a3f
mov dword [esp + 0x10], ebx
mov eax, dword [esp + 0x30]
mov ecx, ebp
sub ecx, eax
xor eax, eax
cmp ecx, edi
mov edi, dword [esp + 0x2c]
sete al
and edi, eax
sub ebx, ebp
cmp ecx, 0xffff
mov dword [esp + 0x2c], edi
jle 0x462aae
lea edx, [ecx - 1]
mov eax, 0x80008001
mul edx
shr edx, 0xf
mov eax, edx
shl eax, 0x10
sub eax, edx
neg eax
add ecx, eax
xor eax, eax
mov word [esi], 0xffff
mov word [esi + 2], ax
add esi, 4
dec edx
jne 0x462a9f
cmp ebx, 0xffff
mov edi, ebx
jl 0x462abd
mov edi, 0xffff
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov word [esi], cx
mov ecx, dword [esp + 0x20]
push ecx
mov word [esi + 2], di
push edx
lea ecx, [eax + ebp*4]
add esi, 4
push edi
push ecx
push esi
call dword [esp + 0x3c]
add esp, 0x14
add esi, eax
add ebp, edi
sub ebx, edi
je 0x462b28
cmp ebx, 0xffff
mov edi, ebx
jl 0x462af9
mov edi, 0xffff
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
push edx
mov word [esi], 0
mov word [esi + 2], di
push eax
lea edx, [ecx + ebp*4]
add esi, 4
push edi
push edx
push esi
call dword [esp + 0x3c]
add esp, 0x14
add esi, eax
add ebp, edi
sub ebx, edi
jne 0x462aea
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x462b34
mov dword [esp + 0x38], esi
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
cmp eax, ecx
jl 0x4629dc
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x14]
xor ecx, ecx
mov cx, word [edx + 0x10]
shr ecx, 2
lea ecx, [eax + ecx*4]
mov eax, dword [esp + 0x34]
dec eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x34], eax
jne 0x462816
mov edi, dword [esp + 0x40]
mov eax, dword [esp + 0x38]
mov ebx, edx
mov edx, dword [esp + 0x20]
cmp byte [edx + 5], 4
jne 0x462b8f
mov word [eax], 0
mov word [eax + 2], 0
lea esi, [eax + 4]
jmp 0x462b99
mov byte [eax], 0
mov byte [eax + 1], 0
lea esi, [eax + 2]
mov eax, dword [ebx]
mov ecx, eax
and ecx, 0x1000000
cmp ecx, 0x1000000
je 0x462bc5
and eax, 1
cmp al, 1
je 0x462bc5
mov edx, dword [ebx + 0x14]
push edx
call fcn.004bf835
add esp, 4
mov dword [ebx + 0x14], 0
sub esi, edi
push esi
push edi
call fcn.004c1a7c
add esp, 8
test eax, eax
jne 0x462bd7
mov eax, edi
mov ecx, dword [ebx + 0x30]
pop edi
pop esi
pop ebp
mov edx, dword [ecx + 0x18]
pop ebx
mov dword [edx + 4], eax
xor eax, eax
add esp, 0x34
ret