Function at 0x46a8b0
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov edi, dword [0x52c120]
mov esi, edx
push 0x200
push 0
push ebx
mov dword [ebp - 4], edi
call fcn.00493600
lea eax, [ebx + 0x200]
mov byte [ebx + 0x204], 0
mov dword [eax], 0
add esp, 0xc
mov dword [ebp - 0xc], eax
lea eax, [ebx + 0x204]
mov dword [ebp - 8], eax
mov eax, dword [esi + 4]
test eax, eax
jns 0x46a977
mov eax, dword [esi]
mov dword [esi + 4], 0
test eax, eax
jne 0x46a919
mov eax, dword [edi + 0x18]
test eax, eax
jne 0x46a919
mov ecx, dword [edi + 0x28]
mov edx, dword [edi + 0x2c]
jmp 0x46a93a
cmp eax, 2
jl 0x46a95f
cmp eax, dword [edi + 0x14]
jge 0x46a95f
mov ecx, dword [edi + 0x10]
cdq
add eax, 0xfffffffe
adc edx, 0xffffffff
call fcn.00491da0
mov ecx, eax
add ecx, dword [edi + 0x30]
adc edx, dword [edi + 0x34]
mov eax, ecx
mov dword [esi + 8], ecx
or eax, edx
mov dword [esi + 0xc], edx
je 0x46a96d
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
je 0x46a96d
push edx
push ecx
mov ecx, edi
call fcn.0046a160
add esp, 8
mov edi, eax
jmp 0x46a9c8
mov dword [esi + 8], 0xffffffff
mov dword [esi + 0xc], 0xffffffff
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
add eax, 0x20
mov dword [esi + 4], eax
cmp eax, dword [0x4f4330]
jb 0x46a9af
mov dword [esi + 4], 0
mov ecx, edi
push dword [esi + 0xc]
push dword [esi + 8]
call fcn.0046a4c0
add esp, 8
mov dword [esi + 8], eax
mov ecx, eax
mov dword [esi + 0xc], edx
or eax, edx
je 0x46a96d
and ecx, edx
cmp ecx, 0xffffffff
je 0x46a96d
push dword [esi + 0xc]
mov ecx, edi
push dword [esi + 8]
call fcn.0046a160
add esp, 8
test eax, eax
je 0x46a96d
mov edi, dword [esi + 4]
add edi, eax
test edi, edi
je 0x46a96d
nop dword [eax]
mov dl, byte [edi + 0xb]
cmp dl, 8
je 0x46aa00
mov al, byte [edi]
cmp al, 0xe5
je 0x46aa00
cmp al, 0x2e
jne 0x46aa70
cmp byte [edi + 2], 0x20
jne 0x46aa80
mov cl, byte [edi + 1]
cmp cl, 0x20
je 0x46aa00
cmp cl, al
jne 0x46aa80
add dword [esi + 4], 0x20
mov eax, dword [esi + 4]
cmp eax, dword [0x4f4330]
jb 0x46aa42
mov ecx, dword [ebp - 4]
mov dword [esi + 4], 0
push dword [esi + 0xc]
push dword [esi + 8]
call fcn.0046a4c0
add esp, 8
mov dword [esi + 8], eax
mov ecx, eax
mov dword [esi + 0xc], edx
or eax, edx
je 0x46a96d
and ecx, edx
cmp ecx, 0xffffffff
je 0x46a96d
push dword [esi + 0xc]
mov ecx, dword [ebp - 4]
push dword [esi + 8]
call fcn.0046a160
add esp, 8
test eax, eax
je 0x46a96d
mov edi, dword [esi + 4]
add edi, eax
jne 0x46a9d0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test al, al
jne 0x46aa80
mov eax, 0xfffffffe
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [ebp + 8], 0xffffffff
cmp dl, 0xf
jne 0x46ac23
movzx ecx, al
mov eax, dword [ebp + 8]
test eax, eax
jns 0x46aaac
mov eax, ecx
and al, 0xf0
cmp al, 0x40
jne 0x46ac23
and ecx, 0xf
dec ecx
jmp 0x46aab9
and ecx, 0xf
dec eax
dec ecx
cmp ecx, eax
jne 0x46ac17
movzx eax, byte [edi + 1]
imul edx, ecx, 0x1a
mov dword [ebp + 8], ecx
add edx, ebx
movzx ecx, byte [edi + 2]
shl cx, 8
or cx, ax
mov word [edx], cx
movzx ecx, byte [edi + 4]
movzx eax, byte [edi + 3]
shl cx, 8
or cx, ax
mov word [edx + 2], cx
movzx ecx, byte [edi + 6]
movzx eax, byte [edi + 5]
shl cx, 8
or cx, ax
mov word [edx + 4], cx
movzx ecx, byte [edi + 8]
movzx eax, byte [edi + 7]
shl cx, 8
or cx, ax
mov word [edx + 6], cx
movzx ecx, byte [edi + 0xa]
movzx eax, byte [edi + 9]
shl cx, 8
or cx, ax
mov word [edx + 8], cx
movzx ecx, byte [edi + 0xf]
movzx eax, byte [edi + 0xe]
shl cx, 8
or cx, ax
mov word [edx + 0xa], cx
movzx ecx, byte [edi + 0x11]
movzx eax, byte [edi + 0x10]
shl cx, 8
or cx, ax
mov word [edx + 0xc], cx
movzx ecx, byte [edi + 0x13]
movzx eax, byte [edi + 0x12]
shl cx, 8
or cx, ax
mov word [edx + 0xe], cx
movzx ecx, byte [edi + 0x15]
movzx eax, byte [edi + 0x14]
shl cx, 8
or cx, ax
mov word [edx + 0x10], cx
movzx ecx, byte [edi + 0x17]
movzx eax, byte [edi + 0x16]
shl cx, 8
or cx, ax
mov word [edx + 0x12], cx
movzx ecx, byte [edi + 0x19]
movzx eax, byte [edi + 0x18]
shl cx, 8
or cx, ax
mov word [edx + 0x14], cx
movzx ecx, byte [edi + 0x1d]
movzx eax, byte [edi + 0x1c]
shl cx, 8
or cx, ax
mov word [edx + 0x16], cx
add dword [esi + 4], 0x20
mov eax, dword [esi + 4]
cmp eax, dword [0x4f4330]
jb 0x46abe6
mov ecx, dword [ebp - 4]
mov dword [esi + 4], 0
push dword [esi + 0xc]
push dword [esi + 8]
call fcn.0046a4c0
add esp, 8
mov dword [esi + 8], eax
mov ecx, eax
mov dword [esi + 0xc], edx
or eax, edx
je 0x46a96d
and ecx, edx
cmp ecx, 0xffffffff
je 0x46a96d
push dword [esi + 0xc]
mov ecx, dword [ebp - 4]
push dword [esi + 8]
call fcn.0046a160
add esp, 8
test eax, eax
je 0x46a96d
mov edi, dword [esi + 4]
add edi, eax
je 0x46a96d
cmp byte [edi + 0xb], 0xf
jne 0x46ac23
mov al, byte [edi]
jmp 0x46aa90
mov eax, 0xfffffffd
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [ebx], 0
jne 0x46ac8a
xor ecx, ecx
lea esi, [ecx + 0x2e]
nop
lea eax, [ecx + edi]
cmp ecx, 8
jl 0x46ac48
cmp byte [eax], 0x20
je 0x46ac8a
cmp ecx, 8
jne 0x46ac48
mov word [ebx], si
add ebx, 2
mov al, byte [eax]
cmp al, 0x20
je 0x46ac84
movzx eax, al
mov edx, eax
mov word [ebx], ax
lea eax, [edx - 0x41]
cmp ax, 0x19
ja 0x46ac81
test byte [edi + 0xc], 2
je 0x46ac70
cmp ecx, 8
jge 0x46ac70
add edx, 0x20
mov word [ebx], dx
test byte [edi + 0xc], 4
je 0x46ac81
cmp ecx, 8
jl 0x46ac81
lea eax, [edx + 0x20]
mov word [ebx], ax
add ebx, 2
inc ecx
cmp ecx, 0xc
jl 0x46ac30
mov al, byte [edi + 0xb]
mov ecx, dword [ebp - 8]
and al, 0x37
mov byte [ecx], al
movzx ecx, byte [edi + 0x1f]
movzx eax, byte [edi + 0x1e]
shl ecx, 8
or ecx, eax
movzx eax, byte [edi + 0x1d]
shl ecx, 8
or ecx, eax
movzx eax, byte [edi + 0x1c]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 0xc]
mov dword [eax], ecx
movzx eax, byte [edi + 0x15]
movzx ecx, byte [edi + 0x14]
movzx edx, byte [edi + 0x1b]
shl eax, 8
or eax, ecx
shl edx, 8
movzx ecx, byte [edi + 0x1a]
pop edi
shl eax, 0x10
or edx, ecx
pop esi
add eax, edx
pop ebx
mov esp, ebp
pop ebp
ret